@kolektor/nucleus-material 0.1.1911 → 0.1.2192

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,10 +2,10 @@ import * as i0 from '@angular/core';
2
2
  import { Inject, Component, Injectable, NgModule, Input, Directive, ViewEncapsulation } from '@angular/core';
3
3
  import * as i1 from '@angular/material/dialog';
4
4
  import { MAT_DIALOG_DATA, MatDialogModule } from '@angular/material/dialog';
5
- import * as i1$1 from '@angular/common';
6
- import { CommonModule } from '@angular/common';
7
5
  import * as i3 from '@angular/material/button';
8
6
  import { MatButtonModule } from '@angular/material/button';
7
+ import * as i1$1 from '@angular/common';
8
+ import { CommonModule } from '@angular/common';
9
9
  import { tap } from 'rxjs/operators';
10
10
  import * as i2 from '@angular/material/progress-spinner';
11
11
  import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
@@ -21,12 +21,12 @@ class NucDialogComponent {
21
21
  this.dialogRef = dialogRef;
22
22
  this.dialogData = dialogData;
23
23
  }
24
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: NucDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
25
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: NucDialogComponent, selector: "nuc-dialog", ngImport: i0, template: "<ng-container *ngIf=\"dialogData\">\n <h2 mat-dialog-title *ngIf=\"dialogData.title\">\n {{ dialogData.title }}\n </h2>\n <mat-dialog-content>{{ dialogData.message }}</mat-dialog-content>\n <mat-dialog-actions>\n <ng-container *ngFor=\"let action of dialogData.actions\">\n <button\n color=\"{{ action.color || 'primary' }}\"\n *ngIf=\"action.value === undefined\"\n mat-button\n mat-dialog-close\n >\n {{ action.text }}\n </button>\n <button\n color=\"{{ action.color || 'primary' }}\"\n *ngIf=\"action.value !== undefined\"\n mat-button\n [mat-dialog-close]=\"action.value\"\n >\n {{ action.text }}\n </button>\n </ng-container>\n </mat-dialog-actions>\n</ng-container>\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.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }] }); }
24
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: NucDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
25
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.13", type: NucDialogComponent, isStandalone: false, selector: "nuc-dialog", ngImport: i0, template: "@if (dialogData) {\n @if (dialogData.title) {\n <h2 mat-dialog-title>\n {{ dialogData.title }}\n </h2>\n }\n <mat-dialog-content>{{ dialogData.message }}</mat-dialog-content>\n <mat-dialog-actions>\n @for (action of dialogData.actions; track action) {\n @if (action.value === undefined) {\n <button\n color=\"{{ action.color || 'primary' }}\"\n mat-button\n mat-dialog-close\n >\n {{ action.text }}\n </button>\n }\n @if (action.value !== undefined) {\n <button\n color=\"{{ action.color || 'primary' }}\"\n mat-button\n [mat-dialog-close]=\"action.value\"\n >\n {{ action.text }}\n </button>\n }\n }\n </mat-dialog-actions>\n}\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.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.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i3.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }] }); }
26
26
  }
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: NucDialogComponent, decorators: [{
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: NucDialogComponent, decorators: [{
28
28
  type: Component,
29
- args: [{ selector: 'nuc-dialog', template: "<ng-container *ngIf=\"dialogData\">\n <h2 mat-dialog-title *ngIf=\"dialogData.title\">\n {{ dialogData.title }}\n </h2>\n <mat-dialog-content>{{ dialogData.message }}</mat-dialog-content>\n <mat-dialog-actions>\n <ng-container *ngFor=\"let action of dialogData.actions\">\n <button\n color=\"{{ action.color || 'primary' }}\"\n *ngIf=\"action.value === undefined\"\n mat-button\n mat-dialog-close\n >\n {{ action.text }}\n </button>\n <button\n color=\"{{ action.color || 'primary' }}\"\n *ngIf=\"action.value !== undefined\"\n mat-button\n [mat-dialog-close]=\"action.value\"\n >\n {{ action.text }}\n </button>\n </ng-container>\n </mat-dialog-actions>\n</ng-container>\n", styles: ["mat-dialog-actions{justify-content:flex-end}mat-dialog-content{white-space:pre-wrap}button{text-transform:uppercase;font-weight:700}\n"] }]
29
+ args: [{ selector: 'nuc-dialog', standalone: false, template: "@if (dialogData) {\n @if (dialogData.title) {\n <h2 mat-dialog-title>\n {{ dialogData.title }}\n </h2>\n }\n <mat-dialog-content>{{ dialogData.message }}</mat-dialog-content>\n <mat-dialog-actions>\n @for (action of dialogData.actions; track action) {\n @if (action.value === undefined) {\n <button\n color=\"{{ action.color || 'primary' }}\"\n mat-button\n mat-dialog-close\n >\n {{ action.text }}\n </button>\n }\n @if (action.value !== undefined) {\n <button\n color=\"{{ action.color || 'primary' }}\"\n mat-button\n [mat-dialog-close]=\"action.value\"\n >\n {{ action.text }}\n </button>\n }\n }\n </mat-dialog-actions>\n}\n", styles: ["mat-dialog-actions{justify-content:flex-end}mat-dialog-content{white-space:pre-wrap}button{text-transform:uppercase;font-weight:700}\n"] }]
30
30
  }], ctorParameters: () => [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
31
31
  type: Inject,
32
32
  args: [MAT_DIALOG_DATA]
@@ -62,10 +62,10 @@ class NucDialogService {
62
62
  console.error('Nucleus.AppCore: NucDialogData requires at least one action.');
63
63
  }
64
64
  }
65
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: NucDialogService, deps: [{ token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Injectable }); }
66
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: NucDialogService, providedIn: 'root' }); }
65
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: NucDialogService, deps: [{ token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Injectable }); }
66
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: NucDialogService, providedIn: 'root' }); }
67
67
  }
68
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: NucDialogService, decorators: [{
68
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: NucDialogService, decorators: [{
69
69
  type: Injectable,
70
70
  args: [{
71
71
  providedIn: 'root',
@@ -73,11 +73,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
73
73
  }], ctorParameters: () => [{ type: i1.MatDialog }] });
74
74
 
75
75
  class NucDialogModule {
76
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: NucDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
77
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.8", ngImport: i0, type: NucDialogModule, declarations: [NucDialogComponent], imports: [CommonModule, MatDialogModule, MatButtonModule] }); }
78
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: NucDialogModule, imports: [CommonModule, MatDialogModule, MatButtonModule] }); }
76
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: NucDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
77
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.13", ngImport: i0, type: NucDialogModule, declarations: [NucDialogComponent], imports: [CommonModule, MatDialogModule, MatButtonModule] }); }
78
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: NucDialogModule, imports: [CommonModule, MatDialogModule, MatButtonModule] }); }
79
79
  }
