@testgorilla/tgo-ui 0.0.16 → 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.
Files changed (42) hide show
  1. package/.github/README.md +66 -0
  2. package/README.md +9 -48
  3. package/components/banner-action/banner-action.component.d.ts +40 -0
  4. package/components/banner-action/banner-action.component.module.d.ts +10 -0
  5. package/components/{register/register.component.d.ts → create-account/create-account.component.d.ts} +5 -5
  6. package/components/create-account/create-account.component.module.d.ts +13 -0
  7. package/components/{register/register.model.d.ts → create-account/create-account.model.d.ts} +1 -1
  8. package/components/table/table.component.d.ts +2 -6
  9. package/components/table/table.component.module.d.ts +2 -3
  10. package/components/table/table.model.d.ts +20 -13
  11. package/esm2020/components/banner/banner.component.mjs +4 -4
  12. package/esm2020/components/banner-action/banner-action.component.mjs +42 -0
  13. package/esm2020/components/banner-action/banner-action.component.module.mjs +21 -0
  14. package/esm2020/components/create-account/create-account.component.mjs +91 -0
  15. package/esm2020/components/create-account/create-account.component.module.mjs +46 -0
  16. package/esm2020/components/create-account/create-account.model.mjs +2 -0
  17. package/esm2020/components/create-password/create-password.component.mjs +4 -4
  18. package/esm2020/components/forgot-password/forgot-password.component.mjs +4 -4
  19. package/esm2020/components/login/login.component.mjs +4 -4
  20. package/esm2020/components/navbar/navbar.component.mjs +4 -4
  21. package/esm2020/components/navigation/navigation.component.mjs +4 -4
  22. package/esm2020/components/paginator/paginator.component.mjs +4 -4
  23. package/esm2020/components/status/status.component.mjs +4 -4
  24. package/esm2020/components/table/table.component.mjs +9 -14
  25. package/esm2020/components/table/table.component.module.mjs +4 -5
  26. package/esm2020/components/table/table.model.mjs +16 -13
  27. package/esm2020/public-api.mjs +20 -16
  28. package/fesm2015/testgorilla-tgo-ui.mjs +308 -258
  29. package/fesm2015/testgorilla-tgo-ui.mjs.map +1 -1
  30. package/fesm2020/testgorilla-tgo-ui.mjs +307 -257
  31. package/fesm2020/testgorilla-tgo-ui.mjs.map +1 -1
  32. package/package.json +1 -3
  33. package/public-api.d.ts +4 -2
  34. package/src/assets/images/check.svg +3 -0
  35. package/src/theme/_core.scss +20 -0
  36. package/src/theme/_typography.scss +58 -0
  37. package/src/theme/_variables.scss +3 -1
  38. package/src/theme/{base.scss → theme.scss} +4 -32
  39. package/components/register/register.component.module.d.ts +0 -13
  40. package/esm2020/components/register/register.component.mjs +0 -91
  41. package/esm2020/components/register/register.component.module.mjs +0 -46
  42. package/esm2020/components/register/register.model.mjs +0 -2
@@ -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
@@ -1,57 +1,18 @@
1
1
  # TestGorilla UI Library
2
2
 
3
3
  # Components
4
+ * Banner
5
+ * Banner Action
4
6
  * Button
7
+ * Card
8
+ * Create Password
5
9
  * Field
10
+ * Forgot Password
6
11
  * Login
12
+ * Logo
7
13
  * NavBar
14
+ * Navigation
8
15
  * Paginator
16
+ * Create Account
17
+ * Status
9
18
  * Table
