@myrmidon/auth-jwt-admin 0.0.2 → 0.0.3

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 (29) hide show
  1. package/{esm2015/lib/auth-jwt-admin.module.js → esm2020/lib/auth-jwt-admin.module.mjs} +4 -4
  2. package/esm2020/lib/components/auth-jwt-registration/auth-jwt-registration.component.mjs +203 -0
  3. package/{esm2015/lib/components/confirm-dialog/confirm-dialog.component.js → esm2020/lib/components/confirm-dialog/confirm-dialog.component.mjs} +5 -10
  4. package/{esm2015/lib/components/password-strength-bar/password-strength-bar.component.js → esm2020/lib/components/password-strength-bar/password-strength-bar.component.mjs} +5 -9
  5. package/{esm2015/lib/components/state/users.paginator.js → esm2020/lib/components/state/users.paginator.mjs} +0 -0
  6. package/{esm2015/lib/components/state/users.query.js → esm2020/lib/components/state/users.query.mjs} +3 -3
  7. package/esm2020/lib/components/state/users.service.mjs +65 -0
  8. package/{esm2015/lib/components/state/users.store.js → esm2020/lib/components/state/users.store.mjs} +3 -3
  9. package/esm2020/lib/components/user-editor/user-editor.component.mjs +112 -0
  10. package/esm2020/lib/components/user-filter/user-filter.component.mjs +58 -0
  11. package/esm2020/lib/components/user-list/user-list.component.mjs +134 -0
  12. package/{esm2015/lib/services/auth-jwt-account.service.js → esm2020/lib/services/auth-jwt-account.service.mjs} +3 -3
  13. package/{esm2015/lib/services/dialog.service.js → esm2020/lib/services/dialog.service.mjs} +3 -3
  14. package/{esm2015/lib/validators/password.validators.js → esm2020/lib/validators/password.validators.mjs} +0 -0
  15. package/{esm2015/myrmidon-auth-jwt-admin.js → esm2020/myrmidon-auth-jwt-admin.mjs} +0 -0
  16. package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
  17. package/fesm2015/myrmidon-auth-jwt-admin.mjs +1061 -0
  18. package/fesm2015/myrmidon-auth-jwt-admin.mjs.map +1 -0
  19. package/{fesm2015/myrmidon-auth-jwt-admin.js → fesm2020/myrmidon-auth-jwt-admin.mjs} +50 -78
  20. package/fesm2020/myrmidon-auth-jwt-admin.mjs.map +1 -0
  21. package/package.json +22 -9
  22. package/bundles/myrmidon-auth-jwt-admin.umd.js +0 -1466
  23. package/bundles/myrmidon-auth-jwt-admin.umd.js.map +0 -1
  24. package/esm2015/lib/components/auth-jwt-registration/auth-jwt-registration.component.js +0 -207
  25. package/esm2015/lib/components/state/users.service.js +0 -65
  26. package/esm2015/lib/components/user-editor/user-editor.component.js +0 -118
  27. package/esm2015/lib/components/user-filter/user-filter.component.js +0 -63
  28. package/esm2015/lib/components/user-list/user-list.component.js +0 -138
  29. package/fesm2015/myrmidon-auth-jwt-admin.js.map +0 -1
@@ -25,8 +25,8 @@ import { MatPaginatorModule } from '@angular/material/paginator';
25
25
  import * as i0 from "@angular/core";
26
26
  export class AuthJwtAdminModule {
27
27
  }
28
- AuthJwtAdminModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: AuthJwtAdminModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
29
- AuthJwtAdminModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: AuthJwtAdminModule, declarations: [AuthJwtRegistrationComponent,
28
+ AuthJwtAdminModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: AuthJwtAdminModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
29
+ AuthJwtAdminModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: AuthJwtAdminModule, declarations: [AuthJwtRegistrationComponent,
30
30
  PasswordStrengthBarComponent,
31
31
  UserFilterComponent,
32
32
  UserListComponent,
@@ -53,7 +53,7 @@ AuthJwtAdminModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", vers
53
53
  PasswordStrengthBarComponent,
54
54
  UserFilterComponent,
55
55
  UserListComponent] });
56
- AuthJwtAdminModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: AuthJwtAdminModule, imports: [[
56
+ AuthJwtAdminModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: AuthJwtAdminModule, imports: [[
57
57
  CommonModule,
58
58
  HttpClientModule,
59
59
  FormsModule,
@@ -74,7 +74,7 @@ AuthJwtAdminModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", vers
74
74
  AuthJwtLoginModule,
75
75
  NgToolsModule
76
76
  ]] });
