@testgorilla/tgo-ui 0.0.18 → 0.0.19
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 +66 -0
- package/README.md +0 -48
- package/components/table/table.component.d.ts +2 -6
- package/components/table/table.component.module.d.ts +2 -3
- package/components/table/table.model.d.ts +20 -13
- package/esm2020/components/banner/banner.component.mjs +4 -4
- package/esm2020/components/banner-action/banner-action.component.mjs +4 -4
- package/esm2020/components/create-account/create-account.component.mjs +4 -4
- package/esm2020/components/create-password/create-password.component.mjs +4 -4
- package/esm2020/components/forgot-password/forgot-password.component.mjs +4 -4
- package/esm2020/components/login/login.component.mjs +4 -4
- package/esm2020/components/navbar/navbar.component.mjs +4 -4
- package/esm2020/components/navigation/navigation.component.mjs +4 -4
- package/esm2020/components/paginator/paginator.component.mjs +4 -4
- package/esm2020/components/status/status.component.mjs +4 -4
- package/esm2020/components/table/table.component.mjs +9 -14
- package/esm2020/components/table/table.component.module.mjs +4 -5
- package/esm2020/components/table/table.model.mjs +16 -13
- package/fesm2015/testgorilla-tgo-ui.mjs +47 -50
- package/fesm2015/testgorilla-tgo-ui.mjs.map +1 -1
- package/fesm2020/testgorilla-tgo-ui.mjs +47 -50
- package/fesm2020/testgorilla-tgo-ui.mjs.map +1 -1
- package/package.json +1 -3
- package/src/assets/images/check.svg +3 -0
- package/src/theme/_core.scss +20 -0
- package/src/theme/_typography.scss +58 -0
- package/src/theme/_variables.scss +3 -1
- package/src/theme/{base.scss → theme.scss} +4 -32
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# TestGorilla UI Library
|
|
2
|
+
|
|
3
|
+
# Components
|
|
4
|
+
* Banner
|
|
5
|
+
* Banner Action
|
|
6
|
+
* Button
|
|
7
|
+
* Card
|
|
8
|
+
* Create Password
|
|
9
|
+
* Field
|
|
10
|
+
* Forgot Password
|
|
11
|
+
* Login
|
|
12
|
+
* Logo
|
|
13
|
+
* NavBar
|
|
14
|
+
* Navigation
|
|
15
|
+
* Paginator
|
|
16
|
+
* Create Account
|
|
17
|
+
* Status
|
|
18
|
+
* Table
|
|
19
|
+
|
|
20
|
+
## Storybook Development Server
|
|
21
|
+
|
|
22
|
+
Run `npm run storybook`
|
|
23
|
+
|
|
24
|
+
## Build Storybook
|
|
25
|
+
|
|
26
|
+
Run `npm run build-storybook`
|
|
27
|
+
|
|
28
|
+
## Build UI Library
|
|
29
|
+
|
|
30
|
+
Run `ng build` to build the ui library. The build artifacts will be stored in the `dist/` directory.
|
|
31
|
+
|
|
32
|
+
## Running unit tests
|
|
33
|
+
|
|
34
|
+
Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io).
|
|
35
|
+
|
|
36
|
+
## Running end-to-end tests
|
|
37
|
+
|
|
38
|
+
Run `ng e2e` to execute the end-to-end tests via a platform of your choice. To use this command, you need to first add a package that implements end-to-end testing capabilities.
|
|
39
|
+
|
|
40
|
+
## Visual regression
|
|
41
|
+
|
|
42
|
+
We are using playwright on top of storybook to capture the visual differences. Code for the same can be found in `common.spec.ts` file.
|
|
43
|
+
|
|
44
|
+
In order to update the existing snapshots, we need to use DOCKER to update, since updating from mac or windows has its own effect on the rendering, we might want to use the following way to update the snapshots to be consistant with CI.
|
|
45
|
+
|
|
46
|
+
```
|
|
47
|
+
docker run --rm --network host -v $(pwd):/work/ -w /work/ -it mcr.microsoft.com/playwright:latest /bin/bash
|
|
48
|
+
npm install
|
|
49
|
+
npx playwright test e2e/common.spec.ts --update-snapshots
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
In order to execute the visual tests, we need to use same docker so that the screenshots are aligned with the same OS.
|
|
53
|
+
|
|
54
|
+
```
|
|
55
|
+
docker run --rm --network host -v $(pwd):/work/ -w /work/ -it mcr.microsoft.com/playwright:latest /bin/bash
|
|
56
|
+
npm install
|
|
57
|
+
npx playwright test e2e/common.spec.ts
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
Currently we are using `toMatchSnapshot` instead of the latest `toHaveScreenshot` from playwright. Since `toHaveScreenshot` doesn't support firefox now, we are going ahead with `toMatchSnapshot`. In (near) future once it supports firefox, we will be using the latest `toHaveScreenshot` method.
|
|
61
|
+
|
|
62
|
+
### Visual Regression Important to note !!!
|
|
63
|
+
|
|
64
|
+
* To add a new component to visual regression one has to provide the `/iframe.html?id=<element_id>` in the file `common.spec.ts` which will take care of taking snapshot whenever we initiate visual tests.
|
|
65
|
+
* We need to have the elements in such a way that `element_id` in `/iframe.html?id=<element_id>` should be present in the DOM. i.e., we should have a dom element `<element_id> ... </element_id>`.
|
|
66
|
+
* We are using that element_id to wait until its fully loaded and then we are taking the snapshot.
|
package/README.md
CHANGED
|
@@ -16,51 +16,3 @@
|
|
|
16
16
|
* Create Account
|
|
17
17
|
* Status
|
|
18
18
|
* Table
|
|
19
|
-
|
|
20
|
-
## Storybook Development Server
|
|
21
|
-
|
|
22
|
-
Run `npm run storybook`
|
|
23
|
-
|
|
24
|
-
## Build Storybook
|
|
25
|
-
|
|
26
|
-
Run `npm run build-storybook`
|
|
27
|
-
|
|
28
|
-
## Build UI Library
|
|
29
|
-
|
|
30
|
-
Run `ng build` to build the ui library. The build artifacts will be stored in the `dist/` directory.
|
|
31
|
-
|
|
32
|
-
## Running unit tests
|
|
33
|
-
|
|
34
|
-
Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io).
|
|
35
|
-
|
|
36
|
-
## Running end-to-end tests
|
|
37
|
-
|
|
38
|
-
Run `ng e2e` to execute the end-to-end tests via a platform of your choice. To use this command, you need to first add a package that implements end-to-end testing capabilities.
|
|
39
|
-
|
|
40
|
-
## Visual regression
|
|
41
|
-
|
|
42
|
-
We are using playwright on top of storybook to capture the visual differences. Code for the same can be found in `common.spec.ts` file.
|
|
43
|
-
|
|
44
|
-
In order to update the existing snapshots, we need to use DOCKER to update, since updating from mac or windows has its own effect on the rendering, we might want to use the following way to update the snapshots to be consistant with CI.
|
|
45
|
-
|
|
46
|
-
```
|
|
47
|
-
docker run --rm --network host -v $(pwd):/work/ -w /work/ -it mcr.microsoft.com/playwright:latest /bin/bash
|
|
48
|
-
npm install
|
|
49
|
-
npx playwright test e2e/common.spec.ts --update-snapshots
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
In order to execute the visual tests, we need to use same docker so that the screenshots are aligned with the same OS.
|
|
53
|
-
|
|
54
|
-
```
|
|
55
|
-
docker run --rm --network host -v $(pwd):/work/ -w /work/ -it mcr.microsoft.com/playwright:latest /bin/bash
|
|
56
|
-
npm install
|
|
57
|
-
npx playwright test e2e/common.spec.ts
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
Currently we are using `toMatchSnapshot` instead of the latest `toHaveScreenshot` from playwright. Since `toHaveScreenshot` doesn't support firefox now, we are going ahead with `toMatchSnapshot`. In (near) future once it supports firefox, we will be using the latest `toHaveScreenshot` method.
|
|
61
|
-
|
|
62
|
-
### Visual Regression Important to note !!!
|
|
63
|
-
|
|
64
|
-
* To add a new component to visual regression one has to provide the `/iframe.html?id=<element_id>` in the file `common.spec.ts` which will take care of taking snapshot whenever we initiate visual tests.
|
|
65
|
-
* We need to have the elements in such a way that `element_id` in `/iframe.html?id=<element_id>` should be present in the DOM. i.e., we should have a dom element `<element_id> ... </element_id>`.
|
|
66
|
-
* We are using that element_id to wait until its fully loaded and then we are taking the snapshot.
|
|
@@ -3,7 +3,7 @@ import { MatSort, Sort } from '@angular/material/sort';
|
|
|
3
3
|
import { MatTableDataSource } from '@angular/material/table';
|
|
4
4
|
import { DataPropertyGetterPipe } from '../../shared/pipes/dataPropertyGetter';
|
|
5
5
|
import { IStatusOptions } from '../status/status.model';
|
|
6
|
-
import {
|
|
6
|
+
import { ColumnType, IDataSource, ITableColumn } from './table.model';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
export declare class TableComponent<T extends IDataSource> implements OnInit {
|
|
9
9
|
private dataPropertyGetterPipe;
|
|
@@ -24,11 +24,7 @@ export declare class TableComponent<T extends IDataSource> implements OnInit {
|
|
|
24
24
|
/**
|
|
25
25
|
* @ignore
|
|
26
26
|
*/
|
|
27
|
-
DataType: typeof
|
|
28
|
-
/**
|
|
29
|
-
* @ignore
|
|
30
|
-
*/
|
|
31
|
-
DateFormat: typeof DateFormat;
|
|
27
|
+
DataType: typeof ColumnType;
|
|
32
28
|
/**
|
|
33
29
|
* @ignore
|
|
34
30
|
*/
|
|
@@ -4,10 +4,9 @@ import * as i2 from "../../shared/pipes/dataPropertyGetter";
|
|
|
4
4
|
import * as i3 from "@angular/common";
|
|
5
5
|
import * as i4 from "@angular/material/table";
|
|
6
6
|
import * as i5 from "@angular/material/sort";
|
|
7
|
-
import * as i6 from "
|
|
8
|
-
import * as i7 from "../status/status.component.module";
|
|
7
|
+
import * as i6 from "../status/status.component.module";
|
|
9
8
|
export declare class TableComponentModule {
|
|
10
9
|
static ɵfac: i0.ɵɵFactoryDeclaration<TableComponentModule, never>;
|
|
11
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<TableComponentModule, [typeof i1.TableComponent, typeof i2.DataPropertyGetterPipe], [typeof i3.CommonModule, typeof i4.MatTableModule, typeof i5.MatSortModule, typeof i6.
|
|
10
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<TableComponentModule, [typeof i1.TableComponent, typeof i2.DataPropertyGetterPipe], [typeof i3.CommonModule, typeof i4.MatTableModule, typeof i5.MatSortModule, typeof i6.StatusComponentModule], [typeof i1.TableComponent]>;
|
|
12
11
|
static ɵinj: i0.ɵɵInjectorDeclaration<TableComponentModule>;
|
|
13
12
|
}
|
|
@@ -2,20 +2,27 @@ export declare type IDataSource = {
|
|
|
2
2
|
[key: string]: any;
|
|
3
3
|
};
|
|
4
4
|
export interface ITableColumn<T> {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
headerName: string;
|
|
6
|
+
field?: string;
|
|
7
|
+
type?: ColumnType;
|
|
8
|
+
valueGetter?: (v: T) => string;
|
|
8
9
|
sortable?: boolean;
|
|
9
|
-
|
|
10
|
-
dateFormat?: DateFormat;
|
|
10
|
+
styles?: ColumnStyles;
|
|
11
11
|
}
|
|
12
|
-
export declare enum
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
12
|
+
export declare enum ColumnType {
|
|
13
|
+
DATE = "date",
|
|
14
|
+
STRING = "string",
|
|
15
|
+
LABEL = "label",
|
|
16
|
+
PERCENTAGE = "percentage",
|
|
17
|
+
CHECK = "check",
|
|
18
|
+
FUNCTION = "function"
|
|
17
19
|
}
|
|
18
|
-
export
|
|
19
|
-
|
|
20
|
-
|
|
20
|
+
export interface ColumnStyles {
|
|
21
|
+
alignment?: ColumnAlignment;
|
|
22
|
+
width?: string;
|
|
23
|
+
}
|
|
24
|
+
export declare enum ColumnAlignment {
|
|
25
|
+
LEFT = "left",
|
|
26
|
+
RIGHT = "right",
|
|
27
|
+
CENTER = "center"
|
|
21
28
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, Input
|
|
1
|
+
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
import * as i1 from "@angular/material/icon";
|
|
4
4
|
export class BannerComponent {
|
|
@@ -30,10 +30,10 @@ export class BannerComponent {
|
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
32
|
BannerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: BannerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
33
|
-
BannerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", 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
|
|
33
|
+
BannerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", 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
34
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: BannerComponent, decorators: [{
|
|
35
35
|
type: Component,
|
|
36
|
-
args: [{ selector: 'ui-banner', changeDetection: ChangeDetectionStrategy.OnPush,
|
|
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: [{
|
|
38
38
|
type: Input
|
|
39
39
|
}], text: [{
|
|
@@ -41,4 +41,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
41
41
|
}], icon: [{
|
|
42
42
|
type: Input
|
|
43
43
|
}] } });
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFubmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhbm5lci9iYW5uZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYmFubmVyL2Jhbm5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBUTFFLE1BQU0sT0FBTyxlQUFlO0lBNkIxQjtRQTVCQSxtSEFBbUg7UUFDbkgsd0RBQXdEO1FBQ3hELHdEQUF3RDtRQUV4RDs7Ozs7V0FLRztRQUNNLG9CQUFlLEdBQUcsRUFBRSxDQUFDO1FBRTlCOzs7OztXQUtHO1FBQ00sU0FBSSxHQUFHLEVBQUUsQ0FBQztRQUVuQjs7Ozs7V0FLRztRQUNNLFNBQUksR0FBRyxlQUFlLENBQUM7SUFFakIsQ0FBQzs7NkdBN0JMLGVBQWU7aUdBQWYsZUFBZSw2SENSNUIsNElBR007NEZES08sZUFBZTtrQkFOM0IsU0FBUzsrQkFDRSxXQUFXLG1CQUdKLHVCQUF1QixDQUFDLE1BQU07MEVBYXRDLGVBQWU7c0JBQXZCLEtBQUs7Z0JBUUcsSUFBSTtzQkFBWixLQUFLO2dCQVFHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3VpLWJhbm5lcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9iYW5uZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9iYW5uZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEJhbm5lckNvbXBvbmVudCB7XG4gIC8vIFRPRE86IFNvbWUgcHJvcGVydGllcyBhbmQgbWV0aG9kcyBhcmUgaWdub3JlZCBvbiBwdXJwb3NlIGJlY2F1c2Ugb2YgYSBjdXJyZW50IGlzc3VlIHdpdGggY29tcG9kb2MgYW5kIGFuZ3VsYXIgMTNcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3N0b3J5Ym9va2pzL3N0b3J5Ym9vay9pc3N1ZXMvMTY4NjVcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3N0b3J5Ym9va2pzL3N0b3J5Ym9vay9pc3N1ZXMvMTcwMDRcblxuICAvKipcbiAgICogQmFubmVyIGJhY2tncm91bmQgY29sb3JcbiAgICpcbiAgICogQHR5cGUge1RlbXBsYXRlU3RyaW5nc0FycmF5fVxuICAgKiBAbWVtYmVyb2YgQmFubmVyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBiYWNrZ3JvdW5kQ29sb3IgPSAnJztcblxuICAvKipcbiAgICogQmFubmVyIHRleHRcbiAgICpcbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQG1lbWJlcm9mIEJhbm5lckNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgdGV4dCA9ICcnO1xuXG4gIC8qKlxuICAgKiBCYW5uZXIgaWNvblxuICAgKlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAbWVtYmVyb2YgQmFubmVyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBpY29uID0gJ2Vycm9yX291dGxpbmUnO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cbn1cbiIsIjxkaXYgaWQ9XCJiYW5uZXJcIiBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJiYWNrZ3JvdW5kQ29sb3JcIj5cbiAgICA8bWF0LWljb24+e3sgaWNvbiB9fTwvbWF0LWljb24+XG4gICAgPHNwYW4+e3sgdGV4dCB9fTwvc3Bhbj5cbjwvZGl2PiJdfQ==
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output
|
|
1
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
import * as i1 from "../button/button.component";
|
|
4
4
|
import * as i2 from "@angular/common";
|
|
@@ -24,10 +24,10 @@ export class BannerActionComponent {
|
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
26
|
BannerActionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: BannerActionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
27
|
-
BannerActionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: BannerActionComponent, selector: "ui-banner-action", inputs: { text: "text", backgroundColor: "backgroundColor", buttonLabel: "buttonLabel", emoji: "emoji" }, outputs: { buttonClickedEvent: "buttonClickedEvent" }, ngImport: i0, template: "<div id=\"banner-action\" [style.background-color]=\"backgroundColor\">\n <div class=\"text\">\n <span *ngIf=\"emoji\" class=\"emoji\">{{ emoji }}</span>\n <span>{{ text }}</span>\n </div>\n <ui-button [iconName]=\"'east'\" [iconPosition]=\"'right'\" [label]=\"buttonLabel\" (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 .emoji{font-size:24px;margin-right:12px}\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
|
|
27
|
+
BannerActionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: BannerActionComponent, selector: "ui-banner-action", inputs: { text: "text", backgroundColor: "backgroundColor", buttonLabel: "buttonLabel", emoji: "emoji" }, outputs: { buttonClickedEvent: "buttonClickedEvent" }, ngImport: i0, template: "<div id=\"banner-action\" [style.background-color]=\"backgroundColor\">\n <div class=\"text\">\n <span *ngIf=\"emoji\" class=\"emoji\">{{ emoji }}</span>\n <span>{{ text }}</span>\n </div>\n <ui-button [iconName]=\"'east'\" [iconPosition]=\"'right'\" [label]=\"buttonLabel\" (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 .emoji{font-size:24px;margin-right:12px}\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
28
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: BannerActionComponent, decorators: [{
|
|
29
29
|
type: Component,
|
|
30
|
-
args: [{ selector: 'ui-banner-action', changeDetection: ChangeDetectionStrategy.OnPush,
|
|
30
|
+
args: [{ selector: 'ui-banner-action', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div id=\"banner-action\" [style.background-color]=\"backgroundColor\">\n <div class=\"text\">\n <span *ngIf=\"emoji\" class=\"emoji\">{{ emoji }}</span>\n <span>{{ text }}</span>\n </div>\n <ui-button [iconName]=\"'east'\" [iconPosition]=\"'right'\" [label]=\"buttonLabel\" (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 .emoji{font-size:24px;margin-right:12px}\n"] }]
|
|
31
31
|
}], ctorParameters: function () { return []; }, propDecorators: { text: [{
|
|
32
32
|
type: Input
|
|
33
33
|
}], backgroundColor: [{
|
|
@@ -39,4 +39,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
39
39
|
}], buttonClickedEvent: [{
|
|
40
40
|
type: Output
|
|
41
41
|
}] } });
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFubmVyLWFjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9iYW5uZXItYWN0aW9uL2Jhbm5lci1hY3Rpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYmFubmVyLWFjdGlvbi9iYW5uZXItYWN0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFRaEcsTUFBTSxPQUFPLHFCQUFxQjtJQTBDaEM7UUF6Q0EsbUhBQW1IO1FBQ25ILHdEQUF3RDtRQUN4RCx3REFBd0Q7UUFFeEQ7Ozs7O1dBS0c7UUFDTSxTQUFJLEdBQUcsRUFBRSxDQUFDO1FBMEJuQjs7V0FFRztRQUNPLHVCQUFrQixHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO0lBRTdELENBQUM7SUFFaEIsYUFBYTtRQUNYLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNqQyxDQUFDOzttSEE5Q1UscUJBQXFCO3VHQUFyQixxQkFBcUIseU5DUmxDLHlYQU1NOzRGREVPLHFCQUFxQjtrQkFOakMsU0FBUzsrQkFDRSxrQkFBa0IsbUJBR1gsdUJBQXVCLENBQUMsTUFBTTswRUFhdEMsSUFBSTtzQkFBWixLQUFLO2dCQVFHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBUUcsV0FBVztzQkFBbkIsS0FBSztnQkFRRyxLQUFLO3NCQUFiLEtBQUs7Z0JBS0ksa0JBQWtCO3NCQUEzQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3VpLWJhbm5lci1hY3Rpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vYmFubmVyLWFjdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Jhbm5lci1hY3Rpb24uY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEJhbm5lckFjdGlvbkNvbXBvbmVudCB7XG4gIC8vIFRPRE86IFNvbWUgcHJvcGVydGllcyBhbmQgbWV0aG9kcyBhcmUgaWdub3JlZCBvbiBwdXJwb3NlIGJlY2F1c2Ugb2YgYSBjdXJyZW50IGlzc3VlIHdpdGggY29tcG9kb2MgYW5kIGFuZ3VsYXIgMTNcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3N0b3J5Ym9va2pzL3N0b3J5Ym9vay9pc3N1ZXMvMTY4NjVcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3N0b3J5Ym9va2pzL3N0b3J5Ym9vay9pc3N1ZXMvMTcwMDRcblxuICAvKipcbiAgICogQmFubmVyQWN0aW9uIHRleHRcbiAgICpcbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQG1lbWJlcm9mIEJhbm5lckFjdGlvbkNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgdGV4dCA9ICcnO1xuXG4gIC8qKlxuICAgKiBCYW5uZXJBY3Rpb24gYmFja2dyb3VuZCBjb2xvclxuICAgKlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAbWVtYmVyb2YgQmFubmVyQWN0aW9uQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBiYWNrZ3JvdW5kQ29sb3I6IHN0cmluZztcblxuICAvKipcbiAgICogQmFubmVyQWN0aW9uIGJ1dHRvbiBsYWJlbFxuICAgKlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAbWVtYmVyb2YgQmFubmVyQWN0aW9uQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBidXR0b25MYWJlbDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBCYW5uZXJBY3Rpb24gZW1vbmlcbiAgICpcbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQG1lbWJlcm9mIEJhbm5lckFjdGlvbkNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgZW1vamk6IHN0cmluZztcblxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgQE91dHB1dCgpIGJ1dHRvbkNsaWNrZWRFdmVudDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBidXR0b25DbGlja2VkKCk6IHZvaWQge1xuICAgIHRoaXMuYnV0dG9uQ2xpY2tlZEV2ZW50LmVtaXQoKTtcbiAgfVxufVxuIiwiPGRpdiBpZD1cImJhbm5lci1hY3Rpb25cIiBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJiYWNrZ3JvdW5kQ29sb3JcIj5cbiAgICA8ZGl2IGNsYXNzPVwidGV4dFwiPlxuICAgICAgICA8c3BhbiAqbmdJZj1cImVtb2ppXCIgY2xhc3M9XCJlbW9qaVwiPnt7IGVtb2ppIH19PC9zcGFuPlxuICAgICAgICA8c3Bhbj57eyB0ZXh0IH19PC9zcGFuPlxuICAgIDwvZGl2PlxuICAgIDx1aS1idXR0b24gW2ljb25OYW1lXT1cIidlYXN0J1wiIFtpY29uUG9zaXRpb25dPVwiJ3JpZ2h0J1wiIFtsYWJlbF09XCJidXR0b25MYWJlbFwiIChvbkNsaWNrRXZlbnQpPVwiYnV0dG9uQ2xpY2tlZCgpXCIgKm5nSWY9XCJidXR0b25MYWJlbFwiPjwvdWktYnV0dG9uPlxuPC9kaXY+Il19
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output
|
|
1
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
2
|
import { Validators } from '@angular/forms';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
import * as i1 from "@angular/forms";
|
|
@@ -75,10 +75,10 @@ export class CreateAccountComponent {
|
|
|
75
75
|
}
|
|
76
76
|
}
|
|
77
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
|
|
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 });
|
|
79
79
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CreateAccountComponent, decorators: [{
|
|
80
80
|
type: Component,
|
|
81
|
-
args: [{ selector: 'ui-create-account', changeDetection: ChangeDetectionStrategy.OnPush,
|
|
81
|
+
args: [{ selector: 'ui-create-account', changeDetection: ChangeDetectionStrategy.OnPush, 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
82
|
}], ctorParameters: function () { return [{ type: i1.FormBuilder }]; }, propDecorators: { formErrors: [{
|
|
83
83
|
type: Input
|
|
84
84
|
}], loading: [{
|
|
@@ -88,4 +88,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
88
88
|
}], loginEvent: [{
|
|
89
89
|
type: Output
|
|
90
90
|
}] } });
|
|
91
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
91
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWFjY291bnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvY3JlYXRlLWFjY291bnQvY3JlYXRlLWFjY291bnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvY3JlYXRlLWFjY291bnQvY3JlYXRlLWFjY291bnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RyxPQUFPLEVBQWUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7QUFTekQsTUFBTSxPQUFPLHNCQUFzQjtJQW1EakMsWUFBb0IsRUFBZTtRQUFmLE9BQUUsR0FBRixFQUFFLENBQWE7UUFsRG5DLG1IQUFtSDtRQUNuSCx3REFBd0Q7UUFDeEQsd0RBQXdEO1FBRXhEOztXQUVHO1FBQ0gsaUJBQVksR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUMzQixRQUFRLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN2RCxRQUFRLEVBQUU7Z0JBQ1IsRUFBRTtnQkFDRjtvQkFDRSxVQUFVLENBQUMsUUFBUTtvQkFDbkIsVUFBVSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7b0JBQ3hCLFVBQVUsQ0FBQyxPQUFPLENBQUMsK0VBQStFLENBQUM7aUJBQ3BHO2FBQ0Y7WUFDRCwwQkFBMEIsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUMvRCxDQUFDLENBQUM7UUFFSDs7V0FFRztRQUNNLGVBQVUsR0FBRztZQUNwQixRQUFRLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDZCxRQUFRLEVBQUUsQ0FBQyxFQUFFLENBQUM7U0FDZixDQUFDO1FBU0Y7O1dBRUc7UUFDTyxnQkFBVyxHQUEyQyxJQUFJLFlBQVksRUFBNEIsQ0FBQztRQUU3Rzs7V0FFRztRQUNPLGVBQVUsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztJQU85QixDQUFDO0lBTHZDOztPQUVHO0lBQ0gsUUFBUSxLQUFVLENBQUM7SUFJbkIsTUFBTTtRQUNKLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO1lBQ3BCLFFBQVEsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsRUFBRSxLQUFLO1lBQ2xELFFBQVEsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsRUFBRSxLQUFLO1NBQ25ELENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQWE7UUFDdkIsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLEVBQUU7WUFDN0MsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUU7Z0JBQzFELElBQUksQ0FBQyxVQUFVLENBQUMsS0FBcUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLHdCQUF3QixDQUFDO2dCQUNyRixPQUFPO2FBQ1I7WUFFRCxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRTtnQkFDdkQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFxQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcscUJBQXFCLENBQUM7Z0JBQ2xGLE9BQU87YUFDUjtZQUVELElBQUksS0FBSyxLQUFLLFVBQVUsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEVBQUU7Z0JBQ2pGLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLHFCQUFxQixDQUFDO2dCQUNwRCxPQUFPO2FBQ1I7U0FDRjtRQUVELElBQUksQ0FBQyxVQUFVLENBQUMsS0FBcUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUNqRSxDQUFDOztvSEFuRlUsc0JBQXNCO3dHQUF0QixzQkFBc0Isc0xDVm5DLG1rREE4QkE7NEZEcEJhLHNCQUFzQjtrQkFObEMsU0FBUzsrQkFDRSxtQkFBbUIsbUJBR1osdUJBQXVCLENBQUMsTUFBTTtrR0EwQnRDLFVBQVU7c0JBQWxCLEtBQUs7Z0JBVUcsT0FBTztzQkFBZixLQUFLO2dCQUtJLFdBQVc7c0JBQXBCLE1BQU07Z0JBS0csVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENyZWF0ZUFjY291bnRDcmVkZW50aWFscyB9IGZyb20gJy4vY3JlYXRlLWFjY291bnQubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd1aS1jcmVhdGUtYWNjb3VudCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jcmVhdGUtYWNjb3VudC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NyZWF0ZS1hY2NvdW50LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBDcmVhdGVBY2NvdW50Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgLy8gVE9ETzogU29tZSBwcm9wZXJ0aWVzIGFuZCBtZXRob2RzIGFyZSBpZ25vcmVkIG9uIHB1cnBvc2UgYmVjYXVzZSBvZiBhIGN1cnJlbnQgaXNzdWUgd2l0aCBjb21wb2RvYyBhbmQgYW5ndWxhciAxM1xuICAvLyBodHRwczovL2dpdGh1Yi5jb20vc3Rvcnlib29ranMvc3Rvcnlib29rL2lzc3Vlcy8xNjg2NVxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vc3Rvcnlib29ranMvc3Rvcnlib29rL2lzc3Vlcy8xNzAwNFxuXG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICByZWdpc3RlckZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICB1c2VybmFtZTogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5lbWFpbF1dLFxuICAgIHBhc3N3b3JkOiBbXG4gICAgICAnJyxcbiAgICAgIFtcbiAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZCxcbiAgICAgICAgVmFsaWRhdG9ycy5taW5MZW5ndGgoMTIpLFxuICAgICAgICBWYWxpZGF0b3JzLnBhdHRlcm4oL14oPz1cXEQqXFxkKSg/PVteYS16XSpbYS16XSkoPz0uKlsjJCUmJygpKissLS4vOjs8PT4/QF0pKD89W15BLVpdKltBLVpdKS57MTIsfSQvKSxcbiAgICAgIF0sXG4gICAgXSxcbiAgICBhZ3JlZV90ZXJtc19hbmRfY29uZGl0aW9uczogW2ZhbHNlLCBbVmFsaWRhdG9ycy5yZXF1aXJlZFRydWVdXSxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIEBJbnB1dCgpIGZvcm1FcnJvcnMgPSB7XG4gICAgdXNlcm5hbWU6IFsnJ10sXG4gICAgcGFzc3dvcmQ6IFsnJ10sXG4gIH07XG5cbiAgLyoqXG4gICAqIEluZGljYXRvciBpZiB0aGUgZm9ybSBpcyBsb2FkaW5nXG4gICAqXG4gICAqIEBtZW1iZXJvZiBCdXR0b25Db21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGxvYWRpbmc6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIEBPdXRwdXQoKSBzdWJtaXRFdmVudDogRXZlbnRFbWl0dGVyPENyZWF0ZUFjY291bnRDcmVkZW50aWFscz4gPSBuZXcgRXZlbnRFbWl0dGVyPENyZWF0ZUFjY291bnRDcmVkZW50aWFscz4oKTtcblxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgQE91dHB1dCgpIGxvZ2luRXZlbnQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgbmdPbkluaXQoKTogdm9pZCB7fVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyKSB7fVxuXG4gIHN1Ym1pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN1Ym1pdEV2ZW50LmVtaXQoe1xuICAgICAgdXNlcm5hbWU6IHRoaXMucmVnaXN0ZXJGb3JtLmdldCgndXNlcm5hbWUnKT8udmFsdWUsXG4gICAgICBwYXNzd29yZDogdGhpcy5yZWdpc3RlckZvcm0uZ2V0KCdwYXNzd29yZCcpPy52YWx1ZSxcbiAgICB9KTtcbiAgfVxuXG4gIGxvZ2luKCk6IHZvaWQge1xuICAgIHRoaXMubG9naW5FdmVudC5lbWl0KCk7XG4gIH1cblxuICBjaGVja0Vycm9ycyhmaWVsZDogc3RyaW5nKSB7XG4gICAgaWYgKHRoaXMucmVnaXN0ZXJGb3JtLmNvbnRyb2xzW2ZpZWxkXS50b3VjaGVkKSB7XG4gICAgICBpZiAodGhpcy5yZWdpc3RlckZvcm0uY29udHJvbHNbZmllbGRdLmhhc0Vycm9yKCdyZXF1aXJlZCcpKSB7XG4gICAgICAgIHRoaXMuZm9ybUVycm9yc1tmaWVsZCBhcyBrZXlvZiB0eXBlb2YgdGhpcy5mb3JtRXJyb3JzXVswXSA9ICdUaGlzIGZpZWxkIGlzIHJlcXVpcmVkJztcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5yZWdpc3RlckZvcm0uY29udHJvbHNbZmllbGRdLmhhc0Vycm9yKCdlbWFpbCcpKSB7XG4gICAgICAgIHRoaXMuZm9ybUVycm9yc1tmaWVsZCBhcyBrZXlvZiB0eXBlb2YgdGhpcy5mb3JtRXJyb3JzXVswXSA9ICdFbnRlciBhIHZhbGlkIGVtYWlsJztcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAoZmllbGQgPT09ICdwYXNzd29yZCcgJiYgdGhpcy5yZWdpc3RlckZvcm0uY29udHJvbHNbZmllbGRdLmhhc0Vycm9yKCdwYXR0ZXJuJykpIHtcbiAgICAgICAgdGhpcy5mb3JtRXJyb3JzLnBhc3N3b3JkWzBdID0gJ1Bhc3N3b3JkIGlzIGludmFsaWQnO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5mb3JtRXJyb3JzW2ZpZWxkIGFzIGtleW9mIHR5cGVvZiB0aGlzLmZvcm1FcnJvcnNdWzBdID0gJyc7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmb3JtLWJveFwiPlxuICA8aW1nIGNsYXNzPVwibG9nb1wiIHNyYz1cIi9pbWFnZXMvdGVzdGdvcmlsbGEuc3ZnXCI+XG4gIDxkaXYgY2xhc3M9XCJ0aXRsZVwiPkNyZWF0ZSB5b3VyIENhcmVlciBQYXNzcG9ydDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwic3VidGl0bGVcIj5FbnRlciB0aGUgZW1haWwgYWRkcmVzcyB0byB3aGljaCB5b3UgcmVjZWl2ZWQgYW4gYXNzZXNzbWVudCBpbnZpdGUuPC9kaXY+XG4gIDxmb3JtIFtmb3JtR3JvdXBdPVwicmVnaXN0ZXJGb3JtXCI+XG4gICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XG4gICAgICA8dWktZmllbGQgZm9ybUNvbnRyb2xOYW1lPVwidXNlcm5hbWVcIiBbcGxhY2Vob2xkZXJdPVwiJ0VtYWlsJ1wiIFt0eXBlXT1cIidlbWFpbCdcIiBbcmVxdWlyZWRdPVwidHJ1ZVwiIFtlcnJvcl09XCJmb3JtRXJyb3JzLnVzZXJuYW1lWzBdXCIgKG5nTW9kZWxDaGFuZ2UpPVwiY2hlY2tFcnJvcnMoJ3VzZXJuYW1lJylcIj48L3VpLWZpZWxkPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxuICAgICAgPHVpLWZpZWxkIGZvcm1Db250cm9sTmFtZT1cInBhc3N3b3JkXCIgW3BsYWNlaG9sZGVyXT1cIidQYXNzd29yZCdcIiBbdHlwZV09XCIncGFzc3dvcmQnXCIgW3JlcXVpcmVkXT1cInRydWVcIiBbZXJyb3JdPVwiZm9ybUVycm9ycy5wYXNzd29yZFswXVwiIChuZ01vZGVsQ2hhbmdlKT1cImNoZWNrRXJyb3JzKCdwYXNzd29yZCcpXCI+PC91aS1maWVsZD5cbiAgICAgIDxtYXQtcGFzc3dvcmQtc3RyZW5ndGhcbiAgICAgICAgICAgICAgW21pbl09XCIxMlwiXG4gICAgICAgICAgICAgICNwYXNzd29yZENvbXBvbmVudFdpdGhWYWxpZGF0aW9uXG4gICAgICAgICAgICAgIFtwYXNzd29yZF09XCJyZWdpc3RlckZvcm0uY29udHJvbHNbJ3Bhc3N3b3JkJ10udmFsdWVcIlxuICAgICAgICAgICAgPlxuICAgICAgPC9tYXQtcGFzc3dvcmQtc3RyZW5ndGg+XG4gICAgICA8bWF0LXBhc3N3b3JkLXN0cmVuZ3RoLWluZm8gW3Bhc3N3b3JkQ29tcG9uZW50XT1cInBhc3N3b3JkQ29tcG9uZW50V2l0aFZhbGlkYXRpb25cIj5cbiAgICAgIDwvbWF0LXBhc3N3b3JkLXN0cmVuZ3RoLWluZm8+XG4gICAgPC9kaXY+XG4gICAgPGRpdj5cbiAgICAgIDxtYXQtY2hlY2tib3ggZm9ybUNvbnRyb2xOYW1lPVwiYWdyZWVfdGVybXNfYW5kX2NvbmRpdGlvbnNcIj5BZ3JlZSB0byBUZXJtcyAmIENvbmRpdGlvbnM8L21hdC1jaGVja2JveD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwic3VibWl0LWJ1dHRvblwiPlxuICAgICAgPHVpLWJ1dHRvbiBbbGFiZWxdPVwiJ05leHQnXCIgW2Rpc2FibGVkXT1cInJlZ2lzdGVyRm9ybS5pbnZhbGlkXCIgW2Z1bGxXaWR0aF09XCJ0cnVlXCIgW2xvYWRpbmddPVwibG9hZGluZ1wiIChvbkNsaWNrRXZlbnQpPVwic3VibWl0KClcIj48L3VpLWJ1dHRvbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2PlxuICAgICAgQWxyZWFkeSBoYXZlIGEgQ2FyZWVyIFBhc3Nwb3J0PyA8c3BhbiBjbGFzcz1cImxvZy1pblwiIChjbGljayk9XCJsb2dpbigpXCI+TG9nIGluIGhlcmU8L3NwYW4+XG4gICAgPC9kaXY+XG4gIDwvZm9ybT5cbjwvZGl2PlxuIl19
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output
|
|
1
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
2
|
import { Validators } from '@angular/forms';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
import * as i1 from "@angular/forms";
|
|
@@ -59,10 +59,10 @@ export class CreatePasswordComponent {
|
|
|
59
59
|
}
|
|
60
60
|
}
|
|
61
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
|
|
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 });
|
|
63
63
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CreatePasswordComponent, decorators: [{
|
|
64
64
|
type: Component,
|
|
65
|
-
args: [{ selector: 'ui-create-password', changeDetection: ChangeDetectionStrategy.OnPush,
|
|
65
|
+
args: [{ selector: 'ui-create-password', changeDetection: ChangeDetectionStrategy.OnPush, 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
66
|
}], ctorParameters: function () { return [{ type: i1.FormBuilder }]; }, propDecorators: { formErrors: [{
|
|
67
67
|
type: Input
|
|
68
68
|
}], loading: [{
|
|
@@ -70,4 +70,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
70
70
|
}], submitEvent: [{
|
|
71
71
|
type: Output
|
|
72
72
|
}] } });
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXBhc3N3b3JkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2NyZWF0ZS1wYXNzd29yZC9jcmVhdGUtcGFzc3dvcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvY3JlYXRlLXBhc3N3b3JkL2NyZWF0ZS1wYXNzd29yZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hHLE9BQU8sRUFBZSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7O0FBU3pELE1BQU0sT0FBTyx1QkFBdUI7SUEyQ2xDLFlBQW9CLEVBQWU7UUFBZixPQUFFLEdBQUYsRUFBRSxDQUFhO1FBMUNuQyxtSEFBbUg7UUFDbkgsd0RBQXdEO1FBQ3hELHdEQUF3RDtRQUV4RDs7V0FFRztRQUNILHVCQUFrQixHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQ2pDLFFBQVEsRUFBRTtnQkFDUixFQUFFO2dCQUNGO29CQUNFLFVBQVUsQ0FBQyxRQUFRO29CQUNuQixVQUFVLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztvQkFDeEIsVUFBVSxDQUFDLE9BQU8sQ0FBQywrRUFBK0UsQ0FBQztpQkFDcEc7YUFDRjtTQUNGLENBQUMsQ0FBQztRQUVIOztXQUVHO1FBQ00sZUFBVSxHQUFHO1lBQ3BCLFFBQVEsRUFBRSxDQUFDLEVBQUUsQ0FBQztTQUNmLENBQUM7UUFTRjs7V0FFRztRQUNPLGdCQUFXLEdBQTRDLElBQUksWUFBWSxFQUE2QixDQUFDO0lBT3pFLENBQUM7SUFMdkM7O09BRUc7SUFDSCxRQUFRLEtBQVUsQ0FBQztJQUluQixNQUFNO1FBQ0osSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUM7WUFDcEIsUUFBUSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEVBQUUsS0FBSztTQUN6RCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQWE7UUFDdkIsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sRUFBRTtZQUNuRCxJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFO2dCQUNoRSxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQXFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyx3QkFBd0IsQ0FBQztnQkFDckYsT0FBTzthQUNSO1lBRUQsSUFBSSxLQUFLLEtBQUssVUFBVSxJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxFQUFFO2dCQUN2RixJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxxQkFBcUIsQ0FBQztnQkFDcEQsT0FBTzthQUNSO1NBQ0Y7UUFFRCxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQXFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDakUsQ0FBQzs7cUhBakVVLHVCQUF1Qjt5R0FBdkIsdUJBQXVCLDZKQ1ZwQyxxaUNBc0JBOzRGRFphLHVCQUF1QjtrQkFObkMsU0FBUzsrQkFDRSxvQkFBb0IsbUJBR2IsdUJBQXVCLENBQUMsTUFBTTtrR0F3QnRDLFVBQVU7c0JBQWxCLEtBQUs7Z0JBU0csT0FBTztzQkFBZixLQUFLO2dCQUtJLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDcmVhdGVQYXNzd29yZENyZWRlbnRpYWxzIH0gZnJvbSAnLi9jcmVhdGUtcGFzc3dvcmQubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd1aS1jcmVhdGUtcGFzc3dvcmQnLFxuICB0ZW1wbGF0ZVVybDogJy4vY3JlYXRlLXBhc3N3b3JkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY3JlYXRlLXBhc3N3b3JkLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBDcmVhdGVQYXNzd29yZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIC8vIFRPRE86IFNvbWUgcHJvcGVydGllcyBhbmQgbWV0aG9kcyBhcmUgaWdub3JlZCBvbiBwdXJwb3NlIGJlY2F1c2Ugb2YgYSBjdXJyZW50IGlzc3VlIHdpdGggY29tcG9kb2MgYW5kIGFuZ3VsYXIgMTNcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3N0b3J5Ym9va2pzL3N0b3J5Ym9vay9pc3N1ZXMvMTY4NjVcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3N0b3J5Ym9va2pzL3N0b3J5Ym9vay9pc3N1ZXMvMTcwMDRcblxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgY3JlYXRlUGFzc3dvcmRGb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgcGFzc3dvcmQ6IFtcbiAgICAgICcnLFxuICAgICAgW1xuICAgICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxuICAgICAgICBWYWxpZGF0b3JzLm1pbkxlbmd0aCgxMiksXG4gICAgICAgIFZhbGlkYXRvcnMucGF0dGVybigvXig/PVxcRCpcXGQpKD89W15hLXpdKlthLXpdKSg/PS4qWyMkJSYnKCkqKywtLi86Ozw9Pj9AXSkoPz1bXkEtWl0qW0EtWl0pLnsxMix9JC8pLFxuICAgICAgXSxcbiAgICBdLFxuICB9KTtcblxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgQElucHV0KCkgZm9ybUVycm9ycyA9IHtcbiAgICBwYXNzd29yZDogWycnXSxcbiAgfTtcblxuICAvKipcbiAgICogSW5kaWNhdG9yIGlmIHRoZSBmb3JtIGlzIGxvYWRpbmdcbiAgICpcbiAgICogQG1lbWJlcm9mIEJ1dHRvbkNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgbG9hZGluZzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgQE91dHB1dCgpIHN1Ym1pdEV2ZW50OiBFdmVudEVtaXR0ZXI8Q3JlYXRlUGFzc3dvcmRDcmVkZW50aWFscz4gPSBuZXcgRXZlbnRFbWl0dGVyPENyZWF0ZVBhc3N3b3JkQ3JlZGVudGlhbHM+KCk7XG5cbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIG5nT25Jbml0KCk6IHZvaWQge31cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZiOiBGb3JtQnVpbGRlcikge31cblxuICBzdWJtaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zdWJtaXRFdmVudC5lbWl0KHtcbiAgICAgIHBhc3N3b3JkOiB0aGlzLmNyZWF0ZVBhc3N3b3JkRm9ybS5nZXQoJ3Bhc3N3b3JkJyk/LnZhbHVlLFxuICAgIH0pO1xuICB9XG5cbiAgY2hlY2tFcnJvcnMoZmllbGQ6IHN0cmluZykge1xuICAgIGlmICh0aGlzLmNyZWF0ZVBhc3N3b3JkRm9ybS5jb250cm9sc1tmaWVsZF0udG91Y2hlZCkge1xuICAgICAgaWYgKHRoaXMuY3JlYXRlUGFzc3dvcmRGb3JtLmNvbnRyb2xzW2ZpZWxkXS5oYXNFcnJvcigncmVxdWlyZWQnKSkge1xuICAgICAgICB0aGlzLmZvcm1FcnJvcnNbZmllbGQgYXMga2V5b2YgdHlwZW9mIHRoaXMuZm9ybUVycm9yc11bMF0gPSAnVGhpcyBmaWVsZCBpcyByZXF1aXJlZCc7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKGZpZWxkID09PSAncGFzc3dvcmQnICYmIHRoaXMuY3JlYXRlUGFzc3dvcmRGb3JtLmNvbnRyb2xzW2ZpZWxkXS5oYXNFcnJvcigncGF0dGVybicpKSB7XG4gICAgICAgIHRoaXMuZm9ybUVycm9ycy5wYXNzd29yZFswXSA9ICdQYXNzd29yZCBpcyBpbnZhbGlkJztcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuZm9ybUVycm9yc1tmaWVsZCBhcyBrZXlvZiB0eXBlb2YgdGhpcy5mb3JtRXJyb3JzXVswXSA9ICcnO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZm9ybS1ib3hcIj5cbiAgPGltZyBjbGFzcz1cImxvZ29cIiBzcmM9XCIvaW1hZ2VzL3Rlc3Rnb3JpbGxhLnN2Z1wiPlxuICA8ZGl2IGNsYXNzPVwidGl0bGVcIj5QbGVhc2UgY3JlYXRlIGEgbmV3IHBhc3N3b3JkPC9kaXY+XG4gIDxmb3JtIFtmb3JtR3JvdXBdPVwiY3JlYXRlUGFzc3dvcmRGb3JtXCI+XG4gICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XG4gICAgICA8dWktZmllbGQgZm9ybUNvbnRyb2xOYW1lPVwicGFzc3dvcmRcIiBbcGxhY2Vob2xkZXJdPVwiJ1NldCBwYXNzd29yZCdcIiBbdHlwZV09XCIncGFzc3dvcmQnXCIgW3JlcXVpcmVkXT1cInRydWVcIiBbZXJyb3JdPVwiZm9ybUVycm9ycy5wYXNzd29yZFswXVwiIChuZ01vZGVsQ2hhbmdlKT1cImNoZWNrRXJyb3JzKCdwYXNzd29yZCcpXCI+PC91aS1maWVsZD5cbiAgICAgIDxtYXQtcGFzc3dvcmQtc3RyZW5ndGhcbiAgICAgICAgICAgICAgW21pbl09XCIxMlwiXG4gICAgICAgICAgICAgICNwYXNzd29yZENvbXBvbmVudFdpdGhWYWxpZGF0aW9uXG4gICAgICAgICAgICAgIFtwYXNzd29yZF09XCJjcmVhdGVQYXNzd29yZEZvcm0uY29udHJvbHNbJ3Bhc3N3b3JkJ10udmFsdWVcIlxuICAgICAgICAgICAgPlxuICAgICAgPC9tYXQtcGFzc3dvcmQtc3RyZW5ndGg+XG4gICAgICA8bWF0LXBhc3N3b3JkLXN0cmVuZ3RoLWluZm8gW3Bhc3N3b3JkQ29tcG9uZW50XT1cInBhc3N3b3JkQ29tcG9uZW50V2l0aFZhbGlkYXRpb25cIj5cbiAgICAgIDwvbWF0LXBhc3N3b3JkLXN0cmVuZ3RoLWluZm8+XG4gICAgPC9kaXY+XG4gICAgPGRpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwic3VibWl0LWJ1dHRvblwiPlxuICAgICAgPHVpLWJ1dHRvbiBbbGFiZWxdPVwiJ1NldCBuZXcgcGFzc3dvcmQnXCIgW2Rpc2FibGVkXT1cImNyZWF0ZVBhc3N3b3JkRm9ybS5pbnZhbGlkXCIgW2Z1bGxXaWR0aF09XCJ0cnVlXCIgW2xvYWRpbmddPVwibG9hZGluZ1wiIChvbkNsaWNrRXZlbnQpPVwic3VibWl0KClcIj48L3VpLWJ1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9mb3JtPlxuPC9kaXY+XG4iXX0=
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output
|
|
1
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
2
|
import { Validators } from '@angular/forms';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
import * as i1 from "@angular/forms";
|
|
@@ -59,10 +59,10 @@ export class ForgotPasswordComponent {
|
|
|
59
59
|
}
|
|
60
60
|
}
|
|
61
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
|
|
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 });
|
|
63
63
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ForgotPasswordComponent, decorators: [{
|
|
64
64
|
type: Component,
|
|
65
|
-
args: [{ selector: 'ui-forgot-password', changeDetection: ChangeDetectionStrategy.OnPush,
|
|
65
|
+
args: [{ selector: 'ui-forgot-password', changeDetection: ChangeDetectionStrategy.OnPush, 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
66
|
}], ctorParameters: function () { return [{ type: i1.FormBuilder }]; }, propDecorators: { formErrors: [{
|
|
67
67
|
type: Input
|
|
68
68
|
}], loading: [{
|
|
@@ -72,4 +72,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
72
72
|
}], backToLoginEvent: [{
|
|
73
73
|
type: Output
|
|
74
74
|
}] } });
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yZ290LXBhc3N3b3JkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2ZvcmdvdC1wYXNzd29yZC9mb3Jnb3QtcGFzc3dvcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvZm9yZ290LXBhc3N3b3JkL2ZvcmdvdC1wYXNzd29yZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hHLE9BQU8sRUFBZSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7O0FBU3pELE1BQU0sT0FBTyx1QkFBdUI7SUF5Q2xDLFlBQW9CLEVBQWU7UUFBZixPQUFFLEdBQUYsRUFBRSxDQUFhO1FBeENuQyxtSEFBbUg7UUFDbkgsd0RBQXdEO1FBQ3hELHdEQUF3RDtRQUV4RDs7V0FFRztRQUNILHVCQUFrQixHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQ2pDLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3JELENBQUMsQ0FBQztRQUVIOztXQUVHO1FBQ00sZUFBVSxHQUFHO1lBQ3BCLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQztTQUNaLENBQUM7UUFTRjs7V0FFRztRQUNPLGdCQUFXLEdBQTRDLElBQUksWUFBWSxFQUE2QixDQUFDO1FBRS9HOztXQUVHO1FBQ08scUJBQWdCLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7SUFPcEMsQ0FBQztJQUx2Qzs7T0FFRztJQUNILFFBQVEsS0FBVSxDQUFDO0lBSW5CLE1BQU07UUFDSixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztZQUNwQixLQUFLLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxLQUFLO1NBQ25ELENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBYTtRQUN2QixJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxFQUFFO1lBQ25ELElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUU7Z0JBQ2hFLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBcUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLHdCQUF3QixDQUFDO2dCQUNyRixPQUFPO2FBQ1I7WUFFRCxJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUM3RCxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQXFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxxQkFBcUIsQ0FBQztnQkFDbEYsT0FBTzthQUNSO1NBQ0Y7UUFFRCxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQXFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDakUsQ0FBQzs7cUhBbkVVLHVCQUF1Qjt5R0FBdkIsdUJBQXVCLG1NQ1ZwQyxrekJBa0JBOzRGRFJhLHVCQUF1QjtrQkFObkMsU0FBUzsrQkFDRSxvQkFBb0IsbUJBR2IsdUJBQXVCLENBQUMsTUFBTTtrR0FpQnRDLFVBQVU7c0JBQWxCLEtBQUs7Z0JBU0csT0FBTztzQkFBZixLQUFLO2dCQUtJLFdBQVc7c0JBQXBCLE1BQU07Z0JBS0csZ0JBQWdCO3NCQUF6QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRm9yZ290UGFzc3dvcmRDcmVkZW50aWFscyB9IGZyb20gJy4vZm9yZ290LXBhc3N3b3JkLm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndWktZm9yZ290LXBhc3N3b3JkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZvcmdvdC1wYXNzd29yZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ZvcmdvdC1wYXNzd29yZC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRm9yZ290UGFzc3dvcmRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAvLyBUT0RPOiBTb21lIHByb3BlcnRpZXMgYW5kIG1ldGhvZHMgYXJlIGlnbm9yZWQgb24gcHVycG9zZSBiZWNhdXNlIG9mIGEgY3VycmVudCBpc3N1ZSB3aXRoIGNvbXBvZG9jIGFuZCBhbmd1bGFyIDEzXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9zdG9yeWJvb2tqcy9zdG9yeWJvb2svaXNzdWVzLzE2ODY1XG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9zdG9yeWJvb2tqcy9zdG9yeWJvb2svaXNzdWVzLzE3MDA0XG5cbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIGZvcmdvdFBhc3N3b3JkRm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgIGVtYWlsOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLmVtYWlsXV0sXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBASW5wdXQoKSBmb3JtRXJyb3JzID0ge1xuICAgIGVtYWlsOiBbJyddLFxuICB9O1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0b3IgaWYgdGhlIGZvcm0gaXMgbG9hZGluZ1xuICAgKlxuICAgKiBAbWVtYmVyb2YgQnV0dG9uQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBsb2FkaW5nOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBAT3V0cHV0KCkgc3VibWl0RXZlbnQ6IEV2ZW50RW1pdHRlcjxGb3Jnb3RQYXNzd29yZENyZWRlbnRpYWxzPiA9IG5ldyBFdmVudEVtaXR0ZXI8Rm9yZ290UGFzc3dvcmRDcmVkZW50aWFscz4oKTtcblxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgQE91dHB1dCgpIGJhY2tUb0xvZ2luRXZlbnQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgbmdPbkluaXQoKTogdm9pZCB7fVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyKSB7fVxuXG4gIHN1Ym1pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN1Ym1pdEV2ZW50LmVtaXQoe1xuICAgICAgZW1haWw6IHRoaXMuZm9yZ290UGFzc3dvcmRGb3JtLmdldCgnZW1haWwnKT8udmFsdWUsXG4gICAgfSk7XG4gIH1cblxuICBiYWNrVG9Mb2dpbigpOiB2b2lkIHtcbiAgICB0aGlzLmJhY2tUb0xvZ2luRXZlbnQuZW1pdCgpO1xuICB9XG5cbiAgY2hlY2tFcnJvcnMoZmllbGQ6IHN0cmluZykge1xuICAgIGlmICh0aGlzLmZvcmdvdFBhc3N3b3JkRm9ybS5jb250cm9sc1tmaWVsZF0udG91Y2hlZCkge1xuICAgICAgaWYgKHRoaXMuZm9yZ290UGFzc3dvcmRGb3JtLmNvbnRyb2xzW2ZpZWxkXS5oYXNFcnJvcigncmVxdWlyZWQnKSkge1xuICAgICAgICB0aGlzLmZvcm1FcnJvcnNbZmllbGQgYXMga2V5b2YgdHlwZW9mIHRoaXMuZm9ybUVycm9yc11bMF0gPSAnVGhpcyBmaWVsZCBpcyByZXF1aXJlZCc7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuZm9yZ290UGFzc3dvcmRGb3JtLmNvbnRyb2xzW2ZpZWxkXS5oYXNFcnJvcignZW1haWwnKSkge1xuICAgICAgICB0aGlzLmZvcm1FcnJvcnNbZmllbGQgYXMga2V5b2YgdHlwZW9mIHRoaXMuZm9ybUVycm9yc11bMF0gPSAnRW50ZXIgYSB2YWxpZCBlbWFpbCc7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLmZvcm1FcnJvcnNbZmllbGQgYXMga2V5b2YgdHlwZW9mIHRoaXMuZm9ybUVycm9yc11bMF0gPSAnJztcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZvcm0tYm94XCI+XG4gIDxpbWcgY2xhc3M9XCJsb2dvXCIgc3JjPVwiL2ltYWdlcy90ZXN0Z29yaWxsYS5zdmdcIj5cbiAgPGRpdiBjbGFzcz1cInRpdGxlXCI+UmVzZXQgeW91ciBwYXNzd29yZDwvZGl2PlxuICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcmdvdFBhc3N3b3JkRm9ybVwiPlxuICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxuICAgICAgPHVpLWZpZWxkIGZvcm1Db250cm9sTmFtZT1cImVtYWlsXCIgW3BsYWNlaG9sZGVyXT1cIidFbWFpbCdcIiBbdHlwZV09XCInZW1haWwnXCIgW3JlcXVpcmVkXT1cInRydWVcIiBbZXJyb3JdPVwiZm9ybUVycm9ycy5lbWFpbFswXVwiIChuZ01vZGVsQ2hhbmdlKT1cImNoZWNrRXJyb3JzKCdlbWFpbCcpXCI+PC91aS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJzdWJtaXQtYnV0dG9uXCI+XG4gICAgICA8dWktYnV0dG9uIFtsYWJlbF09XCInU2VuZCByZXNldCBsaW5rJ1wiIFtkaXNhYmxlZF09XCJmb3Jnb3RQYXNzd29yZEZvcm0uaW52YWxpZFwiIFtmdWxsV2lkdGhdPVwidHJ1ZVwiIFtsb2FkaW5nXT1cImxvYWRpbmdcIiAob25DbGlja0V2ZW50KT1cInN1Ym1pdCgpXCI+PC91aS1idXR0b24+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImJhY2stbG9naW5cIiAoY2xpY2spPVwiYmFja1RvTG9naW4oKVwiPlxuICAgICAgPG1hdC1pY29uPmFycm93X2JhY2s8L21hdC1pY29uPlxuICAgICAgPHNwYW4+QmFjayB0byBsb2cgaW48L3NwYW4+XG4gICAgPC9kaXY+XG4gIDwvZm9ybT5cbjwvZGl2PlxuIl19
|