@netgrif/components 6.3.0-rc.5 → 6.3.0-rc.7

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 (26) hide show
  1. package/esm2020/lib/authentication/auth.module.mjs +24 -6
  2. package/esm2020/lib/authentication/public-api.mjs +2 -1
  3. package/esm2020/lib/authentication/session-idle/popup-session-idle/popup-session-idle.component.mjs +24 -0
  4. package/esm2020/lib/authentication/session-idle/session-idle.component.mjs +39 -0
  5. package/esm2020/lib/forms/change-password/change-password-form.component.mjs +42 -0
  6. package/esm2020/lib/forms/change-password/change-password-form.component.module.mjs +40 -0
  7. package/esm2020/lib/forms/email-submission/email-submission-form.component.mjs +3 -3
  8. package/esm2020/lib/forms/forgotten-password/forgotten-password-form.component.mjs +14 -9
  9. package/esm2020/lib/forms/login/login-form.component.mjs +3 -3
  10. package/esm2020/lib/forms/public-api.mjs +3 -1
  11. package/esm2020/lib/forms/registration/registration-form.component.mjs +14 -9
  12. package/fesm2015/netgrif-components.mjs +193 -54
  13. package/fesm2015/netgrif-components.mjs.map +1 -1
  14. package/fesm2020/netgrif-components.mjs +187 -54
  15. package/fesm2020/netgrif-components.mjs.map +1 -1
  16. package/lib/authentication/auth.module.d.ts +8 -2
  17. package/lib/authentication/public-api.d.ts +1 -0
  18. package/lib/authentication/session-idle/popup-session-idle/popup-session-idle.component.d.ts +11 -0
  19. package/lib/authentication/session-idle/session-idle.component.d.ts +14 -0
  20. package/lib/forms/change-password/change-password-form.component.d.ts +14 -0
  21. package/lib/forms/change-password/change-password-form.component.module.d.ts +11 -0
  22. package/lib/forms/forgotten-password/forgotten-password-form.component.d.ts +2 -2
  23. package/lib/forms/public-api.d.ts +2 -0
  24. package/lib/forms/registration/registration-form.component.d.ts +2 -2
  25. package/package.json +3 -3
  26. package/schematics/view/create-view-prompt/views/login/files/__className@dasherize__.component.ts.template +12 -8
@@ -1,22 +1,40 @@
1
1
  import { NgModule } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import { AuthenticationOverlayComponent } from './authentication-overlay/authentication-overlay.component';
4
+ import { SessionIdleComponent } from './session-idle/session-idle.component';
5
+ import { PopupSessionIdleComponent } from './session-idle/popup-session-idle/popup-session-idle.component';
6
+ import { MatDialogModule } from "@angular/material/dialog";
7
+ import { MatButtonModule } from "@angular/material/button";
8
+ import { FlexModule } from "@angular/flex-layout";
9
+ import { TranslateLibModule } from '@netgrif/components-core';
4
10
  import * as i0 from "@angular/core";
5
11
  export class AuthenticationComponentModule {
6
12
  }
7
13
  AuthenticationComponentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AuthenticationComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
- AuthenticationComponentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AuthenticationComponentModule, declarations: [AuthenticationOverlayComponent], imports: [CommonModule], exports: [AuthenticationOverlayComponent] });
14
+ AuthenticationComponentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AuthenticationComponentModule, declarations: [AuthenticationOverlayComponent, SessionIdleComponent, PopupSessionIdleComponent], imports: [CommonModule,
15
+ MatDialogModule,
16
+ MatButtonModule,
17
+ TranslateLibModule,
18
+ FlexModule], exports: [AuthenticationOverlayComponent, SessionIdleComponent] });
9
19
  AuthenticationComponentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AuthenticationComponentModule, imports: [[
10
- CommonModule
20
+ CommonModule,
21
+ MatDialogModule,
22
+ MatButtonModule,
23
+ TranslateLibModule,
24
+ FlexModule
11
25
  ]] });
12
26
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AuthenticationComponentModule, decorators: [{
13
27
  type: NgModule,
14
28
  args: [{
15
- declarations: [AuthenticationOverlayComponent],
16
- exports: [AuthenticationOverlayComponent],
29
+ declarations: [AuthenticationOverlayComponent, SessionIdleComponent, PopupSessionIdleComponent],
30
+ exports: [AuthenticationOverlayComponent, SessionIdleComponent],
17
31
  imports: [
18
- CommonModule
32
+ CommonModule,
33
+ MatDialogModule,
34
+ MatButtonModule,
35
+ TranslateLibModule,
36
+ FlexModule
19
37
  ]
20
38
  }]
21
39
  }] });
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMvc3JjL2xpYi9hdXRoZW50aWNhdGlvbi9hdXRoLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsOEJBQThCLEVBQUMsTUFBTSwyREFBMkQsQ0FBQzs7QUFTekcsTUFBTSxPQUFPLDZCQUE2Qjs7MkhBQTdCLDZCQUE2Qjs0SEFBN0IsNkJBQTZCLGlCQU52Qiw4QkFBOEIsYUFHekMsWUFBWSxhQUZOLDhCQUE4Qjs0SEFLL0IsNkJBQTZCLFlBSjdCO1lBQ0wsWUFBWTtTQUNmOzRGQUVRLDZCQUE2QjtrQkFQekMsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUUsQ0FBQyw4QkFBOEIsQ0FBQztvQkFDOUMsT0FBTyxFQUFFLENBQUMsOEJBQThCLENBQUM7b0JBQ3pDLE9BQU8sRUFBRTt3QkFDTCxZQUFZO3FCQUNmO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7QXV0aGVudGljYXRpb25PdmVybGF5Q29tcG9uZW50fSBmcm9tICcuL2F1dGhlbnRpY2F0aW9uLW92ZXJsYXkvYXV0aGVudGljYXRpb24tb3ZlcmxheS5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW0F1dGhlbnRpY2F0aW9uT3ZlcmxheUNvbXBvbmVudF0sXG4gICAgZXhwb3J0czogW0F1dGhlbnRpY2F0aW9uT3ZlcmxheUNvbXBvbmVudF0sXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGVcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIEF1dGhlbnRpY2F0aW9uQ29tcG9uZW50TW9kdWxlIHtcbn1cbiJdfQ==
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMvc3JjL2xpYi9hdXRoZW50aWNhdGlvbi9hdXRoLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsOEJBQThCLEVBQUMsTUFBTSwyREFBMkQsQ0FBQztBQUN6RyxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUMzRSxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSxnRUFBZ0UsQ0FBQztBQUN6RyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQzs7QUFhNUQsTUFBTSxPQUFPLDZCQUE2Qjs7MkhBQTdCLDZCQUE2Qjs0SEFBN0IsNkJBQTZCLGlCQVZ2Qiw4QkFBOEIsRUFBRSxvQkFBb0IsRUFBRSx5QkFBeUIsYUFHMUYsWUFBWTtRQUNaLGVBQWU7UUFDZixlQUFlO1FBQ2Ysa0JBQWtCO1FBQ2xCLFVBQVUsYUFOSiw4QkFBOEIsRUFBRSxvQkFBb0I7NEhBU3JELDZCQUE2QixZQVI3QjtZQUNMLFlBQVk7WUFDWixlQUFlO1lBQ2YsZUFBZTtZQUNmLGtCQUFrQjtZQUNsQixVQUFVO1NBQ2I7NEZBRVEsNkJBQTZCO2tCQVh6QyxRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRSxDQUFDLDhCQUE4QixFQUFFLG9CQUFvQixFQUFFLHlCQUF5QixDQUFDO29CQUMvRixPQUFPLEVBQUUsQ0FBQyw4QkFBOEIsRUFBRSxvQkFBb0IsQ0FBQztvQkFDL0QsT0FBTyxFQUFFO3dCQUNMLFlBQVk7d0JBQ1osZUFBZTt3QkFDZixlQUFlO3dCQUNmLGtCQUFrQjt3QkFDbEIsVUFBVTtxQkFDYjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0F1dGhlbnRpY2F0aW9uT3ZlcmxheUNvbXBvbmVudH0gZnJvbSAnLi9hdXRoZW50aWNhdGlvbi1vdmVybGF5L2F1dGhlbnRpY2F0aW9uLW92ZXJsYXkuY29tcG9uZW50JztcbmltcG9ydCB7U2Vzc2lvbklkbGVDb21wb25lbnR9IGZyb20gJy4vc2Vzc2lvbi1pZGxlL3Nlc3Npb24taWRsZS5jb21wb25lbnQnO1xuaW1wb3J0IHtQb3B1cFNlc3Npb25JZGxlQ29tcG9uZW50fSBmcm9tICcuL3Nlc3Npb24taWRsZS9wb3B1cC1zZXNzaW9uLWlkbGUvcG9wdXAtc2Vzc2lvbi1pZGxlLmNvbXBvbmVudCc7XG5pbXBvcnQge01hdERpYWxvZ01vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2RpYWxvZ1wiO1xuaW1wb3J0IHtNYXRCdXR0b25Nb2R1bGV9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9idXR0b25cIjtcbmltcG9ydCB7RmxleE1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL2ZsZXgtbGF5b3V0XCI7XG5pbXBvcnQge1RyYW5zbGF0ZUxpYk1vZHVsZX0gZnJvbSAnQG5ldGdyaWYvY29tcG9uZW50cy1jb3JlJztcblxuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtBdXRoZW50aWNhdGlvbk92ZXJsYXlDb21wb25lbnQsIFNlc3Npb25JZGxlQ29tcG9uZW50LCBQb3B1cFNlc3Npb25JZGxlQ29tcG9uZW50XSxcbiAgICBleHBvcnRzOiBbQXV0aGVudGljYXRpb25PdmVybGF5Q29tcG9uZW50LCBTZXNzaW9uSWRsZUNvbXBvbmVudF0sXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIE1hdERpYWxvZ01vZHVsZSxcbiAgICAgICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgICAgICBUcmFuc2xhdGVMaWJNb2R1bGUsXG4gICAgICAgIEZsZXhNb2R1bGVcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIEF1dGhlbnRpY2F0aW9uQ29tcG9uZW50TW9kdWxlIHtcbn1cbiJdfQ==
@@ -1,5 +1,6 @@
1
1
  /* COMPONENTS */
2
2
  export * from './authentication-overlay/authentication-overlay.component';
3
+ export * from './session-idle/session-idle.component';
3
4
  /* MODULES */
