@kolektor/nucleus-material 0.1.130-pre.1 → 0.1.207
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +21 -0
- package/esm2022/lib/loaded-content/loaded-content-directive.mjs +7 -9
- package/esm2022/lib/user-avatar/user-avatar-component.mjs +3 -3
- package/fesm2022/kolektor-nucleus-material.mjs +7 -9
- package/fesm2022/kolektor-nucleus-material.mjs.map +1 -1
- package/lib/loaded-content/loaded-content-directive.d.ts +2 -3
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -2,6 +2,27 @@
|
|
|
2
2
|
|
|
3
3
|
This library was generated with [Nx](https://nx.dev).
|
|
4
4
|
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
The Nucleus Material is a collection of Angular Material UI components designed to enhance the user interface of Angular applications. It includes the following elements:
|
|
8
|
+
|
|
9
|
+
- `NucDialogService` for opening and displaying custom nucleus dialogs.
|
|
10
|
+
- `*nucLoadedContent` structural directive: Manages the display of content based on observable state. It handles loading and error messages, actual content, and provides an option to retry failed requests.
|
|
11
|
+
- `NucSnackbarService`: for displaying different snackbars based on the passed configuration. It supports various types including info, warning, danger, success, and progress.
|
|
12
|
+
- `nucSwipe` attribute directive: An enhancement of the Angular Material Tab Group, it supports swipe gestures on touch devices for better navigation between tabs.
|
|
13
|
+
- `nuc-user-avatar` component: Displays the passed user picture, or generates one from the user’s name and surname.
|
|
14
|
+
|
|
15
|
+
These components provide a comprehensive set of tools for building interactive and responsive Angular applications.
|
|
16
|
+
|
|
17
|
+
## Peer dependencies
|
|
18
|
+
|
|
19
|
+
The library has the following peer dependencies:
|
|
20
|
+
- `@angular/common`
|
|
21
|
+
- `@angular/core`
|
|
22
|
+
- `@angular/material`
|
|
23
|
+
- `rxjs`
|
|
24
|
+
- `hammerjs`
|
|
25
|
+
|
|
5
26
|
## Running unit tests
|
|
6
27
|
|
|
7
28
|
Run `nx test nucleus-material` to execute the unit tests.
|
|
@@ -1,17 +1,16 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
-
import {
|
|
2
|
+
import { Directive, Input, TemplateRef, ViewContainerRef } from '@angular/core';
|
|
3
3
|
import { NucLoadedContentComponent } from './loaded-content-component';
|
|
4
4
|
import { LoadingState } from './loading-state';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
7
7
|
export class NucLoadedContentDirective {
|
|
8
|
-
constructor(_viewContainer, templateRef
|
|
8
|
+
constructor(_viewContainer, templateRef) {
|
|
9
9
|
this._viewContainer = _viewContainer;
|
|
10
10
|
this.templateRef = templateRef;
|
|
11
|
-
this._componentResolver = _componentResolver;
|
|
12
11
|
this._errorTemplateRef = null;
|
|
13
12
|
this._inProgressTemplateRef = null;
|
|
14
|
-
this._completedTemplateRef = templateRef;
|
|
13
|
+
this._completedTemplateRef = this.templateRef;
|
|
15
14
|
}
|
|
16
15
|
set nucLoadedContent(state) {
|
|
17
16
|
// add some error handling if state is null, etc.
|
|
@@ -39,8 +38,7 @@ export class NucLoadedContentDirective {
|
|
|
39
38
|
}
|
|
40
39
|
_updateView() {
|
|
41
40
|
if (this._component == null) {
|
|
42
|
-
|
|
43
|
-
this._component = this._viewContainer.createComponent(fac);
|
|
41
|
+
this._component = this._viewContainer.createComponent(NucLoadedContentComponent);
|
|
44
42
|
}
|
|
45
43
|
this._component.instance.state = this._state;
|
|
46
44
|
this._component.instance.completedTemplate = this._completedTemplateRef;
|
|
@@ -51,13 +49,13 @@ export class NucLoadedContentDirective {
|
|
|
51
49
|
this._component.instance.errorTemplate = this._errorTemplateRef;
|
|
52
50
|
}
|
|
53
51
|
}
|
|
54
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NucLoadedContentDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }
|
|
52
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NucLoadedContentDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
55
53
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: NucLoadedContentDirective, selector: "[nucLoadedContent]", inputs: { nucLoadedContent: "nucLoadedContent", errorTemplate: ["nucLoadedContentError", "errorTemplate"], inProgressTemplate: ["nucLoadedContentInProgress", "inProgressTemplate"], inProgressMessage: ["nucLoadedContentInProgressMessage", "inProgressMessage"], errorMessage: ["nucLoadedContentErrorMessage", "errorMessage"], showRetry: ["nucLoadedContentShowRetry", "showRetry"] }, ngImport: i0 }); }
|
|
56
54
|
}
|
|
57
55
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NucLoadedContentDirective, decorators: [{
|
|
58
56
|
type: Directive,
|
|
59
57
|
args: [{ selector: '[nucLoadedContent]' }]
|
|
60
|
-
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.TemplateRef }
|
|
58
|
+
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.TemplateRef }]; }, propDecorators: { nucLoadedContent: [{
|
|
61
59
|
type: Input
|
|
62
60
|
}], errorTemplate: [{
|
|
63
61
|
type: Input,
|
|
@@ -75,4 +73,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
75
73
|
type: Input,
|
|
76
74
|
args: ['nucLoadedContentShowRetry']
|
|
77
75
|
}] } });
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVkLWNvbnRlbnQtZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy9udWNsZXVzL251Y2xldXMtbWF0ZXJpYWwvc3JjL2xpYi9sb2FkZWQtY29udGVudC9sb2FkZWQtY29udGVudC1kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE9BQU8sRUFFTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLFdBQVcsRUFDWCxnQkFBZ0IsRUFDakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUUvQyw4REFBOEQ7QUFFOUQsTUFBTSxPQUFPLHlCQUF5QjtJQU9wQyxZQUNVLGNBQWdDLEVBQ2hDLFdBQTZCO1FBRDdCLG1CQUFjLEdBQWQsY0FBYyxDQUFrQjtRQUNoQyxnQkFBVyxHQUFYLFdBQVcsQ0FBa0I7UUFOL0Isc0JBQWlCLEdBQTRCLElBQUksQ0FBQztRQUNsRCwyQkFBc0IsR0FBNEIsSUFBSSxDQUFDO1FBTzdELElBQUksQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQ2hELENBQUM7SUFFRCxJQUNJLGdCQUFnQixDQUFDLEtBQW1CO1FBQ3RDLGlEQUFpRDtRQUNqRCxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNwQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELDJEQUEyRDtJQUMzRCxJQUNJLGFBQWEsQ0FBQyxXQUFvQztRQUNwRCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsV0FBVyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsMkRBQTJEO0lBQzNELElBQ0ksa0JBQWtCLENBQUMsV0FBb0M7UUFDekQsSUFBSSxDQUFDLHNCQUFzQixHQUFHLFdBQVcsQ0FBQztRQUMxQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELElBQ0ksaUJBQWlCLENBQUMsaUJBQXlCO1FBQzdDLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLGlCQUFpQixHQUFHLGlCQUFpQixDQUFDO0lBQ2pFLENBQUM7SUFFRCxJQUNJLFlBQVksQ0FBQyxZQUFvQjtRQUNuQyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO0lBQ3ZELENBQUM7SUFFRCxJQUNJLFNBQVMsQ0FBQyxTQUFrQjtRQUM5QixJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO0lBQ2pELENBQUM7SUFFTyxXQUFXO1FBQ2pCLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLEVBQUU7WUFDM0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGVBQWUsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1NBQ2xGO1FBRUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDN0MsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDO1FBRXhFLElBQUksSUFBSSxDQUFDLHNCQUFzQixFQUFFO1lBQy9CLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQztTQUMzRTtRQUVELElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFO1lBQzFCLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUM7U0FDakU7SUFDSCxDQUFDOytHQWpFVSx5QkFBeUI7bUdBQXpCLHlCQUF5Qjs7NEZBQXpCLHlCQUF5QjtrQkFEckMsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxvQkFBb0IsRUFBRTtpSUFnQnZDLGdCQUFnQjtzQkFEbkIsS0FBSztnQkFTRixhQUFhO3NCQURoQixLQUFLO3VCQUFDLHVCQUF1QjtnQkFRMUIsa0JBQWtCO3NCQURyQixLQUFLO3VCQUFDLDRCQUE0QjtnQkFPL0IsaUJBQWlCO3NCQURwQixLQUFLO3VCQUFDLG1DQUFtQztnQkFNdEMsWUFBWTtzQkFEZixLQUFLO3VCQUFDLDhCQUE4QjtnQkFNakMsU0FBUztzQkFEWixLQUFLO3VCQUFDLDJCQUEyQiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cbmltcG9ydCB7XG4gIENvbXBvbmVudFJlZixcbiAgRGlyZWN0aXZlLFxuICBJbnB1dCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDb250YWluZXJSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOdWNMb2FkZWRDb250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi9sb2FkZWQtY29udGVudC1jb21wb25lbnQnO1xuaW1wb3J0IHsgTG9hZGluZ1N0YXRlIH0gZnJvbSAnLi9sb2FkaW5nLXN0YXRlJztcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtc2VsZWN0b3JcbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ1tudWNMb2FkZWRDb250ZW50XScgfSlcbmV4cG9ydCBjbGFzcyBOdWNMb2FkZWRDb250ZW50RGlyZWN0aXZlIHtcbiAgcHJpdmF0ZSBfc3RhdGU6IExvYWRpbmdTdGF0ZTtcbiAgcHJpdmF0ZSBfY29tcGxldGVkVGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT47XG4gIHByaXZhdGUgX2Vycm9yVGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4gfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBfaW5Qcm9ncmVzc1RlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+IHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgX2NvbXBvbmVudDogQ29tcG9uZW50UmVmPE51Y0xvYWRlZENvbnRlbnRDb21wb25lbnQ+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX3ZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWYsXG4gICAgcHJpdmF0ZSB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PlxuICApIHtcbiAgICB0aGlzLl9jb21wbGV0ZWRUZW1wbGF0ZVJlZiA9IHRoaXMudGVtcGxhdGVSZWY7XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgbnVjTG9hZGVkQ29udGVudChzdGF0ZTogTG9hZGluZ1N0YXRlKSB7XG4gICAgLy8gYWRkIHNvbWUgZXJyb3IgaGFuZGxpbmcgaWYgc3RhdGUgaXMgbnVsbCwgZXRjLlxuICAgIHRoaXMuX3N0YXRlID0gc3RhdGU7XG4gICAgdGhpcy5fdXBkYXRlVmlldygpO1xuICB9XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dC1yZW5hbWVcbiAgQElucHV0KCdudWNMb2FkZWRDb250ZW50RXJyb3InKVxuICBzZXQgZXJyb3JUZW1wbGF0ZSh0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PiB8IG51bGwpIHtcbiAgICB0aGlzLl9lcnJvclRlbXBsYXRlUmVmID0gdGVtcGxhdGVSZWY7XG4gICAgdGhpcy5fdXBkYXRlVmlldygpO1xuICB9XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dC1yZW5hbWVcbiAgQElucHV0KCdudWNMb2FkZWRDb250ZW50SW5Qcm9ncmVzcycpXG4gIHNldCBpblByb2dyZXNzVGVtcGxhdGUodGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4gfCBudWxsKSB7XG4gICAgdGhpcy5faW5Qcm9ncmVzc1RlbXBsYXRlUmVmID0gdGVtcGxhdGVSZWY7XG4gICAgdGhpcy5fdXBkYXRlVmlldygpO1xuICB9XG5cbiAgQElucHV0KCdudWNMb2FkZWRDb250ZW50SW5Qcm9ncmVzc01lc3NhZ2UnKVxuICBzZXQgaW5Qcm9ncmVzc01lc3NhZ2UoaW5Qcm9ncmVzc01lc3NhZ2U6IHN0cmluZykge1xuICAgIHRoaXMuX2NvbXBvbmVudC5pbnN0YW5jZS5pblByb2dyZXNzTWVzc2FnZSA9IGluUHJvZ3Jlc3NNZXNzYWdlO1xuICB9XG5cbiAgQElucHV0KCdudWNMb2FkZWRDb250ZW50RXJyb3JNZXNzYWdlJylcbiAgc2V0IGVycm9yTWVzc2FnZShlcnJvck1lc3NhZ2U6IHN0cmluZykge1xuICAgIHRoaXMuX2NvbXBvbmVudC5pbnN0YW5jZS5lcnJvck1lc3NhZ2UgPSBlcnJvck1lc3NhZ2U7XG4gIH1cblxuICBASW5wdXQoJ251Y0xvYWRlZENvbnRlbnRTaG93UmV0cnknKVxuICBzZXQgc2hvd1JldHJ5KHNob3dSZXRyeTogYm9vbGVhbikge1xuICAgIHRoaXMuX2NvbXBvbmVudC5pbnN0YW5jZS5zaG93UmV0cnkgPSBzaG93UmV0cnk7XG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVWaWV3KCkge1xuICAgIGlmICh0aGlzLl9jb21wb25lbnQgPT0gbnVsbCkge1xuICAgICAgdGhpcy5fY29tcG9uZW50ID0gdGhpcy5fdmlld0NvbnRhaW5lci5jcmVhdGVDb21wb25lbnQoTnVjTG9hZGVkQ29udGVudENvbXBvbmVudCk7XG4gICAgfVxuXG4gICAgdGhpcy5fY29tcG9uZW50Lmluc3RhbmNlLnN0YXRlID0gdGhpcy5fc3RhdGU7XG4gICAgdGhpcy5fY29tcG9uZW50Lmluc3RhbmNlLmNvbXBsZXRlZFRlbXBsYXRlID0gdGhpcy5fY29tcGxldGVkVGVtcGxhdGVSZWY7XG5cbiAgICBpZiAodGhpcy5faW5Qcm9ncmVzc1RlbXBsYXRlUmVmKSB7XG4gICAgICB0aGlzLl9jb21wb25lbnQuaW5zdGFuY2UuaW5Qcm9ncmVzc1RlbXBsYXRlID0gdGhpcy5faW5Qcm9ncmVzc1RlbXBsYXRlUmVmO1xuICAgIH1cblxuICAgIGlmICh0aGlzLl9lcnJvclRlbXBsYXRlUmVmKSB7XG4gICAgICB0aGlzLl9jb21wb25lbnQuaW5zdGFuY2UuZXJyb3JUZW1wbGF0ZSA9IHRoaXMuX2Vycm9yVGVtcGxhdGVSZWY7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -35,11 +35,11 @@ export class NucUserAvatarComponent {
|
|
|
35
35
|
return `hsl(${hue},${saturation}%,${lightness}%)`;
|
|
36
36
|
}
|
|
37
37
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NucUserAvatarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
38
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: NucUserAvatarComponent, selector: "nuc-user-avatar", inputs: { name: "name", image: "image", size: "size", background: "background" }, ngImport: i0, template: "<
|
|
38
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", 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;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.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
39
39
|
}
|
|
40
40
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NucUserAvatarComponent, decorators: [{
|
|
41
41
|
type: Component,
|
|
42
|
-
args: [{ selector: 'nuc-user-avatar', template: "<
|
|
42
|
+
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;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"] }]
|
|
43
43
|
}], propDecorators: { name: [{
|
|
44
44
|
type: Input
|
|
45
45
|
}], image: [{
|
|
@@ -49,4 +49,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
49
49
|
}], background: [{
|
|
50
50
|
type: Input
|
|
51
51
|
}] } });
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1hdmF0YXItY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy9udWNsZXVzL251Y2xldXMtbWF0ZXJpYWwvc3JjL2xpYi91c2VyLWF2YXRhci91c2VyLWF2YXRhci1jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nL251Y2xldXMvbnVjbGV1cy1tYXRlcmlhbC9zcmMvbGliL3VzZXItYXZhdGFyL3VzZXItYXZhdGFyLWNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFVakQsTUFBTSxPQUFPLHNCQUFzQjtJQU5uQztRQVNXLFNBQUksR0FBZSxRQUFRLENBQUM7UUFDNUIsZUFBVSxHQUFlLEtBQUssQ0FBQztLQXFDekM7SUFuQ0MsZUFBZTtRQUNiLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZDLE9BQU8sQ0FDTCxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRTtZQUNwQyxFQUFFO1lBQ0YsU0FBUyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUN4RCxDQUFDO0lBQ0osQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNwQixPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztTQUNsQztRQUVELElBQUksSUFBSSxHQUFHLENBQUMsQ0FBQztRQUNiLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUN6Qzs7Ozs7OztlQU9HO1lBQ0gsc0NBQXNDO1lBQ3RDLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDOUQ7UUFFRCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsQ0FBQztRQUVqQyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDdkIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDO1FBRXhCLE9BQU8sT0FBTyxHQUFHLElBQUksVUFBVSxLQUFLLFNBQVMsSUFBSSxDQUFDO0lBQ3BELENBQUM7K0dBeENVLHNCQUFzQjttR0FBdEIsc0JBQXNCLHlJQ1ZuQyxtVkFZQTs7NEZERmEsc0JBQXNCO2tCQU5sQyxTQUFTOytCQUVFLGlCQUFpQjs4QkFLbEIsSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmV4cG9ydCB0eXBlIEF2YXRhclNpemUgPSAnc21hbGwnIHwgJ21lZGl1bScgfCAnbGFyZ2UnIHwgJ3hsYXJnZSc7XG5leHBvcnQgdHlwZSBCYWNrZ3JvdW5kID0gdHJ1ZSB8IGZhbHNlO1xuXG5AQ29tcG9uZW50KHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdudWMtdXNlci1hdmF0YXInLFxuICB0ZW1wbGF0ZVVybDogJy4vdXNlci1hdmF0YXItY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi91c2VyLWF2YXRhci1jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBOdWNVc2VyQXZhdGFyQ29tcG9uZW50IHtcbiAgQElucHV0KCkgbmFtZTogc3RyaW5nO1xuICBASW5wdXQoKSBpbWFnZTogc3RyaW5nO1xuICBASW5wdXQoKSBzaXplOiBBdmF0YXJTaXplID0gJ21lZGl1bSc7XG4gIEBJbnB1dCgpIGJhY2tncm91bmQ6IEJhY2tncm91bmQgPSBmYWxzZTtcblxuICBnZXRVc2VySW5pdGlhbHMoKSB7XG4gICAgY29uc3QgbmFtZVBhcnRzID0gdGhpcy5uYW1lLnNwbGl0KCcgJyk7XG4gICAgcmV0dXJuIChcbiAgICAgIG5hbWVQYXJ0c1swXS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArXG4gICAgICAnJyArXG4gICAgICBuYW1lUGFydHNbbmFtZVBhcnRzLmxlbmd0aCAtIDFdLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpXG4gICAgKTtcbiAgfVxuXG4gIGdldEhzbFN0cmluZygpOiBzdHJpbmcge1xuICAgIGlmICghdGhpcy5iYWNrZ3JvdW5kKSB7XG4gICAgICByZXR1cm4gYGhzbCgkezB9LCR7MH0lLCR7MTAwfSUpYDtcbiAgICB9XG5cbiAgICBsZXQgaGFzaCA9IDA7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLm5hbWUubGVuZ3RoOyBpKyspIHtcbiAgICAgIC8qXG4gICAgICAgKiBKYXZhc2NyaXB0IHVzZXMgZG91YmxlIHByZWNpc2lvbiBmbG9hdGluZy1wb2ludCBmb3JtYXQgZm9yIGFsbCBudW1lcmljYWwgZGF0YXR5cGVzLlxuICAgICAgICogRXhjZXB0IHdoZW4gdXNpbmcgYml0d2lzZSBvcGVyYXRpb25zLCB3aGVyZSBvcGVyYXRvcnMgYXJlIGNvbnZlcnRlZCB0byAzMi1iaXQgc2lnbmVkIGludGVnZXJzLlxuICAgICAgICogUmVzdWx0IG9mIGJpdHdpc2Ugb3BlcmF0aW9ucyBhcmUgdGhlbiBjb252ZXJ0ZWQgYmFjayB0byBkb3VibGUgcHJlY2lzaW9uIGZsb2F0aW5nLXBvaW50IGZvcm1hdC5cbiAgICAgICAqXG4gICAgICAgKiBXZSBtYWtlIGEgYml0d2lzZSBPUiBvcGVyYXRpb24gYmV0d2VlbiB0aGUgbmV3IGhhc2ggYW5kIDAuXG4gICAgICAgKiBUaGlzIGtlZXBzIG9ubHkgdGhlIGxvd2VyIDMyIGJpdHMgaW4gdGhlIG5ldyBoYXNoIHZhbHVlLlxuICAgICAgICovXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tYml0d2lzZVxuICAgICAgaGFzaCA9ICh0aGlzLm5hbWUuY2hhckNvZGVBdChpKSArICgoaGFzaCA8PCAxNSkgLSBoYXNoKSkgfCAwO1xuICAgIH1cblxuICAgIGNvbnN0IGh1ZSA9IE1hdGguYWJzKGhhc2ggJSAzNjApO1xuXG4gICAgY29uc3QgbGlnaHRuZXNzID0gNDkuMjtcbiAgICBjb25zdCBzYXR1cmF0aW9uID0gNDIuNjtcblxuICAgIHJldHVybiBgaHNsKCR7aHVlfSwke3NhdHVyYXRpb259JSwke2xpZ2h0bmVzc30lKWA7XG4gIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCJpbWFnZVwiIGNsYXNzPVwidXNlci1hdmF0YXIgc2l6ZS17e3NpemV9fVwiPlxuICA8aW1nIHNyYz1cInt7aW1hZ2V9fVwiIC8+XG48L2Rpdj5cblxuPGRpdlxuICAqbmdJZj1cIiFpbWFnZVwiXG4gIGNsYXNzPVwidXNlci1hdmF0YXIgc2l6ZS17e3NpemV9fSB1bnNlbGVjdGFibGVcIlxuICBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJnZXRIc2xTdHJpbmcoKVwiXG4gIFtuZ0NsYXNzXT1cInsnd2hpdGUtdGV4dCc6IGJhY2tncm91bmQsICdibGFjay10ZXh0IGJvcmRlcic6ICFiYWNrZ3JvdW5kfVwiXG4+XG4gIHt7Z2V0VXNlckluaXRpYWxzKCl9fVxuPC9kaXY+XG4iXX0=
|
|
@@ -267,13 +267,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
267
267
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
268
268
|
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
269
269
|
class NucLoadedContentDirective {
|
|
270
|
-
constructor(_viewContainer, templateRef
|
|
270
|
+
constructor(_viewContainer, templateRef) {
|
|
271
271
|
this._viewContainer = _viewContainer;
|
|
272
272
|
this.templateRef = templateRef;
|
|
273
|
-
this._componentResolver = _componentResolver;
|
|
274
273
|
this._errorTemplateRef = null;
|
|
275
274
|
this._inProgressTemplateRef = null;
|
|
276
|
-
this._completedTemplateRef = templateRef;
|
|
275
|
+
this._completedTemplateRef = this.templateRef;
|
|
277
276
|
}
|
|
278
277
|
set nucLoadedContent(state) {
|
|
279
278
|
// add some error handling if state is null, etc.
|
|
@@ -301,8 +300,7 @@ class NucLoadedContentDirective {
|
|
|
301
300
|
}
|
|
302
301
|
_updateView() {
|
|
303
302
|
if (this._component == null) {
|
|
304
|
-
|
|
305
|
-
this._component = this._viewContainer.createComponent(fac);
|
|
303
|
+
this._component = this._viewContainer.createComponent(NucLoadedContentComponent);
|
|
306
304
|
}
|
|
307
305
|
this._component.instance.state = this._state;
|
|
308
306
|
this._component.instance.completedTemplate = this._completedTemplateRef;
|
|
@@ -313,13 +311,13 @@ class NucLoadedContentDirective {
|
|
|
313
311
|
this._component.instance.errorTemplate = this._errorTemplateRef;
|
|
314
312
|
}
|
|
315
313
|
}
|
|
316
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NucLoadedContentDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }
|
|
314
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NucLoadedContentDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
317
315
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: NucLoadedContentDirective, selector: "[nucLoadedContent]", inputs: { nucLoadedContent: "nucLoadedContent", errorTemplate: ["nucLoadedContentError", "errorTemplate"], inProgressTemplate: ["nucLoadedContentInProgress", "inProgressTemplate"], inProgressMessage: ["nucLoadedContentInProgressMessage", "inProgressMessage"], errorMessage: ["nucLoadedContentErrorMessage", "errorMessage"], showRetry: ["nucLoadedContentShowRetry", "showRetry"] }, ngImport: i0 }); }
|
|
318
316
|
}
|
|
319
317
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NucLoadedContentDirective, decorators: [{
|
|
320
318
|
type: Directive,
|
|
321
319
|
args: [{ selector: '[nucLoadedContent]' }]
|
|
322
|
-
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.TemplateRef }
|
|
320
|
+
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.TemplateRef }]; }, propDecorators: { nucLoadedContent: [{
|
|
323
321
|
type: Input
|
|
324
322
|
}], errorTemplate: [{
|
|
325
323
|
type: Input,
|
|
@@ -559,11 +557,11 @@ class NucUserAvatarComponent {
|
|
|
559
557
|
return `hsl(${hue},${saturation}%,${lightness}%)`;
|
|
560
558
|
}
|
|
561
559
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NucUserAvatarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
562
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: NucUserAvatarComponent, selector: "nuc-user-avatar", inputs: { name: "name", image: "image", size: "size", background: "background" }, ngImport: i0, template: "<
|
|
560
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", 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;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"] }] }); }
|
|
563
561
|
}
|
|
564
562
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NucUserAvatarComponent, decorators: [{
|
|
565
563
|
type: Component,
|
|
566
|
-
args: [{ selector: 'nuc-user-avatar', template: "<
|
|
564
|
+
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;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
565
|
}], propDecorators: { name: [{
|
|
568
566
|
type: Input
|
|
569
567
|
}], image: [{
|
|
@@ -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>{{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 ComponentFactoryResolver,\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 private _componentResolver: ComponentFactoryResolver\n ) {\n this._completedTemplateRef = 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) {\n this._component.instance.inProgressMessage = inProgressMessage;\n }\n\n @Input('nucLoadedContentErrorMessage')\n set errorMessage(errorMessage: string) {\n this._component.instance.errorMessage = errorMessage;\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 const fac = this._componentResolver.resolveComponentFactory(\n NucLoadedContentComponent\n );\n this._component = this._viewContainer.createComponent(fac);\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 } 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 // 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","<div class=\"mat-simple-snack-bar-content 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","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { Injectable, NgZone } from '@angular/core';\nimport {\n MatSnackBar,\n MatSnackBarConfig,\n MatSnackBarRef,\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, private zone: NgZone) {}\n\n public openSnackbar(\n type: NucSnackbarType,\n message: string,\n action: string | undefined,\n duration: number\n ) {\n let ref: MatSnackBarRef<any> | undefined;\n\n this.zone.run(() => {\n const panelClass = `${type}-snackbar`;\n\n if (type === NucSnackbarType.Progress) {\n this.matSnackBar.openFromComponent(ProgressSnackbarComponent, {\n duration,\n panelClass,\n data: {\n message,\n },\n });\n } else {\n this.matSnackBar.open(message, action, {\n duration,\n panelClass,\n });\n }\n });\n\n return ref as MatSnackBarRef<any>; //TODO: this is not OK, ref might not be available to consumer of the method\n }\n\n public openSnackbarWithConfig(\n message: string,\n action: string | undefined,\n config: MatSnackBarConfig\n ) {\n let ref: MatSnackBarRef<any> | undefined;\n\n this.zone.run(() => {\n ref = this.matSnackBar.open(message, action, config);\n });\n return ref as MatSnackBarRef<any>; //TODO: this is not OK, ref might not be available to consumer of the method\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';\n\n@NgModule({\n declarations: [ProgressSnackbarComponent],\n imports: [CommonModule, MatSnackBarModule, MatProgressSpinnerModule],\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","<ng-container *ngIf=\"image\">\n <div class=\"user-avatar size-{{size}}\">\n <img src=\"{{image}}\" />\n </div>\n</ng-container>\n\n<ng-container *ngIf=\"!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</ng-container>\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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"}
|
|
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>{{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) {\n this._component.instance.inProgressMessage = inProgressMessage;\n }\n\n @Input('nucLoadedContentErrorMessage')\n set errorMessage(errorMessage: string) {\n this._component.instance.errorMessage = errorMessage;\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 } 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 // 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","<div class=\"mat-simple-snack-bar-content 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","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { Injectable, NgZone } from '@angular/core';\nimport {\n MatSnackBar,\n MatSnackBarConfig,\n MatSnackBarRef,\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, private zone: NgZone) {}\n\n public openSnackbar(\n type: NucSnackbarType,\n message: string,\n action: string | undefined,\n duration: number\n ) {\n let ref: MatSnackBarRef<any> | undefined;\n\n this.zone.run(() => {\n const panelClass = `${type}-snackbar`;\n\n if (type === NucSnackbarType.Progress) {\n this.matSnackBar.openFromComponent(ProgressSnackbarComponent, {\n duration,\n panelClass,\n data: {\n message,\n },\n });\n } else {\n this.matSnackBar.open(message, action, {\n duration,\n panelClass,\n });\n }\n });\n\n return ref as MatSnackBarRef<any>; //TODO: this is not OK, ref might not be available to consumer of the method\n }\n\n public openSnackbarWithConfig(\n message: string,\n action: string | undefined,\n config: MatSnackBarConfig\n ) {\n let ref: MatSnackBarRef<any> | undefined;\n\n this.zone.run(() => {\n ref = this.matSnackBar.open(message, action, config);\n });\n return ref as MatSnackBarRef<any>; //TODO: this is not OK, ref might not be available to consumer of the method\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';\n\n@NgModule({\n declarations: [ProgressSnackbarComponent],\n imports: [CommonModule, MatSnackBarModule, MatProgressSpinnerModule],\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"],"mappings":";;;;;;;;;;;;;;;;;;MAUa,kBAAkB,CAAA;IAC7B,WACS,CAAA,SAA2C,EAClB,UAAyB,EAAA;QADlD,IAAS,CAAA,SAAA,GAAT,SAAS,CAAkC;QAClB,IAAU,CAAA,UAAA,GAAV,UAAU,CAAe;KACvD;AAJO,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,8CAGnB,eAAe,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAHd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,kBAAkB,kDCV/B,qxBA0BA,EAAA,MAAA,EAAA,CAAA,wIAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,sCAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,MAAA,EAAA,kBAAA,EAAA,gBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,sCAAA,EAAA,MAAA,EAAA,CAAA,IAAA,CAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,8DAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,8DAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,6GAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,EAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;4FDhBa,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAN9B,SAAS;+BAEE,YAAY,EAAA,QAAA,EAAA,qxBAAA,EAAA,MAAA,EAAA,CAAA,wIAAA,CAAA,EAAA,CAAA;;0BAOnB,MAAM;2BAAC,eAAe,CAAA;;;MELd,gBAAgB,CAAA;AAC3B,IAAA,WAAA,CAAoB,UAAqB,EAAA;QAArB,IAAU,CAAA,UAAA,GAAV,UAAU,CAAW;KAAI;AAE7C;;;;;;AAMG;AACI,IAAA,MAAM,IAAI,CACf,UAAyB,EACzB,YAA8B;;;QAG9B,IAAI,UAAU,CAAC,OAAO,IAAI,UAAU,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;AACvD,YAAA,IAAI,YAAY,EAAE;AAChB,gBAAA,YAAY,CAAC,IAAI,GAAG,UAAU,CAAC;AAChC,aAAA;AAAM,iBAAA;AACL,gBAAA,YAAY,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;AACrC,aAAA;YACD,OAAO,MAAM,IAAI,CAAC,UAAU;AACzB,iBAAA,IAAI,CAAC,kBAAkB,EAAE,YAAY,CAAC;AACtC,iBAAA,YAAY,EAAE;AACd,iBAAA,SAAS,EAAE,CAAC;AAChB,SAAA;AAAM,aAAA;AACL,YAAA,OAAO,CAAC,KAAK,CACX,8DAA8D,CAC/D,CAAC;AACH,SAAA;KACF;+GA9BU,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,cAFf,MAAM,EAAA,CAAA,CAAA,EAAA;;4FAEP,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAH5B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;MCGY,eAAe,CAAA;+GAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,iBAHX,kBAAkB,CAAA,EAAA,OAAA,EAAA,CACvB,YAAY,EAAE,eAAe,EAAE,eAAe,CAAA,EAAA,CAAA,CAAA,EAAA;AAE7C,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,EAFhB,OAAA,EAAA,CAAA,YAAY,EAAE,eAAe,EAAE,eAAe,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAE7C,eAAe,EAAA,UAAA,EAAA,CAAA;kBAJ3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,kBAAkB,CAAC;AAClC,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,eAAe,EAAE,eAAe,CAAC;AAC1D,iBAAA,CAAA;;;ICUW,SAOX;AAPD,CAAA,UAAY,QAAQ,EAAA;;AAElB,IAAA,QAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;;AAEnB,IAAA,QAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;;AAEjB,IAAA,QAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACf,CAAC,EAPW,QAAQ,KAAR,QAAQ,GAOnB,EAAA,CAAA,CAAA;;ICtBW,cAKX;AALD,CAAA,UAAY,aAAa,EAAA;AACvB,IAAA,aAAA,CAAA,aAAA,CAAA,WAAA,CAAA,GAAA,CAAA,CAAA,GAAA,WAAS,CAAA;AACT,IAAA,aAAA,CAAA,aAAA,CAAA,YAAA,CAAA,GAAA,CAAA,CAAA,GAAA,YAAU,CAAA;AACV,IAAA,aAAA,CAAA,aAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,GAAA,QAAM,CAAA;AACN,IAAA,aAAA,CAAA,aAAA,CAAA,WAAA,CAAA,GAAA,CAAA,CAAA,GAAA,WAAS,CAAA;AACX,CAAC,EALW,aAAa,KAAb,aAAa,GAKxB,EAAA,CAAA,CAAA,CAAA;MAEY,YAAY,CAAA;AAAzB,IAAA,WAAA,GAAA;AACU,QAAA,IAAA,CAAA,OAAO,GAAkB,aAAa,CAAC,SAAS,CAAC;KAiL1D;AArKC,IAAA,IAAI,MAAM,GAAA;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;KACrB;AAED,IAAA,IAAI,OAAO,GAAA;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;KACtB;AAED,IAAA,IAAI,YAAY,GAAA;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;KAC3B;AAEM,IAAA,IAAI,CACT,UAAyB,EACzB,cAAoC,EACpC,aAAkD,EAClD,gBAA6B,EAAA;AAE7B,QAAA,OAAO,IAAI,CAAC,KAAK,CACf,IAAI,EACJ,SAAS,EACT,UAAU,EACV,cAAc,EACd,aAAa,EACb,gBAAgB,CACjB,CAAC;KACH;IAEM,eAAe,CACpB,UAAyB,EACzB,OAAe,EACf,cAAoC,EACpC,aAAkD,EAClD,gBAA6B,EAAA;AAE7B,QAAA,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC;AAC/B,QAAA,OAAO,IAAI,CAAC,KAAK,CACf,IAAI,EACJ,OAAO,EACP,UAAU,EACV,cAAc,EACd,aAAa,EACb,gBAAgB,CACjB,CAAC;KACH;AAEM,IAAA,MAAM,CACX,UAAyB,EACzB,cAAoC,EACpC,aAAkD,EAClD,gBAA6B,EAAA;AAE7B,QAAA,OAAO,IAAI,CAAC,KAAK,CACf,KAAK,EACL,SAAS,EACT,UAAU,EACV,cAAc,EACd,aAAa,EACb,gBAAgB,CACjB,CAAC;KACH;IAEM,iBAAiB,CACtB,UAAyB,EACzB,OAAe,EACf,cAAoC,EACpC,aAAkD,EAClD,gBAA6B,EAAA;AAE7B,QAAA,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC;AAC/B,QAAA,OAAO,IAAI,CAAC,KAAK,CACf,KAAK,EACL,OAAO,EACP,UAAU,EACV,cAAc,EACd,aAAa,EACb,gBAAgB,CACjB,CAAC;KACH;IAEM,KAAK,GAAA;QACV,IAAI,IAAI,CAAC,iBAAiB,EAAE;AAC1B,YAAA,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAC;AACtC,SAAA;AACD,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACzC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC;YACtD,IAAI,EAAE,IAAI,CAAC,eAAe;YAC1B,KAAK,EAAE,IAAI,CAAC,cAAc;YAC1B,QAAQ,EAAE,IAAI,CAAC,iBAAiB;AACjC,SAAA,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,iBAAiB,CAAC;KAC/B;AAEM,IAAA,aAAa,CAAC,OAAgB,EAAA;AACnC,QAAA,IAAI,CAAC,OAAO,GAAG,aAAa,CAAC,UAAU,CAAC;AACxC,QAAA,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;KACzB;IAEM,YAAY,GAAA;AACjB,QAAA,IAAI,CAAC,OAAO,GAAG,aAAa,CAAC,SAAS,CAAC;KACxC;IAEM,SAAS,CAAC,OAAgB,EAAE,KAAc,EAAA;AAC/C,QAAA,IAAI,CAAC,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC;AACpC,QAAA,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;AACxB,QAAA,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;KAC5B;IAEO,KAAK,CACX,oBAA6B,EAC7B,eAAmC,EACnC,UAAyB,EACzB,cAAoC,EACpC,aAAkD,EAClD,gBAA6B,EAAA;QAE7B,IAAI,IAAI,CAAC,iBAAiB,EAAE;AAC1B,YAAA,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAC;AACtC,SAAA;AAED,QAAA,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;AACpC,QAAA,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,CACzB,GAAG,CAAC;YACF,IAAI,EAAE,MAAK;AACT,gBAAA,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC,OAAO,EAAE;;AAEzC,oBAAA,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;AAC3B,iBAAA;gBACD,IAAI,CAAC,YAAY,EAAE,CAAC;aACrB;AACD,YAAA,KAAK,EAAE,CAAC,GAAG,KAAI;AACb,gBAAA,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,YAAY,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;aAC9D;AACF,SAAA,CAAC,CACH,CAAC;AAEF,QAAA,IAAI,oBAAoB,EAAE;AACxB,YAAA,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC;AAC3B,YAAA,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;AACtC,YAAA,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;AACpC,YAAA,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;AAC3C,SAAA;AAED,QAAA,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC,SAAS,CAAC;AACrC,YAAA,IAAI,EAAE,cAAc;AACpB,YAAA,KAAK,EAAE,aAAa;AACpB,YAAA,QAAQ,EAAE,gBAAgB;AAC3B,SAAA,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,iBAAiB,CAAC;KAC/B;;IAGM,OAAO,eAAe,CAAC,KAAU,EAAA;;;;;AAMtC,QAAA,MAAM,OAAO,GAAG,KAAK,EAAE,KAAK,CAAC;AAC7B,QAAA,IAAI,OAAO,EAAE,KAAK,IAAI,OAAO,EAAE,MAAM,EAAE;YACrC,OAAO,CAAA,EAAG,OAAO,CAAC,KAAK,KAAK,OAAO,CAAC,MAAM,CAAA,CAAE,CAAC;AAC9C,SAAA;AAAM,aAAA;AACL,YAAA,OAAO,OAAO,EAAE,KAAK,IAAI,OAAO,EAAE,MAAM,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC;AACpE,SAAA;KACF;AACF;;AC7LD;MAUa,yBAAyB,CAAA;AANtC,IAAA,WAAA,GAAA;QAOU,IAAoB,CAAA,oBAAA,GAAG,KAAK,CAAC;QAkB9B,IAAY,CAAA,YAAA,GAAG,yCAAyC,CAAC;QAGzD,IAAS,CAAA,SAAA,GAAG,IAAI,CAAC;AA0CzB,KAAA;AAxCC,IAAA,IAAW,OAAO,GAAA;AAChB,QAAA,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,IAAI,EAAE;AAC9B,YAAA,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;AAC3B,SAAA;AAAM,aAAA;YACL,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,aAAa,CAAC,MAAM,EAAE;gBAC9C,OAAO,IAAI,CAAC,YAAY,CAAC;AAC1B,aAAA;iBAAM,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,aAAa,CAAC,UAAU,EAAE;gBACzD,OAAO,IAAI,CAAC,iBAAiB,CAAC;AAC/B,aAAA;AACF,SAAA;AACD,QAAA,OAAO,IAAI,CAAC;KACb;AAED,IAAA,IAAW,eAAe,GAAA;QACxB,OAAO,IAAI,CAAC,SAAS,CAAC;KACvB;AAED,IAAA,IAAW,UAAU,GAAA;QACnB,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,aAAa,CAAC,UAAU,CAAC;AAClE,QAAA,IAAI,UAAU,EAAE;AACd,YAAA,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;AACnC,SAAA;AACD,QAAA,OAAO,UAAU,CAAC;KACnB;AAED,IAAA,IAAW,MAAM,GAAA;QACf,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,aAAa,CAAC,MAAM,CAAC;KACnD;AAED,IAAA,IAAW,SAAS,GAAA;QAClB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,aAAa,CAAC,SAAS,CAAC;KACtD;AAED,IAAA,IAAW,mBAAmB,GAAA;QAC5B,OAAO,IAAI,CAAC,oBAAoB,CAAC;KAClC;IAEM,gBAAgB,GAAA;AACrB,QAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;KAClC;+GA/DU,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAzB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,yBAAyB,gTCVtC,62CAgDA,EAAA,MAAA,EAAA,CAAA,4SAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,mCAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,OAAA,EAAA,UAAA,EAAA,aAAA,CAAA,EAAA,QAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,EAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;4FDtCa,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBANrC,SAAS;+BAEE,8BAA8B,EAAA,QAAA,EAAA,62CAAA,EAAA,MAAA,EAAA,CAAA,4SAAA,CAAA,EAAA,CAAA;8BAQxC,iBAAiB,EAAA,CAAA;sBADhB,KAAK;gBAIN,aAAa,EAAA,CAAA;sBADZ,KAAK;gBAIN,kBAAkB,EAAA,CAAA;sBADjB,KAAK;gBAIC,KAAK,EAAA,CAAA;sBADX,KAAK;gBAIC,iBAAiB,EAAA,CAAA;sBADvB,KAAK;gBAIC,YAAY,EAAA,CAAA;sBADlB,KAAK;gBAIC,SAAS,EAAA,CAAA;sBADf,KAAK;;;AE/BR;AAWA;MAEa,yBAAyB,CAAA;IAOpC,WACU,CAAA,cAAgC,EAChC,WAA6B,EAAA;QAD7B,IAAc,CAAA,cAAA,GAAd,cAAc,CAAkB;QAChC,IAAW,CAAA,WAAA,GAAX,WAAW,CAAkB;QAN/B,IAAiB,CAAA,iBAAA,GAA4B,IAAI,CAAC;QAClD,IAAsB,CAAA,sBAAA,GAA4B,IAAI,CAAC;AAO7D,QAAA,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,WAAW,CAAC;KAC/C;IAED,IACI,gBAAgB,CAAC,KAAmB,EAAA;;AAEtC,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,WAAW,EAAE,CAAC;KACpB;;IAGD,IACI,aAAa,CAAC,WAAoC,EAAA;AACpD,QAAA,IAAI,CAAC,iBAAiB,GAAG,WAAW,CAAC;QACrC,IAAI,CAAC,WAAW,EAAE,CAAC;KACpB;;IAGD,IACI,kBAAkB,CAAC,WAAoC,EAAA;AACzD,QAAA,IAAI,CAAC,sBAAsB,GAAG,WAAW,CAAC;QAC1C,IAAI,CAAC,WAAW,EAAE,CAAC;KACpB;IAED,IACI,iBAAiB,CAAC,iBAAyB,EAAA;QAC7C,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;KAChE;IAED,IACI,YAAY,CAAC,YAAoB,EAAA;QACnC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,YAAY,GAAG,YAAY,CAAC;KACtD;IAED,IACI,SAAS,CAAC,SAAkB,EAAA;QAC9B,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,GAAG,SAAS,CAAC;KAChD;IAEO,WAAW,GAAA;AACjB,QAAA,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,EAAE;YAC3B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,yBAAyB,CAAC,CAAC;AAClF,SAAA;QAED,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7C,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,iBAAiB,GAAG,IAAI,CAAC,qBAAqB,CAAC;QAExE,IAAI,IAAI,CAAC,sBAAsB,EAAE;YAC/B,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,kBAAkB,GAAG,IAAI,CAAC,sBAAsB,CAAC;AAC3E,SAAA;QAED,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC1B,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,aAAa,GAAG,IAAI,CAAC,iBAAiB,CAAC;AACjE,SAAA;KACF;+GAjEU,yBAAyB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAAzB,yBAAyB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,aAAA,EAAA,CAAA,uBAAA,EAAA,eAAA,CAAA,EAAA,kBAAA,EAAA,CAAA,4BAAA,EAAA,oBAAA,CAAA,EAAA,iBAAA,EAAA,CAAA,mCAAA,EAAA,mBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,8BAAA,EAAA,cAAA,CAAA,EAAA,SAAA,EAAA,CAAA,2BAAA,EAAA,WAAA,CAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBADrC,SAAS;mBAAC,EAAE,QAAQ,EAAE,oBAAoB,EAAE,CAAA;iIAgBvC,gBAAgB,EAAA,CAAA;sBADnB,KAAK;gBASF,aAAa,EAAA,CAAA;sBADhB,KAAK;uBAAC,uBAAuB,CAAA;gBAQ1B,kBAAkB,EAAA,CAAA;sBADrB,KAAK;uBAAC,4BAA4B,CAAA;gBAO/B,iBAAiB,EAAA,CAAA;sBADpB,KAAK;uBAAC,mCAAmC,CAAA;gBAMtC,YAAY,EAAA,CAAA;sBADf,KAAK;uBAAC,8BAA8B,CAAA;gBAMjC,SAAS,EAAA,CAAA;sBADZ,KAAK;uBAAC,2BAA2B,CAAA;;;MCxCvB,sBAAsB,CAAA;+GAAtB,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,EATlB,YAAA,EAAA,CAAA,yBAAyB,EAAE,yBAAyB,aAEjE,YAAY;YACZ,wBAAwB;YACxB,eAAe;AACf,YAAA,aAAa,aAEL,yBAAyB,CAAA,EAAA,CAAA,CAAA,EAAA;AAExB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,YAP/B,YAAY;YACZ,wBAAwB;YACxB,eAAe;YACf,aAAa,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAIJ,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAVlC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,CAAC,yBAAyB,EAAE,yBAAyB,CAAC;AACpE,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,wBAAwB;wBACxB,eAAe;wBACf,aAAa;AACd,qBAAA;oBACD,OAAO,EAAE,CAAC,yBAAyB,CAAC;AACrC,iBAAA,CAAA;;;ACbD;MAEa,qBAAqB,CAAA;IAChC,WACU,CAAA,OAAgC,EAChC,QAAqB,EAAA;QADrB,IAAO,CAAA,OAAA,GAAP,OAAO,CAAyB;QAChC,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAa;KAC3B;IAEJ,QAAQ,GAAA;AACN,QAAA,MAAM,QAAQ,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE;YAC9D,UAAU,EAAE,MAAM,CAAC,UAAU;AAC9B,SAAA,CAAC,CAAC;AAEH,QAAA,QAAQ,CAAC,GAAG,CACV,IAAI,MAAM,CAAC,GAAG,CAAC;YACb,SAAS,EAAE,MAAM,CAAC,oBAAoB;AACtC,YAAA,SAAS,EAAE,EAAE;AACd,SAAA,CAAC,CACH,CAAC;QAEF,QAAQ,CAAC,EAAE,CAAC,kBAAkB,EAAE,CAAC,KAAK,KAAI;YACxC,IAAI,KAAK,CAAC,OAAO,EAAE;AACjB,gBAAA,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC;gBACxD,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,IAAI,CAAC,CAAC;gBACtD,IAAI,SAAS,GAAG,YAAY,CAAC;AAE7B,gBAAA,IACE,KAAK,CAAC,IAAI,KAAK,UAAU;oBACzB,KAAK,CAAC,SAAS,KAAK,CAAC;oBACrB,YAAY,GAAG,CAAC,EAChB;;AAEA,oBAAA,KAAK,IAAI,CAAC,GAAG,YAAY,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;AAC1C,wBAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;4BACZ,SAAS,GAAG,CAAC,CAAC;4BACd,MAAM;AACP,yBAAA;AACF,qBAAA;AACF,iBAAA;AAAM,qBAAA,IACL,KAAK,CAAC,IAAI,KAAK,SAAS;oBACxB,KAAK,CAAC,SAAS,KAAK,CAAC;oBACrB,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAC7C;;AAEA,oBAAA,KAAK,IAAI,CAAC,GAAG,YAAY,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACnD,wBAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;4BACZ,SAAS,GAAG,CAAC,CAAC;4BACd,MAAM;AACP,yBAAA;AACF,qBAAA;AACF,iBAAA;AACD,gBAAA,IAAI,CAAC,QAAQ,CAAC,aAAa,GAAG,SAAS,CAAC;AACzC,aAAA;AACH,SAAC,CAAC,CAAC;KACJ;+GApDU,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAArB,qBAAqB,EAAA,QAAA,EAAA,YAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBADjC,SAAS;mBAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAA;;;MCIxB,kBAAkB,CAAA;+GAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,EAJd,YAAA,EAAA,CAAA,qBAAqB,CAC1B,EAAA,OAAA,EAAA,CAAA,YAAY,aACZ,qBAAqB,CAAA,EAAA,CAAA,CAAA,EAAA;AAEpB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,YAHnB,YAAY,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAGX,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAL9B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,qBAAqB,CAAC;oBACrC,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,qBAAqB,CAAC;AACjC,iBAAA,CAAA;;;ICRW,gBAMX;AAND,CAAA,UAAY,eAAe,EAAA;AACzB,IAAA,eAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACb,IAAA,eAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnB,IAAA,eAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,IAAA,eAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnB,IAAA,eAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACvB,CAAC,EANW,eAAe,KAAf,eAAe,GAM1B,EAAA,CAAA,CAAA;;MCaY,yBAAyB,CAAA;AACpC,IAAA,WAAA;;AAEqC,IAAA,IAAS,EACpC,IAAgB,EAAA;QADW,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAK;QACpC,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;KACtB;IAEJ,eAAe,GAAA;AACb,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;QACxC,MAAM,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC/C,MAAM,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAClD,MAAM,KAAK,GAAG,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC;AACrD,QAAA,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC;KAC7B;AAbU,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,kBAG1B,kBAAkB,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAHjB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,yBAAyB,8GCnBtC,4TAWA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,mCAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,OAAA,EAAA,UAAA,EAAA,aAAA,CAAA,EAAA,QAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;4FDQa,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAVrC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,uBAAuB,EAGlB,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAE/B,IAAA,EAAA;AACJ,wBAAA,KAAK,EAAE,qBAAqB;AAC7B,qBAAA,EAAA,QAAA,EAAA,4TAAA,EAAA,CAAA;;0BAKE,MAAM;2BAAC,kBAAkB,CAAA;;;AEtB9B;MAaa,kBAAkB,CAAA;IAC7B,WAAoB,CAAA,WAAwB,EAAU,IAAY,EAAA;QAA9C,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;QAAU,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAQ;KAAI;AAE/D,IAAA,YAAY,CACjB,IAAqB,EACrB,OAAe,EACf,MAA0B,EAC1B,QAAgB,EAAA;AAEhB,QAAA,IAAI,GAAoC,CAAC;AAEzC,QAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAK;AACjB,YAAA,MAAM,UAAU,GAAG,CAAG,EAAA,IAAI,WAAW,CAAC;AAEtC,YAAA,IAAI,IAAI,KAAK,eAAe,CAAC,QAAQ,EAAE;AACrC,gBAAA,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,yBAAyB,EAAE;oBAC5D,QAAQ;oBACR,UAAU;AACV,oBAAA,IAAI,EAAE;wBACJ,OAAO;AACR,qBAAA;AACF,iBAAA,CAAC,CAAC;AACJ,aAAA;AAAM,iBAAA;gBACL,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE;oBACrC,QAAQ;oBACR,UAAU;AACX,iBAAA,CAAC,CAAC;AACJ,aAAA;AACH,SAAC,CAAC,CAAC;QAEH,OAAO,GAA0B,CAAC;KACnC;AAEM,IAAA,sBAAsB,CAC3B,OAAe,EACf,MAA0B,EAC1B,MAAyB,EAAA;AAEzB,QAAA,IAAI,GAAoC,CAAC;AAEzC,QAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAK;AACjB,YAAA,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AACvD,SAAC,CAAC,CAAC;QACH,OAAO,GAA0B,CAAC;KACnC;+GA5CU,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,WAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,cAFjB,MAAM,EAAA,CAAA,CAAA,EAAA;;4FAEP,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAH9B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;MCDY,iBAAiB,CAAA;+GAAjB,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,iBAJb,yBAAyB,CAAA,EAAA,OAAA,EAAA,CAC9B,YAAY,EAAE,iBAAiB,EAAE,wBAAwB,CAAA,EAAA,CAAA,CAAA,EAAA;AAGxD,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,EAHlB,OAAA,EAAA,CAAA,YAAY,EAAE,iBAAiB,EAAE,wBAAwB,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAGxD,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAL7B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,yBAAyB,CAAC;AACzC,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,iBAAiB,EAAE,wBAAwB,CAAC;AACpE,oBAAA,OAAO,EAAE,EAAE;AACZ,iBAAA,CAAA;;;MCAY,sBAAsB,CAAA;AANnC,IAAA,WAAA,GAAA;QASW,IAAI,CAAA,IAAA,GAAe,QAAQ,CAAC;QAC5B,IAAU,CAAA,UAAA,GAAe,KAAK,CAAC;AAqCzC,KAAA;IAnCC,eAAe,GAAA;QACb,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACvC,QAAA,QACE,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;YACpC,EAAE;AACF,YAAA,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,EACvD;KACH;IAED,YAAY,GAAA;AACV,QAAA,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;AACpB,YAAA,OAAO,OAAO,CAAC,CAAA,CAAA,EAAI,CAAC,CAAK,EAAA,EAAA,GAAG,IAAI,CAAC;AAClC,SAAA;QAED,IAAI,IAAI,GAAG,CAAC,CAAC;AACb,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACzC;;;;;;;AAOG;;YAEH,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;AAC9D,SAAA;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;QAEjC,MAAM,SAAS,GAAG,IAAI,CAAC;QACvB,MAAM,UAAU,GAAG,IAAI,CAAC;AAExB,QAAA,OAAO,OAAO,GAAG,CAAA,CAAA,EAAI,UAAU,CAAK,EAAA,EAAA,SAAS,IAAI,CAAC;KACnD;+GAxCU,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sBAAsB,yICVnC,mVAYA,EAAA,MAAA,EAAA,CAAA,qqBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;4FDFa,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBANlC,SAAS;+BAEE,iBAAiB,EAAA,QAAA,EAAA,mVAAA,EAAA,MAAA,EAAA,CAAA,qqBAAA,CAAA,EAAA,CAAA;8BAKlB,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;;;MELK,mBAAmB,CAAA;+GAAnB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,EAJf,YAAA,EAAA,CAAA,sBAAsB,CAC3B,EAAA,OAAA,EAAA,CAAA,YAAY,aACZ,sBAAsB,CAAA,EAAA,CAAA,CAAA,EAAA;AAErB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,YAHpB,YAAY,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAGX,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAL/B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,sBAAsB,CAAC;oBACtC,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,sBAAsB,CAAC;AAClC,iBAAA,CAAA;;;ACRD;;ACAA;;AAEG;;;;"}
|
|
@@ -1,16 +1,15 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { TemplateRef, ViewContainerRef } from '@angular/core';
|
|
2
2
|
import { LoadingState } from './loading-state';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export declare class NucLoadedContentDirective {
|
|
5
5
|
private _viewContainer;
|
|
6
6
|
private templateRef;
|
|
7
|
-
private _componentResolver;
|
|
8
7
|
private _state;
|
|
9
8
|
private _completedTemplateRef;
|
|
10
9
|
private _errorTemplateRef;
|
|
11
10
|
private _inProgressTemplateRef;
|
|
12
11
|
private _component;
|
|
13
|
-
constructor(_viewContainer: ViewContainerRef, templateRef: TemplateRef<any
|
|
12
|
+
constructor(_viewContainer: ViewContainerRef, templateRef: TemplateRef<any>);
|
|
14
13
|
set nucLoadedContent(state: LoadingState);
|
|
15
14
|
set errorTemplate(templateRef: TemplateRef<any> | null);
|
|
16
15
|
set inProgressTemplate(templateRef: TemplateRef<any> | null);
|