80
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: NucDialogModule, decorators: [{
80
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: NucDialogModule, decorators: [{
81
81
  type: NgModule,
82
82
  args: [{
83
83
  declarations: [NucDialogComponent],
@@ -242,12 +242,12 @@ class NucLoadedContentComponent {
242
242
  showErrorDetails() {
243
243
  this._errorDetailsVisible = true;
244
244
  }
245
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: NucLoadedContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
246
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", 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\">\n <ng-container *ngTemplateOutlet=\"completedTemplate\"></ng-container>\n</ng-container>\n\n<div class=\"indicators-container\" *ngIf=\"inProgress || failed\">\n <ng-container *ngIf=\"inProgress\">\n <ng-container\n *ngTemplateOutlet=\"inProgressTemplate ? inProgressTemplate : defaultInProgressTemplate\"\n ></ng-container>\n </ng-container>\n <ng-container *ngIf=\"failed\">\n <ng-container\n *ngTemplateOutlet=\"errorTemplate ? errorTemplate: defaultErrorTemplate\"\n ></ng-container>\n </ng-container>\n</div>\n\n<ng-template #defaultInProgressTemplate>\n <div class=\"spinner\">\n <mat-spinner [diameter]=\"45\"></mat-spinner>\n </div>\n <p *ngIf=\"message\">{{message}}</p>\n</ng-template>\n\n<ng-template #defaultErrorTemplate>\n <div>\n <p class=\"message\">\n <span>{{message}}</span>\n <mat-icon\n *ngIf=\"state.errorDetails && !errorDetailsVisible\"\n class=\"info-button\"\n color=\"warn\"\n (click)=\"showErrorDetails()\"\n >info</mat-icon\n >\n </p>\n\n <p *ngIf=\"errorDetailsVisible\" class=\"error-details mat-small\">\n {{state.errorDetails}}\n </p>\n\n <p *ngIf=\"showRetryButton\">\n <button mat-mini-fab color=\"primary\" (click)=\"state.retry()\">\n <mat-icon>refresh</mat-icon>\n </button>\n </p>\n </div>\n</ng-template>\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", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i3.MatMiniFabButton, selector: "button[mat-mini-fab]", exportAs: ["matButton"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
245
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: NucLoadedContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
246
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.13", type: NucLoadedContentComponent, isStandalone: false, selector: "nuc-loaded-content-component", inputs: { completedTemplate: "completedTemplate", errorTemplate: "errorTemplate", inProgressTemplate: "inProgressTemplate", state: "state", inProgressMessage: "inProgressMessage", errorMessage: "errorMessage", showRetry: "showRetry" }, ngImport: i0, template: "@if (completed) {\n <ng-container *ngTemplateOutlet=\"completedTemplate\"></ng-container>\n}\n\n@if (inProgress || failed) {\n <div class=\"indicators-container\">\n @if (inProgress) {\n <ng-container\n *ngTemplateOutlet=\"inProgressTemplate ? inProgressTemplate : defaultInProgressTemplate\"\n ></ng-container>\n }\n @if (failed) {\n <ng-container\n *ngTemplateOutlet=\"errorTemplate ? errorTemplate: defaultErrorTemplate\"\n ></ng-container>\n }\n </div>\n}\n\n<ng-template #defaultInProgressTemplate>\n <div class=\"spinner\">\n <mat-spinner [diameter]=\"45\"></mat-spinner>\n </div>\n @if (message) {\n <p>{{message}}</p>\n }\n</ng-template>\n\n<ng-template #defaultErrorTemplate>\n <div>\n <p class=\"message\">\n <span>{{message}}</span>\n @if (state.errorDetails && !errorDetailsVisible) {\n <mat-icon\n class=\"info-button\"\n color=\"warn\"\n (click)=\"showErrorDetails()\"\n >info</mat-icon\n >\n }\n </p>\n\n @if (errorDetailsVisible) {\n <p class=\"error-details mat-small\">\n {{state.errorDetails}}\n </p>\n }\n\n @if (showRetryButton) {\n <p>\n <button mat-mini-fab color=\"primary\" (click)=\"state.retry()\">\n <mat-icon>refresh</mat-icon>\n </button>\n </p>\n }\n </div>\n </ng-template>\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.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i3.MatMiniFabButton, selector: "button[mat-mini-fab], a[mat-mini-fab], button[matMiniFab], a[matMiniFab]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
247
247
  }
248
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: NucLoadedContentComponent, decorators: [{
248
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: NucLoadedContentComponent, decorators: [{
249
249
  type: Component,
250
- args: [{ selector: 'nuc-loaded-content-component', template: "<ng-container *ngIf=\"completed\">\n <ng-container *ngTemplateOutlet=\"completedTemplate\"></ng-container>\n</ng-container>\n\n<div class=\"indicators-container\" *ngIf=\"inProgress || failed\">\n <ng-container *ngIf=\"inProgress\">\n <ng-container\n *ngTemplateOutlet=\"inProgressTemplate ? inProgressTemplate : defaultInProgressTemplate\"\n ></ng-container>\n </ng-container>\n <ng-container *ngIf=\"failed\">\n <ng-container\n *ngTemplateOutlet=\"errorTemplate ? errorTemplate: defaultErrorTemplate\"\n ></ng-container>\n </ng-container>\n</div>\n\n<ng-template #defaultInProgressTemplate>\n <div class=\"spinner\">\n <mat-spinner [diameter]=\"45\"></mat-spinner>\n </div>\n <p *ngIf=\"message\">{{message}}</p>\n</ng-template>\n\n<ng-template #defaultErrorTemplate>\n <div>\n <p class=\"message\">\n <span>{{message}}</span>\n <mat-icon\n *ngIf=\"state.errorDetails && !errorDetailsVisible\"\n class=\"info-button\"\n color=\"warn\"\n (click)=\"showErrorDetails()\"\n >info</mat-icon\n >\n </p>\n\n <p *ngIf=\"errorDetailsVisible\" class=\"error-details mat-small\">\n {{state.errorDetails}}\n </p>\n\n <p *ngIf=\"showRetryButton\">\n <button mat-mini-fab color=\"primary\" (click)=\"state.retry()\">\n <mat-icon>refresh</mat-icon>\n </button>\n </p>\n </div>\n</ng-template>\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
+ args: [{ selector: 'nuc-loaded-content-component', standalone: false, template: "@if (completed) {\n <ng-container *ngTemplateOutlet=\"completedTemplate\"></ng-container>\n}\n\n@if (inProgress || failed) {\n <div class=\"indicators-container\">\n @if (inProgress) {\n <ng-container\n *ngTemplateOutlet=\"inProgressTemplate ? inProgressTemplate : defaultInProgressTemplate\"\n ></ng-container>\n }\n @if (failed) {\n <ng-container\n *ngTemplateOutlet=\"errorTemplate ? errorTemplate: defaultErrorTemplate\"\n ></ng-container>\n }\n </div>\n}\n\n<ng-template #defaultInProgressTemplate>\n <div class=\"spinner\">\n <mat-spinner [diameter]=\"45\"></mat-spinner>\n </div>\n @if (message) {\n <p>{{message}}</p>\n }\n</ng-template>\n\n<ng-template #defaultErrorTemplate>\n <div>\n <p class=\"message\">\n <span>{{message}}</span>\n @if (state.errorDetails && !errorDetailsVisible) {\n <mat-icon\n class=\"info-button\"\n color=\"warn\"\n (click)=\"showErrorDetails()\"\n >info</mat-icon\n >\n }\n </p>\n\n @if (errorDetailsVisible) {\n <p class=\"error-details mat-small\">\n {{state.errorDetails}}\n </p>\n }\n\n @if (showRetryButton) {\n <p>\n <button mat-mini-fab color=\"primary\" (click)=\"state.retry()\">\n <mat-icon>refresh</mat-icon>\n </button>\n </p>\n }\n </div>\n </ng-template>\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"] }]
251
251
  }], propDecorators: { completedTemplate: [{
252
252
  type: Input
253
253
  }], errorTemplate: [{
@@ -265,7 +265,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
265
265
  }] } });
266
266
 
267
267
  /* eslint-disable @typescript-eslint/no-explicit-any */
268
- // eslint-disable-next-line @angular-eslint/directive-selector
269
268
  class NucLoadedContentDirective {
270
269
  constructor(_viewContainer, templateRef) {
271
270
  this._viewContainer = _viewContainer;
@@ -315,12 +314,16 @@ class NucLoadedContentDirective {
315
314
  this._component.instance.errorTemplate = this._errorTemplateRef;
316
315
  }
317
316
  }
318
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: NucLoadedContentDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
319
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.8", type: NucLoadedContentDirective, selector: "[nucLoadedContent]", inputs: { nucLoadedContent: "nucLoadedContent", errorTemplate: ["nucLoadedContentError", "errorTemplate"], inProgressTemplate: ["nucLoadedContentInProgress", "inProgressTemplate"], inProgressMessage: ["nucLoadedContentInProgressMessage", "inProgressMessage"], errorMessage: ["nucLoadedContentErrorMessage", "errorMessage"], showRetry: ["nucLoadedContentShowRetry", "showRetry"] }, ngImport: i0 }); }
317
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: NucLoadedContentDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
318
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.13", type: NucLoadedContentDirective, isStandalone: false, selector: "[nucLoadedContent]", inputs: { nucLoadedContent: "nucLoadedContent", errorTemplate: ["nucLoadedContentError", "errorTemplate"], inProgressTemplate: ["nucLoadedContentInProgress", "inProgressTemplate"], inProgressMessage: ["nucLoadedContentInProgressMessage", "inProgressMessage"], errorMessage: ["nucLoadedContentErrorMessage", "errorMessage"], showRetry: ["nucLoadedContentShowRetry", "showRetry"] }, ngImport: i0 }); }
320
319
  }
321
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: NucLoadedContentDirective, decorators: [{
320
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: NucLoadedContentDirective, decorators: [{
322
321
  type: Directive,
323
- args: [{ selector: '[nucLoadedContent]' }]
322
+ args: [{
323
+ // eslint-disable-next-line @angular-eslint/directive-selector
324
+ selector: '[nucLoadedContent]',
325
+ standalone: false
326
+ }]
324
327
  }], ctorParameters: () => [{ type: i0.ViewContainerRef }, { type: i0.TemplateRef }], propDecorators: { nucLoadedContent: [{
325
328
  type: Input
326
329
  }], errorTemplate: [{
@@ -341,17 +344,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
341
344
  }] } });
342
345
 
343
346
  class NucLoadedContentModule {
344
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: NucLoadedContentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
345
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.8", ngImport: i0, type: NucLoadedContentModule, declarations: [NucLoadedContentDirective, NucLoadedContentComponent], imports: [CommonModule,
347
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: NucLoadedContentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
348
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.13", ngImport: i0, type: NucLoadedContentModule, declarations: [NucLoadedContentDirective, NucLoadedContentComponent], imports: [CommonModule,
346
349
  MatProgressSpinnerModule,
347
350
  MatButtonModule,
348
351
  MatIconModule], exports: [NucLoadedContentDirective] }); }
349
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: NucLoadedContentModule, imports: [CommonModule,
352
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: NucLoadedContentModule, imports: [CommonModule,
350
353
  MatProgressSpinnerModule,
351
354
  MatButtonModule,
352
355
  MatIconModule] }); }
353
356
  }
354
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: NucLoadedContentModule, decorators: [{
357
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: NucLoadedContentModule, decorators: [{
355
358
  type: NgModule,
356
359
  args: [{
357
360
  declarations: [NucLoadedContentDirective, NucLoadedContentComponent],
@@ -365,7 +368,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
365
368
  }]
366
369
  }] });
367
370
 
368
- // eslint-disable-next-line @angular-eslint/directive-selector
369
371
  class NucSwipeTabsDirective {
370
372
  constructor(element, tabGroup) {
371
373
  this.element = element;
@@ -410,20 +412,24 @@ class NucSwipeTabsDirective {
410
412
  }
411
413
  });
412
414
  }
413
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: NucSwipeTabsDirective, deps: [{ token: i0.ElementRef }, { token: i1$2.MatTabGroup }], target: i0.ɵɵFactoryTarget.Directive }); }
414
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.8", type: NucSwipeTabsDirective, selector: "[nucSwipe]", ngImport: i0 }); }
415
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: NucSwipeTabsDirective, deps: [{ token: i0.ElementRef }, { token: i1$2.MatTabGroup }], target: i0.ɵɵFactoryTarget.Directive }); }
416
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.13", type: NucSwipeTabsDirective, isStandalone: false, selector: "[nucSwipe]", ngImport: i0 }); }
415
417
  }
416
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: NucSwipeTabsDirective, decorators: [{
418
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: NucSwipeTabsDirective, decorators: [{
417
419
  type: Directive,
418
- args: [{ selector: '[nucSwipe]' }]
420
+ args: [{
421
+ // eslint-disable-next-line @angular-eslint/directive-selector
422
+ selector: '[nucSwipe]',
423
+ standalone: false
424
+ }]
419
425
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1$2.MatTabGroup }] });
420
426
 
421
427
  class NucSwipeTabsModule {
422
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: NucSwipeTabsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
423
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.8", ngImport: i0, type: NucSwipeTabsModule, declarations: [NucSwipeTabsDirective], imports: [CommonModule], exports: [NucSwipeTabsDirective] }); }
424
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: NucSwipeTabsModule, imports: [CommonModule] }); }
428
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: NucSwipeTabsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
429
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.13", ngImport: i0, type: NucSwipeTabsModule, declarations: [NucSwipeTabsDirective], imports: [CommonModule], exports: [NucSwipeTabsDirective] }); }
430
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: NucSwipeTabsModule, imports: [CommonModule] }); }
425
431
  }
426
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: NucSwipeTabsModule, decorators: [{
432
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: NucSwipeTabsModule, decorators: [{
427
433
  type: NgModule,
428
434
  args: [{
429
435
  declarations: [NucSwipeTabsDirective],
@@ -459,14 +465,14 @@ class ProgressSnackbarComponent {
459
465
  actionClicked() {
460
466
  this.snackBar.dismissWithAction();
461
467
  }
462
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: ProgressSnackbarComponent, deps: [{ token: i1$3.MatSnackBarRef }, { token: MAT_SNACK_BAR_DATA }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
463
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: ProgressSnackbarComponent, selector: "lib-progress-snackbar", host: { classAttribute: "mat-simple-snackbar" }, ngImport: i0, template: "<div class=\"snackbar-container\" >\n <div class=\"mdc-snackbar__label message\">\n <mat-spinner\n style=\"vertical-align: middle; display: inline-flex; margin-right: 8px\"\n diameter=\"16\"\n strokeWidth=\"1.5\"\n mode=\"indeterminate\"\n class=\"spinner\"\n color=\"red\"\n ></mat-spinner>\n {{ data.message }}\n </div>\n <button matSnackBarAction *ngIf=\"data.action\" mat-button (click)=\"actionClicked()\">{{data.action}}</button>\n</div>\n", styles: [".snackbar-container{display:flex;align-items:center}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.MatSnackBarAction, selector: "[matSnackBarAction]" }, { kind: "component", type: i2.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }], encapsulation: i0.ViewEncapsulation.None }); }
468
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: ProgressSnackbarComponent, deps: [{ token: i1$3.MatSnackBarRef }, { token: MAT_SNACK_BAR_DATA }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
469
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.13", type: ProgressSnackbarComponent, isStandalone: false, selector: "lib-progress-snackbar", host: { classAttribute: "mat-simple-snackbar" }, ngImport: i0, template: "<div class=\"snackbar-container\" >\n <div class=\"mdc-snackbar__label message\">\n <mat-spinner\n style=\"vertical-align: middle; display: inline-flex; margin-right: 8px\"\n diameter=\"16\"\n strokeWidth=\"1.5\"\n mode=\"indeterminate\"\n class=\"spinner\"\n color=\"red\"\n ></mat-spinner>\n {{ data.message }}\n </div>\n @if (data.action) {\n <button matSnackBarAction mat-button (click)=\"actionClicked()\">{{data.action}}</button>\n }\n</div>\n", styles: [".snackbar-container{display:flex;align-items:center}\n"], dependencies: [{ kind: "directive", type: i1$3.MatSnackBarAction, selector: "[matSnackBarAction]" }, { kind: "component", type: i2.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i3.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }], encapsulation: i0.ViewEncapsulation.None }); }
464
470
  }
465
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: ProgressSnackbarComponent, decorators: [{
471
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: ProgressSnackbarComponent, decorators: [{
466
472
  type: Component,
467
473
  args: [{ selector: 'lib-progress-snackbar', encapsulation: ViewEncapsulation.None, host: {
468
474
  class: 'mat-simple-snackbar',
469
- }, template: "<div class=\"snackbar-container\" >\n <div class=\"mdc-snackbar__label message\">\n <mat-spinner\n style=\"vertical-align: middle; display: inline-flex; margin-right: 8px\"\n diameter=\"16\"\n strokeWidth=\"1.5\"\n mode=\"indeterminate\"\n class=\"spinner\"\n color=\"red\"\n ></mat-spinner>\n {{ data.message }}\n </div>\n <button matSnackBarAction *ngIf=\"data.action\" mat-button (click)=\"actionClicked()\">{{data.action}}</button>\n</div>\n", styles: [".snackbar-container{display:flex;align-items:center}\n"] }]
475
+ }, standalone: false, template: "<div class=\"snackbar-container\" >\n <div class=\"mdc-snackbar__label message\">\n <mat-spinner\n style=\"vertical-align: middle; display: inline-flex; margin-right: 8px\"\n diameter=\"16\"\n strokeWidth=\"1.5\"\n mode=\"indeterminate\"\n class=\"spinner\"\n color=\"red\"\n ></mat-spinner>\n {{ data.message }}\n </div>\n @if (data.action) {\n <button matSnackBarAction mat-button (click)=\"actionClicked()\">{{data.action}}</button>\n }\n</div>\n", styles: [".snackbar-container{display:flex;align-items:center}\n"] }]
470
476
  }], ctorParameters: () => [{ type: i1$3.MatSnackBarRef }, { type: undefined, decorators: [{
471
477
  type: Inject,
472
478
  args: [MAT_SNACK_BAR_DATA]
@@ -501,10 +507,10 @@ class NucSnackbarService {
501
507
  openSnackbarWithConfig(message, action, config) {
502
508
  return this.matSnackBar.open(message, action, config);
503
509
  }
504
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: NucSnackbarService, deps: [{ token: i1$3.MatSnackBar }], target: i0.ɵɵFactoryTarget.Injectable }); }
505
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: NucSnackbarService, providedIn: 'root' }); }
510
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: NucSnackbarService, deps: [{ token: i1$3.MatSnackBar }], target: i0.ɵɵFactoryTarget.Injectable }); }
511
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: NucSnackbarService, providedIn: 'root' }); }
506
512
  }
