@kolektor/nucleus-material 0.0.10-pre.6137 → 0.0.11-pre.6442
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/dialog/dialog.component.mjs +3 -3
- package/esm2020/lib/dialog/dialog.module.mjs +4 -4
- package/esm2020/lib/dialog/dialog.service.mjs +3 -3
- package/esm2020/lib/loaded-content/loaded-content-component.mjs +3 -3
- package/esm2020/lib/loaded-content/loaded-content-directive.mjs +3 -3
- package/esm2020/lib/loaded-content/loaded-content-module.mjs +4 -4
- package/esm2020/lib/loaded-content/loading-state.mjs +24 -10
- package/esm2020/lib/native-styling/native-styling.service.mjs +3 -3
- package/esm2020/lib/snackbar/models.mjs +2 -1
- package/esm2020/lib/snackbar/progress-snackbar/progress-snackbar.component.mjs +29 -0
- package/esm2020/lib/snackbar/snackbar.module.mjs +19 -9
- package/esm2020/lib/snackbar/snackbar.service.mjs +28 -14
- package/esm2020/lib/swipe-tabs/swipe-tabs-directive.mjs +3 -3
- package/esm2020/lib/swipe-tabs/swipe-tabs-module.mjs +4 -4
- package/esm2020/lib/user-avatar/user-avatar-component.mjs +3 -3
- package/esm2020/lib/user-avatar/user-avatar-module.mjs +4 -4
- package/fesm2015/kolektor-nucleus-material.mjs +139 -77
- package/fesm2015/kolektor-nucleus-material.mjs.map +1 -1
- package/fesm2020/kolektor-nucleus-material.mjs +137 -77
- package/fesm2020/kolektor-nucleus-material.mjs.map +1 -1
- package/lib/loaded-content/loading-state.d.ts +1 -0
- package/lib/snackbar/models.d.ts +2 -1
- package/lib/snackbar/progress-snackbar/progress-snackbar.component.d.ts +10 -0
- package/lib/snackbar/snackbar.module.d.ts +5 -3
- package/lib/snackbar/snackbar.service.d.ts +4 -4
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Component, Inject, Injectable, NgModule, Input, Directive } from '@angular/core';
|
|
2
|
+
import { Component, Inject, Injectable, NgModule, Input, Directive, ViewEncapsulation } from '@angular/core';
|
|
3
3
|
import * as i1 from '@angular/material/dialog';
|
|
4
4
|
import { MAT_DIALOG_DATA, MatDialogModule } from '@angular/material/dialog';
|
|
5
5
|
import * as i1$1 from '@angular/common';
|
|
@@ -16,7 +16,7 @@ import { NavigationEnd } from '@angular/router';
|
|
|
16
16
|
import * as i1$3 from '@angular/material/tabs';
|
|
17
17
|
import * as Hammer from 'hammerjs';
|
|
18
18
|
import * as i1$4 from '@angular/material/snack-bar';
|
|
19
|
-
import { MatSnackBarModule } from '@angular/material/snack-bar';
|
|
19
|
+
import { MAT_SNACK_BAR_DATA, MatSnackBarModule } from '@angular/material/snack-bar';
|
|
20
20
|
|
|
21
21
|
class NucDialogComponent {
|
|
22
22
|
constructor(dialogRef, dialogData) {
|
|
@@ -24,9 +24,9 @@ class NucDialogComponent {
|
|
|
24
24
|
this.dialogData = dialogData;
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
|
-
NucDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
28
|
-
NucDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.
|
|
29
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
27
|
+
NucDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: NucDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
|
|
28
|
+
NucDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.2", type: NucDialogComponent, selector: "nuc-dialog", ngImport: i0, template: "<ng-container *ngIf=\"dialogData\">\r\n <h2 mat-dialog-title *ngIf=\"dialogData.title\">\r\n {{dialogData.title}}\r\n </h2>\r\n <mat-dialog-content>{{dialogData.message}}</mat-dialog-content>\r\n <mat-dialog-actions>\r\n <ng-container *ngFor=\"let action of dialogData.actions\">\r\n <button color=\"{{action.color || 'primary'}}\" *ngIf=\"action.value === undefined\" mat-button mat-dialog-close>{{action.text}}</button>\r\n <button color=\"{{action.color || 'primary'}}\" *ngIf=\"action.value !== undefined\" mat-button [mat-dialog-close]=\"action.value\">{{action.text}}</button>\r\n </ng-container>\r\n </mat-dialog-actions>\r\n</ng-container>\r\n", styles: ["mat-dialog-actions{justify-content:flex-end}mat-dialog-content{white-space:pre-wrap}button{text-transform:uppercase;font-weight:700}\n"], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "component", type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }] });
|
|
29
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: NucDialogComponent, decorators: [{
|
|
30
30
|
type: Component,
|
|
31
31
|
args: [{ selector: 'nuc-dialog', template: "<ng-container *ngIf=\"dialogData\">\r\n <h2 mat-dialog-title *ngIf=\"dialogData.title\">\r\n {{dialogData.title}}\r\n </h2>\r\n <mat-dialog-content>{{dialogData.message}}</mat-dialog-content>\r\n <mat-dialog-actions>\r\n <ng-container *ngFor=\"let action of dialogData.actions\">\r\n <button color=\"{{action.color || 'primary'}}\" *ngIf=\"action.value === undefined\" mat-button mat-dialog-close>{{action.text}}</button>\r\n <button color=\"{{action.color || 'primary'}}\" *ngIf=\"action.value !== undefined\" mat-button [mat-dialog-close]=\"action.value\">{{action.text}}</button>\r\n </ng-container>\r\n </mat-dialog-actions>\r\n</ng-container>\r\n", styles: ["mat-dialog-actions{justify-content:flex-end}mat-dialog-content{white-space:pre-wrap}button{text-transform:uppercase;font-weight:700}\n"] }]
|
|
32
32
|
}], ctorParameters: function () { return [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
|
|
@@ -60,9 +60,9 @@ class NucDialogService {
|
|
|
60
60
|
}
|
|
61
61
|
}
|
|
62
62
|
}
|
|
63
|
-
NucDialogService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
64
|
-
NucDialogService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.
|
|
65
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
63
|
+
NucDialogService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: NucDialogService, deps: [{ token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
64
|
+
NucDialogService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: NucDialogService, providedIn: 'root' });
|
|
65
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: NucDialogService, decorators: [{
|
|
66
66
|
type: Injectable,
|
|
67
67
|
args: [{
|
|
68
68
|
providedIn: 'root'
|
|
@@ -71,14 +71,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
|
|
|
71
71
|
|
|
72
72
|
class NucDialogModule {
|
|
73
73
|
}
|
|
74
|
-
NucDialogModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
75
|
-
NucDialogModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.
|
|
74
|
+
NucDialogModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: NucDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
75
|
+
NucDialogModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.2", ngImport: i0, type: NucDialogModule, declarations: [NucDialogComponent], imports: [CommonModule,
|
|
76
76
|
MatDialogModule,
|
|
77
77
|
MatButtonModule] });
|
|
78
|
-
NucDialogModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.
|
|
78
|
+
NucDialogModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: NucDialogModule, imports: [CommonModule,
|
|
79
79
|
MatDialogModule,
|
|
80
80
|
MatButtonModule] });
|
|
81
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
81
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: NucDialogModule, decorators: [{
|
|
82
82
|
type: NgModule,
|
|
83
83
|
args: [{
|
|
84
84
|
declarations: [
|
|
@@ -112,6 +112,7 @@ var LoadingStatus;
|
|
|
112
112
|
class LoadingState {
|
|
113
113
|
constructor() {
|
|
114
114
|
this._status = LoadingStatus.undefined;
|
|
115
|
+
this._initialMessage = null;
|
|
115
116
|
this._message = null;
|
|
116
117
|
this._errorDetails = null;
|
|
117
118
|
this._lastSubscription = null;
|
|
@@ -129,20 +130,26 @@ class LoadingState {
|
|
|
129
130
|
return this._load(true, null, observable, resultFunction, errorFunction, completeFunction);
|
|
130
131
|
}
|
|
131
132
|
loadWithMessage(observable, message, resultFunction, errorFunction, completeFunction) {
|
|
133
|
+
this._initialMessage = message;
|
|
132
134
|
return this._load(true, message, observable, resultFunction, errorFunction, completeFunction);
|
|
133
135
|
}
|
|
134
136
|
invoke(observable, resultFunction, errorFunction, completeFunction) {
|
|
135
137
|
return this._load(false, null, observable, resultFunction, errorFunction, completeFunction);
|
|
136
138
|
}
|
|
137
139
|
invokeWithMessage(observable, message, resultFunction, errorFunction, completeFunction) {
|
|
140
|
+
this._initialMessage = message;
|
|
138
141
|
return this._load(false, message, observable, resultFunction, errorFunction, completeFunction);
|
|
139
142
|
}
|
|
140
143
|
retry() {
|
|
141
144
|
if (this._lastSubscription) {
|
|
142
145
|
this._lastSubscription.unsubscribe();
|
|
143
146
|
}
|
|
144
|
-
this.setInProgress();
|
|
145
|
-
this._lastSubscription = this._loadObservable.subscribe(
|
|
147
|
+
this.setInProgress(this._initialMessage);
|
|
148
|
+
this._lastSubscription = this._loadObservable.subscribe({
|
|
149
|
+
next: this._resultFunction,
|
|
150
|
+
error: this._errorFunction,
|
|
151
|
+
complete: this._completeFunction
|
|
152
|
+
});
|
|
146
153
|
return this._lastSubscription;
|
|
147
154
|
}
|
|
148
155
|
setInProgress(message = null) {
|
|
@@ -162,13 +169,16 @@ class LoadingState {
|
|
|
162
169
|
this._lastSubscription.unsubscribe();
|
|
163
170
|
}
|
|
164
171
|
this.setInProgress(progressMessage);
|
|
165
|
-
const obs = observable.pipe(tap(
|
|
166
|
-
|
|
167
|
-
this.
|
|
172
|
+
const obs = observable.pipe(tap({
|
|
173
|
+
next: () => {
|
|
174
|
+
if (!saveAsLoadObservable && this.message) { // if message was used one time we clear it
|
|
175
|
+
this._message = null;
|
|
176
|
+
}
|
|
177
|
+
this.setCompleted();
|
|
178
|
+
},
|
|
179
|
+
error: (err) => {
|
|
180
|
+
this.setFailed(null, LoadingState.getErrorDetails(err));
|
|
168
181
|
}
|
|
169
|
-
this.setCompleted();
|
|
170
|
-
}, (err) => {
|
|
171
|
-
this.setFailed(null, LoadingState.getErrorDetails(err));
|
|
172
182
|
}));
|
|
173
183
|
if (saveAsLoadObservable) {
|
|
174
184
|
this._loadObservable = obs;
|
|
@@ -176,7 +186,11 @@ class LoadingState {
|
|
|
176
186
|
this._errorFunction = errorFunction;
|
|
177
187
|
this._completeFunction = completeFunction;
|
|
178
188
|
}
|
|
179
|
-
this._lastSubscription = obs.subscribe(
|
|
189
|
+
this._lastSubscription = obs.subscribe({
|
|
190
|
+
next: resultFunction,
|
|
191
|
+
error: errorFunction,
|
|
192
|
+
complete: completeFunction
|
|
193
|
+
});
|
|
180
194
|
return this._lastSubscription;
|
|
181
195
|
}
|
|
182
196
|
static getErrorDetails(error) {
|
|
@@ -237,9 +251,9 @@ class NucLoadedContentComponent {
|
|
|
237
251
|
this._errorDetailsVisible = true;
|
|
238
252
|
}
|
|
239
253
|
}
|
|
240
|
-
NucLoadedContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
241
|
-
NucLoadedContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.
|
|
242
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
254
|
+
NucLoadedContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: NucLoadedContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
255
|
+
NucLoadedContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.2", type: NucLoadedContentComponent, selector: "nuc-loaded-content-component", inputs: { completedTemplate: "completedTemplate", errorTemplate: "errorTemplate", inProgressTemplate: "inProgressTemplate", state: "state", inProgressMessage: "inProgressMessage", errorMessage: "errorMessage", showRetry: "showRetry" }, ngImport: i0, template: "<ng-container *ngIf=\"completed\">\r\n <ng-container *ngTemplateOutlet=\"completedTemplate\"></ng-container>\r\n</ng-container>\r\n\r\n<div class=\"indicators-container\" *ngIf=\"inProgress || failed\">\r\n <ng-container *ngIf=\"inProgress\">\r\n <ng-container *ngTemplateOutlet=\"inProgressTemplate ? inProgressTemplate: defaultInProgressTemplate\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"failed\">\r\n <ng-container *ngTemplateOutlet=\"errorTemplate ? errorTemplate: defaultErrorTemplate\"></ng-container>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-template #defaultInProgressTemplate>\r\n <div class=\"spinner\">\r\n <mat-spinner [diameter]=\"45\"></mat-spinner>\r\n </div>\r\n <p>\r\n {{message}}\r\n </p>\r\n</ng-template>\r\n\r\n<ng-template #defaultErrorTemplate>\r\n <div>\r\n <p class=\"message\">\r\n <span>{{message}}</span>\r\n <mat-icon *ngIf=\"state.errorDetails && !errorDetailsVisible\" class=\"info-button\" color=\"warn\" (click)=\"showErrorDetails()\">info</mat-icon>\r\n </p>\r\n\r\n <p *ngIf=\"errorDetailsVisible\" class=\"error-details mat-small\">\r\n {{state.errorDetails}}\r\n </p>\r\n\r\n <p *ngIf=\"showRetryButton\">\r\n <button mat-mini-fab color=\"primary\" (click)=\"state.retry()\">\r\n <mat-icon>refresh</mat-icon>\r\n </button>\r\n </p>\r\n </div>\r\n</ng-template>\r\n", styles: [".indicators-container{text-align:center;margin:0 auto;padding-top:4rem}.error-details{margin-top:1rem}.spinner{display:flex;justify-content:center;align-items:center;margin-bottom:.5rem}.message{display:flex;justify-content:center;align-items:center}.info-button{cursor:pointer;margin-left:.5rem}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
|
|
256
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: NucLoadedContentComponent, decorators: [{
|
|
243
257
|
type: Component,
|
|
244
258
|
args: [{ selector: 'nuc-loaded-content-component', template: "<ng-container *ngIf=\"completed\">\r\n <ng-container *ngTemplateOutlet=\"completedTemplate\"></ng-container>\r\n</ng-container>\r\n\r\n<div class=\"indicators-container\" *ngIf=\"inProgress || failed\">\r\n <ng-container *ngIf=\"inProgress\">\r\n <ng-container *ngTemplateOutlet=\"inProgressTemplate ? inProgressTemplate: defaultInProgressTemplate\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"failed\">\r\n <ng-container *ngTemplateOutlet=\"errorTemplate ? errorTemplate: defaultErrorTemplate\"></ng-container>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-template #defaultInProgressTemplate>\r\n <div class=\"spinner\">\r\n <mat-spinner [diameter]=\"45\"></mat-spinner>\r\n </div>\r\n <p>\r\n {{message}}\r\n </p>\r\n</ng-template>\r\n\r\n<ng-template #defaultErrorTemplate>\r\n <div>\r\n <p class=\"message\">\r\n <span>{{message}}</span>\r\n <mat-icon *ngIf=\"state.errorDetails && !errorDetailsVisible\" class=\"info-button\" color=\"warn\" (click)=\"showErrorDetails()\">info</mat-icon>\r\n </p>\r\n\r\n <p *ngIf=\"errorDetailsVisible\" class=\"error-details mat-small\">\r\n {{state.errorDetails}}\r\n </p>\r\n\r\n <p *ngIf=\"showRetryButton\">\r\n <button mat-mini-fab color=\"primary\" (click)=\"state.retry()\">\r\n <mat-icon>refresh</mat-icon>\r\n </button>\r\n </p>\r\n </div>\r\n</ng-template>\r\n", styles: [".indicators-container{text-align:center;margin:0 auto;padding-top:4rem}.error-details{margin-top:1rem}.spinner{display:flex;justify-content:center;align-items:center;margin-bottom:.5rem}.message{display:flex;justify-content:center;align-items:center}.info-button{cursor:pointer;margin-left:.5rem}\n"] }]
|
|
245
259
|
}], propDecorators: { completedTemplate: [{
|
|
@@ -309,9 +323,9 @@ class NucLoadedContentDirective {
|
|
|
309
323
|
}
|
|
310
324
|
}
|
|
311
325
|
}
|
|
312
|
-
NucLoadedContentDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
313
|
-
NucLoadedContentDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.
|
|
314
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
326
|
+
NucLoadedContentDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: NucLoadedContentDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Directive });
|
|
327
|
+
NucLoadedContentDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.2", type: NucLoadedContentDirective, selector: "[nucLoadedContent]", inputs: { nucLoadedContent: "nucLoadedContent", errorTemplate: ["nucLoadedContentError", "errorTemplate"], inProgressTemplate: ["nucLoadedContentInProgress", "inProgressTemplate"], inProgressMessage: ["nucLoadedContentInProgressMessage", "inProgressMessage"], errorMessage: ["nucLoadedContentErrorMessage", "errorMessage"], showRetry: ["nucLoadedContentShowRetry", "showRetry"] }, ngImport: i0 });
|
|
328
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: NucLoadedContentDirective, decorators: [{
|
|
315
329
|
type: Directive,
|
|
316
330
|
args: [{ selector: '[nucLoadedContent]' }]
|
|
317
331
|
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.TemplateRef }, { type: i0.ComponentFactoryResolver }]; }, propDecorators: { nucLoadedContent: [{
|
|
@@ -335,17 +349,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
|
|
|
335
349
|
|
|
336
350
|
class NucLoadedContentModule {
|
|
337
351
|
}
|
|
338
|
-
NucLoadedContentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
339
|
-
NucLoadedContentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.
|
|
352
|
+
NucLoadedContentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: NucLoadedContentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
353
|
+
NucLoadedContentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.2", ngImport: i0, type: NucLoadedContentModule, declarations: [NucLoadedContentDirective,
|
|
340
354
|
NucLoadedContentComponent], imports: [CommonModule,
|
|
341
355
|
MatProgressSpinnerModule,
|
|
342
356
|
MatButtonModule,
|
|
343
357
|
MatIconModule], exports: [NucLoadedContentDirective] });
|
|
344
|
-
NucLoadedContentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.
|
|
358
|
+
NucLoadedContentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: NucLoadedContentModule, imports: [CommonModule,
|
|
345
359
|
MatProgressSpinnerModule,
|
|
346
360
|
MatButtonModule,
|
|
347
361
|
MatIconModule] });
|
|
348
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
362
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: NucLoadedContentModule, decorators: [{
|
|
349
363
|
type: NgModule,
|
|
350
364
|
args: [{
|
|
351
365
|
declarations: [
|
|
@@ -416,9 +430,9 @@ class NativeStylingService {
|
|
|
416
430
|
return Windows.UI.ColorHelper.fromArgb(color.a, color.r * factor, color.g * factor, color.b * factor);
|
|
417
431
|
}
|
|
418
432
|
}
|
|
419
|
-
NativeStylingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
420
|
-
NativeStylingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.
|
|
421
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
433
|
+
NativeStylingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: NativeStylingService, deps: [{ token: i1$2.Router }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
434
|
+
NativeStylingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: NativeStylingService, providedIn: 'root' });
|
|
435
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: NativeStylingService, decorators: [{
|
|
422
436
|
type: Injectable,
|
|
423
437
|
args: [{
|
|
424
438
|
providedIn: 'root'
|
|
@@ -483,19 +497,19 @@ class NucSwipeTabsDirective {
|
|
|
483
497
|
return offset;
|
|
484
498
|
}
|
|
485
499
|
}
|
|
486
|
-
NucSwipeTabsDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
487
|
-
NucSwipeTabsDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.
|
|
488
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
500
|
+
NucSwipeTabsDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: NucSwipeTabsDirective, deps: [{ token: i0.ElementRef }, { token: i1$3.MatTabGroup }], target: i0.ɵɵFactoryTarget.Directive });
|
|
501
|
+
NucSwipeTabsDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.2", type: NucSwipeTabsDirective, selector: "[nucSwipe]", ngImport: i0 });
|
|
502
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: NucSwipeTabsDirective, decorators: [{
|
|
489
503
|
type: Directive,
|
|
490
504
|
args: [{ selector: '[nucSwipe]' }]
|
|
491
505
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1$3.MatTabGroup }]; } });
|
|
492
506
|
|
|
493
507
|
class NucSwipeTabsModule {
|
|
494
508
|
}
|
|
495
|
-
NucSwipeTabsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
496
|
-
NucSwipeTabsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.
|
|
497
|
-
NucSwipeTabsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.
|
|
498
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
509
|
+
NucSwipeTabsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: NucSwipeTabsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
510
|
+
NucSwipeTabsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.2", ngImport: i0, type: NucSwipeTabsModule, declarations: [NucSwipeTabsDirective], imports: [CommonModule], exports: [NucSwipeTabsDirective] });
|
|
511
|
+
NucSwipeTabsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: NucSwipeTabsModule, imports: [CommonModule] });
|
|
512
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: NucSwipeTabsModule, decorators: [{
|
|
499
513
|
type: NgModule,
|
|
500
514
|
args: [{
|
|
501
515
|
declarations: [
|
|
@@ -510,32 +524,78 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
|
|
|
510
524
|
}]
|
|
511
525
|
}] });
|
|
512
526
|
|
|
527
|
+
var NucSnackbarType;
|
|
528
|
+
(function (NucSnackbarType) {
|
|
529
|
+
NucSnackbarType["Info"] = "info";
|
|
530
|
+
NucSnackbarType["Warning"] = "warning";
|
|
531
|
+
NucSnackbarType["Danger"] = "danger";
|
|
532
|
+
NucSnackbarType["Success"] = "success";
|
|
533
|
+
NucSnackbarType["Progress"] = "progress";
|
|
534
|
+
})(NucSnackbarType || (NucSnackbarType = {}));
|
|
535
|
+
|
|
536
|
+
class ProgressSnackbarComponent {
|
|
537
|
+
constructor(data, elem) {
|
|
538
|
+
this.data = data;
|
|
539
|
+
this.elem = elem;
|
|
540
|
+
}
|
|
541
|
+
ngAfterViewInit() {
|
|
542
|
+
const element = this.elem.nativeElement;
|
|
543
|
+
const circle = element.querySelector('circle');
|
|
544
|
+
const message = element.querySelector('.message');
|
|
545
|
+
const color = window.getComputedStyle(message).color;
|
|
546
|
+
circle.style.stroke = color;
|
|
547
|
+
}
|
|
548
|
+
}
|
|
549
|
+
ProgressSnackbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: ProgressSnackbarComponent, deps: [{ token: MAT_SNACK_BAR_DATA }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
550
|
+
ProgressSnackbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.2", type: ProgressSnackbarComponent, selector: "lib-progress-snackbar", host: { classAttribute: "mat-simple-snackbar" }, ngImport: i0, template: "<div class=\"mat-simple-snack-bar-content message\">\r\n <mat-spinner style=\"vertical-align: middle; display: inline-flex; margin-right: 8px;\" diameter=\"16\" strokeWidth=\"1.5\" mode=\"indeterminate\" class=\"spinner\" color=\"red\"></mat-spinner>\r\n {{data.message}}\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "component", type: i2.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
551
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: ProgressSnackbarComponent, decorators: [{
|
|
552
|
+
type: Component,
|
|
553
|
+
args: [{ selector: 'lib-progress-snackbar', encapsulation: ViewEncapsulation.None, host: {
|
|
554
|
+
class: 'mat-simple-snackbar',
|
|
555
|
+
}, template: "<div class=\"mat-simple-snack-bar-content message\">\r\n <mat-spinner style=\"vertical-align: middle; display: inline-flex; margin-right: 8px;\" diameter=\"16\" strokeWidth=\"1.5\" mode=\"indeterminate\" class=\"spinner\" color=\"red\"></mat-spinner>\r\n {{data.message}}\r\n</div>\r\n" }]
|
|
556
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
557
|
+
type: Inject,
|
|
558
|
+
args: [MAT_SNACK_BAR_DATA]
|
|
559
|
+
}] }, { type: i0.ElementRef }]; } });
|
|
560
|
+
|
|
513
561
|
class NucSnackbarService {
|
|
514
|
-
constructor(
|
|
515
|
-
this.
|
|
516
|
-
this.
|
|
562
|
+
constructor(matSnackBar, zone) {
|
|
563
|
+
this.matSnackBar = matSnackBar;
|
|
564
|
+
this.zone = zone;
|
|
517
565
|
}
|
|
518
566
|
openSnackbar(type, message, action, duration) {
|
|
519
567
|
let snackbarRef;
|
|
520
|
-
this.
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
568
|
+
this.zone.run(() => {
|
|
569
|
+
const panelClass = `${type}-snackbar`;
|
|
570
|
+
if (type === NucSnackbarType.Progress) {
|
|
571
|
+
snackbarRef = this.matSnackBar.openFromComponent(ProgressSnackbarComponent, {
|
|
572
|
+
duration,
|
|
573
|
+
panelClass,
|
|
574
|
+
data: {
|
|
575
|
+
message
|
|
576
|
+
}
|
|
577
|
+
});
|
|
578
|
+
}
|
|
579
|
+
else {
|
|
580
|
+
snackbarRef = this.matSnackBar.open(message, action, {
|
|
581
|
+
duration,
|
|
582
|
+
panelClass
|
|
583
|
+
});
|
|
584
|
+
}
|
|
525
585
|
});
|
|
526
586
|
return snackbarRef;
|
|
527
587
|
}
|
|
528
588
|
openSnackbarWithConfig(message, action, config) {
|
|
529
589
|
let snackbarRef;
|
|
530
|
-
this.
|
|
531
|
-
snackbarRef = this.
|
|
590
|
+
this.zone.run(() => {
|
|
591
|
+
snackbarRef = this.matSnackBar.open(message, action, config);
|
|
532
592
|
});
|
|
533
593
|
return snackbarRef;
|
|
534
594
|
}
|
|
535
595
|
}
|
|
536
|
-
NucSnackbarService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
537
|
-
NucSnackbarService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.
|
|
538
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
596
|
+
NucSnackbarService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: NucSnackbarService, deps: [{ token: i1$4.MatSnackBar }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
597
|
+
NucSnackbarService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: NucSnackbarService, providedIn: 'root' });
|
|
598
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: NucSnackbarService, decorators: [{
|
|
539
599
|
type: Injectable,
|
|
540
600
|
args: [{
|
|
541
601
|
providedIn: 'root'
|
|
@@ -544,31 +604,31 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
|
|
|
544
604
|
|
|
545
605
|
class NucSnackbarModule {
|
|
546
606
|
}
|
|
547
|
-
NucSnackbarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
548
|
-
NucSnackbarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.
|
|
549
|
-
MatSnackBarModule
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
607
|
+
NucSnackbarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: NucSnackbarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
608
|
+
NucSnackbarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.2", ngImport: i0, type: NucSnackbarModule, declarations: [ProgressSnackbarComponent], imports: [CommonModule,
|
|
609
|
+
MatSnackBarModule,
|
|
610
|
+
MatProgressSpinnerModule] });
|
|
611
|
+
NucSnackbarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: NucSnackbarModule, imports: [CommonModule,
|
|
612
|
+
MatSnackBarModule,
|
|
613
|
+
MatProgressSpinnerModule] });
|
|
614
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: NucSnackbarModule, decorators: [{
|
|
553
615
|
type: NgModule,
|
|
554
616
|
args: [{
|
|
555
|
-
declarations: [
|
|
617
|
+
declarations: [
|
|
618
|
+
ProgressSnackbarComponent
|
|
619
|
+
],
|
|
556
620
|
imports: [
|
|
557
621
|
CommonModule,
|
|
558
|
-
MatSnackBarModule
|
|
622
|
+
MatSnackBarModule,
|
|
623
|
+
MatProgressSpinnerModule
|
|
624
|
+
],
|
|
625
|
+
entryComponents: [
|
|
626
|
+
ProgressSnackbarComponent
|
|
559
627
|
],
|
|
560
628
|
exports: []
|
|
561
629
|
}]
|
|
562
630
|
}] });
|
|
563
631
|
|
|
564
|
-
var NucSnackbarType;
|
|
565
|
-
(function (NucSnackbarType) {
|
|
566
|
-
NucSnackbarType["Info"] = "info";
|
|
567
|
-
NucSnackbarType["Warning"] = "warning";
|
|
568
|
-
NucSnackbarType["Danger"] = "danger";
|
|
569
|
-
NucSnackbarType["Success"] = "success";
|
|
570
|
-
})(NucSnackbarType || (NucSnackbarType = {}));
|
|
571
|
-
|
|
572
632
|
class NucUserAvatarComponent {
|
|
573
633
|
constructor() {
|
|
574
634
|
this.size = 'medium';
|
|
@@ -601,9 +661,9 @@ class NucUserAvatarComponent {
|
|
|
601
661
|
return `hsl(${hue},${saturation}%,${lightness}%)`;
|
|
602
662
|
}
|
|
603
663
|
}
|
|
604
|
-
NucUserAvatarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
605
|
-
NucUserAvatarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.
|
|
606
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
664
|
+
NucUserAvatarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: NucUserAvatarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
665
|
+
NucUserAvatarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.2", type: NucUserAvatarComponent, selector: "nuc-user-avatar", inputs: { name: "name", image: "image", size: "size", background: "background" }, ngImport: i0, template: "<ng-container *ngIf=\"image\">\r\n <div class=\"user-avatar size-{{size}}\">\r\n <img src=\"{{image}}\" />\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"!image\">\r\n <div class=\"user-avatar size-{{size}} unselectable\" [style.background-color]=\"getHslString()\" [ngClass]=\"{'white-text': background, 'black-text border': !background}\">\r\n {{getUserInitials()}}\r\n </div>\r\n</ng-container>\r\n", styles: [".user-avatar{display:flex;align-items:center;justify-content:center;border-radius:50%;position:relative;text-align:center;font-weight:400}.user-avatar img{object-fit:contain;width:inherit;height:inherit;border-radius:50%}.white-text{color:#fff}.black-text{color:#333}.unselectable{-webkit-user-select:none;user-select:none}.border{border:2px solid #333333}.user-avatar.size-small{height:24px;width:24px;font-size:.8em;line-height:24px}.user-avatar.size-medium{height:40px;width:40px;font-size:1.2em;line-height:40px}.user-avatar.size-large{height:64px;width:64px;font-size:2em;line-height:64px}.user-avatar.size-xlarge{height:90px;width:90px;font-size:3em;line-height:90px}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
666
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: NucUserAvatarComponent, decorators: [{
|
|
607
667
|
type: Component,
|
|
608
668
|
args: [{ selector: 'nuc-user-avatar', template: "<ng-container *ngIf=\"image\">\r\n <div class=\"user-avatar size-{{size}}\">\r\n <img src=\"{{image}}\" />\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"!image\">\r\n <div class=\"user-avatar size-{{size}} unselectable\" [style.background-color]=\"getHslString()\" [ngClass]=\"{'white-text': background, 'black-text border': !background}\">\r\n {{getUserInitials()}}\r\n </div>\r\n</ng-container>\r\n", styles: [".user-avatar{display:flex;align-items:center;justify-content:center;border-radius:50%;position:relative;text-align:center;font-weight:400}.user-avatar img{object-fit:contain;width:inherit;height:inherit;border-radius:50%}.white-text{color:#fff}.black-text{color:#333}.unselectable{-webkit-user-select:none;user-select:none}.border{border:2px solid #333333}.user-avatar.size-small{height:24px;width:24px;font-size:.8em;line-height:24px}.user-avatar.size-medium{height:40px;width:40px;font-size:1.2em;line-height:40px}.user-avatar.size-large{height:64px;width:64px;font-size:2em;line-height:64px}.user-avatar.size-xlarge{height:90px;width:90px;font-size:3em;line-height:90px}\n"] }]
|
|
609
669
|
}], ctorParameters: function () { return []; }, propDecorators: { name: [{
|
|
@@ -618,10 +678,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
|
|
|
618
678
|
|
|
619
679
|
class NucUserAvatarModule {
|
|
620
680
|
}
|
|
621
|
-
NucUserAvatarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
622
|
-
NucUserAvatarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.
|
|
623
|
-
NucUserAvatarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.
|
|
624
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
681
|
+
NucUserAvatarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: NucUserAvatarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
682
|
+
NucUserAvatarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.2", ngImport: i0, type: NucUserAvatarModule, declarations: [NucUserAvatarComponent], imports: [CommonModule], exports: [NucUserAvatarComponent] });
|
|
683
|
+
NucUserAvatarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: NucUserAvatarModule, imports: [CommonModule] });
|
|
684
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: NucUserAvatarModule, decorators: [{
|
|
625
685
|
type: NgModule,
|
|
626
686
|
args: [{
|
|
627
687
|
declarations: [
|