4
5
  export * from './auth.module';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy9zcmMvbGliL2F1dGhlbnRpY2F0aW9uL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0JBQWdCO0FBQ2hCLGNBQWMsMkRBQTJELENBQUM7QUFFMUUsYUFBYTtBQUNiLGNBQWMsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogQ09NUE9ORU5UUyAqL1xuZXhwb3J0ICogZnJvbSAnLi9hdXRoZW50aWNhdGlvbi1vdmVybGF5L2F1dGhlbnRpY2F0aW9uLW92ZXJsYXkuY29tcG9uZW50JztcblxuLyogTU9EVUxFUyAqL1xuZXhwb3J0ICogZnJvbSAnLi9hdXRoLm1vZHVsZSc7XG4iXX0=
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy9zcmMvbGliL2F1dGhlbnRpY2F0aW9uL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0JBQWdCO0FBQ2hCLGNBQWMsMkRBQTJELENBQUM7QUFDMUUsY0FBYyx1Q0FBdUMsQ0FBQTtBQUVyRCxhQUFhO0FBQ2IsY0FBYyxlQUFlLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBDT01QT05FTlRTICovXG5leHBvcnQgKiBmcm9tICcuL2F1dGhlbnRpY2F0aW9uLW92ZXJsYXkvYXV0aGVudGljYXRpb24tb3ZlcmxheS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXNzaW9uLWlkbGUvc2Vzc2lvbi1pZGxlLmNvbXBvbmVudCdcblxuLyogTU9EVUxFUyAqL1xuZXhwb3J0ICogZnJvbSAnLi9hdXRoLm1vZHVsZSc7XG4iXX0=
@@ -0,0 +1,24 @@
1
+ import { Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/material/dialog";
4
+ import * as i2 from "@netgrif/components-core";
5
+ import * as i3 from "@angular/material/button";
6
+ import * as i4 from "@angular/flex-layout/flex";
7
+ import * as i5 from "@ngx-translate/core";
8
+ import * as i6 from "@angular/common";
9
+ export class PopupSessionIdleComponent {
10
+ constructor(dialogRef, sessionTimer) {
11
+ this.dialogRef = dialogRef;
12
+ this.sessionTimer = sessionTimer;
13
+ }
14
+ getTime() {
15
+ return this.sessionTimer.remainSeconds$;
16
+ }
17
+ }
18
+ PopupSessionIdleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PopupSessionIdleComponent, deps: [{ token: i1.MatDialogRef }, { token: i2.SessionIdleTimerService }], target: i0.ɵɵFactoryTarget.Component });
19
+ PopupSessionIdleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: PopupSessionIdleComponent, selector: "nc-popup-session-idle", ngImport: i0, template: "<div mat-dialog-title>{{ 'session.expireTitle' | translate}}</div>\n<div mat-dialog-content>\n <p class=\"white-space\">\n {{ 'session.expireDetail' | translate: {time: getTime() | async} }}\n </p>\n</div>\n<div mat-dialog-actions fxLayout=\"row\" fxLayoutAlign=\"space-between stretch\">\n <button mat-button [mat-dialog-close]=\"true\">{{ 'session.exitButton' | translate}}</button>\n <button mat-raised-button color=\"primary\" [mat-dialog-close]=\"false\"\n cdkFocusInitial>{{ 'session.refreshButton' | translate}}</button>\n</div>\n", styles: [".white-space{white-space:pre-line}\n"], components: [{ type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], 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]" }, { type: i4.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i4.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { type: i1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }], pipes: { "translate": i5.TranslatePipe, "async": i6.AsyncPipe } });
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PopupSessionIdleComponent, decorators: [{
21
+ type: Component,
22
+ args: [{ selector: 'nc-popup-session-idle', template: "<div mat-dialog-title>{{ 'session.expireTitle' | translate}}</div>\n<div mat-dialog-content>\n <p class=\"white-space\">\n {{ 'session.expireDetail' | translate: {time: getTime() | async} }}\n </p>\n</div>\n<div mat-dialog-actions fxLayout=\"row\" fxLayoutAlign=\"space-between stretch\">\n <button mat-button [mat-dialog-close]=\"true\">{{ 'session.exitButton' | translate}}</button>\n <button mat-raised-button color=\"primary\" [mat-dialog-close]=\"false\"\n cdkFocusInitial>{{ 'session.refreshButton' | translate}}</button>\n</div>\n", styles: [".white-space{white-space:pre-line}\n"] }]
23
+ }], ctorParameters: function () { return [{ type: i1.MatDialogRef }, { type: i2.SessionIdleTimerService }]; } });
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wdXAtc2Vzc2lvbi1pZGxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy9zcmMvbGliL2F1dGhlbnRpY2F0aW9uL3Nlc3Npb24taWRsZS9wb3B1cC1zZXNzaW9uLWlkbGUvcG9wdXAtc2Vzc2lvbi1pZGxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy9zcmMvbGliL2F1dGhlbnRpY2F0aW9uL3Nlc3Npb24taWRsZS9wb3B1cC1zZXNzaW9uLWlkbGUvcG9wdXAtc2Vzc2lvbi1pZGxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7O0FBU3hDLE1BQU0sT0FBTyx5QkFBeUI7SUFFbEMsWUFBbUIsU0FBa0QsRUFDbEQsWUFBcUM7UUFEckMsY0FBUyxHQUFULFNBQVMsQ0FBeUM7UUFDbEQsaUJBQVksR0FBWixZQUFZLENBQXlCO0lBQ3hELENBQUM7SUFFTSxPQUFPO1FBQ04sT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQztJQUVoRCxDQUFDOzt1SEFUUSx5QkFBeUI7MkdBQXpCLHlCQUF5Qiw2RENUdEMseWpCQVdBOzRGREZhLHlCQUF5QjtrQkFMckMsU0FBUzsrQkFDSSx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge01hdERpYWxvZ1JlZn0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2RpYWxvZ1wiO1xuaW1wb3J0IHtTZXNzaW9uSWRsZVRpbWVyU2VydmljZX0gZnJvbSAnQG5ldGdyaWYvY29tcG9uZW50cy1jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduYy1wb3B1cC1zZXNzaW9uLWlkbGUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9wb3B1cC1zZXNzaW9uLWlkbGUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3BvcHVwLXNlc3Npb24taWRsZS5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFBvcHVwU2Vzc2lvbklkbGVDb21wb25lbnQge1xuXG4gICAgY29uc3RydWN0b3IocHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPFBvcHVwU2Vzc2lvbklkbGVDb21wb25lbnQ+LFxuICAgICAgICAgICAgICAgIHB1YmxpYyBzZXNzaW9uVGltZXI6IFNlc3Npb25JZGxlVGltZXJTZXJ2aWNlKSB7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFRpbWUoKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5zZXNzaW9uVGltZXIucmVtYWluU2Vjb25kcyQ7XG5cbiAgICB9XG5cbn1cbiIsIjxkaXYgbWF0LWRpYWxvZy10aXRsZT57eyAnc2Vzc2lvbi5leHBpcmVUaXRsZScgfCB0cmFuc2xhdGV9fTwvZGl2PlxuPGRpdiBtYXQtZGlhbG9nLWNvbnRlbnQ+XG4gICAgPHAgY2xhc3M9XCJ3aGl0ZS1zcGFjZVwiPlxuICAgICAgICB7eyAnc2Vzc2lvbi5leHBpcmVEZXRhaWwnIHwgdHJhbnNsYXRlOiB7dGltZTogZ2V0VGltZSgpIHwgYXN5bmN9IH19XG4gICAgPC9wPlxuPC9kaXY+XG48ZGl2IG1hdC1kaWFsb2ctYWN0aW9ucyBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCJzcGFjZS1iZXR3ZWVuIHN0cmV0Y2hcIj5cbiAgICA8YnV0dG9uIG1hdC1idXR0b24gW21hdC1kaWFsb2ctY2xvc2VdPVwidHJ1ZVwiPnt7ICdzZXNzaW9uLmV4aXRCdXR0b24nIHwgdHJhbnNsYXRlfX08L2J1dHRvbj5cbiAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIFttYXQtZGlhbG9nLWNsb3NlXT1cImZhbHNlXCJcbiAgICAgICAgICAgIGNka0ZvY3VzSW5pdGlhbD57eyAnc2Vzc2lvbi5yZWZyZXNoQnV0dG9uJyB8IHRyYW5zbGF0ZX19PC9idXR0b24+XG48L2Rpdj5cbiJdfQ==
@@ -0,0 +1,39 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { AbstractSessionIdleComponent } from '@netgrif/components-core';
3
+ import { PopupSessionIdleComponent } from "./popup-session-idle/popup-session-idle.component";
4
+ import { take } from "rxjs/operators";
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/material/dialog";
7
+ import * as i2 from "@netgrif/components-core";
8
+ import * as i3 from "@angular/router";
9
+ export class SessionIdleComponent extends AbstractSessionIdleComponent {
10
+ constructor(dialog, sessionTimer, _user, _log, _config, _router) {
11
+ super(sessionTimer, _user, _log, _config, _router);
12
+ this.dialog = dialog;
13
+ this.alertAtSeconds = 30;
14
+ }
15
+ close() {
16
+ this.dialog.closeAll();
17
+ }
18
+ alert() {
19
+ this.openDialog();
20
+ }
21
+ openDialog() {
22
+ const dialogRef = this.dialog.open(PopupSessionIdleComponent);
23
+ dialogRef.afterClosed().pipe(take(1)).subscribe(result => {
24
+ if (result) {
25
+ this.logout();
26
+ }
27
+ this.continue();
28
+ });
29
+ }
30
+ }
31
+ SessionIdleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SessionIdleComponent, deps: [{ token: i1.MatDialog }, { token: i2.SessionIdleTimerService }, { token: i2.UserService }, { token: i2.LoggerService }, { token: i2.ConfigurationService }, { token: i3.Router }], target: i0.ɵɵFactoryTarget.Component });
32
+ SessionIdleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: SessionIdleComponent, selector: "nc-session-idle", inputs: { alertAtSeconds: "alertAtSeconds" }, usesInheritance: true, ngImport: i0, template: "" });
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SessionIdleComponent, decorators: [{
34
+ type: Component,
35
+ args: [{ selector: 'nc-session-idle', template: "", styles: [] }]
36
+ }], ctorParameters: function () { return [{ type: i1.MatDialog }, { type: i2.SessionIdleTimerService }, { type: i2.UserService }, { type: i2.LoggerService }, { type: i2.ConfigurationService }, { type: i3.Router }]; }, propDecorators: { alertAtSeconds: [{
37
+ type: Input
38
+ }] } });
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi1pZGxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy9zcmMvbGliL2F1dGhlbnRpY2F0aW9uL3Nlc3Npb24taWRsZS9zZXNzaW9uLWlkbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzL3NyYy9saWIvYXV0aGVudGljYXRpb24vc2Vzc2lvbi1pZGxlL3Nlc3Npb24taWRsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMvQyxPQUFPLEVBQ0gsNEJBQTRCLEVBSy9CLE1BQU0sMEJBQTBCLENBQUM7QUFHbEMsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sbURBQW1ELENBQUM7QUFDNUYsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7OztBQU9wQyxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsNEJBQTRCO0lBSWxFLFlBQXNCLE1BQWlCLEVBQzNCLFlBQXFDLEVBQ3JDLEtBQWtCLEVBQ2xCLElBQW1CLEVBQ25CLE9BQTZCLEVBQzdCLE9BQWU7UUFDdkIsS0FBSyxDQUFDLFlBQVksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztRQU5qQyxXQUFNLEdBQU4sTUFBTSxDQUFXO1FBRjlCLG1CQUFjLEdBQUksRUFBRSxDQUFDO0lBUzlCLENBQUM7SUFFTSxLQUFLO1FBQ1IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRU0sS0FBSztRQUNSLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQTtJQUNyQixDQUFDO0lBRUQsVUFBVTtRQUNOLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFDOUQsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDckQsSUFBSSxNQUFNLEVBQUU7Z0JBQ1IsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO2FBQ2pCO1lBQ0QsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3BCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7a0hBN0JRLG9CQUFvQjtzR0FBcEIsb0JBQW9CLDRIQ2xCakMsRUFBQTs0RkRrQmEsb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNJLGlCQUFpQjtvUEFNbEIsY0FBYztzQkFBdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEFic3RyYWN0U2Vzc2lvbklkbGVDb21wb25lbnQsXG4gICAgQ29uZmlndXJhdGlvblNlcnZpY2UsXG4gICAgTG9nZ2VyU2VydmljZSxcbiAgICBTZXNzaW9uSWRsZVRpbWVyU2VydmljZSxcbiAgICBVc2VyU2VydmljZVxufSBmcm9tICdAbmV0Z3JpZi9jb21wb25lbnRzLWNvcmUnO1xuaW1wb3J0IHtNYXREaWFsb2d9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2dcIjtcbmltcG9ydCB7Um91dGVyfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XG5pbXBvcnQge1BvcHVwU2Vzc2lvbklkbGVDb21wb25lbnR9IGZyb20gXCIuL3BvcHVwLXNlc3Npb24taWRsZS9wb3B1cC1zZXNzaW9uLWlkbGUuY29tcG9uZW50XCI7XG5pbXBvcnQge3Rha2V9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25jLXNlc3Npb24taWRsZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3Nlc3Npb24taWRsZS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbXVxufSlcbmV4cG9ydCBjbGFzcyBTZXNzaW9uSWRsZUNvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0U2Vzc2lvbklkbGVDb21wb25lbnQge1xuXG4gICAgQElucHV0KCkgYWxlcnRBdFNlY29uZHM/ID0gMzA7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgZGlhbG9nOiBNYXREaWFsb2csXG4gICAgICAgICAgICAgICAgc2Vzc2lvblRpbWVyOiBTZXNzaW9uSWRsZVRpbWVyU2VydmljZSxcbiAgICAgICAgICAgICAgICBfdXNlcjogVXNlclNlcnZpY2UsXG4gICAgICAgICAgICAgICAgX2xvZzogTG9nZ2VyU2VydmljZSxcbiAgICAgICAgICAgICAgICBfY29uZmlnOiBDb25maWd1cmF0aW9uU2VydmljZSxcbiAgICAgICAgICAgICAgICBfcm91dGVyOiBSb3V0ZXIpIHtcbiAgICAgICAgc3VwZXIoc2Vzc2lvblRpbWVyLCBfdXNlciwgX2xvZywgX2NvbmZpZywgX3JvdXRlcik7XG4gICAgfVxuXG4gICAgcHVibGljIGNsb3NlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRpYWxvZy5jbG9zZUFsbCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhbGVydCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vcGVuRGlhbG9nKClcbiAgICB9XG5cbiAgICBvcGVuRGlhbG9nKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKFBvcHVwU2Vzc2lvbklkbGVDb21wb25lbnQpO1xuICAgICAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5waXBlKHRha2UoMSkpLnN1YnNjcmliZShyZXN1bHQgPT4ge1xuICAgICAgICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICAgICAgICAgIHRoaXMubG9nb3V0KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmNvbnRpbnVlKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxufVxuXG4iLCIiXX0=
@@ -0,0 +1,42 @@
1
+ import { Component, Inject, Optional } from "@angular/core";
2
+ import { AbstractChangePasswordComponent, NAE_MIN_PASSWORD_LENGTH } from '@netgrif/components-core';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/forms";
5
+ import * as i2 from "@netgrif/components-core";
6
+ import * as i3 from "@ngx-translate/core";
7
+ import * as i4 from "@angular/material/icon";
8
+ import * as i5 from "@angular/material/form-field";
9
+ import * as i6 from "@angular/material/button";
10
+ import * as i7 from "@angular/material/progress-spinner";
11
+ import * as i8 from "@angular/flex-layout/flex";
12
+ import * as i9 from "@angular/material/input";
13
+ import * as i10 from "@angular/common";
14
+ export class ChangePasswordFormComponent extends AbstractChangePasswordComponent {
15
+ constructor(formBuilder, profileService, user, log, translate, minPasswordLength, _snackbar) {
16
+ super(formBuilder, profileService, user, log, translate, minPasswordLength);
17
+ this._snackbar = _snackbar;
18
+ this.streamChangePassword = this.changePassword.subscribe(message => {
19
+ if (message.success) {
20
+ this._snackbar.openSuccessSnackBar(message.success);
21
+ }
22
+ else {
23
+ this._snackbar.openErrorSnackBar(message.error);
24
+ }
25
+ });
26
+ }
27
+ ngOnDestroy() {
28
+ this.streamChangePassword.unsubscribe();
29
+ }
30
+ }
31
+ ChangePasswordFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ChangePasswordFormComponent, deps: [{ token: i1.FormBuilder }, { token: i2.ProfileService }, { token: i2.UserService }, { token: i2.LoggerService }, { token: i3.TranslateService }, { token: NAE_MIN_PASSWORD_LENGTH, optional: true }, { token: i2.SnackBarService }], target: i0.ɵɵFactoryTarget.Component });
32
+ ChangePasswordFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: ChangePasswordFormComponent, selector: "nc-change-password-form", usesInheritance: true, ngImport: i0, template: "<div fxLayout=\"column\" fxLayoutGap=\"24px\">\n <form [formGroup]=\"rootFormGroup\" (ngSubmit)=\"onSubmit()\" class=\"full-width netgrif-input\">\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutGap=\"16px\" class=\"netgrif-input\" >\n <mat-icon color=\"primary\" class=\"netgrif-icon-fix\">vpn_key</mat-icon>\n <mat-form-field fxFlex=\"100\" appearance=\"outline\">\n <mat-label>{{ 'forms.changePassword.oldPassword' | translate }}</mat-label>\n <input matInput\n [type]=\"hideOldPassword ? 'password' : 'text'\"\n formControlName=\"oldPassword\" required autocomplete=\"old-password\">\n <button mat-icon-button matSuffix type=\"button\"\n (click)=\"hideOldPassword = !hideOldPassword\"\n (keypress)=\"false\"\n [attr.aria-label]=\"'Hide password'\"\n [attr.aria-pressed]=\"hideOldPassword\">\n <mat-icon\n [color]=\"hideOldPassword ? undefined : 'accent'\">{{hideOldPassword ? 'visibility_off' : 'visibility'}}</mat-icon>\n </button>\n <mat-error *ngIf=\"!isFieldValid('oldPassword')\">{{getErrorMessage('oldPassword')}}</mat-error>\n </mat-form-field>\n </div>\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutGap=\"16px\" class=\"netgrif-input\" >\n <mat-icon color=\"primary\" class=\"netgrif-icon-fix\">vpn_key</mat-icon>\n <mat-form-field fxFlex=\"100\" appearance=\"outline\">\n <mat-label>{{ 'forms.changePassword.enterNewPass' | translate }}</mat-label>\n <input matInput\n [type]=\"hidePassword ? 'password' : 'text'\"\n formControlName=\"password\" required autocomplete=\"new-password\">\n <button mat-icon-button matSuffix type=\"button\"\n (click)=\"hidePassword = !hidePassword\"\n (keypress)=\"false\"\n [attr.aria-label]=\"'Hide password'\"\n [attr.aria-pressed]=\"hidePassword\">\n <mat-icon\n [color]=\"hidePassword ? undefined : 'accent'\">{{hidePassword ? 'visibility_off' : 'visibility'}}</mat-icon>\n </button>\n <mat-error *ngIf=\"!isFieldValid('password')\">{{getErrorMessage('password')}}</mat-error>\n </mat-form-field>\n </div>\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutGap=\"16px\" class=\"netgrif-input\" >\n <mat-icon color=\"primary\" class=\"netgrif-icon-fix\">vpn_key</mat-icon>\n <mat-form-field fxFlex=\"100\" appearance=\"outline\">\n <mat-label>{{ 'forms.changePassword.repeatNewPass' | translate }}</mat-label>\n <input matInput\n [type]=\"hideRepeatPassword ? 'password' : 'text'\"\n formControlName=\"confirmPassword\" required autocomplete=\"new-password\">\n <button mat-icon-button matSuffix type=\"button\"\n (click)=\"hideRepeatPassword = !hideRepeatPassword\"\n (keypress)=\"false\"\n [attr.aria-label]=\"'Hide password'\"\n [attr.aria-pressed]=\"hideRepeatPassword\">\n <mat-icon\n [color]=\"hideRepeatPassword ? undefined : 'accent'\">{{hideRepeatPassword ? 'visibility_off' : 'visibility'}}</mat-icon>\n </button>\n <mat-error *ngIf=\"!isFieldValid('confirmPassword')\">{{getErrorMessage('confirmPassword')}}</mat-error>\n </mat-form-field>\n </div>\n <div fxLayout=\"row\" fxLayoutAlign=\"end\" fxLayoutAlign.xs=\"center\" class=\"margin-top-4\">\n <button fxFlexOffset=\"8px\" fxFlexOffset.xs=\"0\" [disabled]=\"loadingSubmit | async\" mat-raised-button class=\"register-button\" color=\"primary\">\n <mat-spinner *ngIf=\"loadingSubmit | async\"\n mode=\"indeterminate\"\n diameter=\"36\"\n color=\"accent\"\n fxFlex></mat-spinner>\n <span *ngIf=\"(loadingSubmit | async) === false\"\n fxFlex>{{ 'forms.changePassword.changePass' | translate }}</span>\n </button>\n </div>\n </form>\n</div>\n\n", styles: [".font-size-20{font-size:20px}.margin-top-4{margin-top:4px}.full-width{width:100%}\n"], components: [{ type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i5.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i6.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: i7.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }], directives: [{ type: i8.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i8.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { 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: i8.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { type: i8.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { type: i5.MatLabel, selector: "mat-label" }, { 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.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i5.MatSuffix, selector: "[matSuffix]" }, { type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.MatError, selector: "mat-error", inputs: ["id"] }, { type: i8.DefaultFlexOffsetDirective, selector: " [fxFlexOffset], [fxFlexOffset.xs], [fxFlexOffset.sm], [fxFlexOffset.md], [fxFlexOffset.lg], [fxFlexOffset.xl], [fxFlexOffset.lt-sm], [fxFlexOffset.lt-md], [fxFlexOffset.lt-lg], [fxFlexOffset.lt-xl], [fxFlexOffset.gt-xs], [fxFlexOffset.gt-sm], [fxFlexOffset.gt-md], [fxFlexOffset.gt-lg]", inputs: ["fxFlexOffset", "fxFlexOffset.xs", "fxFlexOffset.sm", "fxFlexOffset.md", "fxFlexOffset.lg", "fxFlexOffset.xl", "fxFlexOffset.lt-sm", "fxFlexOffset.lt-md", "fxFlexOffset.lt-lg", "fxFlexOffset.lt-xl", "fxFlexOffset.gt-xs", "fxFlexOffset.gt-sm", "fxFlexOffset.gt-md", "fxFlexOffset.gt-lg"] }], pipes: { "translate": i3.TranslatePipe, "async": i10.AsyncPipe } });
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ChangePasswordFormComponent, decorators: [{
34
+ type: Component,
35
+ args: [{ selector: 'nc-change-password-form', template: "<div fxLayout=\"column\" fxLayoutGap=\"24px\">\n <form [formGroup]=\"rootFormGroup\" (ngSubmit)=\"onSubmit()\" class=\"full-width netgrif-input\">\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutGap=\"16px\" class=\"netgrif-input\" >\n <mat-icon color=\"primary\" class=\"netgrif-icon-fix\">vpn_key</mat-icon>\n <mat-form-field fxFlex=\"100\" appearance=\"outline\">\n <mat-label>{{ 'forms.changePassword.oldPassword' | translate }}</mat-label>\n <input matInput\n [type]=\"hideOldPassword ? 'password' : 'text'\"\n formControlName=\"oldPassword\" required autocomplete=\"old-password\">\n <button mat-icon-button matSuffix type=\"button\"\n (click)=\"hideOldPassword = !hideOldPassword\"\n (keypress)=\"false\"\n [attr.aria-label]=\"'Hide password'\"\n [attr.aria-pressed]=\"hideOldPassword\">\n <mat-icon\n [color]=\"hideOldPassword ? undefined : 'accent'\">{{hideOldPassword ? 'visibility_off' : 'visibility'}}</mat-icon>\n </button>\n <mat-error *ngIf=\"!isFieldValid('oldPassword')\">{{getErrorMessage('oldPassword')}}</mat-error>\n </mat-form-field>\n </div>\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutGap=\"16px\" class=\"netgrif-input\" >\n <mat-icon color=\"primary\" class=\"netgrif-icon-fix\">vpn_key</mat-icon>\n <mat-form-field fxFlex=\"100\" appearance=\"outline\">\n <mat-label>{{ 'forms.changePassword.enterNewPass' | translate }}</mat-label>\n <input matInput\n [type]=\"hidePassword ? 'password' : 'text'\"\n formControlName=\"password\" required autocomplete=\"new-password\">\n <button mat-icon-button matSuffix type=\"button\"\n (click)=\"hidePassword = !hidePassword\"\n (keypress)=\"false\"\n [attr.aria-label]=\"'Hide password'\"\n [attr.aria-pressed]=\"hidePassword\">\n <mat-icon\n [color]=\"hidePassword ? undefined : 'accent'\">{{hidePassword ? 'visibility_off' : 'visibility'}}</mat-icon>\n </button>\n <mat-error *ngIf=\"!isFieldValid('password')\">{{getErrorMessage('password')}}</mat-error>\n </mat-form-field>\n </div>\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutGap=\"16px\" class=\"netgrif-input\" >\n <mat-icon color=\"primary\" class=\"netgrif-icon-fix\">vpn_key</mat-icon>\n <mat-form-field fxFlex=\"100\" appearance=\"outline\">\n <mat-label>{{ 'forms.changePassword.repeatNewPass' | translate }}</mat-label>\n <input matInput\n [type]=\"hideRepeatPassword ? 'password' : 'text'\"\n formControlName=\"confirmPassword\" required autocomplete=\"new-password\">\n <button mat-icon-button matSuffix type=\"button\"\n (click)=\"hideRepeatPassword = !hideRepeatPassword\"\n (keypress)=\"false\"\n [attr.aria-label]=\"'Hide password'\"\n [attr.aria-pressed]=\"hideRepeatPassword\">\n <mat-icon\n [color]=\"hideRepeatPassword ? undefined : 'accent'\">{{hideRepeatPassword ? 'visibility_off' : 'visibility'}}</mat-icon>\n </button>\n <mat-error *ngIf=\"!isFieldValid('confirmPassword')\">{{getErrorMessage('confirmPassword')}}</mat-error>\n </mat-form-field>\n </div>\n <div fxLayout=\"row\" fxLayoutAlign=\"end\" fxLayoutAlign.xs=\"center\" class=\"margin-top-4\">\n <button fxFlexOffset=\"8px\" fxFlexOffset.xs=\"0\" [disabled]=\"loadingSubmit | async\" mat-raised-button class=\"register-button\" color=\"primary\">\n <mat-spinner *ngIf=\"loadingSubmit | async\"\n mode=\"indeterminate\"\n diameter=\"36\"\n color=\"accent\"\n fxFlex></mat-spinner>\n <span *ngIf=\"(loadingSubmit | async) === false\"\n fxFlex>{{ 'forms.changePassword.changePass' | translate }}</span>\n </button>\n </div>\n </form>\n</div>\n\n", styles: [".font-size-20{font-size:20px}.margin-top-4{margin-top:4px}.full-width{width:100%}\n"] }]
36
+ }], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: i2.ProfileService }, { type: i2.UserService }, { type: i2.LoggerService }, { type: i3.TranslateService }, { type: undefined, decorators: [{
37
+ type: Optional
38
+ }, {
39
+ type: Inject,
40
+ args: [NAE_MIN_PASSWORD_LENGTH]
41
+ }] }, { type: i2.SnackBarService }]; } });
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbmdlLXBhc3N3b3JkLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzL3NyYy9saWIvZm9ybXMvY2hhbmdlLXBhc3N3b3JkL2NoYW5nZS1wYXNzd29yZC1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy9zcmMvbGliL2Zvcm1zL2NoYW5nZS1wYXNzd29yZC9jaGFuZ2UtcGFzc3dvcmQtZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBYSxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUNILCtCQUErQixFQUsvQix1QkFBdUIsRUFDMUIsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7Ozs7Ozs7O0FBVWxDLE1BQU0sT0FBTywyQkFBNEIsU0FBUSwrQkFBK0I7SUFJNUUsWUFBWSxXQUF3QixFQUN4QixjQUE4QixFQUM5QixJQUFpQixFQUNqQixHQUFrQixFQUNsQixTQUEyQixFQUNrQixpQkFBaUIsRUFDcEQsU0FBMEI7UUFDNUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztRQUQxRCxjQUFTLEdBQVQsU0FBUyxDQUFpQjtRQUU1QyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDaEUsSUFBSSxPQUFPLENBQUMsT0FBTyxFQUFFO2dCQUNqQixJQUFJLENBQUMsU0FBUyxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUN2RDtpQkFBTTtnQkFDSCxJQUFJLENBQUMsU0FBUyxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUNuRDtRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUdELFdBQVc7UUFDUCxJQUFJLENBQUMsb0JBQW9CLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDNUMsQ0FBQzs7eUhBeEJRLDJCQUEyQixtS0FTSix1QkFBdUI7NkdBVDlDLDJCQUEyQixzRkNsQnhDLGdnSkFzRUE7NEZEcERhLDJCQUEyQjtrQkFMdkMsU0FBUzsrQkFDSSx5QkFBeUI7OzBCQWF0QixRQUFROzswQkFBSSxNQUFNOzJCQUFDLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbmplY3QsIE9uRGVzdHJveSwgT3B0aW9uYWx9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQge1xuICAgIEFic3RyYWN0Q2hhbmdlUGFzc3dvcmRDb21wb25lbnQsXG4gICAgUHJvZmlsZVNlcnZpY2UsXG4gICAgVXNlclNlcnZpY2UsXG4gICAgTG9nZ2VyU2VydmljZSxcbiAgICBTbmFja0JhclNlcnZpY2UsXG4gICAgTkFFX01JTl9QQVNTV09SRF9MRU5HVEhcbn0gZnJvbSAnQG5ldGdyaWYvY29tcG9uZW50cy1jb3JlJztcbmltcG9ydCB7Rm9ybUJ1aWxkZXJ9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gXCJyeGpzXCI7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmMtY2hhbmdlLXBhc3N3b3JkLWZvcm0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9jaGFuZ2UtcGFzc3dvcmQtZm9ybS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vY2hhbmdlLXBhc3N3b3JkLWZvcm0uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBDaGFuZ2VQYXNzd29yZEZvcm1Db21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdENoYW5nZVBhc3N3b3JkQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcblxuICAgIHB1YmxpYyBzdHJlYW1DaGFuZ2VQYXNzd29yZDogU3Vic2NyaXB0aW9uO1xuXG4gICAgY29uc3RydWN0b3IoZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyLFxuICAgICAgICAgICAgICAgIHByb2ZpbGVTZXJ2aWNlOiBQcm9maWxlU2VydmljZSxcbiAgICAgICAgICAgICAgICB1c2VyOiBVc2VyU2VydmljZSxcbiAgICAgICAgICAgICAgICBsb2c6IExvZ2dlclNlcnZpY2UsXG4gICAgICAgICAgICAgICAgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoTkFFX01JTl9QQVNTV09SRF9MRU5HVEgpIG1pblBhc3N3b3JkTGVuZ3RoLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfc25hY2tiYXI6IFNuYWNrQmFyU2VydmljZSkge1xuICAgICAgICBzdXBlcihmb3JtQnVpbGRlciwgcHJvZmlsZVNlcnZpY2UsIHVzZXIsIGxvZywgdHJhbnNsYXRlLCBtaW5QYXNzd29yZExlbmd0aCk7XG4gICAgICAgIHRoaXMuc3RyZWFtQ2hhbmdlUGFzc3dvcmQgPSB0aGlzLmNoYW5nZVBhc3N3b3JkLnN1YnNjcmliZShtZXNzYWdlID0+IHtcbiAgICAgICAgICAgIGlmIChtZXNzYWdlLnN1Y2Nlc3MpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9zbmFja2Jhci5vcGVuU3VjY2Vzc1NuYWNrQmFyKG1lc3NhZ2Uuc3VjY2Vzcyk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuX3NuYWNrYmFyLm9wZW5FcnJvclNuYWNrQmFyKG1lc3NhZ2UuZXJyb3IpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN0cmVhbUNoYW5nZVBhc3N3b3JkLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG59XG4iLCI8ZGl2IGZ4TGF5b3V0PVwiY29sdW1uXCIgZnhMYXlvdXRHYXA9XCIyNHB4XCI+XG4gICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJyb290Rm9ybUdyb3VwXCIgKG5nU3VibWl0KT1cIm9uU3VibWl0KClcIiBjbGFzcz1cImZ1bGwtd2lkdGggbmV0Z3JpZi1pbnB1dFwiPlxuICAgICAgICA8ZGl2IGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIiBmeExheW91dEdhcD1cIjE2cHhcIiBjbGFzcz1cIm5ldGdyaWYtaW5wdXRcIiA+XG4gICAgICAgICAgICA8bWF0LWljb24gY29sb3I9XCJwcmltYXJ5XCIgY2xhc3M9XCJuZXRncmlmLWljb24tZml4XCI+dnBuX2tleTwvbWF0LWljb24+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PVwiMTAwXCIgYXBwZWFyYW5jZT1cIm91dGxpbmVcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPnt7ICdmb3Jtcy5jaGFuZ2VQYXNzd29yZC5vbGRQYXNzd29yZCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgW3R5cGVdPVwiaGlkZU9sZFBhc3N3b3JkID8gJ3Bhc3N3b3JkJyA6ICd0ZXh0J1wiXG4gICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cIm9sZFBhc3N3b3JkXCIgcmVxdWlyZWQgYXV0b2NvbXBsZXRlPVwib2xkLXBhc3N3b3JkXCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gbWF0U3VmZml4IHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImhpZGVPbGRQYXNzd29yZCA9ICFoaWRlT2xkUGFzc3dvcmRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGtleXByZXNzKT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0hpZGUgcGFzc3dvcmQnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtcHJlc3NlZF09XCJoaWRlT2xkUGFzc3dvcmRcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICAgICAgICAgICAgICBbY29sb3JdPVwiaGlkZU9sZFBhc3N3b3JkID8gdW5kZWZpbmVkIDogJ2FjY2VudCdcIj57e2hpZGVPbGRQYXNzd29yZCA/ICd2aXNpYmlsaXR5X29mZicgOiAndmlzaWJpbGl0eSd9fTwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cIiFpc0ZpZWxkVmFsaWQoJ29sZFBhc3N3b3JkJylcIj57e2dldEVycm9yTWVzc2FnZSgnb2xkUGFzc3dvcmQnKX19PC9tYXQtZXJyb3I+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCIgZnhMYXlvdXRHYXA9XCIxNnB4XCIgY2xhc3M9XCJuZXRncmlmLWlucHV0XCIgPlxuICAgICAgICAgICAgPG1hdC1pY29uIGNvbG9yPVwicHJpbWFyeVwiIGNsYXNzPVwibmV0Z3JpZi1pY29uLWZpeFwiPnZwbl9rZXk8L21hdC1pY29uPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD1cIjEwMFwiIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1sYWJlbD57eyAnZm9ybXMuY2hhbmdlUGFzc3dvcmQuZW50ZXJOZXdQYXNzJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICBbdHlwZV09XCJoaWRlUGFzc3dvcmQgPyAncGFzc3dvcmQnIDogJ3RleHQnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwicGFzc3dvcmRcIiByZXF1aXJlZCBhdXRvY29tcGxldGU9XCJuZXctcGFzc3dvcmRcIj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBtYXRTdWZmaXggdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiaGlkZVBhc3N3b3JkID0gIWhpZGVQYXNzd29yZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoa2V5cHJlc3MpPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInSGlkZSBwYXNzd29yZCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1wcmVzc2VkXT1cImhpZGVQYXNzd29yZFwiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xvcl09XCJoaWRlUGFzc3dvcmQgPyB1bmRlZmluZWQgOiAnYWNjZW50J1wiPnt7aGlkZVBhc3N3b3JkID8gJ3Zpc2liaWxpdHlfb2ZmJyA6ICd2aXNpYmlsaXR5J319PC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwiIWlzRmllbGRWYWxpZCgncGFzc3dvcmQnKVwiPnt7Z2V0RXJyb3JNZXNzYWdlKCdwYXNzd29yZCcpfX08L21hdC1lcnJvcj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIiBmeExheW91dEdhcD1cIjE2cHhcIiBjbGFzcz1cIm5ldGdyaWYtaW5wdXRcIiA+XG4gICAgICAgICAgICA8bWF0LWljb24gY29sb3I9XCJwcmltYXJ5XCIgY2xhc3M9XCJuZXRncmlmLWljb24tZml4XCI+dnBuX2tleTwvbWF0LWljb24+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PVwiMTAwXCIgYXBwZWFyYW5jZT1cIm91dGxpbmVcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPnt7ICdmb3Jtcy5jaGFuZ2VQYXNzd29yZC5yZXBlYXROZXdQYXNzJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICBbdHlwZV09XCJoaWRlUmVwZWF0UGFzc3dvcmQgPyAncGFzc3dvcmQnIDogJ3RleHQnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiY29uZmlybVBhc3N3b3JkXCIgcmVxdWlyZWQgYXV0b2NvbXBsZXRlPVwibmV3LXBhc3N3b3JkXCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gbWF0U3VmZml4IHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImhpZGVSZXBlYXRQYXNzd29yZCA9ICFoaWRlUmVwZWF0UGFzc3dvcmRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGtleXByZXNzKT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0hpZGUgcGFzc3dvcmQnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtcHJlc3NlZF09XCJoaWRlUmVwZWF0UGFzc3dvcmRcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICAgICAgICAgICAgICBbY29sb3JdPVwiaGlkZVJlcGVhdFBhc3N3b3JkID8gdW5kZWZpbmVkIDogJ2FjY2VudCdcIj57e2hpZGVSZXBlYXRQYXNzd29yZCA/ICd2aXNpYmlsaXR5X29mZicgOiAndmlzaWJpbGl0eSd9fTwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cIiFpc0ZpZWxkVmFsaWQoJ2NvbmZpcm1QYXNzd29yZCcpXCI+e3tnZXRFcnJvck1lc3NhZ2UoJ2NvbmZpcm1QYXNzd29yZCcpfX08L21hdC1lcnJvcj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRBbGlnbj1cImVuZFwiIGZ4TGF5b3V0QWxpZ24ueHM9XCJjZW50ZXJcIiBjbGFzcz1cIm1hcmdpbi10b3AtNFwiPlxuICAgICAgICAgICAgPGJ1dHRvbiBmeEZsZXhPZmZzZXQ9XCI4cHhcIiBmeEZsZXhPZmZzZXQueHM9XCIwXCIgW2Rpc2FibGVkXT1cImxvYWRpbmdTdWJtaXQgfCBhc3luY1wiIG1hdC1yYWlzZWQtYnV0dG9uIGNsYXNzPVwicmVnaXN0ZXItYnV0dG9uXCIgY29sb3I9XCJwcmltYXJ5XCI+XG4gICAgICAgICAgICAgICAgPG1hdC1zcGlubmVyICpuZ0lmPVwibG9hZGluZ1N1Ym1pdCB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kZT1cImluZGV0ZXJtaW5hdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWFtZXRlcj1cIjM2XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I9XCJhY2NlbnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmeEZsZXg+PC9tYXQtc3Bpbm5lcj5cbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIihsb2FkaW5nU3VibWl0IHwgYXN5bmMpID09PSBmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgZnhGbGV4Pnt7ICdmb3Jtcy5jaGFuZ2VQYXNzd29yZC5jaGFuZ2VQYXNzJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Zvcm0+XG48L2Rpdj5cblxuIl19
@@ -0,0 +1,40 @@
1
+ import { NgModule } from "@angular/core";
2
+ import { CommonModule } from "@angular/common";
3
+ import { ProfileModule, MaterialModule, TranslateLibModule } from '@netgrif/components-core';
4
+ import { FlexLayoutModule } from "@angular/flex-layout";
5
+ import { ReactiveFormsModule } from "@angular/forms";
6
+ import { ChangePasswordFormComponent } from "./change-password-form.component";
7
+ import * as i0 from "@angular/core";
8
+ export class ChangePasswordFormComponentModule {
9
+ }
10
+ ChangePasswordFormComponentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ChangePasswordFormComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
+ ChangePasswordFormComponentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ChangePasswordFormComponentModule, declarations: [ChangePasswordFormComponent], imports: [CommonModule,
12
+ MaterialModule,
13
+ ProfileModule,
14
+ FlexLayoutModule,
15
+ ReactiveFormsModule,
16
+ TranslateLibModule], exports: [ChangePasswordFormComponent] });
17
+ ChangePasswordFormComponentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ChangePasswordFormComponentModule, imports: [[
18
+ CommonModule,
19
+ MaterialModule,
20
+ ProfileModule,
21
+ FlexLayoutModule,
22
+ ReactiveFormsModule,
23
+ TranslateLibModule
24
+ ]] });
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ChangePasswordFormComponentModule, decorators: [{
26
+ type: NgModule,
27
+ args: [{
28
+ declarations: [ChangePasswordFormComponent],
29
+ exports: [ChangePasswordFormComponent],
30
+ imports: [
31
+ CommonModule,
32
+ MaterialModule,
33
+ ProfileModule,
34
+ FlexLayoutModule,
35
+ ReactiveFormsModule,
36
+ TranslateLibModule
37
+ ]
38
+ }]
39
+ }] });
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbmdlLXBhc3N3b3JkLWZvcm0uY29tcG9uZW50Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy9zcmMvbGliL2Zvcm1zL2NoYW5nZS1wYXNzd29yZC9jaGFuZ2UtcGFzc3dvcmQtZm9ybS5jb21wb25lbnQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxhQUFhLEVBQUUsY0FBYyxFQUFFLGtCQUFrQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDM0YsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7O0FBYzdFLE1BQU0sT0FBTyxpQ0FBaUM7OytIQUFqQyxpQ0FBaUM7Z0lBQWpDLGlDQUFpQyxpQkFYM0IsMkJBQTJCLGFBR3RDLFlBQVk7UUFDWixjQUFjO1FBQ2QsYUFBYTtRQUNiLGdCQUFnQjtRQUNoQixtQkFBbUI7UUFDbkIsa0JBQWtCLGFBUFosMkJBQTJCO2dJQVU1QixpQ0FBaUMsWUFUakM7WUFDTCxZQUFZO1lBQ1osY0FBYztZQUNkLGFBQWE7WUFDYixnQkFBZ0I7WUFDaEIsbUJBQW1CO1lBQ25CLGtCQUFrQjtTQUNyQjs0RkFFUSxpQ0FBaUM7a0JBWjdDLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFLENBQUMsMkJBQTJCLENBQUM7b0JBQzNDLE9BQU8sRUFBRSxDQUFDLDJCQUEyQixDQUFDO29CQUN0QyxPQUFPLEVBQUU7d0JBQ0wsWUFBWTt3QkFDWixjQUFjO3dCQUNkLGFBQWE7d0JBQ2IsZ0JBQWdCO3dCQUNoQixtQkFBbUI7d0JBQ25CLGtCQUFrQjtxQkFDckI7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7UHJvZmlsZU1vZHVsZSwgTWF0ZXJpYWxNb2R1bGUsIFRyYW5zbGF0ZUxpYk1vZHVsZX0gZnJvbSAnQG5ldGdyaWYvY29tcG9uZW50cy1jb3JlJztcbmltcG9ydCB7RmxleExheW91dE1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL2ZsZXgtbGF5b3V0XCI7XG5pbXBvcnQge1JlYWN0aXZlRm9ybXNNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHtDaGFuZ2VQYXNzd29yZEZvcm1Db21wb25lbnR9IGZyb20gXCIuL2NoYW5nZS1wYXNzd29yZC1mb3JtLmNvbXBvbmVudFwiO1xuXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW0NoYW5nZVBhc3N3b3JkRm9ybUNvbXBvbmVudF0sXG4gICAgZXhwb3J0czogW0NoYW5nZVBhc3N3b3JkRm9ybUNvbXBvbmVudF0sXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIE1hdGVyaWFsTW9kdWxlLFxuICAgICAgICBQcm9maWxlTW9kdWxlLFxuICAgICAgICBGbGV4TGF5b3V0TW9kdWxlLFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICBUcmFuc2xhdGVMaWJNb2R1bGVcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIENoYW5nZVBhc3N3b3JkRm9ybUNvbXBvbmVudE1vZHVsZSB7XG59XG4iXX0=
@@ -17,9 +17,9 @@ export class EmailSubmissionFormComponent extends AbstractEmailSubmissionFormCom
17
17
  }