507
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: NucSnackbarService, decorators: [{
513
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: NucSnackbarService, decorators: [{
508
514
  type: Injectable,
509
515
  args: [{
510
516
  providedIn: 'root',
@@ -512,11 +518,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
512
518
  }], ctorParameters: () => [{ type: i1$3.MatSnackBar }] });
513
519
 
514
520
  class NucSnackbarModule {
515
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: NucSnackbarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
516
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.8", ngImport: i0, type: NucSnackbarModule, declarations: [ProgressSnackbarComponent], imports: [CommonModule, MatSnackBarModule, MatProgressSpinnerModule, MatButtonModule] }); }
517
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: NucSnackbarModule, imports: [CommonModule, MatSnackBarModule, MatProgressSpinnerModule, MatButtonModule] }); }
521
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: NucSnackbarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
522
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.13", ngImport: i0, type: NucSnackbarModule, declarations: [ProgressSnackbarComponent], imports: [CommonModule, MatSnackBarModule, MatProgressSpinnerModule, MatButtonModule] }); }
523
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: NucSnackbarModule, imports: [CommonModule, MatSnackBarModule, MatProgressSpinnerModule, MatButtonModule] }); }
518
524
  }
519
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: NucSnackbarModule, decorators: [{
525
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: NucSnackbarModule, decorators: [{
520
526
  type: NgModule,
521
527
  args: [{
522
528
  declarations: [ProgressSnackbarComponent],
@@ -558,12 +564,12 @@ class NucUserAvatarComponent {
558
564
  const saturation = 42.6;
559
565
  return `hsl(${hue},${saturation}%,${lightness}%)`;
560
566
  }
561
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: NucUserAvatarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
562
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: NucUserAvatarComponent, selector: "nuc-user-avatar", inputs: { name: "name", image: "image", size: "size", background: "background" }, ngImport: i0, template: "<div *ngIf=\"image\" class=\"user-avatar size-{{size}}\">\n <img src=\"{{image}}\" />\n</div>\n\n<div\n *ngIf=\"!image\"\n class=\"user-avatar size-{{size}} unselectable\"\n [style.background-color]=\"getHslString()\"\n [ngClass]=\"{'white-text': background, 'black-text border': !background}\"\n>\n {{getUserInitials()}}\n</div>\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;-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"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
567
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: NucUserAvatarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
568
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.13", type: NucUserAvatarComponent, isStandalone: false, selector: "nuc-user-avatar", inputs: { name: "name", image: "image", size: "size", background: "background" }, ngImport: i0, template: "@if (image) {\n <div class=\"user-avatar size-{{size}}\">\n <img src=\"{{image}}\" />\n </div>\n}\n\n@if (!image) {\n <div\n class=\"user-avatar size-{{size}} unselectable\"\n [style.background-color]=\"getHslString()\"\n [ngClass]=\"{'white-text': background, 'black-text border': !background}\"\n >\n {{getUserInitials()}}\n </div>\n}\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;-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"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
563
569
  }
564
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: NucUserAvatarComponent, decorators: [{
570
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: NucUserAvatarComponent, decorators: [{
565
571
  type: Component,
566
- args: [{ selector: 'nuc-user-avatar', template: "<div *ngIf=\"image\" class=\"user-avatar size-{{size}}\">\n <img src=\"{{image}}\" />\n</div>\n\n<div\n *ngIf=\"!image\"\n class=\"user-avatar size-{{size}} unselectable\"\n [style.background-color]=\"getHslString()\"\n [ngClass]=\"{'white-text': background, 'black-text border': !background}\"\n>\n {{getUserInitials()}}\n</div>\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;-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"] }]
572
+ args: [{ selector: 'nuc-user-avatar', standalone: false, template: "@if (image) {\n <div class=\"user-avatar size-{{size}}\">\n <img src=\"{{image}}\" />\n </div>\n}\n\n@if (!image) {\n <div\n class=\"user-avatar size-{{size}} unselectable\"\n [style.background-color]=\"getHslString()\"\n [ngClass]=\"{'white-text': background, 'black-text border': !background}\"\n >\n {{getUserInitials()}}\n </div>\n}\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;-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"] }]
567
573
  }], propDecorators: { name: [{
568
574
  type: Input
569
575
  }], image: [{
@@ -575,11 +581,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
575
581
  }] } });
576
582
 
577
583
  class NucUserAvatarModule {
578
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: NucUserAvatarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
579
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.8", ngImport: i0, type: NucUserAvatarModule, declarations: [NucUserAvatarComponent], imports: [CommonModule], exports: [NucUserAvatarComponent] }); }
580
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: NucUserAvatarModule, imports: [CommonModule] }); }
584
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: NucUserAvatarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
585
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.13", ngImport: i0, type: NucUserAvatarModule, declarations: [NucUserAvatarComponent], imports: [CommonModule], exports: [NucUserAvatarComponent] }); }
586
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: NucUserAvatarModule, imports: [CommonModule] }); }
581
587
  }
