@testgorilla/tgo-ui 0.0.17 → 0.0.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -0
- package/components/{register/register.component.d.ts → create-account/create-account.component.d.ts} +5 -5
- package/components/create-account/create-account.component.module.d.ts +13 -0
- package/components/{register/register.model.d.ts → create-account/create-account.model.d.ts} +1 -1
- package/components/create-password/create-password.component.d.ts +36 -0
- package/components/create-password/create-password.component.module.d.ts +12 -0
- package/components/create-password/create-password.model.d.ts +3 -0
- package/components/forgot-password/forgot-password.component.d.ts +41 -0
- package/components/forgot-password/forgot-password.component.module.d.ts +12 -0
- package/components/forgot-password/forgot-password.model.d.ts +3 -0
- package/esm2020/components/create-account/create-account.component.mjs +91 -0
- package/esm2020/components/create-account/create-account.component.module.mjs +46 -0
- package/esm2020/components/create-account/create-account.model.mjs +2 -0
- package/esm2020/components/create-password/create-password.component.mjs +73 -0
- package/esm2020/components/create-password/create-password.component.module.mjs +42 -0
- package/esm2020/components/create-password/create-password.model.mjs +2 -0
- package/esm2020/components/forgot-password/forgot-password.component.mjs +75 -0
- package/esm2020/components/forgot-password/forgot-password.component.module.mjs +23 -0
- package/esm2020/components/forgot-password/forgot-password.model.mjs +2 -0
- package/esm2020/public-api.mjs +27 -20
- package/fesm2015/testgorilla-tgo-ui.mjs +381 -196
- package/fesm2015/testgorilla-tgo-ui.mjs.map +1 -1
- package/fesm2020/testgorilla-tgo-ui.mjs +378 -195
- package/fesm2020/testgorilla-tgo-ui.mjs.map +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +10 -6
- package/components/register/register.component.module.d.ts +0 -13
- package/esm2020/components/register/register.component.mjs +0 -91
- package/esm2020/components/register/register.component.module.mjs +0 -46
- package/esm2020/components/register/register.model.mjs +0 -2
package/README.md
CHANGED
|
@@ -1,11 +1,20 @@
|
|
|
1
1
|
# TestGorilla UI Library
|
|
2
2
|
|
|
3
3
|
# Components
|
|
4
|
+
* Banner
|
|
5
|
+
* Banner Action
|
|
4
6
|
* Button
|
|
7
|
+
* Card
|
|
8
|
+
* Create Password
|
|
5
9
|
* Field
|
|
10
|
+
* Forgot Password
|
|
6
11
|
* Login
|
|
12
|
+
* Logo
|
|
7
13
|
* NavBar
|
|
14
|
+
* Navigation
|
|
8
15
|
* Paginator
|
|
16
|
+
* Create Account
|
|
17
|
+
* Status
|
|
9
18
|
* Table
|
|
10
19
|
|
|
11
20
|
## Storybook Development Server
|
package/components/{register/register.component.d.ts → create-account/create-account.component.d.ts}
RENAMED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { EventEmitter, OnInit } from '@angular/core';
|
|
2
2
|
import { FormBuilder } from '@angular/forms';
|
|
3
|
-
import {
|
|
3
|
+
import { CreateAccountCredentials } from './create-account.model';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
|
-
export declare class
|
|
5
|
+
export declare class CreateAccountComponent implements OnInit {
|
|
6
6
|
private fb;
|
|
7
7
|
/**
|
|
8
8
|
* @ignore
|
|
@@ -24,7 +24,7 @@ export declare class RegisterComponent implements OnInit {
|
|
|
24
24
|
/**
|
|
25
25
|
* @ignore
|
|
26
26
|
*/
|
|
27
|
-
submitEvent: EventEmitter<
|
|
27
|
+
submitEvent: EventEmitter<CreateAccountCredentials>;
|
|
28
28
|
/**
|
|
29
29
|
* @ignore
|
|
30
30
|
*/
|
|
@@ -37,6 +37,6 @@ export declare class RegisterComponent implements OnInit {
|
|
|
37
37
|
submit(): void;
|
|
38
38
|
login(): void;
|
|
39
39
|
checkErrors(field: string): void;
|
|
40
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<
|
|
41
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<
|
|
40
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CreateAccountComponent, never>;
|
|
41
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<CreateAccountComponent, "ui-create-account", never, { "formErrors": "formErrors"; "loading": "loading"; }, { "submitEvent": "submitEvent"; "loginEvent": "loginEvent"; }, never, never>;
|
|
42
42
|
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import * as i1 from "./create-account.component";
|
|
3
|
+
import * as i2 from "@angular/common";
|
|
4
|
+
import * as i3 from "@angular/forms";
|
|
5
|
+
import * as i4 from "../field/field.component.module";
|
|
6
|
+
import * as i5 from "../button/button.component.module";
|
|
7
|
+
import * as i6 from "@angular/material/checkbox";
|
|
8
|
+
import * as i7 from "@angular-material-extensions/password-strength";
|
|
9
|
+
export declare class CreateAccountComponentModule {
|
|
10
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CreateAccountComponentModule, never>;
|
|
11
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<CreateAccountComponentModule, [typeof i1.CreateAccountComponent], [typeof i2.CommonModule, typeof i3.FormsModule, typeof i3.ReactiveFormsModule, typeof i4.FieldComponentModule, typeof i5.ButtonComponentModule, typeof i6.MatCheckboxModule, typeof i7.MatPasswordStrengthModule], [typeof i1.CreateAccountComponent]>;
|
|
12
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<CreateAccountComponentModule>;
|
|
13
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { EventEmitter, OnInit } from '@angular/core';
|
|
2
|
+
import { FormBuilder } from '@angular/forms';
|
|
3
|
+
import { CreatePasswordCredentials } from './create-password.model';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class CreatePasswordComponent implements OnInit {
|
|
6
|
+
private fb;
|
|
7
|
+
/**
|
|
8
|
+
* @ignore
|
|
9
|
+
*/
|
|
10
|
+
createPasswordForm: import("@angular/forms").FormGroup;
|
|
11
|
+
/**
|
|
12
|
+
* @ignore
|
|
13
|
+
*/
|
|
14
|
+
formErrors: {
|
|
15
|
+
password: string[];
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Indicator if the form is loading
|
|
19
|
+
*
|
|
20
|
+
* @memberof ButtonComponent
|
|
21
|
+
*/
|
|
22
|
+
loading: boolean;
|
|
23
|
+
/**
|
|
24
|
+
* @ignore
|
|
25
|
+
*/
|
|
26
|
+
submitEvent: EventEmitter<CreatePasswordCredentials>;
|
|
27
|
+
/**
|
|
28
|
+
* @ignore
|
|
29
|
+
*/
|
|
30
|
+
ngOnInit(): void;
|
|
31
|
+
constructor(fb: FormBuilder);
|
|
32
|
+
submit(): void;
|
|
33
|
+
checkErrors(field: string): void;
|
|
34
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CreatePasswordComponent, never>;
|
|
35
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<CreatePasswordComponent, "ui-create-password", never, { "formErrors": "formErrors"; "loading": "loading"; }, { "submitEvent": "submitEvent"; }, never, never>;
|
|
36
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import * as i1 from "./create-password.component";
|
|
3
|
+
import * as i2 from "@angular/common";
|
|
4
|
+
import * as i3 from "@angular/forms";
|
|
5
|
+
import * as i4 from "../field/field.component.module";
|
|
6
|
+
import * as i5 from "../button/button.component.module";
|
|
7
|
+
import * as i6 from "@angular-material-extensions/password-strength";
|
|
8
|
+
export declare class CreatePasswordComponentModule {
|
|
9
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CreatePasswordComponentModule, never>;
|
|
10
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<CreatePasswordComponentModule, [typeof i1.CreatePasswordComponent], [typeof i2.CommonModule, typeof i3.FormsModule, typeof i3.ReactiveFormsModule, typeof i4.FieldComponentModule, typeof i5.ButtonComponentModule, typeof i6.MatPasswordStrengthModule], [typeof i1.CreatePasswordComponent]>;
|
|
11
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<CreatePasswordComponentModule>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { EventEmitter, OnInit } from '@angular/core';
|
|
2
|
+
import { FormBuilder } from '@angular/forms';
|
|
3
|
+
import { ForgotPasswordCredentials } from './forgot-password.model';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class ForgotPasswordComponent implements OnInit {
|
|
6
|
+
private fb;
|
|
7
|
+
/**
|
|
8
|
+
* @ignore
|
|
9
|
+
*/
|
|
10
|
+
forgotPasswordForm: import("@angular/forms").FormGroup;
|
|
11
|
+
/**
|
|
12
|
+
* @ignore
|
|
13
|
+
*/
|
|
14
|
+
formErrors: {
|
|
15
|
+
email: string[];
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Indicator if the form is loading
|
|
19
|
+
*
|
|
20
|
+
* @memberof ButtonComponent
|
|
21
|
+
*/
|
|
22
|
+
loading: boolean;
|
|
23
|
+
/**
|
|
24
|
+
* @ignore
|
|
25
|
+
*/
|
|
26
|
+
submitEvent: EventEmitter<ForgotPasswordCredentials>;
|
|
27
|
+
/**
|
|
28
|
+
* @ignore
|
|
29
|
+
*/
|
|
30
|
+
backToLoginEvent: EventEmitter<void>;
|
|
31
|
+
/**
|
|
32
|
+
* @ignore
|
|
33
|
+
*/
|
|
34
|
+
ngOnInit(): void;
|
|
35
|
+
constructor(fb: FormBuilder);
|
|
36
|
+
submit(): void;
|
|
37
|
+
backToLogin(): void;
|
|
38
|
+
checkErrors(field: string): void;
|
|
39
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ForgotPasswordComponent, never>;
|
|
40
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ForgotPasswordComponent, "ui-forgot-password", never, { "formErrors": "formErrors"; "loading": "loading"; }, { "submitEvent": "submitEvent"; "backToLoginEvent": "backToLoginEvent"; }, never, never>;
|
|
41
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import * as i1 from "./forgot-password.component";
|
|
3
|
+
import * as i2 from "@angular/common";
|
|
4
|
+
import * as i3 from "@angular/forms";
|
|
5
|
+
import * as i4 from "../field/field.component.module";
|
|
6
|
+
import * as i5 from "../button/button.component.module";
|
|
7
|
+
import * as i6 from "@angular/material/icon";
|
|
8
|
+
export declare class ForgotPasswordComponentModule {
|
|
9
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ForgotPasswordComponentModule, never>;
|
|
10
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<ForgotPasswordComponentModule, [typeof i1.ForgotPasswordComponent], [typeof i2.CommonModule, typeof i3.FormsModule, typeof i3.ReactiveFormsModule, typeof i4.FieldComponentModule, typeof i5.ButtonComponentModule, typeof i6.MatIconModule], [typeof i1.ForgotPasswordComponent]>;
|
|
11
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<ForgotPasswordComponentModule>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewEncapsulation, } from '@angular/core';
|
|
2
|
+
import { Validators } from '@angular/forms';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/forms";
|
|
5
|
+
import * as i2 from "../field/field.component";
|
|
6
|
+
import * as i3 from "@angular-material-extensions/password-strength";
|
|
7
|
+
import * as i4 from "@angular/material/checkbox";
|
|
8
|
+
import * as i5 from "../button/button.component";
|
|
9
|
+
export class CreateAccountComponent {
|
|
10
|
+
constructor(fb) {
|
|
11
|
+
this.fb = fb;
|
|
12
|
+
// TODO: Some properties and methods are ignored on purpose because of a current issue with compodoc and angular 13
|
|
13
|
+
// https://github.com/storybookjs/storybook/issues/16865
|
|
14
|
+
// https://github.com/storybookjs/storybook/issues/17004
|
|
15
|
+
/**
|
|
16
|
+
* @ignore
|
|
17
|
+
*/
|
|
18
|
+
this.registerForm = this.fb.group({
|
|
19
|
+
username: ['', [Validators.required, Validators.email]],
|
|
20
|
+
password: [
|
|
21
|
+
'',
|
|
22
|
+
[
|
|
23
|
+
Validators.required,
|
|
24
|
+
Validators.minLength(12),
|
|
25
|
+
Validators.pattern(/^(?=\D*\d)(?=[^a-z]*[a-z])(?=.*[#$%&'()*+,-./:;<=>?@])(?=[^A-Z]*[A-Z]).{12,}$/),
|
|
26
|
+
],
|
|
27
|
+
],
|
|
28
|
+
agree_terms_and_conditions: [false, [Validators.requiredTrue]],
|
|
29
|
+
});
|
|
30
|
+
/**
|
|
31
|
+
* @ignore
|
|
32
|
+
*/
|
|
33
|
+
this.formErrors = {
|
|
34
|
+
username: [''],
|
|
35
|
+
password: [''],
|
|
36
|
+
};
|
|
37
|
+
/**
|
|
38
|
+
* @ignore
|
|
39
|
+
*/
|
|
40
|
+
this.submitEvent = new EventEmitter();
|
|
41
|
+
/**
|
|
42
|
+
* @ignore
|
|
43
|
+
*/
|
|
44
|
+
this.loginEvent = new EventEmitter();
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* @ignore
|
|
48
|
+
*/
|
|
49
|
+
ngOnInit() { }
|
|
50
|
+
submit() {
|
|
51
|
+
this.submitEvent.emit({
|
|
52
|
+
username: this.registerForm.get('username')?.value,
|
|
53
|
+
password: this.registerForm.get('password')?.value,
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
login() {
|
|
57
|
+
this.loginEvent.emit();
|
|
58
|
+
}
|
|
59
|
+
checkErrors(field) {
|
|
60
|
+
if (this.registerForm.controls[field].touched) {
|
|
61
|
+
if (this.registerForm.controls[field].hasError('required')) {
|
|
62
|
+
this.formErrors[field][0] = 'This field is required';
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
if (this.registerForm.controls[field].hasError('email')) {
|
|
66
|
+
this.formErrors[field][0] = 'Enter a valid email';
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
if (field === 'password' && this.registerForm.controls[field].hasError('pattern')) {
|
|
70
|
+
this.formErrors.password[0] = 'Password is invalid';
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
this.formErrors[field][0] = '';
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
CreateAccountComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CreateAccountComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
|
|
78
|
+
CreateAccountComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: CreateAccountComponent, selector: "ui-create-account", inputs: { formErrors: "formErrors", loading: "loading" }, outputs: { submitEvent: "submitEvent", loginEvent: "loginEvent" }, ngImport: i0, template: "<div class=\"form-box\">\n <img class=\"logo\" src=\"/images/testgorilla.svg\">\n <div class=\"title\">Create your Career Passport</div>\n <div class=\"subtitle\">Enter the email address to which you received an assessment invite.</div>\n <form [formGroup]=\"registerForm\">\n <div class=\"field\">\n <ui-field formControlName=\"username\" [placeholder]=\"'Email'\" [type]=\"'email'\" [required]=\"true\" [error]=\"formErrors.username[0]\" (ngModelChange)=\"checkErrors('username')\"></ui-field>\n </div>\n <div class=\"field\">\n <ui-field formControlName=\"password\" [placeholder]=\"'Password'\" [type]=\"'password'\" [required]=\"true\" [error]=\"formErrors.password[0]\" (ngModelChange)=\"checkErrors('password')\"></ui-field>\n <mat-password-strength\n [min]=\"12\"\n #passwordComponentWithValidation\n [password]=\"registerForm.controls['password'].value\"\n >\n </mat-password-strength>\n <mat-password-strength-info [passwordComponent]=\"passwordComponentWithValidation\">\n </mat-password-strength-info>\n </div>\n <div>\n <mat-checkbox formControlName=\"agree_terms_and_conditions\">Agree to Terms & Conditions</mat-checkbox>\n </div>\n <div class=\"submit-button\">\n <ui-button [label]=\"'Next'\" [disabled]=\"registerForm.invalid\" [fullWidth]=\"true\" [loading]=\"loading\" (onClickEvent)=\"submit()\"></ui-button>\n </div>\n <div>\n Already have a Career Passport? <span class=\"log-in\" (click)=\"login()\">Log in here</span>\n </div>\n </form>\n</div>\n", styles: [".form-box{width:672px;padding:64px;background:#ffffff;box-shadow:0 8px 16px #0000001a;border-radius:8px;margin:auto;color:#000}.form-box .logo{width:180px;position:relative;right:9px;margin-bottom:16px}.form-box .title{font-weight:700;font-size:22px}.form-box .subtitle{margin:16px 0}.form-box .field{width:100%}.form-box .submit-button{margin:24px 0}.form-box mat-checkbox{font-weight:400}.form-box .log-in{font-weight:600;font-size:15px;cursor:pointer;color:#46a997}.form-box .log-in:hover{text-decoration:underline}.row{display:flex;flex-direction:row}.row.space-between{justify-content:space-between}\n"], components: [{ type: i2.FieldComponent, selector: "ui-field", inputs: ["label", "preffixIcon", "suffixIcon", "required", "hint", "error", "placeholder", "type"] }, { type: i3.MatPasswordStrengthComponent, selector: "mat-password-strength", inputs: ["password", "externalError", "enableLengthRule", "enableLowerCaseLetterRule", "enableUpperCaseLetterRule", "enableDigitRule", "enableSpecialCharRule", "min", "max", "customValidator", "warnThreshold", "accentThreshold"], outputs: ["onStrengthChanged"], exportAs: ["matPasswordStrength"] }, { type: i3.MatPasswordStrengthInfoComponent, selector: "mat-password-strength-info", inputs: ["passwordComponent", "enableScoreInfo", "lowerCaseCriteriaMsg", "upperCaseCriteriaMsg", "digitsCriteriaMsg", "specialCharsCriteriaMsg", "customCharsCriteriaMsg", "minCharsCriteriaMsg", "matIconDone", "matIconError"], exportAs: ["matPasswordStrengthInfo"] }, { type: i4.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { type: i5.ButtonComponent, selector: "ui-button", inputs: ["color", "label", "iconPosition", "iconName", "disabled", "loading", "fullWidth"], outputs: ["onClickEvent"] }], directives: [{ type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: 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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
79
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CreateAccountComponent, decorators: [{
|
|
80
|
+
type: Component,
|
|
81
|
+
args: [{ selector: 'ui-create-account', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"form-box\">\n <img class=\"logo\" src=\"/images/testgorilla.svg\">\n <div class=\"title\">Create your Career Passport</div>\n <div class=\"subtitle\">Enter the email address to which you received an assessment invite.</div>\n <form [formGroup]=\"registerForm\">\n <div class=\"field\">\n <ui-field formControlName=\"username\" [placeholder]=\"'Email'\" [type]=\"'email'\" [required]=\"true\" [error]=\"formErrors.username[0]\" (ngModelChange)=\"checkErrors('username')\"></ui-field>\n </div>\n <div class=\"field\">\n <ui-field formControlName=\"password\" [placeholder]=\"'Password'\" [type]=\"'password'\" [required]=\"true\" [error]=\"formErrors.password[0]\" (ngModelChange)=\"checkErrors('password')\"></ui-field>\n <mat-password-strength\n [min]=\"12\"\n #passwordComponentWithValidation\n [password]=\"registerForm.controls['password'].value\"\n >\n </mat-password-strength>\n <mat-password-strength-info [passwordComponent]=\"passwordComponentWithValidation\">\n </mat-password-strength-info>\n </div>\n <div>\n <mat-checkbox formControlName=\"agree_terms_and_conditions\">Agree to Terms & Conditions</mat-checkbox>\n </div>\n <div class=\"submit-button\">\n <ui-button [label]=\"'Next'\" [disabled]=\"registerForm.invalid\" [fullWidth]=\"true\" [loading]=\"loading\" (onClickEvent)=\"submit()\"></ui-button>\n </div>\n <div>\n Already have a Career Passport? <span class=\"log-in\" (click)=\"login()\">Log in here</span>\n </div>\n </form>\n</div>\n", styles: [".form-box{width:672px;padding:64px;background:#ffffff;box-shadow:0 8px 16px #0000001a;border-radius:8px;margin:auto;color:#000}.form-box .logo{width:180px;position:relative;right:9px;margin-bottom:16px}.form-box .title{font-weight:700;font-size:22px}.form-box .subtitle{margin:16px 0}.form-box .field{width:100%}.form-box .submit-button{margin:24px 0}.form-box mat-checkbox{font-weight:400}.form-box .log-in{font-weight:600;font-size:15px;cursor:pointer;color:#46a997}.form-box .log-in:hover{text-decoration:underline}.row{display:flex;flex-direction:row}.row.space-between{justify-content:space-between}\n"] }]
|
|
82
|
+
}], ctorParameters: function () { return [{ type: i1.FormBuilder }]; }, propDecorators: { formErrors: [{
|
|
83
|
+
type: Input
|
|
84
|
+
}], loading: [{
|
|
85
|
+
type: Input
|
|
86
|
+
}], submitEvent: [{
|
|
87
|
+
type: Output
|
|
88
|
+
}], loginEvent: [{
|
|
89
|
+
type: Output
|
|
90
|
+
}] } });
|
|
91
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWFjY291bnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvY3JlYXRlLWFjY291bnQvY3JlYXRlLWFjY291bnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvY3JlYXRlLWFjY291bnQvY3JlYXRlLWFjY291bnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04saUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBZSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7OztBQVV6RCxNQUFNLE9BQU8sc0JBQXNCO0lBbURqQyxZQUFvQixFQUFlO1FBQWYsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQWxEbkMsbUhBQW1IO1FBQ25ILHdEQUF3RDtRQUN4RCx3REFBd0Q7UUFFeEQ7O1dBRUc7UUFDSCxpQkFBWSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQzNCLFFBQVEsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3ZELFFBQVEsRUFBRTtnQkFDUixFQUFFO2dCQUNGO29CQUNFLFVBQVUsQ0FBQyxRQUFRO29CQUNuQixVQUFVLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztvQkFDeEIsVUFBVSxDQUFDLE9BQU8sQ0FBQywrRUFBK0UsQ0FBQztpQkFDcEc7YUFDRjtZQUNELDBCQUEwQixFQUFFLENBQUMsS0FBSyxFQUFFLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQy9ELENBQUMsQ0FBQztRQUVIOztXQUVHO1FBQ00sZUFBVSxHQUFHO1lBQ3BCLFFBQVEsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNkLFFBQVEsRUFBRSxDQUFDLEVBQUUsQ0FBQztTQUNmLENBQUM7UUFTRjs7V0FFRztRQUNPLGdCQUFXLEdBQTJDLElBQUksWUFBWSxFQUE0QixDQUFDO1FBRTdHOztXQUVHO1FBQ08sZUFBVSxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO0lBTzlCLENBQUM7SUFMdkM7O09BRUc7SUFDSCxRQUFRLEtBQVUsQ0FBQztJQUluQixNQUFNO1FBQ0osSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUM7WUFDcEIsUUFBUSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxFQUFFLEtBQUs7WUFDbEQsUUFBUSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxFQUFFLEtBQUs7U0FDbkQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBYTtRQUN2QixJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sRUFBRTtZQUM3QyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRTtnQkFDMUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFxQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsd0JBQXdCLENBQUM7Z0JBQ3JGLE9BQU87YUFDUjtZQUVELElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUN2RCxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQXFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxxQkFBcUIsQ0FBQztnQkFDbEYsT0FBTzthQUNSO1lBRUQsSUFBSSxLQUFLLEtBQUssVUFBVSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRTtnQkFDakYsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcscUJBQXFCLENBQUM7Z0JBQ3BELE9BQU87YUFDUjtTQUNGO1FBRUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFxQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQ2pFLENBQUM7O29IQW5GVSxzQkFBc0I7d0dBQXRCLHNCQUFzQixzTENuQm5DLG1rREE4QkE7NEZEWGEsc0JBQXNCO2tCQVBsQyxTQUFTOytCQUNFLG1CQUFtQixtQkFHWix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJO2tHQTBCNUIsVUFBVTtzQkFBbEIsS0FBSztnQkFVRyxPQUFPO3NCQUFmLEtBQUs7Z0JBS0ksV0FBVztzQkFBcEIsTUFBTTtnQkFLRyxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ3JlYXRlQWNjb3VudENyZWRlbnRpYWxzIH0gZnJvbSAnLi9jcmVhdGUtYWNjb3VudC5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3VpLWNyZWF0ZS1hY2NvdW50JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NyZWF0ZS1hY2NvdW50LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY3JlYXRlLWFjY291bnQuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIENyZWF0ZUFjY291bnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAvLyBUT0RPOiBTb21lIHByb3BlcnRpZXMgYW5kIG1ldGhvZHMgYXJlIGlnbm9yZWQgb24gcHVycG9zZSBiZWNhdXNlIG9mIGEgY3VycmVudCBpc3N1ZSB3aXRoIGNvbXBvZG9jIGFuZCBhbmd1bGFyIDEzXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9zdG9yeWJvb2tqcy9zdG9yeWJvb2svaXNzdWVzLzE2ODY1XG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9zdG9yeWJvb2tqcy9zdG9yeWJvb2svaXNzdWVzLzE3MDA0XG5cbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIHJlZ2lzdGVyRm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgIHVzZXJuYW1lOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLmVtYWlsXV0sXG4gICAgcGFzc3dvcmQ6IFtcbiAgICAgICcnLFxuICAgICAgW1xuICAgICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxuICAgICAgICBWYWxpZGF0b3JzLm1pbkxlbmd0aCgxMiksXG4gICAgICAgIFZhbGlkYXRvcnMucGF0dGVybigvXig/PVxcRCpcXGQpKD89W15hLXpdKlthLXpdKSg/PS4qWyMkJSYnKCkqKywtLi86Ozw9Pj9AXSkoPz1bXkEtWl0qW0EtWl0pLnsxMix9JC8pLFxuICAgICAgXSxcbiAgICBdLFxuICAgIGFncmVlX3Rlcm1zX2FuZF9jb25kaXRpb25zOiBbZmFsc2UsIFtWYWxpZGF0b3JzLnJlcXVpcmVkVHJ1ZV1dLFxuICB9KTtcblxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgQElucHV0KCkgZm9ybUVycm9ycyA9IHtcbiAgICB1c2VybmFtZTogWycnXSxcbiAgICBwYXNzd29yZDogWycnXSxcbiAgfTtcblxuICAvKipcbiAgICogSW5kaWNhdG9yIGlmIHRoZSBmb3JtIGlzIGxvYWRpbmdcbiAgICpcbiAgICogQG1lbWJlcm9mIEJ1dHRvbkNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgbG9hZGluZzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgQE91dHB1dCgpIHN1Ym1pdEV2ZW50OiBFdmVudEVtaXR0ZXI8Q3JlYXRlQWNjb3VudENyZWRlbnRpYWxzPiA9IG5ldyBFdmVudEVtaXR0ZXI8Q3JlYXRlQWNjb3VudENyZWRlbnRpYWxzPigpO1xuXG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBAT3V0cHV0KCkgbG9naW5FdmVudDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBuZ09uSW5pdCgpOiB2b2lkIHt9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIpIHt9XG5cbiAgc3VibWl0KCk6IHZvaWQge1xuICAgIHRoaXMuc3VibWl0RXZlbnQuZW1pdCh7XG4gICAgICB1c2VybmFtZTogdGhpcy5yZWdpc3RlckZvcm0uZ2V0KCd1c2VybmFtZScpPy52YWx1ZSxcbiAgICAgIHBhc3N3b3JkOiB0aGlzLnJlZ2lzdGVyRm9ybS5nZXQoJ3Bhc3N3b3JkJyk/LnZhbHVlLFxuICAgIH0pO1xuICB9XG5cbiAgbG9naW4oKTogdm9pZCB7XG4gICAgdGhpcy5sb2dpbkV2ZW50LmVtaXQoKTtcbiAgfVxuXG4gIGNoZWNrRXJyb3JzKGZpZWxkOiBzdHJpbmcpIHtcbiAgICBpZiAodGhpcy5yZWdpc3RlckZvcm0uY29udHJvbHNbZmllbGRdLnRvdWNoZWQpIHtcbiAgICAgIGlmICh0aGlzLnJlZ2lzdGVyRm9ybS5jb250cm9sc1tmaWVsZF0uaGFzRXJyb3IoJ3JlcXVpcmVkJykpIHtcbiAgICAgICAgdGhpcy5mb3JtRXJyb3JzW2ZpZWxkIGFzIGtleW9mIHR5cGVvZiB0aGlzLmZvcm1FcnJvcnNdWzBdID0gJ1RoaXMgZmllbGQgaXMgcmVxdWlyZWQnO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLnJlZ2lzdGVyRm9ybS5jb250cm9sc1tmaWVsZF0uaGFzRXJyb3IoJ2VtYWlsJykpIHtcbiAgICAgICAgdGhpcy5mb3JtRXJyb3JzW2ZpZWxkIGFzIGtleW9mIHR5cGVvZiB0aGlzLmZvcm1FcnJvcnNdWzBdID0gJ0VudGVyIGEgdmFsaWQgZW1haWwnO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmIChmaWVsZCA9PT0gJ3Bhc3N3b3JkJyAmJiB0aGlzLnJlZ2lzdGVyRm9ybS5jb250cm9sc1tmaWVsZF0uaGFzRXJyb3IoJ3BhdHRlcm4nKSkge1xuICAgICAgICB0aGlzLmZvcm1FcnJvcnMucGFzc3dvcmRbMF0gPSAnUGFzc3dvcmQgaXMgaW52YWxpZCc7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLmZvcm1FcnJvcnNbZmllbGQgYXMga2V5b2YgdHlwZW9mIHRoaXMuZm9ybUVycm9yc11bMF0gPSAnJztcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZvcm0tYm94XCI+XG4gIDxpbWcgY2xhc3M9XCJsb2dvXCIgc3JjPVwiL2ltYWdlcy90ZXN0Z29yaWxsYS5zdmdcIj5cbiAgPGRpdiBjbGFzcz1cInRpdGxlXCI+Q3JlYXRlIHlvdXIgQ2FyZWVyIFBhc3Nwb3J0PC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJzdWJ0aXRsZVwiPkVudGVyIHRoZSBlbWFpbCBhZGRyZXNzIHRvIHdoaWNoIHlvdSByZWNlaXZlZCBhbiBhc3Nlc3NtZW50IGludml0ZS48L2Rpdj5cbiAgPGZvcm0gW2Zvcm1Hcm91cF09XCJyZWdpc3RlckZvcm1cIj5cbiAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cbiAgICAgIDx1aS1maWVsZCBmb3JtQ29udHJvbE5hbWU9XCJ1c2VybmFtZVwiIFtwbGFjZWhvbGRlcl09XCInRW1haWwnXCIgW3R5cGVdPVwiJ2VtYWlsJ1wiIFtyZXF1aXJlZF09XCJ0cnVlXCIgW2Vycm9yXT1cImZvcm1FcnJvcnMudXNlcm5hbWVbMF1cIiAobmdNb2RlbENoYW5nZSk9XCJjaGVja0Vycm9ycygndXNlcm5hbWUnKVwiPjwvdWktZmllbGQ+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XG4gICAgICA8dWktZmllbGQgZm9ybUNvbnRyb2xOYW1lPVwicGFzc3dvcmRcIiBbcGxhY2Vob2xkZXJdPVwiJ1Bhc3N3b3JkJ1wiIFt0eXBlXT1cIidwYXNzd29yZCdcIiBbcmVxdWlyZWRdPVwidHJ1ZVwiIFtlcnJvcl09XCJmb3JtRXJyb3JzLnBhc3N3b3JkWzBdXCIgKG5nTW9kZWxDaGFuZ2UpPVwiY2hlY2tFcnJvcnMoJ3Bhc3N3b3JkJylcIj48L3VpLWZpZWxkPlxuICAgICAgPG1hdC1wYXNzd29yZC1zdHJlbmd0aFxuICAgICAgICAgICAgICBbbWluXT1cIjEyXCJcbiAgICAgICAgICAgICAgI3Bhc3N3b3JkQ29tcG9uZW50V2l0aFZhbGlkYXRpb25cbiAgICAgICAgICAgICAgW3Bhc3N3b3JkXT1cInJlZ2lzdGVyRm9ybS5jb250cm9sc1sncGFzc3dvcmQnXS52YWx1ZVwiXG4gICAgICAgICAgICA+XG4gICAgICA8L21hdC1wYXNzd29yZC1zdHJlbmd0aD5cbiAgICAgIDxtYXQtcGFzc3dvcmQtc3RyZW5ndGgtaW5mbyBbcGFzc3dvcmRDb21wb25lbnRdPVwicGFzc3dvcmRDb21wb25lbnRXaXRoVmFsaWRhdGlvblwiPlxuICAgICAgPC9tYXQtcGFzc3dvcmQtc3RyZW5ndGgtaW5mbz5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2PlxuICAgICAgPG1hdC1jaGVja2JveCBmb3JtQ29udHJvbE5hbWU9XCJhZ3JlZV90ZXJtc19hbmRfY29uZGl0aW9uc1wiPkFncmVlIHRvIFRlcm1zICYgQ29uZGl0aW9uczwvbWF0LWNoZWNrYm94PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJzdWJtaXQtYnV0dG9uXCI+XG4gICAgICA8dWktYnV0dG9uIFtsYWJlbF09XCInTmV4dCdcIiBbZGlzYWJsZWRdPVwicmVnaXN0ZXJGb3JtLmludmFsaWRcIiBbZnVsbFdpZHRoXT1cInRydWVcIiBbbG9hZGluZ109XCJsb2FkaW5nXCIgKG9uQ2xpY2tFdmVudCk9XCJzdWJtaXQoKVwiPjwvdWktYnV0dG9uPlxuICAgIDwvZGl2PlxuICAgIDxkaXY+XG4gICAgICBBbHJlYWR5IGhhdmUgYSBDYXJlZXIgUGFzc3BvcnQ/IDxzcGFuIGNsYXNzPVwibG9nLWluXCIgKGNsaWNrKT1cImxvZ2luKClcIj5Mb2cgaW4gaGVyZTwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgPC9mb3JtPlxuPC9kaXY+XG4iXX0=
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { MatPasswordStrengthModule } from '@angular-material-extensions/password-strength';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { NgModule } from '@angular/core';
|
|
4
|
+
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
5
|
+
import { MatCheckboxModule } from '@angular/material/checkbox';
|
|
6
|
+
import { ButtonComponentModule } from '../button/button.component.module';
|
|
7
|
+
import { FieldComponentModule } from '../field/field.component.module';
|
|
8
|
+
import { CreateAccountComponent } from './create-account.component';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
export class CreateAccountComponentModule {
|
|
11
|
+
}
|
|
12
|
+
CreateAccountComponentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CreateAccountComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
13
|
+
CreateAccountComponentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CreateAccountComponentModule, declarations: [CreateAccountComponent], imports: [CommonModule,
|
|
14
|
+
FormsModule,
|
|
15
|
+
ReactiveFormsModule,
|
|
16
|
+
FieldComponentModule,
|
|
17
|
+
ButtonComponentModule,
|
|
18
|
+
MatCheckboxModule,
|
|
19
|
+
MatPasswordStrengthModule], exports: [CreateAccountComponent] });
|
|
20
|
+
CreateAccountComponentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CreateAccountComponentModule, providers: [], imports: [[
|
|
21
|
+
CommonModule,
|
|
22
|
+
FormsModule,
|
|
23
|
+
ReactiveFormsModule,
|
|
24
|
+
FieldComponentModule,
|
|
25
|
+
ButtonComponentModule,
|
|
26
|
+
MatCheckboxModule,
|
|
27
|
+
MatPasswordStrengthModule,
|
|
28
|
+
]] });
|
|
29
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CreateAccountComponentModule, decorators: [{
|
|
30
|
+
type: NgModule,
|
|
31
|
+
args: [{
|
|
32
|
+
declarations: [CreateAccountComponent],
|
|
33
|
+
imports: [
|
|
34
|
+
CommonModule,
|
|
35
|
+
FormsModule,
|
|
36
|
+
ReactiveFormsModule,
|
|
37
|
+
FieldComponentModule,
|
|
38
|
+
ButtonComponentModule,
|
|
39
|
+
MatCheckboxModule,
|
|
40
|
+
MatPasswordStrengthModule,
|
|
41
|
+
],
|
|
42
|
+
exports: [CreateAccountComponent],
|
|
43
|
+
providers: [],
|
|
44
|
+
}]
|
|
45
|
+
}] });
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWFjY291bnQuY29tcG9uZW50Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2NyZWF0ZS1hY2NvdW50L2NyZWF0ZS1hY2NvdW50LmNvbXBvbmVudC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDM0YsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQWdCcEUsTUFBTSxPQUFPLDRCQUE0Qjs7MEhBQTVCLDRCQUE0QjsySEFBNUIsNEJBQTRCLGlCQWJ4QixzQkFBc0IsYUFFbkMsWUFBWTtRQUNaLFdBQVc7UUFDWCxtQkFBbUI7UUFDbkIsb0JBQW9CO1FBQ3BCLHFCQUFxQjtRQUNyQixpQkFBaUI7UUFDakIseUJBQXlCLGFBRWpCLHNCQUFzQjsySEFHckIsNEJBQTRCLGFBRjVCLEVBQUUsWUFWSjtZQUNQLFlBQVk7WUFDWixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLG9CQUFvQjtZQUNwQixxQkFBcUI7WUFDckIsaUJBQWlCO1lBQ2pCLHlCQUF5QjtTQUMxQjs0RkFJVSw0QkFBNEI7a0JBZHhDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsc0JBQXNCLENBQUM7b0JBQ3RDLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixvQkFBb0I7d0JBQ3BCLHFCQUFxQjt3QkFDckIsaUJBQWlCO3dCQUNqQix5QkFBeUI7cUJBQzFCO29CQUNELE9BQU8sRUFBRSxDQUFDLHNCQUFzQixDQUFDO29CQUNqQyxTQUFTLEVBQUUsRUFBRTtpQkFDZCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1hdFBhc3N3b3JkU3RyZW5ndGhNb2R1bGUgfSBmcm9tICdAYW5ndWxhci1tYXRlcmlhbC1leHRlbnNpb25zL3Bhc3N3b3JkLXN0cmVuZ3RoJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRDaGVja2JveE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94JztcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudE1vZHVsZSB9IGZyb20gJy4uL2J1dHRvbi9idXR0b24uY29tcG9uZW50Lm1vZHVsZSc7XG5pbXBvcnQgeyBGaWVsZENvbXBvbmVudE1vZHVsZSB9IGZyb20gJy4uL2ZpZWxkL2ZpZWxkLmNvbXBvbmVudC5tb2R1bGUnO1xuaW1wb3J0IHsgQ3JlYXRlQWNjb3VudENvbXBvbmVudCB9IGZyb20gJy4vY3JlYXRlLWFjY291bnQuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbQ3JlYXRlQWNjb3VudENvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBGaWVsZENvbXBvbmVudE1vZHVsZSxcbiAgICBCdXR0b25Db21wb25lbnRNb2R1bGUsXG4gICAgTWF0Q2hlY2tib3hNb2R1bGUsXG4gICAgTWF0UGFzc3dvcmRTdHJlbmd0aE1vZHVsZSxcbiAgXSxcbiAgZXhwb3J0czogW0NyZWF0ZUFjY291bnRDb21wb25lbnRdLFxuICBwcm92aWRlcnM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBDcmVhdGVBY2NvdW50Q29tcG9uZW50TW9kdWxlIHt9XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWFjY291bnQubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9jcmVhdGUtYWNjb3VudC9jcmVhdGUtYWNjb3VudC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBDcmVhdGVBY2NvdW50Q3JlZGVudGlhbHMge1xuICB1c2VybmFtZTogc3RyaW5nO1xuICBwYXNzd29yZDogc3RyaW5nO1xufVxuIl19
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewEncapsulation, } from '@angular/core';
|
|
2
|
+
import { Validators } from '@angular/forms';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/forms";
|
|
5
|
+
import * as i2 from "../field/field.component";
|
|
6
|
+
import * as i3 from "@angular-material-extensions/password-strength";
|
|
7
|
+
import * as i4 from "../button/button.component";
|
|
8
|
+
export class CreatePasswordComponent {
|
|
9
|
+
constructor(fb) {
|
|
10
|
+
this.fb = fb;
|
|
11
|
+
// TODO: Some properties and methods are ignored on purpose because of a current issue with compodoc and angular 13
|
|
12
|
+
// https://github.com/storybookjs/storybook/issues/16865
|
|
13
|
+
// https://github.com/storybookjs/storybook/issues/17004
|
|
14
|
+
/**
|
|
15
|
+
* @ignore
|
|
16
|
+
*/
|
|
17
|
+
this.createPasswordForm = this.fb.group({
|
|
18
|
+
password: [
|
|
19
|
+
'',
|
|
20
|
+
[
|
|
21
|
+
Validators.required,
|
|
22
|
+
Validators.minLength(12),
|
|
23
|
+
Validators.pattern(/^(?=\D*\d)(?=[^a-z]*[a-z])(?=.*[#$%&'()*+,-./:;<=>?@])(?=[^A-Z]*[A-Z]).{12,}$/),
|
|
24
|
+
],
|
|
25
|
+
],
|
|
26
|
+
});
|
|
27
|
+
/**
|
|
28
|
+
* @ignore
|
|
29
|
+
*/
|
|
30
|
+
this.formErrors = {
|
|
31
|
+
password: [''],
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* @ignore
|
|
35
|
+
*/
|
|
36
|
+
this.submitEvent = new EventEmitter();
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* @ignore
|
|
40
|
+
*/
|
|
41
|
+
ngOnInit() { }
|
|
42
|
+
submit() {
|
|
43
|
+
this.submitEvent.emit({
|
|
44
|
+
password: this.createPasswordForm.get('password')?.value,
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
checkErrors(field) {
|
|
48
|
+
if (this.createPasswordForm.controls[field].touched) {
|
|
49
|
+
if (this.createPasswordForm.controls[field].hasError('required')) {
|
|
50
|
+
this.formErrors[field][0] = 'This field is required';
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
if (field === 'password' && this.createPasswordForm.controls[field].hasError('pattern')) {
|
|
54
|
+
this.formErrors.password[0] = 'Password is invalid';
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
this.formErrors[field][0] = '';
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
CreatePasswordComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CreatePasswordComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
|
|
62
|
+
CreatePasswordComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: CreatePasswordComponent, selector: "ui-create-password", inputs: { formErrors: "formErrors", loading: "loading" }, outputs: { submitEvent: "submitEvent" }, ngImport: i0, template: "<div class=\"form-box\">\n <img class=\"logo\" src=\"/images/testgorilla.svg\">\n <div class=\"title\">Please create a new password</div>\n <form [formGroup]=\"createPasswordForm\">\n <div class=\"field\">\n <ui-field formControlName=\"password\" [placeholder]=\"'Set password'\" [type]=\"'password'\" [required]=\"true\" [error]=\"formErrors.password[0]\" (ngModelChange)=\"checkErrors('password')\"></ui-field>\n <mat-password-strength\n [min]=\"12\"\n #passwordComponentWithValidation\n [password]=\"createPasswordForm.controls['password'].value\"\n >\n </mat-password-strength>\n <mat-password-strength-info [passwordComponent]=\"passwordComponentWithValidation\">\n </mat-password-strength-info>\n </div>\n <div>\n </div>\n <div class=\"submit-button\">\n <ui-button [label]=\"'Set new password'\" [disabled]=\"createPasswordForm.invalid\" [fullWidth]=\"true\" [loading]=\"loading\" (onClickEvent)=\"submit()\"></ui-button>\n </div>\n </form>\n</div>\n", styles: [".form-box{width:672px;padding:64px;background:#ffffff;box-shadow:0 8px 16px #0000001a;border-radius:8px;margin:auto;color:#000}.form-box .logo{width:180px;position:relative;right:9px;margin-bottom:16px}.form-box .title{font-weight:700;font-size:22px;margin-bottom:24px}.form-box .field{width:100%}.form-box .submit-button{margin:24px 0}\n"], components: [{ type: i2.FieldComponent, selector: "ui-field", inputs: ["label", "preffixIcon", "suffixIcon", "required", "hint", "error", "placeholder", "type"] }, { type: i3.MatPasswordStrengthComponent, selector: "mat-password-strength", inputs: ["password", "externalError", "enableLengthRule", "enableLowerCaseLetterRule", "enableUpperCaseLetterRule", "enableDigitRule", "enableSpecialCharRule", "min", "max", "customValidator", "warnThreshold", "accentThreshold"], outputs: ["onStrengthChanged"], exportAs: ["matPasswordStrength"] }, { type: i3.MatPasswordStrengthInfoComponent, selector: "mat-password-strength-info", inputs: ["passwordComponent", "enableScoreInfo", "lowerCaseCriteriaMsg", "upperCaseCriteriaMsg", "digitsCriteriaMsg", "specialCharsCriteriaMsg", "customCharsCriteriaMsg", "minCharsCriteriaMsg", "matIconDone", "matIconError"], exportAs: ["matPasswordStrengthInfo"] }, { type: i4.ButtonComponent, selector: "ui-button", inputs: ["color", "label", "iconPosition", "iconName", "disabled", "loading", "fullWidth"], outputs: ["onClickEvent"] }], directives: [{ type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: 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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
63
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CreatePasswordComponent, decorators: [{
|
|
64
|
+
type: Component,
|
|
65
|
+
args: [{ selector: 'ui-create-password', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"form-box\">\n <img class=\"logo\" src=\"/images/testgorilla.svg\">\n <div class=\"title\">Please create a new password</div>\n <form [formGroup]=\"createPasswordForm\">\n <div class=\"field\">\n <ui-field formControlName=\"password\" [placeholder]=\"'Set password'\" [type]=\"'password'\" [required]=\"true\" [error]=\"formErrors.password[0]\" (ngModelChange)=\"checkErrors('password')\"></ui-field>\n <mat-password-strength\n [min]=\"12\"\n #passwordComponentWithValidation\n [password]=\"createPasswordForm.controls['password'].value\"\n >\n </mat-password-strength>\n <mat-password-strength-info [passwordComponent]=\"passwordComponentWithValidation\">\n </mat-password-strength-info>\n </div>\n <div>\n </div>\n <div class=\"submit-button\">\n <ui-button [label]=\"'Set new password'\" [disabled]=\"createPasswordForm.invalid\" [fullWidth]=\"true\" [loading]=\"loading\" (onClickEvent)=\"submit()\"></ui-button>\n </div>\n </form>\n</div>\n", styles: [".form-box{width:672px;padding:64px;background:#ffffff;box-shadow:0 8px 16px #0000001a;border-radius:8px;margin:auto;color:#000}.form-box .logo{width:180px;position:relative;right:9px;margin-bottom:16px}.form-box .title{font-weight:700;font-size:22px;margin-bottom:24px}.form-box .field{width:100%}.form-box .submit-button{margin:24px 0}\n"] }]
|
|
66
|
+
}], ctorParameters: function () { return [{ type: i1.FormBuilder }]; }, propDecorators: { formErrors: [{
|
|
67
|
+
type: Input
|
|
68
|
+
}], loading: [{
|
|
69
|
+
type: Input
|
|
70
|
+
}], submitEvent: [{
|
|
71
|
+
type: Output
|
|
72
|
+
}] } });
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXBhc3N3b3JkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2NyZWF0ZS1wYXNzd29yZC9jcmVhdGUtcGFzc3dvcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvY3JlYXRlLXBhc3N3b3JkL2NyZWF0ZS1wYXNzd29yZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFlLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7QUFVekQsTUFBTSxPQUFPLHVCQUF1QjtJQTJDbEMsWUFBb0IsRUFBZTtRQUFmLE9BQUUsR0FBRixFQUFFLENBQWE7UUExQ25DLG1IQUFtSDtRQUNuSCx3REFBd0Q7UUFDeEQsd0RBQXdEO1FBRXhEOztXQUVHO1FBQ0gsdUJBQWtCLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDakMsUUFBUSxFQUFFO2dCQUNSLEVBQUU7Z0JBQ0Y7b0JBQ0UsVUFBVSxDQUFDLFFBQVE7b0JBQ25CLFVBQVUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO29CQUN4QixVQUFVLENBQUMsT0FBTyxDQUFDLCtFQUErRSxDQUFDO2lCQUNwRzthQUNGO1NBQ0YsQ0FBQyxDQUFDO1FBRUg7O1dBRUc7UUFDTSxlQUFVLEdBQUc7WUFDcEIsUUFBUSxFQUFFLENBQUMsRUFBRSxDQUFDO1NBQ2YsQ0FBQztRQVNGOztXQUVHO1FBQ08sZ0JBQVcsR0FBNEMsSUFBSSxZQUFZLEVBQTZCLENBQUM7SUFPekUsQ0FBQztJQUx2Qzs7T0FFRztJQUNILFFBQVEsS0FBVSxDQUFDO0lBSW5CLE1BQU07UUFDSixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztZQUNwQixRQUFRLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsRUFBRSxLQUFLO1NBQ3pELENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBYTtRQUN2QixJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxFQUFFO1lBQ25ELElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUU7Z0JBQ2hFLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBcUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLHdCQUF3QixDQUFDO2dCQUNyRixPQUFPO2FBQ1I7WUFFRCxJQUFJLEtBQUssS0FBSyxVQUFVLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEVBQUU7Z0JBQ3ZGLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLHFCQUFxQixDQUFDO2dCQUNwRCxPQUFPO2FBQ1I7U0FDRjtRQUVELElBQUksQ0FBQyxVQUFVLENBQUMsS0FBcUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUNqRSxDQUFDOztxSEFqRVUsdUJBQXVCO3lHQUF2Qix1QkFBdUIsNkpDbkJwQyxxaUNBc0JBOzRGREhhLHVCQUF1QjtrQkFQbkMsU0FBUzsrQkFDRSxvQkFBb0IsbUJBR2IsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSTtrR0F3QjVCLFVBQVU7c0JBQWxCLEtBQUs7Z0JBU0csT0FBTztzQkFBZixLQUFLO2dCQUtJLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDcmVhdGVQYXNzd29yZENyZWRlbnRpYWxzIH0gZnJvbSAnLi9jcmVhdGUtcGFzc3dvcmQubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd1aS1jcmVhdGUtcGFzc3dvcmQnLFxuICB0ZW1wbGF0ZVVybDogJy4vY3JlYXRlLXBhc3N3b3JkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY3JlYXRlLXBhc3N3b3JkLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBDcmVhdGVQYXNzd29yZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIC8vIFRPRE86IFNvbWUgcHJvcGVydGllcyBhbmQgbWV0aG9kcyBhcmUgaWdub3JlZCBvbiBwdXJwb3NlIGJlY2F1c2Ugb2YgYSBjdXJyZW50IGlzc3VlIHdpdGggY29tcG9kb2MgYW5kIGFuZ3VsYXIgMTNcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3N0b3J5Ym9va2pzL3N0b3J5Ym9vay9pc3N1ZXMvMTY4NjVcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3N0b3J5Ym9va2pzL3N0b3J5Ym9vay9pc3N1ZXMvMTcwMDRcblxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgY3JlYXRlUGFzc3dvcmRGb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgcGFzc3dvcmQ6IFtcbiAgICAgICcnLFxuICAgICAgW1xuICAgICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxuICAgICAgICBWYWxpZGF0b3JzLm1pbkxlbmd0aCgxMiksXG4gICAgICAgIFZhbGlkYXRvcnMucGF0dGVybigvXig/PVxcRCpcXGQpKD89W15hLXpdKlthLXpdKSg/PS4qWyMkJSYnKCkqKywtLi86Ozw9Pj9AXSkoPz1bXkEtWl0qW0EtWl0pLnsxMix9JC8pLFxuICAgICAgXSxcbiAgICBdLFxuICB9KTtcblxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgQElucHV0KCkgZm9ybUVycm9ycyA9IHtcbiAgICBwYXNzd29yZDogWycnXSxcbiAgfTtcblxuICAvKipcbiAgICogSW5kaWNhdG9yIGlmIHRoZSBmb3JtIGlzIGxvYWRpbmdcbiAgICpcbiAgICogQG1lbWJlcm9mIEJ1dHRvbkNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgbG9hZGluZzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgQE91dHB1dCgpIHN1Ym1pdEV2ZW50OiBFdmVudEVtaXR0ZXI8Q3JlYXRlUGFzc3dvcmRDcmVkZW50aWFscz4gPSBuZXcgRXZlbnRFbWl0dGVyPENyZWF0ZVBhc3N3b3JkQ3JlZGVudGlhbHM+KCk7XG5cbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIG5nT25Jbml0KCk6IHZvaWQge31cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZiOiBGb3JtQnVpbGRlcikge31cblxuICBzdWJtaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zdWJtaXRFdmVudC5lbWl0KHtcbiAgICAgIHBhc3N3b3JkOiB0aGlzLmNyZWF0ZVBhc3N3b3JkRm9ybS5nZXQoJ3Bhc3N3b3JkJyk/LnZhbHVlLFxuICAgIH0pO1xuICB9XG5cbiAgY2hlY2tFcnJvcnMoZmllbGQ6IHN0cmluZykge1xuICAgIGlmICh0aGlzLmNyZWF0ZVBhc3N3b3JkRm9ybS5jb250cm9sc1tmaWVsZF0udG91Y2hlZCkge1xuICAgICAgaWYgKHRoaXMuY3JlYXRlUGFzc3dvcmRGb3JtLmNvbnRyb2xzW2ZpZWxkXS5oYXNFcnJvcigncmVxdWlyZWQnKSkge1xuICAgICAgICB0aGlzLmZvcm1FcnJvcnNbZmllbGQgYXMga2V5b2YgdHlwZW9mIHRoaXMuZm9ybUVycm9yc11bMF0gPSAnVGhpcyBmaWVsZCBpcyByZXF1aXJlZCc7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKGZpZWxkID09PSAncGFzc3dvcmQnICYmIHRoaXMuY3JlYXRlUGFzc3dvcmRGb3JtLmNvbnRyb2xzW2ZpZWxkXS5oYXNFcnJvcigncGF0dGVybicpKSB7XG4gICAgICAgIHRoaXMuZm9ybUVycm9ycy5wYXNzd29yZFswXSA9ICdQYXNzd29yZCBpcyBpbnZhbGlkJztcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuZm9ybUVycm9yc1tmaWVsZCBhcyBrZXlvZiB0eXBlb2YgdGhpcy5mb3JtRXJyb3JzXVswXSA9ICcnO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZm9ybS1ib3hcIj5cbiAgPGltZyBjbGFzcz1cImxvZ29cIiBzcmM9XCIvaW1hZ2VzL3Rlc3Rnb3JpbGxhLnN2Z1wiPlxuICA8ZGl2IGNsYXNzPVwidGl0bGVcIj5QbGVhc2UgY3JlYXRlIGEgbmV3IHBhc3N3b3JkPC9kaXY+XG4gIDxmb3JtIFtmb3JtR3JvdXBdPVwiY3JlYXRlUGFzc3dvcmRGb3JtXCI+XG4gICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XG4gICAgICA8dWktZmllbGQgZm9ybUNvbnRyb2xOYW1lPVwicGFzc3dvcmRcIiBbcGxhY2Vob2xkZXJdPVwiJ1NldCBwYXNzd29yZCdcIiBbdHlwZV09XCIncGFzc3dvcmQnXCIgW3JlcXVpcmVkXT1cInRydWVcIiBbZXJyb3JdPVwiZm9ybUVycm9ycy5wYXNzd29yZFswXVwiIChuZ01vZGVsQ2hhbmdlKT1cImNoZWNrRXJyb3JzKCdwYXNzd29yZCcpXCI+PC91aS1maWVsZD5cbiAgICAgIDxtYXQtcGFzc3dvcmQtc3RyZW5ndGhcbiAgICAgICAgICAgICAgW21pbl09XCIxMlwiXG4gICAgICAgICAgICAgICNwYXNzd29yZENvbXBvbmVudFdpdGhWYWxpZGF0aW9uXG4gICAgICAgICAgICAgIFtwYXNzd29yZF09XCJjcmVhdGVQYXNzd29yZEZvcm0uY29udHJvbHNbJ3Bhc3N3b3JkJ10udmFsdWVcIlxuICAgICAgICAgICAgPlxuICAgICAgPC9tYXQtcGFzc3dvcmQtc3RyZW5ndGg+XG4gICAgICA8bWF0LXBhc3N3b3JkLXN0cmVuZ3RoLWluZm8gW3Bhc3N3b3JkQ29tcG9uZW50XT1cInBhc3N3b3JkQ29tcG9uZW50V2l0aFZhbGlkYXRpb25cIj5cbiAgICAgIDwvbWF0LXBhc3N3b3JkLXN0cmVuZ3RoLWluZm8+XG4gICAgPC9kaXY+XG4gICAgPGRpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwic3VibWl0LWJ1dHRvblwiPlxuICAgICAgPHVpLWJ1dHRvbiBbbGFiZWxdPVwiJ1NldCBuZXcgcGFzc3dvcmQnXCIgW2Rpc2FibGVkXT1cImNyZWF0ZVBhc3N3b3JkRm9ybS5pbnZhbGlkXCIgW2Z1bGxXaWR0aF09XCJ0cnVlXCIgW2xvYWRpbmddPVwibG9hZGluZ1wiIChvbkNsaWNrRXZlbnQpPVwic3VibWl0KClcIj48L3VpLWJ1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9mb3JtPlxuPC9kaXY+XG4iXX0=
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { MatPasswordStrengthModule } from '@angular-material-extensions/password-strength';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { NgModule } from '@angular/core';
|
|
4
|
+
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
5
|
+
import { ButtonComponentModule } from '../button/button.component.module';
|
|
6
|
+
import { FieldComponentModule } from '../field/field.component.module';
|
|
7
|
+
import { CreatePasswordComponent } from './create-password.component';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
export class CreatePasswordComponentModule {
|
|
10
|
+
}
|
|
11
|
+
CreatePasswordComponentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CreatePasswordComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
12
|
+
CreatePasswordComponentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CreatePasswordComponentModule, declarations: [CreatePasswordComponent], imports: [CommonModule,
|
|
13
|
+
FormsModule,
|
|
14
|
+
ReactiveFormsModule,
|
|
15
|
+
FieldComponentModule,
|
|
16
|
+
ButtonComponentModule,
|
|
17
|
+
MatPasswordStrengthModule], exports: [CreatePasswordComponent] });
|
|
18
|
+
CreatePasswordComponentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CreatePasswordComponentModule, providers: [], imports: [[
|
|
19
|
+
CommonModule,
|
|
20
|
+
FormsModule,
|
|
21
|
+
ReactiveFormsModule,
|
|
22
|
+
FieldComponentModule,
|
|
23
|
+
ButtonComponentModule,
|
|
24
|
+
MatPasswordStrengthModule,
|
|
25
|
+
]] });
|
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CreatePasswordComponentModule, decorators: [{
|
|
27
|
+
type: NgModule,
|
|
28
|
+
args: [{
|
|
29
|
+
declarations: [CreatePasswordComponent],
|
|
30
|
+
imports: [
|
|
31
|
+
CommonModule,
|
|
32
|
+
FormsModule,
|
|
33
|
+
ReactiveFormsModule,
|
|
34
|
+
FieldComponentModule,
|
|
35
|
+
ButtonComponentModule,
|
|
36
|
+
MatPasswordStrengthModule,
|
|
37
|
+
],
|
|
38
|
+
exports: [CreatePasswordComponent],
|
|
39
|
+
providers: [],
|
|
40
|
+
}]
|
|
41
|
+
}] });
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXBhc3N3b3JkLmNvbXBvbmVudC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9jcmVhdGUtcGFzc3dvcmQvY3JlYXRlLXBhc3N3b3JkLmNvbXBvbmVudC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDM0YsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDOztBQWV0RSxNQUFNLE9BQU8sNkJBQTZCOzsySEFBN0IsNkJBQTZCOzRIQUE3Qiw2QkFBNkIsaUJBWnpCLHVCQUF1QixhQUVwQyxZQUFZO1FBQ1osV0FBVztRQUNYLG1CQUFtQjtRQUNuQixvQkFBb0I7UUFDcEIscUJBQXFCO1FBQ3JCLHlCQUF5QixhQUVqQix1QkFBdUI7NEhBR3RCLDZCQUE2QixhQUY3QixFQUFFLFlBVEo7WUFDUCxZQUFZO1lBQ1osV0FBVztZQUNYLG1CQUFtQjtZQUNuQixvQkFBb0I7WUFDcEIscUJBQXFCO1lBQ3JCLHlCQUF5QjtTQUMxQjs0RkFJVSw2QkFBNkI7a0JBYnpDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsdUJBQXVCLENBQUM7b0JBQ3ZDLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixvQkFBb0I7d0JBQ3BCLHFCQUFxQjt3QkFDckIseUJBQXlCO3FCQUMxQjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztvQkFDbEMsU0FBUyxFQUFFLEVBQUU7aUJBQ2QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNYXRQYXNzd29yZFN0cmVuZ3RoTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXItbWF0ZXJpYWwtZXh0ZW5zaW9ucy9wYXNzd29yZC1zdHJlbmd0aCc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50TW9kdWxlIH0gZnJvbSAnLi4vYnV0dG9uL2J1dHRvbi5jb21wb25lbnQubW9kdWxlJztcbmltcG9ydCB7IEZpZWxkQ29tcG9uZW50TW9kdWxlIH0gZnJvbSAnLi4vZmllbGQvZmllbGQuY29tcG9uZW50Lm1vZHVsZSc7XG5pbXBvcnQgeyBDcmVhdGVQYXNzd29yZENvbXBvbmVudCB9IGZyb20gJy4vY3JlYXRlLXBhc3N3b3JkLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW0NyZWF0ZVBhc3N3b3JkQ29tcG9uZW50XSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIEZpZWxkQ29tcG9uZW50TW9kdWxlLFxuICAgIEJ1dHRvbkNvbXBvbmVudE1vZHVsZSxcbiAgICBNYXRQYXNzd29yZFN0cmVuZ3RoTW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbQ3JlYXRlUGFzc3dvcmRDb21wb25lbnRdLFxuICBwcm92aWRlcnM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBDcmVhdGVQYXNzd29yZENvbXBvbmVudE1vZHVsZSB7fVxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXBhc3N3b3JkLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvY3JlYXRlLXBhc3N3b3JkL2NyZWF0ZS1wYXNzd29yZC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBDcmVhdGVQYXNzd29yZENyZWRlbnRpYWxzIHtcbiAgcGFzc3dvcmQ6IHN0cmluZztcbn1cbiJdfQ==
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewEncapsulation, } from '@angular/core';
|
|
2
|
+
import { Validators } from '@angular/forms';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/forms";
|
|
5
|
+
import * as i2 from "../field/field.component";
|
|
6
|
+
import * as i3 from "../button/button.component";
|
|
7
|
+
import * as i4 from "@angular/material/icon";
|
|
8
|
+
export class ForgotPasswordComponent {
|
|
9
|
+
constructor(fb) {
|
|
10
|
+
this.fb = fb;
|
|
11
|
+
// TODO: Some properties and methods are ignored on purpose because of a current issue with compodoc and angular 13
|
|
12
|
+
// https://github.com/storybookjs/storybook/issues/16865
|
|
13
|
+
// https://github.com/storybookjs/storybook/issues/17004
|
|
14
|
+
/**
|
|
15
|
+
* @ignore
|
|
16
|
+
*/
|
|
17
|
+
this.forgotPasswordForm = this.fb.group({
|
|
18
|
+
email: ['', [Validators.required, Validators.email]],
|
|
19
|
+
});
|
|
20
|
+
/**
|
|
21
|
+
* @ignore
|
|
22
|
+
*/
|
|
23
|
+
this.formErrors = {
|
|
24
|
+
email: [''],
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* @ignore
|
|
28
|
+
*/
|
|
29
|
+
this.submitEvent = new EventEmitter();
|
|
30
|
+
/**
|
|
31
|
+
* @ignore
|
|
32
|
+
*/
|
|
33
|
+
this.backToLoginEvent = new EventEmitter();
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* @ignore
|
|
37
|
+
*/
|
|
38
|
+
ngOnInit() { }
|
|
39
|
+
submit() {
|
|
40
|
+
this.submitEvent.emit({
|
|
41
|
+
email: this.forgotPasswordForm.get('email')?.value,
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
backToLogin() {
|
|
45
|
+
this.backToLoginEvent.emit();
|
|
46
|
+
}
|
|
47
|
+
checkErrors(field) {
|
|
48
|
+
if (this.forgotPasswordForm.controls[field].touched) {
|
|
49
|
+
if (this.forgotPasswordForm.controls[field].hasError('required')) {
|
|
50
|
+
this.formErrors[field][0] = 'This field is required';
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
if (this.forgotPasswordForm.controls[field].hasError('email')) {
|
|
54
|
+
this.formErrors[field][0] = 'Enter a valid email';
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
this.formErrors[field][0] = '';
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
ForgotPasswordComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ForgotPasswordComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
|
|
62
|
+
ForgotPasswordComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ForgotPasswordComponent, selector: "ui-forgot-password", inputs: { formErrors: "formErrors", loading: "loading" }, outputs: { submitEvent: "submitEvent", backToLoginEvent: "backToLoginEvent" }, ngImport: i0, template: "<div class=\"form-box\">\n <img class=\"logo\" src=\"/images/testgorilla.svg\">\n <div class=\"title\">Reset your password</div>\n <form [formGroup]=\"forgotPasswordForm\">\n <div class=\"field\">\n <ui-field formControlName=\"email\" [placeholder]=\"'Email'\" [type]=\"'email'\" [required]=\"true\" [error]=\"formErrors.email[0]\" (ngModelChange)=\"checkErrors('email')\"></ui-field>\n </div>\n <div>\n </div>\n <div class=\"submit-button\">\n <ui-button [label]=\"'Send reset link'\" [disabled]=\"forgotPasswordForm.invalid\" [fullWidth]=\"true\" [loading]=\"loading\" (onClickEvent)=\"submit()\"></ui-button>\n </div>\n <div class=\"back-login\" (click)=\"backToLogin()\">\n <mat-icon>arrow_back</mat-icon>\n <span>Back to log in</span>\n </div>\n </form>\n</div>\n", styles: [".form-box{width:672px;padding:64px;background:#ffffff;box-shadow:0 8px 16px #0000001a;border-radius:8px;margin:auto;color:#000}.form-box .logo{width:180px;position:relative;right:9px;margin-bottom:16px}.form-box .title{font-weight:700;font-size:22px;margin-bottom:24px}.form-box .field{width:100%}.form-box .submit-button{margin:24px 0 40px}.form-box .back-login{display:flex;align-content:center;color:#46a997;cursor:pointer}.form-box .back-login mat-icon{margin-right:8px}.form-box .back-login span{padding-top:2px;font-weight:700}\n"], components: [{ type: i2.FieldComponent, selector: "ui-field", inputs: ["label", "preffixIcon", "suffixIcon", "required", "hint", "error", "placeholder", "type"] }, { type: i3.ButtonComponent, selector: "ui-button", inputs: ["color", "label", "iconPosition", "iconName", "disabled", "loading", "fullWidth"], outputs: ["onClickEvent"] }, { type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: 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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
63
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ForgotPasswordComponent, decorators: [{
|
|
64
|
+
type: Component,
|
|
65
|
+
args: [{ selector: 'ui-forgot-password', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"form-box\">\n <img class=\"logo\" src=\"/images/testgorilla.svg\">\n <div class=\"title\">Reset your password</div>\n <form [formGroup]=\"forgotPasswordForm\">\n <div class=\"field\">\n <ui-field formControlName=\"email\" [placeholder]=\"'Email'\" [type]=\"'email'\" [required]=\"true\" [error]=\"formErrors.email[0]\" (ngModelChange)=\"checkErrors('email')\"></ui-field>\n </div>\n <div>\n </div>\n <div class=\"submit-button\">\n <ui-button [label]=\"'Send reset link'\" [disabled]=\"forgotPasswordForm.invalid\" [fullWidth]=\"true\" [loading]=\"loading\" (onClickEvent)=\"submit()\"></ui-button>\n </div>\n <div class=\"back-login\" (click)=\"backToLogin()\">\n <mat-icon>arrow_back</mat-icon>\n <span>Back to log in</span>\n </div>\n </form>\n</div>\n", styles: [".form-box{width:672px;padding:64px;background:#ffffff;box-shadow:0 8px 16px #0000001a;border-radius:8px;margin:auto;color:#000}.form-box .logo{width:180px;position:relative;right:9px;margin-bottom:16px}.form-box .title{font-weight:700;font-size:22px;margin-bottom:24px}.form-box .field{width:100%}.form-box .submit-button{margin:24px 0 40px}.form-box .back-login{display:flex;align-content:center;color:#46a997;cursor:pointer}.form-box .back-login mat-icon{margin-right:8px}.form-box .back-login span{padding-top:2px;font-weight:700}\n"] }]
|
|
66
|
+
}], ctorParameters: function () { return [{ type: i1.FormBuilder }]; }, propDecorators: { formErrors: [{
|
|
67
|
+
type: Input
|
|
68
|
+
}], loading: [{
|
|
69
|
+
type: Input
|
|
70
|
+
}], submitEvent: [{
|
|
71
|
+
type: Output
|
|
72
|
+
}], backToLoginEvent: [{
|
|
73
|
+
type: Output
|
|
74
|
+
}] } });
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yZ290LXBhc3N3b3JkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2ZvcmdvdC1wYXNzd29yZC9mb3Jnb3QtcGFzc3dvcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvZm9yZ290LXBhc3N3b3JkL2ZvcmdvdC1wYXNzd29yZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFlLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7QUFVekQsTUFBTSxPQUFPLHVCQUF1QjtJQXlDbEMsWUFBb0IsRUFBZTtRQUFmLE9BQUUsR0FBRixFQUFFLENBQWE7UUF4Q25DLG1IQUFtSDtRQUNuSCx3REFBd0Q7UUFDeEQsd0RBQXdEO1FBRXhEOztXQUVHO1FBQ0gsdUJBQWtCLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDakMsS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDckQsQ0FBQyxDQUFDO1FBRUg7O1dBRUc7UUFDTSxlQUFVLEdBQUc7WUFDcEIsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDO1NBQ1osQ0FBQztRQVNGOztXQUVHO1FBQ08sZ0JBQVcsR0FBNEMsSUFBSSxZQUFZLEVBQTZCLENBQUM7UUFFL0c7O1dBRUc7UUFDTyxxQkFBZ0IsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztJQU9wQyxDQUFDO0lBTHZDOztPQUVHO0lBQ0gsUUFBUSxLQUFVLENBQUM7SUFJbkIsTUFBTTtRQUNKLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO1lBQ3BCLEtBQUssRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLEtBQUs7U0FDbkQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFhO1FBQ3ZCLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLEVBQUU7WUFDbkQsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRTtnQkFDaEUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFxQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsd0JBQXdCLENBQUM7Z0JBQ3JGLE9BQU87YUFDUjtZQUVELElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQzdELElBQUksQ0FBQyxVQUFVLENBQUMsS0FBcUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLHFCQUFxQixDQUFDO2dCQUNsRixPQUFPO2FBQ1I7U0FDRjtRQUVELElBQUksQ0FBQyxVQUFVLENBQUMsS0FBcUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUNqRSxDQUFDOztxSEFuRVUsdUJBQXVCO3lHQUF2Qix1QkFBdUIsbU1DbkJwQyxrekJBa0JBOzRGRENhLHVCQUF1QjtrQkFQbkMsU0FBUzsrQkFDRSxvQkFBb0IsbUJBR2IsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSTtrR0FpQjVCLFVBQVU7c0JBQWxCLEtBQUs7Z0JBU0csT0FBTztzQkFBZixLQUFLO2dCQUtJLFdBQVc7c0JBQXBCLE1BQU07Z0JBS0csZ0JBQWdCO3NCQUF6QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRm9yZ290UGFzc3dvcmRDcmVkZW50aWFscyB9IGZyb20gJy4vZm9yZ290LXBhc3N3b3JkLm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndWktZm9yZ290LXBhc3N3b3JkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZvcmdvdC1wYXNzd29yZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ZvcmdvdC1wYXNzd29yZC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgRm9yZ290UGFzc3dvcmRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAvLyBUT0RPOiBTb21lIHByb3BlcnRpZXMgYW5kIG1ldGhvZHMgYXJlIGlnbm9yZWQgb24gcHVycG9zZSBiZWNhdXNlIG9mIGEgY3VycmVudCBpc3N1ZSB3aXRoIGNvbXBvZG9jIGFuZCBhbmd1bGFyIDEzXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9zdG9yeWJvb2tqcy9zdG9yeWJvb2svaXNzdWVzLzE2ODY1XG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9zdG9yeWJvb2tqcy9zdG9yeWJvb2svaXNzdWVzLzE3MDA0XG5cbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIGZvcmdvdFBhc3N3b3JkRm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgIGVtYWlsOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLmVtYWlsXV0sXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBASW5wdXQoKSBmb3JtRXJyb3JzID0ge1xuICAgIGVtYWlsOiBbJyddLFxuICB9O1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0b3IgaWYgdGhlIGZvcm0gaXMgbG9hZGluZ1xuICAgKlxuICAgKiBAbWVtYmVyb2YgQnV0dG9uQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBsb2FkaW5nOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBAT3V0cHV0KCkgc3VibWl0RXZlbnQ6IEV2ZW50RW1pdHRlcjxGb3Jnb3RQYXNzd29yZENyZWRlbnRpYWxzPiA9IG5ldyBFdmVudEVtaXR0ZXI8Rm9yZ290UGFzc3dvcmRDcmVkZW50aWFscz4oKTtcblxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgQE91dHB1dCgpIGJhY2tUb0xvZ2luRXZlbnQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgbmdPbkluaXQoKTogdm9pZCB7fVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyKSB7fVxuXG4gIHN1Ym1pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN1Ym1pdEV2ZW50LmVtaXQoe1xuICAgICAgZW1haWw6IHRoaXMuZm9yZ290UGFzc3dvcmRGb3JtLmdldCgnZW1haWwnKT8udmFsdWUsXG4gICAgfSk7XG4gIH1cblxuICBiYWNrVG9Mb2dpbigpOiB2b2lkIHtcbiAgICB0aGlzLmJhY2tUb0xvZ2luRXZlbnQuZW1pdCgpO1xuICB9XG5cbiAgY2hlY2tFcnJvcnMoZmllbGQ6IHN0cmluZykge1xuICAgIGlmICh0aGlzLmZvcmdvdFBhc3N3b3JkRm9ybS5jb250cm9sc1tmaWVsZF0udG91Y2hlZCkge1xuICAgICAgaWYgKHRoaXMuZm9yZ290UGFzc3dvcmRGb3JtLmNvbnRyb2xzW2ZpZWxkXS5oYXNFcnJvcigncmVxdWlyZWQnKSkge1xuICAgICAgICB0aGlzLmZvcm1FcnJvcnNbZmllbGQgYXMga2V5b2YgdHlwZW9mIHRoaXMuZm9ybUVycm9yc11bMF0gPSAnVGhpcyBmaWVsZCBpcyByZXF1aXJlZCc7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuZm9yZ290UGFzc3dvcmRGb3JtLmNvbnRyb2xzW2ZpZWxkXS5oYXNFcnJvcignZW1haWwnKSkge1xuICAgICAgICB0aGlzLmZvcm1FcnJvcnNbZmllbGQgYXMga2V5b2YgdHlwZW9mIHRoaXMuZm9ybUVycm9yc11bMF0gPSAnRW50ZXIgYSB2YWxpZCBlbWFpbCc7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLmZvcm1FcnJvcnNbZmllbGQgYXMga2V5b2YgdHlwZW9mIHRoaXMuZm9ybUVycm9yc11bMF0gPSAnJztcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZvcm0tYm94XCI+XG4gIDxpbWcgY2xhc3M9XCJsb2dvXCIgc3JjPVwiL2ltYWdlcy90ZXN0Z29yaWxsYS5zdmdcIj5cbiAgPGRpdiBjbGFzcz1cInRpdGxlXCI+UmVzZXQgeW91ciBwYXNzd29yZDwvZGl2PlxuICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcmdvdFBhc3N3b3JkRm9ybVwiPlxuICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxuICAgICAgPHVpLWZpZWxkIGZvcm1Db250cm9sTmFtZT1cImVtYWlsXCIgW3BsYWNlaG9sZGVyXT1cIidFbWFpbCdcIiBbdHlwZV09XCInZW1haWwnXCIgW3JlcXVpcmVkXT1cInRydWVcIiBbZXJyb3JdPVwiZm9ybUVycm9ycy5lbWFpbFswXVwiIChuZ01vZGVsQ2hhbmdlKT1cImNoZWNrRXJyb3JzKCdlbWFpbCcpXCI+PC91aS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJzdWJtaXQtYnV0dG9uXCI+XG4gICAgICA8dWktYnV0dG9uIFtsYWJlbF09XCInU2VuZCByZXNldCBsaW5rJ1wiIFtkaXNhYmxlZF09XCJmb3Jnb3RQYXNzd29yZEZvcm0uaW52YWxpZFwiIFtmdWxsV2lkdGhdPVwidHJ1ZVwiIFtsb2FkaW5nXT1cImxvYWRpbmdcIiAob25DbGlja0V2ZW50KT1cInN1Ym1pdCgpXCI+PC91aS1idXR0b24+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImJhY2stbG9naW5cIiAoY2xpY2spPVwiYmFja1RvTG9naW4oKVwiPlxuICAgICAgPG1hdC1pY29uPmFycm93X2JhY2s8L21hdC1pY29uPlxuICAgICAgPHNwYW4+QmFjayB0byBsb2cgaW48L3NwYW4+XG4gICAgPC9kaXY+XG4gIDwvZm9ybT5cbjwvZGl2PlxuIl19
|