@kolektor/nucleus-material 0.0.12-pre.7931 → 0.1.130-pre.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/README.md +7 -0
  2. package/esm2022/index.mjs +24 -0
  3. package/esm2022/kolektor-nucleus-material.mjs +5 -0
  4. package/esm2022/lib/dialog/dialog.component.mjs +22 -0
  5. package/esm2022/lib/dialog/dialog.module.mjs +19 -0
  6. package/esm2022/lib/dialog/dialog.service.mjs +45 -0
  7. package/esm2022/lib/dialog/models.mjs +10 -0
  8. package/esm2022/lib/loaded-content/loaded-content-component.mjs +72 -0
  9. package/esm2022/lib/loaded-content/loaded-content-directive.mjs +78 -0
  10. package/esm2022/lib/loaded-content/loaded-content-module.mjs +33 -0
  11. package/esm2022/lib/loaded-content/loading-state.mjs +105 -0
  12. package/esm2022/lib/snackbar/models.mjs +9 -0
  13. package/esm2022/lib/snackbar/progress-snackbar/progress-snackbar.component.mjs +31 -0
  14. package/esm2022/lib/snackbar/snackbar.module.mjs +20 -0
  15. package/esm2022/lib/snackbar/snackbar.service.mjs +51 -0
  16. package/esm2022/lib/swipe-tabs/swipe-tabs-directive.mjs +58 -0
  17. package/esm2022/lib/swipe-tabs/swipe-tabs-module.mjs +18 -0
  18. package/esm2022/lib/user-avatar/user-avatar-component.mjs +52 -0
  19. package/esm2022/lib/user-avatar/user-avatar-module.mjs +18 -0
  20. package/fesm2022/kolektor-nucleus-material.mjs +598 -0
  21. package/fesm2022/kolektor-nucleus-material.mjs.map +1 -0
  22. package/index.d.ts +17 -5
  23. package/lib/dialog/dialog.component.d.ts +10 -10
  24. package/lib/dialog/dialog.module.d.ts +10 -10
  25. package/lib/dialog/dialog.service.d.ts +17 -17
  26. package/lib/dialog/models.d.ts +24 -24
  27. package/lib/loaded-content/loaded-content-component.d.ts +22 -22
  28. package/lib/loaded-content/loaded-content-directive.d.ts +23 -23
  29. package/lib/loaded-content/loaded-content-module.d.ts +12 -12
  30. package/lib/loaded-content/loading-state.d.ts +32 -32
  31. package/lib/snackbar/models.d.ts +7 -7
  32. package/lib/snackbar/progress-snackbar/progress-snackbar.component.d.ts +10 -10
  33. package/lib/snackbar/snackbar.module.d.ts +10 -10
  34. package/lib/snackbar/snackbar.service.d.ts +13 -13
  35. package/lib/swipe-tabs/swipe-tabs-directive.d.ts +11 -11
  36. package/lib/swipe-tabs/swipe-tabs-module.d.ts +8 -8
  37. package/lib/user-avatar/user-avatar-component.d.ts +13 -14
  38. package/lib/user-avatar/user-avatar-module.d.ts +8 -8
  39. package/package.json +24 -29
  40. package/esm2020/kolektor-nucleus-material.mjs +0 -5
  41. package/esm2020/lib/dialog/dialog.component.mjs +0 -22
  42. package/esm2020/lib/dialog/dialog.module.mjs +0 -29
  43. package/esm2020/lib/dialog/dialog.service.mjs +0 -40
  44. package/esm2020/lib/dialog/models.mjs +0 -10
  45. package/esm2020/lib/loaded-content/loaded-content-component.mjs +0 -71
  46. package/esm2020/lib/loaded-content/loaded-content-directive.mjs +0 -79
  47. package/esm2020/lib/loaded-content/loaded-content-module.mjs +0 -39
  48. package/esm2020/lib/loaded-content/loading-state.mjs +0 -107
  49. package/esm2020/lib/native-styling/models.mjs +0 -9
  50. package/esm2020/lib/native-styling/native-styling.service.mjs +0 -67
  51. package/esm2020/lib/snackbar/models.mjs +0 -9
  52. package/esm2020/lib/snackbar/progress-snackbar/progress-snackbar.component.mjs +0 -29
  53. package/esm2020/lib/snackbar/snackbar.module.mjs +0 -33
  54. package/esm2020/lib/snackbar/snackbar.service.mjs +0 -50
  55. package/esm2020/lib/swipe-tabs/swipe-tabs-directive.mjs +0 -54
  56. package/esm2020/lib/swipe-tabs/swipe-tabs-module.mjs +0 -24
  57. package/esm2020/lib/user-avatar/user-avatar-component.mjs +0 -50
  58. package/esm2020/lib/user-avatar/user-avatar-module.mjs +0 -24
  59. package/esm2020/public-api.mjs +0 -30
  60. package/fesm2015/kolektor-nucleus-material.mjs +0 -712
  61. package/fesm2015/kolektor-nucleus-material.mjs.map +0 -1
  62. package/fesm2020/kolektor-nucleus-material.mjs +0 -704
  63. package/fesm2020/kolektor-nucleus-material.mjs.map +0 -1
  64. package/lib/native-styling/models.d.ts +0 -7
  65. package/lib/native-styling/native-styling.service.d.ts +0 -14
  66. package/public-api.d.ts +0 -19