10
-
11
- ## Storybook Development Server
12
-
13
- Run `npm run storybook`
14
-
15
- ## Build Storybook
16
-
17
- Run `npm run build-storybook`
18
-
19
- ## Build UI Library
20
-
21
- Run `ng build` to build the ui library. The build artifacts will be stored in the `dist/` directory.
22
-
23
- ## Running unit tests
24
-
25
- Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io).
26
-
27
- ## Running end-to-end tests
28
-
29
- 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.
30
-
31
- ## Visual regression
32
-
33
- 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.
34
-
35
- 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.
36
-
37
- ```
38
- docker run --rm --network host -v $(pwd):/work/ -w /work/ -it mcr.microsoft.com/playwright:latest /bin/bash
39
- npm install
40
- npx playwright test e2e/common.spec.ts --update-snapshots
41
- ```
42
-
43
- In order to execute the visual tests, we need to use same docker so that the screenshots are aligned with the same OS.
44
-
45
- ```
46
- docker run --rm --network host -v $(pwd):/work/ -w /work/ -it mcr.microsoft.com/playwright:latest /bin/bash
47
- npm install
48
- npx playwright test e2e/common.spec.ts
49
- ```
50
-
51
- 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.
52
-
53
- ### Visual Regression Important to note !!!
54
-
55
- * 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.
56
- * 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>`.
57
- * We are using that element_id to wait until its fully loaded and then we are taking the snapshot.
@@ -0,0 +1,40 @@
1
+ import { EventEmitter } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class BannerActionComponent {
4
+ /**
5
+ * BannerAction text
6
+ *
7
+ * @type {string}
8
+ * @memberof BannerActionComponent
9
+ */
10
+ text: string;
11
+ /**
12
+ * BannerAction background color
13
+ *
14
+ * @type {string}
15
+ * @memberof BannerActionComponent
16
+ */
17
+ backgroundColor: string;
18
+ /**
19
+ * BannerAction button label
20
+ *
21
+ * @type {string}
22
+ * @memberof BannerActionComponent
23
+ */
24
+ buttonLabel: string;
25
+ /**
26
+ * BannerAction emoni
27
+ *
28
+ * @type {string}
29
+ * @memberof BannerActionComponent
30
+ */
31
+ emoji: string;
32
+ /**
33
+ * @ignore
34
+ */
35
+ buttonClickedEvent: EventEmitter<void>;
36
+ constructor();
37
+ buttonClicked(): void;
38
+ static ɵfac: i0.ɵɵFactoryDeclaration<BannerActionComponent, never>;
39
+ static ɵcmp: i0.ɵɵComponentDeclaration<BannerActionComponent, "ui-banner-action", never, { "text": "text"; "backgroundColor": "backgroundColor"; "buttonLabel": "buttonLabel"; "emoji": "emoji"; }, { "buttonClickedEvent": "buttonClickedEvent"; }, never, never>;
40
+ }
@@ -0,0 +1,10 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./banner-action.component";
3
+ import * as i2 from "@angular/common";
4
+ import * as i3 from "@angular/material/icon";
5
+ import * as i4 from "../button/button.component.module";
6
+ export declare class BannerActionComponentModule {
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<BannerActionComponentModule, never>;
8
+ static ɵmod: i0.ɵɵNgModuleDeclaration<BannerActionComponentModule, [typeof i1.BannerActionComponent], [typeof i2.CommonModule, typeof i3.MatIconModule, typeof i4.ButtonComponentModule], [typeof i1.BannerActionComponent]>;
9
+ static ɵinj: i0.ɵɵInjectorDeclaration<BannerActionComponentModule>;
10
+ }
@@ -1,8 +1,8 @@
1
1
  import { EventEmitter, OnInit } from '@angular/core';
2
2
  import { FormBuilder } from '@angular/forms';
3
- import { RegisterCredentials } from './register.model';
3
+ import { CreateAccountCredentials } from './create-account.model';
4
4
  import * as i0 from "@angular/core";
5
- export declare class RegisterComponent implements OnInit {
5
+ export declare class CreateAccountComponent implements OnInit {
6
6
  private fb;
7
7
  /**
8
8
  * @ignore
@@ -24,7 +24,7 @@ export declare class RegisterComponent implements OnInit {
24
24
  /**
25
25
  * @ignore
26
26
  */
27
- submitEvent: EventEmitter<RegisterCredentials>;
27
+ submitEvent: EventEmitter<CreateAccountCredentials>;
28
28
  /**
29
29
  * @ignore
30
30
  */
@@ -37,6 +37,6 @@ export declare class RegisterComponent implements OnInit {
37
37
  submit(): void;
38
38
  login(): void;
39
39
  checkErrors(field: string): void;
40
- static ɵfac: i0.ɵɵFactoryDeclaration<RegisterComponent, never>;
41
- static ɵcmp: i0.ɵɵComponentDeclaration<RegisterComponent, "ui-register", never, { "formErrors": "formErrors"; "loading": "loading"; }, { "submitEvent": "submitEvent"; "loginEvent": "loginEvent"; }, never, never>;
40
+ static ɵfac: i0.ɵɵFactoryDeclaration<CreateAccountComponent, never>;
41
+ static ɵcmp: i0.ɵɵComponentDeclaration<CreateAccountComponent, "ui-create-account", never, { "formErrors": "formErrors"; "loading": "loading"; }, { "submitEvent": "submitEvent"; "loginEvent": "loginEvent"; }, never, never>;
42
42
  }
@@ -0,0 +1,13 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./create-account.component";
3
+ import * as i2 from "@angular/common";
4
+ import * as i3 from "@angular/forms";
5
+ import * as i4 from "../field/field.component.module";
6
+ import * as i5 from "../button/button.component.module";
7
+ import * as i6 from "@angular/material/checkbox";
8
+ import * as i7 from "@angular-material-extensions/password-strength";
9
+ export declare class CreateAccountComponentModule {
10
+ static ɵfac: i0.ɵɵFactoryDeclaration<CreateAccountComponentModule, never>;
11
+ static ɵmod: i0.ɵɵNgModuleDeclaration<CreateAccountComponentModule, [typeof i1.CreateAccountComponent], [typeof i2.CommonModule, typeof i3.FormsModule, typeof i3.ReactiveFormsModule, typeof i4.FieldComponentModule, typeof i5.ButtonComponentModule, typeof i6.MatCheckboxModule, typeof i7.MatPasswordStrengthModule], [typeof i1.CreateAccountComponent]>;
12
+ static ɵinj: i0.ɵɵInjectorDeclaration<CreateAccountComponentModule>;
13
+ }
@@ -1,4 +1,4 @@
1
- export interface RegisterCredentials {
1
+ export interface CreateAccountCredentials {
2
2
  username: string;
3
3
  password: string;
4
4
  }
@@ -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 { DataType, DateFormat, IDataSource, ITableColumn } from './table.model';
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 DataType;
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 "ngx-date-fns";
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.DateFnsModule, typeof i7.StatusComponentModule], [typeof i1.TableComponent]>;
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
- name: string;
6
- dataKey?: string;
7
- dataFunction?: (v: T) => string;
5
+ headerName: string;
6
+ field?: string;
7
+ type?: ColumnType;
8
+ valueGetter?: (v: T) => string;
8
9
  sortable?: boolean;
9
- dataType?: DataType;
10
- dateFormat?: DateFormat;
10
+ styles?: ColumnStyles;
11
11
  }
12
- export declare enum DataType {
13
- Date = "date",
14
- String = "string",
15
- Label = "label",
16
- Percentage = "percentage"
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 declare enum DateFormat {
19
- Short = "short",
20
- TimeAgo = "timeAgo"
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, ViewEncapsulation } from '@angular/core';
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{width:100%;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, encapsulation: i0.ViewEncapsulation.None });
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, encapsulation: ViewEncapsulation.None, template: "<div id=\"banner\" [style.background-color]=\"backgroundColor\">\n <mat-icon>{{ icon }}</mat-icon>\n <span>{{ text }}</span>\n</div>", styles: ["#banner{width:100%;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"] }]
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFubmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhbm5lci9iYW5uZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYmFubmVyL2Jhbm5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBUzdGLE1BQU0sT0FBTyxlQUFlO0lBNkIxQjtRQTVCQSxtSEFBbUg7UUFDbkgsd0RBQXdEO1FBQ3hELHdEQUF3RDtRQUV4RDs7Ozs7V0FLRztRQUNNLG9CQUFlLEdBQUcsRUFBRSxDQUFDO1FBRTlCOzs7OztXQUtHO1FBQ00sU0FBSSxHQUFHLEVBQUUsQ0FBQztRQUVuQjs7Ozs7V0FLRztRQUNNLFNBQUksR0FBRyxlQUFlLENBQUM7SUFFakIsQ0FBQzs7NkdBN0JMLGVBQWU7aUdBQWYsZUFBZSw2SENUNUIsNElBR007NEZETU8sZUFBZTtrQkFQM0IsU0FBUzsrQkFDRSxXQUFXLG1CQUdKLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUk7MEVBYTVCLGVBQWU7c0JBQXZCLEtBQUs7Z0JBUUcsSUFBSTtzQkFBWixLQUFLO2dCQVFHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd1aS1iYW5uZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vYmFubmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYmFubmVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBCYW5uZXJDb21wb25lbnQge1xuICAvLyBUT0RPOiBTb21lIHByb3BlcnRpZXMgYW5kIG1ldGhvZHMgYXJlIGlnbm9yZWQgb24gcHVycG9zZSBiZWNhdXNlIG9mIGEgY3VycmVudCBpc3N1ZSB3aXRoIGNvbXBvZG9jIGFuZCBhbmd1bGFyIDEzXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9zdG9yeWJvb2tqcy9zdG9yeWJvb2svaXNzdWVzLzE2ODY1XG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9zdG9yeWJvb2tqcy9zdG9yeWJvb2svaXNzdWVzLzE3MDA0XG5cbiAgLyoqXG4gICAqIEJhbm5lciBiYWNrZ3JvdW5kIGNvbG9yXG4gICAqXG4gICAqIEB0eXBlIHtUZW1wbGF0ZVN0cmluZ3NBcnJheX1cbiAgICogQG1lbWJlcm9mIEJhbm5lckNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgYmFja2dyb3VuZENvbG9yID0gJyc7XG5cbiAgLyoqXG4gICAqIEJhbm5lciB0ZXh0XG4gICAqXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqIEBtZW1iZXJvZiBCYW5uZXJDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIHRleHQgPSAnJztcblxuICAvKipcbiAgICogQmFubmVyIGljb25cbiAgICpcbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQG1lbWJlcm9mIEJhbm5lckNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgaWNvbiA9ICdlcnJvcl9vdXRsaW5lJztcblxuICBjb25zdHJ1Y3RvcigpIHt9XG59XG4iLCI8ZGl2IGlkPVwiYmFubmVyXCIgW3N0eWxlLmJhY2tncm91bmQtY29sb3JdPVwiYmFja2dyb3VuZENvbG9yXCI+XG4gICAgPG1hdC1pY29uPnt7IGljb24gfX08L21hdC1pY29uPlxuICAgIDxzcGFuPnt7IHRleHQgfX08L3NwYW4+XG48L2Rpdj4iXX0=
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFubmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhbm5lci9iYW5uZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYmFubmVyL2Jhbm5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBUTFFLE1BQU0sT0FBTyxlQUFlO0lBNkIxQjtRQTVCQSxtSEFBbUg7UUFDbkgsd0RBQXdEO1FBQ3hELHdEQUF3RDtRQUV4RDs7Ozs7V0FLRztRQUNNLG9CQUFlLEdBQUcsRUFBRSxDQUFDO1FBRTlCOzs7OztXQUtHO1FBQ00sU0FBSSxHQUFHLEVBQUUsQ0FBQztRQUVuQjs7Ozs7V0FLRztRQUNNLFNBQUksR0FBRyxlQUFlLENBQUM7SUFFakIsQ0FBQzs7NkdBN0JMLGVBQWU7aUdBQWYsZUFBZSw2SENSNUIsNElBR007NEZES08sZUFBZTtrQkFOM0IsU0FBUzsrQkFDRSxXQUFXLG1CQUdKLHVCQUF1QixDQUFDLE1BQU07MEVBYXRDLGVBQWU7c0JBQXZCLEtBQUs7Z0JBUUcsSUFBSTtzQkFBWixLQUFLO2dCQVFHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3VpLWJhbm5lcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9iYW5uZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9iYW5uZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEJhbm5lckNvbXBvbmVudCB7XG4gIC8vIFRPRE86IFNvbWUgcHJvcGVydGllcyBhbmQgbWV0aG9kcyBhcmUgaWdub3JlZCBvbiBwdXJwb3NlIGJlY2F1c2Ugb2YgYSBjdXJyZW50IGlzc3VlIHdpdGggY29tcG9kb2MgYW5kIGFuZ3VsYXIgMTNcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3N0b3J5Ym9va2pzL3N0b3J5Ym9vay9pc3N1ZXMvMTY4NjVcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3N0b3J5Ym9va2pzL3N0b3J5Ym9vay9pc3N1ZXMvMTcwMDRcblxuICAvKipcbiAgICogQmFubmVyIGJhY2tncm91bmQgY29sb3JcbiAgICpcbiAgICogQHR5cGUge1RlbXBsYXRlU3RyaW5nc0FycmF5fVxuICAgKiBAbWVtYmVyb2YgQmFubmVyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBiYWNrZ3JvdW5kQ29sb3IgPSAnJztcblxuICAvKipcbiAgICogQmFubmVyIHRleHRcbiAgICpcbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQG1lbWJlcm9mIEJhbm5lckNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgdGV4dCA9ICcnO1xuXG4gIC8qKlxuICAgKiBCYW5uZXIgaWNvblxuICAgKlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAbWVtYmVyb2YgQmFubmVyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBpY29uID0gJ2Vycm9yX291dGxpbmUnO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cbn1cbiIsIjxkaXYgaWQ9XCJiYW5uZXJcIiBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJiYWNrZ3JvdW5kQ29sb3JcIj5cbiAgICA8bWF0LWljb24+e3sgaWNvbiB9fTwvbWF0LWljb24+XG4gICAgPHNwYW4+e3sgdGV4dCB9fTwvc3Bhbj5cbjwvZGl2PiJdfQ==
@@ -0,0 +1,42 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "../button/button.component";
4
+ import * as i2 from "@angular/common";
5
+ export class BannerActionComponent {
6
+ constructor() {
7
+ // TODO: Some properties and methods are ignored on purpose because of a current issue with compodoc and angular 13
8
+ // https://github.com/storybookjs/storybook/issues/16865
9
+ // https://github.com/storybookjs/storybook/issues/17004
10
+ /**
11
+ * BannerAction text
12
+ *
13
+ * @type {string}
14
+ * @memberof BannerActionComponent
15
+ */
16
+ this.text = '';
17
+ /**
18
+ * @ignore
19
+ */
20
+ this.buttonClickedEvent = new EventEmitter();
21
+ }
22
+ buttonClicked() {
23
+ this.buttonClickedEvent.emit();
24
+ }
25
+ }
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 });
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: BannerActionComponent, decorators: [{
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 <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
+ }], ctorParameters: function () { return []; }, propDecorators: { text: [{
32
+ type: Input
33
+ }], backgroundColor: [{
34
+ type: Input
35
+ }], buttonLabel: [{
36
+ type: Input
37
+ }], emoji: [{
38
+ type: Input
39
+ }], buttonClickedEvent: [{
40
+ type: Output
41
+ }] } });
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFubmVyLWFjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9iYW5uZXItYWN0aW9uL2Jhbm5lci1hY3Rpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYmFubmVyLWFjdGlvbi9iYW5uZXItYWN0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFRaEcsTUFBTSxPQUFPLHFCQUFxQjtJQTBDaEM7UUF6Q0EsbUhBQW1IO1FBQ25ILHdEQUF3RDtRQUN4RCx3REFBd0Q7UUFFeEQ7Ozs7O1dBS0c7UUFDTSxTQUFJLEdBQUcsRUFBRSxDQUFDO1FBMEJuQjs7V0FFRztRQUNPLHVCQUFrQixHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO0lBRTdELENBQUM7SUFFaEIsYUFBYTtRQUNYLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNqQyxDQUFDOzttSEE5Q1UscUJBQXFCO3VHQUFyQixxQkFBcUIseU5DUmxDLHlYQU1NOzRGREVPLHFCQUFxQjtrQkFOakMsU0FBUzsrQkFDRSxrQkFBa0IsbUJBR1gsdUJBQXVCLENBQUMsTUFBTTswRUFhdEMsSUFBSTtzQkFBWixLQUFLO2dCQVFHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBUUcsV0FBVztzQkFBbkIsS0FBSztnQkFRRyxLQUFLO3NCQUFiLEtBQUs7Z0JBS0ksa0JBQWtCO3NCQUEzQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3VpLWJhbm5lci1hY3Rpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vYmFubmVyLWFjdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Jhbm5lci1hY3Rpb24uY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEJhbm5lckFjdGlvbkNvbXBvbmVudCB7XG4gIC8vIFRPRE86IFNvbWUgcHJvcGVydGllcyBhbmQgbWV0aG9kcyBhcmUgaWdub3JlZCBvbiBwdXJwb3NlIGJlY2F1c2Ugb2YgYSBjdXJyZW50IGlzc3VlIHdpdGggY29tcG9kb2MgYW5kIGFuZ3VsYXIgMTNcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3N0b3J5Ym9va2pzL3N0b3J5Ym9vay9pc3N1ZXMvMTY4NjVcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3N0b3J5Ym9va2pzL3N0b3J5Ym9vay9pc3N1ZXMvMTcwMDRcblxuICAvKipcbiAgICogQmFubmVyQWN0aW9uIHRleHRcbiAgICpcbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQG1lbWJlcm9mIEJhbm5lckFjdGlvbkNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgdGV4dCA9ICcnO1xuXG4gIC8qKlxuICAgKiBCYW5uZXJBY3Rpb24gYmFja2dyb3VuZCBjb2xvclxuICAgKlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAbWVtYmVyb2YgQmFubmVyQWN0aW9uQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBiYWNrZ3JvdW5kQ29sb3I6IHN0cmluZztcblxuICAvKipcbiAgICogQmFubmVyQWN0aW9uIGJ1dHRvbiBsYWJlbFxuICAgKlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAbWVtYmVyb2YgQmFubmVyQWN0aW9uQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBidXR0b25MYWJlbDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBCYW5uZXJBY3Rpb24gZW1vbmlcbiAgICpcbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQG1lbWJlcm9mIEJhbm5lckFjdGlvbkNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgZW1vamk6IHN0cmluZztcblxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgQE91dHB1dCgpIGJ1dHRvbkNsaWNrZWRFdmVudDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBidXR0b25DbGlja2VkKCk6IHZvaWQge1xuICAgIHRoaXMuYnV0dG9uQ2xpY2tlZEV2ZW50LmVtaXQoKTtcbiAgfVxufVxuIiwiPGRpdiBpZD1cImJhbm5lci1hY3Rpb25cIiBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJiYWNrZ3JvdW5kQ29sb3JcIj5cbiAgICA8ZGl2IGNsYXNzPVwidGV4dFwiPlxuICAgICAgICA8c3BhbiAqbmdJZj1cImVtb2ppXCIgY2xhc3M9XCJlbW9qaVwiPnt7IGVtb2ppIH19PC9zcGFuPlxuICAgICAgICA8c3Bhbj57eyB0ZXh0IH19PC9zcGFuPlxuICAgIDwvZGl2PlxuICAgIDx1aS1idXR0b24gW2ljb25OYW1lXT1cIidlYXN0J1wiIFtpY29uUG9zaXRpb25dPVwiJ3JpZ2h0J1wiIFtsYWJlbF09XCJidXR0b25MYWJlbFwiIChvbkNsaWNrRXZlbnQpPVwiYnV0dG9uQ2xpY2tlZCgpXCIgKm5nSWY9XCJidXR0b25MYWJlbFwiPjwvdWktYnV0dG9uPlxuPC9kaXY+Il19
@@ -0,0 +1,21 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { MatIconModule } from '@angular/material/icon';
4
+ import { ButtonComponentModule } from '../button/button.component.module';
5
+ import { BannerActionComponent } from './banner-action.component';
6
+ import * as i0 from "@angular/core";
7
+ export class BannerActionComponentModule {
8
+ }
9
+ BannerActionComponentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: BannerActionComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
+ BannerActionComponentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: BannerActionComponentModule, declarations: [BannerActionComponent], imports: [CommonModule, MatIconModule, ButtonComponentModule], exports: [BannerActionComponent] });
11
+ BannerActionComponentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: BannerActionComponentModule, providers: [], imports: [[CommonModule, MatIconModule, ButtonComponentModule]] });
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: BannerActionComponentModule, decorators: [{
13
+ type: NgModule,
14
+ args: [{
15
+ declarations: [BannerActionComponent],
16
+ imports: [CommonModule, MatIconModule, ButtonComponentModule],
17
+ exports: [BannerActionComponent],
18
+ providers: [],
19
+ }]
20
+ }] });
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFubmVyLWFjdGlvbi5jb21wb25lbnQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYmFubmVyLWFjdGlvbi9iYW5uZXItYWN0aW9uLmNvbXBvbmVudC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDOztBQVFsRSxNQUFNLE9BQU8sMkJBQTJCOzt5SEFBM0IsMkJBQTJCOzBIQUEzQiwyQkFBMkIsaUJBTHZCLHFCQUFxQixhQUMxQixZQUFZLEVBQUUsYUFBYSxFQUFFLHFCQUFxQixhQUNsRCxxQkFBcUI7MEhBR3BCLDJCQUEyQixhQUYzQixFQUFFLFlBRkosQ0FBQyxZQUFZLEVBQUUsYUFBYSxFQUFFLHFCQUFxQixDQUFDOzRGQUlsRCwyQkFBMkI7a0JBTnZDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMscUJBQXFCLENBQUM7b0JBQ3JDLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxhQUFhLEVBQUUscUJBQXFCLENBQUM7b0JBQzdELE9BQU8sRUFBRSxDQUFDLHFCQUFxQixDQUFDO29CQUNoQyxTQUFTLEVBQUUsRUFBRTtpQkFDZCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50TW9kdWxlIH0gZnJvbSAnLi4vYnV0dG9uL2J1dHRvbi5jb21wb25lbnQubW9kdWxlJztcbmltcG9ydCB7IEJhbm5lckFjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vYmFubmVyLWFjdGlvbi5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtCYW5uZXJBY3Rpb25Db21wb25lbnRdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBNYXRJY29uTW9kdWxlLCBCdXR0b25Db21wb25lbnRNb2R1bGVdLFxuICBleHBvcnRzOiBbQmFubmVyQWN0aW9uQ29tcG9uZW50XSxcbiAgcHJvdmlkZXJzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgQmFubmVyQWN0aW9uQ29tcG9uZW50TW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,91 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { Validators } from '@angular/forms';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/forms";
5
+ import * as i2 from "../field/field.component";
6
+ import * as i3 from "@angular-material-extensions/password-strength";
7
+ import * as i4 from "@angular/material/checkbox";
8
+ import * as i5 from "../button/button.component";
9
+ export class CreateAccountComponent {
10
+ constructor(fb) {
11
+ this.fb = fb;
12
+ // TODO: Some properties and methods are ignored on purpose because of a current issue with compodoc and angular 13
13
+ // https://github.com/storybookjs/storybook/issues/16865
14
+ // https://github.com/storybookjs/storybook/issues/17004
15
+ /**
16
+ * @ignore
17
+ */
18
+ this.registerForm = this.fb.group({
19
+ username: ['', [Validators.required, Validators.email]],
20
+ password: [
21
+ '',
22
+ [
23
+ Validators.required,
24
+ Validators.minLength(12),
25
+ Validators.pattern(/^(?=\D*\d)(?=[^a-z]*[a-z])(?=.*[#$%&'()*+,-./:;<=>?@])(?=[^A-Z]*[A-Z]).{12,}$/),
26
+ ],
27
+ ],
28
+ agree_terms_and_conditions: [false, [Validators.requiredTrue]],
29
+ });
30
+ /**
31
+ * @ignore
32
+ */
33
+ this.formErrors = {
34
+ username: [''],
35
+ password: [''],
36
+ };
37
+ /**
38
+ * @ignore
39
+ */
40
+ this.submitEvent = new EventEmitter();
41
+ /**
42
+ * @ignore
43
+ */
44
+ this.loginEvent = new EventEmitter();
45
+ }
46
+ /**
47
+ * @ignore
48
+ */
49
+ ngOnInit() { }
50
+ submit() {
51
+ this.submitEvent.emit({
52
+ username: this.registerForm.get('username')?.value,
53
+ password: this.registerForm.get('password')?.value,
54
+ });
55
+ }
56
+ login() {
57
+ this.loginEvent.emit();
58
+ }
59
+ checkErrors(field) {
60
+ if (this.registerForm.controls[field].touched) {
61
+ if (this.registerForm.controls[field].hasError('required')) {
62
+ this.formErrors[field][0] = 'This field is required';
63
+ return;
64
+ }
65
+ if (this.registerForm.controls[field].hasError('email')) {
66
+ this.formErrors[field][0] = 'Enter a valid email';
67
+ return;
68
+ }
69
+ if (field === 'password' && this.registerForm.controls[field].hasError('pattern')) {
70
+ this.formErrors.password[0] = 'Password is invalid';
71
+ return;
72
+ }
73
+ }
74
+ this.formErrors[field][0] = '';
75
+ }
76
+ }
77
+ CreateAccountComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CreateAccountComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
78
+ CreateAccountComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: CreateAccountComponent, selector: "ui-create-account", inputs: { formErrors: "formErrors", loading: "loading" }, outputs: { submitEvent: "submitEvent", loginEvent: "loginEvent" }, ngImport: i0, template: "<div class=\"form-box\">\n <img class=\"logo\" src=\"/images/testgorilla.svg\">\n <div class=\"title\">Create your Career Passport</div>\n <div class=\"subtitle\">Enter the email address to which you received an assessment invite.</div>\n <form [formGroup]=\"registerForm\">\n <div class=\"field\">\n <ui-field formControlName=\"username\" [placeholder]=\"'Email'\" [type]=\"'email'\" [required]=\"true\" [error]=\"formErrors.username[0]\" (ngModelChange)=\"checkErrors('username')\"></ui-field>\n </div>\n <div class=\"field\">\n <ui-field formControlName=\"password\" [placeholder]=\"'Password'\" [type]=\"'password'\" [required]=\"true\" [error]=\"formErrors.password[0]\" (ngModelChange)=\"checkErrors('password')\"></ui-field>\n <mat-password-strength\n [min]=\"12\"\n #passwordComponentWithValidation\n [password]=\"registerForm.controls['password'].value\"\n >\n </mat-password-strength>\n <mat-password-strength-info [passwordComponent]=\"passwordComponentWithValidation\">\n </mat-password-strength-info>\n </div>\n <div>\n <mat-checkbox formControlName=\"agree_terms_and_conditions\">Agree to Terms & Conditions</mat-checkbox>\n </div>\n <div class=\"submit-button\">\n <ui-button [label]=\"'Next'\" [disabled]=\"registerForm.invalid\" [fullWidth]=\"true\" [loading]=\"loading\" (onClickEvent)=\"submit()\"></ui-button>\n </div>\n <div>\n Already have a Career Passport? <span class=\"log-in\" (click)=\"login()\">Log in here</span>\n </div>\n </form>\n</div>\n", styles: [".form-box{width:672px;padding:64px;background:#ffffff;box-shadow:0 8px 16px #0000001a;border-radius:8px;margin:auto;color:#000}.form-box .logo{width:180px;position:relative;right:9px;margin-bottom:16px}.form-box .title{font-weight:700;font-size:22px}.form-box .subtitle{margin:16px 0}.form-box .field{width:100%}.form-box .submit-button{margin:24px 0}.form-box mat-checkbox{font-weight:400}.form-box .log-in{font-weight:600;font-size:15px;cursor:pointer;color:#46a997}.form-box .log-in:hover{text-decoration:underline}.row{display:flex;flex-direction:row}.row.space-between{justify-content:space-between}\n"], components: [{ type: i2.FieldComponent, selector: "ui-field", inputs: ["label", "preffixIcon", "suffixIcon", "required", "hint", "error", "placeholder", "type"] }, { type: i3.MatPasswordStrengthComponent, selector: "mat-password-strength", inputs: ["password", "externalError", "enableLengthRule", "enableLowerCaseLetterRule", "enableUpperCaseLetterRule", "enableDigitRule", "enableSpecialCharRule", "min", "max", "customValidator", "warnThreshold", "accentThreshold"], outputs: ["onStrengthChanged"], exportAs: ["matPasswordStrength"] }, { type: i3.MatPasswordStrengthInfoComponent, selector: "mat-password-strength-info", inputs: ["passwordComponent", "enableScoreInfo", "lowerCaseCriteriaMsg", "upperCaseCriteriaMsg", "digitsCriteriaMsg", "specialCharsCriteriaMsg", "customCharsCriteriaMsg", "minCharsCriteriaMsg", "matIconDone", "matIconError"], exportAs: ["matPasswordStrengthInfo"] }, { type: i4.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { type: i5.ButtonComponent, selector: "ui-button", inputs: ["color", "label", "iconPosition", "iconName", "disabled", "loading", "fullWidth"], outputs: ["onClickEvent"] }], directives: [{ type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
79
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CreateAccountComponent, decorators: [{
80
+ type: Component,
81
+ args: [{ selector: 'ui-create-account', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"form-box\">\n <img class=\"logo\" src=\"/images/testgorilla.svg\">\n <div class=\"title\">Create your Career Passport</div>\n <div class=\"subtitle\">Enter the email address to which you received an assessment invite.</div>\n <form [formGroup]=\"registerForm\">\n <div class=\"field\">\n <ui-field formControlName=\"username\" [placeholder]=\"'Email'\" [type]=\"'email'\" [required]=\"true\" [error]=\"formErrors.username[0]\" (ngModelChange)=\"checkErrors('username')\"></ui-field>\n </div>\n <div class=\"field\">\n <ui-field formControlName=\"password\" [placeholder]=\"'Password'\" [type]=\"'password'\" [required]=\"true\" [error]=\"formErrors.password[0]\" (ngModelChange)=\"checkErrors('password')\"></ui-field>\n <mat-password-strength\n [min]=\"12\"\n #passwordComponentWithValidation\n [password]=\"registerForm.controls['password'].value\"\n >\n </mat-password-strength>\n <mat-password-strength-info [passwordComponent]=\"passwordComponentWithValidation\">\n </mat-password-strength-info>\n </div>\n <div>\n <mat-checkbox formControlName=\"agree_terms_and_conditions\">Agree to Terms & Conditions</mat-checkbox>\n </div>\n <div class=\"submit-button\">\n <ui-button [label]=\"'Next'\" [disabled]=\"registerForm.invalid\" [fullWidth]=\"true\" [loading]=\"loading\" (onClickEvent)=\"submit()\"></ui-button>\n </div>\n <div>\n Already have a Career Passport? <span class=\"log-in\" (click)=\"login()\">Log in here</span>\n </div>\n </form>\n</div>\n", styles: [".form-box{width:672px;padding:64px;background:#ffffff;box-shadow:0 8px 16px #0000001a;border-radius:8px;margin:auto;color:#000}.form-box .logo{width:180px;position:relative;right:9px;margin-bottom:16px}.form-box .title{font-weight:700;font-size:22px}.form-box .subtitle{margin:16px 0}.form-box .field{width:100%}.form-box .submit-button{margin:24px 0}.form-box mat-checkbox{font-weight:400}.form-box .log-in{font-weight:600;font-size:15px;cursor:pointer;color:#46a997}.form-box .log-in:hover{text-decoration:underline}.row{display:flex;flex-direction:row}.row.space-between{justify-content:space-between}\n"] }]
82
+ }], ctorParameters: function () { return [{ type: i1.FormBuilder }]; }, propDecorators: { formErrors: [{
83
+ type: Input
84
+ }], loading: [{
85
+ type: Input
86
+ }], submitEvent: [{
87
+ type: Output
88
+ }], loginEvent: [{
89
+ type: Output
90
+ }] } });
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWFjY291bnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvY3JlYXRlLWFjY291bnQvY3JlYXRlLWFjY291bnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvY3JlYXRlLWFjY291bnQvY3JlYXRlLWFjY291bnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RyxPQUFPLEVBQWUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7QUFTekQsTUFBTSxPQUFPLHNCQUFzQjtJQW1EakMsWUFBb0IsRUFBZTtRQUFmLE9BQUUsR0FBRixFQUFFLENBQWE7UUFsRG5DLG1IQUFtSDtRQUNuSCx3REFBd0Q7UUFDeEQsd0RBQXdEO1FBRXhEOztXQUVHO1FBQ0gsaUJBQVksR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUMzQixRQUFRLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN2RCxRQUFRLEVBQUU7Z0JBQ1IsRUFBRTtnQkFDRjtvQkFDRSxVQUFVLENBQUMsUUFBUTtvQkFDbkIsVUFBVSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7b0JBQ3hCLFVBQVUsQ0FBQyxPQUFPLENBQUMsK0VBQStFLENBQUM7aUJBQ3BHO2FBQ0Y7WUFDRCwwQkFBMEIsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUMvRCxDQUFDLENBQUM7UUFFSDs7V0FFRztRQUNNLGVBQVUsR0FBRztZQUNwQixRQUFRLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDZCxRQUFRLEVBQUUsQ0FBQyxFQUFFLENBQUM7U0FDZixDQUFDO1FBU0Y7O1dBRUc7UUFDTyxnQkFBVyxHQUEyQyxJQUFJLFlBQVksRUFBNEIsQ0FBQztRQUU3Rzs7V0FFRztRQUNPLGVBQVUsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztJQU85QixDQUFDO0lBTHZDOztPQUVHO0lBQ0gsUUFBUSxLQUFVLENBQUM7SUFJbkIsTUFBTTtRQUNKLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO1lBQ3BCLFFBQVEsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsRUFBRSxLQUFLO1lBQ2xELFFBQVEsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsRUFBRSxLQUFLO1NBQ25ELENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQWE7UUFDdkIsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLEVBQUU7WUFDN0MsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUU7Z0JBQzFELElBQUksQ0FBQyxVQUFVLENBQUMsS0FBcUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLHdCQUF3QixDQUFDO2dCQUNyRixPQUFPO2FBQ1I7WUFFRCxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRTtnQkFDdkQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFxQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcscUJBQXFCLENBQUM7Z0JBQ2xGLE9BQU87YUFDUjtZQUVELElBQUksS0FBSyxLQUFLLFVBQVUsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEVBQUU7Z0JBQ2pGLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLHFCQUFxQixDQUFDO2dCQUNwRCxPQUFPO2FBQ1I7U0FDRjtRQUVELElBQUksQ0FBQyxVQUFVLENBQUMsS0FBcUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUNqRSxDQUFDOztvSEFuRlUsc0JBQXNCO3dHQUF0QixzQkFBc0Isc0xDVm5DLG1rREE4QkE7NEZEcEJhLHNCQUFzQjtrQkFObEMsU0FBUzsrQkFDRSxtQkFBbUIsbUJBR1osdUJBQXVCLENBQUMsTUFBTTtrR0EwQnRDLFVBQVU7c0JBQWxCLEtBQUs7Z0JBVUcsT0FBTztzQkFBZixLQUFLO2dCQUtJLFdBQVc7c0JBQXBCLE1BQU07Z0JBS0csVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENyZWF0ZUFjY291bnRDcmVkZW50aWFscyB9IGZyb20gJy4vY3JlYXRlLWFjY291bnQubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd1aS1jcmVhdGUtYWNjb3VudCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jcmVhdGUtYWNjb3VudC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NyZWF0ZS1hY2NvdW50LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBDcmVhdGVBY2NvdW50Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgLy8gVE9ETzogU29tZSBwcm9wZXJ0aWVzIGFuZCBtZXRob2RzIGFyZSBpZ25vcmVkIG9uIHB1cnBvc2UgYmVjYXVzZSBvZiBhIGN1cnJlbnQgaXNzdWUgd2l0aCBjb21wb2RvYyBhbmQgYW5ndWxhciAxM1xuICAvLyBodHRwczovL2dpdGh1Yi5jb20vc3Rvcnlib29ranMvc3Rvcnlib29rL2lzc3Vlcy8xNjg2NVxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vc3Rvcnlib29ranMvc3Rvcnlib29rL2lzc3Vlcy8xNzAwNFxuXG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICByZWdpc3RlckZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICB1c2VybmFtZTogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5lbWFpbF1dLFxuICAgIHBhc3N3b3JkOiBbXG4gICAgICAnJyxcbiAgICAgIFtcbiAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZCxcbiAgICAgICAgVmFsaWRhdG9ycy5taW5MZW5ndGgoMTIpLFxuICAgICAgICBWYWxpZGF0b3JzLnBhdHRlcm4oL14oPz1cXEQqXFxkKSg/PVteYS16XSpbYS16XSkoPz0uKlsjJCUmJygpKissLS4vOjs8PT4/QF0pKD89W15BLVpdKltBLVpdKS57MTIsfSQvKSxcbiAgICAgIF0sXG4gICAgXSxcbiAgICBhZ3JlZV90ZXJtc19hbmRfY29uZGl0aW9uczogW2ZhbHNlLCBbVmFsaWRhdG9ycy5yZXF1aXJlZFRydWVdXSxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIEBJbnB1dCgpIGZvcm1FcnJvcnMgPSB7XG4gICAgdXNlcm5hbWU6IFsnJ10sXG4gICAgcGFzc3dvcmQ6IFsnJ10sXG4gIH07XG5cbiAgLyoqXG4gICAqIEluZGljYXRvciBpZiB0aGUgZm9ybSBpcyBsb2FkaW5nXG4gICAqXG4gICAqIEBtZW1iZXJvZiBCdXR0b25Db21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGxvYWRpbmc6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIEBPdXRwdXQoKSBzdWJtaXRFdmVudDogRXZlbnRFbWl0dGVyPENyZWF0ZUFjY291bnRDcmVkZW50aWFscz4gPSBuZXcgRXZlbnRFbWl0dGVyPENyZWF0ZUFjY291bnRDcmVkZW50aWFscz4oKTtcblxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgQE91dHB1dCgpIGxvZ2luRXZlbnQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgbmdPbkluaXQoKTogdm9pZCB7fVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyKSB7fVxuXG4gIHN1Ym1pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN1Ym1pdEV2ZW50LmVtaXQoe1xuICAgICAgdXNlcm5hbWU6IHRoaXMucmVnaXN0ZXJGb3JtLmdldCgndXNlcm5hbWUnKT8udmFsdWUsXG4gICAgICBwYXNzd29yZDogdGhpcy5yZWdpc3RlckZvcm0uZ2V0KCdwYXNzd29yZCcpPy52YWx1ZSxcbiAgICB9KTtcbiAgfVxuXG4gIGxvZ2luKCk6IHZvaWQge1xuICAgIHRoaXMubG9naW5FdmVudC5lbWl0KCk7XG4gIH1cblxuICBjaGVja0Vycm9ycyhmaWVsZDogc3RyaW5nKSB7XG4gICAgaWYgKHRoaXMucmVnaXN0ZXJGb3JtLmNvbnRyb2xzW2ZpZWxkXS50b3VjaGVkKSB7XG4gICAgICBpZiAodGhpcy5yZWdpc3RlckZvcm0uY29udHJvbHNbZmllbGRdLmhhc0Vycm9yKCdyZXF1aXJlZCcpKSB7XG4gICAgICAgIHRoaXMuZm9ybUVycm9yc1tmaWVsZCBhcyBrZXlvZiB0eXBlb2YgdGhpcy5mb3JtRXJyb3JzXVswXSA9ICdUaGlzIGZpZWxkIGlzIHJlcXVpcmVkJztcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5yZWdpc3RlckZvcm0uY29udHJvbHNbZmllbGRdLmhhc0Vycm9yKCdlbWFpbCcpKSB7XG4gICAgICAgIHRoaXMuZm9ybUVycm9yc1tmaWVsZCBhcyBrZXlvZiB0eXBlb2YgdGhpcy5mb3JtRXJyb3JzXVswXSA9ICdFbnRlciBhIHZhbGlkIGVtYWlsJztcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAoZmllbGQgPT09ICdwYXNzd29yZCcgJiYgdGhpcy5yZWdpc3RlckZvcm0uY29udHJvbHNbZmllbGRdLmhhc0Vycm9yKCdwYXR0ZXJuJykpIHtcbiAgICAgICAgdGhpcy5mb3JtRXJyb3JzLnBhc3N3b3JkWzBdID0gJ1Bhc3N3b3JkIGlzIGludmFsaWQnO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5mb3JtRXJyb3JzW2ZpZWxkIGFzIGtleW9mIHR5cGVvZiB0aGlzLmZvcm1FcnJvcnNdWzBdID0gJyc7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmb3JtLWJveFwiPlxuICA8aW1nIGNsYXNzPVwibG9nb1wiIHNyYz1cIi9pbWFnZXMvdGVzdGdvcmlsbGEuc3ZnXCI+XG4gIDxkaXYgY2xhc3M9XCJ0aXRsZVwiPkNyZWF0ZSB5b3VyIENhcmVlciBQYXNzcG9ydDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwic3VidGl0bGVcIj5FbnRlciB0aGUgZW1haWwgYWRkcmVzcyB0byB3aGljaCB5b3UgcmVjZWl2ZWQgYW4gYXNzZXNzbWVudCBpbnZpdGUuPC9kaXY+XG4gIDxmb3JtIFtmb3JtR3JvdXBdPVwicmVnaXN0ZXJGb3JtXCI+XG4gICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XG4gICAgICA8dWktZmllbGQgZm9ybUNvbnRyb2xOYW1lPVwidXNlcm5hbWVcIiBbcGxhY2Vob2xkZXJdPVwiJ0VtYWlsJ1wiIFt0eXBlXT1cIidlbWFpbCdcIiBbcmVxdWlyZWRdPVwidHJ1ZVwiIFtlcnJvcl09XCJmb3JtRXJyb3JzLnVzZXJuYW1lWzBdXCIgKG5nTW9kZWxDaGFuZ2UpPVwiY2hlY2tFcnJvcnMoJ3VzZXJuYW1lJylcIj48L3VpLWZpZWxkPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxuICAgICAgPHVpLWZpZWxkIGZvcm1Db250cm9sTmFtZT1cInBhc3N3b3JkXCIgW3BsYWNlaG9sZGVyXT1cIidQYXNzd29yZCdcIiBbdHlwZV09XCIncGFzc3dvcmQnXCIgW3JlcXVpcmVkXT1cInRydWVcIiBbZXJyb3JdPVwiZm9ybUVycm9ycy5wYXNzd29yZFswXVwiIChuZ01vZGVsQ2hhbmdlKT1cImNoZWNrRXJyb3JzKCdwYXNzd29yZCcpXCI+PC91aS1maWVsZD5cbiAgICAgIDxtYXQtcGFzc3dvcmQtc3RyZW5ndGhcbiAgICAgICAgICAgICAgW21pbl09XCIxMlwiXG4gICAgICAgICAgICAgICNwYXNzd29yZENvbXBvbmVudFdpdGhWYWxpZGF0aW9uXG4gICAgICAgICAgICAgIFtwYXNzd29yZF09XCJyZWdpc3RlckZvcm0uY29udHJvbHNbJ3Bhc3N3b3JkJ10udmFsdWVcIlxuICAgICAgICAgICAgPlxuICAgICAgPC9tYXQtcGFzc3dvcmQtc3RyZW5ndGg+XG4gICAgICA8bWF0LXBhc3N3b3JkLXN0cmVuZ3RoLWluZm8gW3Bhc3N3b3JkQ29tcG9uZW50XT1cInBhc3N3b3JkQ29tcG9uZW50V2l0aFZhbGlkYXRpb25cIj5cbiAgICAgIDwvbWF0LXBhc3N3b3JkLXN0cmVuZ3RoLWluZm8+XG4gICAgPC9kaXY+XG4gICAgPGRpdj5cbiAgICAgIDxtYXQtY2hlY2tib3ggZm9ybUNvbnRyb2xOYW1lPVwiYWdyZWVfdGVybXNfYW5kX2NvbmRpdGlvbnNcIj5BZ3JlZSB0byBUZXJtcyAmIENvbmRpdGlvbnM8L21hdC1jaGVja2JveD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwic3VibWl0LWJ1dHRvblwiPlxuICAgICAgPHVpLWJ1dHRvbiBbbGFiZWxdPVwiJ05leHQnXCIgW2Rpc2FibGVkXT1cInJlZ2lzdGVyRm9ybS5pbnZhbGlkXCIgW2Z1bGxXaWR0aF09XCJ0cnVlXCIgW2xvYWRpbmddPVwibG9hZGluZ1wiIChvbkNsaWNrRXZlbnQpPVwic3VibWl0KClcIj48L3VpLWJ1dHRvbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2PlxuICAgICAgQWxyZWFkeSBoYXZlIGEgQ2FyZWVyIFBhc3Nwb3J0PyA8c3BhbiBjbGFzcz1cImxvZy1pblwiIChjbGljayk9XCJsb2dpbigpXCI+TG9nIGluIGhlcmU8L3NwYW4+XG4gICAgPC9kaXY+XG4gIDwvZm9ybT5cbjwvZGl2PlxuIl19
@@ -0,0 +1,46 @@
1
+ import { MatPasswordStrengthModule } from '@angular-material-extensions/password-strength';
2
+ import { CommonModule } from '@angular/common';
3
+ import { NgModule } from '@angular/core';
4
+ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
5
+ import { MatCheckboxModule } from '@angular/material/checkbox';
6
+ import { ButtonComponentModule } from '../button/button.component.module';
7
+ import { FieldComponentModule } from '../field/field.component.module';
8
+ import { CreateAccountComponent } from './create-account.component';
9
+ import * as i0 from "@angular/core";
10
+ export class CreateAccountComponentModule {
11
+ }
12
+ CreateAccountComponentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CreateAccountComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
13
+ CreateAccountComponentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CreateAccountComponentModule, declarations: [CreateAccountComponent], imports: [CommonModule,
14
+ FormsModule,
15
+ ReactiveFormsModule,
16
+ FieldComponentModule,
17
+ ButtonComponentModule,
18
+ MatCheckboxModule,
19
+ MatPasswordStrengthModule], exports: [CreateAccountComponent] });
20
+ CreateAccountComponentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CreateAccountComponentModule, providers: [], imports: [[
21
+ CommonModule,
22
+ FormsModule,
23
+ ReactiveFormsModule,
24
+ FieldComponentModule,
25
+ ButtonComponentModule,
26
+ MatCheckboxModule,
27
+ MatPasswordStrengthModule,
28
+ ]] });
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CreateAccountComponentModule, decorators: [{
30
+ type: NgModule,
31
+ args: [{
32
+ declarations: [CreateAccountComponent],
33
+ imports: [
34
+ CommonModule,
35
+ FormsModule,
36
+ ReactiveFormsModule,
37
+ FieldComponentModule,
38
+ ButtonComponentModule,
39
+ MatCheckboxModule,
40
+ MatPasswordStrengthModule,
41
+ ],
42
+ exports: [CreateAccountComponent],
43
+ providers: [],
44
+ }]
45
+ }] });
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWFjY291bnQuY29tcG9uZW50Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2NyZWF0ZS1hY2NvdW50L2NyZWF0ZS1hY2NvdW50LmNvbXBvbmVudC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDM0YsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQWdCcEUsTUFBTSxPQUFPLDRCQUE0Qjs7MEhBQTVCLDRCQUE0QjsySEFBNUIsNEJBQTRCLGlCQWJ4QixzQkFBc0IsYUFFbkMsWUFBWTtRQUNaLFdBQVc7UUFDWCxtQkFBbUI7UUFDbkIsb0JBQW9CO1FBQ3BCLHFCQUFxQjtRQUNyQixpQkFBaUI7UUFDakIseUJBQXlCLGFBRWpCLHNCQUFzQjsySEFHckIsNEJBQTRCLGFBRjVCLEVBQUUsWUFWSjtZQUNQLFlBQVk7WUFDWixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLG9CQUFvQjtZQUNwQixxQkFBcUI7WUFDckIsaUJBQWlCO1lBQ2pCLHlCQUF5QjtTQUMxQjs0RkFJVSw0QkFBNEI7a0JBZHhDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsc0JBQXNCLENBQUM7b0JBQ3RDLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixvQkFBb0I7d0JBQ3BCLHFCQUFxQjt3QkFDckIsaUJBQWlCO3dCQUNqQix5QkFBeUI7cUJBQzFCO29CQUNELE9BQU8sRUFBRSxDQUFDLHNCQUFzQixDQUFDO29CQUNqQyxTQUFTLEVBQUUsRUFBRTtpQkFDZCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1hdFBhc3N3b3JkU3RyZW5ndGhNb2R1bGUgfSBmcm9tICdAYW5ndWxhci1tYXRlcmlhbC1leHRlbnNpb25zL3Bhc3N3b3JkLXN0cmVuZ3RoJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRDaGVja2JveE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94JztcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudE1vZHVsZSB9IGZyb20gJy4uL2J1dHRvbi9idXR0b24uY29tcG9uZW50Lm1vZHVsZSc7XG5pbXBvcnQgeyBGaWVsZENvbXBvbmVudE1vZHVsZSB9IGZyb20gJy4uL2ZpZWxkL2ZpZWxkLmNvbXBvbmVudC5tb2R1bGUnO1xuaW1wb3J0IHsgQ3JlYXRlQWNjb3VudENvbXBvbmVudCB9IGZyb20gJy4vY3JlYXRlLWFjY291bnQuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbQ3JlYXRlQWNjb3VudENvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBGaWVsZENvbXBvbmVudE1vZHVsZSxcbiAgICBCdXR0b25Db21wb25lbnRNb2R1bGUsXG4gICAgTWF0Q2hlY2tib3hNb2R1bGUsXG4gICAgTWF0UGFzc3dvcmRTdHJlbmd0aE1vZHVsZSxcbiAgXSxcbiAgZXhwb3J0czogW0NyZWF0ZUFjY291bnRDb21wb25lbnRdLFxuICBwcm92aWRlcnM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBDcmVhdGVBY2NvdW50Q29tcG9uZW50TW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWFjY291bnQubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9jcmVhdGUtYWNjb3VudC9jcmVhdGUtYWNjb3VudC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBDcmVhdGVBY2NvdW50Q3JlZGVudGlhbHMge1xuICB1c2VybmFtZTogc3RyaW5nO1xuICBwYXNzd29yZDogc3RyaW5nO1xufVxuIl19