77
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: AuthJwtAdminModule, decorators: [{
77
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: AuthJwtAdminModule, decorators: [{
78
78
  type: NgModule,
79
79
  args: [{
80
80
  declarations: [
@@ -0,0 +1,203 @@
1
+ import { Component, EventEmitter, Output } from '@angular/core';
2
+ import { Validators, } from '@angular/forms';
3
+ import { take } from 'rxjs/operators';
4
+ import { PasswordValidators } from '../../validators/password.validators';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/forms";
7
+ import * as i2 from "@angular/material/snack-bar";
8
+ import * as i3 from "../../services/auth-jwt-account.service";
9
+ import * as i4 from "@angular/material/form-field";
10
+ import * as i5 from "@angular/material/icon";
11
+ import * as i6 from "../password-strength-bar/password-strength-bar.component";
12
+ import * as i7 from "@angular/material/button";
13
+ import * as i8 from "@angular/material/progress-spinner";
14
+ import * as i9 from "@angular/material/input";
15
+ import * as i10 from "@angular/common";
16
+ export class AuthJwtRegistrationComponent {
17
+ constructor(formBuilder, _snackbar, _accountService) {
18
+ this._snackbar = _snackbar;
19
+ this._accountService = _accountService;
20
+ this.registered = new EventEmitter();
21
+ // form
22
+ this.email = formBuilder.control('', [Validators.required, Validators.email], this.getUniqueEmailValidator(this._accountService).bind(this));
23
+ this.name = formBuilder.control('', Validators.required, this.getUniqueNameValidator(this._accountService).bind(this));
24
+ this.firstName = formBuilder.control('', [
25
+ Validators.required,
26
+ Validators.maxLength(50),
27
+ ]);
28
+ this.lastName = formBuilder.control('', [
29
+ Validators.required,
30
+ Validators.maxLength(50),
31
+ ]);
32
+ // http://stackoverflow.com/questions/35474991/angular-2-form-validating-for-repeat-password
33
+ this.password = formBuilder.control('', Validators.compose([Validators.required, PasswordValidators.standard]));
34
+ this.confirmPassword = formBuilder.control('', Validators.required);
35
+ this.passwords = formBuilder.group({
36
+ password: this.password,
37
+ confirmPassword: this.confirmPassword,
38
+ }, { validator: this.areEqual.bind(this) });
39
+ this.registration = formBuilder.group({
40
+ email: this.email,
41
+ name: this.name,
42
+ firstName: this.firstName,
43
+ lastName: this.lastName,
44
+ passwords: this.passwords,
45
+ });
46
+ }
47
+ areEqual(group) {
48
+ if (this.password.value === this.confirmPassword.value) {
49
+ return null;
50
+ }
51
+ return {
52
+ areEqual: true,
53
+ };
54
+ }
55
+ /**
56
+ * Creates a unique name validator. There is no dependency injection at this level,
57
+ * but we can use closures. As a matter of fact, we have access to the service instance
58
+ * from the component where we register validators. So we will implement a function
59
+ * that will accept the service as parameter, and create the actual validation function.
60
+ * This function will have access to the service when called during the validation process.
61
+ * See http://restlet.com/blog/2016/02/17/implementing-angular2-forms-beyond-basics-part-2/.
62
+ */
63
+ getUniqueNameValidator(service) {
64
+ return (control) => {
65
+ return new Promise((resolve, reject) => {
66
+ // avoid checking if empty
67
+ if (!control.value) {
68
+ resolve(null);
69
+ }
70
+ else {
71
+ service.isNameRegistered(control.value).subscribe((data) => {
72
+ if (!data.isExisting) {
73
+ resolve(null);
74
+ }
75
+ else {
76
+ resolve({ uniqueName: true });
77
+ }
78
+ }, (err) => {
79
+ resolve({ uniqueName: true });
80
+ });
81
+ }
82
+ });
83
+ };
84
+ }
85
+ getUniqueEmailValidator(service) {
86
+ return (control) => {
87
+ return new Promise((resolve, reject) => {
88
+ // avoid checking if empty
89
+ if (!control.value) {
90
+ resolve(null);
91
+ }
92
+ else {
93
+ service.isEmailRegistered(control.value).subscribe((data) => {
94
+ if (!data.isExisting) {
95
+ resolve(null);
96
+ }
97
+ else {
98
+ resolve({ uniqueEmail: true });
99
+ }
100
+ }, (err) => {
101
+ resolve({ uniqueEmail: true });
102
+ });
103
+ }
104
+ });
105
+ };
106
+ }
107
+ ngOnInit() { }
108
+ getEmailErrorLabel() {
109
+ if (!this.email.dirty) {
110
+ return null;
111
+ }
112
+ if (this.email.hasError('required')) {
113
+ return 'email address required';
114
+ }
115
+ if (this.email.hasError('email')) {
116
+ return 'invalid email address';
117
+ }
118
+ if (this.email.hasError('uniqueEmail') && !this.email.pending) {
119
+ return 'email address already registered';
120
+ }
121
+ return null;
122
+ }
123
+ getNameErrorLabel() {
124
+ if (!this.name.dirty) {
125
+ return null;
126
+ }
127
+ if (this.name.hasError('required')) {
128
+ return 'username required';
129
+ }
130
+ if (this.name.hasError('pattern')) {
131
+ return 'invalid username';
132
+ }
133
+ if (this.name.hasError('uniqueName') && !this.name.pending) {
134
+ return 'username already taken';
135
+ }
136
+ return null;
137
+ }
138
+ getPasswordErrorLabel() {
139
+ if (!this.password.dirty) {
140
+ return null;
141
+ }
142
+ if (this.password.hasError('required')) {
143
+ return 'password required';
144
+ }
145
+ if (this.password.hasError('passwordTooShort')) {
146
+ let s = 'at least 8 characters';
147
+ if (this.password.value) {
148
+ s += ` (now ${this.password.value.length})`;
149
+ }
150
+ return s;
151
+ }
152
+ if (this.password.hasError('noUpperInPassword')) {
153
+ return 'at least 1 uppercase letter';
154
+ }
155
+ if (this.password.hasError('noLowerInPassword')) {
156
+ return 'at least 1 lowercase letter';
157
+ }
158
+ if (this.password.hasError('noSymbolInPassword')) {
159
+ return 'at least 1 punctuation or symbol';
160
+ }
161
+ return null;
162
+ }
163
+ onSubmit() {
164
+ if (!this.registration.valid ||
165
+ this.busy ||
166
+ this.name.pending ||
167
+ this.email.pending) {
168
+ return;
169
+ }
170
+ const model = {
171
+ email: this.email.value,
172
+ name: this.name.value,
173
+ firstName: this.firstName.value,
174
+ lastName: this.lastName.value,
175
+ password: this.password.value,
176
+ };
177
+ this.busy = true;
178
+ this._accountService
179
+ .register(model)
180
+ .pipe(take(1))
181
+ .subscribe(() => {
182
+ this.busy = false;
183
+ this._snackbar.open('Registration succeeded', 'OK');
184
+ // this.registration.reset();
185
+ // this.registration.clearValidators();
186
+ // this.registration.markAsPristine();
187
+ this.registered.emit();
188
+ }, (error) => {
189
+ this.busy = false;
190
+ console.error(error);
191
+ this._snackbar.open('Registration error', 'OK');
192
+ });
193
+ }
194
+ }
195
+ AuthJwtRegistrationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: AuthJwtRegistrationComponent, deps: [{ token: i1.FormBuilder }, { token: i2.MatSnackBar }, { token: i3.AuthJwtAccountService }], target: i0.ɵɵFactoryTarget.Component });
196
+ AuthJwtRegistrationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.5", type: AuthJwtRegistrationComponent, selector: "auth-jwt-registration", outputs: { registered: "registered" }, ngImport: i0, template: "<div>\n <div>\n <p>\n To register a new user, you must provide his email address, choose a\n password, and choose a username, which must be unique (you will be\n notified if another user has already taken that name). The username must\n include only letters/digits, start with a letter, and be no shorter than 3\n characters, nor longer than 50.\n </p>\n <p>\n To promote a decent security level, the password must include at least 8\n characters, uppercase and lowercase letters, digits, and punctuation (like\n dashes, stops, parentheses, etc.).\n </p>\n <p>\n Once registered, the user will receive an email message to the email\n address you specified; he will have to click on the provided link to\n complete the registration process.\n </p>\n </div>\n\n <form role=\"form\" [formGroup]=\"registration\" (submit)=\"onSubmit()\">\n <fieldset>\n <label>register user</label>\n <!-- email -->\n <div>\n <mat-form-field>\n <input\n matInput\n type=\"email\"\n id=\"email\"\n maxlength=\"256\"\n required\n autofocus\n spellcheck=\"false\"\n placeholder=\"email\"\n formControlName=\"email\"\n />\n <mat-error>{{ getEmailErrorLabel() }}</mat-error>\n <mat-icon *ngIf=\"email.pending\">hourglass</mat-icon>\n </mat-form-field>\n </div>\n\n <!-- name -->\n <div>\n <mat-form-field>\n <input\n matInput\n type=\"text\"\n id=\"name\"\n maxlength=\"50\"\n required\n pattern=\"^[a-zA-Z][a-zA-Z0-9]{2,49}$\"\n spellcheck=\"false\"\n placeholder=\"username\"\n formControlName=\"name\"\n />\n <mat-error>{{ getNameErrorLabel() }}</mat-error>\n <mat-icon *ngIf=\"name.pending\">hourglass</mat-icon>\n </mat-form-field>\n </div>\n\n <!-- first name -->\n <div>\n <mat-form-field>\n <input\n matInput\n type=\"text\"\n id=\"firstName\"\n maxlength=\"50\"\n required\n spellcheck=\"false\"\n placeholder=\"first name\"\n formControlName=\"firstName\"\n />\n <mat-error\n *ngIf=\"\n firstName.hasError('required') &&\n (firstName.dirty || firstName.touched)\n \"\n class=\"text-danger small\"\n >\n first name required\n </mat-error>\n </mat-form-field>\n </div>\n\n <!-- last name -->\n <div>\n <mat-form-field>\n <input\n matInput\n type=\"text\"\n id=\"lastName\"\n maxlength=\"50\"\n required\n spellcheck=\"false\"\n placeholder=\"last name\"\n formControlName=\"lastName\"\n />\n <mat-error\n *ngIf=\"\n lastName.hasError('required') &&\n (lastName.dirty || lastName.touched)\n \"\n class=\"text-danger small\"\n >\n last name required\n </mat-error>\n </mat-form-field>\n </div>\n\n <div [formGroup]=\"passwords\">\n <!-- password -->\n <div>\n <mat-form-field>\n <input\n matInput\n type=\"password\"\n name=\"password\"\n autocomplete=\"new-password\"\n maxlength=\"50\"\n required\n spellcheck=\"false\"\n placeholder=\"password\"\n formControlName=\"password\"\n />\n <auth-jwt-password-strength-bar [passwordToCheck]=\"password.value\">\n </auth-jwt-password-strength-bar>\n <mat-error>{{ getPasswordErrorLabel() }}</mat-error>\n </mat-form-field>\n </div>\n\n <!-- confirm password -->\n <div>\n <mat-form-field>\n <input\n matInput\n type=\"password\"\n name=\"confirmPassword\"\n maxlength=\"50\"\n required\n spellcheck=\"false\"\n placeholder=\"confirm password\"\n formControlName=\"confirmPassword\"\n />\n <mat-error\n *ngIf=\"\n passwords.hasError('areEqual') &&\n (confirmPassword.dirty || confirmPassword.touched)\n \"\n >\n password differs from confirmation password\n </mat-error>\n </mat-form-field>\n </div>\n </div>\n\n <button\n mat-raised-button\n type=\"submit\"\n color=\"primary\"\n [disabled]=\"\n !registration.valid || busy || name.pending || email.pending\n \"\n >\n register\n </button>\n <mat-progress-spinner\n diameter=\"20\"\n *ngIf=\"busy\"\n aria-label=\"Busy\"\n ></mat-progress-spinner>\n </fieldset>\n </form>\n</div>\n", styles: ["mat-form-field{width:400px}fieldset{border:1px solid silver;border-radius:8px;padding:16px}\n"], components: [{ type: i4.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i6.PasswordStrengthBarComponent, selector: "auth-jwt-password-strength-bar", inputs: ["passwordToCheck"], outputs: ["strengthChange"] }, { type: i7.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"] }, { type: i8.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }], directives: [{ type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i9.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i4.MatError, selector: "mat-error", inputs: ["id"] }, { type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }] });
197
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: AuthJwtRegistrationComponent, decorators: [{
198
+ type: Component,
199
+ args: [{ selector: 'auth-jwt-registration', template: "<div>\n <div>\n <p>\n To register a new user, you must provide his email address, choose a\n password, and choose a username, which must be unique (you will be\n notified if another user has already taken that name). The username must\n include only letters/digits, start with a letter, and be no shorter than 3\n characters, nor longer than 50.\n </p>\n <p>\n To promote a decent security level, the password must include at least 8\n characters, uppercase and lowercase letters, digits, and punctuation (like\n dashes, stops, parentheses, etc.).\n </p>\n <p>\n Once registered, the user will receive an email message to the email\n address you specified; he will have to click on the provided link to\n complete the registration process.\n </p>\n </div>\n\n <form role=\"form\" [formGroup]=\"registration\" (submit)=\"onSubmit()\">\n <fieldset>\n <label>register user</label>\n <!-- email -->\n <div>\n <mat-form-field>\n <input\n matInput\n type=\"email\"\n id=\"email\"\n maxlength=\"256\"\n required\n autofocus\n spellcheck=\"false\"\n placeholder=\"email\"\n formControlName=\"email\"\n />\n <mat-error>{{ getEmailErrorLabel() }}</mat-error>\n <mat-icon *ngIf=\"email.pending\">hourglass</mat-icon>\n </mat-form-field>\n </div>\n\n <!-- name -->\n <div>\n <mat-form-field>\n <input\n matInput\n type=\"text\"\n id=\"name\"\n maxlength=\"50\"\n required\n pattern=\"^[a-zA-Z][a-zA-Z0-9]{2,49}$\"\n spellcheck=\"false\"\n placeholder=\"username\"\n formControlName=\"name\"\n />\n <mat-error>{{ getNameErrorLabel() }}</mat-error>\n <mat-icon *ngIf=\"name.pending\">hourglass</mat-icon>\n </mat-form-field>\n </div>\n\n <!-- first name -->\n <div>\n <mat-form-field>\n <input\n matInput\n type=\"text\"\n id=\"firstName\"\n maxlength=\"50\"\n required\n spellcheck=\"false\"\n placeholder=\"first name\"\n formControlName=\"firstName\"\n />\n <mat-error\n *ngIf=\"\n firstName.hasError('required') &&\n (firstName.dirty || firstName.touched)\n \"\n class=\"text-danger small\"\n >\n first name required\n </mat-error>\n </mat-form-field>\n </div>\n\n <!-- last name -->\n <div>\n <mat-form-field>\n <input\n matInput\n type=\"text\"\n id=\"lastName\"\n maxlength=\"50\"\n required\n spellcheck=\"false\"\n placeholder=\"last name\"\n formControlName=\"lastName\"\n />\n <mat-error\n *ngIf=\"\n lastName.hasError('required') &&\n (lastName.dirty || lastName.touched)\n \"\n class=\"text-danger small\"\n >\n last name required\n </mat-error>\n </mat-form-field>\n </div>\n\n <div [formGroup]=\"passwords\">\n <!-- password -->\n <div>\n <mat-form-field>\n <input\n matInput\n type=\"password\"\n name=\"password\"\n autocomplete=\"new-password\"\n maxlength=\"50\"\n required\n spellcheck=\"false\"\n placeholder=\"password\"\n formControlName=\"password\"\n />\n <auth-jwt-password-strength-bar [passwordToCheck]=\"password.value\">\n </auth-jwt-password-strength-bar>\n <mat-error>{{ getPasswordErrorLabel() }}</mat-error>\n </mat-form-field>\n </div>\n\n <!-- confirm password -->\n <div>\n <mat-form-field>\n <input\n matInput\n type=\"password\"\n name=\"confirmPassword\"\n maxlength=\"50\"\n required\n spellcheck=\"false\"\n placeholder=\"confirm password\"\n formControlName=\"confirmPassword\"\n />\n <mat-error\n *ngIf=\"\n passwords.hasError('areEqual') &&\n (confirmPassword.dirty || confirmPassword.touched)\n \"\n >\n password differs from confirmation password\n </mat-error>\n </mat-form-field>\n </div>\n </div>\n\n <button\n mat-raised-button\n type=\"submit\"\n color=\"primary\"\n [disabled]=\"\n !registration.valid || busy || name.pending || email.pending\n \"\n >\n register\n </button>\n <mat-progress-spinner\n diameter=\"20\"\n *ngIf=\"busy\"\n aria-label=\"Busy\"\n ></mat-progress-spinner>\n </fieldset>\n </form>\n</div>\n", styles: ["mat-form-field{width:400px}fieldset{border:1px solid silver;border-radius:8px;padding:16px}\n"] }]
200
+ }], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: i2.MatSnackBar }, { type: i3.AuthJwtAccountService }]; }, propDecorators: { registered: [{
201
+ type: Output
202
+ }] } });
203
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1qd3QtcmVnaXN0cmF0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cm1pZG9uL2F1dGgtand0LWFkbWluL3NyYy9saWIvY29tcG9uZW50cy9hdXRoLWp3dC1yZWdpc3RyYXRpb24vYXV0aC1qd3QtcmVnaXN0cmF0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cm1pZG9uL2F1dGgtand0LWFkbWluL3NyYy9saWIvY29tcG9uZW50cy9hdXRoLWp3dC1yZWdpc3RyYXRpb24vYXV0aC1qd3QtcmVnaXN0cmF0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBSUwsVUFBVSxHQUdYLE1BQU0sZ0JBQWdCLENBQUM7QUFHeEIsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBT3RDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOzs7Ozs7Ozs7Ozs7QUFPMUUsTUFBTSxPQUFPLDRCQUE0QjtJQW9CdkMsWUFDRSxXQUF3QixFQUNoQixTQUFzQixFQUN0QixlQUFzQztRQUR0QyxjQUFTLEdBQVQsU0FBUyxDQUFhO1FBQ3RCLG9CQUFlLEdBQWYsZUFBZSxDQUF1QjtRQUU5QyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDMUMsT0FBTztRQUNQLElBQUksQ0FBQyxLQUFLLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FDOUIsRUFBRSxFQUNGLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsS0FBSyxDQUFDLEVBQ3ZDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFD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QUU7WUFDSCxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztZQUNsQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUNwRCw2QkFBNkI7WUFDN0IsdUNBQXVDO1lBQ3ZDLHNDQUFzQztZQUN0QyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3pCLENBQUMsRUFDRCxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ1IsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7WUFDbEIsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNyQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNsRCxDQUFDLENBQ0YsQ0FBQztJQUNOLENBQUM7O3lIQXhQVSw0QkFBNEI7NkdBQTVCLDRCQUE0QixvR0N6QnpDLHNtS0FnTEE7MkZEdkphLDRCQUE0QjtrQkFMeEMsU0FBUzsrQkFDRSx1QkFBdUI7Z0tBc0IxQixVQUFVO3NCQURoQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBGb3JtR3JvdXAsXG4gIEZvcm1Db250cm9sLFxuICBGb3JtQnVpbGRlcixcbiAgVmFsaWRhdG9ycyxcbiAgQWJzdHJhY3RDb250cm9sLFxuICBWYWxpZGF0aW9uRXJyb3JzLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRTbmFja0JhciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NuYWNrLWJhcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtcbiAgQXV0aEp3dEFjY291bnRTZXJ2aWNlLFxuICBFeGlzdFJlc3VsdCxcbiAgUmVnaXN0cmF0aW9uTW9kZWwsXG59IGZyb20gJy4uLy4uL3NlcnZpY2VzL2F1dGgtand0LWFjY291bnQuc2VydmljZSc7XG5cbmltcG9ydCB7IFBhc3N3b3JkVmFsaWRhdG9ycyB9IGZyb20gJy4uLy4uL3ZhbGlkYXRvcnMvcGFzc3dvcmQudmFsaWRhdG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F1dGgtand0LXJlZ2lzdHJhdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9hdXRoLWp3dC1yZWdpc3RyYXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hdXRoLWp3dC1yZWdpc3RyYXRpb24uY29tcG9uZW50LmNzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBBdXRoSnd0UmVnaXN0cmF0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHVibGljIGJ1c3k6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gIC8vIGZvcm1cbiAgcHVibGljIHJlZ2lzdHJhdGlvbjogRm9ybUdyb3VwO1xuICBwdWJsaWMgZW1haWw6IEZvcm1Db250cm9sO1xuICBwdWJsaWMgbmFtZTogRm9ybUNvbnRyb2w7XG4gIHB1YmxpYyBmaXJzdE5hbWU6IEZvcm1Db250cm9sO1xuICBwdWJsaWMgbGFzdE5hbWU6IEZvcm1Db250cm9sO1xuICBwdWJsaWMgcGFzc3dvcmRzOiBGb3JtR3JvdXA7XG4gIHB1YmxpYyBwYXNzd29yZDogRm9ybUNvbnRyb2w7XG4gIHB1YmxpYyBjb25maXJtUGFzc3dvcmQ6IEZvcm1Db250cm9sO1xuXG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gYSB1c2VyIHdhcyBzdWNjZXNzZnVsbHkgcmVnaXN0ZXJlZC4gVXN1YWxseVxuICAgKiB5b3Ugc2hvdWxkIGhhbmRsZSB0aGlzIHRvIG1vdmUgYXdheSBmcm9tIHRoZSByZWdpc3RyYXRpb25cbiAgICogcGFnZS5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgcmVnaXN0ZXJlZDogRXZlbnRFbWl0dGVyPGFueT47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgX3NuYWNrYmFyOiBNYXRTbmFja0JhcixcbiAgICBwcml2YXRlIF9hY2NvdW50U2VydmljZTogQXV0aEp3dEFjY291bnRTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMucmVnaXN0ZXJlZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIC8vIGZvcm1cbiAgICB0aGlzLmVtYWlsID0gZm9ybUJ1aWxkZXIuY29udHJvbChcbiAgICAgICcnLFxuICAgICAgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMuZW1haWxdLFxuICAgICAgdGhpcy5nZXRVbmlxdWVFbWFpbFZhbGlkYXRvcih0aGlzLl9hY2NvdW50U2VydmljZSkuYmluZCh0aGlzKVxuICAgICk7XG5cbiAgICB0aGlzLm5hbWUgPSBmb3JtQnVpbGRlci5jb250cm9sKFxuICAgICAgJycsXG4gICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxuICAgICAgdGhpcy5nZXRVbmlxdWVOYW1lVmFsaWRhdG9yKHRoaXMuX2FjY291bnRTZXJ2aWNlKS5iaW5kKHRoaXMpXG4gICAgKTtcblxuICAgIHRoaXMuZmlyc3ROYW1lID0gZm9ybUJ1aWxkZXIuY29udHJvbCgnJywgW1xuICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZCxcbiAgICAgIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDUwKSxcbiAgICBdKTtcbiAgICB0aGlzLmxhc3ROYW1lID0gZm9ybUJ1aWxkZXIuY29udHJvbCgnJywgW1xuICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZCxcbiAgICAgIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDUwKSxcbiAgICBdKTtcblxuICAgIC8vIGh0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMzU0NzQ5OTEvYW5ndWxhci0yLWZvcm0tdmFsaWRhdGluZy1mb3ItcmVwZWF0LXBhc3N3b3JkXG4gICAgdGhpcy5wYXNzd29yZCA9IGZvcm1CdWlsZGVyLmNvbnRyb2woXG4gICAgICAnJyxcbiAgICAgIFZhbGlkYXRvcnMuY29tcG9zZShbVmFsaWRhdG9ycy5yZXF1aXJlZCwgUGFzc3dvcmRWYWxpZGF0b3JzLnN0YW5kYXJkXSlcbiAgICApO1xuICAgIHRoaXMuY29uZmlybVBhc3N3b3JkID0gZm9ybUJ1aWxkZXIuY29udHJvbCgnJywgVmFsaWRhdG9ycy5yZXF1aXJlZCk7XG4gICAgdGhpcy5wYXNzd29yZHMgPSBmb3JtQnVpbGRlci5ncm91cChcbiAgICAgIHtcbiAgICAgICAgcGFzc3dvcmQ6IHRoaXMucGFzc3dvcmQsXG4gICAgICAgIGNvbmZpcm1QYXNzd29yZDogdGhpcy5jb25maXJtUGFzc3dvcmQsXG4gICAgICB9LFxuICAgICAgeyB2YWxpZGF0b3I6IHRoaXMuYXJlRXF1YWwuYmluZCh0aGlzKSB9XG4gICAgKTtcblxuICAgIHRoaXMucmVnaXN0cmF0aW9uID0gZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgZW1haWw6IHRoaXMuZW1haWwsXG4gICAgICBuYW1lOiB0aGlzLm5hbWUsXG4gICAgICBmaXJzdE5hbWU6IHRoaXMuZmlyc3ROYW1lLFxuICAgICAgbGFzdE5hbWU6IHRoaXMubGFzdE5hbWUsXG4gICAgICBwYXNzd29yZHM6IHRoaXMucGFzc3dvcmRzLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBhcmVFcXVhbChncm91cDogRm9ybUdyb3VwKTogeyBba2V5OiBzdHJpbmddOiBib29sZWFuIH0gfCBudWxsIHtcbiAgICBpZiAodGhpcy5wYXNzd29yZC52YWx1ZSA9PT0gdGhpcy5jb25maXJtUGFzc3dvcmQudmFsdWUpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgYXJlRXF1YWw6IHRydWUsXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgdW5pcXVlIG5hbWUgdmFsaWRhdG9yLiBUaGVyZSBpcyBubyBkZXBlbmRlbmN5IGluamVjdGlvbiBhdCB0aGlzIGxldmVsLFxuICAgKiBidXQgd2UgY2FuIHVzZSBjbG9zdXJlcy4gQXMgYSBtYXR0ZXIgb2YgZmFjdCwgd2UgaGF2ZSBhY2Nlc3MgdG8gdGhlIHNlcnZpY2UgaW5zdGFuY2VcbiAgICogZnJvbSB0aGUgY29tcG9uZW50IHdoZXJlIHdlIHJlZ2lzdGVyIHZhbGlkYXRvcnMuIFNvIHdlIHdpbGwgaW1wbGVtZW50IGEgZnVuY3Rpb25cbiAgICogdGhhdCB3aWxsIGFjY2VwdCB0aGUgc2VydmljZSBhcyBwYXJhbWV0ZXIsIGFuZCBjcmVhdGUgdGhlIGFjdHVhbCB2YWxpZGF0aW9uIGZ1bmN0aW9uLlxuICAgKiBUaGlzIGZ1bmN0aW9uIHdpbGwgaGF2ZSBhY2Nlc3MgdG8gdGhlIHNlcnZpY2Ugd2hlbiBjYWxsZWQgZHVyaW5nIHRoZSB2YWxpZGF0aW9uIHByb2Nlc3MuXG4gICAqIFNlZSBodHRwOi8vcmVzdGxldC5jb20vYmxvZy8yMDE2LzAyLzE3L2ltcGxlbWVudGluZy1hbmd1bGFyMi1mb3Jtcy1iZXlvbmQtYmFzaWNzLXBhcnQtMi8uXG4gICAqL1xuICBwcml2YXRlIGdldFVuaXF1ZU5hbWVWYWxpZGF0b3Ioc2VydmljZTogQXV0aEp3dEFjY291bnRTZXJ2aWNlKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbFxuICAgICk6XG4gICAgICB8IFByb21pc2U8VmFsaWRhdGlvbkVycm9ycyB8IG51bGw+XG4gICAgICB8IE9ic2VydmFibGU8VmFsaWRhdGlvbkVycm9ycyB8IG51bGw+ID0+IHtcbiAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgIC8vIGF2b2lkIGNoZWNraW5nIGlmIGVtcHR5XG4gICAgICAgIGlmICghY29udHJvbC52YWx1ZSkge1xuICAgICAgICAgIHJlc29sdmUobnVsbCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgc2VydmljZS5pc05hbWVSZWdpc3RlcmVkKGNvbnRyb2wudmFsdWUpLnN1YnNjcmliZShcbiAgICAgICAgICAgIChkYXRhOiBFeGlzdFJlc3VsdCkgPT4ge1xuICAgICAgICAgICAgICBpZiAoIWRhdGEuaXNFeGlzdGluZykge1xuICAgICAgICAgICAgICAgIHJlc29sdmUobnVsbCk7XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmVzb2x2ZSh7IHVuaXF1ZU5hbWU6IHRydWUgfSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAoZXJyKSA9PiB7XG4gICAgICAgICAgICAgIHJlc29sdmUoeyB1bmlxdWVOYW1lOiB0cnVlIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGdldFVuaXF1ZUVtYWlsVmFsaWRhdG9yKHNlcnZpY2U6IEF1dGhKd3RBY2NvdW50U2VydmljZSkge1xuICAgIHJldHVybiAoXG4gICAgICBjb250cm9sOiBBYnN0cmFjdENvbnRyb2xcbiAgICApOlxuICAgICAgfCBQcm9taXNlPFZhbGlkYXRpb25FcnJvcnMgfCBudWxsPlxuICAgICAgfCBPYnNlcnZhYmxlPFZhbGlkYXRpb25FcnJvcnMgfCBudWxsPiA9PiB7XG4gICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICAvLyBhdm9pZCBjaGVja2luZyBpZiBlbXB0eVxuICAgICAgICBpZiAoIWNvbnRyb2wudmFsdWUpIHtcbiAgICAgICAgICByZXNvbHZlKG51bGwpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHNlcnZpY2UuaXNFbWFpbFJlZ2lzdGVyZWQoY29udHJvbC52YWx1ZSkuc3Vic2NyaWJlKFxuICAgICAgICAgICAgKGRhdGE6IEV4aXN0UmVzdWx0KSA9PiB7XG4gICAgICAgICAgICAgIGlmICghZGF0YS5pc0V4aXN0aW5nKSB7XG4gICAgICAgICAgICAgICAgcmVzb2x2ZShudWxsKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXNvbHZlKHsgdW5pcXVlRW1haWw6IHRydWUgfSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAoZXJyKSA9PiB7XG4gICAgICAgICAgICAgIHJlc29sdmUoeyB1bmlxdWVFbWFpbDogdHJ1ZSB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9O1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7fVxuXG4gIHB1YmxpYyBnZXRFbWFpbEVycm9yTGFiZWwoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgaWYgKCF0aGlzLmVtYWlsLmRpcnR5KSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5lbWFpbC5oYXNFcnJvcigncmVxdWlyZWQnKSkge1xuICAgICAgcmV0dXJuICdlbWFpbCBhZGRyZXNzIHJlcXVpcmVkJztcbiAgICB9XG4gICAgaWYgKHRoaXMuZW1haWwuaGFzRXJyb3IoJ2VtYWlsJykpIHtcbiAgICAgIHJldHVybiAnaW52YWxpZCBlbWFpbCBhZGRyZXNzJztcbiAgICB9XG4gICAgaWYgKHRoaXMuZW1haWwuaGFzRXJyb3IoJ3VuaXF1ZUVtYWlsJykgJiYgIXRoaXMuZW1haWwucGVuZGluZykge1xuICAgICAgcmV0dXJuICdlbWFpbCBhZGRyZXNzIGFscmVhZHkgcmVnaXN0ZXJlZCc7XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcHVibGljIGdldE5hbWVFcnJvckxhYmVsKCk6IHN0cmluZyB8IG51bGwge1xuICAgIGlmICghdGhpcy5uYW1lLmRpcnR5KSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5uYW1lLmhhc0Vycm9yKCdyZXF1aXJlZCcpKSB7XG4gICAgICByZXR1cm4gJ3VzZXJuYW1lIHJlcXVpcmVkJztcbiAgICB9XG5cbiAgICBpZiAodGhpcy5uYW1lLmhhc0Vycm9yKCdwYXR0ZXJuJykpIHtcbiAgICAgIHJldHVybiAnaW52YWxpZCB1c2VybmFtZSc7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMubmFtZS5oYXNFcnJvcigndW5pcXVlTmFtZScpICYmICF0aGlzLm5hbWUucGVuZGluZykge1xuICAgICAgcmV0dXJuICd1c2VybmFtZSBhbHJlYWR5IHRha2VuJztcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHB1YmxpYyBnZXRQYXNzd29yZEVycm9yTGFiZWwoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgaWYgKCF0aGlzLnBhc3N3b3JkLmRpcnR5KSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5wYXNzd29yZC5oYXNFcnJvcigncmVxdWlyZWQnKSkge1xuICAgICAgcmV0dXJuICdwYXNzd29yZCByZXF1aXJlZCc7XG4gICAgfVxuICAgIGlmICh0aGlzLnBhc3N3b3JkLmhhc0Vycm9yKCdwYXNzd29yZFRvb1Nob3J0JykpIHtcbiAgICAgIGxldCBzID0gJ2F0IGxlYXN0IDggY2hhcmFjdGVycyc7XG4gICAgICBpZiAodGhpcy5wYXNzd29yZC52YWx1ZSkge1xuICAgICAgICBzICs9IGAgKG5vdyAke3RoaXMucGFzc3dvcmQudmFsdWUubGVuZ3RofSlgO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHM7XG4gICAgfVxuICAgIGlmICh0aGlzLnBhc3N3b3JkLmhhc0Vycm9yKCdub1VwcGVySW5QYXNzd29yZCcpKSB7XG4gICAgICByZXR1cm4gJ2F0IGxlYXN0IDEgdXBwZXJjYXNlIGxldHRlcic7XG4gICAgfVxuICAgIGlmICh0aGlzLnBhc3N3b3JkLmhhc0Vycm9yKCdub0xvd2VySW5QYXNzd29yZCcpKSB7XG4gICAgICByZXR1cm4gJ2F0IGxlYXN0IDEgbG93ZXJjYXNlIGxldHRlcic7XG4gICAgfVxuICAgIGlmICh0aGlzLnBhc3N3b3JkLmhhc0Vycm9yKCdub1N5bWJvbEluUGFzc3dvcmQnKSkge1xuICAgICAgcmV0dXJuICdhdCBsZWFzdCAxIHB1bmN0dWF0aW9uIG9yIHN5bWJvbCc7XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBwdWJsaWMgb25TdWJtaXQoKTogdm9pZCB7XG4gICAgaWYgKFxuICAgICAgIXRoaXMucmVnaXN0cmF0aW9uLnZhbGlkIHx8XG4gICAgICB0aGlzLmJ1c3kgfHxcbiAgICAgIHRoaXMubmFtZS5wZW5kaW5nIHx8XG4gICAgICB0aGlzLmVtYWlsLnBlbmRpbmdcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBtb2RlbDogUmVnaXN0cmF0aW9uTW9kZWwgPSB7XG4gICAgICBlbWFpbDogdGhpcy5lbWFpbC52YWx1ZSxcbiAgICAgIG5hbWU6IHRoaXMubmFtZS52YWx1ZSxcbiAgICAgIGZpcnN0TmFtZTogdGhpcy5maXJzdE5hbWUudmFsdWUsXG4gICAgICBsYXN0TmFtZTogdGhpcy5sYXN0TmFtZS52YWx1ZSxcbiAgICAgIHBhc3N3b3JkOiB0aGlzLnBhc3N3b3JkLnZhbHVlLFxuICAgIH07XG5cbiAgICB0aGlzLmJ1c3kgPSB0cnVlO1xuICAgIHRoaXMuX2FjY291bnRTZXJ2aWNlXG4gICAgICAucmVnaXN0ZXIobW9kZWwpXG4gICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIHRoaXMuYnVzeSA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuX3NuYWNrYmFyLm9wZW4oJ1JlZ2lzdHJhdGlvbiBzdWNjZWVkZWQnLCAnT0snKTtcbiAgICAgICAgICAvLyB0aGlzLnJlZ2lzdHJhdGlvbi5yZXNldCgpO1xuICAgICAgICAgIC8vIHRoaXMucmVnaXN0cmF0aW9uLmNsZWFyVmFsaWRhdG9ycygpO1xuICAgICAgICAgIC8vIHRoaXMucmVnaXN0cmF0aW9uLm1hcmtBc1ByaXN0aW5lKCk7XG4gICAgICAgICAgdGhpcy5yZWdpc3RlcmVkLmVtaXQoKTtcbiAgICAgICAgfSxcbiAgICAgICAgKGVycm9yKSA9PiB7XG4gICAgICAgICAgdGhpcy5idXN5ID0gZmFsc2U7XG4gICAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG4gICAgICAgICAgdGhpcy5fc25hY2tiYXIub3BlbignUmVnaXN0cmF0aW9uIGVycm9yJywgJ09LJyk7XG4gICAgICAgIH1cbiAgICAgICk7XG4gIH1cbn1cbiIsIjxkaXY+XG4gIDxkaXY+XG4gICAgPHA+XG4gICAgICBUbyByZWdpc3RlciBhIG5ldyB1c2VyLCB5b3UgbXVzdCBwcm92aWRlIGhpcyBlbWFpbCBhZGRyZXNzLCBjaG9vc2UgYVxuICAgICAgcGFzc3dvcmQsIGFuZCBjaG9vc2UgYSB1c2VybmFtZSwgd2hpY2ggbXVzdCBiZSB1bmlxdWUgKHlvdSB3aWxsIGJlXG4gICAgICBub3RpZmllZCBpZiBhbm90aGVyIHVzZXIgaGFzIGFscmVhZHkgdGFrZW4gdGhhdCBuYW1lKS4gVGhlIHVzZXJuYW1lIG11c3RcbiAgICAgIGluY2x1ZGUgb25seSBsZXR0ZXJzL2RpZ2l0cywgc3RhcnQgd2l0aCBhIGxldHRlciwgYW5kIGJlIG5vIHNob3J0ZXIgdGhhbiAzXG4gICAgICBjaGFyYWN0ZXJzLCBub3IgbG9uZ2VyIHRoYW4gNTAuXG4gICAgPC9wPlxuICAgIDxwPlxuICAgICAgVG8gcHJvbW90ZSBhIGRlY2VudCBzZWN1cml0eSBsZXZlbCwgdGhlIHBhc3N3b3JkIG11c3QgaW5jbHVkZSBhdCBsZWFzdCA4XG4gICAgICBjaGFyYWN0ZXJzLCB1cHBlcmNhc2UgYW5kIGxvd2VyY2FzZSBsZXR0ZXJzLCBkaWdpdHMsIGFuZCBwdW5jdHVhdGlvbiAobGlrZVxuICAgICAgZGFzaGVzLCBzdG9wcywgcGFyZW50aGVzZXMsIGV0Yy4pLlxuICAgIDwvcD5cbiAgICA8cD5cbiAgICAgIE9uY2UgcmVnaXN0ZXJlZCwgdGhlIHVzZXIgd2lsbCByZWNlaXZlIGFuIGVtYWlsIG1lc3NhZ2UgdG8gdGhlIGVtYWlsXG4gICAgICBhZGRyZXNzIHlvdSBzcGVjaWZpZWQ7IGhlIHdpbGwgaGF2ZSB0byBjbGljayBvbiB0aGUgcHJvdmlkZWQgbGluayB0b1xuICAgICAgY29tcGxldGUgdGhlIHJlZ2lzdHJhdGlvbiBwcm9jZXNzLlxuICAgIDwvcD5cbiAgPC9kaXY+XG5cbiAgPGZvcm0gcm9sZT1cImZvcm1cIiBbZm9ybUdyb3VwXT1cInJlZ2lzdHJhdGlvblwiIChzdWJtaXQpPVwib25TdWJtaXQoKVwiPlxuICAgIDxmaWVsZHNldD5cbiAgICAgIDxsYWJlbD5yZWdpc3RlciB1c2VyPC9sYWJlbD5cbiAgICAgIDwhLS0gZW1haWwgLS0+XG4gICAgICA8ZGl2PlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICAgdHlwZT1cImVtYWlsXCJcbiAgICAgICAgICAgIGlkPVwiZW1haWxcIlxuICAgICAgICAgICAgbWF4bGVuZ3RoPVwiMjU2XCJcbiAgICAgICAgICAgIHJlcXVpcmVkXG4gICAgICAgICAgICBhdXRvZm9jdXNcbiAgICAgICAgICAgIHNwZWxsY2hlY2s9XCJmYWxzZVwiXG4gICAgICAgICAgICBwbGFjZWhvbGRlcj1cImVtYWlsXCJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImVtYWlsXCJcbiAgICAgICAgICAvPlxuICAgICAgICAgIDxtYXQtZXJyb3I+e3sgZ2V0RW1haWxFcnJvckxhYmVsKCkgfX08L21hdC1lcnJvcj5cbiAgICAgICAgICA8bWF0LWljb24gKm5nSWY9XCJlbWFpbC5wZW5kaW5nXCI+aG91cmdsYXNzPC9tYXQtaWNvbj5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8IS0tIG5hbWUgLS0+XG4gICAgICA8ZGl2PlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgaWQ9XCJuYW1lXCJcbiAgICAgICAgICAgIG1heGxlbmd0aD1cIjUwXCJcbiAgICAgICAgICAgIHJlcXVpcmVkXG4gICAgICAgICAgICBwYXR0ZXJuPVwiXlthLXpBLVpdW2EtekEtWjAtOV17Miw0OX0kXCJcbiAgICAgICAgICAgIHNwZWxsY2hlY2s9XCJmYWxzZVwiXG4gICAgICAgICAgICBwbGFjZWhvbGRlcj1cInVzZXJuYW1lXCJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cIm5hbWVcIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgPG1hdC1lcnJvcj57eyBnZXROYW1lRXJyb3JMYWJlbCgpIH19PC9tYXQtZXJyb3I+XG4gICAgICAgICAgPG1hdC1pY29uICpuZ0lmPVwibmFtZS5wZW5kaW5nXCI+aG91cmdsYXNzPC9tYXQtaWNvbj5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8IS0tIGZpcnN0IG5hbWUgLS0+XG4gICAgICA8ZGl2PlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgaWQ9XCJmaXJzdE5hbWVcIlxuICAgICAgICAgICAgbWF4bGVuZ3RoPVwiNTBcIlxuICAgICAgICAgICAgcmVxdWlyZWRcbiAgICAgICAgICAgIHNwZWxsY2hlY2s9XCJmYWxzZVwiXG4gICAgICAgICAgICBwbGFjZWhvbGRlcj1cImZpcnN0IG5hbWVcIlxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZmlyc3ROYW1lXCJcbiAgICAgICAgICAvPlxuICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICAgIGZpcnN0TmFtZS5oYXNFcnJvcigncmVxdWlyZWQnKSAmJlxuICAgICAgICAgICAgICAoZmlyc3ROYW1lLmRpcnR5IHx8IGZpcnN0TmFtZS50b3VjaGVkKVxuICAgICAgICAgICAgXCJcbiAgICAgICAgICAgIGNsYXNzPVwidGV4dC1kYW5nZXIgc21hbGxcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIGZpcnN0IG5hbWUgcmVxdWlyZWRcbiAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8IS0tIGxhc3QgbmFtZSAtLT5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIG1hdElucHV0XG4gICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICBpZD1cImxhc3ROYW1lXCJcbiAgICAgICAgICAgIG1heGxlbmd0aD1cIjUwXCJcbiAgICAgICAgICAgIHJlcXVpcmVkXG4gICAgICAgICAgICBzcGVsbGNoZWNrPVwiZmFsc2VcIlxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJsYXN0IG5hbWVcIlxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwibGFzdE5hbWVcIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgPG1hdC1lcnJvclxuICAgICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgICAgbGFzdE5hbWUuaGFzRXJyb3IoJ3JlcXVpcmVkJykgJiZcbiAgICAgICAgICAgICAgKGxhc3ROYW1lLmRpcnR5IHx8IGxhc3ROYW1lLnRvdWNoZWQpXG4gICAgICAgICAgICBcIlxuICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LWRhbmdlciBzbWFsbFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgbGFzdCBuYW1lIHJlcXVpcmVkXG4gICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBbZm9ybUdyb3VwXT1cInBhc3N3b3Jkc1wiPlxuICAgICAgICA8IS0tIHBhc3N3b3JkIC0tPlxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICAgICB0eXBlPVwicGFzc3dvcmRcIlxuICAgICAgICAgICAgICBuYW1lPVwicGFzc3dvcmRcIlxuICAgICAgICAgICAgICBhdXRvY29tcGxldGU9XCJuZXctcGFzc3dvcmRcIlxuICAgICAgICAgICAgICBtYXhsZW5ndGg9XCI1MFwiXG4gICAgICAgICAgICAgIHJlcXVpcmVkXG4gICAgICAgICAgICAgIHNwZWxsY2hlY2s9XCJmYWxzZVwiXG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwicGFzc3dvcmRcIlxuICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJwYXNzd29yZFwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPGF1dGgtand0LXBhc3N3b3JkLXN0cmVuZ3RoLWJhciBbcGFzc3dvcmRUb0NoZWNrXT1cInBhc3N3b3JkLnZhbHVlXCI+XG4gICAgICAgICAgICA8L2F1dGgtand0LXBhc3N3b3JkLXN0cmVuZ3RoLWJhcj5cbiAgICAgICAgICAgIDxtYXQtZXJyb3I+e3sgZ2V0UGFzc3dvcmRFcnJvckxhYmVsKCkgfX08L21hdC1lcnJvcj5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8IS0tIGNvbmZpcm0gcGFzc3dvcmQgLS0+XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgIG1hdElucHV0XG4gICAgICAgICAgICAgIHR5cGU9XCJwYXNzd29yZFwiXG4gICAgICAgICAgICAgIG5hbWU9XCJjb25maXJtUGFzc3dvcmRcIlxuICAgICAgICAgICAgICBtYXhsZW5ndGg9XCI1MFwiXG4gICAgICAgICAgICAgIHJlcXVpcmVkXG4gICAgICAgICAgICAgIHNwZWxsY2hlY2s9XCJmYWxzZVwiXG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiY29uZmlybSBwYXNzd29yZFwiXG4gICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImNvbmZpcm1QYXNzd29yZFwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPG1hdC1lcnJvclxuICAgICAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgICAgIHBhc3N3b3Jkcy5oYXNFcnJvcignYXJlRXF1YWwnKSAmJlxuICAgICAgICAgICAgICAgIChjb25maXJtUGFzc3dvcmQuZGlydHkgfHwgY29uZmlybVBhc3N3b3JkLnRvdWNoZWQpXG4gICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHBhc3N3b3JkIGRpZmZlcnMgZnJvbSBjb25maXJtYXRpb24gcGFzc3dvcmRcbiAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxidXR0b25cbiAgICAgICAgbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgdHlwZT1cInN1Ym1pdFwiXG4gICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJcbiAgICAgICAgICAhcmVnaXN0cmF0aW9uLnZhbGlkIHx8IGJ1c3kgfHwgbmFtZS5wZW5kaW5nIHx8IGVtYWlsLnBlbmRpbmdcbiAgICAgICAgXCJcbiAgICAgID5cbiAgICAgICAgcmVnaXN0ZXJcbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPG1hdC1wcm9ncmVzcy1zcGlubmVyXG4gICAgICAgIGRpYW1ldGVyPVwiMjBcIlxuICAgICAgICAqbmdJZj1cImJ1c3lcIlxuICAgICAgICBhcmlhLWxhYmVsPVwiQnVzeVwiXG4gICAgICA+PC9tYXQtcHJvZ3Jlc3Mtc3Bpbm5lcj5cbiAgICA8L2ZpZWxkc2V0PlxuICA8L2Zvcm0+XG48L2Rpdj5cbiJdfQ==
@@ -15,20 +15,15 @@ export class ConfirmDialogComponent {
15
15
  }
16
16
  ngOnInit() { }
17
17
  }
18
- ConfirmDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: ConfirmDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA, optional: true }], target: i0.ɵɵFactoryTarget.Component });
19
- ConfirmDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.5", type: ConfirmDialogComponent, selector: "ng-component", ngImport: i0, template: "<h1 mat-dialog-title>{{ title }}</h1>\r\n<mat-dialog-content>\r\n {{ prompt }}\r\n</mat-dialog-content>\r\n<mat-dialog-actions>\r\n <button\r\n type=\"button\"\r\n mat-raised-button\r\n color=\"warn\"\r\n (click)=\"dialogRef.close(true)\"\r\n >\r\n {{ ok }}\r\n </button>\r\n <button type=\"button\" mat-button (click)=\"dialogRef.close()\">\r\n {{ cancel }}\r\n </button>\r\n</mat-dialog-actions>\r\n", styles: [""], components: [{ type: i2.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"] }], directives: [{ type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }] });
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: ConfirmDialogComponent, decorators: [{
18
+ ConfirmDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: ConfirmDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA, optional: true }], target: i0.ɵɵFactoryTarget.Component });
19
+ ConfirmDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.5", type: ConfirmDialogComponent, selector: "ng-component", ngImport: i0, template: "<h1 mat-dialog-title>{{ title }}</h1>\r\n<mat-dialog-content>\r\n {{ prompt }}\r\n</mat-dialog-content>\r\n<mat-dialog-actions>\r\n <button\r\n type=\"button\"\r\n mat-raised-button\r\n color=\"warn\"\r\n (click)=\"dialogRef.close(true)\"\r\n >\r\n {{ ok }}\r\n </button>\r\n <button type=\"button\" mat-button (click)=\"dialogRef.close()\">\r\n {{ cancel }}\r\n </button>\r\n</mat-dialog-actions>\r\n", styles: [""], components: [{ type: i2.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"] }], directives: [{ type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }] });
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: ConfirmDialogComponent, decorators: [{
21
21
  type: Component,
22
- args: [{
23
- // https://github.com/angular/components/issues/7718
24
- // selector: 'cadmus-confirm-dialog',
25
- templateUrl: './confirm-dialog.component.html',
26
- styleUrls: ['./confirm-dialog.component.css'],
27
- }]
22
+ args: [{ template: "<h1 mat-dialog-title>{{ title }}</h1>\r\n<mat-dialog-content>\r\n {{ prompt }}\r\n</mat-dialog-content>\r\n<mat-dialog-actions>\r\n <button\r\n type=\"button\"\r\n mat-raised-button\r\n color=\"warn\"\r\n (click)=\"dialogRef.close(true)\"\r\n >\r\n {{ ok }}\r\n </button>\r\n <button type=\"button\" mat-button (click)=\"dialogRef.close()\">\r\n {{ cancel }}\r\n </button>\r\n</mat-dialog-actions>\r\n", styles: [""] }]
28
23
  }], ctorParameters: function () { return [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
29
24
  type: Optional
30
25
  }, {
31
26
  type: Inject,
32
27
  args: [MAT_DIALOG_DATA]
33
28
  }] }]; } });
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlybWlkb24vYXV0aC1qd3QtYWRtaW4vc3JjL2xpYi9jb21wb25lbnRzL2NvbmZpcm0tZGlhbG9nL2NvbmZpcm0tZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cm1pZG9uL2F1dGgtand0LWFkbWluL3NyYy9saWIvY29tcG9uZW50cy9jb25maXJtLWRpYWxvZy9jb25maXJtLWRpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUFnQixlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7OztBQUV6RSx5RkFBeUY7QUFRekYsTUFBTSxPQUFPLHNCQUFzQjtJQU1qQyxZQUNTLFNBQStDLEVBQ1YsSUFBUztRQUQ5QyxjQUFTLEdBQVQsU0FBUyxDQUFzQztRQUNWLFNBQUksR0FBSixJQUFJLENBQUs7UUFFckQsSUFBSSxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUM7UUFDdkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxvQkFBb0IsQ0FBQztRQUNuQyxJQUFJLENBQUMsRUFBRSxHQUFHLEtBQUssQ0FBQztRQUNoQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztJQUNyQixDQUFDO0lBRUQsUUFBUSxLQUFJLENBQUM7O21IQWhCRixzQkFBc0IsOENBUVgsZUFBZTt1R0FSMUIsc0JBQXNCLG9EQ1huQywyYUFpQkE7MkZETmEsc0JBQXNCO2tCQU5sQyxTQUFTO21CQUFDO29CQUNULG9EQUFvRDtvQkFDcEQscUNBQXFDO29CQUNyQyxXQUFXLEVBQUUsaUNBQWlDO29CQUM5QyxTQUFTLEVBQUUsQ0FBQyxnQ0FBZ0MsQ0FBQztpQkFDOUM7OzBCQVNJLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbmplY3QsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiwgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuXHJcbi8vIGh0dHBzOi8vbWVkaXVtLmNvbS9AdGFyaWsubnpsL21ha2luZy11c2Utb2YtZGlhbG9ncy1pbi1tYXRlcmlhbC0yLW1kZGlhbG9nLTc1MzNkMjdkZjQxXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9jb21wb25lbnRzL2lzc3Vlcy83NzE4XHJcbiAgLy8gc2VsZWN0b3I6ICdjYWRtdXMtY29uZmlybS1kaWFsb2cnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jb25maXJtLWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY29uZmlybS1kaWFsb2cuY29tcG9uZW50LmNzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29uZmlybURpYWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgcHVibGljIHRpdGxlOiBzdHJpbmc7XHJcbiAgcHVibGljIHByb21wdDogc3RyaW5nO1xyXG4gIHB1YmxpYyBvazogc3RyaW5nO1xyXG4gIHB1YmxpYyBjYW5jZWw6IHN0cmluZztcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8Q29uZmlybURpYWxvZ0NvbXBvbmVudD4sXHJcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIGRhdGE6IGFueVxyXG4gICkge1xyXG4gICAgdGhpcy50aXRsZSA9ICdDb25maXJtJztcclxuICAgIHRoaXMucHJvbXB0ID0gJ0NvbmZpcm0gb3BlcmF0aW9uPyc7XHJcbiAgICB0aGlzLm9rID0gJ3llcyc7XHJcbiAgICB0aGlzLmNhbmNlbCA9ICdubyc7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHt9XHJcbn1cclxuIiwiPGgxIG1hdC1kaWFsb2ctdGl0bGU+e3sgdGl0bGUgfX08L2gxPlxyXG48bWF0LWRpYWxvZy1jb250ZW50PlxyXG4gIHt7IHByb21wdCB9fVxyXG48L21hdC1kaWFsb2ctY29udGVudD5cclxuPG1hdC1kaWFsb2ctYWN0aW9ucz5cclxuICA8YnV0dG9uXHJcbiAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgIG1hdC1yYWlzZWQtYnV0dG9uXHJcbiAgICBjb2xvcj1cIndhcm5cIlxyXG4gICAgKGNsaWNrKT1cImRpYWxvZ1JlZi5jbG9zZSh0cnVlKVwiXHJcbiAgPlxyXG4gICAge3sgb2sgfX1cclxuICA8L2J1dHRvbj5cclxuICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBtYXQtYnV0dG9uIChjbGljayk9XCJkaWFsb2dSZWYuY2xvc2UoKVwiPlxyXG4gICAge3sgY2FuY2VsIH19XHJcbiAgPC9idXR0b24+XHJcbjwvbWF0LWRpYWxvZy1hY3Rpb25zPlxyXG4iXX0=
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlybWlkb24vYXV0aC1qd3QtYWRtaW4vc3JjL2xpYi9jb21wb25lbnRzL2NvbmZpcm0tZGlhbG9nL2NvbmZpcm0tZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cm1pZG9uL2F1dGgtand0LWFkbWluL3NyYy9saWIvY29tcG9uZW50cy9jb25maXJtLWRpYWxvZy9jb25maXJtLWRpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUFnQixlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7OztBQUV6RSx5RkFBeUY7QUFRekYsTUFBTSxPQUFPLHNCQUFzQjtJQU1qQyxZQUNTLFNBQStDLEVBQ1YsSUFBUztRQUQ5QyxjQUFTLEdBQVQsU0FBUyxDQUFzQztRQUNWLFNBQUksR0FBSixJQUFJLENBQUs7UUFFckQsSUFBSSxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUM7UUFDdkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxvQkFBb0IsQ0FBQztRQUNuQyxJQUFJLENBQUMsRUFBRSxHQUFHLEtBQUssQ0FBQztRQUNoQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztJQUNyQixDQUFDO0lBRUQsUUFBUSxLQUFJLENBQUM7O21IQWhCRixzQkFBc0IsOENBUVgsZUFBZTt1R0FSMUIsc0JBQXNCLG9EQ1huQywyYUFpQkE7MkZETmEsc0JBQXNCO2tCQU5sQyxTQUFTOzs7MEJBY0wsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIEluamVjdCwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nUmVmLCBNQVRfRElBTE9HX0RBVEEgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5cclxuLy8gaHR0cHM6Ly9tZWRpdW0uY29tL0B0YXJpay5uemwvbWFraW5nLXVzZS1vZi1kaWFsb2dzLWluLW1hdGVyaWFsLTItbWRkaWFsb2ctNzUzM2QyN2RmNDFcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2NvbXBvbmVudHMvaXNzdWVzLzc3MThcclxuICAvLyBzZWxlY3RvcjogJ2NhZG11cy1jb25maXJtLWRpYWxvZycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbmZpcm0tZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jb25maXJtLWRpYWxvZy5jb21wb25lbnQuY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb25maXJtRGlhbG9nQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBwdWJsaWMgdGl0bGU6IHN0cmluZztcclxuICBwdWJsaWMgcHJvbXB0OiBzdHJpbmc7XHJcbiAgcHVibGljIG9rOiBzdHJpbmc7XHJcbiAgcHVibGljIGNhbmNlbDogc3RyaW5nO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxDb25maXJtRGlhbG9nQ29tcG9uZW50PixcclxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YTogYW55XHJcbiAgKSB7XHJcbiAgICB0aGlzLnRpdGxlID0gJ0NvbmZpcm0nO1xyXG4gICAgdGhpcy5wcm9tcHQgPSAnQ29uZmlybSBvcGVyYXRpb24/JztcclxuICAgIHRoaXMub2sgPSAneWVzJztcclxuICAgIHRoaXMuY2FuY2VsID0gJ25vJztcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge31cclxufVxyXG4iLCI8aDEgbWF0LWRpYWxvZy10aXRsZT57eyB0aXRsZSB9fTwvaDE+XHJcbjxtYXQtZGlhbG9nLWNvbnRlbnQ+XHJcbiAge3sgcHJvbXB0IH19XHJcbjwvbWF0LWRpYWxvZy1jb250ZW50PlxyXG48bWF0LWRpYWxvZy1hY3Rpb25zPlxyXG4gIDxidXR0b25cclxuICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgbWF0LXJhaXNlZC1idXR0b25cclxuICAgIGNvbG9yPVwid2FyblwiXHJcbiAgICAoY2xpY2spPVwiZGlhbG9nUmVmLmNsb3NlKHRydWUpXCJcclxuICA+XHJcbiAgICB7eyBvayB9fVxyXG4gIDwvYnV0dG9uPlxyXG4gIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIG1hdC1idXR0b24gKGNsaWNrKT1cImRpYWxvZ1JlZi5jbG9zZSgpXCI+XHJcbiAgICB7eyBjYW5jZWwgfX1cclxuICA8L2J1dHRvbj5cclxuPC9tYXQtZGlhbG9nLWFjdGlvbnM+XHJcbiJdfQ==
@@ -67,18 +67,14 @@ export class PasswordStrengthBarComponent {
67
67
  }