18
18
  }
19
19
  EmailSubmissionFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: EmailSubmissionFormComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
20
- EmailSubmissionFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: EmailSubmissionFormComponent, selector: "nc-email-submission-form", usesInheritance: true, ngImport: i0, template: "<div fxLayout=\"column\" fxLayoutAlign=\"start center\" fxLayoutGap=\"24px\">\n <form [formGroup]=\"rootFormGroup\" (ngSubmit)=\"onSubmit()\" class=\"full-width netgrif-input\">\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutGap=\"16px\">\n <mat-icon color=\"primary\" class=\"netgrif-icon-fix\">email</mat-icon>\n <mat-form-field fxFlex=\"100\" appearance=\"outline\">\n <input matInput placeholder=\"{{ 'forms.email.enterEmail' | translate}}\" formControlName=\"email\" required\n autocomplete=\"email\">\n <mat-error *ngIf=\"rootFormGroup.controls['email'].hasError('email')\">\n {{ 'dataField.validations.email' | translate}}\n </mat-error>\n </mat-form-field>\n </div>\n <nc-legal-notice *ngIf=\"displayLegalNotice\" [buttonName]=\"'dialog.submit'\"></nc-legal-notice>\n <div fxLayout=\"row\" class=\"margin-top-4\">\n <button mat-icon-button fxLayoutAlign=\"start\" (click)=\"emitGoBack()\">\n <mat-icon>arrow_back</mat-icon>\n </button>\n <div fxFlex></div>\n <button fxLayoutAlign=\"end\" mat-raised-button color=\"primary\" fxFlexOffset=\"8px\">\n <mat-spinner *ngIf=\"loading | async\"\n mode=\"indeterminate\"\n diameter=\"36\"\n color=\"accent\"\n fxFlex></mat-spinner>\n <span *ngIf=\"(loading | async) === false\" fxFlex>{{ 'dialog.submit' | translate}}</span>\n </button>\n </div>\n </form>\n</div>\n", styles: [".margin-top-4{margin-top:4px}.full-width{width:100%}\n"], components: [{ type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i3.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i4.LegalNoticeComponent, selector: "nc-legal-notice" }, { type: i5.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: i6.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }], directives: [{ type: i7.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i7.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { type: i7.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { 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: i7.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { type: i8.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.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.MatError, selector: "mat-error", inputs: ["id"] }, { type: i7.DefaultFlexOffsetDirective, selector: " [fxFlexOffset], [fxFlexOffset.xs], [fxFlexOffset.sm], [fxFlexOffset.md], [fxFlexOffset.lg], [fxFlexOffset.xl], [fxFlexOffset.lt-sm], [fxFlexOffset.lt-md], [fxFlexOffset.lt-lg], [fxFlexOffset.lt-xl], [fxFlexOffset.gt-xs], [fxFlexOffset.gt-sm], [fxFlexOffset.gt-md], [fxFlexOffset.gt-lg]", inputs: ["fxFlexOffset", "fxFlexOffset.xs", "fxFlexOffset.sm", "fxFlexOffset.md", "fxFlexOffset.lg", "fxFlexOffset.xl", "fxFlexOffset.lt-sm", "fxFlexOffset.lt-md", "fxFlexOffset.lt-lg", "fxFlexOffset.lt-xl", "fxFlexOffset.gt-xs", "fxFlexOffset.gt-sm", "fxFlexOffset.gt-md", "fxFlexOffset.gt-lg"] }], pipes: { "translate": i10.TranslatePipe, "async": i9.AsyncPipe } });
20
+ EmailSubmissionFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: EmailSubmissionFormComponent, selector: "nc-email-submission-form", usesInheritance: true, ngImport: i0, template: "<div fxLayout=\"column\" fxLayoutAlign=\"start center\" fxLayoutGap=\"24px\">\n <form [formGroup]=\"rootFormGroup\" (ngSubmit)=\"onSubmit()\" class=\"full-width netgrif-input\">\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutGap=\"16px\">\n <mat-icon color=\"primary\" class=\"netgrif-icon-fix\">email</mat-icon>\n <mat-form-field fxFlex=\"100\" appearance=\"outline\">\n <mat-label>{{ 'forms.email.enterEmail' | translate}}</mat-label>\n <input matInput formControlName=\"email\" required\n autocomplete=\"email\">\n <mat-error *ngIf=\"rootFormGroup.controls['email'].hasError('email')\">\n {{ 'dataField.validations.email' | translate}}\n </mat-error>\n </mat-form-field>\n </div>\n <nc-legal-notice *ngIf=\"displayLegalNotice\" [buttonName]=\"'dialog.submit'\"></nc-legal-notice>\n <div fxLayout=\"row\" class=\"margin-top-4\">\n <button mat-icon-button fxLayoutAlign=\"start\" (click)=\"emitGoBack()\">\n <mat-icon>arrow_back</mat-icon>\n </button>\n <div fxFlex></div>\n <button fxLayoutAlign=\"end\" mat-raised-button color=\"primary\" fxFlexOffset=\"8px\">\n <mat-spinner *ngIf=\"loading | async\"\n mode=\"indeterminate\"\n diameter=\"36\"\n color=\"accent\"\n fxFlex></mat-spinner>\n <span *ngIf=\"(loading | async) === false\" fxFlex>{{ 'dialog.submit' | translate}}</span>\n </button>\n </div>\n </form>\n</div>\n", styles: [".margin-top-4{margin-top:4px}.full-width{width:100%}\n"], components: [{ type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i3.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i4.LegalNoticeComponent, selector: "nc-legal-notice" }, { type: i5.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: i6.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }], directives: [{ type: i7.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i7.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { type: i7.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { 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: i7.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { type: i3.MatLabel, selector: "mat-label" }, { type: i8.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.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.MatError, selector: "mat-error", inputs: ["id"] }, { type: i7.DefaultFlexOffsetDirective, selector: " [fxFlexOffset], [fxFlexOffset.xs], [fxFlexOffset.sm], [fxFlexOffset.md], [fxFlexOffset.lg], [fxFlexOffset.xl], [fxFlexOffset.lt-sm], [fxFlexOffset.lt-md], [fxFlexOffset.lt-lg], [fxFlexOffset.lt-xl], [fxFlexOffset.gt-xs], [fxFlexOffset.gt-sm], [fxFlexOffset.gt-md], [fxFlexOffset.gt-lg]", inputs: ["fxFlexOffset", "fxFlexOffset.xs", "fxFlexOffset.sm", "fxFlexOffset.md", "fxFlexOffset.lg", "fxFlexOffset.xl", "fxFlexOffset.lt-sm", "fxFlexOffset.lt-md", "fxFlexOffset.lt-lg", "fxFlexOffset.lt-xl", "fxFlexOffset.gt-xs", "fxFlexOffset.gt-sm", "fxFlexOffset.gt-md", "fxFlexOffset.gt-lg"] }], pipes: { "translate": i10.TranslatePipe, "async": i9.AsyncPipe } });
21
21
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: EmailSubmissionFormComponent, decorators: [{
22
22
  type: Component,
23
- args: [{ selector: 'nc-email-submission-form', template: "<div fxLayout=\"column\" fxLayoutAlign=\"start center\" fxLayoutGap=\"24px\">\n <form [formGroup]=\"rootFormGroup\" (ngSubmit)=\"onSubmit()\" class=\"full-width netgrif-input\">\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutGap=\"16px\">\n <mat-icon color=\"primary\" class=\"netgrif-icon-fix\">email</mat-icon>\n <mat-form-field fxFlex=\"100\" appearance=\"outline\">\n <input matInput placeholder=\"{{ 'forms.email.enterEmail' | translate}}\" formControlName=\"email\" required\n autocomplete=\"email\">\n <mat-error *ngIf=\"rootFormGroup.controls['email'].hasError('email')\">\n {{ 'dataField.validations.email' | translate}}\n </mat-error>\n </mat-form-field>\n </div>\n <nc-legal-notice *ngIf=\"displayLegalNotice\" [buttonName]=\"'dialog.submit'\"></nc-legal-notice>\n <div fxLayout=\"row\" class=\"margin-top-4\">\n <button mat-icon-button fxLayoutAlign=\"start\" (click)=\"emitGoBack()\">\n <mat-icon>arrow_back</mat-icon>\n </button>\n <div fxFlex></div>\n <button fxLayoutAlign=\"end\" mat-raised-button color=\"primary\" fxFlexOffset=\"8px\">\n <mat-spinner *ngIf=\"loading | async\"\n mode=\"indeterminate\"\n diameter=\"36\"\n color=\"accent\"\n fxFlex></mat-spinner>\n <span *ngIf=\"(loading | async) === false\" fxFlex>{{ 'dialog.submit' | translate}}</span>\n </button>\n </div>\n </form>\n</div>\n", styles: [".margin-top-4{margin-top:4px}.full-width{width:100%}\n"] }]
23
+ args: [{ selector: 'nc-email-submission-form', template: "<div fxLayout=\"column\" fxLayoutAlign=\"start center\" fxLayoutGap=\"24px\">\n <form [formGroup]=\"rootFormGroup\" (ngSubmit)=\"onSubmit()\" class=\"full-width netgrif-input\">\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutGap=\"16px\">\n <mat-icon color=\"primary\" class=\"netgrif-icon-fix\">email</mat-icon>\n <mat-form-field fxFlex=\"100\" appearance=\"outline\">\n <mat-label>{{ 'forms.email.enterEmail' | translate}}</mat-label>\n <input matInput formControlName=\"email\" required\n autocomplete=\"email\">\n <mat-error *ngIf=\"rootFormGroup.controls['email'].hasError('email')\">\n {{ 'dataField.validations.email' | translate}}\n </mat-error>\n </mat-form-field>\n </div>\n <nc-legal-notice *ngIf=\"displayLegalNotice\" [buttonName]=\"'dialog.submit'\"></nc-legal-notice>\n <div fxLayout=\"row\" class=\"margin-top-4\">\n <button mat-icon-button fxLayoutAlign=\"start\" (click)=\"emitGoBack()\">\n <mat-icon>arrow_back</mat-icon>\n </button>\n <div fxFlex></div>\n <button fxLayoutAlign=\"end\" mat-raised-button color=\"primary\" fxFlexOffset=\"8px\">\n <mat-spinner *ngIf=\"loading | async\"\n mode=\"indeterminate\"\n diameter=\"36\"\n color=\"accent\"\n fxFlex></mat-spinner>\n <span *ngIf=\"(loading | async) === false\" fxFlex>{{ 'dialog.submit' | translate}}</span>\n </button>\n </div>\n </form>\n</div>\n", styles: [".margin-top-4{margin-top:4px}.full-width{width:100%}\n"] }]
24
24
  }], ctorParameters: function () { return [{ type: i1.FormBuilder }]; } });
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1haWwtc3VibWlzc2lvbi1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy9zcmMvbGliL2Zvcm1zL2VtYWlsLXN1Ym1pc3Npb24vZW1haWwtc3VibWlzc2lvbi1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy9zcmMvbGliL2Zvcm1zL2VtYWlsLXN1Ym1pc3Npb24vZW1haWwtc3VibWlzc2lvbi1mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFeEMsT0FBTyxFQUFDLG9DQUFvQyxFQUFDLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7Ozs7OztBQU85RSxNQUFNLE9BQU8sNEJBQTZCLFNBQVEsb0NBQW9DO0lBQ2xGLFlBQVksV0FBd0I7UUFDaEMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7OzBIQUhRLDRCQUE0Qjs4R0FBNUIsNEJBQTRCLHVGQ1R6QywwcURBNkJBOzRGRHBCYSw0QkFBNEI7a0JBTHhDLFNBQVM7K0JBQ0ksMEJBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtGb3JtQnVpbGRlcn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtBYnN0cmFjdEVtYWlsU3VibWlzc2lvbkZvcm1Db21wb25lbnR9IGZyb20gJ0BuZXRncmlmL2NvbXBvbmVudHMtY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmMtZW1haWwtc3VibWlzc2lvbi1mb3JtJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZW1haWwtc3VibWlzc2lvbi1mb3JtLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9lbWFpbC1zdWJtaXNzaW9uLWZvcm0uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBFbWFpbFN1Ym1pc3Npb25Gb3JtQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RFbWFpbFN1Ym1pc3Npb25Gb3JtQ29tcG9uZW50IHtcbiAgICBjb25zdHJ1Y3Rvcihmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIpIHtcbiAgICAgICAgc3VwZXIoZm9ybUJ1aWxkZXIpO1xuICAgIH1cbn1cbiIsIjxkaXYgZnhMYXlvdXQ9XCJjb2x1bW5cIiBmeExheW91dEFsaWduPVwic3RhcnQgY2VudGVyXCIgZnhMYXlvdXRHYXA9XCIyNHB4XCI+XG4gICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJyb290Rm9ybUdyb3VwXCIgKG5nU3VibWl0KT1cIm9uU3VibWl0KClcIiBjbGFzcz1cImZ1bGwtd2lkdGggbmV0Z3JpZi1pbnB1dFwiPlxuICAgICAgICA8ZGl2IGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIiBmeExheW91dEdhcD1cIjE2cHhcIj5cbiAgICAgICAgICAgIDxtYXQtaWNvbiBjb2xvcj1cInByaW1hcnlcIiBjbGFzcz1cIm5ldGdyaWYtaWNvbi1maXhcIj5lbWFpbDwvbWF0LWljb24+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PVwiMTAwXCIgYXBwZWFyYW5jZT1cIm91dGxpbmVcIj5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgcGxhY2Vob2xkZXI9XCJ7eyAnZm9ybXMuZW1haWwuZW50ZXJFbWFpbCcgfCB0cmFuc2xhdGV9fVwiIGZvcm1Db250cm9sTmFtZT1cImVtYWlsXCIgcmVxdWlyZWRcbiAgICAgICAgICAgICAgICAgICAgICAgYXV0b2NvbXBsZXRlPVwiZW1haWxcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwicm9vdEZvcm1Hcm91cC5jb250cm9sc1snZW1haWwnXS5oYXNFcnJvcignZW1haWwnKVwiPlxuICAgICAgICAgICAgICAgICAgICB7eyAnZGF0YUZpZWxkLnZhbGlkYXRpb25zLmVtYWlsJyB8IHRyYW5zbGF0ZX19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPG5jLWxlZ2FsLW5vdGljZSAqbmdJZj1cImRpc3BsYXlMZWdhbE5vdGljZVwiIFtidXR0b25OYW1lXT1cIidkaWFsb2cuc3VibWl0J1wiPjwvbmMtbGVnYWwtbm90aWNlPlxuICAgICAgICA8ZGl2IGZ4TGF5b3V0PVwicm93XCIgY2xhc3M9XCJtYXJnaW4tdG9wLTRcIj5cbiAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIGZ4TGF5b3V0QWxpZ249XCJzdGFydFwiIChjbGljayk9XCJlbWl0R29CYWNrKClcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24+YXJyb3dfYmFjazwvbWF0LWljb24+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxkaXYgZnhGbGV4PjwvZGl2PlxuICAgICAgICAgICAgPGJ1dHRvbiBmeExheW91dEFsaWduPVwiZW5kXCIgbWF0LXJhaXNlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgZnhGbGV4T2Zmc2V0PVwiOHB4XCI+XG4gICAgICAgICAgICAgICAgPG1hdC1zcGlubmVyICpuZ0lmPVwibG9hZGluZyB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kZT1cImluZGV0ZXJtaW5hdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWFtZXRlcj1cIjM2XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I9XCJhY2NlbnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmeEZsZXg+PC9tYXQtc3Bpbm5lcj5cbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIihsb2FkaW5nIHwgYXN5bmMpID09PSBmYWxzZVwiIGZ4RmxleD57eyAnZGlhbG9nLnN1Ym1pdCcgfCB0cmFuc2xhdGV9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Zvcm0+XG48L2Rpdj5cbiJdfQ==
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1haWwtc3VibWlzc2lvbi1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy9zcmMvbGliL2Zvcm1zL2VtYWlsLXN1Ym1pc3Npb24vZW1haWwtc3VibWlzc2lvbi1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy9zcmMvbGliL2Zvcm1zL2VtYWlsLXN1Ym1pc3Npb24vZW1haWwtc3VibWlzc2lvbi1mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFeEMsT0FBTyxFQUFDLG9DQUFvQyxFQUFDLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7Ozs7OztBQU85RSxNQUFNLE9BQU8sNEJBQTZCLFNBQVEsb0NBQW9DO0lBQ2xGLFlBQVksV0FBd0I7UUFDaEMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7OzBIQUhRLDRCQUE0Qjs4R0FBNUIsNEJBQTRCLHVGQ1R6Qyxrc0RBOEJBOzRGRHJCYSw0QkFBNEI7a0JBTHhDLFNBQVM7K0JBQ0ksMEJBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtGb3JtQnVpbGRlcn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtBYnN0cmFjdEVtYWlsU3VibWlzc2lvbkZvcm1Db21wb25lbnR9IGZyb20gJ0BuZXRncmlmL2NvbXBvbmVudHMtY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmMtZW1haWwtc3VibWlzc2lvbi1mb3JtJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZW1haWwtc3VibWlzc2lvbi1mb3JtLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9lbWFpbC1zdWJtaXNzaW9uLWZvcm0uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBFbWFpbFN1Ym1pc3Npb25Gb3JtQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RFbWFpbFN1Ym1pc3Npb25Gb3JtQ29tcG9uZW50IHtcbiAgICBjb25zdHJ1Y3Rvcihmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIpIHtcbiAgICAgICAgc3VwZXIoZm9ybUJ1aWxkZXIpO1xuICAgIH1cbn1cbiIsIjxkaXYgZnhMYXlvdXQ9XCJjb2x1bW5cIiBmeExheW91dEFsaWduPVwic3RhcnQgY2VudGVyXCIgZnhMYXlvdXRHYXA9XCIyNHB4XCI+XG4gICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJyb290Rm9ybUdyb3VwXCIgKG5nU3VibWl0KT1cIm9uU3VibWl0KClcIiBjbGFzcz1cImZ1bGwtd2lkdGggbmV0Z3JpZi1pbnB1dFwiPlxuICAgICAgICA8ZGl2IGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIiBmeExheW91dEdhcD1cIjE2cHhcIj5cbiAgICAgICAgICAgIDxtYXQtaWNvbiBjb2xvcj1cInByaW1hcnlcIiBjbGFzcz1cIm5ldGdyaWYtaWNvbi1maXhcIj5lbWFpbDwvbWF0LWljb24+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PVwiMTAwXCIgYXBwZWFyYW5jZT1cIm91dGxpbmVcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPnt7ICdmb3Jtcy5lbWFpbC5lbnRlckVtYWlsJyB8IHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT1cImVtYWlsXCIgcmVxdWlyZWRcbiAgICAgICAgICAgICAgICAgICAgICAgYXV0b2NvbXBsZXRlPVwiZW1haWxcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwicm9vdEZvcm1Hcm91cC5jb250cm9sc1snZW1haWwnXS5oYXNFcnJvcignZW1haWwnKVwiPlxuICAgICAgICAgICAgICAgICAgICB7eyAnZGF0YUZpZWxkLnZhbGlkYXRpb25zLmVtYWlsJyB8IHRyYW5zbGF0ZX19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPG5jLWxlZ2FsLW5vdGljZSAqbmdJZj1cImRpc3BsYXlMZWdhbE5vdGljZVwiIFtidXR0b25OYW1lXT1cIidkaWFsb2cuc3VibWl0J1wiPjwvbmMtbGVnYWwtbm90aWNlPlxuICAgICAgICA8ZGl2IGZ4TGF5b3V0PVwicm93XCIgY2xhc3M9XCJtYXJnaW4tdG9wLTRcIj5cbiAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIGZ4TGF5b3V0QWxpZ249XCJzdGFydFwiIChjbGljayk9XCJlbWl0R29CYWNrKClcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24+YXJyb3dfYmFjazwvbWF0LWljb24+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxkaXYgZnhGbGV4PjwvZGl2PlxuICAgICAgICAgICAgPGJ1dHRvbiBmeExheW91dEFsaWduPVwiZW5kXCIgbWF0LXJhaXNlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgZnhGbGV4T2Zmc2V0PVwiOHB4XCI+XG4gICAgICAgICAgICAgICAgPG1hdC1zcGlubmVyICpuZ0lmPVwibG9hZGluZyB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kZT1cImluZGV0ZXJtaW5hdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWFtZXRlcj1cIjM2XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I9XCJhY2NlbnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmeEZsZXg+PC9tYXQtc3Bpbm5lcj5cbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIihsb2FkaW5nIHwgYXN5bmMpID09PSBmYWxzZVwiIGZ4RmxleD57eyAnZGlhbG9nLnN1Ym1pdCcgfCB0cmFuc2xhdGV9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Zvcm0+XG48L2Rpdj5cbiJdfQ==
@@ -1,5 +1,5 @@
1
- import { Component } from '@angular/core';
2
- import { AbstractForgottenPasswordComponent } from '@netgrif/components-core';
1
+ import { Component, Inject, Optional } from '@angular/core';
2
+ import { AbstractForgottenPasswordComponent, NAE_MIN_PASSWORD_LENGTH } from '@netgrif/components-core';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "@angular/forms";
5
5
  import * as i2 from "@netgrif/components-core";