582
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: NucUserAvatarModule, decorators: [{
588
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: NucUserAvatarModule, decorators: [{
583
589
  type: NgModule,
584
590
  args: [{
585
591
  declarations: [NucUserAvatarComponent],
@@ -1 +1 @@
1
- {"version":3,"file":"kolektor-nucleus-material.mjs","sources":["../../../../../../libs/ng/nucleus/nucleus-material/src/lib/dialog/dialog.component.ts","../../../../../../libs/ng/nucleus/nucleus-material/src/lib/dialog/dialog.component.html","../../../../../../libs/ng/nucleus/nucleus-material/src/lib/dialog/dialog.service.ts","../../../../../../libs/ng/nucleus/nucleus-material/src/lib/dialog/dialog.module.ts","../../../../../../libs/ng/nucleus/nucleus-material/src/lib/dialog/models.ts","../../../../../../libs/ng/nucleus/nucleus-material/src/lib/loaded-content/loading-state.ts","../../../../../../libs/ng/nucleus/nucleus-material/src/lib/loaded-content/loaded-content-component.ts","../../../../../../libs/ng/nucleus/nucleus-material/src/lib/loaded-content/loaded-content-component.html","../../../../../../libs/ng/nucleus/nucleus-material/src/lib/loaded-content/loaded-content-directive.ts","../../../../../../libs/ng/nucleus/nucleus-material/src/lib/loaded-content/loaded-content-module.ts","../../../../../../libs/ng/nucleus/nucleus-material/src/lib/swipe-tabs/swipe-tabs-directive.ts","../../../../../../libs/ng/nucleus/nucleus-material/src/lib/swipe-tabs/swipe-tabs-module.ts","../../../../../../libs/ng/nucleus/nucleus-material/src/lib/snackbar/models.ts","../../../../../../libs/ng/nucleus/nucleus-material/src/lib/snackbar/progress-snackbar/progress-snackbar.component.ts","../../../../../../libs/ng/nucleus/nucleus-material/src/lib/snackbar/progress-snackbar/progress-snackbar.component.html","../../../../../../libs/ng/nucleus/nucleus-material/src/lib/snackbar/snackbar.service.ts","../../../../../../libs/ng/nucleus/nucleus-material/src/lib/snackbar/snackbar.module.ts","../../../../../../libs/ng/nucleus/nucleus-material/src/lib/user-avatar/user-avatar-component.ts","../../../../../../libs/ng/nucleus/nucleus-material/src/lib/user-avatar/user-avatar-component.html","../../../../../../libs/ng/nucleus/nucleus-material/src/lib/user-avatar/user-avatar-module.ts","../../../../../../libs/ng/nucleus/nucleus-material/src/index.ts","../../../../../../libs/ng/nucleus/nucleus-material/src/kolektor-nucleus-material.ts"],"sourcesContent":["import { Component, Inject } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { NucDialogData } from './models';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'nuc-dialog',\n templateUrl: './dialog.component.html',\n styleUrls: ['./dialog.component.scss'],\n})\nexport class NucDialogComponent {\n constructor(\n public dialogRef: MatDialogRef<NucDialogComponent>,\n @Inject(MAT_DIALOG_DATA) public dialogData: NucDialogData\n ) {}\n}\n","<ng-container *ngIf=\"dialogData\">\n <h2 mat-dialog-title *ngIf=\"dialogData.title\">\n {{ dialogData.title }}\n </h2>\n <mat-dialog-content>{{ dialogData.message }}</mat-dialog-content>\n <mat-dialog-actions>\n <ng-container *ngFor=\"let action of dialogData.actions\">\n <button\n color=\"{{ action.color || 'primary' }}\"\n *ngIf=\"action.value === undefined\"\n mat-button\n mat-dialog-close\n >\n {{ action.text }}\n </button>\n <button\n color=\"{{ action.color || 'primary' }}\"\n *ngIf=\"action.value !== undefined\"\n mat-button\n [mat-dialog-close]=\"action.value\"\n >\n {{ action.text }}\n </button>\n </ng-container>\n </mat-dialog-actions>\n</ng-container>\n","import { Injectable } from '@angular/core';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { NucDialogData } from './models';\nimport { NucDialogComponent } from './dialog.component';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class NucDialogService {\n constructor(private _matDialog: MatDialog) {}\n\n /**\n * Opens a NucDialog with content from dialogData.\n *\n * @param dialogData NucDialogData containing title, message and possible actions.\n * @param dialogConfig Extra configuration options. Data property is ignored, since it will be set to dialogData.\n * @returns a promise with value that was specified inside pressed Nucleus action.\n */\n public async open(\n dialogData: NucDialogData,\n dialogConfig?: MatDialogConfig\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ): Promise<any> {\n if (dialogData.actions && dialogData.actions.length > 0) {\n if (dialogConfig) {\n dialogConfig.data = dialogData;\n } else {\n dialogConfig = { data: dialogData };\n }\n return await this._matDialog\n .open(NucDialogComponent, dialogConfig)\n .beforeClosed()\n .toPromise();\n } else {\n console.error(\n 'Nucleus.AppCore: NucDialogData requires at least one action.'\n );\n }\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { NucDialogComponent } from './dialog.component';\n\n@NgModule({\n declarations: [NucDialogComponent],\n imports: [CommonModule, MatDialogModule, MatButtonModule],\n})\nexport class NucDialogModule {}\n","export interface NucDialogData {\n /** Optional title for the dialog. */\n title?: string;\n /** Message for the dialog. */\n message: string;\n /** Action(s) (buttons) for the dialog. At least one is required. */\n actions: NucAction[];\n}\n\nexport interface NucAction {\n /** Text for the action (button). */\n text: string;\n /** Return value for the action (button). */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n value?: any;\n /** Optional color of the action (button). */\n color?: NucColor;\n}\n\nexport enum NucColor {\n /** Primary color of the theme. */\n primary = 'primary',\n /** Accent color of the theme. */\n accent = 'accent',\n /** Warning color of the theme. */\n warn = 'warn',\n}\n","import { Observable, Subscription } from 'rxjs';\nimport { tap } from 'rxjs/operators';\nimport { HttpErrorResponse } from '@angular/common/http';\n\nexport enum LoadingStatus {\n completed,\n inProgress,\n failed,\n undefined,\n}\n\nexport class LoadingState {\n private _status: LoadingStatus = LoadingStatus.undefined;\n private _initialMessage: string;\n private _message?: string;\n private _errorDetails?: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _resultFunction?: (result: any) => void;\n private _errorFunction?: (error: HttpErrorResponse) => void;\n private _completeFunction?: () => void;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _loadObservable: Observable<any>;\n private _lastSubscription: Subscription;\n\n get status(): LoadingStatus {\n return this._status;\n }\n\n get message() {\n return this._message;\n }\n\n get errorDetails() {\n return this._errorDetails;\n }\n\n public load<T>(\n observable: Observable<T>,\n resultFunction?: (result: T) => void,\n errorFunction?: (error: HttpErrorResponse) => void,\n completeFunction?: () => void\n ) {\n return this._load(\n true,\n undefined,\n observable,\n resultFunction,\n errorFunction,\n completeFunction\n );\n }\n\n public loadWithMessage<T>(\n observable: Observable<T>,\n message: string,\n resultFunction?: (result: T) => void,\n errorFunction?: (error: HttpErrorResponse) => void,\n completeFunction?: () => void\n ): Subscription {\n this._initialMessage = message;\n return this._load(\n true,\n message,\n observable,\n resultFunction,\n errorFunction,\n completeFunction\n );\n }\n\n public invoke<T>(\n observable: Observable<T>,\n resultFunction?: (result: T) => void,\n errorFunction?: (error: HttpErrorResponse) => void,\n completeFunction?: () => void\n ): Subscription {\n return this._load(\n false,\n undefined,\n observable,\n resultFunction,\n errorFunction,\n completeFunction\n );\n }\n\n public invokeWithMessage<T>(\n observable: Observable<T>,\n message: string,\n resultFunction?: (result: T) => void,\n errorFunction?: (error: HttpErrorResponse) => void,\n completeFunction?: () => void\n ): Subscription {\n this._initialMessage = message;\n return this._load(\n false,\n message,\n observable,\n resultFunction,\n errorFunction,\n completeFunction\n );\n }\n\n public retry() {\n if (this._lastSubscription) {\n this._lastSubscription.unsubscribe();\n }\n this.setInProgress(this._initialMessage);\n this._lastSubscription = this._loadObservable.subscribe({\n next: this._resultFunction,\n error: this._errorFunction,\n complete: this._completeFunction,\n });\n return this._lastSubscription;\n }\n\n public setInProgress(message?: string) {\n this._status = LoadingStatus.inProgress;\n this._message = message;\n }\n\n public setCompleted() {\n this._status = LoadingStatus.completed;\n }\n\n public setFailed(message?: string, error?: string) {\n this._status = LoadingStatus.failed;\n this._message = message;\n this._errorDetails = error;\n }\n\n private _load<T>(\n saveAsLoadObservable: boolean,\n progressMessage: string | undefined,\n observable: Observable<T>,\n resultFunction?: (result: T) => void,\n errorFunction?: (error: HttpErrorResponse) => void,\n completeFunction?: () => void\n ): Subscription {\n if (this._lastSubscription) {\n this._lastSubscription.unsubscribe();\n }\n\n this.setInProgress(progressMessage);\n const obs = observable.pipe(\n tap({\n next: () => {\n if (!saveAsLoadObservable && this.message) {\n // if message was used one time we clear it\n this._message = undefined;\n }\n this.setCompleted();\n },\n error: (err) => {\n this.setFailed(undefined, LoadingState.getErrorDetails(err));\n },\n })\n );\n\n if (saveAsLoadObservable) {\n this._loadObservable = obs;\n this._resultFunction = resultFunction;\n this._errorFunction = errorFunction;\n this._completeFunction = completeFunction;\n }\n\n this._lastSubscription = obs.subscribe({\n next: resultFunction,\n error: errorFunction,\n complete: completeFunction,\n });\n return this._lastSubscription;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public static getErrorDetails(error: any) {\n // this routine tries to get the best error details from:\n // - standard rfc7807 http error: https://datatracker.ietf.org/doc/html/rfc7807\n // - angular HttpError\n // - JS Error object\n\n const problem = error?.error;\n if (problem?.title && problem?.detail) {\n return `${problem.title}: ${problem.detail}`;\n } else {\n return problem?.title || problem?.detail || error.message || error;\n }\n }\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { Component, Input, TemplateRef } from '@angular/core';\nimport { LoadingState, LoadingStatus } from './loading-state';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'nuc-loaded-content-component',\n templateUrl: './loaded-content-component.html',\n styleUrls: ['./loaded-content-component.scss'],\n})\nexport class NucLoadedContentComponent {\n private _errorDetailsVisible = false;\n\n @Input()\n completedTemplate: TemplateRef<any>;\n\n @Input()\n errorTemplate: TemplateRef<any>;\n\n @Input()\n inProgressTemplate: TemplateRef<any>;\n\n @Input()\n public state: LoadingState;\n\n @Input()\n public inProgressMessage?: string;\n\n @Input()\n public errorMessage = 'We are having trouble loading the data.';\n\n @Input()\n public showRetry = true;\n\n public get message() {\n if (this.state.message != null) {\n return this.state.message;\n } else {\n if (this.state.status === LoadingStatus.failed) {\n return this.errorMessage;\n } else if (this.state.status === LoadingStatus.inProgress) {\n return this.inProgressMessage;\n }\n }\n return null;\n }\n\n public get showRetryButton() {\n return this.showRetry;\n }\n\n public get inProgress() {\n const inProgress = this.state.status === LoadingStatus.inProgress;\n if (inProgress) {\n this._errorDetailsVisible = false;\n }\n return inProgress;\n }\n\n public get failed() {\n return this.state.status === LoadingStatus.failed;\n }\n\n public get completed() {\n return this.state.status === LoadingStatus.completed;\n }\n\n public get errorDetailsVisible() {\n return this._errorDetailsVisible;\n }\n\n public showErrorDetails() {\n this._errorDetailsVisible = true;\n }\n}\n","<ng-container *ngIf=\"completed\">\n <ng-container *ngTemplateOutlet=\"completedTemplate\"></ng-container>\n</ng-container>\n\n<div class=\"indicators-container\" *ngIf=\"inProgress || failed\">\n <ng-container *ngIf=\"inProgress\">\n <ng-container\n *ngTemplateOutlet=\"inProgressTemplate ? inProgressTemplate : defaultInProgressTemplate\"\n ></ng-container>\n </ng-container>\n <ng-container *ngIf=\"failed\">\n <ng-container\n *ngTemplateOutlet=\"errorTemplate ? errorTemplate: defaultErrorTemplate\"\n ></ng-container>\n </ng-container>\n</div>\n\n<ng-template #defaultInProgressTemplate>\n <div class=\"spinner\">\n <mat-spinner [diameter]=\"45\"></mat-spinner>\n </div>\n <p *ngIf=\"message\">{{message}}</p>\n</ng-template>\n\n<ng-template #defaultErrorTemplate>\n <div>\n <p class=\"message\">\n <span>{{message}}</span>\n <mat-icon\n *ngIf=\"state.errorDetails && !errorDetailsVisible\"\n class=\"info-button\"\n color=\"warn\"\n (click)=\"showErrorDetails()\"\n >info</mat-icon\n >\n </p>\n\n <p *ngIf=\"errorDetailsVisible\" class=\"error-details mat-small\">\n {{state.errorDetails}}\n </p>\n\n <p *ngIf=\"showRetryButton\">\n <button mat-mini-fab color=\"primary\" (click)=\"state.retry()\">\n <mat-icon>refresh</mat-icon>\n </button>\n </p>\n </div>\n</ng-template>\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport {\n ComponentRef,\n Directive,\n Input,\n TemplateRef,\n ViewContainerRef\n} from '@angular/core';\nimport { NucLoadedContentComponent } from './loaded-content-component';\nimport { LoadingState } from './loading-state';\n\n// eslint-disable-next-line @angular-eslint/directive-selector\n@Directive({ selector: '[nucLoadedContent]' })\nexport class NucLoadedContentDirective {\n private _state: LoadingState;\n private _completedTemplateRef: TemplateRef<any>;\n private _errorTemplateRef: TemplateRef<any> | null = null;\n private _inProgressTemplateRef: TemplateRef<any> | null = null;\n private _component: ComponentRef<NucLoadedContentComponent>;\n\n constructor(\n private _viewContainer: ViewContainerRef,\n private templateRef: TemplateRef<any>\n ) {\n this._completedTemplateRef = this.templateRef;\n }\n\n @Input()\n set nucLoadedContent(state: LoadingState) {\n // add some error handling if state is null, etc.\n this._state = state;\n this._updateView();\n }\n\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('nucLoadedContentError')\n set errorTemplate(templateRef: TemplateRef<any> | null) {\n this._errorTemplateRef = templateRef;\n this._updateView();\n }\n\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('nucLoadedContentInProgress')\n set inProgressTemplate(templateRef: TemplateRef<any> | null) {\n this._inProgressTemplateRef = templateRef;\n this._updateView();\n }\n\n @Input('nucLoadedContentInProgressMessage')\n set inProgressMessage(inProgressMessage: string | null) {\n if (inProgressMessage) {\n this._component.instance.inProgressMessage = inProgressMessage;\n }\n }\n\n @Input('nucLoadedContentErrorMessage')\n set errorMessage(errorMessage: string | null) {\n if (errorMessage) {\n this._component.instance.errorMessage = errorMessage;\n }\n }\n\n @Input('nucLoadedContentShowRetry')\n set showRetry(showRetry: boolean) {\n this._component.instance.showRetry = showRetry;\n }\n\n private _updateView() {\n if (this._component == null) {\n this._component = this._viewContainer.createComponent(NucLoadedContentComponent);\n }\n\n this._component.instance.state = this._state;\n this._component.instance.completedTemplate = this._completedTemplateRef;\n\n if (this._inProgressTemplateRef) {\n this._component.instance.inProgressTemplate = this._inProgressTemplateRef;\n }\n\n if (this._errorTemplateRef) {\n this._component.instance.errorTemplate = this._errorTemplateRef;\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { NucLoadedContentComponent } from './loaded-content-component';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { CommonModule } from '@angular/common';\nimport { NucLoadedContentDirective } from './loaded-content-directive';\n\n@NgModule({\n declarations: [NucLoadedContentDirective, NucLoadedContentComponent],\n imports: [\n CommonModule,\n MatProgressSpinnerModule,\n MatButtonModule,\n MatIconModule,\n ],\n exports: [NucLoadedContentDirective],\n})\nexport class NucLoadedContentModule {}\n","import { Directive, ElementRef, OnInit } from '@angular/core';\nimport { MatTabGroup } from '@angular/material/tabs';\nimport * as Hammer from 'hammerjs';\n\n// eslint-disable-next-line @angular-eslint/directive-selector\n@Directive({ selector: '[nucSwipe]' })\nexport class NucSwipeTabsDirective implements OnInit {\n constructor(\n private element: ElementRef<EventTarget>,\n private tabGroup: MatTabGroup\n ) {}\n\n ngOnInit() {\n const hammerJs = new Hammer.Manager(this.element.nativeElement, {\n inputClass: Hammer.TouchInput,\n });\n\n hammerJs.add(\n new Hammer.Pan({\n direction: Hammer.DIRECTION_HORIZONTAL,\n threshold: 30,\n })\n );\n\n hammerJs.on('panleft panright', (event) => {\n if (event.isFinal) {\n const tabs = this.tabGroup._tabs.map((x) => x.disabled);\n const currentIndex = this.tabGroup.selectedIndex ?? 0;\n let nextIndex = currentIndex;\n\n if (\n event.type === 'panright' &&\n event.direction === 4 &&\n currentIndex > 0\n ) {\n // if user pans right, go to the left\n for (let i = currentIndex - 1; i >= 0; i--) {\n if (!tabs[i]) {\n nextIndex = i;\n break;\n }\n }\n } else if (\n event.type === 'panleft' &&\n event.direction === 2 &&\n currentIndex < this.tabGroup._tabs.length - 1\n ) {\n // if user pans left, go to the right\n for (let i = currentIndex + 1; i < tabs.length; i++) {\n if (!tabs[i]) {\n nextIndex = i;\n break;\n }\n }\n }\n this.tabGroup.selectedIndex = nextIndex;\n }\n });\n }\n}\n","import { NgModule } from '@angular/core';\nimport { NucSwipeTabsDirective } from './swipe-tabs-directive';\nimport { CommonModule } from '@angular/common';\n\n@NgModule({\n declarations: [NucSwipeTabsDirective],\n imports: [CommonModule],\n exports: [NucSwipeTabsDirective],\n})\nexport class NucSwipeTabsModule {}\n","export enum NucSnackbarType {\n Info = 'info',\n Warning = 'warning',\n Danger = 'danger',\n Success = 'success',\n Progress = 'progress',\n}\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n Inject,\n ViewEncapsulation,\n} from '@angular/core';\nimport { MAT_SNACK_BAR_DATA, MatSnackBar, MatSnackBarRef } from '@angular/material/snack-bar';\n\n@Component({\n selector: 'lib-progress-snackbar',\n templateUrl: './progress-snackbar.component.html',\n styleUrls: ['./progress-snackbar.component.scss'],\n encapsulation: ViewEncapsulation.None,\n // eslint-disable-next-line @angular-eslint/no-host-metadata-property\n host: {\n class: 'mat-simple-snackbar',\n },\n})\nexport class ProgressSnackbarComponent implements AfterViewInit {\n constructor(\n private snackBar: MatSnackBarRef<MatSnackBar>,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @Inject(MAT_SNACK_BAR_DATA) public data: any,\n private elem: ElementRef\n ) { }\n\n ngAfterViewInit() {\n const element = this.elem.nativeElement;\n const circle = element.querySelector('circle');\n const message = element.querySelector('.message');\n const color = window.getComputedStyle(message).color;\n circle.style.stroke = color;\n }\n\n actionClicked() {\n this.snackBar.dismissWithAction();\n }\n}\n","<div class=\"snackbar-container\" >\n <div class=\"mdc-snackbar__label message\">\n <mat-spinner\n style=\"vertical-align: middle; display: inline-flex; margin-right: 8px\"\n diameter=\"16\"\n strokeWidth=\"1.5\"\n mode=\"indeterminate\"\n class=\"spinner\"\n color=\"red\"\n ></mat-spinner>\n {{ data.message }}\n </div>\n <button matSnackBarAction *ngIf=\"data.action\" mat-button (click)=\"actionClicked()\">{{data.action}}</button>\n</div>\n","import { Injectable } from '@angular/core';\nimport {\n MatSnackBar,\n MatSnackBarConfig,\n MatSnackBarRef,\n TextOnlySnackBar,\n} from '@angular/material/snack-bar';\nimport { NucSnackbarType } from './models';\nimport { ProgressSnackbarComponent } from './progress-snackbar/progress-snackbar.component';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class NucSnackbarService {\n constructor(private matSnackBar: MatSnackBar) { }\n\n public openSnackbar(\n type: NucSnackbarType,\n message: string,\n action: string | null | undefined,\n duration: number\n ): MatSnackBarRef<TextOnlySnackBar | ProgressSnackbarComponent> {\n action = action || undefined;\n let ref: MatSnackBarRef<TextOnlySnackBar | ProgressSnackbarComponent>;\n\n const panelClass = `${type}-snackbar`;\n\n if (type === NucSnackbarType.Progress) {\n ref = this.matSnackBar.openFromComponent(ProgressSnackbarComponent, {\n duration,\n panelClass,\n data: {\n message,\n action\n },\n });\n } else {\n ref = this.matSnackBar.open(message, action, {\n duration,\n panelClass,\n });\n }\n\n return ref;\n }\n\n public openSnackbarWithConfig(\n message: string,\n action: string | undefined,\n config: MatSnackBarConfig\n ): MatSnackBarRef<TextOnlySnackBar> {\n return this.matSnackBar.open(message, action, config);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\nimport { ProgressSnackbarComponent } from './progress-snackbar/progress-snackbar.component';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { MatButtonModule } from '@angular/material/button';\n\n@NgModule({\n declarations: [ProgressSnackbarComponent],\n imports: [CommonModule, MatSnackBarModule, MatProgressSpinnerModule, MatButtonModule],\n exports: [],\n})\nexport class NucSnackbarModule {}\n","import { Component, Input } from '@angular/core';\nexport type AvatarSize = 'small' | 'medium' | 'large' | 'xlarge';\nexport type Background = true | false;\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'nuc-user-avatar',\n templateUrl: './user-avatar-component.html',\n styleUrls: ['./user-avatar-component.scss'],\n})\nexport class NucUserAvatarComponent {\n @Input() name: string;\n @Input() image?: string;\n @Input() size: AvatarSize = 'medium';\n @Input() background: Background = false;\n\n getUserInitials() {\n const nameParts = this.name.split(' ');\n return (\n nameParts[0].charAt(0).toUpperCase() +\n '' +\n nameParts[nameParts.length - 1].charAt(0).toUpperCase()\n );\n }\n\n getHslString(): string {\n if (!this.background) {\n return `hsl(${0},${0}%,${100}%)`;\n }\n\n let hash = 0;\n for (let i = 0; i < this.name.length; i++) {\n /*\n * Javascript uses double precision floating-point format for all numerical datatypes.\n * Except when using bitwise operations, where operators are converted to 32-bit signed integers.\n * Result of bitwise operations are then converted back to double precision floating-point format.\n *\n * We make a bitwise OR operation between the new hash and 0.\n * This keeps only the lower 32 bits in the new hash value.\n */\n // eslint-disable-next-line no-bitwise\n hash = (this.name.charCodeAt(i) + ((hash << 15) - hash)) | 0;\n }\n\n const hue = Math.abs(hash % 360);\n\n const lightness = 49.2;\n const saturation = 42.6;\n\n return `hsl(${hue},${saturation}%,${lightness}%)`;\n }\n}\n","<div *ngIf=\"image\" class=\"user-avatar size-{{size}}\">\n <img src=\"{{image}}\" />\n</div>\n\n<div\n *ngIf=\"!image\"\n class=\"user-avatar size-{{size}} unselectable\"\n [style.background-color]=\"getHslString()\"\n [ngClass]=\"{'white-text': background, 'black-text border': !background}\"\n>\n {{getUserInitials()}}\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NucUserAvatarComponent } from './user-avatar-component';\n\n@NgModule({\n declarations: [NucUserAvatarComponent],\n imports: [CommonModule],\n exports: [NucUserAvatarComponent],\n})\nexport class NucUserAvatarModule {}\n","// dialog\nexport * from './lib/dialog/dialog.service';\nexport * from './lib/dialog/dialog.module';\nexport * from './lib/dialog/models';\n\n// loaded-content\nexport * from './lib/loaded-content/loading-state';\nexport * from './lib/loaded-content/loaded-content-component';\nexport * from './lib/loaded-content/loaded-content-directive';\nexport * from './lib/loaded-content/loaded-content-module';\n\n// swipe-tabs\nexport * from './lib/swipe-tabs/swipe-tabs-directive';\nexport * from './lib/swipe-tabs/swipe-tabs-module';\n\n// dialog component\nexport * from './lib/dialog/dialog.service';\nexport * from './lib/dialog/dialog.module';\nexport * from './lib/dialog/models';\n\n// snackbar component\nexport * from './lib/snackbar/snackbar.service';\nexport * from './lib/snackbar/snackbar.module';\nexport * from './lib/snackbar/models';\n\n// user-avatar\nexport * from './lib/user-avatar/user-avatar-component';\nexport * from './lib/user-avatar/user-avatar-module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2","i1","i3","i4"],"mappings":"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"}
1
+ {"version":3,"file":"kolektor-nucleus-material.mjs","sources":["../../../../../../libs/ng/nucleus/nucleus-material/src/lib/dialog/dialog.component.ts","../../../../../../libs/ng/nucleus/nucleus-material/src/lib/dialog/dialog.component.html","../../../../../../libs/ng/nucleus/nucleus-material/src/lib/dialog/dialog.service.ts","../../../../../../libs/ng/nucleus/nucleus-material/src/lib/dialog/dialog.module.ts","../../../../../../libs/ng/nucleus/nucleus-material/src/lib/dialog/models.ts","../../../../../../libs/ng/nucleus/nucleus-material/src/lib/loaded-content/loading-state.ts","../../../../../../libs/ng/nucleus/nucleus-material/src/lib/loaded-content/loaded-content-component.ts","../../../../../../libs/ng/nucleus/nucleus-material/src/lib/loaded-content/loaded-content-component.html","../../../../../../libs/ng/nucleus/nucleus-material/src/lib/loaded-content/loaded-content-directive.ts","../../../../../../libs/ng/nucleus/nucleus-material/src/lib/loaded-content/loaded-content-module.ts","../../../../../../libs/ng/nucleus/nucleus-material/src/lib/swipe-tabs/swipe-tabs-directive.ts","../../../../../../libs/ng/nucleus/nucleus-material/src/lib/swipe-tabs/swipe-tabs-module.ts","../../../../../../libs/ng/nucleus/nucleus-material/src/lib/snackbar/models.ts","../../../../../../libs/ng/nucleus/nucleus-material/src/lib/snackbar/progress-snackbar/progress-snackbar.component.ts","../../../../../../libs/ng/nucleus/nucleus-material/src/lib/snackbar/progress-snackbar/progress-snackbar.component.html","../../../../../../libs/ng/nucleus/nucleus-material/src/lib/snackbar/snackbar.service.ts","../../../../../../libs/ng/nucleus/nucleus-material/src/lib/snackbar/snackbar.module.ts","../../../../../../libs/ng/nucleus/nucleus-material/src/lib/user-avatar/user-avatar-component.ts","../../../../../../libs/ng/nucleus/nucleus-material/src/lib/user-avatar/user-avatar-component.html","../../../../../../libs/ng/nucleus/nucleus-material/src/lib/user-avatar/user-avatar-module.ts","../../../../../../libs/ng/nucleus/nucleus-material/src/index.ts","../../../../../../libs/ng/nucleus/nucleus-material/src/kolektor-nucleus-material.ts"],"sourcesContent":["import { Component, Inject } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { NucDialogData } from './models';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'nuc-dialog',\n templateUrl: './dialog.component.html',\n styleUrls: ['./dialog.component.scss'],\n standalone: false\n})\nexport class NucDialogComponent {\n constructor(\n public dialogRef: MatDialogRef<NucDialogComponent>,\n @Inject(MAT_DIALOG_DATA) public dialogData: NucDialogData\n ) {}\n}\n","@if (dialogData) {\n @if (dialogData.title) {\n <h2 mat-dialog-title>\n {{ dialogData.title }}\n </h2>\n }\n <mat-dialog-content>{{ dialogData.message }}</mat-dialog-content>\n <mat-dialog-actions>\n @for (action of dialogData.actions; track action) {\n @if (action.value === undefined) {\n <button\n color=\"{{ action.color || 'primary' }}\"\n mat-button\n mat-dialog-close\n >\n {{ action.text }}\n </button>\n }\n @if (action.value !== undefined) {\n <button\n color=\"{{ action.color || 'primary' }}\"\n mat-button\n [mat-dialog-close]=\"action.value\"\n >\n {{ action.text }}\n </button>\n }\n }\n </mat-dialog-actions>\n}\n","import { Injectable } from '@angular/core';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { NucDialogData } from './models';\nimport { NucDialogComponent } from './dialog.component';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class NucDialogService {\n constructor(private _matDialog: MatDialog) {}\n\n /**\n * Opens a NucDialog with content from dialogData.\n *\n * @param dialogData NucDialogData containing title, message and possible actions.\n * @param dialogConfig Extra configuration options. Data property is ignored, since it will be set to dialogData.\n * @returns a promise with value that was specified inside pressed Nucleus action.\n */\n public async open(\n dialogData: NucDialogData,\n dialogConfig?: MatDialogConfig\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ): Promise<any> {\n if (dialogData.actions && dialogData.actions.length > 0) {\n if (dialogConfig) {\n dialogConfig.data = dialogData;\n } else {\n dialogConfig = { data: dialogData };\n }\n return await this._matDialog\n .open(NucDialogComponent, dialogConfig)\n .beforeClosed()\n .toPromise();\n } else {\n console.error(\n 'Nucleus.AppCore: NucDialogData requires at least one action.'\n );\n }\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { NucDialogComponent } from './dialog.component';\n\n@NgModule({\n declarations: [NucDialogComponent],\n imports: [CommonModule, MatDialogModule, MatButtonModule],\n})\nexport class NucDialogModule {}\n","export interface NucDialogData {\n /** Optional title for the dialog. */\n title?: string;\n /** Message for the dialog. */\n message: string;\n /** Action(s) (buttons) for the dialog. At least one is required. */\n actions: NucAction[];\n}\n\nexport interface NucAction {\n /** Text for the action (button). */\n text: string;\n /** Return value for the action (button). */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n value?: any;\n /** Optional color of the action (button). */\n color?: NucColor;\n}\n\nexport enum NucColor {\n /** Primary color of the theme. */\n primary = 'primary',\n /** Accent color of the theme. */\n accent = 'accent',\n /** Warning color of the theme. */\n warn = 'warn',\n}\n","import { Observable, Subscription } from 'rxjs';\nimport { tap } from 'rxjs/operators';\nimport { HttpErrorResponse } from '@angular/common/http';\n\nexport enum LoadingStatus {\n completed,\n inProgress,\n failed,\n undefined,\n}\n\nexport class LoadingState {\n private _status: LoadingStatus = LoadingStatus.undefined;\n private _initialMessage: string;\n private _message?: string;\n private _errorDetails?: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _resultFunction?: (result: any) => void;\n private _errorFunction?: (error: HttpErrorResponse) => void;\n private _completeFunction?: () => void;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _loadObservable: Observable<any>;\n private _lastSubscription: Subscription;\n\n get status(): LoadingStatus {\n return this._status;\n }\n\n get message() {\n return this._message;\n }\n\n get errorDetails() {\n return this._errorDetails;\n }\n\n public load<T>(\n observable: Observable<T>,\n resultFunction?: (result: T) => void,\n errorFunction?: (error: HttpErrorResponse) => void,\n completeFunction?: () => void\n ) {\n return this._load(\n true,\n undefined,\n observable,\n resultFunction,\n errorFunction,\n completeFunction\n );\n }\n\n public loadWithMessage<T>(\n observable: Observable<T>,\n message: string,\n resultFunction?: (result: T) => void,\n errorFunction?: (error: HttpErrorResponse) => void,\n completeFunction?: () => void\n ): Subscription {\n this._initialMessage = message;\n return this._load(\n true,\n message,\n observable,\n resultFunction,\n errorFunction,\n completeFunction\n );\n }\n\n public invoke<T>(\n observable: Observable<T>,\n resultFunction?: (result: T) => void,\n errorFunction?: (error: HttpErrorResponse) => void,\n completeFunction?: () => void\n ): Subscription {\n return this._load(\n false,\n undefined,\n observable,\n resultFunction,\n errorFunction,\n completeFunction\n );\n }\n\n public invokeWithMessage<T>(\n observable: Observable<T>,\n message: string,\n resultFunction?: (result: T) => void,\n errorFunction?: (error: HttpErrorResponse) => void,\n completeFunction?: () => void\n ): Subscription {\n this._initialMessage = message;\n return this._load(\n false,\n message,\n observable,\n resultFunction,\n errorFunction,\n completeFunction\n );\n }\n\n public retry() {\n if (this._lastSubscription) {\n this._lastSubscription.unsubscribe();\n }\n this.setInProgress(this._initialMessage);\n this._lastSubscription = this._loadObservable.subscribe({\n next: this._resultFunction,\n error: this._errorFunction,\n complete: this._completeFunction,\n });\n return this._lastSubscription;\n }\n\n public setInProgress(message?: string) {\n this._status = LoadingStatus.inProgress;\n this._message = message;\n }\n\n public setCompleted() {\n this._status = LoadingStatus.completed;\n }\n\n public setFailed(message?: string, error?: string) {\n this._status = LoadingStatus.failed;\n this._message = message;\n this._errorDetails = error;\n }\n\n private _load<T>(\n saveAsLoadObservable: boolean,\n progressMessage: string | undefined,\n observable: Observable<T>,\n resultFunction?: (result: T) => void,\n errorFunction?: (error: HttpErrorResponse) => void,\n completeFunction?: () => void\n ): Subscription {\n if (this._lastSubscription) {\n this._lastSubscription.unsubscribe();\n }\n\n this.setInProgress(progressMessage);\n const obs = observable.pipe(\n tap({\n next: () => {\n if (!saveAsLoadObservable && this.message) {\n // if message was used one time we clear it\n this._message = undefined;\n }\n this.setCompleted();\n },\n error: (err) => {\n this.setFailed(undefined, LoadingState.getErrorDetails(err));\n },\n })\n );\n\n if (saveAsLoadObservable) {\n this._loadObservable = obs;\n this._resultFunction = resultFunction;\n this._errorFunction = errorFunction;\n this._completeFunction = completeFunction;\n }\n\n this._lastSubscription = obs.subscribe({\n next: resultFunction,\n error: errorFunction,\n complete: completeFunction,\n });\n return this._lastSubscription;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public static getErrorDetails(error: any) {\n // this routine tries to get the best error details from:\n // - standard rfc7807 http error: https://datatracker.ietf.org/doc/html/rfc7807\n // - angular HttpError\n // - JS Error object\n\n const problem = error?.error;\n if (problem?.title && problem?.detail) {\n return `${problem.title}: ${problem.detail}`;\n } else {\n return problem?.title || problem?.detail || error.message || error;\n }\n }\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { Component, Input, TemplateRef } from '@angular/core';\nimport { LoadingState, LoadingStatus } from './loading-state';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'nuc-loaded-content-component',\n templateUrl: './loaded-content-component.html',\n styleUrls: ['./loaded-content-component.scss'],\n standalone: false\n})\nexport class NucLoadedContentComponent {\n private _errorDetailsVisible = false;\n\n @Input()\n completedTemplate: TemplateRef<any>;\n\n @Input()\n errorTemplate: TemplateRef<any>;\n\n @Input()\n inProgressTemplate: TemplateRef<any>;\n\n @Input()\n public state: LoadingState;\n\n @Input()\n public inProgressMessage?: string;\n\n @Input()\n public errorMessage = 'We are having trouble loading the data.';\n\n @Input()\n public showRetry = true;\n\n public get message() {\n if (this.state.message != null) {\n return this.state.message;\n } else {\n if (this.state.status === LoadingStatus.failed) {\n return this.errorMessage;\n } else if (this.state.status === LoadingStatus.inProgress) {\n return this.inProgressMessage;\n }\n }\n return null;\n }\n\n public get showRetryButton() {\n return this.showRetry;\n }\n\n public get inProgress() {\n const inProgress = this.state.status === LoadingStatus.inProgress;\n if (inProgress) {\n this._errorDetailsVisible = false;\n }\n return inProgress;\n }\n\n public get failed() {\n return this.state.status === LoadingStatus.failed;\n }\n\n public get completed() {\n return this.state.status === LoadingStatus.completed;\n }\n\n public get errorDetailsVisible() {\n return this._errorDetailsVisible;\n }\n\n public showErrorDetails() {\n this._errorDetailsVisible = true;\n }\n}\n","@if (completed) {\n <ng-container *ngTemplateOutlet=\"completedTemplate\"></ng-container>\n}\n\n@if (inProgress || failed) {\n <div class=\"indicators-container\">\n @if (inProgress) {\n <ng-container\n *ngTemplateOutlet=\"inProgressTemplate ? inProgressTemplate : defaultInProgressTemplate\"\n ></ng-container>\n }\n @if (failed) {\n <ng-container\n *ngTemplateOutlet=\"errorTemplate ? errorTemplate: defaultErrorTemplate\"\n ></ng-container>\n }\n </div>\n}\n\n<ng-template #defaultInProgressTemplate>\n <div class=\"spinner\">\n <mat-spinner [diameter]=\"45\"></mat-spinner>\n </div>\n @if (message) {\n <p>{{message}}</p>\n }\n</ng-template>\n\n<ng-template #defaultErrorTemplate>\n <div>\n <p class=\"message\">\n <span>{{message}}</span>\n @if (state.errorDetails && !errorDetailsVisible) {\n <mat-icon\n class=\"info-button\"\n color=\"warn\"\n (click)=\"showErrorDetails()\"\n >info</mat-icon\n >\n }\n </p>\n\n @if (errorDetailsVisible) {\n <p class=\"error-details mat-small\">\n {{state.errorDetails}}\n </p>\n }\n\n @if (showRetryButton) {\n <p>\n <button mat-mini-fab color=\"primary\" (click)=\"state.retry()\">\n <mat-icon>refresh</mat-icon>\n </button>\n </p>\n }\n </div>\n </ng-template>\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport {\n ComponentRef,\n Directive,\n Input,\n TemplateRef,\n ViewContainerRef\n} from '@angular/core';\nimport { NucLoadedContentComponent } from './loaded-content-component';\nimport { LoadingState } from './loading-state';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[nucLoadedContent]',\n standalone: false\n})\nexport class NucLoadedContentDirective {\n private _state: LoadingState;\n private _completedTemplateRef: TemplateRef<any>;\n private _errorTemplateRef: TemplateRef<any> | null = null;\n private _inProgressTemplateRef: TemplateRef<any> | null = null;\n private _component: ComponentRef<NucLoadedContentComponent>;\n\n constructor(\n private _viewContainer: ViewContainerRef,\n private templateRef: TemplateRef<any>\n ) {\n this._completedTemplateRef = this.templateRef;\n }\n\n @Input()\n set nucLoadedContent(state: LoadingState) {\n // add some error handling if state is null, etc.\n this._state = state;\n this._updateView();\n }\n\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('nucLoadedContentError')\n set errorTemplate(templateRef: TemplateRef<any> | null) {\n this._errorTemplateRef = templateRef;\n this._updateView();\n }\n\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('nucLoadedContentInProgress')\n set inProgressTemplate(templateRef: TemplateRef<any> | null) {\n this._inProgressTemplateRef = templateRef;\n this._updateView();\n }\n\n @Input('nucLoadedContentInProgressMessage')\n set inProgressMessage(inProgressMessage: string | null) {\n if (inProgressMessage) {\n this._component.instance.inProgressMessage = inProgressMessage;\n }\n }\n\n @Input('nucLoadedContentErrorMessage')\n set errorMessage(errorMessage: string | null) {\n if (errorMessage) {\n this._component.instance.errorMessage = errorMessage;\n }\n }\n\n @Input('nucLoadedContentShowRetry')\n set showRetry(showRetry: boolean) {\n this._component.instance.showRetry = showRetry;\n }\n\n private _updateView() {\n if (this._component == null) {\n this._component = this._viewContainer.createComponent(NucLoadedContentComponent);\n }\n\n this._component.instance.state = this._state;\n this._component.instance.completedTemplate = this._completedTemplateRef;\n\n if (this._inProgressTemplateRef) {\n this._component.instance.inProgressTemplate = this._inProgressTemplateRef;\n }\n\n if (this._errorTemplateRef) {\n this._component.instance.errorTemplate = this._errorTemplateRef;\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { NucLoadedContentComponent } from './loaded-content-component';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { CommonModule } from '@angular/common';\nimport { NucLoadedContentDirective } from './loaded-content-directive';\n\n@NgModule({\n declarations: [NucLoadedContentDirective, NucLoadedContentComponent],\n imports: [\n CommonModule,\n MatProgressSpinnerModule,\n MatButtonModule,\n MatIconModule,\n ],\n exports: [NucLoadedContentDirective],\n})\nexport class NucLoadedContentModule {}\n","import { Directive, ElementRef, OnInit } from '@angular/core';\nimport { MatTabGroup } from '@angular/material/tabs';\nimport * as Hammer from 'hammerjs';\n\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[nucSwipe]',\n standalone: false\n})\nexport class NucSwipeTabsDirective implements OnInit {\n constructor(\n private element: ElementRef<EventTarget>,\n private tabGroup: MatTabGroup\n ) {}\n\n ngOnInit() {\n const hammerJs = new Hammer.Manager(this.element.nativeElement, {\n inputClass: Hammer.TouchInput,\n });\n\n hammerJs.add(\n new Hammer.Pan({\n direction: Hammer.DIRECTION_HORIZONTAL,\n threshold: 30,\n })\n );\n\n hammerJs.on('panleft panright', (event) => {\n if (event.isFinal) {\n const tabs = this.tabGroup._tabs.map((x) => x.disabled);\n const currentIndex = this.tabGroup.selectedIndex ?? 0;\n let nextIndex = currentIndex;\n\n if (\n event.type === 'panright' &&\n event.direction === 4 &&\n currentIndex > 0\n ) {\n // if user pans right, go to the left\n for (let i = currentIndex - 1; i >= 0; i--) {\n if (!tabs[i]) {\n nextIndex = i;\n break;\n }\n }\n } else if (\n event.type === 'panleft' &&\n event.direction === 2 &&\n currentIndex < this.tabGroup._tabs.length - 1\n ) {\n // if user pans left, go to the right\n for (let i = currentIndex + 1; i < tabs.length; i++) {\n if (!tabs[i]) {\n nextIndex = i;\n break;\n }\n }\n }\n this.tabGroup.selectedIndex = nextIndex;\n }\n });\n }\n}\n","import { NgModule } from '@angular/core';\nimport { NucSwipeTabsDirective } from './swipe-tabs-directive';\nimport { CommonModule } from '@angular/common';\n\n@NgModule({\n declarations: [NucSwipeTabsDirective],\n imports: [CommonModule],\n exports: [NucSwipeTabsDirective],\n})\nexport class NucSwipeTabsModule {}\n","export enum NucSnackbarType {\n Info = 'info',\n Warning = 'warning',\n Danger = 'danger',\n Success = 'success',\n Progress = 'progress',\n}\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n Inject,\n ViewEncapsulation,\n} from '@angular/core';\nimport { MAT_SNACK_BAR_DATA, MatSnackBar, MatSnackBarRef } from '@angular/material/snack-bar';\n\n@Component({\n selector: 'lib-progress-snackbar',\n templateUrl: './progress-snackbar.component.html',\n styleUrls: ['./progress-snackbar.component.scss'],\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'mat-simple-snackbar',\n },\n standalone: false\n})\nexport class ProgressSnackbarComponent implements AfterViewInit {\n constructor(\n private snackBar: MatSnackBarRef<MatSnackBar>,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @Inject(MAT_SNACK_BAR_DATA) public data: any,\n private elem: ElementRef\n ) { }\n\n ngAfterViewInit() {\n const element = this.elem.nativeElement;\n const circle = element.querySelector('circle');\n const message = element.querySelector('.message');\n const color = window.getComputedStyle(message).color;\n circle.style.stroke = color;\n }\n\n actionClicked() {\n this.snackBar.dismissWithAction();\n }\n}\n","<div class=\"snackbar-container\" >\n <div class=\"mdc-snackbar__label message\">\n <mat-spinner\n style=\"vertical-align: middle; display: inline-flex; margin-right: 8px\"\n diameter=\"16\"\n strokeWidth=\"1.5\"\n mode=\"indeterminate\"\n class=\"spinner\"\n color=\"red\"\n ></mat-spinner>\n {{ data.message }}\n </div>\n @if (data.action) {\n <button matSnackBarAction mat-button (click)=\"actionClicked()\">{{data.action}}</button>\n }\n</div>\n","import { Injectable } from '@angular/core';\nimport {\n MatSnackBar,\n MatSnackBarConfig,\n MatSnackBarRef,\n TextOnlySnackBar,\n} from '@angular/material/snack-bar';\nimport { NucSnackbarType } from './models';\nimport { ProgressSnackbarComponent } from './progress-snackbar/progress-snackbar.component';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class NucSnackbarService {\n constructor(private matSnackBar: MatSnackBar) { }\n\n public openSnackbar(\n type: NucSnackbarType,\n message: string,\n action: string | null | undefined,\n duration: number\n ): MatSnackBarRef<TextOnlySnackBar | ProgressSnackbarComponent> {\n action = action || undefined;\n let ref: MatSnackBarRef<TextOnlySnackBar | ProgressSnackbarComponent>;\n\n const panelClass = `${type}-snackbar`;\n\n if (type === NucSnackbarType.Progress) {\n ref = this.matSnackBar.openFromComponent(ProgressSnackbarComponent, {\n duration,\n panelClass,\n data: {\n message,\n action\n },\n });\n } else {\n ref = this.matSnackBar.open(message, action, {\n duration,\n panelClass,\n });\n }\n\n return ref;\n }\n\n public openSnackbarWithConfig(\n message: string,\n action: string | undefined,\n config: MatSnackBarConfig\n ): MatSnackBarRef<TextOnlySnackBar> {\n return this.matSnackBar.open(message, action, config);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\nimport { ProgressSnackbarComponent } from './progress-snackbar/progress-snackbar.component';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { MatButtonModule } from '@angular/material/button';\n\n@NgModule({\n declarations: [ProgressSnackbarComponent],\n imports: [CommonModule, MatSnackBarModule, MatProgressSpinnerModule, MatButtonModule],\n exports: [],\n})\nexport class NucSnackbarModule {}\n","import { Component, Input } from '@angular/core';\nexport type AvatarSize = 'small' | 'medium' | 'large' | 'xlarge';\nexport type Background = true | false;\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'nuc-user-avatar',\n templateUrl: './user-avatar-component.html',\n styleUrls: ['./user-avatar-component.scss'],\n standalone: false\n})\nexport class NucUserAvatarComponent {\n @Input() name: string;\n @Input() image?: string;\n @Input() size: AvatarSize = 'medium';\n @Input() background: Background = false;\n\n getUserInitials() {\n const nameParts = this.name.split(' ');\n return (\n nameParts[0].charAt(0).toUpperCase() +\n '' +\n nameParts[nameParts.length - 1].charAt(0).toUpperCase()\n );\n }\n\n getHslString(): string {\n if (!this.background) {\n return `hsl(${0},${0}%,${100}%)`;\n }\n\n let hash = 0;\n for (let i = 0; i < this.name.length; i++) {\n /*\n * Javascript uses double precision floating-point format for all numerical datatypes.\n * Except when using bitwise operations, where operators are converted to 32-bit signed integers.\n * Result of bitwise operations are then converted back to double precision floating-point format.\n *\n * We make a bitwise OR operation between the new hash and 0.\n * This keeps only the lower 32 bits in the new hash value.\n */\n // eslint-disable-next-line no-bitwise\n hash = (this.name.charCodeAt(i) + ((hash << 15) - hash)) | 0;\n }\n\n const hue = Math.abs(hash % 360);\n\n const lightness = 49.2;\n const saturation = 42.6;\n\n return `hsl(${hue},${saturation}%,${lightness}%)`;\n }\n}\n","@if (image) {\n <div class=\"user-avatar size-{{size}}\">\n <img src=\"{{image}}\" />\n </div>\n}\n\n@if (!image) {\n <div\n class=\"user-avatar size-{{size}} unselectable\"\n [style.background-color]=\"getHslString()\"\n [ngClass]=\"{'white-text': background, 'black-text border': !background}\"\n >\n {{getUserInitials()}}\n </div>\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NucUserAvatarComponent } from './user-avatar-component';\n\n@NgModule({\n declarations: [NucUserAvatarComponent],\n imports: [CommonModule],\n exports: [NucUserAvatarComponent],\n})\nexport class NucUserAvatarModule {}\n","// dialog\nexport * from './lib/dialog/dialog.service';\nexport * from './lib/dialog/dialog.module';\nexport * from './lib/dialog/models';\n\n// loaded-content\nexport * from './lib/loaded-content/loading-state';\nexport * from './lib/loaded-content/loaded-content-component';\nexport * from './lib/loaded-content/loaded-content-directive';\nexport * from './lib/loaded-content/loaded-content-module';\n\n// swipe-tabs\nexport * from './lib/swipe-tabs/swipe-tabs-directive';\nexport * from './lib/swipe-tabs/swipe-tabs-module';\n\n// dialog component\nexport * from './lib/dialog/dialog.service';\nexport * from './lib/dialog/dialog.module';\nexport * from './lib/dialog/models';\n\n// snackbar component\nexport * from './lib/snackbar/snackbar.service';\nexport * from './lib/snackbar/snackbar.module';\nexport * from './lib/snackbar/models';\n\n// user-avatar\nexport * from './lib/user-avatar/user-avatar-component';\nexport * from './lib/user-avatar/user-avatar-module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2","i1"],"mappings":"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"}
package/index.d.ts CHANGED
@@ -1,17 +1,215 @@
1
- export * from './lib/dialog/dialog.service';
2
- export * from './lib/dialog/dialog.module';
3
- export * from './lib/dialog/models';
4
- export * from './lib/loaded-content/loading-state';
5
- export * from './lib/loaded-content/loaded-content-component';
6
- export * from './lib/loaded-content/loaded-content-directive';
7
- export * from './lib/loaded-content/loaded-content-module';
8
- export * from './lib/swipe-tabs/swipe-tabs-directive';
9
- export * from './lib/swipe-tabs/swipe-tabs-module';
10
- export * from './lib/dialog/dialog.service';
11
- export * from './lib/dialog/dialog.module';
12
- export * from './lib/dialog/models';
13
- export * from './lib/snackbar/snackbar.service';
14
- export * from './lib/snackbar/snackbar.module';
15
- export * from './lib/snackbar/models';
16
- export * from './lib/user-avatar/user-avatar-component';
17
- export * from './lib/user-avatar/user-avatar-module';
1
+ import * as i3 from '@angular/material/dialog';
2
+ import { MatDialog, MatDialogConfig, MatDialogRef } from '@angular/material/dialog';
3
+ import * as i0 from '@angular/core';
4
+ import { TemplateRef, ViewContainerRef, OnInit, ElementRef, AfterViewInit } from '@angular/core';
5
+ import * as i2 from '@angular/common';
6
+ import * as i5 from '@angular/material/button';
7
+ import { Observable, Subscription } from 'rxjs';
8
+ import { HttpErrorResponse } from '@angular/common/http';
9
+ import * as i4 from '@angular/material/progress-spinner';
10
+ import * as i6 from '@angular/material/icon';
11
+ import { MatTabGroup } from '@angular/material/tabs';
12
+ import * as i3$1 from '@angular/material/snack-bar';
13
+ import { MatSnackBarRef, MatSnackBar, TextOnlySnackBar, MatSnackBarConfig } from '@angular/material/snack-bar';
14
+
15
+ interface NucDialogData {
16
+ /** Optional title for the dialog. */
17
+ title?: string;
18
+ /** Message for the dialog. */
19
+ message: string;
20
+ /** Action(s) (buttons) for the dialog. At least one is required. */
21
+ actions: NucAction[];
22
+ }
23
+ interface NucAction {
24
+ /** Text for the action (button). */
25
+ text: string;
26
+ /** Return value for the action (button). */
27
+ value?: any;
28
+ /** Optional color of the action (button). */
29
+ color?: NucColor;
30
+ }
31
+ declare enum NucColor {
32
+ /** Primary color of the theme. */
33
+ primary = "primary",
34
+ /** Accent color of the theme. */
35
+ accent = "accent",
36
+ /** Warning color of the theme. */
37
+ warn = "warn"
38
+ }
39
+
40
+ declare class NucDialogService {
41
+ private _matDialog;
42
+ constructor(_matDialog: MatDialog);
43
+ /**
44
+ * Opens a NucDialog with content from dialogData.
45
+ *
46
+ * @param dialogData NucDialogData containing title, message and possible actions.
47
+ * @param dialogConfig Extra configuration options. Data property is ignored, since it will be set to dialogData.
48
+ * @returns a promise with value that was specified inside pressed Nucleus action.
49
+ */
50
+ open(dialogData: NucDialogData, dialogConfig?: MatDialogConfig): Promise<any>;
51
+ static ɵfac: i0.ɵɵFactoryDeclaration<NucDialogService, never>;
52
+ static ɵprov: i0.ɵɵInjectableDeclaration<NucDialogService>;
53
+ }
54
+
55
+ declare class NucDialogComponent {
56
+ dialogRef: MatDialogRef<NucDialogComponent>;
57
+ dialogData: NucDialogData;
58
+ constructor(dialogRef: MatDialogRef<NucDialogComponent>, dialogData: NucDialogData);
59
+ static ɵfac: i0.ɵɵFactoryDeclaration<NucDialogComponent, never>;
60
+ static ɵcmp: i0.ɵɵComponentDeclaration<NucDialogComponent, "nuc-dialog", never, {}, {}, never, never, false, never>;
61
+ }
62
+
63
+ declare class NucDialogModule {
64
+ static ɵfac: i0.ɵɵFactoryDeclaration<NucDialogModule, never>;
65
+ static ɵmod: i0.ɵɵNgModuleDeclaration<NucDialogModule, [typeof NucDialogComponent], [typeof i2.CommonModule, typeof i3.MatDialogModule, typeof i5.MatButtonModule], never>;
66
+ static ɵinj: i0.ɵɵInjectorDeclaration<NucDialogModule>;
67
+ }
68
+
69
+ declare enum LoadingStatus {
70
+ completed = 0,
71
+ inProgress = 1,
72
+ failed = 2,
73
+ undefined = 3
74
+ }
75
+ declare class LoadingState {
76
+ private _status;
77
+ private _initialMessage;
78
+ private _message?;
79
+ private _errorDetails?;
80
+ private _resultFunction?;
81
+ private _errorFunction?;
82
+ private _completeFunction?;
83
+ private _loadObservable;
84
+ private _lastSubscription;
85
+ get status(): LoadingStatus;
86
+ get message(): string | undefined;
87
+ get errorDetails(): string | undefined;
88
+ load<T>(observable: Observable<T>, resultFunction?: (result: T) => void, errorFunction?: (error: HttpErrorResponse) => void, completeFunction?: () => void): Subscription;
89
+ loadWithMessage<T>(observable: Observable<T>, message: string, resultFunction?: (result: T) => void, errorFunction?: (error: HttpErrorResponse) => void, completeFunction?: () => void): Subscription;
90
+ invoke<T>(observable: Observable<T>, resultFunction?: (result: T) => void, errorFunction?: (error: HttpErrorResponse) => void, completeFunction?: () => void): Subscription;
91
+ invokeWithMessage<T>(observable: Observable<T>, message: string, resultFunction?: (result: T) => void, errorFunction?: (error: HttpErrorResponse) => void, completeFunction?: () => void): Subscription;
92
+ retry(): Subscription;
93
+ setInProgress(message?: string): void;
94
+ setCompleted(): void;
95
+ setFailed(message?: string, error?: string): void;
96
+ private _load;
97
+ static getErrorDetails(error: any): any;
98
+ }
99
+
100
+ declare class NucLoadedContentComponent {
101
+ private _errorDetailsVisible;
102
+ completedTemplate: TemplateRef<any>;
103
+ errorTemplate: TemplateRef<any>;
104
+ inProgressTemplate: TemplateRef<any>;
105
+ state: LoadingState;
106
+ inProgressMessage?: string;
107
+ errorMessage: string;
108
+ showRetry: boolean;
109
+ get message(): string | null | undefined;
110
+ get showRetryButton(): boolean;
111
+ get inProgress(): boolean;
112
+ get failed(): boolean;
113
+ get completed(): boolean;
114
+ get errorDetailsVisible(): boolean;
115
+ showErrorDetails(): void;
116
+ static ɵfac: i0.ɵɵFactoryDeclaration<NucLoadedContentComponent, never>;
117
+ static ɵcmp: i0.ɵɵComponentDeclaration<NucLoadedContentComponent, "nuc-loaded-content-component", never, { "completedTemplate": { "alias": "completedTemplate"; "required": false; }; "errorTemplate": { "alias": "errorTemplate"; "required": false; }; "inProgressTemplate": { "alias": "inProgressTemplate"; "required": false; }; "state": { "alias": "state"; "required": false; }; "inProgressMessage": { "alias": "inProgressMessage"; "required": false; }; "errorMessage": { "alias": "errorMessage"; "required": false; }; "showRetry": { "alias": "showRetry"; "required": false; }; }, {}, never, never, false, never>;
118
+ }
119
+
120
+ declare class NucLoadedContentDirective {
121
+ private _viewContainer;
122
+ private templateRef;
123
+ private _state;
124
+ private _completedTemplateRef;
125
+ private _errorTemplateRef;
126
+ private _inProgressTemplateRef;
127
+ private _component;
128
+ constructor(_viewContainer: ViewContainerRef, templateRef: TemplateRef<any>);
129
+ set nucLoadedContent(state: LoadingState);
130
+ set errorTemplate(templateRef: TemplateRef<any> | null);
131
+ set inProgressTemplate(templateRef: TemplateRef<any> | null);
132
+ set inProgressMessage(inProgressMessage: string | null);
133
+ set errorMessage(errorMessage: string | null);
134
+ set showRetry(showRetry: boolean);
135
+ private _updateView;
136
+ static ɵfac: i0.ɵɵFactoryDeclaration<NucLoadedContentDirective, never>;
137
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NucLoadedContentDirective, "[nucLoadedContent]", never, { "nucLoadedContent": { "alias": "nucLoadedContent"; "required": false; }; "errorTemplate": { "alias": "nucLoadedContentError"; "required": false; }; "inProgressTemplate": { "alias": "nucLoadedContentInProgress"; "required": false; }; "inProgressMessage": { "alias": "nucLoadedContentInProgressMessage"; "required": false; }; "errorMessage": { "alias": "nucLoadedContentErrorMessage"; "required": false; }; "showRetry": { "alias": "nucLoadedContentShowRetry"; "required": false; }; }, {}, never, never, false, never>;
138
+ }
139
+
140
+ declare class NucLoadedContentModule {
141
+ static ɵfac: i0.ɵɵFactoryDeclaration<NucLoadedContentModule, never>;
142
+ static ɵmod: i0.ɵɵNgModuleDeclaration<NucLoadedContentModule, [typeof NucLoadedContentDirective, typeof NucLoadedContentComponent], [typeof i2.CommonModule, typeof i4.MatProgressSpinnerModule, typeof i5.MatButtonModule, typeof i6.MatIconModule], [typeof NucLoadedContentDirective]>;
143
+ static ɵinj: i0.ɵɵInjectorDeclaration<NucLoadedContentModule>;
144
+ }
145
+
146
+ declare class NucSwipeTabsDirective implements OnInit {
147
+ private element;
148
+ private tabGroup;
149
+ constructor(element: ElementRef<EventTarget>, tabGroup: MatTabGroup);
150
+ ngOnInit(): void;
151
+ static ɵfac: i0.ɵɵFactoryDeclaration<NucSwipeTabsDirective, never>;
152
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NucSwipeTabsDirective, "[nucSwipe]", never, {}, {}, never, never, false, never>;
153
+ }
154
+
155
+ declare class NucSwipeTabsModule {
156
+ static ɵfac: i0.ɵɵFactoryDeclaration<NucSwipeTabsModule, never>;
157
+ static ɵmod: i0.ɵɵNgModuleDeclaration<NucSwipeTabsModule, [typeof NucSwipeTabsDirective], [typeof i2.CommonModule], [typeof NucSwipeTabsDirective]>;
158
+ static ɵinj: i0.ɵɵInjectorDeclaration<NucSwipeTabsModule>;
159
+ }
160
+
161
+ declare enum NucSnackbarType {
162
+ Info = "info",
163
+ Warning = "warning",
164
+ Danger = "danger",
165
+ Success = "success",
166
+ Progress = "progress"
167
+ }
168
+
169
+ declare class ProgressSnackbarComponent implements AfterViewInit {
170
+ private snackBar;
171
+ data: any;
172
+ private elem;
173
+ constructor(snackBar: MatSnackBarRef<MatSnackBar>, data: any, elem: ElementRef);
174
+ ngAfterViewInit(): void;
175
+ actionClicked(): void;
176
+ static ɵfac: i0.ɵɵFactoryDeclaration<ProgressSnackbarComponent, never>;
177
+ static ɵcmp: i0.ɵɵComponentDeclaration<ProgressSnackbarComponent, "lib-progress-snackbar", never, {}, {}, never, never, false, never>;
178
+ }
179
+
180
+ declare class NucSnackbarService {
181
+ private matSnackBar;
182
+ constructor(matSnackBar: MatSnackBar);
183
+ openSnackbar(type: NucSnackbarType, message: string, action: string | null | undefined, duration: number): MatSnackBarRef<TextOnlySnackBar | ProgressSnackbarComponent>;
184
+ openSnackbarWithConfig(message: string, action: string | undefined, config: MatSnackBarConfig): MatSnackBarRef<TextOnlySnackBar>;
185
+ static ɵfac: i0.ɵɵFactoryDeclaration<NucSnackbarService, never>;
186
+ static ɵprov: i0.ɵɵInjectableDeclaration<NucSnackbarService>;
187
+ }
188
+
189
+ declare class NucSnackbarModule {
190
+ static ɵfac: i0.ɵɵFactoryDeclaration<NucSnackbarModule, never>;
191
+ static ɵmod: i0.ɵɵNgModuleDeclaration<NucSnackbarModule, [typeof ProgressSnackbarComponent], [typeof i2.CommonModule, typeof i3$1.MatSnackBarModule, typeof i4.MatProgressSpinnerModule, typeof i5.MatButtonModule], never>;
192
+ static ɵinj: i0.ɵɵInjectorDeclaration<NucSnackbarModule>;
193
+ }
194
+
195
+ type AvatarSize = 'small' | 'medium' | 'large' | 'xlarge';
196
+ type Background = true | false;
197
+ declare class NucUserAvatarComponent {
198
+ name: string;
199
+ image?: string;
200
+ size: AvatarSize;
201
+ background: Background;
202
+ getUserInitials(): string;
203
+ getHslString(): string;
204
+ static ɵfac: i0.ɵɵFactoryDeclaration<NucUserAvatarComponent, never>;
205
+ static ɵcmp: i0.ɵɵComponentDeclaration<NucUserAvatarComponent, "nuc-user-avatar", never, { "name": { "alias": "name"; "required": false; }; "image": { "alias": "image"; "required": false; }; "size": { "alias": "size"; "required": false; }; "background": { "alias": "background"; "required": false; }; }, {}, never, never, false, never>;
206
+ }
207
+
208
+ declare class NucUserAvatarModule {
209
+ static ɵfac: i0.ɵɵFactoryDeclaration<NucUserAvatarModule, never>;
210
+ static ɵmod: i0.ɵɵNgModuleDeclaration<NucUserAvatarModule, [typeof NucUserAvatarComponent], [typeof i2.CommonModule], [typeof NucUserAvatarComponent]>;
211
+ static ɵinj: i0.ɵɵInjectorDeclaration<NucUserAvatarModule>;
212
+ }
213
+
214
+ export { LoadingState, LoadingStatus, NucColor, NucDialogModule, NucDialogService, NucLoadedContentComponent, NucLoadedContentDirective, NucLoadedContentModule, NucSnackbarModule, NucSnackbarService, NucSnackbarType, NucSwipeTabsDirective, NucSwipeTabsModule, NucUserAvatarComponent, NucUserAvatarModule };
215
+ export type { AvatarSize, Background, NucAction, NucDialogData };
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@kolektor/nucleus-material",
3
3
  "peerDependencies": {
4
- "@angular/common": "^17.3.0",
5
- "@angular/core": "^17.3.0",
6
- "@angular/material": "^17.3.0",
4
+ "@angular/common": "^20.3.0",
5
+ "@angular/core": "^20.3.0",
6
+ "@angular/material": "^20.2.0",
7
7
  "rxjs": "~7.8.0",
8
8
  "hammerjs": "^2.0.8"
9
9
  },
@@ -16,13 +16,11 @@
16
16
  },
17
17
  ".": {
18
18
  "types": "./index.d.ts",
19
- "esm2022": "./esm2022/kolektor-nucleus-material.mjs",
20
- "esm": "./esm2022/kolektor-nucleus-material.mjs",
21
19
  "default": "./fesm2022/kolektor-nucleus-material.mjs"
22
20
  }
23
21
  },
24
22
  "dependencies": {
25
23
  "tslib": "^2.3.0"
26
24
  },
27
- "version": "0.1.1911"
25
+ "version": "0.1.2192"
28
26
  }