68
68
  }
69
69
  }
70
- PasswordStrengthBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: PasswordStrengthBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
71
- PasswordStrengthBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.5", type: PasswordStrengthBarComponent, selector: "auth-jwt-password-strength-bar", inputs: { passwordToCheck: "passwordToCheck" }, outputs: { strengthChange: "strengthChange" }, usesOnChanges: true, ngImport: i0, template: "<div id=\"strength\">\n <small>strength:</small>\n <ul id=\"strengthBar\">\n <li class=\"point\" [style.background-color]=\"bars[0]\"></li>\n <li class=\"point\" [style.background-color]=\"bars[1]\"></li>\n <li class=\"point\" [style.background-color]=\"bars[2]\"></li>\n <li class=\"point\" [style.background-color]=\"bars[3]\"></li>\n <li class=\"point\" [style.background-color]=\"bars[4]\"></li>\n </ul>\n</div>\n", styles: ["ul#strengthBar{display:inline;list-style:none;margin:0 0 0 15px;padding:0;vertical-align:2px}li.point:last{margin:0!important}li.point{background:#ddd;border-radius:2px;display:inline-block;height:5px;margin-right:1px;width:20px}\n"] });
72
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: PasswordStrengthBarComponent, decorators: [{
70
+ PasswordStrengthBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: PasswordStrengthBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
71
+ PasswordStrengthBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.5", type: PasswordStrengthBarComponent, selector: "auth-jwt-password-strength-bar", inputs: { passwordToCheck: "passwordToCheck" }, outputs: { strengthChange: "strengthChange" }, usesOnChanges: true, ngImport: i0, template: "<div id=\"strength\">\n <small>strength:</small>\n <ul id=\"strengthBar\">\n <li class=\"point\" [style.background-color]=\"bars[0]\"></li>\n <li class=\"point\" [style.background-color]=\"bars[1]\"></li>\n <li class=\"point\" [style.background-color]=\"bars[2]\"></li>\n <li class=\"point\" [style.background-color]=\"bars[3]\"></li>\n <li class=\"point\" [style.background-color]=\"bars[4]\"></li>\n </ul>\n</div>\n", styles: ["ul#strengthBar{display:inline;list-style:none;margin:0 0 0 15px;padding:0;vertical-align:2px}li.point:last{margin:0!important}li.point{background:#ddd;border-radius:2px;display:inline-block;height:5px;margin-right:1px;width:20px}\n"] });
72
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: PasswordStrengthBarComponent, decorators: [{
73
73
  type: Component,
74
- args: [{
75
- selector: 'auth-jwt-password-strength-bar',
76
- templateUrl: './password-strength-bar.component.html',
77
- styleUrls: ['./password-strength-bar.component.css'],
78
- }]
74
+ args: [{ selector: 'auth-jwt-password-strength-bar', template: "<div id=\"strength\">\n <small>strength:</small>\n <ul id=\"strengthBar\">\n <li class=\"point\" [style.background-color]=\"bars[0]\"></li>\n <li class=\"point\" [style.background-color]=\"bars[1]\"></li>\n <li class=\"point\" [style.background-color]=\"bars[2]\"></li>\n <li class=\"point\" [style.background-color]=\"bars[3]\"></li>\n <li class=\"point\" [style.background-color]=\"bars[4]\"></li>\n </ul>\n</div>\n", styles: ["ul#strengthBar{display:inline;list-style:none;margin:0 0 0 15px;padding:0;vertical-align:2px}li.point:last{margin:0!important}li.point{background:#ddd;border-radius:2px;display:inline-block;height:5px;margin-right:1px;width:20px}\n"] }]
79
75
  }], ctorParameters: function () { return []; }, propDecorators: { passwordToCheck: [{
80
76
  type: Input
81
77
  }], strengthChange: [{
82
78
  type: Output
83
79
  }] } });
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc3dvcmQtc3RyZW5ndGgtYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cm1pZG9uL2F1dGgtand0LWFkbWluL3NyYy9saWIvY29tcG9uZW50cy9wYXNzd29yZC1zdHJlbmd0aC1iYXIvcGFzc3dvcmQtc3RyZW5ndGgtYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cm1pZG9uL2F1dGgtand0LWFkbWluL3NyYy9saWIvY29tcG9uZW50cy9wYXNzd29yZC1zdHJlbmd0aC1iYXIvcGFzc3dvcmQtc3RyZW5ndGgtYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEdBRVAsTUFBTSxlQUFlLENBQUM7O0FBT3ZCLE1BQU0sT0FBTyw0QkFBNEI7SUFTdkM7UUFSUSxZQUFPLEdBQUcsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFJakQsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBS3BELElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUNqRCxJQUFJLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRU8sZUFBZSxDQUFDLENBQVM7UUFDL0IsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ2QsTUFBTSxLQUFLLEdBQUcsdUJBQXVCLENBQUMsQ0FBQyxJQUFJO1FBRTNDLE1BQU0sWUFBWSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEMsTUFBTSxZQUFZLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0QyxNQUFNLE9BQU8s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QyxDQUFDO1NBQ3BDO0lBQ0gsQ0FBQztJQUVPLFlBQVksQ0FBQyxLQUFhLEVBQUUsR0FBVztRQUM3QyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQzlCLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDO1NBQ3BCO0lBQ0gsQ0FBQzs7eUhBOUVVLDRCQUE0Qjs2R0FBNUIsNEJBQTRCLDBMQ2R6QyxxYkFVQTsyRkRJYSw0QkFBNEI7a0JBTHhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGdDQUFnQztvQkFDMUMsV0FBVyxFQUFFLHdDQUF3QztvQkFDckQsU0FBUyxFQUFFLENBQUMsdUNBQXVDLENBQUM7aUJBQ3JEOzBFQUlVLGVBQWU7c0JBQXZCLEtBQUs7Z0JBRUksY0FBYztzQkFBdkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgT25DaGFuZ2VzLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F1dGgtand0LXBhc3N3b3JkLXN0cmVuZ3RoLWJhcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9wYXNzd29yZC1zdHJlbmd0aC1iYXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wYXNzd29yZC1zdHJlbmd0aC1iYXIuY29tcG9uZW50LmNzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBQYXNzd29yZFN0cmVuZ3RoQmFyQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgcHJpdmF0ZSBfY29sb3JzID0gWycjRjAwJywgJyNGOTAnLCAnI0ZGMCcsICcjOUYwJywgJyMwRjAnXTtcblxuICBASW5wdXQoKSBwYXNzd29yZFRvQ2hlY2s6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICBAT3V0cHV0KCkgc3RyZW5ndGhDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICBwdWJsaWMgYmFyczogc3RyaW5nW107XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5zdHJlbmd0aENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuICAgIHRoaXMuYmFycyA9IFtdO1xuICB9XG5cbiAgcHJpdmF0ZSBtZWFzdXJlU3RyZW5ndGgocDogc3RyaW5nKTogbnVtYmVyIHtcbiAgICBsZXQgZm9yY2UgPSAwO1xuICAgIGNvbnN0IHJlZ2V4ID0gL1skLS86LT97LX4hXCJeX2BcXFtcXF1dL2c7IC8vIFwiXG5cbiAgICBjb25zdCBsb3dlckxldHRlcnMgPSAvW2Etel0rLy50ZXN0KHApO1xuICAgIGNvbnN0IHVwcGVyTGV0dGVycyA9IC9bQS1aXSsvLnRlc3QocCk7XG4gICAgY29uc3QgbnVtYmVycyA9IC9bMC05XSsvLnRlc3QocCk7XG4gICAgY29uc3Qgc3ltYm9scyA9IHJlZ2V4LnRlc3QocCk7XG5cbiAgICBjb25zdCBmbGFncyA9IFtsb3dlckxldHRlcnMsIHVwcGVyTGV0dGVycywgbnVtYmVycywgc3ltYm9sc107XG5cbiAgICBsZXQgcGFzc2VkTWF0Y2hlcyA9IDA7XG4gICAgZm9yIChjb25zdCBmbGFnIG9mIGZsYWdzKSB7XG4gICAgICBwYXNzZWRNYXRjaGVzICs9IGZsYWcgPT09IHRydWUgPyAxIDogMDtcbiAgICB9XG5cbiAgICBmb3JjZSArPSAyICogcC5sZW5ndGggKyAocC5sZW5ndGggPj0gMTAgPyAxIDogMCk7XG4gICAgZm9yY2UgKz0gcGFzc2VkTWF0Y2hlcyAqIDEwO1xuXG4gICAgLy8gcGVuYWx0eSAoc2hvcnQgcGFzc3dvcmQpXG4gICAgZm9yY2UgPSBwLmxlbmd0aCA8PSA2ID8gTWF0aC5taW4oZm9yY2UsIDEwKSA6IGZvcmNlO1xuXG4gICAgLy8gcGVuYWx0eSAocG9vciBsZXRpZXR5IG9mIGNoYXJhY3RlcnMpXG4gICAgZm9yY2UgPSBwYXNzZWRNYXRjaGVzID09PSAxID8gTWF0aC5taW4oZm9yY2UsIDEwKSA6IGZvcmNlO1xuICAgIGZvcmNlID0gcGFzc2VkTWF0Y2hlcyA9PT0gMiA/IE1hdGgubWluKGZvcmNlLCAyMCkgOiBmb3JjZTtcbiAgICBmb3JjZSA9IHBhc3NlZE1hdGNoZXMgPT09IDMgPyBNYXRoLm1pbihmb3JjZSwgNDApIDogZm9yY2U7XG5cbiAgICByZXR1cm4gZm9yY2U7XG4gIH1cblxuICBwcml2YXRlIGdldENvbG9yKHM6IG51bWJlcikge1xuICAgIGxldCBpZHggPSAwO1xuICAgIGlmIChzIDw9IDEwKSB7XG4gICAgICBpZHggPSAwO1xuICAgIH0gZWxzZSBpZiAocyA8PSAyMCkge1xuICAgICAgaWR4ID0gMTtcbiAgICB9IGVsc2UgaWYgKHMgPD0gMzApIHtcbiAgICAgIGlkeCA9IDI7XG4gICAgfSBlbHNlIGlmIChzIDw9IDQwKSB7XG4gICAgICBpZHggPSAzO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZHggPSA0O1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgaWR4OiBpZHggKyAxLFxuICAgICAgY29sOiB0aGlzLl9jb2xvcnNbaWR4XSxcbiAgICB9O1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogeyBbcHJvcE5hbWU6IHN0cmluZ106IFNpbXBsZUNoYW5nZSB9KTogdm9pZCB7XG4gICAgY29uc3QgcGFzc3dvcmQgPSBjaGFuZ2VzWydwYXNzd29yZFRvQ2hlY2snXS5jdXJyZW50VmFsdWU7XG4gICAgdGhpcy5zZXRCYXJDb2xvcnMoNSwgJyNEREQnKTtcbiAgICBpZiAocGFzc3dvcmQpIHtcbiAgICAgIGNvbnN0IHN0cmVuZ3RoID0gdGhpcy5tZWFzdXJlU3RyZW5ndGgocGFzc3dvcmQpO1xuICAgICAgY29uc3QgYyA9IHRoaXMuZ2V0Q29sb3Ioc3RyZW5ndGgpO1xuICAgICAgdGhpcy5zZXRCYXJDb2xvcnMoYy5pZHgsIGMuY29sKTtcbiAgICAgIHRoaXMuc3RyZW5ndGhDaGFuZ2UuZW1pdChzdHJlbmd0aCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXRCYXJDb2xvcnMoY291bnQ6IG51bWJlciwgY29sOiBzdHJpbmcpIHtcbiAgICBmb3IgKGxldCBuID0gMDsgbiA8IGNvdW50OyBuKyspIHtcbiAgICAgIHRoaXMuYmFyc1tuXSA9IGNvbDtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgaWQ9XCJzdHJlbmd0aFwiPlxuICA8c21hbGw+c3RyZW5ndGg6PC9zbWFsbD5cbiAgPHVsIGlkPVwic3RyZW5ndGhCYXJcIj5cbiAgICA8bGkgY2xhc3M9XCJwb2ludFwiIFtzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yXT1cImJhcnNbMF1cIj48L2xpPlxuICAgIDxsaSBjbGFzcz1cInBvaW50XCIgW3N0eWxlLmJhY2tncm91bmQtY29sb3JdPVwiYmFyc1sxXVwiPjwvbGk+XG4gICAgPGxpIGNsYXNzPVwicG9pbnRcIiBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJiYXJzWzJdXCI+PC9saT5cbiAgICA8bGkgY2xhc3M9XCJwb2ludFwiIFtzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yXT1cImJhcnNbM11cIj48L2xpPlxuICAgIDxsaSBjbGFzcz1cInBvaW50XCIgW3N0eWxlLmJhY2tncm91bmQtY29sb3JdPVwiYmFyc1s0XVwiPjwvbGk+XG4gIDwvdWw+XG48L2Rpdj5cbiJdfQ==
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc3dvcmQtc3RyZW5ndGgtYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cm1pZG9uL2F1dGgtand0LWFkbWluL3NyYy9saWIvY29tcG9uZW50cy9wYXNzd29yZC1zdHJlbmd0aC1iYXIvcGFzc3dvcmQtc3RyZW5ndGgtYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cm1pZG9uL2F1dGgtand0LWFkbWluL3NyYy9saWIvY29tcG9uZW50cy9wYXNzd29yZC1zdHJlbmd0aC1iYXIvcGFzc3dvcmQtc3RyZW5ndGgtYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEdBRVAsTUFBTSxlQUFlLENBQUM7O0FBT3ZCLE1BQU0sT0FBTyw0QkFBNEI7SUFTdkM7UUFSUSxZQUFPLEdBQUcsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFJakQsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBS3BELElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUNqRCxJQUFJLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRU8sZUFBZSxDQUFDLENBQVM7UUFDL0IsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ2QsTUFBTSxLQUFLLEdBQUcsdUJBQXVCLENBQUMsQ0FBQyxJQUFJO1FBRTNDLE1BQU0sWUFBWSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEMsTUFBTSxZQUFZLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0QyxNQUFNLE9BQU8s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QyxDQUFDO1NBQ3BDO0lBQ0gsQ0FBQztJQUVPLFlBQVksQ0FBQyxLQUFhLEVBQUUsR0FBVztRQUM3QyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQzlCLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDO1NBQ3BCO0lBQ0gsQ0FBQzs7eUhBOUVVLDRCQUE0Qjs2R0FBNUIsNEJBQTRCLDBMQ2R6QyxxYkFVQTsyRkRJYSw0QkFBNEI7a0JBTHhDLFNBQVM7K0JBQ0UsZ0NBQWdDOzBFQU9qQyxlQUFlO3NCQUF2QixLQUFLO2dCQUVJLGNBQWM7c0JBQXZCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIE9uQ2hhbmdlcyxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2UsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdXRoLWp3dC1wYXNzd29yZC1zdHJlbmd0aC1iYXInLFxuICB0ZW1wbGF0ZVVybDogJy4vcGFzc3dvcmQtc3RyZW5ndGgtYmFyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcGFzc3dvcmQtc3RyZW5ndGgtYmFyLmNvbXBvbmVudC5jc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgUGFzc3dvcmRTdHJlbmd0aEJhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIHByaXZhdGUgX2NvbG9ycyA9IFsnI0YwMCcsICcjRjkwJywgJyNGRjAnLCAnIzlGMCcsICcjMEYwJ107XG5cbiAgQElucHV0KCkgcGFzc3dvcmRUb0NoZWNrOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgQE91dHB1dCgpIHN0cmVuZ3RoQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgcHVibGljIGJhcnM6IHN0cmluZ1tdO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuc3RyZW5ndGhDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcbiAgICB0aGlzLmJhcnMgPSBbXTtcbiAgfVxuXG4gIHByaXZhdGUgbWVhc3VyZVN0cmVuZ3RoKHA6IHN0cmluZyk6IG51bWJlciB7XG4gICAgbGV0IGZvcmNlID0gMDtcbiAgICBjb25zdCByZWdleCA9IC9bJC0vOi0/ey1+IVwiXl9gXFxbXFxdXS9nOyAvLyBcIlxuXG4gICAgY29uc3QgbG93ZXJMZXR0ZXJzID0gL1thLXpdKy8udGVzdChwKTtcbiAgICBjb25zdCB1cHBlckxldHRlcnMgPSAvW0EtWl0rLy50ZXN0KHApO1xuICAgIGNvbnN0IG51bWJlcnMgPSAvWzAtOV0rLy50ZXN0KHApO1xuICAgIGNvbnN0IHN5bWJvbHMgPSByZWdleC50ZXN0KHApO1xuXG4gICAgY29uc3QgZmxhZ3MgPSBbbG93ZXJMZXR0ZXJzLCB1cHBlckxldHRlcnMsIG51bWJlcnMsIHN5bWJvbHNdO1xuXG4gICAgbGV0IHBhc3NlZE1hdGNoZXMgPSAwO1xuICAgIGZvciAoY29uc3QgZmxhZyBvZiBmbGFncykge1xuICAgICAgcGFzc2VkTWF0Y2hlcyArPSBmbGFnID09PSB0cnVlID8gMSA6IDA7XG4gICAgfVxuXG4gICAgZm9yY2UgKz0gMiAqIHAubGVuZ3RoICsgKHAubGVuZ3RoID49IDEwID8gMSA6IDApO1xuICAgIGZvcmNlICs9IHBhc3NlZE1hdGNoZXMgKiAxMDtcblxuICAgIC8vIHBlbmFsdHkgKHNob3J0IHBhc3N3b3JkKVxuICAgIGZvcmNlID0gcC5sZW5ndGggPD0gNiA/IE1hdGgubWluKGZvcmNlLCAxMCkgOiBmb3JjZTtcblxuICAgIC8vIHBlbmFsdHkgKHBvb3IgbGV0aWV0eSBvZiBjaGFyYWN0ZXJzKVxuICAgIGZvcmNlID0gcGFzc2VkTWF0Y2hlcyA9PT0gMSA/IE1hdGgubWluKGZvcmNlLCAxMCkgOiBmb3JjZTtcbiAgICBmb3JjZSA9IHBhc3NlZE1hdGNoZXMgPT09IDIgPyBNYXRoLm1pbihmb3JjZSwgMjApIDogZm9yY2U7XG4gICAgZm9yY2UgPSBwYXNzZWRNYXRjaGVzID09PSAzID8gTWF0aC5taW4oZm9yY2UsIDQwKSA6IGZvcmNlO1xuXG4gICAgcmV0dXJuIGZvcmNlO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDb2xvcihzOiBudW1iZXIpIHtcbiAgICBsZXQgaWR4ID0gMDtcbiAgICBpZiAocyA8PSAxMCkge1xuICAgICAgaWR4ID0gMDtcbiAgICB9IGVsc2UgaWYgKHMgPD0gMjApIHtcbiAgICAgIGlkeCA9IDE7XG4gICAgfSBlbHNlIGlmIChzIDw9IDMwKSB7XG4gICAgICBpZHggPSAyO1xuICAgIH0gZWxzZSBpZiAocyA8PSA0MCkge1xuICAgICAgaWR4ID0gMztcbiAgICB9IGVsc2Uge1xuICAgICAgaWR4ID0gNDtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIGlkeDogaWR4ICsgMSxcbiAgICAgIGNvbDogdGhpcy5fY29sb3JzW2lkeF0sXG4gICAgfTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IHsgW3Byb3BOYW1lOiBzdHJpbmddOiBTaW1wbGVDaGFuZ2UgfSk6IHZvaWQge1xuICAgIGNvbnN0IHBhc3N3b3JkID0gY2hhbmdlc1sncGFzc3dvcmRUb0NoZWNrJ10uY3VycmVudFZhbHVlO1xuICAgIHRoaXMuc2V0QmFyQ29sb3JzKDUsICcjREREJyk7XG4gICAgaWYgKHBhc3N3b3JkKSB7XG4gICAgICBjb25zdCBzdHJlbmd0aCA9IHRoaXMubWVhc3VyZVN0cmVuZ3RoKHBhc3N3b3JkKTtcbiAgICAgIGNvbnN0IGMgPSB0aGlzLmdldENvbG9yKHN0cmVuZ3RoKTtcbiAgICAgIHRoaXMuc2V0QmFyQ29sb3JzKGMuaWR4LCBjLmNvbCk7XG4gICAgICB0aGlzLnN0cmVuZ3RoQ2hhbmdlLmVtaXQoc3RyZW5ndGgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0QmFyQ29sb3JzKGNvdW50OiBudW1iZXIsIGNvbDogc3RyaW5nKSB7XG4gICAgZm9yIChsZXQgbiA9IDA7IG4gPCBjb3VudDsgbisrKSB7XG4gICAgICB0aGlzLmJhcnNbbl0gPSBjb2w7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGlkPVwic3RyZW5ndGhcIj5cbiAgPHNtYWxsPnN0cmVuZ3RoOjwvc21hbGw+XG4gIDx1bCBpZD1cInN0cmVuZ3RoQmFyXCI+XG4gICAgPGxpIGNsYXNzPVwicG9pbnRcIiBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJiYXJzWzBdXCI+PC9saT5cbiAgICA8bGkgY2xhc3M9XCJwb2ludFwiIFtzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yXT1cImJhcnNbMV1cIj48L2xpPlxuICAgIDxsaSBjbGFzcz1cInBvaW50XCIgW3N0eWxlLmJhY2tncm91bmQtY29sb3JdPVwiYmFyc1syXVwiPjwvbGk+XG4gICAgPGxpIGNsYXNzPVwicG9pbnRcIiBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJiYXJzWzNdXCI+PC9saT5cbiAgICA8bGkgY2xhc3M9XCJwb2ludFwiIFtzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yXT1cImJhcnNbNF1cIj48L2xpPlxuICA8L3VsPlxuPC9kaXY+XG4iXX0=
@@ -11,9 +11,9 @@ export class UsersQuery extends QueryEntity {
11
11
  return this.select((state) => state.filter);
12
12
  }