package/README.md ADDED
@@ -0,0 +1,7 @@
1
+ # nucleus-material
2
+
3
+ This library was generated with [Nx](https://nx.dev).
4
+
5
+ ## Running unit tests
6
+
7
+ Run `nx test nucleus-material` to execute the unit tests.
@@ -0,0 +1,24 @@
1
+ // dialog
2
+ export * from './lib/dialog/dialog.service';
3
+ export * from './lib/dialog/dialog.module';
4
+ export * from './lib/dialog/models';
5
+ // loaded-content
6
+ export * from './lib/loaded-content/loading-state';
7
+ export * from './lib/loaded-content/loaded-content-component';
8
+ export * from './lib/loaded-content/loaded-content-directive';
9
+ export * from './lib/loaded-content/loaded-content-module';
10
+ // swipe-tabs
11
+ export * from './lib/swipe-tabs/swipe-tabs-directive';
12
+ export * from './lib/swipe-tabs/swipe-tabs-module';
13
+ // dialog component
14
+ export * from './lib/dialog/dialog.service';
15
+ export * from './lib/dialog/dialog.module';
16
+ export * from './lib/dialog/models';
17
+ // snackbar component
18
+ export * from './lib/snackbar/snackbar.service';
19
+ export * from './lib/snackbar/snackbar.module';
20
+ export * from './lib/snackbar/models';
21
+ // user-avatar
22
+ export * from './lib/user-avatar/user-avatar-component';
23
+ export * from './lib/user-avatar/user-avatar-module';
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nL251Y2xldXMvbnVjbGV1cy1tYXRlcmlhbC9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsU0FBUztBQUNULGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLHFCQUFxQixDQUFDO0FBRXBDLGlCQUFpQjtBQUNqQixjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLDRDQUE0QyxDQUFDO0FBRTNELGFBQWE7QUFDYixjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsb0NBQW9DLENBQUM7QUFFbkQsbUJBQW1CO0FBQ25CLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLHFCQUFxQixDQUFDO0FBRXBDLHFCQUFxQjtBQUNyQixjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyx1QkFBdUIsQ0FBQztBQUV0QyxjQUFjO0FBQ2QsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLHNDQUFzQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gZGlhbG9nXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaWFsb2cvZGlhbG9nLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlhbG9nL2RpYWxvZy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlhbG9nL21vZGVscyc7XG5cbi8vIGxvYWRlZC1jb250ZW50XG5leHBvcnQgKiBmcm9tICcuL2xpYi9sb2FkZWQtY29udGVudC9sb2FkaW5nLXN0YXRlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2xvYWRlZC1jb250ZW50L2xvYWRlZC1jb250ZW50LWNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9sb2FkZWQtY29udGVudC9sb2FkZWQtY29udGVudC1kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbG9hZGVkLWNvbnRlbnQvbG9hZGVkLWNvbnRlbnQtbW9kdWxlJztcblxuLy8gc3dpcGUtdGFic1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3dpcGUtdGFicy9zd2lwZS10YWJzLWRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zd2lwZS10YWJzL3N3aXBlLXRhYnMtbW9kdWxlJztcblxuLy8gZGlhbG9nIGNvbXBvbmVudFxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlhbG9nL2RpYWxvZy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpYWxvZy9kaWFsb2cubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpYWxvZy9tb2RlbHMnO1xuXG4vLyBzbmFja2JhciBjb21wb25lbnRcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NuYWNrYmFyL3NuYWNrYmFyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc25hY2tiYXIvc25hY2tiYXIubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NuYWNrYmFyL21vZGVscyc7XG5cbi8vIHVzZXItYXZhdGFyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91c2VyLWF2YXRhci91c2VyLWF2YXRhci1jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdXNlci1hdmF0YXIvdXNlci1hdmF0YXItbW9kdWxlJztcbiJdfQ==
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia29sZWt0b3ItbnVjbGV1cy1tYXRlcmlhbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmcvbnVjbGV1cy9udWNsZXVzLW1hdGVyaWFsL3NyYy9rb2xla3Rvci1udWNsZXVzLW1hdGVyaWFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
@@ -0,0 +1,22 @@
1
+ import { Component, Inject } from '@angular/core';
2
+ import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/material/dialog";
5
+ import * as i2 from "@angular/common";
6
+ import * as i3 from "@angular/material/button";
7
+ export class NucDialogComponent {
8
+ constructor(dialogRef, dialogData) {
9
+ this.dialogRef = dialogRef;
10
+ this.dialogData = dialogData;
11
+ }
12
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NucDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
13
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: NucDialogComponent, selector: "nuc-dialog", ngImport: i0, template: "<ng-container *ngIf=\"dialogData\">\n <h2 mat-dialog-title *ngIf=\"dialogData.title\">\n {{ dialogData.title }}\n </h2>\n <mat-dialog-content>{{ dialogData.message }}</mat-dialog-content>\n <mat-dialog-actions>\n <ng-container *ngFor=\"let action of dialogData.actions\">\n <button\n color=\"{{ action.color || 'primary' }}\"\n *ngIf=\"action.value === undefined\"\n mat-button\n mat-dialog-close\n >\n {{ action.text }}\n </button>\n <button\n color=\"{{ action.color || 'primary' }}\"\n *ngIf=\"action.value !== undefined\"\n mat-button\n [mat-dialog-close]=\"action.value\"\n >\n {{ action.text }}\n </button>\n </ng-container>\n </mat-dialog-actions>\n</ng-container>\n", styles: ["mat-dialog-actions{justify-content:flex-end}mat-dialog-content{white-space:pre-wrap}button{text-transform:uppercase;font-weight:700}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.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-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }] }); }
14
+ }
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NucDialogComponent, decorators: [{
16
+ type: Component,
17
+ args: [{ selector: 'nuc-dialog', template: "<ng-container *ngIf=\"dialogData\">\n <h2 mat-dialog-title *ngIf=\"dialogData.title\">\n {{ dialogData.title }}\n </h2>\n <mat-dialog-content>{{ dialogData.message }}</mat-dialog-content>\n <mat-dialog-actions>\n <ng-container *ngFor=\"let action of dialogData.actions\">\n <button\n color=\"{{ action.color || 'primary' }}\"\n *ngIf=\"action.value === undefined\"\n mat-button\n mat-dialog-close\n >\n {{ action.text }}\n </button>\n <button\n color=\"{{ action.color || 'primary' }}\"\n *ngIf=\"action.value !== undefined\"\n mat-button\n [mat-dialog-close]=\"action.value\"\n >\n {{ action.text }}\n </button>\n </ng-container>\n </mat-dialog-actions>\n</ng-container>\n", styles: ["mat-dialog-actions{justify-content:flex-end}mat-dialog-content{white-space:pre-wrap}button{text-transform:uppercase;font-weight:700}\n"] }]
18
+ }], ctorParameters: function () { return [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
19
+ type: Inject,
20
+ args: [MAT_DIALOG_DATA]
21
+ }] }]; } });
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmcvbnVjbGV1cy9udWNsZXVzLW1hdGVyaWFsL3NyYy9saWIvZGlhbG9nL2RpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nL251Y2xldXMvbnVjbGV1cy1tYXRlcmlhbC9zcmMvbGliL2RpYWxvZy9kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7QUFTekUsTUFBTSxPQUFPLGtCQUFrQjtJQUM3QixZQUNTLFNBQTJDLEVBQ2xCLFVBQXlCO1FBRGxELGNBQVMsR0FBVCxTQUFTLENBQWtDO1FBQ2xCLGVBQVUsR0FBVixVQUFVLENBQWU7SUFDeEQsQ0FBQzsrR0FKTyxrQkFBa0IsOENBR25CLGVBQWU7bUdBSGQsa0JBQWtCLGtEQ1YvQixxeEJBMEJBOzs0RkRoQmEsa0JBQWtCO2tCQU45QixTQUFTOytCQUVFLFlBQVk7OzBCQU9uQixNQUFNOzJCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nUmVmLCBNQVRfRElBTE9HX0RBVEEgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgTnVjRGlhbG9nRGF0YSB9IGZyb20gJy4vbW9kZWxzJztcblxuQENvbXBvbmVudCh7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG4gIHNlbGVjdG9yOiAnbnVjLWRpYWxvZycsXG4gIHRlbXBsYXRlVXJsOiAnLi9kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kaWFsb2cuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgTnVjRGlhbG9nQ29tcG9uZW50IHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPE51Y0RpYWxvZ0NvbXBvbmVudD4sXG4gICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBkaWFsb2dEYXRhOiBOdWNEaWFsb2dEYXRhXG4gICkge31cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJkaWFsb2dEYXRhXCI+XG4gIDxoMiBtYXQtZGlhbG9nLXRpdGxlICpuZ0lmPVwiZGlhbG9nRGF0YS50aXRsZVwiPlxuICAgIHt7IGRpYWxvZ0RhdGEudGl0bGUgfX1cbiAgPC9oMj5cbiAgPG1hdC1kaWFsb2ctY29udGVudD57eyBkaWFsb2dEYXRhLm1lc3NhZ2UgfX08L21hdC1kaWFsb2ctY29udGVudD5cbiAgPG1hdC1kaWFsb2ctYWN0aW9ucz5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBhY3Rpb24gb2YgZGlhbG9nRGF0YS5hY3Rpb25zXCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIGNvbG9yPVwie3sgYWN0aW9uLmNvbG9yIHx8ICdwcmltYXJ5JyB9fVwiXG4gICAgICAgICpuZ0lmPVwiYWN0aW9uLnZhbHVlID09PSB1bmRlZmluZWRcIlxuICAgICAgICBtYXQtYnV0dG9uXG4gICAgICAgIG1hdC1kaWFsb2ctY2xvc2VcbiAgICAgID5cbiAgICAgICAge3sgYWN0aW9uLnRleHQgfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBjb2xvcj1cInt7IGFjdGlvbi5jb2xvciB8fCAncHJpbWFyeScgfX1cIlxuICAgICAgICAqbmdJZj1cImFjdGlvbi52YWx1ZSAhPT0gdW5kZWZpbmVkXCJcbiAgICAgICAgbWF0LWJ1dHRvblxuICAgICAgICBbbWF0LWRpYWxvZy1jbG9zZV09XCJhY3Rpb24udmFsdWVcIlxuICAgICAgPlxuICAgICAgICB7eyBhY3Rpb24udGV4dCB9fVxuICAgICAgPC9idXR0b24+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbWF0LWRpYWxvZy1hY3Rpb25zPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
@@ -0,0 +1,19 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { MatButtonModule } from '@angular/material/button';
4
+ import { MatDialogModule } from '@angular/material/dialog';
5
+ import { NucDialogComponent } from './dialog.component';
6
+ import * as i0 from "@angular/core";
7
+ export class NucDialogModule {
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NucDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
9
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: NucDialogModule, declarations: [NucDialogComponent], imports: [CommonModule, MatDialogModule, MatButtonModule] }); }
10
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NucDialogModule, imports: [CommonModule, MatDialogModule, MatButtonModule] }); }
11
+ }
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NucDialogModule, decorators: [{
13
+ type: NgModule,
14
+ args: [{
15
+ declarations: [NucDialogComponent],
16
+ imports: [CommonModule, MatDialogModule, MatButtonModule],
17
+ }]
18
+ }] });
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmcvbnVjbGV1cy9udWNsZXVzLW1hdGVyaWFsL3NyYy9saWIvZGlhbG9nL2RpYWxvZy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7QUFNeEQsTUFBTSxPQUFPLGVBQWU7K0dBQWYsZUFBZTtnSEFBZixlQUFlLGlCQUhYLGtCQUFrQixhQUN2QixZQUFZLEVBQUUsZUFBZSxFQUFFLGVBQWU7Z0hBRTdDLGVBQWUsWUFGaEIsWUFBWSxFQUFFLGVBQWUsRUFBRSxlQUFlOzs0RkFFN0MsZUFBZTtrQkFKM0IsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztvQkFDbEMsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGVBQWUsRUFBRSxlQUFlLENBQUM7aUJBQzFEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0RGlhbG9nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IE51Y0RpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vZGlhbG9nLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW051Y0RpYWxvZ0NvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE1hdERpYWxvZ01vZHVsZSwgTWF0QnV0dG9uTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgTnVjRGlhbG9nTW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,45 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { MatDialog } from '@angular/material/dialog';
3
+ import { NucDialogComponent } from './dialog.component';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/material/dialog";
6
+ export class NucDialogService {
7
+ constructor(_matDialog) {
8
+ this._matDialog = _matDialog;
9
+ }
10
+ /**
11
+ * Opens a NucDialog with content from dialogData.
12
+ *
13
+ * @param dialogData NucDialogData containing title, message and possible actions.
14
+ * @param dialogConfig Extra configuration options. Data property is ignored, since it will be set to dialogData.
15
+ * @returns a promise with value that was specified inside pressed Nucleus action.
16
+ */
17
+ async open(dialogData, dialogConfig
18
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
19
+ ) {
20
+ if (dialogData.actions && dialogData.actions.length > 0) {
21
+ if (dialogConfig) {
22
+ dialogConfig.data = dialogData;
23
+ }
24
+ else {
25
+ dialogConfig = { data: dialogData };
26
+ }
27
+ return await this._matDialog
28
+ .open(NucDialogComponent, dialogConfig)
29
+ .beforeClosed()
30
+ .toPromise();
31
+ }
32
+ else {
33
+ console.error('Nucleus.AppCore: NucDialogData requires at least one action.');
34
+ }
35
+ }
36
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NucDialogService, deps: [{ token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Injectable }); }
37
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NucDialogService, providedIn: 'root' }); }
38
+ }
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NucDialogService, decorators: [{
40
+ type: Injectable,
41
+ args: [{
42
+ providedIn: 'root',
43
+ }]
44
+ }], ctorParameters: function () { return [{ type: i1.MatDialog }]; } });
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nL251Y2xldXMvbnVjbGV1cy1tYXRlcmlhbC9zcmMvbGliL2RpYWxvZy9kaWFsb2cuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQW1CLE1BQU0sMEJBQTBCLENBQUM7QUFFdEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7OztBQUt4RCxNQUFNLE9BQU8sZ0JBQWdCO0lBQzNCLFlBQW9CLFVBQXFCO1FBQXJCLGVBQVUsR0FBVixVQUFVLENBQVc7SUFBRyxDQUFDO0lBRTdDOzs7Ozs7T0FNRztJQUNJLEtBQUssQ0FBQyxJQUFJLENBQ2YsVUFBeUIsRUFDekIsWUFBOEI7SUFDOUIsOERBQThEOztRQUU5RCxJQUFJLFVBQVUsQ0FBQyxPQUFPLElBQUksVUFBVSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3ZELElBQUksWUFBWSxFQUFFO2dCQUNoQixZQUFZLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQzthQUNoQztpQkFBTTtnQkFDTCxZQUFZLEdBQUcsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLENBQUM7YUFDckM7WUFDRCxPQUFPLE1BQU0sSUFBSSxDQUFDLFVBQVU7aUJBQ3pCLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxZQUFZLENBQUM7aUJBQ3RDLFlBQVksRUFBRTtpQkFDZCxTQUFTLEVBQUUsQ0FBQztTQUNoQjthQUFNO1lBQ0wsT0FBTyxDQUFDLEtBQUssQ0FDWCw4REFBOEQsQ0FDL0QsQ0FBQztTQUNIO0lBQ0gsQ0FBQzsrR0E5QlUsZ0JBQWdCO21IQUFoQixnQkFBZ0IsY0FGZixNQUFNOzs0RkFFUCxnQkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nLCBNYXREaWFsb2dDb25maWcgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgTnVjRGlhbG9nRGF0YSB9IGZyb20gJy4vbW9kZWxzJztcbmltcG9ydCB7IE51Y0RpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vZGlhbG9nLmNvbXBvbmVudCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBOdWNEaWFsb2dTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfbWF0RGlhbG9nOiBNYXREaWFsb2cpIHt9XG5cbiAgLyoqXG4gICAqIE9wZW5zIGEgTnVjRGlhbG9nIHdpdGggY29udGVudCBmcm9tIGRpYWxvZ0RhdGEuXG4gICAqXG4gICAqIEBwYXJhbSBkaWFsb2dEYXRhIE51Y0RpYWxvZ0RhdGEgY29udGFpbmluZyB0aXRsZSwgbWVzc2FnZSBhbmQgcG9zc2libGUgYWN0aW9ucy5cbiAgICogQHBhcmFtIGRpYWxvZ0NvbmZpZyBFeHRyYSBjb25maWd1cmF0aW9uIG9wdGlvbnMuIERhdGEgcHJvcGVydHkgaXMgaWdub3JlZCwgc2luY2UgaXQgd2lsbCBiZSBzZXQgdG8gZGlhbG9nRGF0YS5cbiAgICogQHJldHVybnMgYSBwcm9taXNlIHdpdGggdmFsdWUgdGhhdCB3YXMgc3BlY2lmaWVkIGluc2lkZSBwcmVzc2VkIE51Y2xldXMgYWN0aW9uLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIG9wZW4oXG4gICAgZGlhbG9nRGF0YTogTnVjRGlhbG9nRGF0YSxcbiAgICBkaWFsb2dDb25maWc/OiBNYXREaWFsb2dDb25maWdcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICApOiBQcm9taXNlPGFueT4ge1xuICAgIGlmIChkaWFsb2dEYXRhLmFjdGlvbnMgJiYgZGlhbG9nRGF0YS5hY3Rpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgIGlmIChkaWFsb2dDb25maWcpIHtcbiAgICAgICAgZGlhbG9nQ29uZmlnLmRhdGEgPSBkaWFsb2dEYXRhO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZGlhbG9nQ29uZmlnID0geyBkYXRhOiBkaWFsb2dEYXRhIH07XG4gICAgICB9XG4gICAgICByZXR1cm4gYXdhaXQgdGhpcy5fbWF0RGlhbG9nXG4gICAgICAgIC5vcGVuKE51Y0RpYWxvZ0NvbXBvbmVudCwgZGlhbG9nQ29uZmlnKVxuICAgICAgICAuYmVmb3JlQ2xvc2VkKClcbiAgICAgICAgLnRvUHJvbWlzZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAnTnVjbGV1cy5BcHBDb3JlOiBOdWNEaWFsb2dEYXRhIHJlcXVpcmVzIGF0IGxlYXN0IG9uZSBhY3Rpb24uJ1xuICAgICAgKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,10 @@
1
+ export var NucColor;
2
+ (function (NucColor) {
3
+ /** Primary color of the theme. */
4
+ NucColor["primary"] = "primary";
5
+ /** Accent color of the theme. */
6
+ NucColor["accent"] = "accent";
7
+ /** Warning color of the theme. */
8
+ NucColor["warn"] = "warn";
9
+ })(NucColor || (NucColor = {}));
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy9udWNsZXVzL251Y2xldXMtbWF0ZXJpYWwvc3JjL2xpYi9kaWFsb2cvbW9kZWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW1CQSxNQUFNLENBQU4sSUFBWSxRQU9YO0FBUEQsV0FBWSxRQUFRO0lBQ2xCLGtDQUFrQztJQUNsQywrQkFBbUIsQ0FBQTtJQUNuQixpQ0FBaUM7SUFDakMsNkJBQWlCLENBQUE7SUFDakIsa0NBQWtDO0lBQ2xDLHlCQUFhLENBQUE7QUFDZixDQUFDLEVBUFcsUUFBUSxLQUFSLFFBQVEsUUFPbkIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIE51Y0RpYWxvZ0RhdGEge1xuICAvKiogT3B0aW9uYWwgdGl0bGUgZm9yIHRoZSBkaWFsb2cuICovXG4gIHRpdGxlPzogc3RyaW5nO1xuICAvKiogTWVzc2FnZSBmb3IgdGhlIGRpYWxvZy4gKi9cbiAgbWVzc2FnZTogc3RyaW5nO1xuICAvKiogQWN0aW9uKHMpIChidXR0b25zKSBmb3IgdGhlIGRpYWxvZy4gQXQgbGVhc3Qgb25lIGlzIHJlcXVpcmVkLiAqL1xuICBhY3Rpb25zOiBOdWNBY3Rpb25bXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOdWNBY3Rpb24ge1xuICAvKiogVGV4dCBmb3IgdGhlIGFjdGlvbiAoYnV0dG9uKS4gKi9cbiAgdGV4dDogc3RyaW5nO1xuICAvKiogUmV0dXJuIHZhbHVlIGZvciB0aGUgYWN0aW9uIChidXR0b24pLiAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICB2YWx1ZT86IGFueTtcbiAgLyoqIE9wdGlvbmFsIGNvbG9yIG9mIHRoZSBhY3Rpb24gKGJ1dHRvbikuICovXG4gIGNvbG9yPzogTnVjQ29sb3I7XG59XG5cbmV4cG9ydCBlbnVtIE51Y0NvbG9yIHtcbiAgLyoqIFByaW1hcnkgY29sb3Igb2YgdGhlIHRoZW1lLiAqL1xuICBwcmltYXJ5ID0gJ3ByaW1hcnknLFxuICAvKiogQWNjZW50IGNvbG9yIG9mIHRoZSB0aGVtZS4gKi9cbiAgYWNjZW50ID0gJ2FjY2VudCcsXG4gIC8qKiBXYXJuaW5nIGNvbG9yIG9mIHRoZSB0aGVtZS4gKi9cbiAgd2FybiA9ICd3YXJuJyxcbn1cbiJdfQ==
@@ -0,0 +1,72 @@
1
+ /* eslint-disable @typescript-eslint/no-explicit-any */
2
+ import { Component, Input, TemplateRef } from '@angular/core';
3
+ import { LoadingState, LoadingStatus } from './loading-state';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common";
6
+ import * as i2 from "@angular/material/progress-spinner";
7
+ import * as i3 from "@angular/material/button";
8
+ import * as i4 from "@angular/material/icon";
9
+ export class NucLoadedContentComponent {
10
+ constructor() {
11
+ this._errorDetailsVisible = false;
12
+ this.errorMessage = 'We are having trouble loading the data.';
13
+ this.showRetry = true;
14
+ }
15
+ get message() {
16
+ if (this.state.message != null) {
17
+ return this.state.message;
18
+ }
19
+ else {
20
+ if (this.state.status === LoadingStatus.failed) {
21
+ return this.errorMessage;
22
+ }
23
+ else if (this.state.status === LoadingStatus.inProgress) {
24
+ return this.inProgressMessage;
25
+ }
26
+ }
27
+ return null;
28
+ }
29
+ get showRetryButton() {
30
+ return this.showRetry;
31
+ }
32
+ get inProgress() {
33
+ const inProgress = this.state.status === LoadingStatus.inProgress;
34
+ if (inProgress) {
35
+ this._errorDetailsVisible = false;
36
+ }
37
+ return inProgress;
38
+ }
39
+ get failed() {
40
+ return this.state.status === LoadingStatus.failed;
41
+ }
42
+ get completed() {
43
+ return this.state.status === LoadingStatus.completed;
44
+ }
45
+ get errorDetailsVisible() {
46
+ return this._errorDetailsVisible;
47
+ }
48
+ showErrorDetails() {
49
+ this._errorDetailsVisible = true;
50
+ }
51
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NucLoadedContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
52
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: NucLoadedContentComponent, selector: "nuc-loaded-content-component", inputs: { completedTemplate: "completedTemplate", errorTemplate: "errorTemplate", inProgressTemplate: "inProgressTemplate", state: "state", inProgressMessage: "inProgressMessage", errorMessage: "errorMessage", showRetry: "showRetry" }, ngImport: i0, template: "<ng-container *ngIf=\"completed\">\n <ng-container *ngTemplateOutlet=\"completedTemplate\"></ng-container>\n</ng-container>\n\n<div class=\"indicators-container\" *ngIf=\"inProgress || failed\">\n <ng-container *ngIf=\"inProgress\">\n <ng-container\n *ngTemplateOutlet=\"inProgressTemplate ? inProgressTemplate: defaultInProgressTemplate\"\n ></ng-container>\n </ng-container>\n <ng-container *ngIf=\"failed\">\n <ng-container\n *ngTemplateOutlet=\"errorTemplate ? errorTemplate: defaultErrorTemplate\"\n ></ng-container>\n </ng-container>\n</div>\n\n<ng-template #defaultInProgressTemplate>\n <div class=\"spinner\">\n <mat-spinner [diameter]=\"45\"></mat-spinner>\n </div>\n <p>{{message}}</p>\n</ng-template>\n\n<ng-template #defaultErrorTemplate>\n <div>\n <p class=\"message\">\n <span>{{message}}</span>\n <mat-icon\n *ngIf=\"state.errorDetails && !errorDetailsVisible\"\n class=\"info-button\"\n color=\"warn\"\n (click)=\"showErrorDetails()\"\n >info</mat-icon\n >\n </p>\n\n <p *ngIf=\"errorDetailsVisible\" class=\"error-details mat-small\">\n {{state.errorDetails}}\n </p>\n\n <p *ngIf=\"showRetryButton\">\n <button mat-mini-fab color=\"primary\" (click)=\"state.retry()\">\n <mat-icon>refresh</mat-icon>\n </button>\n </p>\n </div>\n</ng-template>\n", styles: [".indicators-container{text-align:center;margin:0 auto;padding-top:4rem}.error-details{margin-top:1rem}.spinner{display:flex;justify-content:center;align-items:center;margin-bottom:.5rem}.message{display:flex;justify-content:center;align-items:center}.info-button{cursor:pointer;margin-left:.5rem}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i3.MatMiniFabButton, selector: "button[mat-mini-fab]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
53
+ }
54
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NucLoadedContentComponent, decorators: [{
55
+ type: Component,
56
+ args: [{ selector: 'nuc-loaded-content-component', template: "<ng-container *ngIf=\"completed\">\n <ng-container *ngTemplateOutlet=\"completedTemplate\"></ng-container>\n</ng-container>\n\n<div class=\"indicators-container\" *ngIf=\"inProgress || failed\">\n <ng-container *ngIf=\"inProgress\">\n <ng-container\n *ngTemplateOutlet=\"inProgressTemplate ? inProgressTemplate: defaultInProgressTemplate\"\n ></ng-container>\n </ng-container>\n <ng-container *ngIf=\"failed\">\n <ng-container\n *ngTemplateOutlet=\"errorTemplate ? errorTemplate: defaultErrorTemplate\"\n ></ng-container>\n </ng-container>\n</div>\n\n<ng-template #defaultInProgressTemplate>\n <div class=\"spinner\">\n <mat-spinner [diameter]=\"45\"></mat-spinner>\n </div>\n <p>{{message}}</p>\n</ng-template>\n\n<ng-template #defaultErrorTemplate>\n <div>\n <p class=\"message\">\n <span>{{message}}</span>\n <mat-icon\n *ngIf=\"state.errorDetails && !errorDetailsVisible\"\n class=\"info-button\"\n color=\"warn\"\n (click)=\"showErrorDetails()\"\n >info</mat-icon\n >\n </p>\n\n <p *ngIf=\"errorDetailsVisible\" class=\"error-details mat-small\">\n {{state.errorDetails}}\n </p>\n\n <p *ngIf=\"showRetryButton\">\n <button mat-mini-fab color=\"primary\" (click)=\"state.retry()\">\n <mat-icon>refresh</mat-icon>\n </button>\n </p>\n </div>\n</ng-template>\n", styles: [".indicators-container{text-align:center;margin:0 auto;padding-top:4rem}.error-details{margin-top:1rem}.spinner{display:flex;justify-content:center;align-items:center;margin-bottom:.5rem}.message{display:flex;justify-content:center;align-items:center}.info-button{cursor:pointer;margin-left:.5rem}\n"] }]
57
+ }], propDecorators: { completedTemplate: [{
58
+ type: Input
59
+ }], errorTemplate: [{
60
+ type: Input
61
+ }], inProgressTemplate: [{
62
+ type: Input
63
+ }], state: [{
64
+ type: Input
65
+ }], inProgressMessage: [{
66
+ type: Input
67
+ }], errorMessage: [{
68
+ type: Input
69
+ }], showRetry: [{
70
+ type: Input
71
+ }] } });
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVkLWNvbnRlbnQtY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy9udWNsZXVzL251Y2xldXMtbWF0ZXJpYWwvc3JjL2xpYi9sb2FkZWQtY29udGVudC9sb2FkZWQtY29udGVudC1jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nL251Y2xldXMvbnVjbGV1cy1tYXRlcmlhbC9zcmMvbGliL2xvYWRlZC1jb250ZW50L2xvYWRlZC1jb250ZW50LWNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RCxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7O0FBUTlELE1BQU0sT0FBTyx5QkFBeUI7SUFOdEM7UUFPVSx5QkFBb0IsR0FBRyxLQUFLLENBQUM7UUFrQjlCLGlCQUFZLEdBQUcseUNBQXlDLENBQUM7UUFHekQsY0FBUyxHQUFHLElBQUksQ0FBQztLQTBDekI7SUF4Q0MsSUFBVyxPQUFPO1FBQ2hCLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLElBQUksSUFBSSxFQUFFO1lBQzlCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUM7U0FDM0I7YUFBTTtZQUNMLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEtBQUssYUFBYSxDQUFDLE1BQU0sRUFBRTtnQkFDOUMsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO2FBQzFCO2lCQUFNLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEtBQUssYUFBYSxDQUFDLFVBQVUsRUFBRTtnQkFDekQsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUM7YUFDL0I7U0FDRjtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELElBQVcsZUFBZTtRQUN4QixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQVcsVUFBVTtRQUNuQixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sS0FBSyxhQUFhLENBQUMsVUFBVSxDQUFDO1FBQ2xFLElBQUksVUFBVSxFQUFFO1lBQ2QsSUFBSSxDQUFDLG9CQUFvQixHQUFHLEtBQUssQ0FBQztTQUNuQztRQUNELE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxJQUFXLE1BQU07UUFDZixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxLQUFLLGFBQWEsQ0FBQyxNQUFNLENBQUM7SUFDcEQsQ0FBQztJQUVELElBQVcsU0FBUztRQUNsQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxLQUFLLGFBQWEsQ0FBQyxTQUFTLENBQUM7SUFDdkQsQ0FBQztJQUVELElBQVcsbUJBQW1CO1FBQzVCLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDO0lBQ25DLENBQUM7SUFFTSxnQkFBZ0I7UUFDckIsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQztJQUNuQyxDQUFDOytHQS9EVSx5QkFBeUI7bUdBQXpCLHlCQUF5QixnVENWdEMsNjJDQWdEQTs7NEZEdENhLHlCQUF5QjtrQkFOckMsU0FBUzsrQkFFRSw4QkFBOEI7OEJBUXhDLGlCQUFpQjtzQkFEaEIsS0FBSztnQkFJTixhQUFhO3NCQURaLEtBQUs7Z0JBSU4sa0JBQWtCO3NCQURqQixLQUFLO2dCQUlDLEtBQUs7c0JBRFgsS0FBSztnQkFJQyxpQkFBaUI7c0JBRHZCLEtBQUs7Z0JBSUMsWUFBWTtzQkFEbEIsS0FBSztnQkFJQyxTQUFTO3NCQURmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTG9hZGluZ1N0YXRlLCBMb2FkaW5nU3RhdHVzIH0gZnJvbSAnLi9sb2FkaW5nLXN0YXRlJztcblxuQENvbXBvbmVudCh7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG4gIHNlbGVjdG9yOiAnbnVjLWxvYWRlZC1jb250ZW50LWNvbXBvbmVudCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9sb2FkZWQtY29udGVudC1jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2xvYWRlZC1jb250ZW50LWNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIE51Y0xvYWRlZENvbnRlbnRDb21wb25lbnQge1xuICBwcml2YXRlIF9lcnJvckRldGFpbHNWaXNpYmxlID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgY29tcGxldGVkVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgQElucHV0KClcbiAgZXJyb3JUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICBASW5wdXQoKVxuICBpblByb2dyZXNzVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgQElucHV0KClcbiAgcHVibGljIHN0YXRlOiBMb2FkaW5nU3RhdGU7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGluUHJvZ3Jlc3NNZXNzYWdlOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGVycm9yTWVzc2FnZSA9ICdXZSBhcmUgaGF2aW5nIHRyb3VibGUgbG9hZGluZyB0aGUgZGF0YS4nO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzaG93UmV0cnkgPSB0cnVlO1xuXG4gIHB1YmxpYyBnZXQgbWVzc2FnZSgpIHtcbiAgICBpZiAodGhpcy5zdGF0ZS5tZXNzYWdlICE9IG51bGwpIHtcbiAgICAgIHJldHVybiB0aGlzLnN0YXRlLm1lc3NhZ2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0aGlzLnN0YXRlLnN0YXR1cyA9PT0gTG9hZGluZ1N0YXR1cy5mYWlsZWQpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZXJyb3JNZXNzYWdlO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLnN0YXRlLnN0YXR1cyA9PT0gTG9hZGluZ1N0YXR1cy5pblByb2dyZXNzKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmluUHJvZ3Jlc3NNZXNzYWdlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2hvd1JldHJ5QnV0dG9uKCkge1xuICAgIHJldHVybiB0aGlzLnNob3dSZXRyeTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaW5Qcm9ncmVzcygpIHtcbiAgICBjb25zdCBpblByb2dyZXNzID0gdGhpcy5zdGF0ZS5zdGF0dXMgPT09IExvYWRpbmdTdGF0dXMuaW5Qcm9ncmVzcztcbiAgICBpZiAoaW5Qcm9ncmVzcykge1xuICAgICAgdGhpcy5fZXJyb3JEZXRhaWxzVmlzaWJsZSA9IGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gaW5Qcm9ncmVzcztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZmFpbGVkKCkge1xuICAgIHJldHVybiB0aGlzLnN0YXRlLnN0YXR1cyA9PT0gTG9hZGluZ1N0YXR1cy5mYWlsZWQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNvbXBsZXRlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZS5zdGF0dXMgPT09IExvYWRpbmdTdGF0dXMuY29tcGxldGVkO1xuICB9XG5cbiAgcHVibGljIGdldCBlcnJvckRldGFpbHNWaXNpYmxlKCkge1xuICAgIHJldHVybiB0aGlzLl9lcnJvckRldGFpbHNWaXNpYmxlO1xuICB9XG5cbiAgcHVibGljIHNob3dFcnJvckRldGFpbHMoKSB7XG4gICAgdGhpcy5fZXJyb3JEZXRhaWxzVmlzaWJsZSA9IHRydWU7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJjb21wbGV0ZWRcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbXBsZXRlZFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lcj5cblxuPGRpdiBjbGFzcz1cImluZGljYXRvcnMtY29udGFpbmVyXCIgKm5nSWY9XCJpblByb2dyZXNzIHx8IGZhaWxlZFwiPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaW5Qcm9ncmVzc1wiPlxuICAgIDxuZy1jb250YWluZXJcbiAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiaW5Qcm9ncmVzc1RlbXBsYXRlID8gaW5Qcm9ncmVzc1RlbXBsYXRlOiBkZWZhdWx0SW5Qcm9ncmVzc1RlbXBsYXRlXCJcbiAgICA+PC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiZmFpbGVkXCI+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJlcnJvclRlbXBsYXRlID8gZXJyb3JUZW1wbGF0ZTogZGVmYXVsdEVycm9yVGVtcGxhdGVcIlxuICAgID48L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNkZWZhdWx0SW5Qcm9ncmVzc1RlbXBsYXRlPlxuICA8ZGl2IGNsYXNzPVwic3Bpbm5lclwiPlxuICAgIDxtYXQtc3Bpbm5lciBbZGlhbWV0ZXJdPVwiNDVcIj48L21hdC1zcGlubmVyPlxuICA8L2Rpdj5cbiAgPHA+e3ttZXNzYWdlfX08L3A+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2RlZmF1bHRFcnJvclRlbXBsYXRlPlxuICA8ZGl2PlxuICAgIDxwIGNsYXNzPVwibWVzc2FnZVwiPlxuICAgICAgPHNwYW4+e3ttZXNzYWdlfX08L3NwYW4+XG4gICAgICA8bWF0LWljb25cbiAgICAgICAgKm5nSWY9XCJzdGF0ZS5lcnJvckRldGFpbHMgJiYgIWVycm9yRGV0YWlsc1Zpc2libGVcIlxuICAgICAgICBjbGFzcz1cImluZm8tYnV0dG9uXCJcbiAgICAgICAgY29sb3I9XCJ3YXJuXCJcbiAgICAgICAgKGNsaWNrKT1cInNob3dFcnJvckRldGFpbHMoKVwiXG4gICAgICAgID5pbmZvPC9tYXQtaWNvblxuICAgICAgPlxuICAgIDwvcD5cblxuICAgIDxwICpuZ0lmPVwiZXJyb3JEZXRhaWxzVmlzaWJsZVwiIGNsYXNzPVwiZXJyb3ItZGV0YWlscyBtYXQtc21hbGxcIj5cbiAgICAgIHt7c3RhdGUuZXJyb3JEZXRhaWxzfX1cbiAgICA8L3A+XG5cbiAgICA8cCAqbmdJZj1cInNob3dSZXRyeUJ1dHRvblwiPlxuICAgICAgPGJ1dHRvbiBtYXQtbWluaS1mYWIgY29sb3I9XCJwcmltYXJ5XCIgKGNsaWNrKT1cInN0YXRlLnJldHJ5KClcIj5cbiAgICAgICAgPG1hdC1pY29uPnJlZnJlc2g8L21hdC1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9wPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -0,0 +1,78 @@
1
+ /* eslint-disable @typescript-eslint/no-explicit-any */
2
+ import { ComponentFactoryResolver, Directive, Input, TemplateRef, ViewContainerRef, } from '@angular/core';
3
+ import { NucLoadedContentComponent } from './loaded-content-component';
4
+ import { LoadingState } from './loading-state';
5
+ import * as i0 from "@angular/core";
6
+ // eslint-disable-next-line @angular-eslint/directive-selector
7
+ export class NucLoadedContentDirective {
8
+ constructor(_viewContainer, templateRef, _componentResolver) {
9
+ this._viewContainer = _viewContainer;
10
+ this.templateRef = templateRef;
11
+ this._componentResolver = _componentResolver;
12
+ this._errorTemplateRef = null;
13
+ this._inProgressTemplateRef = null;
14
+ this._completedTemplateRef = templateRef;
15
+ }
16
+ set nucLoadedContent(state) {
17
+ // add some error handling if state is null, etc.
18
+ this._state = state;
19
+ this._updateView();
20
+ }
21
+ // eslint-disable-next-line @angular-eslint/no-input-rename
22
+ set errorTemplate(templateRef) {
23
+ this._errorTemplateRef = templateRef;
24
+ this._updateView();
25
+ }
26
+ // eslint-disable-next-line @angular-eslint/no-input-rename
27
+ set inProgressTemplate(templateRef) {
28
+ this._inProgressTemplateRef = templateRef;
29
+ this._updateView();
30
+ }
31
+ set inProgressMessage(inProgressMessage) {
32
+ this._component.instance.inProgressMessage = inProgressMessage;
33
+ }
34
+ set errorMessage(errorMessage) {
35
+ this._component.instance.errorMessage = errorMessage;
36
+ }
37
+ set showRetry(showRetry) {
38
+ this._component.instance.showRetry = showRetry;
39
+ }
40
+ _updateView() {
41
+ if (this._component == null) {
42
+ const fac = this._componentResolver.resolveComponentFactory(NucLoadedContentComponent);
43
+ this._component = this._viewContainer.createComponent(fac);
44
+ }
45
+ this._component.instance.state = this._state;
46
+ this._component.instance.completedTemplate = this._completedTemplateRef;
47
+ if (this._inProgressTemplateRef) {
48
+ this._component.instance.inProgressTemplate = this._inProgressTemplateRef;
49
+ }
50
+ if (this._errorTemplateRef) {
51
+ this._component.instance.errorTemplate = this._errorTemplateRef;
52
+ }
53
+ }
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 }, { token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Directive }); }
55
+ 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
+ }
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NucLoadedContentDirective, decorators: [{
58
+ type: Directive,
59
+ args: [{ selector: '[nucLoadedContent]' }]
60
+ }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.TemplateRef }, { type: i0.ComponentFactoryResolver }]; }, propDecorators: { nucLoadedContent: [{
61
+ type: Input
62
+ }], errorTemplate: [{
63
+ type: Input,
64
+ args: ['nucLoadedContentError']
65
+ }], inProgressTemplate: [{
66
+ type: Input,
67
+ args: ['nucLoadedContentInProgress']
68
+ }], inProgressMessage: [{
69
+ type: Input,
70
+ args: ['nucLoadedContentInProgressMessage']
71
+ }], errorMessage: [{
72
+ type: Input,
73
+ args: ['nucLoadedContentErrorMessage']
74
+ }], showRetry: [{
75
+ type: Input,
76
+ args: ['nucLoadedContentShowRetry']
77
+ }] } });
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVkLWNvbnRlbnQtZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy9udWNsZXVzL251Y2xldXMtbWF0ZXJpYWwvc3JjL2xpYi9sb2FkZWQtY29udGVudC9sb2FkZWQtY29udGVudC1kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE9BQU8sRUFDTCx3QkFBd0IsRUFFeEIsU0FBUyxFQUNULEtBQUssRUFDTCxXQUFXLEVBQ1gsZ0JBQWdCLEdBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFFL0MsOERBQThEO0FBRTlELE1BQU0sT0FBTyx5QkFBeUI7SUFPcEMsWUFDVSxjQUFnQyxFQUNoQyxXQUE2QixFQUM3QixrQkFBNEM7UUFGNUMsbUJBQWMsR0FBZCxjQUFjLENBQWtCO1FBQ2hDLGdCQUFXLEdBQVgsV0FBVyxDQUFrQjtRQUM3Qix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQTBCO1FBUDlDLHNCQUFpQixHQUE0QixJQUFJLENBQUM7UUFDbEQsMkJBQXNCLEdBQTRCLElBQUksQ0FBQztRQVE3RCxJQUFJLENBQUMscUJBQXFCLEdBQUcsV0FBVyxDQUFDO0lBQzNDLENBQUM7SUFFRCxJQUNJLGdCQUFnQixDQUFDLEtBQW1CO1FBQ3RDLGlEQUFpRDtRQUNqRCxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNwQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELDJEQUEyRDtJQUMzRCxJQUNJLGFBQWEsQ0FBQyxXQUFvQztRQUNwRCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsV0FBVyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsMkRBQTJEO0lBQzNELElBQ0ksa0JBQWtCLENBQUMsV0FBb0M7UUFDekQsSUFBSSxDQUFDLHNCQUFzQixHQUFHLFdBQVcsQ0FBQztRQUMxQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELElBQ0ksaUJBQWlCLENBQUMsaUJBQXlCO1FBQzdDLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLGlCQUFpQixHQUFHLGlCQUFpQixDQUFDO0lBQ2pFLENBQUM7SUFFRCxJQUNJLFlBQVksQ0FBQyxZQUFvQjtRQUNuQyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO0lBQ3ZELENBQUM7SUFFRCxJQUNJLFNBQVMsQ0FBQyxTQUFrQjtRQUM5QixJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO0lBQ2pELENBQUM7SUFFTyxXQUFXO1FBQ2pCLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLEVBQUU7WUFDM0IsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLHVCQUF1QixDQUN6RCx5QkFBeUIsQ0FDMUIsQ0FBQztZQUNGLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDNUQ7UUFFRCxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUM3QyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUM7UUFFeEUsSUFBSSxJQUFJLENBQUMsc0JBQXNCLEVBQUU7WUFDL0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDO1NBQzNFO1FBRUQsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7WUFDMUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztTQUNqRTtJQUNILENBQUM7K0dBckVVLHlCQUF5QjttR0FBekIseUJBQXlCOzs0RkFBekIseUJBQXlCO2tCQURyQyxTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLG9CQUFvQixFQUFFO3dLQWlCdkMsZ0JBQWdCO3NCQURuQixLQUFLO2dCQVNGLGFBQWE7c0JBRGhCLEtBQUs7dUJBQUMsdUJBQXVCO2dCQVExQixrQkFBa0I7c0JBRHJCLEtBQUs7dUJBQUMsNEJBQTRCO2dCQU8vQixpQkFBaUI7c0JBRHBCLEtBQUs7dUJBQUMsbUNBQW1DO2dCQU10QyxZQUFZO3NCQURmLEtBQUs7dUJBQUMsOEJBQThCO2dCQU1qQyxTQUFTO3NCQURaLEtBQUs7dUJBQUMsMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICBDb21wb25lbnRSZWYsXG4gIERpcmVjdGl2ZSxcbiAgSW5wdXQsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE51Y0xvYWRlZENvbnRlbnRDb21wb25lbnQgfSBmcm9tICcuL2xvYWRlZC1jb250ZW50LWNvbXBvbmVudCc7XG5pbXBvcnQgeyBMb2FkaW5nU3RhdGUgfSBmcm9tICcuL2xvYWRpbmctc3RhdGUnO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2RpcmVjdGl2ZS1zZWxlY3RvclxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnW251Y0xvYWRlZENvbnRlbnRdJyB9KVxuZXhwb3J0IGNsYXNzIE51Y0xvYWRlZENvbnRlbnREaXJlY3RpdmUge1xuICBwcml2YXRlIF9zdGF0ZTogTG9hZGluZ1N0YXRlO1xuICBwcml2YXRlIF9jb21wbGV0ZWRUZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PjtcbiAgcHJpdmF0ZSBfZXJyb3JUZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PiB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF9pblByb2dyZXNzVGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4gfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBfY29tcG9uZW50OiBDb21wb25lbnRSZWY8TnVjTG9hZGVkQ29udGVudENvbXBvbmVudD47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZixcbiAgICBwcml2YXRlIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+LFxuICAgIHByaXZhdGUgX2NvbXBvbmVudFJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXJcbiAgKSB7XG4gICAgdGhpcy5fY29tcGxldGVkVGVtcGxhdGVSZWYgPSB0ZW1wbGF0ZVJlZjtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCBudWNMb2FkZWRDb250ZW50KHN0YXRlOiBMb2FkaW5nU3RhdGUpIHtcbiAgICAvLyBhZGQgc29tZSBlcnJvciBoYW5kbGluZyBpZiBzdGF0ZSBpcyBudWxsLCBldGMuXG4gICAgdGhpcy5fc3RhdGUgPSBzdGF0ZTtcbiAgICB0aGlzLl91cGRhdGVWaWV3KCk7XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0LXJlbmFtZVxuICBASW5wdXQoJ251Y0xvYWRlZENvbnRlbnRFcnJvcicpXG4gIHNldCBlcnJvclRlbXBsYXRlKHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+IHwgbnVsbCkge1xuICAgIHRoaXMuX2Vycm9yVGVtcGxhdGVSZWYgPSB0ZW1wbGF0ZVJlZjtcbiAgICB0aGlzLl91cGRhdGVWaWV3KCk7XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0LXJlbmFtZVxuICBASW5wdXQoJ251Y0xvYWRlZENvbnRlbnRJblByb2dyZXNzJylcbiAgc2V0IGluUHJvZ3Jlc3NUZW1wbGF0ZSh0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PiB8IG51bGwpIHtcbiAgICB0aGlzLl9pblByb2dyZXNzVGVtcGxhdGVSZWYgPSB0ZW1wbGF0ZVJlZjtcbiAgICB0aGlzLl91cGRhdGVWaWV3KCk7XG4gIH1cblxuICBASW5wdXQoJ251Y0xvYWRlZENvbnRlbnRJblByb2dyZXNzTWVzc2FnZScpXG4gIHNldCBpblByb2dyZXNzTWVzc2FnZShpblByb2dyZXNzTWVzc2FnZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fY29tcG9uZW50Lmluc3RhbmNlLmluUHJvZ3Jlc3NNZXNzYWdlID0gaW5Qcm9ncmVzc01lc3NhZ2U7XG4gIH1cblxuICBASW5wdXQoJ251Y0xvYWRlZENvbnRlbnRFcnJvck1lc3NhZ2UnKVxuICBzZXQgZXJyb3JNZXNzYWdlKGVycm9yTWVzc2FnZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fY29tcG9uZW50Lmluc3RhbmNlLmVycm9yTWVzc2FnZSA9IGVycm9yTWVzc2FnZTtcbiAgfVxuXG4gIEBJbnB1dCgnbnVjTG9hZGVkQ29udGVudFNob3dSZXRyeScpXG4gIHNldCBzaG93UmV0cnkoc2hvd1JldHJ5OiBib29sZWFuKSB7XG4gICAgdGhpcy5fY29tcG9uZW50Lmluc3RhbmNlLnNob3dSZXRyeSA9IHNob3dSZXRyeTtcbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZVZpZXcoKSB7XG4gICAgaWYgKHRoaXMuX2NvbXBvbmVudCA9PSBudWxsKSB7XG4gICAgICBjb25zdCBmYWMgPSB0aGlzLl9jb21wb25lbnRSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShcbiAgICAgICAgTnVjTG9hZGVkQ29udGVudENvbXBvbmVudFxuICAgICAgKTtcbiAgICAgIHRoaXMuX2NvbXBvbmVudCA9IHRoaXMuX3ZpZXdDb250YWluZXIuY3JlYXRlQ29tcG9uZW50KGZhYyk7XG4gICAgfVxuXG4gICAgdGhpcy5fY29tcG9uZW50Lmluc3RhbmNlLnN0YXRlID0gdGhpcy5fc3RhdGU7XG4gICAgdGhpcy5fY29tcG9uZW50Lmluc3RhbmNlLmNvbXBsZXRlZFRlbXBsYXRlID0gdGhpcy5fY29tcGxldGVkVGVtcGxhdGVSZWY7XG5cbiAgICBpZiAodGhpcy5faW5Qcm9ncmVzc1RlbXBsYXRlUmVmKSB7XG4gICAgICB0aGlzLl9jb21wb25lbnQuaW5zdGFuY2UuaW5Qcm9ncmVzc1RlbXBsYXRlID0gdGhpcy5faW5Qcm9ncmVzc1RlbXBsYXRlUmVmO1xuICAgIH1cblxuICAgIGlmICh0aGlzLl9lcnJvclRlbXBsYXRlUmVmKSB7XG4gICAgICB0aGlzLl9jb21wb25lbnQuaW5zdGFuY2UuZXJyb3JUZW1wbGF0ZSA9IHRoaXMuX2Vycm9yVGVtcGxhdGVSZWY7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -0,0 +1,33 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { NucLoadedContentComponent } from './loaded-content-component';
3
+ import { MatButtonModule } from '@angular/material/button';
4
+ import { MatIconModule } from '@angular/material/icon';
5
+ import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
6
+ import { CommonModule } from '@angular/common';
7
+ import { NucLoadedContentDirective } from './loaded-content-directive';
8
+ import * as i0 from "@angular/core";
9
+ export class NucLoadedContentModule {
10
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NucLoadedContentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
11
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: NucLoadedContentModule, declarations: [NucLoadedContentDirective, NucLoadedContentComponent], imports: [CommonModule,
12
+ MatProgressSpinnerModule,
13
+ MatButtonModule,
14
+ MatIconModule], exports: [NucLoadedContentDirective] }); }
15
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NucLoadedContentModule, imports: [CommonModule,
16
+ MatProgressSpinnerModule,
17
+ MatButtonModule,
18
+ MatIconModule] }); }
19
+ }
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NucLoadedContentModule, decorators: [{
21
+ type: NgModule,
22
+ args: [{
23
+ declarations: [NucLoadedContentDirective, NucLoadedContentComponent],
24
+ imports: [
25
+ CommonModule,
26
+ MatProgressSpinnerModule,
27
+ MatButtonModule,
28
+ MatIconModule,
29
+ ],
30
+ exports: [NucLoadedContentDirective],
31
+ }]
32
+ }] });
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVkLWNvbnRlbnQtbW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy9udWNsZXVzL251Y2xldXMtbWF0ZXJpYWwvc3JjL2xpYi9sb2FkZWQtY29udGVudC9sb2FkZWQtY29udGVudC1tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFZdkUsTUFBTSxPQUFPLHNCQUFzQjsrR0FBdEIsc0JBQXNCO2dIQUF0QixzQkFBc0IsaUJBVGxCLHlCQUF5QixFQUFFLHlCQUF5QixhQUVqRSxZQUFZO1lBQ1osd0JBQXdCO1lBQ3hCLGVBQWU7WUFDZixhQUFhLGFBRUwseUJBQXlCO2dIQUV4QixzQkFBc0IsWUFQL0IsWUFBWTtZQUNaLHdCQUF3QjtZQUN4QixlQUFlO1lBQ2YsYUFBYTs7NEZBSUosc0JBQXNCO2tCQVZsQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLHlCQUF5QixFQUFFLHlCQUF5QixDQUFDO29CQUNwRSxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWix3QkFBd0I7d0JBQ3hCLGVBQWU7d0JBQ2YsYUFBYTtxQkFDZDtvQkFDRCxPQUFPLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQztpQkFDckMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTnVjTG9hZGVkQ29udGVudENvbXBvbmVudCB9IGZyb20gJy4vbG9hZGVkLWNvbnRlbnQtY29tcG9uZW50JztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1zcGlubmVyJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOdWNMb2FkZWRDb250ZW50RGlyZWN0aXZlIH0gZnJvbSAnLi9sb2FkZWQtY29udGVudC1kaXJlY3RpdmUnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtOdWNMb2FkZWRDb250ZW50RGlyZWN0aXZlLCBOdWNMb2FkZWRDb250ZW50Q29tcG9uZW50XSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtOdWNMb2FkZWRDb250ZW50RGlyZWN0aXZlXSxcbn0pXG5leHBvcnQgY2xhc3MgTnVjTG9hZGVkQ29udGVudE1vZHVsZSB7fVxuIl19
@@ -0,0 +1,105 @@
1
+ import { tap } from 'rxjs/operators';
2
+ export var LoadingStatus;
3
+ (function (LoadingStatus) {
4
+ LoadingStatus[LoadingStatus["completed"] = 0] = "completed";
5
+ LoadingStatus[LoadingStatus["inProgress"] = 1] = "inProgress";
6
+ LoadingStatus[LoadingStatus["failed"] = 2] = "failed";
7
+ LoadingStatus[LoadingStatus["undefined"] = 3] = "undefined";
8
+ })(LoadingStatus || (LoadingStatus = {}));
9
+ export class LoadingState {
10
+ constructor() {
11
+ this._status = LoadingStatus.undefined;
12
+ }
13
+ get status() {
14
+ return this._status;
15
+ }
16
+ get message() {
17
+ return this._message;
18
+ }
19
+ get errorDetails() {
20
+ return this._errorDetails;
21
+ }
22
+ load(observable, resultFunction, errorFunction, completeFunction) {
23
+ return this._load(true, undefined, observable, resultFunction, errorFunction, completeFunction);
24
+ }
25
+ loadWithMessage(observable, message, resultFunction, errorFunction, completeFunction) {
26
+ this._initialMessage = message;
27
+ return this._load(true, message, observable, resultFunction, errorFunction, completeFunction);
28
+ }
29
+ invoke(observable, resultFunction, errorFunction, completeFunction) {
30
+ return this._load(false, undefined, observable, resultFunction, errorFunction, completeFunction);
31
+ }
32
+ invokeWithMessage(observable, message, resultFunction, errorFunction, completeFunction) {
33
+ this._initialMessage = message;
34
+ return this._load(false, message, observable, resultFunction, errorFunction, completeFunction);
35
+ }
36
+ retry() {
37
+ if (this._lastSubscription) {
38
+ this._lastSubscription.unsubscribe();
39
+ }
40
+ this.setInProgress(this._initialMessage);
41
+ this._lastSubscription = this._loadObservable.subscribe({
42
+ next: this._resultFunction,
43
+ error: this._errorFunction,
44
+ complete: this._completeFunction,
45
+ });
46
+ return this._lastSubscription;
47
+ }
48
+ setInProgress(message) {
49
+ this._status = LoadingStatus.inProgress;
50
+ this._message = message;
51
+ }
52
+ setCompleted() {
53
+ this._status = LoadingStatus.completed;
54
+ }
55
+ setFailed(message, error) {
56
+ this._status = LoadingStatus.failed;
57
+ this._message = message;
58
+ this._errorDetails = error;
59
+ }
60
+ _load(saveAsLoadObservable, progressMessage, observable, resultFunction, errorFunction, completeFunction) {
61
+ if (this._lastSubscription) {
62
+ this._lastSubscription.unsubscribe();
63
+ }
64
+ this.setInProgress(progressMessage);
65
+ const obs = observable.pipe(tap({
66
+ next: () => {
67
+ if (!saveAsLoadObservable && this.message) {
68
+ // if message was used one time we clear it
69
+ this._message = undefined;
70
+ }
71
+ this.setCompleted();
72
+ },
73
+ error: (err) => {
74
+ this.setFailed(undefined, LoadingState.getErrorDetails(err));
75
+ },
76
+ }));
77
+ if (saveAsLoadObservable) {
78
+ this._loadObservable = obs;
79
+ this._resultFunction = resultFunction;
80
+ this._errorFunction = errorFunction;
81
+ this._completeFunction = completeFunction;
82
+ }
83
+ this._lastSubscription = obs.subscribe({
84
+ next: resultFunction,
85
+ error: errorFunction,
86
+ complete: completeFunction,
87
+ });
88
+ return this._lastSubscription;
89
+ }
90
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
91
+ static getErrorDetails(error) {
92
+ // this routine tries to get the best error details from:
93
+ // - standard rfc7807 http error: https://datatracker.ietf.org/doc/html/rfc7807
94
+ // - angular HttpError
95
+ // - JS Error object
96
+ const problem = error?.error;
97
+ if (problem?.title && problem?.detail) {
98
+ return `${problem.title}: ${problem.detail}`;
99
+ }
100
+ else {
101
+ return problem?.title || problem?.detail || error.message || error;
102
+ }
103
+ }
104
+ }
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy1zdGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmcvbnVjbGV1cy9udWNsZXVzLW1hdGVyaWFsL3NyYy9saWIvbG9hZGVkLWNvbnRlbnQvbG9hZGluZy1zdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHckMsTUFBTSxDQUFOLElBQVksYUFLWDtBQUxELFdBQVksYUFBYTtJQUN2QiwyREFBUyxDQUFBO0lBQ1QsNkRBQVUsQ0FBQTtJQUNWLHFEQUFNLENBQUE7SUFDTiwyREFBUyxDQUFBO0FBQ1gsQ0FBQyxFQUxXLGFBQWEsS0FBYixhQUFhLFFBS3hCO0FBRUQsTUFBTSxPQUFPLFlBQVk7SUFBekI7UUFDVSxZQUFPLEdBQWtCLGFBQWEsQ0FBQyxTQUFTLENBQUM7SUFpTDNELENBQUM7SUFyS0MsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDO0lBRU0sSUFBSSxDQUNULFVBQXlCLEVBQ3pCLGNBQW9DLEVBQ3BDLGFBQWtELEVBQ2xELGdCQUE2QjtRQUU3QixPQUFPLElBQUksQ0FBQyxLQUFLLENBQ2YsSUFBSSxFQUNKLFNBQVMsRUFDVCxVQUFVLEVBQ1YsY0FBYyxFQUNkLGFBQWEsRUFDYixnQkFBZ0IsQ0FDakIsQ0FBQztJQUNKLENBQUM7SUFFTSxlQUFlLENBQ3BCLFVBQXlCLEVBQ3pCLE9BQWUsRUFDZixjQUFvQyxFQUNwQyxhQUFrRCxFQUNsRCxnQkFBNkI7UUFFN0IsSUFBSSxDQUFDLGVBQWUsR0FBRyxPQUFPLENBQUM7UUFDL0IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUNmLElBQUksRUFDSixPQUFPLEVBQ1AsVUFBVSxFQUNWLGNBQWMsRUFDZCxhQUFhLEVBQ2IsZ0JBQWdCLENBQ2pCLENBQUM7SUFDSixDQUFDO0lBRU0sTUFBTSxDQUNYLFVBQXlCLEVBQ3pCLGNBQW9DLEVBQ3BDLGFBQWtELEVBQ2xELGdCQUE2QjtRQUU3QixPQUFPLElBQUksQ0FBQyxLQUFLLENBQ2YsS0FBSyxFQUNMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsY0FBYyxFQUNkLGFBQWEsRUFDYixnQkFBZ0IsQ0FDakIsQ0FBQztJQUNKLENBQUM7SUFFTSxpQkFBaUIsQ0FDdEIsVUFBeUIsRUFDekIsT0FBZSxFQUNmLGNBQW9DLEVBQ3BDLGFBQWtELEVBQ2xELGdCQUE2QjtRQUU3QixJQUFJLENBQUMsZUFBZSxHQUFHLE9BQU8sQ0FBQztRQUMvQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQ2YsS0FBSyxFQUNMLE9BQU8sRUFDUCxVQUFVLEVBQ1YsY0FBYyxFQUNkLGFBQWEsRUFDYixnQkFBZ0IsQ0FDakIsQ0FBQztJQUNKLENBQUM7SUFFTSxLQUFLO1FBQ1YsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7WUFDMUIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ3RDO1FBQ0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDO1lBQ3RELElBQUksRUFBRSxJQUFJLENBQUMsZUFBZTtZQUMxQixLQUFLLEVBQUUsSUFBSSxDQUFDLGNBQWM7WUFDMUIsUUFBUSxFQUFFLElBQUksQ0FBQyxpQkFBaUI7U0FDakMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFDaEMsQ0FBQztJQUVNLGFBQWEsQ0FBQyxPQUFnQjtRQUNuQyxJQUFJLENBQUMsT0FBTyxHQUFHLGFBQWEsQ0FBQyxVQUFVLENBQUM7UUFDeEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7SUFDMUIsQ0FBQztJQUVNLFlBQVk7UUFDakIsSUFBSSxDQUFDLE9BQU8sR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDO0lBQ3pDLENBQUM7SUFFTSxTQUFTLENBQUMsT0FBZ0IsRUFBRSxLQUFjO1FBQy9DLElBQUksQ0FBQyxPQUFPLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQztRQUNwQyxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztRQUN4QixJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztJQUM3QixDQUFDO0lBRU8sS0FBSyxDQUNYLG9CQUE2QixFQUM3QixlQUFtQyxFQUNuQyxVQUF5QixFQUN6QixjQUFvQyxFQUNwQyxhQUFrRCxFQUNsRCxnQkFBNkI7UUFFN0IsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7WUFDMUIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ3RDO1FBRUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNwQyxNQUFNLEdBQUcsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUN6QixHQUFHLENBQUM7WUFDRixJQUFJLEVBQUUsR0FBRyxFQUFFO2dCQUNULElBQUksQ0FBQyxvQkFBb0IsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO29CQUN6QywyQ0FBMkM7b0JBQzNDLElBQUksQ0FBQyxRQUFRLEdBQUcsU0FBUyxDQUFDO2lCQUMzQjtnQkFDRCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDdEIsQ0FBQztZQUNELEtBQUssRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUNiLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxFQUFFLFlBQVksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUMvRCxDQUFDO1NBQ0YsQ0FBQyxDQUNILENBQUM7UUFFRixJQUFJLG9CQUFvQixFQUFFO1lBQ3hCLElBQUksQ0FBQyxlQUFlLEdBQUcsR0FBRyxDQUFDO1lBQzNCLElBQUksQ0FBQyxlQUFlLEdBQUcsY0FBYyxDQUFDO1lBQ3RDLElBQUksQ0FBQyxjQUFjLEdBQUcsYUFBYSxDQUFDO1lBQ3BDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxnQkFBZ0IsQ0FBQztTQUMzQztRQUVELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxHQUFHLENBQUMsU0FBUyxDQUFDO1lBQ3JDLElBQUksRUFBRSxjQUFjO1lBQ3BCLEtBQUssRUFBRSxhQUFhO1lBQ3BCLFFBQVEsRUFBRSxnQkFBZ0I7U0FDM0IsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFDaEMsQ0FBQztJQUVELDhEQUE4RDtJQUN2RCxNQUFNLENBQUMsZUFBZSxDQUFDLEtBQVU7UUFDdEMseURBQXlEO1FBQ3pELCtFQUErRTtRQUMvRSxzQkFBc0I7UUFDdEIsb0JBQW9CO1FBRXBCLE1BQU0sT0FBTyxHQUFHLEtBQUssRUFBRSxLQUFLLENBQUM7UUFDN0IsSUFBSSxPQUFPLEVBQUUsS0FBSyxJQUFJLE9BQU8sRUFBRSxNQUFNLEVBQUU7WUFDckMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxLQUFLLEtBQUssT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO1NBQzlDO2FBQU07WUFDTCxPQUFPLE9BQU8sRUFBRSxLQUFLLElBQUksT0FBTyxFQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxJQUFJLEtBQUssQ0FBQztTQUNwRTtJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5cbmV4cG9ydCBlbnVtIExvYWRpbmdTdGF0dXMge1xuICBjb21wbGV0ZWQsXG4gIGluUHJvZ3Jlc3MsXG4gIGZhaWxlZCxcbiAgdW5kZWZpbmVkLFxufVxuXG5leHBvcnQgY2xhc3MgTG9hZGluZ1N0YXRlIHtcbiAgcHJpdmF0ZSBfc3RhdHVzOiBMb2FkaW5nU3RhdHVzID0gTG9hZGluZ1N0YXR1cy51bmRlZmluZWQ7XG4gIHByaXZhdGUgX2luaXRpYWxNZXNzYWdlOiBzdHJpbmc7XG4gIHByaXZhdGUgX21lc3NhZ2U/OiBzdHJpbmc7XG4gIHByaXZhdGUgX2Vycm9yRGV0YWlscz86IHN0cmluZztcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgcHJpdmF0ZSBfcmVzdWx0RnVuY3Rpb24/OiAocmVzdWx0OiBhbnkpID0+IHZvaWQ7XG4gIHByaXZhdGUgX2Vycm9yRnVuY3Rpb24/OiAoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB2b2lkO1xuICBwcml2YXRlIF9jb21wbGV0ZUZ1bmN0aW9uPzogKCkgPT4gdm9pZDtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgcHJpdmF0ZSBfbG9hZE9ic2VydmFibGU6IE9ic2VydmFibGU8YW55PjtcbiAgcHJpdmF0ZSBfbGFzdFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gIGdldCBzdGF0dXMoKTogTG9hZGluZ1N0YXR1cyB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXR1cztcbiAgfVxuXG4gIGdldCBtZXNzYWdlKCkge1xuICAgIHJldHVybiB0aGlzLl9tZXNzYWdlO1xuICB9XG5cbiAgZ2V0IGVycm9yRGV0YWlscygpIHtcbiAgICByZXR1cm4gdGhpcy5fZXJyb3JEZXRhaWxzO1xuICB9XG5cbiAgcHVibGljIGxvYWQ8VD4oXG4gICAgb2JzZXJ2YWJsZTogT2JzZXJ2YWJsZTxUPixcbiAgICByZXN1bHRGdW5jdGlvbj86IChyZXN1bHQ6IFQpID0+IHZvaWQsXG4gICAgZXJyb3JGdW5jdGlvbj86IChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHZvaWQsXG4gICAgY29tcGxldGVGdW5jdGlvbj86ICgpID0+IHZvaWRcbiAgKSB7XG4gICAgcmV0dXJuIHRoaXMuX2xvYWQoXG4gICAgICB0cnVlLFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgb2JzZXJ2YWJsZSxcbiAgICAgIHJlc3VsdEZ1bmN0aW9uLFxuICAgICAgZXJyb3JGdW5jdGlvbixcbiAgICAgIGNvbXBsZXRlRnVuY3Rpb25cbiAgICApO1xuICB9XG5cbiAgcHVibGljIGxvYWRXaXRoTWVzc2FnZTxUPihcbiAgICBvYnNlcnZhYmxlOiBPYnNlcnZhYmxlPFQ+LFxuICAgIG1lc3NhZ2U6IHN0cmluZyxcbiAgICByZXN1bHRGdW5jdGlvbj86IChyZXN1bHQ6IFQpID0+IHZvaWQsXG4gICAgZXJyb3JGdW5jdGlvbj86IChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHZvaWQsXG4gICAgY29tcGxldGVGdW5jdGlvbj86ICgpID0+IHZvaWRcbiAgKTogU3Vic2NyaXB0aW9uIHtcbiAgICB0aGlzLl9pbml0aWFsTWVzc2FnZSA9IG1lc3NhZ2U7XG4gICAgcmV0dXJuIHRoaXMuX2xvYWQoXG4gICAgICB0cnVlLFxuICAgICAgbWVzc2FnZSxcbiAgICAgIG9ic2VydmFibGUsXG4gICAgICByZXN1bHRGdW5jdGlvbixcbiAgICAgIGVycm9yRnVuY3Rpb24sXG4gICAgICBjb21wbGV0ZUZ1bmN0aW9uXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBpbnZva2U8VD4oXG4gICAgb2JzZXJ2YWJsZTogT2JzZXJ2YWJsZTxUPixcbiAgICByZXN1bHRGdW5jdGlvbj86IChyZXN1bHQ6IFQpID0+IHZvaWQsXG4gICAgZXJyb3JGdW5jdGlvbj86IChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHZvaWQsXG4gICAgY29tcGxldGVGdW5jdGlvbj86ICgpID0+IHZvaWRcbiAgKTogU3Vic2NyaXB0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5fbG9hZChcbiAgICAgIGZhbHNlLFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgb2JzZXJ2YWJsZSxcbiAgICAgIHJlc3VsdEZ1bmN0aW9uLFxuICAgICAgZXJyb3JGdW5jdGlvbixcbiAgICAgIGNvbXBsZXRlRnVuY3Rpb25cbiAgICApO1xuICB9XG5cbiAgcHVibGljIGludm9rZVdpdGhNZXNzYWdlPFQ+KFxuICAgIG9ic2VydmFibGU6IE9ic2VydmFibGU8VD4sXG4gICAgbWVzc2FnZTogc3RyaW5nLFxuICAgIHJlc3VsdEZ1bmN0aW9uPzogKHJlc3VsdDogVCkgPT4gdm9pZCxcbiAgICBlcnJvckZ1bmN0aW9uPzogKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gdm9pZCxcbiAgICBjb21wbGV0ZUZ1bmN0aW9uPzogKCkgPT4gdm9pZFxuICApOiBTdWJzY3JpcHRpb24ge1xuICAgIHRoaXMuX2luaXRpYWxNZXNzYWdlID0gbWVzc2FnZTtcbiAgICByZXR1cm4gdGhpcy5fbG9hZChcbiAgICAgIGZhbHNlLFxuICAgICAgbWVzc2FnZSxcbiAgICAgIG9ic2VydmFibGUsXG4gICAgICByZXN1bHRGdW5jdGlvbixcbiAgICAgIGVycm9yRnVuY3Rpb24sXG4gICAgICBjb21wbGV0ZUZ1bmN0aW9uXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyByZXRyeSgpIHtcbiAgICBpZiAodGhpcy5fbGFzdFN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5fbGFzdFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgICB0aGlzLnNldEluUHJvZ3Jlc3ModGhpcy5faW5pdGlhbE1lc3NhZ2UpO1xuICAgIHRoaXMuX2xhc3RTdWJzY3JpcHRpb24gPSB0aGlzLl9sb2FkT2JzZXJ2YWJsZS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogdGhpcy5fcmVzdWx0RnVuY3Rpb24sXG4gICAgICBlcnJvcjogdGhpcy5fZXJyb3JGdW5jdGlvbixcbiAgICAgIGNvbXBsZXRlOiB0aGlzLl9jb21wbGV0ZUZ1bmN0aW9uLFxuICAgIH0pO1xuICAgIHJldHVybiB0aGlzLl9sYXN0U3Vic2NyaXB0aW9uO1xuICB9XG5cbiAgcHVibGljIHNldEluUHJvZ3Jlc3MobWVzc2FnZT86IHN0cmluZykge1xuICAgIHRoaXMuX3N0YXR1cyA9IExvYWRpbmdTdGF0dXMuaW5Qcm9ncmVzcztcbiAgICB0aGlzLl9tZXNzYWdlID0gbWVzc2FnZTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRDb21wbGV0ZWQoKSB7XG4gICAgdGhpcy5fc3RhdHVzID0gTG9hZGluZ1N0YXR1cy5jb21wbGV0ZWQ7XG4gIH1cblxuICBwdWJsaWMgc2V0RmFpbGVkKG1lc3NhZ2U/OiBzdHJpbmcsIGVycm9yPzogc3RyaW5nKSB7XG4gICAgdGhpcy5fc3RhdHVzID0gTG9hZGluZ1N0YXR1cy5mYWlsZWQ7XG4gICAgdGhpcy5fbWVzc2FnZSA9IG1lc3NhZ2U7XG4gICAgdGhpcy5fZXJyb3JEZXRhaWxzID0gZXJyb3I7XG4gIH1cblxuICBwcml2YXRlIF9sb2FkPFQ+KFxuICAgIHNhdmVBc0xvYWRPYnNlcnZhYmxlOiBib29sZWFuLFxuICAgIHByb2dyZXNzTWVzc2FnZTogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICAgIG9ic2VydmFibGU6IE9ic2VydmFibGU8VD4sXG4gICAgcmVzdWx0RnVuY3Rpb24/OiAocmVzdWx0OiBUKSA9PiB2b2lkLFxuICAgIGVycm9yRnVuY3Rpb24/OiAoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB2b2lkLFxuICAgIGNvbXBsZXRlRnVuY3Rpb24/OiAoKSA9PiB2b2lkXG4gICk6IFN1YnNjcmlwdGlvbiB7XG4gICAgaWYgKHRoaXMuX2xhc3RTdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMuX2xhc3RTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICB0aGlzLnNldEluUHJvZ3Jlc3MocHJvZ3Jlc3NNZXNzYWdlKTtcbiAgICBjb25zdCBvYnMgPSBvYnNlcnZhYmxlLnBpcGUoXG4gICAgICB0YXAoe1xuICAgICAgICBuZXh0OiAoKSA9PiB7XG4gICAgICAgICAgaWYgKCFzYXZlQXNMb2FkT2JzZXJ2YWJsZSAmJiB0aGlzLm1lc3NhZ2UpIHtcbiAgICAgICAgICAgIC8vIGlmIG1lc3NhZ2Ugd2FzIHVzZWQgb25lIHRpbWUgd2UgY2xlYXIgaXRcbiAgICAgICAgICAgIHRoaXMuX21lc3NhZ2UgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMuc2V0Q29tcGxldGVkKCk7XG4gICAgICAgIH0sXG4gICAgICAgIGVycm9yOiAoZXJyKSA9PiB7XG4gICAgICAgICAgdGhpcy5zZXRGYWlsZWQodW5kZWZpbmVkLCBMb2FkaW5nU3RhdGUuZ2V0RXJyb3JEZXRhaWxzKGVycikpO1xuICAgICAgICB9LFxuICAgICAgfSlcbiAgICApO1xuXG4gICAgaWYgKHNhdmVBc0xvYWRPYnNlcnZhYmxlKSB7XG4gICAgICB0aGlzLl9sb2FkT2JzZXJ2YWJsZSA9IG9icztcbiAgICAgIHRoaXMuX3Jlc3VsdEZ1bmN0aW9uID0gcmVzdWx0RnVuY3Rpb247XG4gICAgICB0aGlzLl9lcnJvckZ1bmN0aW9uID0gZXJyb3JGdW5jdGlvbjtcbiAgICAgIHRoaXMuX2NvbXBsZXRlRnVuY3Rpb24gPSBjb21wbGV0ZUZ1bmN0aW9uO1xuICAgIH1cblxuICAgIHRoaXMuX2xhc3RTdWJzY3JpcHRpb24gPSBvYnMuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IHJlc3VsdEZ1bmN0aW9uLFxuICAgICAgZXJyb3I6IGVycm9yRnVuY3Rpb24sXG4gICAgICBjb21wbGV0ZTogY29tcGxldGVGdW5jdGlvbixcbiAgICB9KTtcbiAgICByZXR1cm4gdGhpcy5fbGFzdFN1YnNjcmlwdGlvbjtcbiAgfVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gIHB1YmxpYyBzdGF0aWMgZ2V0RXJyb3JEZXRhaWxzKGVycm9yOiBhbnkpIHtcbiAgICAvLyB0aGlzIHJvdXRpbmUgdHJpZXMgdG8gZ2V0IHRoZSBiZXN0IGVycm9yIGRldGFpbHMgZnJvbTpcbiAgICAvLyAtIHN0YW5kYXJkIHJmYzc4MDcgaHR0cCBlcnJvcjogaHR0cHM6Ly9kYXRhdHJhY2tlci5pZXRmLm9yZy9kb2MvaHRtbC9yZmM3ODA3XG4gICAgLy8gLSBhbmd1bGFyIEh0dHBFcnJvclxuICAgIC8vIC0gSlMgRXJyb3Igb2JqZWN0XG5cbiAgICBjb25zdCBwcm9ibGVtID0gZXJyb3I/LmVycm9yO1xuICAgIGlmIChwcm9ibGVtPy50aXRsZSAmJiBwcm9ibGVtPy5kZXRhaWwpIHtcbiAgICAgIHJldHVybiBgJHtwcm9ibGVtLnRpdGxlfTogJHtwcm9ibGVtLmRldGFpbH1gO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gcHJvYmxlbT8udGl0bGUgfHwgcHJvYmxlbT8uZGV0YWlsIHx8IGVycm9yLm1lc3NhZ2UgfHwgZXJyb3I7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -0,0 +1,9 @@
1
+ export var NucSnackbarType;
2
+ (function (NucSnackbarType) {
3
+ NucSnackbarType["Info"] = "info";
4
+ NucSnackbarType["Warning"] = "warning";
5
+ NucSnackbarType["Danger"] = "danger";
6
+ NucSnackbarType["Success"] = "success";
7
+ NucSnackbarType["Progress"] = "progress";
8
+ })(NucSnackbarType || (NucSnackbarType = {}));
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy9udWNsZXVzL251Y2xldXMtbWF0ZXJpYWwvc3JjL2xpYi9zbmFja2Jhci9tb2RlbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksZUFNWDtBQU5ELFdBQVksZUFBZTtJQUN6QixnQ0FBYSxDQUFBO0lBQ2Isc0NBQW1CLENBQUE7SUFDbkIsb0NBQWlCLENBQUE7SUFDakIsc0NBQW1CLENBQUE7SUFDbkIsd0NBQXFCLENBQUE7QUFDdkIsQ0FBQyxFQU5XLGVBQWUsS0FBZixlQUFlLFFBTTFCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gTnVjU25hY2tiYXJUeXBlIHtcbiAgSW5mbyA9ICdpbmZvJyxcbiAgV2FybmluZyA9ICd3YXJuaW5nJyxcbiAgRGFuZ2VyID0gJ2RhbmdlcicsXG4gIFN1Y2Nlc3MgPSAnc3VjY2VzcycsXG4gIFByb2dyZXNzID0gJ3Byb2dyZXNzJyxcbn1cbiJdfQ==
@@ -0,0 +1,31 @@
1
+ import { Component, ElementRef, Inject, ViewEncapsulation, } from '@angular/core';
2
+ import { MAT_SNACK_BAR_DATA } from '@angular/material/snack-bar';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/material/progress-spinner";
5
+ export class ProgressSnackbarComponent {
6
+ constructor(
7
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
8
+ data, elem) {
9
+ this.data = data;
10
+ this.elem = elem;
11
+ }
12
+ ngAfterViewInit() {
13
+ const element = this.elem.nativeElement;
14
+ const circle = element.querySelector('circle');
15
+ const message = element.querySelector('.message');
16
+ const color = window.getComputedStyle(message).color;
17
+ circle.style.stroke = color;
18
+ }
19
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ProgressSnackbarComponent, deps: [{ token: MAT_SNACK_BAR_DATA }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
20
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ProgressSnackbarComponent, selector: "lib-progress-snackbar", host: { classAttribute: "mat-simple-snackbar" }, ngImport: i0, template: "<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", styles: [""], dependencies: [{ kind: "component", type: i1.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }], encapsulation: i0.ViewEncapsulation.None }); }
21
+ }
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ProgressSnackbarComponent, decorators: [{
23
+ type: Component,
24
+ args: [{ selector: 'lib-progress-snackbar', encapsulation: ViewEncapsulation.None, host: {
25
+ class: 'mat-simple-snackbar',
26
+ }, template: "<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" }]
27
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
28
+ type: Inject,
29
+ args: [MAT_SNACK_BAR_DATA]
30
+ }] }, { type: i0.ElementRef }]; } });
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3Mtc25hY2tiYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy9udWNsZXVzL251Y2xldXMtbWF0ZXJpYWwvc3JjL2xpYi9zbmFja2Jhci9wcm9ncmVzcy1zbmFja2Jhci9wcm9ncmVzcy1zbmFja2Jhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nL251Y2xldXMvbnVjbGV1cy1tYXRlcmlhbC9zcmMvbGliL3NuYWNrYmFyL3Byb2dyZXNzLXNuYWNrYmFyL3Byb2dyZXNzLXNuYWNrYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLE1BQU0sRUFDTixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7OztBQVlqRSxNQUFNLE9BQU8seUJBQXlCO0lBQ3BDO0lBQ0UsOERBQThEO0lBQzNCLElBQVMsRUFDcEMsSUFBZ0I7UUFEVyxTQUFJLEdBQUosSUFBSSxDQUFLO1FBQ3BDLFNBQUksR0FBSixJQUFJLENBQVk7SUFDdkIsQ0FBQztJQUVKLGVBQWU7UUFDYixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUN4QyxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQy9DLE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbEQsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUNyRCxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDOUIsQ0FBQzsrR0FiVSx5QkFBeUIsa0JBRzFCLGtCQUFrQjttR0FIakIseUJBQXlCLDhHQ25CdEMsNFRBV0E7OzRGRFFhLHlCQUF5QjtrQkFWckMsU0FBUzsrQkFDRSx1QkFBdUIsaUJBR2xCLGlCQUFpQixDQUFDLElBQUksUUFFL0I7d0JBQ0osS0FBSyxFQUFFLHFCQUFxQjtxQkFDN0I7OzBCQUtFLE1BQU07MkJBQUMsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBJbmplY3QsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1BVF9TTkFDS19CQVJfREFUQSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NuYWNrLWJhcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1wcm9ncmVzcy1zbmFja2JhcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9ncmVzcy1zbmFja2Jhci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Byb2dyZXNzLXNuYWNrYmFyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taG9zdC1tZXRhZGF0YS1wcm9wZXJ0eVxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdtYXQtc2ltcGxlLXNuYWNrYmFyJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgUHJvZ3Jlc3NTbmFja2JhckNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICBjb25zdHJ1Y3RvcihcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIEBJbmplY3QoTUFUX1NOQUNLX0JBUl9EQVRBKSBwdWJsaWMgZGF0YTogYW55LFxuICAgIHByaXZhdGUgZWxlbTogRWxlbWVudFJlZlxuICApIHt9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLmVsZW0ubmF0aXZlRWxlbWVudDtcbiAgICBjb25zdCBjaXJjbGUgPSBlbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ2NpcmNsZScpO1xuICAgIGNvbnN0IG1lc3NhZ2UgPSBlbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5tZXNzYWdlJyk7XG4gICAgY29uc3QgY29sb3IgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShtZXNzYWdlKS5jb2xvcjtcbiAgICBjaXJjbGUuc3R5bGUuc3Ryb2tlID0gY29sb3I7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJtYXQtc2ltcGxlLXNuYWNrLWJhci1jb250ZW50IG1lc3NhZ2VcIj5cbiAgPG1hdC1zcGlubmVyXG4gICAgc3R5bGU9XCJ2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyBkaXNwbGF5OiBpbmxpbmUtZmxleDsgbWFyZ2luLXJpZ2h0OiA4cHhcIlxuICAgIGRpYW1ldGVyPVwiMTZcIlxuICAgIHN0cm9rZVdpZHRoPVwiMS41XCJcbiAgICBtb2RlPVwiaW5kZXRlcm1pbmF0ZVwiXG4gICAgY2xhc3M9XCJzcGlubmVyXCJcbiAgICBjb2xvcj1cInJlZFwiXG4gID48L21hdC1zcGlubmVyPlxuICB7eyBkYXRhLm1lc3NhZ2UgfX1cbjwvZGl2PlxuIl19
@@ -0,0 +1,20 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { MatSnackBarModule } from '@angular/material/snack-bar';
4
+ import { ProgressSnackbarComponent } from './progress-snackbar/progress-snackbar.component';
5
+ import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
6
+ import * as i0 from "@angular/core";
7
+ export class NucSnackbarModule {
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NucSnackbarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
9
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: NucSnackbarModule, declarations: [ProgressSnackbarComponent], imports: [CommonModule, MatSnackBarModule, MatProgressSpinnerModule] }); }
10
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NucSnackbarModule, imports: [CommonModule, MatSnackBarModule, MatProgressSpinnerModule] }); }
11
+ }
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NucSnackbarModule, decorators: [{
13
+ type: NgModule,
14
+ args: [{
15
+ declarations: [ProgressSnackbarComponent],
16
+ imports: [CommonModule, MatSnackBarModule, MatProgressSpinnerModule],
17
+ exports: [],
18
+ }]
19
+ }] });
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hY2tiYXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy9udWNsZXVzL251Y2xldXMtbWF0ZXJpYWwvc3JjL2xpYi9zbmFja2Jhci9zbmFja2Jhci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDaEUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDNUYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7O0FBTzlFLE1BQU0sT0FBTyxpQkFBaUI7K0dBQWpCLGlCQUFpQjtnSEFBakIsaUJBQWlCLGlCQUpiLHlCQUF5QixhQUM5QixZQUFZLEVBQUUsaUJBQWlCLEVBQUUsd0JBQXdCO2dIQUd4RCxpQkFBaUIsWUFIbEIsWUFBWSxFQUFFLGlCQUFpQixFQUFFLHdCQUF3Qjs7NEZBR3hELGlCQUFpQjtrQkFMN0IsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQztvQkFDekMsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGlCQUFpQixFQUFFLHdCQUF3QixDQUFDO29CQUNwRSxPQUFPLEVBQUUsRUFBRTtpQkFDWiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTWF0U25hY2tCYXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXInO1xuaW1wb3J0IHsgUHJvZ3Jlc3NTbmFja2JhckNvbXBvbmVudCB9IGZyb20gJy4vcHJvZ3Jlc3Mtc25hY2tiYXIvcHJvZ3Jlc3Mtc25hY2tiYXIuY29tcG9uZW50JztcbmltcG9ydCB7IE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLXNwaW5uZXInO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtQcm9ncmVzc1NuYWNrYmFyQ29tcG9uZW50XSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTWF0U25hY2tCYXJNb2R1bGUsIE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZV0sXG4gIGV4cG9ydHM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBOdWNTbmFja2Jhck1vZHVsZSB7fVxuIl19