@@ -12,14 +12,19 @@ import * as i8 from "@angular/common";
12
12
  import * as i9 from "@angular/flex-layout/flex";
13
13
  import * as i10 from "@angular/material/input";
14
14
  export class ForgottenPasswordFormComponent extends AbstractForgottenPasswordComponent {
15
- constructor(formBuilder, signupService, log, translate) {
16
- super(formBuilder, signupService, log, translate);
15
+ constructor(formBuilder, signupService, log, translate, minPasswordLength) {
16
+ super(formBuilder, signupService, log, translate, minPasswordLength);
17
17
  }
18
18
  }
19
- ForgottenPasswordFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ForgottenPasswordFormComponent, deps: [{ token: i1.FormBuilder }, { token: i2.SignUpService }, { token: i2.LoggerService }, { token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
20
- ForgottenPasswordFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: ForgottenPasswordFormComponent, selector: "nc-forgotten-password-form", usesInheritance: true, ngImport: i0, template: "<div fxLayout=\"column\" fxLayoutGap=\"24px\" *ngIf=\"tokenVerified && (loadingToken | async) === false\">\n <form [formGroup]=\"rootFormGroup\" (ngSubmit)=\"onSubmit()\" class=\"full-width netgrif-input\">\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutGap=\"16px\">\n <mat-icon color=\"primary\" class=\"netgrif-icon-fix\">email</mat-icon>\n <mat-form-field fxFlex=\"100\" appearance=\"outline\">\n <input matInput placeholder=\"{{ 'forms.register.email' | translate}}\" disabled [value]=\"userEmail\"\n autocomplete=\"username\">\n </mat-form-field>\n </div>\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutGap=\"16px\" class=\"netgrif-input\" >\n <mat-icon color=\"primary\" class=\"netgrif-icon-fix\">vpn_key</mat-icon>\n <mat-form-field fxFlex=\"100\" appearance=\"outline\">\n <input matInput placeholder=\"{{ 'forms.forgottenPass.enterNewPass' | translate }}\"\n [type]=\"hidePassword ? 'password' : 'text'\"\n formControlName=\"password\" required autocomplete=\"new-password\">\n <button mat-icon-button matSuffix type=\"button\"\n (click)=\"hidePassword = !hidePassword\"\n (keypress)=\"false\"\n [attr.aria-label]=\"'Hide password'\"\n [attr.aria-pressed]=\"hidePassword\">\n <mat-icon\n [color]=\"hidePassword ? undefined : 'accent'\">{{hidePassword ? 'visibility_off' : 'visibility'}}</mat-icon>\n </button>\n <mat-error *ngIf=\"!isFieldValid('password')\">{{getErrorMessage('password')}}</mat-error>\n </mat-form-field>\n </div>\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutGap=\"16px\" class=\"netgrif-input\" >\n <mat-icon color=\"primary\" class=\"netgrif-icon-fix\">vpn_key</mat-icon>\n <mat-form-field fxFlex=\"100\" appearance=\"outline\">\n <input matInput placeholder=\"{{ 'forms.forgottenPass.repeatNewPass' | translate }}\"\n [type]=\"hideRepeatPassword ? 'password' : 'text'\"\n formControlName=\"confirmPassword\" required autocomplete=\"new-password\">\n <button mat-icon-button matSuffix type=\"button\"\n (click)=\"hideRepeatPassword = !hideRepeatPassword\"\n (keypress)=\"false\"\n [attr.aria-label]=\"'Hide password'\"\n [attr.aria-pressed]=\"hideRepeatPassword\">\n <mat-icon\n [color]=\"hideRepeatPassword ? undefined : 'accent'\">{{hideRepeatPassword ? 'visibility_off' : 'visibility'}}</mat-icon>\n </button>\n <mat-error *ngIf=\"!isFieldValid('confirmPassword')\">{{getErrorMessage('confirmPassword')}}</mat-error>\n </mat-form-field>\n </div>\n <div fxLayout=\"row\" fxLayoutAlign=\"end\" fxLayoutAlign.xs=\"center\" class=\"margin-top-4\">\n <button fxFlexOffset=\"8px\" fxFlexOffset.xs=\"0\" mat-raised-button class=\"register-button\" color=\"primary\">\n <mat-spinner *ngIf=\"loadingSubmit | async\"\n mode=\"indeterminate\"\n diameter=\"36\"\n color=\"accent\"\n fxFlex></mat-spinner>\n <span *ngIf=\"(loadingSubmit | async) === false\"\n fxFlex>{{ 'forms.forgottenPass.recover' | translate }}</span>\n </button>\n </div>\n </form>\n</div>\n\n<div *ngIf=\"!tokenVerified && (loadingToken | async) === false\" fxLayout=\"column\" fxLayoutAlign=\"center center\" fxFlex>\n <mat-icon color=\"accent\">unpublished</mat-icon>\n <span class=\"font-size-20\">{{ 'forms.register.notVerified' | translate}}</span>\n</div>\n\n<div *ngIf=\"loadingToken | async\">\n <mat-progress-spinner></mat-progress-spinner>\n</div>\n", styles: [".font-size-20{font-size:20px}.margin-top-4{margin-top:4px}.full-width{width:100%}\n"], components: [{ type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i5.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i6.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: i7.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }], directives: [{ type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i9.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i9.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { 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.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { type: i9.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { type: i10.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.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i5.MatSuffix, selector: "[matSuffix]" }, { type: i5.MatError, selector: "mat-error", inputs: ["id"] }, { type: i9.DefaultFlexOffsetDirective, selector: " [fxFlexOffset], [fxFlexOffset.xs], [fxFlexOffset.sm], [fxFlexOffset.md], [fxFlexOffset.lg], [fxFlexOffset.xl], [fxFlexOffset.lt-sm], [fxFlexOffset.lt-md], [fxFlexOffset.lt-lg], [fxFlexOffset.lt-xl], [fxFlexOffset.gt-xs], [fxFlexOffset.gt-sm], [fxFlexOffset.gt-md], [fxFlexOffset.gt-lg]", inputs: ["fxFlexOffset", "fxFlexOffset.xs", "fxFlexOffset.sm", "fxFlexOffset.md", "fxFlexOffset.lg", "fxFlexOffset.xl", "fxFlexOffset.lt-sm", "fxFlexOffset.lt-md", "fxFlexOffset.lt-lg", "fxFlexOffset.lt-xl", "fxFlexOffset.gt-xs", "fxFlexOffset.gt-sm", "fxFlexOffset.gt-md", "fxFlexOffset.gt-lg"] }], pipes: { "async": i8.AsyncPipe, "translate": i3.TranslatePipe } });
19
+ ForgottenPasswordFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ForgottenPasswordFormComponent, deps: [{ token: i1.FormBuilder }, { token: i2.SignUpService }, { token: i2.LoggerService }, { token: i3.TranslateService }, { token: NAE_MIN_PASSWORD_LENGTH, optional: true }], target: i0.ɵɵFactoryTarget.Component });
20
+ ForgottenPasswordFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: ForgottenPasswordFormComponent, selector: "nc-forgotten-password-form", usesInheritance: true, ngImport: i0, template: "<div fxLayout=\"column\" fxLayoutGap=\"24px\" *ngIf=\"tokenVerified && (loadingToken | async) === false\">\n <form [formGroup]=\"rootFormGroup\" (ngSubmit)=\"onSubmit()\" class=\"full-width netgrif-input\">\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutGap=\"16px\">\n <mat-icon color=\"primary\" class=\"netgrif-icon-fix\">email</mat-icon>\n <mat-form-field fxFlex=\"100\" appearance=\"outline\">\n <mat-label>{{ 'forms.register.email' | translate}}</mat-label>\n <input matInput disabled [value]=\"userEmail\"\n autocomplete=\"username\">\n </mat-form-field>\n </div>\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutGap=\"16px\" class=\"netgrif-input\" >\n <mat-icon color=\"primary\" class=\"netgrif-icon-fix\">vpn_key</mat-icon>\n <mat-form-field fxFlex=\"100\" appearance=\"outline\">\n <mat-label>{{ 'forms.forgottenPass.enterNewPass' | translate }}</mat-label>\n <input matInput\n [type]=\"hidePassword ? 'password' : 'text'\"\n formControlName=\"password\" required autocomplete=\"new-password\">\n <button mat-icon-button matSuffix type=\"button\"\n (click)=\"hidePassword = !hidePassword\"\n (keypress)=\"false\"\n [attr.aria-label]=\"'Hide password'\"\n [attr.aria-pressed]=\"hidePassword\">\n <mat-icon\n [color]=\"hidePassword ? undefined : 'accent'\">{{hidePassword ? 'visibility_off' : 'visibility'}}</mat-icon>\n </button>\n <mat-error *ngIf=\"!isFieldValid('password')\">{{getErrorMessage('password')}}</mat-error>\n </mat-form-field>\n </div>\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutGap=\"16px\" class=\"netgrif-input\" >\n <mat-icon color=\"primary\" class=\"netgrif-icon-fix\">vpn_key</mat-icon>\n <mat-form-field fxFlex=\"100\" appearance=\"outline\">\n <mat-label>{{ 'forms.forgottenPass.repeatNewPass' | translate }}</mat-label>\n <input matInput\n [type]=\"hideRepeatPassword ? 'password' : 'text'\"\n formControlName=\"confirmPassword\" required autocomplete=\"new-password\">\n <button mat-icon-button matSuffix type=\"button\"\n (click)=\"hideRepeatPassword = !hideRepeatPassword\"\n (keypress)=\"false\"\n [attr.aria-label]=\"'Hide password'\"\n [attr.aria-pressed]=\"hideRepeatPassword\">\n <mat-icon\n [color]=\"hideRepeatPassword ? undefined : 'accent'\">{{hideRepeatPassword ? 'visibility_off' : 'visibility'}}</mat-icon>\n </button>\n <mat-error *ngIf=\"!isFieldValid('confirmPassword')\">{{getErrorMessage('confirmPassword')}}</mat-error>\n </mat-form-field>\n </div>\n <div fxLayout=\"row\" fxLayoutAlign=\"end\" fxLayoutAlign.xs=\"center\" class=\"margin-top-4\">\n <button fxFlexOffset=\"8px\" fxFlexOffset.xs=\"0\" mat-raised-button class=\"register-button\" color=\"primary\">\n <mat-spinner *ngIf=\"loadingSubmit | async\"\n mode=\"indeterminate\"\n diameter=\"36\"\n color=\"accent\"\n fxFlex></mat-spinner>\n <span *ngIf=\"(loadingSubmit | async) === false\"\n fxFlex>{{ 'forms.forgottenPass.recover' | translate }}</span>\n </button>\n </div>\n </form>\n</div>\n\n<div *ngIf=\"!tokenVerified && (loadingToken | async) === false\" fxLayout=\"column\" fxLayoutAlign=\"center center\" fxFlex>\n <mat-icon color=\"accent\">unpublished</mat-icon>\n <span class=\"font-size-20\">{{ 'forms.register.notVerified' | translate}}</span>\n</div>\n\n<div *ngIf=\"loadingToken | async\">\n <mat-progress-spinner></mat-progress-spinner>\n</div>\n", styles: [".font-size-20{font-size:20px}.margin-top-4{margin-top:4px}.full-width{width:100%}\n"], components: [{ type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i5.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i6.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: i7.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }], directives: [{ type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i9.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i9.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { 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.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { type: i9.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { type: i5.MatLabel, selector: "mat-label" }, { type: i10.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.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i5.MatSuffix, selector: "[matSuffix]" }, { type: i5.MatError, selector: "mat-error", inputs: ["id"] }, { type: i9.DefaultFlexOffsetDirective, selector: " [fxFlexOffset], [fxFlexOffset.xs], [fxFlexOffset.sm], [fxFlexOffset.md], [fxFlexOffset.lg], [fxFlexOffset.xl], [fxFlexOffset.lt-sm], [fxFlexOffset.lt-md], [fxFlexOffset.lt-lg], [fxFlexOffset.lt-xl], [fxFlexOffset.gt-xs], [fxFlexOffset.gt-sm], [fxFlexOffset.gt-md], [fxFlexOffset.gt-lg]", inputs: ["fxFlexOffset", "fxFlexOffset.xs", "fxFlexOffset.sm", "fxFlexOffset.md", "fxFlexOffset.lg", "fxFlexOffset.xl", "fxFlexOffset.lt-sm", "fxFlexOffset.lt-md", "fxFlexOffset.lt-lg", "fxFlexOffset.lt-xl", "fxFlexOffset.gt-xs", "fxFlexOffset.gt-sm", "fxFlexOffset.gt-md", "fxFlexOffset.gt-lg"] }], pipes: { "async": i8.AsyncPipe, "translate": i3.TranslatePipe } });
21
21
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ForgottenPasswordFormComponent, decorators: [{
22
22
  type: Component,
23
- args: [{ selector: 'nc-forgotten-password-form', template: "<div fxLayout=\"column\" fxLayoutGap=\"24px\" *ngIf=\"tokenVerified && (loadingToken | async) === false\">\n <form [formGroup]=\"rootFormGroup\" (ngSubmit)=\"onSubmit()\" class=\"full-width netgrif-input\">\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutGap=\"16px\">\n <mat-icon color=\"primary\" class=\"netgrif-icon-fix\">email</mat-icon>\n <mat-form-field fxFlex=\"100\" appearance=\"outline\">\n <input matInput placeholder=\"{{ 'forms.register.email' | translate}}\" disabled [value]=\"userEmail\"\n autocomplete=\"username\">\n </mat-form-field>\n </div>\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutGap=\"16px\" class=\"netgrif-input\" >\n <mat-icon color=\"primary\" class=\"netgrif-icon-fix\">vpn_key</mat-icon>\n <mat-form-field fxFlex=\"100\" appearance=\"outline\">\n <input matInput placeholder=\"{{ 'forms.forgottenPass.enterNewPass' | translate }}\"\n [type]=\"hidePassword ? 'password' : 'text'\"\n formControlName=\"password\" required autocomplete=\"new-password\">\n <button mat-icon-button matSuffix type=\"button\"\n (click)=\"hidePassword = !hidePassword\"\n (keypress)=\"false\"\n [attr.aria-label]=\"'Hide password'\"\n [attr.aria-pressed]=\"hidePassword\">\n <mat-icon\n [color]=\"hidePassword ? undefined : 'accent'\">{{hidePassword ? 'visibility_off' : 'visibility'}}</mat-icon>\n </button>\n <mat-error *ngIf=\"!isFieldValid('password')\">{{getErrorMessage('password')}}</mat-error>\n </mat-form-field>\n </div>\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutGap=\"16px\" class=\"netgrif-input\" >\n <mat-icon color=\"primary\" class=\"netgrif-icon-fix\">vpn_key</mat-icon>\n <mat-form-field fxFlex=\"100\" appearance=\"outline\">\n <input matInput placeholder=\"{{ 'forms.forgottenPass.repeatNewPass' | translate }}\"\n [type]=\"hideRepeatPassword ? 'password' : 'text'\"\n formControlName=\"confirmPassword\" required autocomplete=\"new-password\">\n <button mat-icon-button matSuffix type=\"button\"\n (click)=\"hideRepeatPassword = !hideRepeatPassword\"\n (keypress)=\"false\"\n [attr.aria-label]=\"'Hide password'\"\n [attr.aria-pressed]=\"hideRepeatPassword\">\n <mat-icon\n [color]=\"hideRepeatPassword ? undefined : 'accent'\">{{hideRepeatPassword ? 'visibility_off' : 'visibility'}}</mat-icon>\n </button>\n <mat-error *ngIf=\"!isFieldValid('confirmPassword')\">{{getErrorMessage('confirmPassword')}}</mat-error>\n </mat-form-field>\n </div>\n <div fxLayout=\"row\" fxLayoutAlign=\"end\" fxLayoutAlign.xs=\"center\" class=\"margin-top-4\">\n <button fxFlexOffset=\"8px\" fxFlexOffset.xs=\"0\" mat-raised-button class=\"register-button\" color=\"primary\">\n <mat-spinner *ngIf=\"loadingSubmit | async\"\n mode=\"indeterminate\"\n diameter=\"36\"\n color=\"accent\"\n fxFlex></mat-spinner>\n <span *ngIf=\"(loadingSubmit | async) === false\"\n fxFlex>{{ 'forms.forgottenPass.recover' | translate }}</span>\n </button>\n </div>\n </form>\n</div>\n\n<div *ngIf=\"!tokenVerified && (loadingToken | async) === false\" fxLayout=\"column\" fxLayoutAlign=\"center center\" fxFlex>\n <mat-icon color=\"accent\">unpublished</mat-icon>\n <span class=\"font-size-20\">{{ 'forms.register.notVerified' | translate}}</span>\n</div>\n\n<div *ngIf=\"loadingToken | async\">\n <mat-progress-spinner></mat-progress-spinner>\n</div>\n", styles: [".font-size-20{font-size:20px}.margin-top-4{margin-top:4px}.full-width{width:100%}\n"] }]
24
- }], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: i2.SignUpService }, { type: i2.LoggerService }, { type: i3.TranslateService }]; } });
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yZ290dGVuLXBhc3N3b3JkLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzL3NyYy9saWIvZm9ybXMvZm9yZ290dGVuLXBhc3N3b3JkL2ZvcmdvdHRlbi1wYXNzd29yZC1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy9zcmMvbGliL2Zvcm1zL2ZvcmdvdHRlbi1wYXNzd29yZC9mb3Jnb3R0ZW4tcGFzc3dvcmQtZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3hDLE9BQU8sRUFBQyxrQ0FBa0MsRUFBK0IsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7Ozs7Ozs7O0FBUzFHLE1BQU0sT0FBTyw4QkFBK0IsU0FBUSxrQ0FBa0M7SUFDbEYsWUFBWSxXQUF3QixFQUN4QixhQUE0QixFQUM1QixHQUFrQixFQUNsQixTQUEyQjtRQUNuQyxLQUFLLENBQUMsV0FBVyxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDdEQsQ0FBQzs7NEhBTlEsOEJBQThCO2dIQUE5Qiw4QkFBOEIseUZDVjNDLCtrSUFpRUE7NEZEdkRhLDhCQUE4QjtrQkFMMUMsU0FBUzsrQkFDSSw0QkFBNEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Fic3RyYWN0Rm9yZ290dGVuUGFzc3dvcmRDb21wb25lbnQsIExvZ2dlclNlcnZpY2UsIFNpZ25VcFNlcnZpY2V9IGZyb20gJ0BuZXRncmlmL2NvbXBvbmVudHMtY29yZSc7XG5pbXBvcnQge0Zvcm1CdWlsZGVyfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25jLWZvcmdvdHRlbi1wYXNzd29yZC1mb3JtJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZm9yZ290dGVuLXBhc3N3b3JkLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2ZvcmdvdHRlbi1wYXNzd29yZC1mb3JtLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRm9yZ290dGVuUGFzc3dvcmRGb3JtQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RGb3Jnb3R0ZW5QYXNzd29yZENvbXBvbmVudCB7XG4gICAgY29uc3RydWN0b3IoZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyLFxuICAgICAgICAgICAgICAgIHNpZ251cFNlcnZpY2U6IFNpZ25VcFNlcnZpY2UsXG4gICAgICAgICAgICAgICAgbG9nOiBMb2dnZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSkge1xuICAgICAgICBzdXBlcihmb3JtQnVpbGRlciwgc2lnbnVwU2VydmljZSwgbG9nLCB0cmFuc2xhdGUpO1xuICAgIH1cbn1cbiIsIjxkaXYgZnhMYXlvdXQ9XCJjb2x1bW5cIiBmeExheW91dEdhcD1cIjI0cHhcIiAqbmdJZj1cInRva2VuVmVyaWZpZWQgJiYgKGxvYWRpbmdUb2tlbiB8IGFzeW5jKSA9PT0gZmFsc2VcIj5cbiAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cInJvb3RGb3JtR3JvdXBcIiAobmdTdWJtaXQpPVwib25TdWJtaXQoKVwiIGNsYXNzPVwiZnVsbC13aWR0aCBuZXRncmlmLWlucHV0XCI+XG4gICAgICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiIGZ4TGF5b3V0R2FwPVwiMTZweFwiPlxuICAgICAgICAgICAgPG1hdC1pY29uIGNvbG9yPVwicHJpbWFyeVwiIGNsYXNzPVwibmV0Z3JpZi1pY29uLWZpeFwiPmVtYWlsPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg9XCIxMDBcIiBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBwbGFjZWhvbGRlcj1cInt7ICdmb3Jtcy5yZWdpc3Rlci5lbWFpbCcgfCB0cmFuc2xhdGV9fVwiIGRpc2FibGVkIFt2YWx1ZV09XCJ1c2VyRW1haWxcIlxuICAgICAgICAgICAgICAgICAgICAgICBhdXRvY29tcGxldGU9XCJ1c2VybmFtZVwiPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiIGZ4TGF5b3V0R2FwPVwiMTZweFwiIGNsYXNzPVwibmV0Z3JpZi1pbnB1dFwiID5cbiAgICAgICAgICAgIDxtYXQtaWNvbiBjb2xvcj1cInByaW1hcnlcIiBjbGFzcz1cIm5ldGdyaWYtaWNvbi1maXhcIj52cG5fa2V5PC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg9XCIxMDBcIiBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBwbGFjZWhvbGRlcj1cInt7ICdmb3Jtcy5mb3Jnb3R0ZW5QYXNzLmVudGVyTmV3UGFzcycgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgICAgICAgICAgICAgICBbdHlwZV09XCJoaWRlUGFzc3dvcmQgPyAncGFzc3dvcmQnIDogJ3RleHQnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwicGFzc3dvcmRcIiByZXF1aXJlZCBhdXRvY29tcGxldGU9XCJuZXctcGFzc3dvcmRcIj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBtYXRTdWZmaXggdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiaGlkZVBhc3N3b3JkID0gIWhpZGVQYXNzd29yZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoa2V5cHJlc3MpPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInSGlkZSBwYXNzd29yZCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1wcmVzc2VkXT1cImhpZGVQYXNzd29yZFwiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xvcl09XCJoaWRlUGFzc3dvcmQgPyB1bmRlZmluZWQgOiAnYWNjZW50J1wiPnt7aGlkZVBhc3N3b3JkID8gJ3Zpc2liaWxpdHlfb2ZmJyA6ICd2aXNpYmlsaXR5J319PC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwiIWlzRmllbGRWYWxpZCgncGFzc3dvcmQnKVwiPnt7Z2V0RXJyb3JNZXNzYWdlKCdwYXNzd29yZCcpfX08L21hdC1lcnJvcj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIiBmeExheW91dEdhcD1cIjE2cHhcIiBjbGFzcz1cIm5ldGdyaWYtaW5wdXRcIiA+XG4gICAgICAgICAgICA8bWF0LWljb24gY29sb3I9XCJwcmltYXJ5XCIgY2xhc3M9XCJuZXRncmlmLWljb24tZml4XCI+dnBuX2tleTwvbWF0LWljb24+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PVwiMTAwXCIgYXBwZWFyYW5jZT1cIm91dGxpbmVcIj5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgcGxhY2Vob2xkZXI9XCJ7eyAnZm9ybXMuZm9yZ290dGVuUGFzcy5yZXBlYXROZXdQYXNzJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgICAgICAgICAgICAgIFt0eXBlXT1cImhpZGVSZXBlYXRQYXNzd29yZCA/ICdwYXNzd29yZCcgOiAndGV4dCdcIlxuICAgICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJjb25maXJtUGFzc3dvcmRcIiByZXF1aXJlZCBhdXRvY29tcGxldGU9XCJuZXctcGFzc3dvcmRcIj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBtYXRTdWZmaXggdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiaGlkZVJlcGVhdFBhc3N3b3JkID0gIWhpZGVSZXBlYXRQYXNzd29yZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoa2V5cHJlc3MpPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInSGlkZSBwYXNzd29yZCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1wcmVzc2VkXT1cImhpZGVSZXBlYXRQYXNzd29yZFwiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xvcl09XCJoaWRlUmVwZWF0UGFzc3dvcmQgPyB1bmRlZmluZWQgOiAnYWNjZW50J1wiPnt7aGlkZVJlcGVhdFBhc3N3b3JkID8gJ3Zpc2liaWxpdHlfb2ZmJyA6ICd2aXNpYmlsaXR5J319PC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwiIWlzRmllbGRWYWxpZCgnY29uZmlybVBhc3N3b3JkJylcIj57e2dldEVycm9yTWVzc2FnZSgnY29uZmlybVBhc3N3b3JkJyl9fTwvbWF0LWVycm9yPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwiZW5kXCIgZnhMYXlvdXRBbGlnbi54cz1cImNlbnRlclwiIGNsYXNzPVwibWFyZ2luLXRvcC00XCI+XG4gICAgICAgICAgICA8YnV0dG9uIGZ4RmxleE9mZnNldD1cIjhweFwiIGZ4RmxleE9mZnNldC54cz1cIjBcIiBtYXQtcmFpc2VkLWJ1dHRvbiBjbGFzcz1cInJlZ2lzdGVyLWJ1dHRvblwiIGNvbG9yPVwicHJpbWFyeVwiPlxuICAgICAgICAgICAgICAgIDxtYXQtc3Bpbm5lciAqbmdJZj1cImxvYWRpbmdTdWJtaXQgfCBhc3luY1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGU9XCJpbmRldGVybWluYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlhbWV0ZXI9XCIzNlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPVwiYWNjZW50XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnhGbGV4PjwvbWF0LXNwaW5uZXI+XG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIobG9hZGluZ1N1Ym1pdCB8IGFzeW5jKSA9PT0gZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgIGZ4RmxleD57eyAnZm9ybXMuZm9yZ290dGVuUGFzcy5yZWNvdmVyJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Zvcm0+XG48L2Rpdj5cblxuPGRpdiAqbmdJZj1cIiF0b2tlblZlcmlmaWVkICYmIChsb2FkaW5nVG9rZW4gfCBhc3luYykgPT09IGZhbHNlXCIgZnhMYXlvdXQ9XCJjb2x1bW5cIiBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiIGZ4RmxleD5cbiAgICA8bWF0LWljb24gY29sb3I9XCJhY2NlbnRcIj51bnB1Ymxpc2hlZDwvbWF0LWljb24+XG4gICAgPHNwYW4gY2xhc3M9XCJmb250LXNpemUtMjBcIj57eyAnZm9ybXMucmVnaXN0ZXIubm90VmVyaWZpZWQnIHwgdHJhbnNsYXRlfX08L3NwYW4+XG48L2Rpdj5cblxuPGRpdiAqbmdJZj1cImxvYWRpbmdUb2tlbiB8IGFzeW5jXCI+XG4gICAgPG1hdC1wcm9ncmVzcy1zcGlubmVyPjwvbWF0LXByb2dyZXNzLXNwaW5uZXI+XG48L2Rpdj5cbiJdfQ==
23
+ args: [{ selector: 'nc-forgotten-password-form', template: "<div fxLayout=\"column\" fxLayoutGap=\"24px\" *ngIf=\"tokenVerified && (loadingToken | async) === false\">\n <form [formGroup]=\"rootFormGroup\" (ngSubmit)=\"onSubmit()\" class=\"full-width netgrif-input\">\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutGap=\"16px\">\n <mat-icon color=\"primary\" class=\"netgrif-icon-fix\">email</mat-icon>\n <mat-form-field fxFlex=\"100\" appearance=\"outline\">\n <mat-label>{{ 'forms.register.email' | translate}}</mat-label>\n <input matInput disabled [value]=\"userEmail\"\n autocomplete=\"username\">\n </mat-form-field>\n </div>\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutGap=\"16px\" class=\"netgrif-input\" >\n <mat-icon color=\"primary\" class=\"netgrif-icon-fix\">vpn_key</mat-icon>\n <mat-form-field fxFlex=\"100\" appearance=\"outline\">\n <mat-label>{{ 'forms.forgottenPass.enterNewPass' | translate }}</mat-label>\n <input matInput\n [type]=\"hidePassword ? 'password' : 'text'\"\n formControlName=\"password\" required autocomplete=\"new-password\">\n <button mat-icon-button matSuffix type=\"button\"\n (click)=\"hidePassword = !hidePassword\"\n (keypress)=\"false\"\n [attr.aria-label]=\"'Hide password'\"\n [attr.aria-pressed]=\"hidePassword\">\n <mat-icon\n [color]=\"hidePassword ? undefined : 'accent'\">{{hidePassword ? 'visibility_off' : 'visibility'}}</mat-icon>\n </button>\n <mat-error *ngIf=\"!isFieldValid('password')\">{{getErrorMessage('password')}}</mat-error>\n </mat-form-field>\n </div>\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutGap=\"16px\" class=\"netgrif-input\" >\n <mat-icon color=\"primary\" class=\"netgrif-icon-fix\">vpn_key</mat-icon>\n <mat-form-field fxFlex=\"100\" appearance=\"outline\">\n <mat-label>{{ 'forms.forgottenPass.repeatNewPass' | translate }}</mat-label>\n <input matInput\n [type]=\"hideRepeatPassword ? 'password' : 'text'\"\n formControlName=\"confirmPassword\" required autocomplete=\"new-password\">\n <button mat-icon-button matSuffix type=\"button\"\n (click)=\"hideRepeatPassword = !hideRepeatPassword\"\n (keypress)=\"false\"\n [attr.aria-label]=\"'Hide password'\"\n [attr.aria-pressed]=\"hideRepeatPassword\">\n <mat-icon\n [color]=\"hideRepeatPassword ? undefined : 'accent'\">{{hideRepeatPassword ? 'visibility_off' : 'visibility'}}</mat-icon>\n </button>\n <mat-error *ngIf=\"!isFieldValid('confirmPassword')\">{{getErrorMessage('confirmPassword')}}</mat-error>\n </mat-form-field>\n </div>\n <div fxLayout=\"row\" fxLayoutAlign=\"end\" fxLayoutAlign.xs=\"center\" class=\"margin-top-4\">\n <button fxFlexOffset=\"8px\" fxFlexOffset.xs=\"0\" mat-raised-button class=\"register-button\" color=\"primary\">\n <mat-spinner *ngIf=\"loadingSubmit | async\"\n mode=\"indeterminate\"\n diameter=\"36\"\n color=\"accent\"\n fxFlex></mat-spinner>\n <span *ngIf=\"(loadingSubmit | async) === false\"\n fxFlex>{{ 'forms.forgottenPass.recover' | translate }}</span>\n </button>\n </div>\n </form>\n</div>\n\n<div *ngIf=\"!tokenVerified && (loadingToken | async) === false\" fxLayout=\"column\" fxLayoutAlign=\"center center\" fxFlex>\n <mat-icon color=\"accent\">unpublished</mat-icon>\n <span class=\"font-size-20\">{{ 'forms.register.notVerified' | translate}}</span>\n</div>\n\n<div *ngIf=\"loadingToken | async\">\n <mat-progress-spinner></mat-progress-spinner>\n</div>\n", styles: [".font-size-20{font-size:20px}.margin-top-4{margin-top:4px}.full-width{width:100%}\n"] }]
24
+ }], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: i2.SignUpService }, { type: i2.LoggerService }, { type: i3.TranslateService }, { type: undefined, decorators: [{
25
+ type: Optional
26
+ }, {
27
+ type: Inject,
28
+ args: [NAE_MIN_PASSWORD_LENGTH]
29
+ }] }]; } });
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yZ290dGVuLXBhc3N3b3JkLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzL3NyYy9saWIvZm9ybXMvZm9yZ290dGVuLXBhc3N3b3JkL2ZvcmdvdHRlbi1wYXNzd29yZC1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy9zcmMvbGliL2Zvcm1zL2ZvcmdvdHRlbi1wYXNzd29yZC9mb3Jnb3R0ZW4tcGFzc3dvcmQtZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFDLGtDQUFrQyxFQUFnQyx1QkFBdUIsRUFBQyxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7Ozs7Ozs7QUFTbkksTUFBTSxPQUFPLDhCQUErQixTQUFRLGtDQUFrQztJQUNsRixZQUFZLFdBQXdCLEVBQ3hCLGFBQTRCLEVBQzVCLEdBQWtCLEVBQ2xCLFNBQTJCLEVBQ2tCLGlCQUFpQjtRQUN0RSxLQUFLLENBQUMsV0FBVyxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixDQUFDLENBQUM7SUFDekUsQ0FBQzs7NEhBUFEsOEJBQThCLHVJQUtQLHVCQUF1QjtnSEFMOUMsOEJBQThCLHlGQ1YzQyx1cElBb0VBOzRGRDFEYSw4QkFBOEI7a0JBTDFDLFNBQVM7K0JBQ0ksNEJBQTRCOzswQkFTekIsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5qZWN0LCBPcHRpb25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Fic3RyYWN0Rm9yZ290dGVuUGFzc3dvcmRDb21wb25lbnQsIExvZ2dlclNlcnZpY2UsIFNpZ25VcFNlcnZpY2UsIE5BRV9NSU5fUEFTU1dPUkRfTEVOR1RIfSBmcm9tICdAbmV0Z3JpZi9jb21wb25lbnRzLWNvcmUnO1xuaW1wb3J0IHtGb3JtQnVpbGRlcn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduYy1mb3Jnb3R0ZW4tcGFzc3dvcmQtZm9ybScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ZvcmdvdHRlbi1wYXNzd29yZC1mb3JtLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9mb3Jnb3R0ZW4tcGFzc3dvcmQtZm9ybS5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEZvcmdvdHRlblBhc3N3b3JkRm9ybUNvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0Rm9yZ290dGVuUGFzc3dvcmRDb21wb25lbnQge1xuICAgIGNvbnN0cnVjdG9yKGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlcixcbiAgICAgICAgICAgICAgICBzaWdudXBTZXJ2aWNlOiBTaWduVXBTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIGxvZzogTG9nZ2VyU2VydmljZSxcbiAgICAgICAgICAgICAgICB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChOQUVfTUlOX1BBU1NXT1JEX0xFTkdUSCkgbWluUGFzc3dvcmRMZW5ndGgpIHtcbiAgICAgICAgc3VwZXIoZm9ybUJ1aWxkZXIsIHNpZ251cFNlcnZpY2UsIGxvZywgdHJhbnNsYXRlLCBtaW5QYXNzd29yZExlbmd0aCk7XG4gICAgfVxufVxuIiwiPGRpdiBmeExheW91dD1cImNvbHVtblwiIGZ4TGF5b3V0R2FwPVwiMjRweFwiICpuZ0lmPVwidG9rZW5WZXJpZmllZCAmJiAobG9hZGluZ1Rva2VuIHwgYXN5bmMpID09PSBmYWxzZVwiPlxuICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwicm9vdEZvcm1Hcm91cFwiIChuZ1N1Ym1pdCk9XCJvblN1Ym1pdCgpXCIgY2xhc3M9XCJmdWxsLXdpZHRoIG5ldGdyaWYtaW5wdXRcIj5cbiAgICAgICAgPGRpdiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCIgZnhMYXlvdXRHYXA9XCIxNnB4XCI+XG4gICAgICAgICAgICA8bWF0LWljb24gY29sb3I9XCJwcmltYXJ5XCIgY2xhc3M9XCJuZXRncmlmLWljb24tZml4XCI+ZW1haWw8L21hdC1pY29uPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD1cIjEwMFwiIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1sYWJlbD57eyAnZm9ybXMucmVnaXN0ZXIuZW1haWwnIHwgdHJhbnNsYXRlfX08L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZGlzYWJsZWQgW3ZhbHVlXT1cInVzZXJFbWFpbFwiXG4gICAgICAgICAgICAgICAgICAgICAgIGF1dG9jb21wbGV0ZT1cInVzZXJuYW1lXCI+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCIgZnhMYXlvdXRHYXA9XCIxNnB4XCIgY2xhc3M9XCJuZXRncmlmLWlucHV0XCIgPlxuICAgICAgICAgICAgPG1hdC1pY29uIGNvbG9yPVwicHJpbWFyeVwiIGNsYXNzPVwibmV0Z3JpZi1pY29uLWZpeFwiPnZwbl9rZXk8L21hdC1pY29uPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD1cIjEwMFwiIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1sYWJlbD57eyAnZm9ybXMuZm9yZ290dGVuUGFzcy5lbnRlck5ld1Bhc3MnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0XG4gICAgICAgICAgICAgICAgICAgICAgIFt0eXBlXT1cImhpZGVQYXNzd29yZCA/ICdwYXNzd29yZCcgOiAndGV4dCdcIlxuICAgICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJwYXNzd29yZFwiIHJlcXVpcmVkIGF1dG9jb21wbGV0ZT1cIm5ldy1wYXNzd29yZFwiPlxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIG1hdFN1ZmZpeCB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJoaWRlUGFzc3dvcmQgPSAhaGlkZVBhc3N3b3JkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChrZXlwcmVzcyk9XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidIaWRlIHBhc3N3b3JkJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLXByZXNzZWRdPVwiaGlkZVBhc3N3b3JkXCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvblxuICAgICAgICAgICAgICAgICAgICAgICAgW2NvbG9yXT1cImhpZGVQYXNzd29yZCA/IHVuZGVmaW5lZCA6ICdhY2NlbnQnXCI+e3toaWRlUGFzc3dvcmQgPyAndmlzaWJpbGl0eV9vZmYnIDogJ3Zpc2liaWxpdHknfX08L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCIhaXNGaWVsZFZhbGlkKCdwYXNzd29yZCcpXCI+e3tnZXRFcnJvck1lc3NhZ2UoJ3Bhc3N3b3JkJyl9fTwvbWF0LWVycm9yPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiIGZ4TGF5b3V0R2FwPVwiMTZweFwiIGNsYXNzPVwibmV0Z3JpZi1pbnB1dFwiID5cbiAgICAgICAgICAgIDxtYXQtaWNvbiBjb2xvcj1cInByaW1hcnlcIiBjbGFzcz1cIm5ldGdyaWYtaWNvbi1maXhcIj52cG5fa2V5PC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg9XCIxMDBcIiBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+e3sgJ2Zvcm1zLmZvcmdvdHRlblBhc3MucmVwZWF0TmV3UGFzcycgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgW3R5cGVdPVwiaGlkZVJlcGVhdFBhc3N3b3JkID8gJ3Bhc3N3b3JkJyA6ICd0ZXh0J1wiXG4gICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImNvbmZpcm1QYXNzd29yZFwiIHJlcXVpcmVkIGF1dG9jb21wbGV0ZT1cIm5ldy1wYXNzd29yZFwiPlxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIG1hdFN1ZmZpeCB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJoaWRlUmVwZWF0UGFzc3dvcmQgPSAhaGlkZVJlcGVhdFBhc3N3b3JkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChrZXlwcmVzcyk9XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidIaWRlIHBhc3N3b3JkJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLXByZXNzZWRdPVwiaGlkZVJlcGVhdFBhc3N3b3JkXCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvblxuICAgICAgICAgICAgICAgICAgICAgICAgW2NvbG9yXT1cImhpZGVSZXBlYXRQYXNzd29yZCA/IHVuZGVmaW5lZCA6ICdhY2NlbnQnXCI+e3toaWRlUmVwZWF0UGFzc3dvcmQgPyAndmlzaWJpbGl0eV9vZmYnIDogJ3Zpc2liaWxpdHknfX08L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCIhaXNGaWVsZFZhbGlkKCdjb25maXJtUGFzc3dvcmQnKVwiPnt7Z2V0RXJyb3JNZXNzYWdlKCdjb25maXJtUGFzc3dvcmQnKX19PC9tYXQtZXJyb3I+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCJlbmRcIiBmeExheW91dEFsaWduLnhzPVwiY2VudGVyXCIgY2xhc3M9XCJtYXJnaW4tdG9wLTRcIj5cbiAgICAgICAgICAgIDxidXR0b24gZnhGbGV4T2Zmc2V0PVwiOHB4XCIgZnhGbGV4T2Zmc2V0LnhzPVwiMFwiIG1hdC1yYWlzZWQtYnV0dG9uIGNsYXNzPVwicmVnaXN0ZXItYnV0dG9uXCIgY29sb3I9XCJwcmltYXJ5XCI+XG4gICAgICAgICAgICAgICAgPG1hdC1zcGlubmVyICpuZ0lmPVwibG9hZGluZ1N1Ym1pdCB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kZT1cImluZGV0ZXJtaW5hdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWFtZXRlcj1cIjM2XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I9XCJhY2NlbnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmeEZsZXg+PC9tYXQtc3Bpbm5lcj5cbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIihsb2FkaW5nU3VibWl0IHwgYXN5bmMpID09PSBmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgZnhGbGV4Pnt7ICdmb3Jtcy5mb3Jnb3R0ZW5QYXNzLnJlY292ZXInIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZm9ybT5cbjwvZGl2PlxuXG48ZGl2ICpuZ0lmPVwiIXRva2VuVmVyaWZpZWQgJiYgKGxvYWRpbmdUb2tlbiB8IGFzeW5jKSA9PT0gZmFsc2VcIiBmeExheW91dD1cImNvbHVtblwiIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCIgZnhGbGV4PlxuICAgIDxtYXQtaWNvbiBjb2xvcj1cImFjY2VudFwiPnVucHVibGlzaGVkPC9tYXQtaWNvbj5cbiAgICA8c3BhbiBjbGFzcz1cImZvbnQtc2l6ZS0yMFwiPnt7ICdmb3Jtcy5yZWdpc3Rlci5ub3RWZXJpZmllZCcgfCB0cmFuc2xhdGV9fTwvc3Bhbj5cbjwvZGl2PlxuXG48ZGl2ICpuZ0lmPVwibG9hZGluZ1Rva2VuIHwgYXN5bmNcIj5cbiAgICA8bWF0LXByb2dyZXNzLXNwaW5uZXI+PC9tYXQtcHJvZ3Jlc3Mtc3Bpbm5lcj5cbjwvZGl2PlxuIl19