13
13
  }
14
- UsersQuery.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: UsersQuery, deps: [{ token: i1.UsersStore }], target: i0.ɵɵFactoryTarget.Injectable });
15
- UsersQuery.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: UsersQuery, providedIn: 'root' });
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: UsersQuery, decorators: [{
14
+ UsersQuery.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: UsersQuery, deps: [{ token: i1.UsersStore }], target: i0.ɵɵFactoryTarget.Injectable });
15
+ UsersQuery.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: UsersQuery, providedIn: 'root' });
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: UsersQuery, decorators: [{
17
17
  type: Injectable,
18
18
  args: [{ providedIn: 'root' }]
19
19
  }], ctorParameters: function () { return [{ type: i1.UsersStore }]; } });
@@ -0,0 +1,65 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "./users.store";
4
+ import * as i2 from "../../services/auth-jwt-account.service";
5
+ export class UsersService {
6
+ constructor(_store, _accountService) {
7
+ this._store = _store;
8
+ this._accountService = _accountService;
9
+ }
10
+ /**
11
+ * Update the filter in the store.
12
+ * @param filter The filter.
13
+ */
14
+ updateFilter(filter) {
15
+ this._store.update({
16
+ filter: filter,
17
+ });
18
+ }
19
+ setActive(name) {
20
+ this._store.setActive(name);
21
+ }
22
+ updateActive(user) {
23
+ const promise = new Promise((resolve, reject) => {
24
+ this._store.setLoading(true);
25
+ this._accountService.updateUser(user).subscribe((_) => {
26
+ this._store.setLoading(false);
27
+ this._store.setError(null);
28
+ this._store.updateActive((u) => {
29
+ return { ...user };
30
+ });
31
+ resolve(true);
32
+ }, (error) => {
33
+ console.error(error);
34
+ this._store.setLoading(false);
35
+ this._store.setError('Error updating user');
36
+ resolve(false);
37
+ });
38
+ });
39
+ return promise;
40
+ }
41
+ deleteUser(name) {
42
+ const promise = new Promise((resolve, reject) => {
43
+ this._store.setLoading(true);
44
+ this._accountService.deleteUser(name).subscribe((_) => {
45
+ this._store.setLoading(false);
46
+ this._store.setError(null);
47
+ this._store.remove(name);
48
+ resolve(true);
49
+ }, (error) => {
50
+ console.error(error);
51
+ this._store.setLoading(false);
52
+ this._store.setError('Error deleting user');
53
+ reject(error);
54
+ });
55
+ });
56
+ return promise;
57
+ }
58
+ }
59
+ UsersService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: UsersService, deps: [{ token: i1.UsersStore }, { token: i2.AuthJwtAccountService }], target: i0.ɵɵFactoryTarget.Injectable });
60
+ UsersService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: UsersService, providedIn: 'root' });
61
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: UsersService, decorators: [{
62
+ type: Injectable,
63
+ args: [{ providedIn: 'root' }]
64
+ }], ctorParameters: function () { return [{ type: i1.UsersStore }, { type: i2.AuthJwtAccountService }]; } });
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlcnMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cm1pZG9uL2F1dGgtand0LWFkbWluL3NyYy9saWIvY29tcG9uZW50cy9zdGF0ZS91c2Vycy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFTM0MsTUFBTSxPQUFPLFlBQVk7SUFDdkIsWUFDVSxNQUFrQixFQUNsQixlQUFzQztRQUR0QyxXQUFNLEdBQU4sTUFBTSxDQUFZO1FBQ2xCLG9CQUFlLEdBQWYsZUFBZSxDQUF1QjtJQUM3QyxDQUFDO0lBRUo7OztPQUdHO0lBQ0ksWUFBWSxDQUFDLE1BQWtCO1FBQ3BDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO1lBQ2pCLE1BQU0sRUFBRSxNQUFNO1NBQ2YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLFNBQVMsQ0FBQyxJQUFtQjtRQUNsQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRU0sWUFBWSxDQUFDLElBQVU7UUFDNUIsTUFBTSxPQUFPLEdBQXFCLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ2hFLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBRTdCLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FDN0MsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDSixJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDOUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQzNCLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7b0JBQzdCLE9BQU8sRUFBRSxHQUFHLElBQUksRUFBRSxDQUFDO2dCQUNyQixDQUFDLENBQUMsQ0FBQztnQkFDSCxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDaEIsQ0FBQyxFQUNELENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQ1IsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDckIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzlCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLHFCQUFxQixDQUFDLENBQUM7Z0JBQzVDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNqQixDQUFDLENBQ0YsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVNLFVBQVUsQ0FBQyxJQUFZO1FBQzVCLE1BQU0sT0FBTyxHQUFxQixJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNoRSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUU3QixJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQzdDLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQ0osSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzlCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUMzQixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDekIsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2hCLENBQUMsRUFDRCxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUNSLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3JCLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUM5QixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO2dCQUM1QyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDaEIsQ0FBQyxDQUNGLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7O3lHQWhFVSxZQUFZOzZHQUFaLFlBQVksY0FEQyxNQUFNOzJGQUNuQixZQUFZO2tCQUR4QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVXNlciB9IGZyb20gJ0BteXJtaWRvbi9hdXRoLWp3dC1sb2dpbic7XHJcbmltcG9ydCB7XHJcbiAgQXV0aEp3dEFjY291bnRTZXJ2aWNlLFxyXG4gIFVzZXJGaWx0ZXIsXHJcbn0gZnJvbSAnLi4vLi4vc2VydmljZXMvYXV0aC1qd3QtYWNjb3VudC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVXNlcnNTdG9yZSB9IGZyb20gJy4vdXNlcnMuc3RvcmUnO1xyXG5cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIFVzZXJzU2VydmljZSB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9zdG9yZTogVXNlcnNTdG9yZSxcclxuICAgIHByaXZhdGUgX2FjY291bnRTZXJ2aWNlOiBBdXRoSnd0QWNjb3VudFNlcnZpY2VcclxuICApIHt9XHJcblxyXG4gIC8qKlxyXG4gICAqIFVwZGF0ZSB0aGUgZmlsdGVyIGluIHRoZSBzdG9yZS5cclxuICAgKiBAcGFyYW0gZmlsdGVyIFRoZSBmaWx0ZXIuXHJcbiAgICovXHJcbiAgcHVibGljIHVwZGF0ZUZpbHRlcihmaWx0ZXI6IFVzZXJGaWx0ZXIpOiB2b2lkIHtcclxuICAgIHRoaXMuX3N0b3JlLnVwZGF0ZSh7XHJcbiAgICAgIGZpbHRlcjogZmlsdGVyLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0QWN0aXZlKG5hbWU6IHN0cmluZyB8IG51bGwpOiB2b2lkIHtcclxuICAgIHRoaXMuX3N0b3JlLnNldEFjdGl2ZShuYW1lKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB1cGRhdGVBY3RpdmUodXNlcjogVXNlcik6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgY29uc3QgcHJvbWlzZTogUHJvbWlzZTxib29sZWFuPiA9IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgdGhpcy5fc3RvcmUuc2V0TG9hZGluZyh0cnVlKTtcclxuXHJcbiAgICAgIHRoaXMuX2FjY291bnRTZXJ2aWNlLnVwZGF0ZVVzZXIodXNlcikuc3Vic2NyaWJlKFxyXG4gICAgICAgIChfKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLl9zdG9yZS5zZXRMb2FkaW5nKGZhbHNlKTtcclxuICAgICAgICAgIHRoaXMuX3N0b3JlLnNldEVycm9yKG51bGwpO1xyXG4gICAgICAgICAgdGhpcy5fc3RvcmUudXBkYXRlQWN0aXZlKCh1KSA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiB7IC4uLnVzZXIgfTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgcmVzb2x2ZSh0cnVlKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIChlcnJvcikgPT4ge1xyXG4gICAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XHJcbiAgICAgICAgICB0aGlzLl9zdG9yZS5zZXRMb2FkaW5nKGZhbHNlKTtcclxuICAgICAgICAgIHRoaXMuX3N0b3JlLnNldEVycm9yKCdFcnJvciB1cGRhdGluZyB1c2VyJyk7XHJcbiAgICAgICAgICByZXNvbHZlKGZhbHNlKTtcclxuICAgICAgICB9XHJcbiAgICAgICk7XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBwcm9taXNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGRlbGV0ZVVzZXIobmFtZTogc3RyaW5nKTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICBjb25zdCBwcm9taXNlOiBQcm9taXNlPGJvb2xlYW4+ID0gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICB0aGlzLl9zdG9yZS5zZXRMb2FkaW5nKHRydWUpO1xyXG5cclxuICAgICAgdGhpcy5fYWNjb3VudFNlcnZpY2UuZGVsZXRlVXNlcihuYW1lKS5zdWJzY3JpYmUoXHJcbiAgICAgICAgKF8pID0+IHtcclxuICAgICAgICAgIHRoaXMuX3N0b3JlLnNldExvYWRpbmcoZmFsc2UpO1xyXG4gICAgICAgICAgdGhpcy5fc3RvcmUuc2V0RXJyb3IobnVsbCk7XHJcbiAgICAgICAgICB0aGlzLl9zdG9yZS5yZW1vdmUobmFtZSk7XHJcbiAgICAgICAgICByZXNvbHZlKHRydWUpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgKGVycm9yKSA9PiB7XHJcbiAgICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcclxuICAgICAgICAgIHRoaXMuX3N0b3JlLnNldExvYWRpbmcoZmFsc2UpO1xyXG4gICAgICAgICAgdGhpcy5fc3RvcmUuc2V0RXJyb3IoJ0Vycm9yIGRlbGV0aW5nIHVzZXInKTtcclxuICAgICAgICAgIHJlamVjdChlcnJvcik7XHJcbiAgICAgICAgfVxyXG4gICAgICApO1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gcHJvbWlzZTtcclxuICB9XHJcbn1cclxuIl19
@@ -14,13 +14,13 @@ let UsersStore = class UsersStore extends EntityStore {
14
14
  super(initialState);
15
15
  }
16
16
  };
17
- UsersStore.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: UsersStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
18
- UsersStore.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: UsersStore, providedIn: 'root' });
17
+ UsersStore.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: UsersStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
18
+ UsersStore.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: UsersStore, providedIn: 'root' });
19
19
  UsersStore = __decorate([
20
20
  StoreConfig({ name: 'Users', idKey: 'userName', resettable: true })
21
21
  ], UsersStore);
22
22
  export { UsersStore };
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: UsersStore, decorators: [{
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: UsersStore, decorators: [{
24
24
  type: Injectable,
25
25
  args: [{ providedIn: 'root' }]
26
26
  }], ctorParameters: function () { return []; } });