@testgorilla/tgo-ui 0.0.32 → 0.0.34
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/.github/README.md +0 -2
- package/components/banner-action/banner-action.component.d.ts +3 -3
- package/components/create-account/create-account.component.d.ts +5 -1
- package/components/create-account/create-account.constant.d.ts +1 -0
- package/components/create-account/create-account.model.d.ts +1 -0
- package/esm2020/components/banner/banner.component.mjs +3 -3
- package/esm2020/components/banner/banner.component.module.mjs +4 -4
- package/esm2020/components/banner-action/banner-action.component.mjs +6 -6
- package/esm2020/components/banner-action/banner-action.component.module.mjs +4 -4
- package/esm2020/components/button/button.component.mjs +3 -3
- package/esm2020/components/button/button.component.module.mjs +4 -4
- package/esm2020/components/card/card.component.mjs +3 -3
- package/esm2020/components/card/card.component.module.mjs +4 -4
- package/esm2020/components/create-account/create-account.component.mjs +14 -14
- package/esm2020/components/create-account/create-account.component.module.mjs +4 -4
- package/esm2020/components/create-account/create-account.constant.mjs +3 -2
- package/esm2020/components/create-account/create-account.model.mjs +1 -1
- package/esm2020/components/create-password/create-password.component.mjs +6 -13
- package/esm2020/components/create-password/create-password.component.module.mjs +4 -4
- package/esm2020/components/dialog/dialog.component.mjs +3 -3
- package/esm2020/components/dialog/dialog.component.module.mjs +4 -4
- package/esm2020/components/dialog/dialog.service.mjs +3 -3
- package/esm2020/components/dialog/launch-dialog.component.mjs +3 -3
- package/esm2020/components/field/field.component.mjs +3 -3
- package/esm2020/components/field/field.component.module.mjs +4 -4
- package/esm2020/components/forgot-password/forgot-password.component.mjs +3 -3
- package/esm2020/components/forgot-password/forgot-password.component.module.mjs +4 -4
- package/esm2020/components/label/label.component.mjs +3 -3
- package/esm2020/components/label/label.component.module.mjs +4 -4
- package/esm2020/components/login/login.component.mjs +3 -3
- package/esm2020/components/login/login.component.module.mjs +4 -4
- package/esm2020/components/logo/logo.component.mjs +3 -3
- package/esm2020/components/logo/logo.component.module.mjs +4 -4
- package/esm2020/components/navbar/navbar.component.mjs +4 -4
- package/esm2020/components/navbar/navbar.component.module.mjs +4 -4
- package/esm2020/components/navigation/navigation.component.mjs +3 -3
- package/esm2020/components/navigation/navigation.component.module.mjs +4 -4
- package/esm2020/components/paginator/paginator.component.mjs +3 -3
- package/esm2020/components/paginator/paginator.component.module.mjs +4 -4
- package/esm2020/components/progress-bar/progress-bar.component.mjs +3 -3
- package/esm2020/components/progress-bar/progress-bar.component.module.mjs +4 -4
- package/esm2020/components/table/directives/dynamic-component.directive.mjs +3 -3
- package/esm2020/components/table/pipes/data-property-getter.mjs +3 -3
- package/esm2020/components/table/table.component.mjs +5 -5
- package/esm2020/components/table/table.component.module.mjs +4 -4
- package/esm2020/utils/validators.utils.mjs +8 -0
- package/fesm2015/testgorilla-tgo-ui.mjs +155 -155
- package/fesm2015/testgorilla-tgo-ui.mjs.map +1 -1
- package/fesm2020/testgorilla-tgo-ui.mjs +155 -155
- package/fesm2020/testgorilla-tgo-ui.mjs.map +1 -1
- package/package.json +1 -1
- package/utils/validators.utils.d.ts +4 -0
package/.github/README.md
CHANGED
|
@@ -45,7 +45,6 @@ In order to update the existing snapshots, we need to use DOCKER to update, sinc
|
|
|
45
45
|
|
|
46
46
|
```
|
|
47
47
|
docker run --rm --network host -v $(pwd):/work/ -w /work/ -it mcr.microsoft.com/playwright:latest /bin/bash
|
|
48
|
-
npm install
|
|
49
48
|
npx playwright install
|
|
50
49
|
npm run storybook &
|
|
51
50
|
npx playwright test e2e/<file_name>.spec.ts --update-snapshots
|
|
@@ -66,7 +65,6 @@ In order to execute the visual tests, we need to use same docker so that the scr
|
|
|
66
65
|
|
|
67
66
|
```
|
|
68
67
|
docker run --rm --network host -v $(pwd):/work/ -w /work/ -it mcr.microsoft.com/playwright:latest /bin/bash
|
|
69
|
-
npm install
|
|
70
68
|
npx playwright install
|
|
71
69
|
npm run storybook &
|
|
72
70
|
npx playwright test e2e/<file_name>.spec.ts
|
|
@@ -23,12 +23,12 @@ export declare class BannerActionComponent {
|
|
|
23
23
|
*/
|
|
24
24
|
buttonLabel: string;
|
|
25
25
|
/**
|
|
26
|
-
* BannerAction
|
|
26
|
+
* BannerAction svg image path
|
|
27
27
|
*
|
|
28
28
|
* @type {string}
|
|
29
29
|
* @memberof BannerActionComponent
|
|
30
30
|
*/
|
|
31
|
-
|
|
31
|
+
svgImg: string;
|
|
32
32
|
/**
|
|
33
33
|
* @ignore
|
|
34
34
|
*/
|
|
@@ -36,5 +36,5 @@ export declare class BannerActionComponent {
|
|
|
36
36
|
constructor();
|
|
37
37
|
buttonClicked(): void;
|
|
38
38
|
static ɵfac: i0.ɵɵFactoryDeclaration<BannerActionComponent, never>;
|
|
39
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<BannerActionComponent, "ui-banner-action", never, { "text": "text"; "backgroundColor": "backgroundColor"; "buttonLabel": "buttonLabel"; "
|
|
39
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<BannerActionComponent, "ui-banner-action", never, { "text": "text"; "backgroundColor": "backgroundColor"; "buttonLabel": "buttonLabel"; "svgImg": "svgImg"; }, { "buttonClickedEvent": "buttonClickedEvent"; }, never, never>;
|
|
40
40
|
}
|
|
@@ -4,6 +4,10 @@ import { CreateAccountCredentials, Ii18nCreateAccount } from './create-account.m
|
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export declare class CreateAccountComponent implements OnInit {
|
|
6
6
|
private fb;
|
|
7
|
+
/**
|
|
8
|
+
* @ignore
|
|
9
|
+
*/
|
|
10
|
+
termsOfusePath: string;
|
|
7
11
|
/**
|
|
8
12
|
* @ignore
|
|
9
13
|
*/
|
|
@@ -45,5 +49,5 @@ export declare class CreateAccountComponent implements OnInit {
|
|
|
45
49
|
login(): void;
|
|
46
50
|
checkErrors(field: string): void;
|
|
47
51
|
static ɵfac: i0.ɵɵFactoryDeclaration<CreateAccountComponent, never>;
|
|
48
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<CreateAccountComponent, "ui-create-account", never, { "formErrors": "formErrors"; "loading": "loading"; "i18n": "i18n"; }, { "submitEvent": "submitEvent"; "loginEvent": "loginEvent"; }, never, never>;
|
|
52
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<CreateAccountComponent, "ui-create-account", never, { "termsOfusePath": "termsOfusePath"; "formErrors": "formErrors"; "loading": "loading"; "i18n": "i18n"; }, { "submitEvent": "submitEvent"; "loginEvent": "loginEvent"; }, never, never>;
|
|
49
53
|
}
|
|
@@ -29,9 +29,9 @@ export class BannerComponent {
|
|
|
29
29
|
this.icon = 'error_outline';
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
|
-
BannerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.
|
|
33
|
-
BannerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.
|
|
34
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.
|
|
32
|
+
BannerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BannerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
33
|
+
BannerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: BannerComponent, selector: "ui-banner", inputs: { backgroundColor: "backgroundColor", text: "text", icon: "icon" }, ngImport: i0, template: "<div id=\"banner\" [style.background-color]=\"backgroundColor\">\n <mat-icon>{{ icon }}</mat-icon>\n <span>{{ text }}</span>\n</div>", styles: ["#banner{height:48px;padding:0 160px;color:#000;font-weight:600;font-size:14px;display:flex;align-items:center}#banner mat-icon{margin-right:16px}\n"], components: [{ type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
34
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BannerComponent, decorators: [{
|
|
35
35
|
type: Component,
|
|
36
36
|
args: [{ selector: 'ui-banner', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div id=\"banner\" [style.background-color]=\"backgroundColor\">\n <mat-icon>{{ icon }}</mat-icon>\n <span>{{ text }}</span>\n</div>", styles: ["#banner{height:48px;padding:0 160px;color:#000;font-weight:600;font-size:14px;display:flex;align-items:center}#banner mat-icon{margin-right:16px}\n"] }]
|
|
37
37
|
}], ctorParameters: function () { return []; }, propDecorators: { backgroundColor: [{
|
|
@@ -5,10 +5,10 @@ import { BannerComponent } from './banner.component';
|
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
export class BannerComponentModule {
|
|
7
7
|
}
|
|
8
|
-
BannerComponentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.
|
|
9
|
-
BannerComponentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.
|
|
10
|
-
BannerComponentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.
|
|
8
|
+
BannerComponentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BannerComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
9
|
+
BannerComponentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BannerComponentModule, declarations: [BannerComponent], imports: [CommonModule, MatIconModule], exports: [BannerComponent] });
|
|
10
|
+
BannerComponentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BannerComponentModule, providers: [], imports: [[CommonModule, MatIconModule]] });
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BannerComponentModule, decorators: [{
|
|
12
12
|
type: NgModule,
|
|
13
13
|
args: [{
|
|
14
14
|
declarations: [BannerComponent],
|
|
@@ -23,20 +23,20 @@ export class BannerActionComponent {
|
|
|
23
23
|
this.buttonClickedEvent.emit();
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
|
-
BannerActionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.
|
|
27
|
-
BannerActionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.
|
|
28
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.
|
|
26
|
+
BannerActionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BannerActionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
27
|
+
BannerActionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: BannerActionComponent, selector: "ui-banner-action", inputs: { text: "text", backgroundColor: "backgroundColor", buttonLabel: "buttonLabel", svgImg: "svgImg" }, outputs: { buttonClickedEvent: "buttonClickedEvent" }, ngImport: i0, template: "<div id=\"banner-action\" [style.background-color]=\"backgroundColor\">\n <div class=\"text\">\n <img *ngIf=\"svgImg\" class=\"svg-img\" [src]=\"svgImg\" alt=\"statusLogo\">\n <span>{{ text }}</span>\n </div>\n <ui-button [iconName]=\"'east'\" [iconPosition]=\"'right'\" [label]=\"buttonLabel\" [fullWidth]=\"false\" (onClickEvent)=\"buttonClicked()\" *ngIf=\"buttonLabel\"></ui-button>\n</div>", styles: ["#banner-action{height:72px;padding:0 16px;color:#000;font-weight:600;font-size:14px;display:flex;align-items:center;background:#FFFFFF;border:2px solid #276678;box-shadow:0 8px 16px #0000001a;border-radius:8px}#banner-action .text{width:100%;display:flex;align-items:center}#banner-action .text .svg-img{height:32px;width:32px;margin-right:16px}\n"], components: [{ type: i1.ButtonComponent, selector: "ui-button", inputs: ["color", "label", "iconPosition", "iconName", "disabled", "loading", "fullWidth"], outputs: ["onClickEvent"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
28
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BannerActionComponent, decorators: [{
|
|
29
29
|
type: Component,
|
|
30
|
-
args: [{ selector: 'ui-banner-action', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div id=\"banner-action\" [style.background-color]=\"backgroundColor\">\n <div class=\"text\">\n <
|
|
30
|
+
args: [{ selector: 'ui-banner-action', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div id=\"banner-action\" [style.background-color]=\"backgroundColor\">\n <div class=\"text\">\n <img *ngIf=\"svgImg\" class=\"svg-img\" [src]=\"svgImg\" alt=\"statusLogo\">\n <span>{{ text }}</span>\n </div>\n <ui-button [iconName]=\"'east'\" [iconPosition]=\"'right'\" [label]=\"buttonLabel\" [fullWidth]=\"false\" (onClickEvent)=\"buttonClicked()\" *ngIf=\"buttonLabel\"></ui-button>\n</div>", styles: ["#banner-action{height:72px;padding:0 16px;color:#000;font-weight:600;font-size:14px;display:flex;align-items:center;background:#FFFFFF;border:2px solid #276678;box-shadow:0 8px 16px #0000001a;border-radius:8px}#banner-action .text{width:100%;display:flex;align-items:center}#banner-action .text .svg-img{height:32px;width:32px;margin-right:16px}\n"] }]
|
|
31
31
|
}], ctorParameters: function () { return []; }, propDecorators: { text: [{
|
|
32
32
|
type: Input
|
|
33
33
|
}], backgroundColor: [{
|
|
34
34
|
type: Input
|
|
35
35
|
}], buttonLabel: [{
|
|
36
36
|
type: Input
|
|
37
|
-
}],
|
|
37
|
+
}], svgImg: [{
|
|
38
38
|
type: Input
|
|
39
39
|
}], buttonClickedEvent: [{
|
|
40
40
|
type: Output
|
|
41
41
|
}] } });
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFubmVyLWFjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9iYW5uZXItYWN0aW9uL2Jhbm5lci1hY3Rpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYmFubmVyLWFjdGlvbi9iYW5uZXItYWN0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFRaEcsTUFBTSxPQUFPLHFCQUFxQjtJQTBDaEM7UUF6Q0EsbUhBQW1IO1FBQ25ILHdEQUF3RDtRQUN4RCx3REFBd0Q7UUFFeEQ7Ozs7O1dBS0c7UUFDTSxTQUFJLEdBQUcsRUFBRSxDQUFDO1FBMEJuQjs7V0FFRztRQUNPLHVCQUFrQixHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO0lBRTdELENBQUM7SUFFaEIsYUFBYTtRQUNYLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNqQyxDQUFDOzttSEE5Q1UscUJBQXFCO3VHQUFyQixxQkFBcUIsMk5DUmxDLG1hQU1NOzRGREVPLHFCQUFxQjtrQkFOakMsU0FBUzsrQkFDRSxrQkFBa0IsbUJBR1gsdUJBQXVCLENBQUMsTUFBTTswRUFhdEMsSUFBSTtzQkFBWixLQUFLO2dCQVFHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBUUcsV0FBVztzQkFBbkIsS0FBSztnQkFRRyxNQUFNO3NCQUFkLEtBQUs7Z0JBS0ksa0JBQWtCO3NCQUEzQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3VpLWJhbm5lci1hY3Rpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vYmFubmVyLWFjdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Jhbm5lci1hY3Rpb24uY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEJhbm5lckFjdGlvbkNvbXBvbmVudCB7XG4gIC8vIFRPRE86IFNvbWUgcHJvcGVydGllcyBhbmQgbWV0aG9kcyBhcmUgaWdub3JlZCBvbiBwdXJwb3NlIGJlY2F1c2Ugb2YgYSBjdXJyZW50IGlzc3VlIHdpdGggY29tcG9kb2MgYW5kIGFuZ3VsYXIgMTNcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3N0b3J5Ym9va2pzL3N0b3J5Ym9vay9pc3N1ZXMvMTY4NjVcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3N0b3J5Ym9va2pzL3N0b3J5Ym9vay9pc3N1ZXMvMTcwMDRcblxuICAvKipcbiAgICogQmFubmVyQWN0aW9uIHRleHRcbiAgICpcbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQG1lbWJlcm9mIEJhbm5lckFjdGlvbkNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgdGV4dCA9ICcnO1xuXG4gIC8qKlxuICAgKiBCYW5uZXJBY3Rpb24gYmFja2dyb3VuZCBjb2xvclxuICAgKlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAbWVtYmVyb2YgQmFubmVyQWN0aW9uQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBiYWNrZ3JvdW5kQ29sb3I6IHN0cmluZztcblxuICAvKipcbiAgICogQmFubmVyQWN0aW9uIGJ1dHRvbiBsYWJlbFxuICAgKlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAbWVtYmVyb2YgQmFubmVyQWN0aW9uQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBidXR0b25MYWJlbDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBCYW5uZXJBY3Rpb24gc3ZnIGltYWdlIHBhdGhcbiAgICpcbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQG1lbWJlcm9mIEJhbm5lckFjdGlvbkNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgc3ZnSW1nOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIEBPdXRwdXQoKSBidXR0b25DbGlja2VkRXZlbnQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgYnV0dG9uQ2xpY2tlZCgpOiB2b2lkIHtcbiAgICB0aGlzLmJ1dHRvbkNsaWNrZWRFdmVudC5lbWl0KCk7XG4gIH1cbn1cbiIsIjxkaXYgaWQ9XCJiYW5uZXItYWN0aW9uXCIgW3N0eWxlLmJhY2tncm91bmQtY29sb3JdPVwiYmFja2dyb3VuZENvbG9yXCI+XG4gICAgPGRpdiBjbGFzcz1cInRleHRcIj5cbiAgICAgICAgPGltZyAqbmdJZj1cInN2Z0ltZ1wiIGNsYXNzPVwic3ZnLWltZ1wiIFtzcmNdPVwic3ZnSW1nXCIgYWx0PVwic3RhdHVzTG9nb1wiPlxuICAgICAgICA8c3Bhbj57eyB0ZXh0IH19PC9zcGFuPlxuICAgIDwvZGl2PlxuICAgIDx1aS1idXR0b24gW2ljb25OYW1lXT1cIidlYXN0J1wiIFtpY29uUG9zaXRpb25dPVwiJ3JpZ2h0J1wiIFtsYWJlbF09XCJidXR0b25MYWJlbFwiIFtmdWxsV2lkdGhdPVwiZmFsc2VcIiAob25DbGlja0V2ZW50KT1cImJ1dHRvbkNsaWNrZWQoKVwiICpuZ0lmPVwiYnV0dG9uTGFiZWxcIj48L3VpLWJ1dHRvbj5cbjwvZGl2PiJdfQ==
|
|
@@ -6,10 +6,10 @@ import { BannerActionComponent } from './banner-action.component';
|
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
export class BannerActionComponentModule {
|
|
8
8
|
}
|
|
9
|
-
BannerActionComponentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.
|
|
10
|
-
BannerActionComponentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.
|
|
11
|
-
BannerActionComponentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.
|
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.
|
|
9
|
+
BannerActionComponentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BannerActionComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
10
|
+
BannerActionComponentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BannerActionComponentModule, declarations: [BannerActionComponent], imports: [CommonModule, MatIconModule, ButtonComponentModule], exports: [BannerActionComponent] });
|
|
11
|
+
BannerActionComponentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BannerActionComponentModule, providers: [], imports: [[CommonModule, MatIconModule, ButtonComponentModule]] });
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BannerActionComponentModule, decorators: [{
|
|
13
13
|
type: NgModule,
|
|
14
14
|
args: [{
|
|
15
15
|
declarations: [BannerActionComponent],
|
|
@@ -49,9 +49,9 @@ export class ButtonComponent {
|
|
|
49
49
|
this.onClickEvent.emit();
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
|
-
ButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.
|
|
53
|
-
ButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.
|
|
54
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.
|
|
52
|
+
ButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
53
|
+
ButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: ButtonComponent, selector: "ui-button", inputs: { color: "color", label: "label", iconPosition: "iconPosition", iconName: "iconName", disabled: "disabled", loading: "loading", fullWidth: "fullWidth" }, outputs: { onClickEvent: "onClickEvent" }, ngImport: i0, template: "<button mat-flat-button [ngStyle]=\"{'width': fullWidth ? '100%' : 'auto'}\" [ngClass]=\"{'primary': color === 'primary', 'secondary' : color === 'secondary', 'tertiary' : color === 'tertiary' }\" [disabled]=\"disabled || loading\" (click)=\"onClick()\" >\n <div class=\"label-icon-wrapper\" [ngClass]=\"{ hidden: loading }\">\n <span class=\"icon icon-left\" *ngIf=\"iconPosition === 'left'\"\n ><mat-icon>{{ iconName }}</mat-icon></span\n >\n <span [ngClass]=\"{ 'label-without-icon': iconName === '', 'label-with-icon': iconName !== '' }\">{{ label }}</span>\n <span class=\"icon icon-right\" *ngIf=\"iconPosition === 'right'\"\n ><mat-icon>{{ iconName }}</mat-icon></span\n >\n </div>\n <mat-spinner *ngIf=\"loading\" class=\"position-spinner\" aria-label=\"loading\" mode=\"indeterminate\" diameter=\"16\"></mat-spinner>\n</button>\n", styles: ["button{padding:16px}button.primary{background-color:#46a997;color:#fff}button.primary.mat-flat-button.mat-button-disabled{background-color:#a2d4cb!important}button.secondary{background-color:#ededed;color:#000}button.secondary.mat-flat-button.mat-button-disabled{background-color:#f6f6f6!important;color:#000!important}button.tertiary{background-color:inherit;border-color:inherit;color:#46a997}button.tertiary.mat-flat-button.mat-button-disabled{background-color:inherit!important;border-color:inherit!important;color:#a2d4cb!important}button .label-icon-wrapper{display:flex;justify-content:center}button .label-icon-wrapper .label-without-icon{margin:0 16px;line-height:16px}button .label-icon-wrapper .label-with-icon{margin:0;line-height:16px}button .label-icon-wrapper .mat-icon{font-size:16px;height:16px;width:16px}button .label-icon-wrapper .icon-left{margin:0 16px 0 0}button .label-icon-wrapper .icon-right{margin:0 0 0 16px}button .position-spinner{width:16px;height:16px;display:inline-flex;margin-top:-16px}\n"], components: [{ type: i1.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: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i3.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }], directives: [{ type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
54
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ButtonComponent, decorators: [{
|
|
55
55
|
type: Component,
|
|
56
56
|
args: [{ selector: 'ui-button', template: "<button mat-flat-button [ngStyle]=\"{'width': fullWidth ? '100%' : 'auto'}\" [ngClass]=\"{'primary': color === 'primary', 'secondary' : color === 'secondary', 'tertiary' : color === 'tertiary' }\" [disabled]=\"disabled || loading\" (click)=\"onClick()\" >\n <div class=\"label-icon-wrapper\" [ngClass]=\"{ hidden: loading }\">\n <span class=\"icon icon-left\" *ngIf=\"iconPosition === 'left'\"\n ><mat-icon>{{ iconName }}</mat-icon></span\n >\n <span [ngClass]=\"{ 'label-without-icon': iconName === '', 'label-with-icon': iconName !== '' }\">{{ label }}</span>\n <span class=\"icon icon-right\" *ngIf=\"iconPosition === 'right'\"\n ><mat-icon>{{ iconName }}</mat-icon></span\n >\n </div>\n <mat-spinner *ngIf=\"loading\" class=\"position-spinner\" aria-label=\"loading\" mode=\"indeterminate\" diameter=\"16\"></mat-spinner>\n</button>\n", styles: ["button{padding:16px}button.primary{background-color:#46a997;color:#fff}button.primary.mat-flat-button.mat-button-disabled{background-color:#a2d4cb!important}button.secondary{background-color:#ededed;color:#000}button.secondary.mat-flat-button.mat-button-disabled{background-color:#f6f6f6!important;color:#000!important}button.tertiary{background-color:inherit;border-color:inherit;color:#46a997}button.tertiary.mat-flat-button.mat-button-disabled{background-color:inherit!important;border-color:inherit!important;color:#a2d4cb!important}button .label-icon-wrapper{display:flex;justify-content:center}button .label-icon-wrapper .label-without-icon{margin:0 16px;line-height:16px}button .label-icon-wrapper .label-with-icon{margin:0;line-height:16px}button .label-icon-wrapper .mat-icon{font-size:16px;height:16px;width:16px}button .label-icon-wrapper .icon-left{margin:0 16px 0 0}button .label-icon-wrapper .icon-right{margin:0 0 0 16px}button .position-spinner{width:16px;height:16px;display:inline-flex;margin-top:-16px}\n"] }]
|
|
57
57
|
}], propDecorators: { color: [{
|
|
@@ -7,10 +7,10 @@ import { ButtonComponent } from './button.component';
|
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
export class ButtonComponentModule {
|
|
9
9
|
}
|
|
10
|
-
ButtonComponentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.
|
|
11
|
-
ButtonComponentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.
|
|
12
|
-
ButtonComponentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.
|
|
13
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.
|
|
10
|
+
ButtonComponentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ButtonComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
11
|
+
ButtonComponentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ButtonComponentModule, declarations: [ButtonComponent], imports: [CommonModule, MatButtonModule, MatIconModule, MatProgressSpinnerModule], exports: [ButtonComponent] });
|
|
12
|
+
ButtonComponentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ButtonComponentModule, providers: [], imports: [[CommonModule, MatButtonModule, MatIconModule, MatProgressSpinnerModule]] });
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ButtonComponentModule, decorators: [{
|
|
14
14
|
type: NgModule,
|
|
15
15
|
args: [{
|
|
16
16
|
declarations: [ButtonComponent],
|
|
@@ -8,9 +8,9 @@ export class CardComponent {
|
|
|
8
8
|
this.subTitle = '';
|
|
9
9
|
}
|
|
10
10
|
}
|
|
11
|
-
CardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.
|
|
12
|
-
CardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.
|
|
13
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.
|
|
11
|
+
CardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
12
|
+
CardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: CardComponent, selector: "ui-card", inputs: { title: "title", subTitle: "subTitle" }, ngImport: i0, template: "<mat-card class=\"container\">\n <ui-logo class=\"logo\"></ui-logo>\n <mat-card-title>{{title}}</mat-card-title>\n <mat-card-subtitle>{{subTitle}}</mat-card-subtitle>\n</mat-card>\n", styles: [".container{width:672px;box-sizing:border-box;padding:80px!important}.container .logo{margin-bottom:40px}.container .mat-card-title{margin-bottom:24px;font-weight:700;font-size:22px;line-height:135%;width:100%;word-wrap:break-word}.container .mat-card-subtitle{color:#000;font-weight:400;font-size:16px;line-height:135%}\n"], components: [{ type: i1.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { type: i2.LogoComponent, selector: "ui-logo" }], directives: [{ type: i1.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { type: i1.MatCardSubtitle, selector: "mat-card-subtitle, [mat-card-subtitle], [matCardSubtitle]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CardComponent, decorators: [{
|
|
14
14
|
type: Component,
|
|
15
15
|
args: [{ selector: 'ui-card', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-card class=\"container\">\n <ui-logo class=\"logo\"></ui-logo>\n <mat-card-title>{{title}}</mat-card-title>\n <mat-card-subtitle>{{subTitle}}</mat-card-subtitle>\n</mat-card>\n", styles: [".container{width:672px;box-sizing:border-box;padding:80px!important}.container .logo{margin-bottom:40px}.container .mat-card-title{margin-bottom:24px;font-weight:700;font-size:22px;line-height:135%;width:100%;word-wrap:break-word}.container .mat-card-subtitle{color:#000;font-weight:400;font-size:16px;line-height:135%}\n"] }]
|
|
16
16
|
}], propDecorators: { title: [{
|
|
@@ -6,10 +6,10 @@ import { CardComponent } from './card.component';
|
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
export class CardComponentModule {
|
|
8
8
|
}
|
|
9
|
-
CardComponentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.
|
|
10
|
-
CardComponentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.
|
|
11
|
-
CardComponentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.
|
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.
|
|
9
|
+
CardComponentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CardComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
10
|
+
CardComponentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CardComponentModule, declarations: [CardComponent], imports: [CommonModule, MatCardModule, LogoComponentModule], exports: [CardComponent] });
|
|
11
|
+
CardComponentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CardComponentModule, imports: [[CommonModule, MatCardModule, LogoComponentModule]] });
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CardComponentModule, decorators: [{
|
|
13
13
|
type: NgModule,
|
|
14
14
|
args: [{
|
|
15
15
|
declarations: [CardComponent],
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
2
|
import { Validators } from '@angular/forms';
|
|
3
|
+
import { ValidatorsUtil } from '../../utils/validators.utils';
|
|
3
4
|
import { CREATE_ACCOUNT_i18n } from './create-account.constant';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
6
|
import * as i1 from "@angular/forms";
|
|
@@ -14,19 +15,16 @@ export class CreateAccountComponent {
|
|
|
14
15
|
// TODO: Some properties and methods are ignored on purpose because of a current issue with compodoc and angular 13
|
|
15
16
|
// https://github.com/storybookjs/storybook/issues/16865
|
|
16
17
|
// https://github.com/storybookjs/storybook/issues/17004
|
|
18
|
+
/**
|
|
19
|
+
* @ignore
|
|
20
|
+
*/
|
|
21
|
+
this.termsOfusePath = 'https://www.testgorilla.com/terms/';
|
|
17
22
|
/**
|
|
18
23
|
* @ignore
|
|
19
24
|
*/
|
|
20
25
|
this.registerForm = this.fb.group({
|
|
21
26
|
username: ['', [Validators.required, Validators.email]],
|
|
22
|
-
password: [
|
|
23
|
-
'',
|
|
24
|
-
[
|
|
25
|
-
Validators.required,
|
|
26
|
-
Validators.minLength(12),
|
|
27
|
-
Validators.pattern(/^(?=\D*\d)(?=[^a-z]*[a-z])(?=.*[#$%&'()*+,-./:;<=>?@^_~|"`{}\[\]])(?=[^A-Z]*[A-Z]).{12,}$/),
|
|
28
|
-
],
|
|
29
|
-
],
|
|
27
|
+
password: ['', ValidatorsUtil.validatePassword()],
|
|
30
28
|
agree_terms_and_conditions: [false, [Validators.requiredTrue]],
|
|
31
29
|
});
|
|
32
30
|
/**
|
|
@@ -89,12 +87,14 @@ export class CreateAccountComponent {
|
|
|
89
87
|
this.formErrors[field][0] = '';
|
|
90
88
|
}
|
|
91
89
|
}
|
|
92
|
-
CreateAccountComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.
|
|
93
|
-
CreateAccountComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.
|
|
94
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.
|
|
90
|
+
CreateAccountComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CreateAccountComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
|
|
91
|
+
CreateAccountComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: CreateAccountComponent, selector: "ui-create-account", inputs: { termsOfusePath: "termsOfusePath", formErrors: "formErrors", loading: "loading", i18n: "i18n" }, outputs: { submitEvent: "submitEvent", loginEvent: "loginEvent" }, ngImport: i0, template: "<div class=\"form-box\">\n <ui-logo></ui-logo>\n <div class=\"title\">{{ i18n.title }}</div>\n <div class=\"subtitle\">{{ i18n.subtitle }}</div>\n <form [formGroup]=\"registerForm\">\n <div class=\"field\">\n <ui-field\n formControlName=\"username\"\n [label]=\"i18n.email_label\"\n [type]=\"'email'\"\n [required]=\"true\"\n [error]=\"formErrors.username[0]\"\n (ngModelChange)=\"checkErrors('username')\"\n ></ui-field>\n </div>\n <div class=\"field\">\n <ui-field\n formControlName=\"password\"\n [label]=\"i18n.password_label\"\n [type]=\"'password'\"\n [required]=\"true\"\n [error]=\"formErrors.password[0]\"\n (ngModelChange)=\"checkErrors('password')\"\n ></ui-field>\n <div class=\"password-strength-container\">\n <mat-password-strength\n [min]=\"12\"\n #passwordComponentWithValidation\n [password]=\"registerForm.controls['password'].value\"\n aria-hidden=\"true\"\n >\n </mat-password-strength>\n </div>\n <mat-password-strength-info [passwordComponent]=\"passwordComponentWithValidation\"> </mat-password-strength-info>\n </div>\n <div class=\"terms-conditions-container\">\n <mat-checkbox formControlName=\"agree_terms_and_conditions\">\n {{ i18n.terms_conditions }}\n <a class=\"link\" [href]=\"termsOfusePath\" target=\"_blank\">{{ i18n.terms_conditions_link_label }}</a>.\n </mat-checkbox>\n </div>\n <div class=\"submit-button\">\n <ui-button\n [label]=\"i18n.button_label\"\n [disabled]=\"registerForm.invalid\"\n [fullWidth]=\"true\"\n [loading]=\"loading\"\n (onClickEvent)=\"submit()\"\n ></ui-button>\n </div>\n <div>\n {{ i18n.have_career_passport }} <span class=\"link\" (click)=\"login()\">{{ i18n.login }}</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 .title{font-weight:700;font-size:22px;line-height:29.7px;margin-top:40px}.form-box .subtitle{font-weight:400;font-size:16px;line-height:21.6px;margin:24px 0}.form-box .field{width:100%}.form-box .password-strength-container{margin:2.7px 0 1px}.form-box .terms-conditions-container{margin-top:9px}.form-box .submit-button{margin:24px 0}.form-box mat-checkbox{font-weight:400}.form-box .link{font-weight:600;cursor:pointer;color:#46a997;text-decoration:none}.form-box .link:hover{text-decoration:underline}.row{display:flex;flex-direction:row}.row.space-between{justify-content:space-between}\n"], components: [{ type: i2.LogoComponent, selector: "ui-logo" }, { type: i3.FieldComponent, selector: "ui-field", inputs: ["label", "preffixIcon", "suffixIcon", "required", "hint", "error", "placeholder", "type"] }, { type: i4.MatPasswordStrengthComponent, selector: "mat-password-strength", inputs: ["password", "externalError", "enableLengthRule", "enableLowerCaseLetterRule", "enableUpperCaseLetterRule", "enableDigitRule", "enableSpecialCharRule", "min", "max", "customValidator", "warnThreshold", "accentThreshold"], outputs: ["onStrengthChanged"], exportAs: ["matPasswordStrength"] }, { type: i4.MatPasswordStrengthInfoComponent, selector: "mat-password-strength-info", inputs: ["passwordComponent", "enableScoreInfo", "lowerCaseCriteriaMsg", "upperCaseCriteriaMsg", "digitsCriteriaMsg", "specialCharsCriteriaMsg", "customCharsCriteriaMsg", "minCharsCriteriaMsg", "matIconDone", "matIconError"], exportAs: ["matPasswordStrengthInfo"] }, { type: i5.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: i6.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 });
|
|
92
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CreateAccountComponent, decorators: [{
|
|
95
93
|
type: Component,
|
|
96
|
-
args: [{ selector: 'ui-create-account', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"form-box\">\n <ui-logo></ui-logo>\n <div class=\"title\">{{ i18n.title }}</div>\n <div class=\"subtitle\">{{ i18n.subtitle }}</div>\n <form [formGroup]=\"registerForm\">\n <div class=\"field\">\n <ui-field\n formControlName=\"username\"\n [label]=\"i18n.email_label\"\n [type]=\"'email'\"\n [required]=\"true\"\n [error]=\"formErrors.username[0]\"\n (ngModelChange)=\"checkErrors('username')\"\n ></ui-field>\n </div>\n <div class=\"field\">\n <ui-field\n formControlName=\"password\"\n [label]=\"i18n.password_label\"\n [type]=\"'password'\"\n [required]=\"true\"\n [error]=\"formErrors.password[0]\"\n (ngModelChange)=\"checkErrors('password')\"\n ></ui-field>\n <div class=\"password-strength-container\">\n <mat-password-strength\n [min]=\"12\"\n #passwordComponentWithValidation\n [password]=\"registerForm.controls['password'].value\"\n aria-hidden=\"true\"\n >\n </mat-password-strength>\n </div>\n <mat-password-strength-info [passwordComponent]=\"passwordComponentWithValidation\"> </mat-password-strength-info>\n </div>\n <div class=\"terms-conditions-container\">\n <mat-checkbox formControlName=\"agree_terms_and_conditions\"
|
|
97
|
-
}], ctorParameters: function () { return [{ type: i1.FormBuilder }]; }, propDecorators: {
|
|
94
|
+
args: [{ selector: 'ui-create-account', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"form-box\">\n <ui-logo></ui-logo>\n <div class=\"title\">{{ i18n.title }}</div>\n <div class=\"subtitle\">{{ i18n.subtitle }}</div>\n <form [formGroup]=\"registerForm\">\n <div class=\"field\">\n <ui-field\n formControlName=\"username\"\n [label]=\"i18n.email_label\"\n [type]=\"'email'\"\n [required]=\"true\"\n [error]=\"formErrors.username[0]\"\n (ngModelChange)=\"checkErrors('username')\"\n ></ui-field>\n </div>\n <div class=\"field\">\n <ui-field\n formControlName=\"password\"\n [label]=\"i18n.password_label\"\n [type]=\"'password'\"\n [required]=\"true\"\n [error]=\"formErrors.password[0]\"\n (ngModelChange)=\"checkErrors('password')\"\n ></ui-field>\n <div class=\"password-strength-container\">\n <mat-password-strength\n [min]=\"12\"\n #passwordComponentWithValidation\n [password]=\"registerForm.controls['password'].value\"\n aria-hidden=\"true\"\n >\n </mat-password-strength>\n </div>\n <mat-password-strength-info [passwordComponent]=\"passwordComponentWithValidation\"> </mat-password-strength-info>\n </div>\n <div class=\"terms-conditions-container\">\n <mat-checkbox formControlName=\"agree_terms_and_conditions\">\n {{ i18n.terms_conditions }}\n <a class=\"link\" [href]=\"termsOfusePath\" target=\"_blank\">{{ i18n.terms_conditions_link_label }}</a>.\n </mat-checkbox>\n </div>\n <div class=\"submit-button\">\n <ui-button\n [label]=\"i18n.button_label\"\n [disabled]=\"registerForm.invalid\"\n [fullWidth]=\"true\"\n [loading]=\"loading\"\n (onClickEvent)=\"submit()\"\n ></ui-button>\n </div>\n <div>\n {{ i18n.have_career_passport }} <span class=\"link\" (click)=\"login()\">{{ i18n.login }}</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 .title{font-weight:700;font-size:22px;line-height:29.7px;margin-top:40px}.form-box .subtitle{font-weight:400;font-size:16px;line-height:21.6px;margin:24px 0}.form-box .field{width:100%}.form-box .password-strength-container{margin:2.7px 0 1px}.form-box .terms-conditions-container{margin-top:9px}.form-box .submit-button{margin:24px 0}.form-box mat-checkbox{font-weight:400}.form-box .link{font-weight:600;cursor:pointer;color:#46a997;text-decoration:none}.form-box .link:hover{text-decoration:underline}.row{display:flex;flex-direction:row}.row.space-between{justify-content:space-between}\n"] }]
|
|
95
|
+
}], ctorParameters: function () { return [{ type: i1.FormBuilder }]; }, propDecorators: { termsOfusePath: [{
|
|
96
|
+
type: Input
|
|
97
|
+
}], formErrors: [{
|
|
98
98
|
type: Input
|
|
99
99
|
}], loading: [{
|
|
100
100
|
type: Input
|
|
@@ -105,4 +105,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
105
105
|
}], loginEvent: [{
|
|
106
106
|
type: Output
|
|
107
107
|
}] } });
|
|
108
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
108
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWFjY291bnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvY3JlYXRlLWFjY291bnQvY3JlYXRlLWFjY291bnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvY3JlYXRlLWFjY291bnQvY3JlYXRlLWFjY291bnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RyxPQUFPLEVBQWUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzlELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7Ozs7OztBQVNoRSxNQUFNLE9BQU8sc0JBQXNCO0lBeURqQyxZQUFvQixFQUFlO1FBQWYsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQXhEbkMsbUhBQW1IO1FBQ25ILHdEQUF3RDtRQUN4RCx3REFBd0Q7UUFFeEQ7O1dBRUc7UUFDTSxtQkFBYyxHQUFHLG9DQUFvQyxDQUFDO1FBRS9EOztXQUVHO1FBQ0gsaUJBQVksR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUMzQixRQUFRLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN2RCxRQUFRLEVBQUUsQ0FBQyxFQUFFLEVBQUUsY0FBYyxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDakQsMEJBQTBCLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDL0QsQ0FBQyxDQUFDO1FBRUg7O1dBRUc7UUFDTSxlQUFVLEdBQUc7WUFDcEIsUUFBUSxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ2QsUUFBUSxFQUFFLENBQUMsRUFBRSxDQUFDO1NBQ2YsQ0FBQztRQUVGOzs7O1dBSUc7UUFDTSxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBRXpCOzs7OztXQUtHO1FBQ00sU0FBSSxHQUF1QixtQkFBbUIsQ0FBQztRQUV4RDs7V0FFRztRQUNPLGdCQUFXLEdBQTJDLElBQUksWUFBWSxFQUE0QixDQUFDO1FBRTdHOztXQUVHO1FBQ08sZUFBVSxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO0lBTzlCLENBQUM7SUFMdkM7O09BRUc7SUFDSCxRQUFRLEtBQVUsQ0FBQztJQUluQixNQUFNO1FBQ0osSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUM7WUFDcEIsUUFBUSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxFQUFFLEtBQUs7WUFDbEQsUUFBUSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxFQUFFLEtBQUs7U0FDbkQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBYTtRQUN2QixJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sRUFBRTtZQUM3QyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRTtnQkFDMUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFxQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsd0JBQXdCLENBQUM7Z0JBQ3JGLE9BQU87YUFDUjtZQUVELElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUN2RCxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQXFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxxQkFBcUIsQ0FBQztnQkFDbEYsT0FBTzthQUNSO1lBRUQsSUFBSSxLQUFLLEtBQUssVUFBVSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRTtnQkFDakYsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcscUJBQXFCLENBQUM7Z0JBQ3BELE9BQU87YUFDUjtTQUNGO1FBRUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFxQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQ2pFLENBQUM7O29IQXpGVSxzQkFBc0I7d0dBQXRCLHNCQUFzQixzT0NabkMsbzZEQXVEQTs0RkQzQ2Esc0JBQXNCO2tCQU5sQyxTQUFTOytCQUNFLG1CQUFtQixtQkFHWix1QkFBdUIsQ0FBQyxNQUFNO2tHQVV0QyxjQUFjO3NCQUF0QixLQUFLO2dCQWNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBVUcsT0FBTztzQkFBZixLQUFLO2dCQVFHLElBQUk7c0JBQVosS0FBSztnQkFLSSxXQUFXO3NCQUFwQixNQUFNO2dCQUtHLFVBQVU7c0JBQW5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBWYWxpZGF0b3JzVXRpbCB9IGZyb20gJy4uLy4uL3V0aWxzL3ZhbGlkYXRvcnMudXRpbHMnO1xuaW1wb3J0IHsgQ1JFQVRFX0FDQ09VTlRfaTE4biB9IGZyb20gJy4vY3JlYXRlLWFjY291bnQuY29uc3RhbnQnO1xuaW1wb3J0IHsgQ3JlYXRlQWNjb3VudENyZWRlbnRpYWxzLCBJaTE4bkNyZWF0ZUFjY291bnQgfSBmcm9tICcuL2NyZWF0ZS1hY2NvdW50Lm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndWktY3JlYXRlLWFjY291bnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vY3JlYXRlLWFjY291bnQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jcmVhdGUtYWNjb3VudC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQ3JlYXRlQWNjb3VudENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIC8vIFRPRE86IFNvbWUgcHJvcGVydGllcyBhbmQgbWV0aG9kcyBhcmUgaWdub3JlZCBvbiBwdXJwb3NlIGJlY2F1c2Ugb2YgYSBjdXJyZW50IGlzc3VlIHdpdGggY29tcG9kb2MgYW5kIGFuZ3VsYXIgMTNcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3N0b3J5Ym9va2pzL3N0b3J5Ym9vay9pc3N1ZXMvMTY4NjVcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3N0b3J5Ym9va2pzL3N0b3J5Ym9vay9pc3N1ZXMvMTcwMDRcblxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgQElucHV0KCkgdGVybXNPZnVzZVBhdGggPSAnaHR0cHM6Ly93d3cudGVzdGdvcmlsbGEuY29tL3Rlcm1zLyc7XG5cbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIHJlZ2lzdGVyRm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgIHVzZXJuYW1lOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLmVtYWlsXV0sXG4gICAgcGFzc3dvcmQ6IFsnJywgVmFsaWRhdG9yc1V0aWwudmFsaWRhdGVQYXNzd29yZCgpXSxcbiAgICBhZ3JlZV90ZXJtc19hbmRfY29uZGl0aW9uczogW2ZhbHNlLCBbVmFsaWRhdG9ycy5yZXF1aXJlZFRydWVdXSxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIEBJbnB1dCgpIGZvcm1FcnJvcnMgPSB7XG4gICAgdXNlcm5hbWU6IFsnJ10sXG4gICAgcGFzc3dvcmQ6IFsnJ10sXG4gIH07XG5cbiAgLyoqXG4gICAqIEluZGljYXRvciBpZiB0aGUgZm9ybSBpcyBsb2FkaW5nXG4gICAqXG4gICAqIEBtZW1iZXJvZiBCdXR0b25Db21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGxvYWRpbmcgPSBmYWxzZTtcblxuICAvKipcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uIE9iamVjdCB3aXRoIHRoZSB0cmFuc2xhdGlvbnMgZm9yIHRoZSBjb21wb25lbnQuXG4gICAqIEB0eXBlIHtJaTE4bkNyZWF0ZUFjY291bnR9XG4gICAqIEBtZW1iZXJvZiBDcmVhdGVBY2NvdW50Q29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBpMThuOiBJaTE4bkNyZWF0ZUFjY291bnQgPSBDUkVBVEVfQUNDT1VOVF9pMThuO1xuXG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBAT3V0cHV0KCkgc3VibWl0RXZlbnQ6IEV2ZW50RW1pdHRlcjxDcmVhdGVBY2NvdW50Q3JlZGVudGlhbHM+ID0gbmV3IEV2ZW50RW1pdHRlcjxDcmVhdGVBY2NvdW50Q3JlZGVudGlhbHM+KCk7XG5cbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIEBPdXRwdXQoKSBsb2dpbkV2ZW50OiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIG5nT25Jbml0KCk6IHZvaWQge31cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZiOiBGb3JtQnVpbGRlcikge31cblxuICBzdWJtaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zdWJtaXRFdmVudC5lbWl0KHtcbiAgICAgIHVzZXJuYW1lOiB0aGlzLnJlZ2lzdGVyRm9ybS5nZXQoJ3VzZXJuYW1lJyk/LnZhbHVlLFxuICAgICAgcGFzc3dvcmQ6IHRoaXMucmVnaXN0ZXJGb3JtLmdldCgncGFzc3dvcmQnKT8udmFsdWUsXG4gICAgfSk7XG4gIH1cblxuICBsb2dpbigpOiB2b2lkIHtcbiAgICB0aGlzLmxvZ2luRXZlbnQuZW1pdCgpO1xuICB9XG5cbiAgY2hlY2tFcnJvcnMoZmllbGQ6IHN0cmluZykge1xuICAgIGlmICh0aGlzLnJlZ2lzdGVyRm9ybS5jb250cm9sc1tmaWVsZF0udG91Y2hlZCkge1xuICAgICAgaWYgKHRoaXMucmVnaXN0ZXJGb3JtLmNvbnRyb2xzW2ZpZWxkXS5oYXNFcnJvcigncmVxdWlyZWQnKSkge1xuICAgICAgICB0aGlzLmZvcm1FcnJvcnNbZmllbGQgYXMga2V5b2YgdHlwZW9mIHRoaXMuZm9ybUVycm9yc11bMF0gPSAnVGhpcyBmaWVsZCBpcyByZXF1aXJlZCc7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMucmVnaXN0ZXJGb3JtLmNvbnRyb2xzW2ZpZWxkXS5oYXNFcnJvcignZW1haWwnKSkge1xuICAgICAgICB0aGlzLmZvcm1FcnJvcnNbZmllbGQgYXMga2V5b2YgdHlwZW9mIHRoaXMuZm9ybUVycm9yc11bMF0gPSAnRW50ZXIgYSB2YWxpZCBlbWFpbCc7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKGZpZWxkID09PSAncGFzc3dvcmQnICYmIHRoaXMucmVnaXN0ZXJGb3JtLmNvbnRyb2xzW2ZpZWxkXS5oYXNFcnJvcigncGF0dGVybicpKSB7XG4gICAgICAgIHRoaXMuZm9ybUVycm9ycy5wYXNzd29yZFswXSA9ICdQYXNzd29yZCBpcyBpbnZhbGlkJztcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuZm9ybUVycm9yc1tmaWVsZCBhcyBrZXlvZiB0eXBlb2YgdGhpcy5mb3JtRXJyb3JzXVswXSA9ICcnO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZm9ybS1ib3hcIj5cbiAgPHVpLWxvZ28+PC91aS1sb2dvPlxuICA8ZGl2IGNsYXNzPVwidGl0bGVcIj57eyBpMThuLnRpdGxlIH19PC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJzdWJ0aXRsZVwiPnt7IGkxOG4uc3VidGl0bGUgfX08L2Rpdj5cbiAgPGZvcm0gW2Zvcm1Hcm91cF09XCJyZWdpc3RlckZvcm1cIj5cbiAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cbiAgICAgIDx1aS1maWVsZFxuICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJ1c2VybmFtZVwiXG4gICAgICAgIFtsYWJlbF09XCJpMThuLmVtYWlsX2xhYmVsXCJcbiAgICAgICAgW3R5cGVdPVwiJ2VtYWlsJ1wiXG4gICAgICAgIFtyZXF1aXJlZF09XCJ0cnVlXCJcbiAgICAgICAgW2Vycm9yXT1cImZvcm1FcnJvcnMudXNlcm5hbWVbMF1cIlxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJjaGVja0Vycm9ycygndXNlcm5hbWUnKVwiXG4gICAgICA+PC91aS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cbiAgICAgIDx1aS1maWVsZFxuICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJwYXNzd29yZFwiXG4gICAgICAgIFtsYWJlbF09XCJpMThuLnBhc3N3b3JkX2xhYmVsXCJcbiAgICAgICAgW3R5cGVdPVwiJ3Bhc3N3b3JkJ1wiXG4gICAgICAgIFtyZXF1aXJlZF09XCJ0cnVlXCJcbiAgICAgICAgW2Vycm9yXT1cImZvcm1FcnJvcnMucGFzc3dvcmRbMF1cIlxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJjaGVja0Vycm9ycygncGFzc3dvcmQnKVwiXG4gICAgICA+PC91aS1maWVsZD5cbiAgICAgIDxkaXYgY2xhc3M9XCJwYXNzd29yZC1zdHJlbmd0aC1jb250YWluZXJcIj5cbiAgICAgICAgPG1hdC1wYXNzd29yZC1zdHJlbmd0aFxuICAgICAgICAgIFttaW5dPVwiMTJcIlxuICAgICAgICAgICNwYXNzd29yZENvbXBvbmVudFdpdGhWYWxpZGF0aW9uXG4gICAgICAgICAgW3Bhc3N3b3JkXT1cInJlZ2lzdGVyRm9ybS5jb250cm9sc1sncGFzc3dvcmQnXS52YWx1ZVwiXG4gICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgPlxuICAgICAgICA8L21hdC1wYXNzd29yZC1zdHJlbmd0aD5cbiAgICAgIDwvZGl2PlxuICAgICAgPG1hdC1wYXNzd29yZC1zdHJlbmd0aC1pbmZvIFtwYXNzd29yZENvbXBvbmVudF09XCJwYXNzd29yZENvbXBvbmVudFdpdGhWYWxpZGF0aW9uXCI+IDwvbWF0LXBhc3N3b3JkLXN0cmVuZ3RoLWluZm8+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInRlcm1zLWNvbmRpdGlvbnMtY29udGFpbmVyXCI+XG4gICAgICA8bWF0LWNoZWNrYm94IGZvcm1Db250cm9sTmFtZT1cImFncmVlX3Rlcm1zX2FuZF9jb25kaXRpb25zXCI+XG4gICAgICAgIHt7IGkxOG4udGVybXNfY29uZGl0aW9ucyB9fVxuICAgICAgICA8YSBjbGFzcz1cImxpbmtcIiBbaHJlZl09XCJ0ZXJtc09mdXNlUGF0aFwiIHRhcmdldD1cIl9ibGFua1wiPnt7IGkxOG4udGVybXNfY29uZGl0aW9uc19saW5rX2xhYmVsIH19PC9hPi5cbiAgICAgIDwvbWF0LWNoZWNrYm94PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJzdWJtaXQtYnV0dG9uXCI+XG4gICAgICA8dWktYnV0dG9uXG4gICAgICAgIFtsYWJlbF09XCJpMThuLmJ1dHRvbl9sYWJlbFwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJyZWdpc3RlckZvcm0uaW52YWxpZFwiXG4gICAgICAgIFtmdWxsV2lkdGhdPVwidHJ1ZVwiXG4gICAgICAgIFtsb2FkaW5nXT1cImxvYWRpbmdcIlxuICAgICAgICAob25DbGlja0V2ZW50KT1cInN1Ym1pdCgpXCJcbiAgICAgID48L3VpLWJ1dHRvbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2PlxuICAgICAge3sgaTE4bi5oYXZlX2NhcmVlcl9wYXNzcG9ydCB9fSA8c3BhbiBjbGFzcz1cImxpbmtcIiAoY2xpY2spPVwibG9naW4oKVwiPnt7IGkxOG4ubG9naW4gfX08L3NwYW4+XG4gICAgPC9kaXY+XG4gIDwvZm9ybT5cbjwvZGl2PlxuIl19
|
|
@@ -10,8 +10,8 @@ import { CreateAccountComponent } from './create-account.component';
|
|
|
10
10
|
import * as i0 from "@angular/core";
|
|
11
11
|
export class CreateAccountComponentModule {
|
|
12
12
|
}
|
|
13
|
-
CreateAccountComponentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.
|
|
14
|
-
CreateAccountComponentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.
|
|
13
|
+
CreateAccountComponentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CreateAccountComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
14
|
+
CreateAccountComponentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CreateAccountComponentModule, declarations: [CreateAccountComponent], imports: [CommonModule,
|
|
15
15
|
FormsModule,
|
|
16
16
|
ReactiveFormsModule,
|
|
17
17
|
FieldComponentModule,
|
|
@@ -19,7 +19,7 @@ CreateAccountComponentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.
|
|
|
19
19
|
MatCheckboxModule,
|
|
20
20
|
MatPasswordStrengthModule,
|
|
21
21
|
LogoComponentModule], exports: [CreateAccountComponent] });
|
|
22
|
-
CreateAccountComponentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.
|
|
22
|
+
CreateAccountComponentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CreateAccountComponentModule, providers: [], imports: [[
|
|
23
23
|
CommonModule,
|
|
24
24
|
FormsModule,
|
|
25
25
|
ReactiveFormsModule,
|
|
@@ -29,7 +29,7 @@ CreateAccountComponentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.
|
|
|
29
29
|
MatPasswordStrengthModule,
|
|
30
30
|
LogoComponentModule,
|
|
31
31
|
]] });
|
|
32
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.
|
|
32
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CreateAccountComponentModule, decorators: [{
|
|
33
33
|
type: NgModule,
|
|
34
34
|
args: [{
|
|
35
35
|
declarations: [CreateAccountComponent],
|
|
@@ -3,9 +3,10 @@ export const CREATE_ACCOUNT_i18n = {
|
|
|
3
3
|
subtitle: 'Enter the email address to which you received an assessment invite.',
|
|
4
4
|
email_label: 'Email',
|
|
5
5
|
password_label: 'Password',
|
|
6
|
-
terms_conditions: '
|
|
6
|
+
terms_conditions: 'I have read and I accept the ',
|
|
7
|
+
terms_conditions_link_label: 'terms of use',
|
|
7
8
|
button_label: 'Next',
|
|
8
9
|
have_career_passport: 'Already have a Career Passport?',
|
|
9
10
|
login: 'Log in here',
|
|
10
11
|
};
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWFjY291bnQuY29uc3RhbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9jcmVhdGUtYWNjb3VudC9jcmVhdGUtYWNjb3VudC5jb25zdGFudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRztJQUNqQyxLQUFLLEVBQUUsNkJBQTZCO0lBQ3BDLFFBQVEsRUFBRSxxRUFBcUU7SUFDL0UsV0FBVyxFQUFFLE9BQU87SUFDcEIsY0FBYyxFQUFFLFVBQVU7SUFDMUIsZ0JBQWdCLEVBQUUsK0JBQStCO0lBQ2pELDJCQUEyQixFQUFFLGNBQWM7SUFDM0MsWUFBWSxFQUFFLE1BQU07SUFDcEIsb0JBQW9CLEVBQUUsaUNBQWlDO0lBQ3ZELEtBQUssRUFBRSxhQUFhO0NBQ3JCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgQ1JFQVRFX0FDQ09VTlRfaTE4biA9IHtcbiAgdGl0bGU6ICdDcmVhdGUgeW91ciBDYXJlZXIgUGFzc3BvcnQnLFxuICBzdWJ0aXRsZTogJ0VudGVyIHRoZSBlbWFpbCBhZGRyZXNzIHRvIHdoaWNoIHlvdSByZWNlaXZlZCBhbiBhc3Nlc3NtZW50IGludml0ZS4nLFxuICBlbWFpbF9sYWJlbDogJ0VtYWlsJyxcbiAgcGFzc3dvcmRfbGFiZWw6ICdQYXNzd29yZCcsXG4gIHRlcm1zX2NvbmRpdGlvbnM6ICdJIGhhdmUgcmVhZCBhbmQgSSBhY2NlcHQgdGhlICcsXG4gIHRlcm1zX2NvbmRpdGlvbnNfbGlua19sYWJlbDogJ3Rlcm1zIG9mIHVzZScsXG4gIGJ1dHRvbl9sYWJlbDogJ05leHQnLFxuICBoYXZlX2NhcmVlcl9wYXNzcG9ydDogJ0FscmVhZHkgaGF2ZSBhIENhcmVlciBQYXNzcG9ydD8nLFxuICBsb2dpbjogJ0xvZyBpbiBoZXJlJyxcbn07XG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWFjY291bnQubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9jcmVhdGUtYWNjb3VudC9jcmVhdGUtYWNjb3VudC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBDcmVhdGVBY2NvdW50Q3JlZGVudGlhbHMge1xuICB1c2VybmFtZTogc3RyaW5nO1xuICBwYXNzd29yZDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElpMThuQ3JlYXRlQWNjb3VudCB7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIHN1YnRpdGxlOiBzdHJpbmc7XG4gIGVtYWlsX2xhYmVsOiBzdHJpbmc7XG4gIHBhc3N3b3JkX2xhYmVsOiBzdHJpbmc7XG4gIHRlcm1zX2NvbmRpdGlvbnM6IHN0cmluZztcbiAgdGVybXNfY29uZGl0aW9uc19saW5rX2xhYmVsOiBzdHJpbmc7XG4gIGJ1dHRvbl9sYWJlbDogc3RyaW5nO1xuICBoYXZlX2NhcmVlcl9wYXNzcG9ydDogc3RyaW5nO1xuICBsb2dpbjogc3RyaW5nO1xufVxuIl19
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { ValidatorsUtil } from '../../utils/validators.utils';
|
|
3
3
|
import { CREATE_PASSWORD_i18n } from './create-password.constant';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
import * as i1 from "@angular/forms";
|
|
@@ -17,14 +17,7 @@ export class CreatePasswordComponent {
|
|
|
17
17
|
* @ignore
|
|
18
18
|
*/
|
|
19
19
|
this.createPasswordForm = this.fb.group({
|
|
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
|
-
],
|
|
20
|
+
password: ['', ValidatorsUtil.validatePassword()],
|
|
28
21
|
});
|
|
29
22
|
/**
|
|
30
23
|
* @ignore
|
|
@@ -73,9 +66,9 @@ export class CreatePasswordComponent {
|
|
|
73
66
|
this.formErrors[field][0] = '';
|
|
74
67
|
}
|
|
75
68
|
}
|
|
76
|
-
CreatePasswordComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.
|
|
77
|
-
CreatePasswordComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.
|
|
78
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.
|
|
69
|
+
CreatePasswordComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CreatePasswordComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
|
|
70
|
+
CreatePasswordComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: CreatePasswordComponent, selector: "ui-create-password", inputs: { formErrors: "formErrors", loading: "loading", i18n: "i18n" }, outputs: { submitEvent: "submitEvent" }, ngImport: i0, template: "<div class=\"form-box\">\n <ui-logo></ui-logo>\n <div class=\"title\">{{ i18n.title }}</div>\n <form [formGroup]=\"createPasswordForm\">\n <div class=\"field\">\n <ui-field\n formControlName=\"password\"\n [label]=\"i18n.password_label\"\n [type]=\"'password'\"\n [required]=\"true\"\n [error]=\"formErrors.password[0]\"\n (ngModelChange)=\"checkErrors('password')\"\n ></ui-field>\n <mat-password-strength\n [min]=\"12\"\n #passwordComponentWithValidation\n [password]=\"createPasswordForm.controls['password'].value\"\n aria-hidden=\"true\"\n >\n </mat-password-strength>\n <mat-password-strength-info [passwordComponent]=\"passwordComponentWithValidation\"> </mat-password-strength-info>\n </div>\n <div></div>\n <div class=\"submit-button\">\n <ui-button\n [label]=\"i18n.button\"\n [disabled]=\"createPasswordForm.invalid\"\n [fullWidth]=\"true\"\n [loading]=\"loading\"\n (onClickEvent)=\"submit()\"\n ></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 .title{font-weight:700;font-size:22px;line-height:29.7px;margin:40px 0 24px}.form-box .field{width:100%}.form-box .submit-button{margin-top:25px}\n"], components: [{ type: i2.LogoComponent, selector: "ui-logo" }, { type: i3.FieldComponent, selector: "ui-field", inputs: ["label", "preffixIcon", "suffixIcon", "required", "hint", "error", "placeholder", "type"] }, { type: i4.MatPasswordStrengthComponent, selector: "mat-password-strength", inputs: ["password", "externalError", "enableLengthRule", "enableLowerCaseLetterRule", "enableUpperCaseLetterRule", "enableDigitRule", "enableSpecialCharRule", "min", "max", "customValidator", "warnThreshold", "accentThreshold"], outputs: ["onStrengthChanged"], exportAs: ["matPasswordStrength"] }, { type: i4.MatPasswordStrengthInfoComponent, selector: "mat-password-strength-info", inputs: ["passwordComponent", "enableScoreInfo", "lowerCaseCriteriaMsg", "upperCaseCriteriaMsg", "digitsCriteriaMsg", "specialCharsCriteriaMsg", "customCharsCriteriaMsg", "minCharsCriteriaMsg", "matIconDone", "matIconError"], exportAs: ["matPasswordStrengthInfo"] }, { 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 });
|
|
71
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CreatePasswordComponent, decorators: [{
|
|
79
72
|
type: Component,
|
|
80
73
|
args: [{ selector: 'ui-create-password', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"form-box\">\n <ui-logo></ui-logo>\n <div class=\"title\">{{ i18n.title }}</div>\n <form [formGroup]=\"createPasswordForm\">\n <div class=\"field\">\n <ui-field\n formControlName=\"password\"\n [label]=\"i18n.password_label\"\n [type]=\"'password'\"\n [required]=\"true\"\n [error]=\"formErrors.password[0]\"\n (ngModelChange)=\"checkErrors('password')\"\n ></ui-field>\n <mat-password-strength\n [min]=\"12\"\n #passwordComponentWithValidation\n [password]=\"createPasswordForm.controls['password'].value\"\n aria-hidden=\"true\"\n >\n </mat-password-strength>\n <mat-password-strength-info [passwordComponent]=\"passwordComponentWithValidation\"> </mat-password-strength-info>\n </div>\n <div></div>\n <div class=\"submit-button\">\n <ui-button\n [label]=\"i18n.button\"\n [disabled]=\"createPasswordForm.invalid\"\n [fullWidth]=\"true\"\n [loading]=\"loading\"\n (onClickEvent)=\"submit()\"\n ></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 .title{font-weight:700;font-size:22px;line-height:29.7px;margin:40px 0 24px}.form-box .field{width:100%}.form-box .submit-button{margin-top:25px}\n"] }]
|
|
81
74
|
}], ctorParameters: function () { return [{ type: i1.FormBuilder }]; }, propDecorators: { formErrors: [{
|
|
@@ -87,4 +80,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
87
80
|
}], submitEvent: [{
|
|
88
81
|
type: Output
|
|
89
82
|
}] } });
|
|
90
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXBhc3N3b3JkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2NyZWF0ZS1wYXNzd29yZC9jcmVhdGUtcGFzc3dvcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvY3JlYXRlLXBhc3N3b3JkL2NyZWF0ZS1wYXNzd29yZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXhHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7OztBQVNsRSxNQUFNLE9BQU8sdUJBQXVCO0lBNENsQyxZQUFvQixFQUFlO1FBQWYsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQTNDbkMsbUhBQW1IO1FBQ25ILHdEQUF3RDtRQUN4RCx3REFBd0Q7UUFFeEQ7O1dBRUc7UUFDSCx1QkFBa0IsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUNqQyxRQUFRLEVBQUUsQ0FBQyxFQUFFLEVBQUUsY0FBYyxDQUFDLGdCQUFnQixFQUFFLENBQUM7U0FDbEQsQ0FBQyxDQUFDO1FBRUg7O1dBRUc7UUFDTSxlQUFVLEdBQUc7WUFDcEIsUUFBUSxFQUFFLENBQUMsRUFBRSxDQUFDO1NBQ2YsQ0FBQztRQUVGOzs7O1dBSUc7UUFDTSxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBRXpCOzs7OztXQUtHO1FBQ00sU0FBSSxHQUF3QixvQkFBb0IsQ0FBQztRQUUxRDs7V0FFRztRQUNPLGdCQUFXLEdBQTRDLElBQUksWUFBWSxFQUE2QixDQUFDO0lBT3pFLENBQUM7SUFMdkM7O09BRUc7SUFDSCxRQUFRLEtBQVUsQ0FBQztJQUluQixNQUFNO1FBQ0osSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUM7WUFDcEIsUUFBUSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEVBQUUsS0FBSztTQUN6RCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQWE7UUFDdkIsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sRUFBRTtZQUNuRCxJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFO2dCQUNoRSxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQXFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyx3QkFBd0IsQ0FBQztnQkFDckYsT0FBTzthQUNSO1lBRUQsSUFBSSxLQUFLLEtBQUssVUFBVSxJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxFQUFFO2dCQUN2RixJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxxQkFBcUIsQ0FBQztnQkFDcEQsT0FBTzthQUNSO1NBQ0Y7UUFFRCxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQXFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDakUsQ0FBQzs7cUhBbEVVLHVCQUF1Qjt5R0FBdkIsdUJBQXVCLDJLQ1pwQyw0bENBa0NBOzRGRHRCYSx1QkFBdUI7a0JBTm5DLFNBQVM7K0JBQ0Usb0JBQW9CLG1CQUdiLHVCQUF1QixDQUFDLE1BQU07a0dBaUJ0QyxVQUFVO3NCQUFsQixLQUFLO2dCQVNHLE9BQU87c0JBQWYsS0FBSztnQkFRRyxJQUFJO3NCQUFaLEtBQUs7Z0JBS0ksV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFZhbGlkYXRvcnNVdGlsIH0gZnJvbSAnLi4vLi4vdXRpbHMvdmFsaWRhdG9ycy51dGlscyc7XG5pbXBvcnQgeyBDUkVBVEVfUEFTU1dPUkRfaTE4biB9IGZyb20gJy4vY3JlYXRlLXBhc3N3b3JkLmNvbnN0YW50JztcbmltcG9ydCB7IENyZWF0ZVBhc3N3b3JkQ3JlZGVudGlhbHMsIElpMThuQ3JlYXRlUGFzc3dvcmQgfSBmcm9tICcuL2NyZWF0ZS1wYXNzd29yZC5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3VpLWNyZWF0ZS1wYXNzd29yZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jcmVhdGUtcGFzc3dvcmQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jcmVhdGUtcGFzc3dvcmQuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIENyZWF0ZVBhc3N3b3JkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgLy8gVE9ETzogU29tZSBwcm9wZXJ0aWVzIGFuZCBtZXRob2RzIGFyZSBpZ25vcmVkIG9uIHB1cnBvc2UgYmVjYXVzZSBvZiBhIGN1cnJlbnQgaXNzdWUgd2l0aCBjb21wb2RvYyBhbmQgYW5ndWxhciAxM1xuICAvLyBodHRwczovL2dpdGh1Yi5jb20vc3Rvcnlib29ranMvc3Rvcnlib29rL2lzc3Vlcy8xNjg2NVxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vc3Rvcnlib29ranMvc3Rvcnlib29rL2lzc3Vlcy8xNzAwNFxuXG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBjcmVhdGVQYXNzd29yZEZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICBwYXNzd29yZDogWycnLCBWYWxpZGF0b3JzVXRpbC52YWxpZGF0ZVBhc3N3b3JkKCldLFxuICB9KTtcblxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgQElucHV0KCkgZm9ybUVycm9ycyA9IHtcbiAgICBwYXNzd29yZDogWycnXSxcbiAgfTtcblxuICAvKipcbiAgICogSW5kaWNhdG9yIGlmIHRoZSBmb3JtIGlzIGxvYWRpbmdcbiAgICpcbiAgICogQG1lbWJlcm9mIEJ1dHRvbkNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgbG9hZGluZyA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKlxuICAgKiBAZGVzY3JpcHRpb24gT2JqZWN0IHdpdGggdGhlIHRyYW5zbGF0aW9ucyBmb3IgdGhlIGNvbXBvbmVudC5cbiAgICogQHR5cGUge0lpMThuQ3JlYXRlUGFzc3dvcmR9XG4gICAqIEBtZW1iZXJvZiBDcmVhdGVQYXNzd29yZENvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgaTE4bjogSWkxOG5DcmVhdGVQYXNzd29yZCA9IENSRUFURV9QQVNTV09SRF9pMThuO1xuXG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBAT3V0cHV0KCkgc3VibWl0RXZlbnQ6IEV2ZW50RW1pdHRlcjxDcmVhdGVQYXNzd29yZENyZWRlbnRpYWxzPiA9IG5ldyBFdmVudEVtaXR0ZXI8Q3JlYXRlUGFzc3dvcmRDcmVkZW50aWFscz4oKTtcblxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgbmdPbkluaXQoKTogdm9pZCB7fVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyKSB7fVxuXG4gIHN1Ym1pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN1Ym1pdEV2ZW50LmVtaXQoe1xuICAgICAgcGFzc3dvcmQ6IHRoaXMuY3JlYXRlUGFzc3dvcmRGb3JtLmdldCgncGFzc3dvcmQnKT8udmFsdWUsXG4gICAgfSk7XG4gIH1cblxuICBjaGVja0Vycm9ycyhmaWVsZDogc3RyaW5nKSB7XG4gICAgaWYgKHRoaXMuY3JlYXRlUGFzc3dvcmRGb3JtLmNvbnRyb2xzW2ZpZWxkXS50b3VjaGVkKSB7XG4gICAgICBpZiAodGhpcy5jcmVhdGVQYXNzd29yZEZvcm0uY29udHJvbHNbZmllbGRdLmhhc0Vycm9yKCdyZXF1aXJlZCcpKSB7XG4gICAgICAgIHRoaXMuZm9ybUVycm9yc1tmaWVsZCBhcyBrZXlvZiB0eXBlb2YgdGhpcy5mb3JtRXJyb3JzXVswXSA9ICdUaGlzIGZpZWxkIGlzIHJlcXVpcmVkJztcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAoZmllbGQgPT09ICdwYXNzd29yZCcgJiYgdGhpcy5jcmVhdGVQYXNzd29yZEZvcm0uY29udHJvbHNbZmllbGRdLmhhc0Vycm9yKCdwYXR0ZXJuJykpIHtcbiAgICAgICAgdGhpcy5mb3JtRXJyb3JzLnBhc3N3b3JkWzBdID0gJ1Bhc3N3b3JkIGlzIGludmFsaWQnO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5mb3JtRXJyb3JzW2ZpZWxkIGFzIGtleW9mIHR5cGVvZiB0aGlzLmZvcm1FcnJvcnNdWzBdID0gJyc7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmb3JtLWJveFwiPlxuICA8dWktbG9nbz48L3VpLWxvZ28+XG4gIDxkaXYgY2xhc3M9XCJ0aXRsZVwiPnt7IGkxOG4udGl0bGUgfX08L2Rpdj5cbiAgPGZvcm0gW2Zvcm1Hcm91cF09XCJjcmVhdGVQYXNzd29yZEZvcm1cIj5cbiAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cbiAgICAgIDx1aS1maWVsZFxuICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJwYXNzd29yZFwiXG4gICAgICAgIFtsYWJlbF09XCJpMThuLnBhc3N3b3JkX2xhYmVsXCJcbiAgICAgICAgW3R5cGVdPVwiJ3Bhc3N3b3JkJ1wiXG4gICAgICAgIFtyZXF1aXJlZF09XCJ0cnVlXCJcbiAgICAgICAgW2Vycm9yXT1cImZvcm1FcnJvcnMucGFzc3dvcmRbMF1cIlxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJjaGVja0Vycm9ycygncGFzc3dvcmQnKVwiXG4gICAgICA+PC91aS1maWVsZD5cbiAgICAgIDxtYXQtcGFzc3dvcmQtc3RyZW5ndGhcbiAgICAgICAgW21pbl09XCIxMlwiXG4gICAgICAgICNwYXNzd29yZENvbXBvbmVudFdpdGhWYWxpZGF0aW9uXG4gICAgICAgIFtwYXNzd29yZF09XCJjcmVhdGVQYXNzd29yZEZvcm0uY29udHJvbHNbJ3Bhc3N3b3JkJ10udmFsdWVcIlxuICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgPlxuICAgICAgPC9tYXQtcGFzc3dvcmQtc3RyZW5ndGg+XG4gICAgICA8bWF0LXBhc3N3b3JkLXN0cmVuZ3RoLWluZm8gW3Bhc3N3b3JkQ29tcG9uZW50XT1cInBhc3N3b3JkQ29tcG9uZW50V2l0aFZhbGlkYXRpb25cIj4gPC9tYXQtcGFzc3dvcmQtc3RyZW5ndGgtaW5mbz5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2PjwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJzdWJtaXQtYnV0dG9uXCI+XG4gICAgICA8dWktYnV0dG9uXG4gICAgICAgIFtsYWJlbF09XCJpMThuLmJ1dHRvblwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJjcmVhdGVQYXNzd29yZEZvcm0uaW52YWxpZFwiXG4gICAgICAgIFtmdWxsV2lkdGhdPVwidHJ1ZVwiXG4gICAgICAgIFtsb2FkaW5nXT1cImxvYWRpbmdcIlxuICAgICAgICAob25DbGlja0V2ZW50KT1cInN1Ym1pdCgpXCJcbiAgICAgID48L3VpLWJ1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9mb3JtPlxuPC9kaXY+XG4iXX0=
|