@testgorilla/tgo-ui 0.0.21 → 0.0.23
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/components/button/button.component.d.ts +4 -5
- package/components/button/button.model.d.ts +1 -0
- package/components/create-account/create-account.component.module.d.ts +2 -1
- package/components/create-password/create-password.component.module.d.ts +2 -1
- package/components/dialog/dialog.component.d.ts +11 -0
- package/components/dialog/dialog.component.module.d.ts +13 -0
- package/components/dialog/dialog.model.d.ts +4 -0
- package/components/dialog/dialog.service.d.ts +13 -0
- package/components/dialog/launch-dialog.component.d.ts +9 -0
- package/components/forgot-password/forgot-password.component.module.d.ts +2 -1
- package/components/login/login.component.module.d.ts +2 -1
- package/components/navbar/navbar.component.module.d.ts +2 -1
- package/components/table/table.component.d.ts +47 -20
- package/components/table/table.model.d.ts +15 -8
- package/esm2020/components/banner-action/banner-action.component.mjs +3 -3
- package/esm2020/components/button/button.component.mjs +5 -5
- package/esm2020/components/button/button.model.mjs +1 -1
- package/esm2020/components/card/card.component.mjs +2 -2
- package/esm2020/components/create-account/create-account.component.mjs +8 -7
- package/esm2020/components/create-account/create-account.component.module.mjs +6 -2
- package/esm2020/components/create-password/create-password.component.mjs +7 -6
- package/esm2020/components/create-password/create-password.component.module.mjs +6 -2
- package/esm2020/components/dialog/dialog.component.mjs +32 -0
- package/esm2020/components/dialog/dialog.component.module.mjs +25 -0
- package/esm2020/components/dialog/dialog.model.mjs +2 -0
- package/esm2020/components/dialog/dialog.service.mjs +24 -0
- package/esm2020/components/dialog/launch-dialog.component.mjs +24 -0
- package/esm2020/components/field/field.component.mjs +3 -3
- package/esm2020/components/forgot-password/forgot-password.component.mjs +7 -6
- package/esm2020/components/forgot-password/forgot-password.component.module.mjs +27 -4
- package/esm2020/components/login/login.component.mjs +7 -6
- package/esm2020/components/login/login.component.module.mjs +6 -2
- package/esm2020/components/logo/logo.component.mjs +3 -3
- package/esm2020/components/navbar/navbar.component.mjs +8 -7
- package/esm2020/components/navbar/navbar.component.module.mjs +27 -4
- package/esm2020/components/table/table.component.mjs +83 -26
- package/esm2020/components/table/table.model.mjs +3 -5
- package/esm2020/public-api.mjs +4 -1
- package/fesm2015/testgorilla-tgo-ui.mjs +261 -71
- package/fesm2015/testgorilla-tgo-ui.mjs.map +1 -1
- package/fesm2020/testgorilla-tgo-ui.mjs +262 -71
- package/fesm2020/testgorilla-tgo-ui.mjs.map +1 -1
- package/package.json +2 -2
- package/public-api.d.ts +2 -0
- package/src/assets/images/testgorilla.svg +9 -1
- package/src/assets/images/check.svg +0 -3
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
import { EventEmitter } from '@angular/core';
|
|
2
|
-
import {
|
|
3
|
-
import { IconPositionOptions } from './button.model';
|
|
2
|
+
import { ButtonColor, IconPositionOptions } from './button.model';
|
|
4
3
|
import * as i0 from "@angular/core";
|
|
5
4
|
export declare class ButtonComponent {
|
|
6
5
|
/**
|
|
7
6
|
* Background color of the button while in active state
|
|
8
7
|
*
|
|
9
|
-
* @type {
|
|
8
|
+
* @type {ButtonColor}
|
|
10
9
|
* @memberof ButtonComponent
|
|
11
10
|
*/
|
|
12
|
-
color:
|
|
11
|
+
color: ButtonColor;
|
|
13
12
|
/**
|
|
14
13
|
* Text content to appear on the button
|
|
15
14
|
*
|
|
@@ -42,7 +41,7 @@ export declare class ButtonComponent {
|
|
|
42
41
|
*/
|
|
43
42
|
loading: boolean;
|
|
44
43
|
/**
|
|
45
|
-
*
|
|
44
|
+
* Indicator of the button width
|
|
46
45
|
*
|
|
47
46
|
* @memberof ButtonComponent
|
|
48
47
|
*/
|
|
@@ -6,8 +6,9 @@ import * as i4 from "../field/field.component.module";
|
|
|
6
6
|
import * as i5 from "../button/button.component.module";
|
|
7
7
|
import * as i6 from "@angular/material/checkbox";
|
|
8
8
|
import * as i7 from "@angular-material-extensions/password-strength";
|
|
9
|
+
import * as i8 from "../logo/logo.component.module";
|
|
9
10
|
export declare class CreateAccountComponentModule {
|
|
10
11
|
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 ɵ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 i8.LogoComponentModule], [typeof i1.CreateAccountComponent]>;
|
|
12
13
|
static ɵinj: i0.ɵɵInjectorDeclaration<CreateAccountComponentModule>;
|
|
13
14
|
}
|
|
@@ -5,8 +5,9 @@ import * as i3 from "@angular/forms";
|
|
|
5
5
|
import * as i4 from "../field/field.component.module";
|
|
6
6
|
import * as i5 from "../button/button.component.module";
|
|
7
7
|
import * as i6 from "@angular-material-extensions/password-strength";
|
|
8
|
+
import * as i7 from "../logo/logo.component.module";
|
|
8
9
|
export declare class CreatePasswordComponentModule {
|
|
9
10
|
static ɵfac: i0.ɵɵFactoryDeclaration<CreatePasswordComponentModule, never>;
|
|
10
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<CreatePasswordComponentModule, [typeof i1.CreatePasswordComponent], [typeof i2.CommonModule, typeof i3.FormsModule, typeof i3.ReactiveFormsModule, typeof i4.FieldComponentModule, typeof i5.ButtonComponentModule, typeof i6.MatPasswordStrengthModule], [typeof i1.CreatePasswordComponent]>;
|
|
11
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<CreatePasswordComponentModule, [typeof i1.CreatePasswordComponent], [typeof i2.CommonModule, typeof i3.FormsModule, typeof i3.ReactiveFormsModule, typeof i4.FieldComponentModule, typeof i5.ButtonComponentModule, typeof i6.MatPasswordStrengthModule, typeof i7.LogoComponentModule], [typeof i1.CreatePasswordComponent]>;
|
|
11
12
|
static ɵinj: i0.ɵɵInjectorDeclaration<CreatePasswordComponentModule>;
|
|
12
13
|
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { MatDialogRef } from '@angular/material/dialog';
|
|
2
|
+
import { DialogConfig } from './dialog.model';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class DialogComponent {
|
|
5
|
+
data: DialogConfig;
|
|
6
|
+
dialogRef: MatDialogRef<DialogComponent>;
|
|
7
|
+
constructor(data: DialogConfig, dialogRef: MatDialogRef<DialogComponent>);
|
|
8
|
+
dismiss(): void;
|
|
9
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DialogComponent, [{ optional: true; }, { optional: true; }]>;
|
|
10
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DialogComponent, "ui-dialog", never, {}, {}, never, never>;
|
|
11
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import * as i1 from "./dialog.component";
|
|
3
|
+
import * as i2 from "./launch-dialog.component";
|
|
4
|
+
import * as i3 from "@angular/common";
|
|
5
|
+
import * as i4 from "@angular/material/icon";
|
|
6
|
+
import * as i5 from "@angular/material/dialog";
|
|
7
|
+
import * as i6 from "@angular/material/button";
|
|
8
|
+
import * as i7 from "../button/button.component.module";
|
|
9
|
+
export declare class DialogComponentModule {
|
|
10
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DialogComponentModule, never>;
|
|
11
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<DialogComponentModule, [typeof i1.DialogComponent, typeof i2.LaunchDialogComponent], [typeof i3.CommonModule, typeof i4.MatIconModule, typeof i5.MatDialogModule, typeof i6.MatButtonModule, typeof i7.ButtonComponentModule], [typeof i5.MatDialogModule]>;
|
|
12
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<DialogComponentModule>;
|
|
13
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ComponentType } from '@angular/cdk/portal';
|
|
2
|
+
import { MatDialog, MatDialogConfig, MatDialogRef } from '@angular/material/dialog';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class DialogService {
|
|
5
|
+
private matDialog;
|
|
6
|
+
/**
|
|
7
|
+
* Constructor
|
|
8
|
+
*/
|
|
9
|
+
constructor(matDialog: MatDialog);
|
|
10
|
+
open(dialogComponent: ComponentType<any>, config?: MatDialogConfig): MatDialogRef<any>;
|
|
11
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DialogService, never>;
|
|
12
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<DialogService>;
|
|
13
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { DialogService } from './dialog.service';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class LaunchDialogComponent {
|
|
4
|
+
private dialogService;
|
|
5
|
+
constructor(dialogService: DialogService);
|
|
6
|
+
openModal(): void;
|
|
7
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<LaunchDialogComponent, never>;
|
|
8
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<LaunchDialogComponent, "ui-launch-dialog", never, {}, {}, never, never>;
|
|
9
|
+
}
|
|
@@ -5,8 +5,9 @@ import * as i3 from "@angular/forms";
|
|
|
5
5
|
import * as i4 from "../field/field.component.module";
|
|
6
6
|
import * as i5 from "../button/button.component.module";
|
|
7
7
|
import * as i6 from "@angular/material/icon";
|
|
8
|
+
import * as i7 from "../logo/logo.component.module";
|
|
8
9
|
export declare class ForgotPasswordComponentModule {
|
|
9
10
|
static ɵfac: i0.ɵɵFactoryDeclaration<ForgotPasswordComponentModule, never>;
|
|
10
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<ForgotPasswordComponentModule, [typeof i1.ForgotPasswordComponent], [typeof i2.CommonModule, typeof i3.FormsModule, typeof i3.ReactiveFormsModule, typeof i4.FieldComponentModule, typeof i5.ButtonComponentModule, typeof i6.MatIconModule], [typeof i1.ForgotPasswordComponent]>;
|
|
11
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<ForgotPasswordComponentModule, [typeof i1.ForgotPasswordComponent], [typeof i2.CommonModule, typeof i3.FormsModule, typeof i3.ReactiveFormsModule, typeof i4.FieldComponentModule, typeof i5.ButtonComponentModule, typeof i6.MatIconModule, typeof i7.LogoComponentModule], [typeof i1.ForgotPasswordComponent]>;
|
|
11
12
|
static ɵinj: i0.ɵɵInjectorDeclaration<ForgotPasswordComponentModule>;
|
|
12
13
|
}
|
|
@@ -5,8 +5,9 @@ import * as i3 from "@angular/forms";
|
|
|
5
5
|
import * as i4 from "../field/field.component.module";
|
|
6
6
|
import * as i5 from "../button/button.component.module";
|
|
7
7
|
import * as i6 from "@angular/material/checkbox";
|
|
8
|
+
import * as i7 from "../logo/logo.component.module";
|
|
8
9
|
export declare class LoginComponentModule {
|
|
9
10
|
static ɵfac: i0.ɵɵFactoryDeclaration<LoginComponentModule, never>;
|
|
10
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<LoginComponentModule, [typeof i1.LoginComponent], [typeof i2.CommonModule, typeof i3.FormsModule, typeof i3.ReactiveFormsModule, typeof i4.FieldComponentModule, typeof i5.ButtonComponentModule, typeof i6.MatCheckboxModule], [typeof i1.LoginComponent]>;
|
|
11
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<LoginComponentModule, [typeof i1.LoginComponent], [typeof i2.CommonModule, typeof i3.FormsModule, typeof i3.ReactiveFormsModule, typeof i4.FieldComponentModule, typeof i5.ButtonComponentModule, typeof i6.MatCheckboxModule, typeof i7.LogoComponentModule], [typeof i1.LoginComponent]>;
|
|
11
12
|
static ɵinj: i0.ɵɵInjectorDeclaration<LoginComponentModule>;
|
|
12
13
|
}
|
|
@@ -6,8 +6,9 @@ import * as i4 from "@angular/material/icon";
|
|
|
6
6
|
import * as i5 from "@angular/material/button";
|
|
7
7
|
import * as i6 from "@angular/material/core";
|
|
8
8
|
import * as i7 from "@angular/material/menu";
|
|
9
|
+
import * as i8 from "../logo/logo.component.module";
|
|
9
10
|
export declare class NavbarComponentModule {
|
|
10
11
|
static ɵfac: i0.ɵɵFactoryDeclaration<NavbarComponentModule, never>;
|
|
11
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<NavbarComponentModule, [typeof i1.NavbarComponent], [typeof i2.CommonModule, typeof i3.MatToolbarModule, typeof i4.MatIconModule, typeof i5.MatButtonModule, typeof i6.MatRippleModule, typeof i7.MatMenuModule], [typeof i1.NavbarComponent]>;
|
|
12
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<NavbarComponentModule, [typeof i1.NavbarComponent], [typeof i2.CommonModule, typeof i3.MatToolbarModule, typeof i4.MatIconModule, typeof i5.MatButtonModule, typeof i6.MatRippleModule, typeof i7.MatMenuModule, typeof i8.LogoComponentModule], [typeof i1.NavbarComponent]>;
|
|
12
13
|
static ɵinj: i0.ɵɵInjectorDeclaration<NavbarComponentModule>;
|
|
13
14
|
}
|
|
@@ -3,32 +3,18 @@ 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 { ColumnType, IDataSource, ITableColumn } from './table.model';
|
|
6
|
+
import { ColumnType, IDataSource, ITableColumn, ITableDetailColumn } from './table.model';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
|
-
export declare class TableComponent<T extends IDataSource> implements OnInit {
|
|
8
|
+
export declare class TableComponent<T extends IDataSource, TDetail extends IDataSource> implements OnInit {
|
|
9
9
|
private dataPropertyGetterPipe;
|
|
10
10
|
/**
|
|
11
11
|
* @ignore
|
|
12
12
|
*/
|
|
13
|
-
|
|
14
|
-
addSuffix: boolean;
|
|
15
|
-
};
|
|
13
|
+
set matSort(matSort: MatSort);
|
|
16
14
|
/**
|
|
17
15
|
* @ignore
|
|
18
16
|
*/
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* @ignore
|
|
22
|
-
*/
|
|
23
|
-
displayedColumns: string[];
|
|
24
|
-
/**
|
|
25
|
-
* @ignore
|
|
26
|
-
*/
|
|
27
|
-
DataType: typeof ColumnType;
|
|
28
|
-
/**
|
|
29
|
-
* @ignore
|
|
30
|
-
*/
|
|
31
|
-
sort: MatSort;
|
|
17
|
+
tableDetails: boolean;
|
|
32
18
|
/**
|
|
33
19
|
* Data to be rendered
|
|
34
20
|
*
|
|
@@ -43,6 +29,13 @@ export declare class TableComponent<T extends IDataSource> implements OnInit {
|
|
|
43
29
|
* @memberof TableComponent
|
|
44
30
|
*/
|
|
45
31
|
tableColumns: ITableColumn<T>[];
|
|
32
|
+
/**
|
|
33
|
+
* Data structure to select which columns should be rendered and their capabilities
|
|
34
|
+
*
|
|
35
|
+
* @type {ITableColumn}
|
|
36
|
+
* @memberof TableComponent
|
|
37
|
+
*/
|
|
38
|
+
tableDetailColumns: ITableDetailColumn<T, TDetail>;
|
|
46
39
|
/**
|
|
47
40
|
* @type {IStatusOptions}
|
|
48
41
|
* @memberof TableComponent
|
|
@@ -57,14 +50,48 @@ export declare class TableComponent<T extends IDataSource> implements OnInit {
|
|
|
57
50
|
* @ignore
|
|
58
51
|
*/
|
|
59
52
|
onRowClickEvent: EventEmitter<any>;
|
|
53
|
+
/**
|
|
54
|
+
* @ignore
|
|
55
|
+
*/
|
|
56
|
+
onDetailRowClickEvent: EventEmitter<any>;
|
|
57
|
+
/**
|
|
58
|
+
* @ignore
|
|
59
|
+
*/
|
|
60
|
+
dataSource: MatTableDataSource<any>;
|
|
61
|
+
/**
|
|
62
|
+
* @ignore
|
|
63
|
+
*/
|
|
64
|
+
dataSourceDetail: MatTableDataSource<any>;
|
|
65
|
+
/**
|
|
66
|
+
* @ignore
|
|
67
|
+
*/
|
|
68
|
+
elementDetail: any;
|
|
69
|
+
/**
|
|
70
|
+
* @ignore
|
|
71
|
+
*/
|
|
72
|
+
columnsToDisplay: string[];
|
|
73
|
+
/**
|
|
74
|
+
* @ignore
|
|
75
|
+
*/
|
|
76
|
+
columnsDetailToDisplay: string[];
|
|
77
|
+
/**
|
|
78
|
+
* @ignore
|
|
79
|
+
*/
|
|
80
|
+
DataType: typeof ColumnType;
|
|
60
81
|
ngOnInit(): void;
|
|
61
82
|
constructor(dataPropertyGetterPipe: DataPropertyGetterPipe);
|
|
62
83
|
onSort(sortParams: Sort): void;
|
|
63
84
|
onRowClick(rowParams: any): void;
|
|
85
|
+
onDetailRowClick(rowParams: any): void;
|
|
86
|
+
toggleRow(element: T): void;
|
|
64
87
|
/**
|
|
65
88
|
* @ignore
|
|
66
89
|
*/
|
|
67
90
|
private setTableDataSource;
|
|
68
|
-
|
|
69
|
-
|
|
91
|
+
/**
|
|
92
|
+
* @ignore
|
|
93
|
+
*/
|
|
94
|
+
private setTableDetailDataSource;
|
|
95
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TableComponent<any, any>, never>;
|
|
96
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TableComponent<any, any>, "ui-table", never, { "tableDetails": "tableDetails"; "tableData": "tableData"; "tableColumns": "tableColumns"; "tableDetailColumns": "tableDetailColumns"; "statusOptions": "statusOptions"; }, { "onSortEvent": "onSortEvent"; "onRowClickEvent": "onRowClickEvent"; "onDetailRowClickEvent": "onDetailRowClickEvent"; }, never, never>;
|
|
70
97
|
}
|
|
@@ -5,22 +5,29 @@ export interface ITableColumn<T> {
|
|
|
5
5
|
headerName: string;
|
|
6
6
|
field?: string;
|
|
7
7
|
type?: ColumnType;
|
|
8
|
-
|
|
8
|
+
function?: (v: T) => string;
|
|
9
|
+
renderer?: (v: T) => string;
|
|
9
10
|
sortable?: boolean;
|
|
10
11
|
styles?: ColumnStyles;
|
|
11
12
|
}
|
|
12
|
-
export
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
13
|
+
export interface IDetailRowDataParams<T, TDetail> {
|
|
14
|
+
data: T;
|
|
15
|
+
setDetailDataSource(rowData: TDetail[]): void;
|
|
16
|
+
}
|
|
17
|
+
export interface ITableDetailColumn<T, TDetail> {
|
|
18
|
+
columnDefs: ITableColumn<TDetail>[];
|
|
19
|
+
setDetailRowData: (params: IDetailRowDataParams<T, TDetail>) => void;
|
|
19
20
|
}
|
|
20
21
|
export interface ColumnStyles {
|
|
21
22
|
alignment?: ColumnAlignment;
|
|
22
23
|
width?: string;
|
|
23
24
|
}
|
|
25
|
+
export declare enum ColumnType {
|
|
26
|
+
FIELD = "field",
|
|
27
|
+
LABEL = "label",
|
|
28
|
+
FUNCTION = "function",
|
|
29
|
+
RENDERER = "renderer"
|
|
30
|
+
}
|
|
24
31
|
export declare enum ColumnAlignment {
|
|
25
32
|
LEFT = "left",
|
|
26
33
|
RIGHT = "right",
|
|
@@ -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\" [fullWidth]=\"false\" (onClickEvent)=\"buttonClicked()\" *ngIf=\"buttonLabel\"></ui-button>\n</div>", styles: ["#banner-action{height:72px;padding:0 16px;color:#000;font-weight:600;font-size:14px;display:flex;align-items:center;background:#FFFFFF;border:2px solid #276678;box-shadow:0 8px 16px #0000001a;border-radius:8px}#banner-action .text{width:100%;display:flex;align-items:center}#banner-action .text .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, 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"] }]
|
|
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\" [fullWidth]=\"false\" (onClickEvent)=\"buttonClicked()\" *ngIf=\"buttonLabel\"></ui-button>\n</div>", styles: ["#banner-action{height:72px;padding:0 16px;color:#000;font-weight:600;font-size:14px;display:flex;align-items:center;background:#FFFFFF;border:2px solid #276678;box-shadow:0 8px 16px #0000001a;border-radius:8px}#banner-action .text{width:100%;display:flex;align-items:center}#banner-action .text .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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFubmVyLWFjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9iYW5uZXItYWN0aW9uL2Jhbm5lci1hY3Rpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYmFubmVyLWFjdGlvbi9iYW5uZXItYWN0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFRaEcsTUFBTSxPQUFPLHFCQUFxQjtJQTBDaEM7UUF6Q0EsbUhBQW1IO1FBQ25ILHdEQUF3RDtRQUN4RCx3REFBd0Q7UUFFeEQ7Ozs7O1dBS0c7UUFDTSxTQUFJLEdBQUcsRUFBRSxDQUFDO1FBMEJuQjs7V0FFRztRQUNPLHVCQUFrQixHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO0lBRTdELENBQUM7SUFFaEIsYUFBYTtRQUNYLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNqQyxDQUFDOzttSEE5Q1UscUJBQXFCO3VHQUFyQixxQkFBcUIseU5DUmxDLCtZQU1NOzRGREVPLHFCQUFxQjtrQkFOakMsU0FBUzsrQkFDRSxrQkFBa0IsbUJBR1gsdUJBQXVCLENBQUMsTUFBTTswRUFhdEMsSUFBSTtzQkFBWixLQUFLO2dCQVFHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBUUcsV0FBVztzQkFBbkIsS0FBSztnQkFRRyxLQUFLO3NCQUFiLEtBQUs7Z0JBS0ksa0JBQWtCO3NCQUEzQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3VpLWJhbm5lci1hY3Rpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vYmFubmVyLWFjdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Jhbm5lci1hY3Rpb24uY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEJhbm5lckFjdGlvbkNvbXBvbmVudCB7XG4gIC8vIFRPRE86IFNvbWUgcHJvcGVydGllcyBhbmQgbWV0aG9kcyBhcmUgaWdub3JlZCBvbiBwdXJwb3NlIGJlY2F1c2Ugb2YgYSBjdXJyZW50IGlzc3VlIHdpdGggY29tcG9kb2MgYW5kIGFuZ3VsYXIgMTNcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3N0b3J5Ym9va2pzL3N0b3J5Ym9vay9pc3N1ZXMvMTY4NjVcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3N0b3J5Ym9va2pzL3N0b3J5Ym9vay9pc3N1ZXMvMTcwMDRcblxuICAvKipcbiAgICogQmFubmVyQWN0aW9uIHRleHRcbiAgICpcbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQG1lbWJlcm9mIEJhbm5lckFjdGlvbkNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgdGV4dCA9ICcnO1xuXG4gIC8qKlxuICAgKiBCYW5uZXJBY3Rpb24gYmFja2dyb3VuZCBjb2xvclxuICAgKlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAbWVtYmVyb2YgQmFubmVyQWN0aW9uQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBiYWNrZ3JvdW5kQ29sb3I6IHN0cmluZztcblxuICAvKipcbiAgICogQmFubmVyQWN0aW9uIGJ1dHRvbiBsYWJlbFxuICAgKlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAbWVtYmVyb2YgQmFubmVyQWN0aW9uQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBidXR0b25MYWJlbDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBCYW5uZXJBY3Rpb24gZW1vbmlcbiAgICpcbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQG1lbWJlcm9mIEJhbm5lckFjdGlvbkNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgZW1vamk6IHN0cmluZztcblxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgQE91dHB1dCgpIGJ1dHRvbkNsaWNrZWRFdmVudDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBidXR0b25DbGlja2VkKCk6IHZvaWQge1xuICAgIHRoaXMuYnV0dG9uQ2xpY2tlZEV2ZW50LmVtaXQoKTtcbiAgfVxufVxuIiwiPGRpdiBpZD1cImJhbm5lci1hY3Rpb25cIiBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJiYWNrZ3JvdW5kQ29sb3JcIj5cbiAgICA8ZGl2IGNsYXNzPVwidGV4dFwiPlxuICAgICAgICA8c3BhbiAqbmdJZj1cImVtb2ppXCIgY2xhc3M9XCJlbW9qaVwiPnt7IGVtb2ppIH19PC9zcGFuPlxuICAgICAgICA8c3Bhbj57eyB0ZXh0IH19PC9zcGFuPlxuICAgIDwvZGl2PlxuICAgIDx1aS1idXR0b24gW2ljb25OYW1lXT1cIidlYXN0J1wiIFtpY29uUG9zaXRpb25dPVwiJ3JpZ2h0J1wiIFtsYWJlbF09XCJidXR0b25MYWJlbFwiIFtmdWxsV2lkdGhdPVwiZmFsc2VcIiAob25DbGlja0V2ZW50KT1cImJ1dHRvbkNsaWNrZWQoKVwiICpuZ0lmPVwiYnV0dG9uTGFiZWxcIj48L3VpLWJ1dHRvbj5cbjwvZGl2PiJdfQ==
|
|
@@ -9,7 +9,7 @@ export class ButtonComponent {
|
|
|
9
9
|
/**
|
|
10
10
|
* Background color of the button while in active state
|
|
11
11
|
*
|
|
12
|
-
* @type {
|
|
12
|
+
* @type {ButtonColor}
|
|
13
13
|
* @memberof ButtonComponent
|
|
14
14
|
*/
|
|
15
15
|
this.color = 'primary';
|
|
@@ -38,7 +38,7 @@ export class ButtonComponent {
|
|
|
38
38
|
*/
|
|
39
39
|
this.loading = false;
|
|
40
40
|
/**
|
|
41
|
-
*
|
|
41
|
+
* Indicator of the button width
|
|
42
42
|
*
|
|
43
43
|
* @memberof ButtonComponent
|
|
44
44
|
*/
|
|
@@ -50,10 +50,10 @@ export class ButtonComponent {
|
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
52
|
ButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
53
|
-
ButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ButtonComponent, selector: "ui-button", inputs: { color: "color", label: "label", iconPosition: "iconPosition", iconName: "iconName", disabled: "disabled", loading: "loading", fullWidth: "fullWidth" }, outputs: { onClickEvent: "onClickEvent" }, ngImport: i0, template: "
|
|
53
|
+
ButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ButtonComponent, selector: "ui-button", inputs: { color: "color", label: "label", iconPosition: "iconPosition", iconName: "iconName", disabled: "disabled", loading: "loading", fullWidth: "fullWidth" }, outputs: { onClickEvent: "onClickEvent" }, ngImport: i0, template: "<button mat-flat-button [ngStyle]=\"{'width': fullWidth ? '100%' : 'auto'}\" [ngClass]=\"{'primary': color === 'primary', 'secondary' : color === 'secondary', 'tertiary' : color === 'tertiary' }\" [disabled]=\"disabled || loading\" (click)=\"onClick()\" >\n <div class=\"label-icon-wrapper\" [ngClass]=\"{ hidden: loading }\">\n <span class=\"icon icon-left\" *ngIf=\"iconPosition === 'left'\"\n ><mat-icon>{{ iconName }}</mat-icon></span\n >\n <span [ngClass]=\"{ 'label-without-icon': iconName === '', 'label-with-icon': iconName !== '' }\">{{ label }}</span>\n <span class=\"icon icon-right\" *ngIf=\"iconPosition === 'right'\"\n ><mat-icon>{{ iconName }}</mat-icon></span\n >\n </div>\n <mat-spinner *ngIf=\"loading\" class=\"position-spinner\" mode=\"indeterminate\" diameter=\"16\"></mat-spinner>\n</button>\n", styles: ["button{padding:16px}button.primary{background-color:#46a997;color:#fff}button.primary.mat-flat-button.mat-button-disabled{background-color:#a2d4cb!important}button.secondary{background-color:#ededed;color:#000}button.secondary.mat-flat-button.mat-button-disabled{background-color:#f6f6f6!important;color:#000!important}button.tertiary{background-color:inherit;border-color:inherit;color:#46a997}button.tertiary.mat-flat-button.mat-button-disabled{background-color:inherit!important;border-color:inherit!important;color:#a2d4cb!important}button .label-icon-wrapper{display:flex;justify-content:center}button .label-icon-wrapper .label-without-icon{margin:0 16px;line-height:16px}button .label-icon-wrapper .label-with-icon{margin:0;line-height:16px}button .label-icon-wrapper .mat-icon{font-size:16px;height:16px;width:16px}button .label-icon-wrapper .icon-left{margin:0 16px 0 0}button .label-icon-wrapper .icon-right{margin:0 0 0 16px}button .position-spinner{width:16px;height:16px;display:inline-flex;margin-top:-16px}\n"], components: [{ type: i1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i3.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }], directives: [{ type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
54
54
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ButtonComponent, decorators: [{
|
|
55
55
|
type: Component,
|
|
56
|
-
args: [{ selector: 'ui-button', template: "
|
|
56
|
+
args: [{ selector: 'ui-button', template: "<button mat-flat-button [ngStyle]=\"{'width': fullWidth ? '100%' : 'auto'}\" [ngClass]=\"{'primary': color === 'primary', 'secondary' : color === 'secondary', 'tertiary' : color === 'tertiary' }\" [disabled]=\"disabled || loading\" (click)=\"onClick()\" >\n <div class=\"label-icon-wrapper\" [ngClass]=\"{ hidden: loading }\">\n <span class=\"icon icon-left\" *ngIf=\"iconPosition === 'left'\"\n ><mat-icon>{{ iconName }}</mat-icon></span\n >\n <span [ngClass]=\"{ 'label-without-icon': iconName === '', 'label-with-icon': iconName !== '' }\">{{ label }}</span>\n <span class=\"icon icon-right\" *ngIf=\"iconPosition === 'right'\"\n ><mat-icon>{{ iconName }}</mat-icon></span\n >\n </div>\n <mat-spinner *ngIf=\"loading\" class=\"position-spinner\" mode=\"indeterminate\" diameter=\"16\"></mat-spinner>\n</button>\n", styles: ["button{padding:16px}button.primary{background-color:#46a997;color:#fff}button.primary.mat-flat-button.mat-button-disabled{background-color:#a2d4cb!important}button.secondary{background-color:#ededed;color:#000}button.secondary.mat-flat-button.mat-button-disabled{background-color:#f6f6f6!important;color:#000!important}button.tertiary{background-color:inherit;border-color:inherit;color:#46a997}button.tertiary.mat-flat-button.mat-button-disabled{background-color:inherit!important;border-color:inherit!important;color:#a2d4cb!important}button .label-icon-wrapper{display:flex;justify-content:center}button .label-icon-wrapper .label-without-icon{margin:0 16px;line-height:16px}button .label-icon-wrapper .label-with-icon{margin:0;line-height:16px}button .label-icon-wrapper .mat-icon{font-size:16px;height:16px;width:16px}button .label-icon-wrapper .icon-left{margin:0 16px 0 0}button .label-icon-wrapper .icon-right{margin:0 0 0 16px}button .position-spinner{width:16px;height:16px;display:inline-flex;margin-top:-16px}\n"] }]
|
|
57
57
|
}], propDecorators: { color: [{
|
|
58
58
|
type: Input
|
|
59
59
|
}], label: [{
|
|
@@ -71,4 +71,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
71
71
|
}], onClickEvent: [{
|
|
72
72
|
type: Output
|
|
73
73
|
}] } });
|
|
74
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2J1dHRvbi9idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUFRdkUsTUFBTSxPQUFPLGVBQWU7SUFMNUI7UUFNRTs7Ozs7V0FLRztRQUNNLFVBQUssR0FBZ0IsU0FBUyxDQUFDO1FBRXhDOzs7O1dBSUc7UUFDTSxVQUFLLEdBQUcsRUFBRSxDQUFDO1FBVXBCOzs7O1dBSUc7UUFDTSxhQUFRLEdBQUcsRUFBRSxDQUFDO1FBRXZCOzs7O1dBSUc7UUFDTSxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRTFCOzs7O1dBSUc7UUFDTSxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBRXpCOzs7O1dBSUc7UUFDTSxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBRWpCLGlCQUFZLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7S0FLdkU7SUFIQyxPQUFPO1FBQ0wsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMzQixDQUFDOzs2R0F4RFUsZUFBZTtpR0FBZixlQUFlLDhQQ1I1Qiw2MEJBWUE7NEZESmEsZUFBZTtrQkFMM0IsU0FBUzsrQkFDRSxXQUFXOzhCQVdaLEtBQUs7c0JBQWIsS0FBSztnQkFPRyxLQUFLO3NCQUFiLEtBQUs7Z0JBUUcsWUFBWTtzQkFBcEIsS0FBSztnQkFPRyxRQUFRO3NCQUFoQixLQUFLO2dCQU9HLFFBQVE7c0JBQWhCLEtBQUs7Z0JBT0csT0FBTztzQkFBZixLQUFLO2dCQU9HLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUksWUFBWTtzQkFBckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCdXR0b25Db2xvciwgSWNvblBvc2l0aW9uT3B0aW9ucyB9IGZyb20gJy4vYnV0dG9uLm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndWktYnV0dG9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2J1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2J1dHRvbi5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBCdXR0b25Db21wb25lbnQge1xuICAvKipcbiAgICogQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIHdoaWxlIGluIGFjdGl2ZSBzdGF0ZVxuICAgKlxuICAgKiBAdHlwZSB7QnV0dG9uQ29sb3J9XG4gICAqIEBtZW1iZXJvZiBCdXR0b25Db21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGNvbG9yOiBCdXR0b25Db2xvciA9ICdwcmltYXJ5JztcblxuICAvKipcbiAgICogVGV4dCBjb250ZW50IHRvIGFwcGVhciBvbiB0aGUgYnV0dG9uXG4gICAqXG4gICAqIEBtZW1iZXJvZiBCdXR0b25Db21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGxhYmVsID0gJyc7XG5cbiAgLyoqXG4gICAqIFBvc2l0aW9uaW5nIG9mIHRoZSBpY29uICh3aGVuIGV4aXN0YW50KVxuICAgKlxuICAgKiBAdHlwZSB7SWNvblBvc2l0aW9uT3B0aW9uc31cbiAgICogQG1lbWJlcm9mIEJ1dHRvbkNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgaWNvblBvc2l0aW9uOiBJY29uUG9zaXRpb25PcHRpb25zO1xuXG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSBtYXRlcmlhbCBpY29uXG4gICAqXG4gICAqIEBtZW1iZXJvZiBCdXR0b25Db21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGljb25OYW1lID0gJyc7XG5cbiAgLyoqXG4gICAqIEluZGljYXRvciBpZiB0aGUgYnV0dG9uIHNob3VsZCBiZSBkaXNhYmxlZFxuICAgKlxuICAgKiBAbWVtYmVyb2YgQnV0dG9uQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0b3IgaWYgdGhlIGxvYWRpbmcgaWNvbiBzaG91bGQgYmUgc2hvd25cbiAgICpcbiAgICogQG1lbWJlcm9mIEJ1dHRvbkNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgbG9hZGluZyA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0b3Igb2YgdGhlIGJ1dHRvbiB3aWR0aFxuICAgKlxuICAgKiBAbWVtYmVyb2YgQnV0dG9uQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBmdWxsV2lkdGggPSBmYWxzZTtcblxuICBAT3V0cHV0KCkgb25DbGlja0V2ZW50OiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgb25DbGljaygpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2xpY2tFdmVudC5lbWl0KCk7XG4gIH1cbn1cbiIsIjxidXR0b24gbWF0LWZsYXQtYnV0dG9uIFtuZ1N0eWxlXT1cInsnd2lkdGgnOiBmdWxsV2lkdGggPyAnMTAwJScgOiAnYXV0byd9XCIgW25nQ2xhc3NdPVwieydwcmltYXJ5JzogY29sb3IgPT09ICdwcmltYXJ5JywgJ3NlY29uZGFyeScgOiBjb2xvciA9PT0gJ3NlY29uZGFyeScsICd0ZXJ0aWFyeScgOiBjb2xvciA9PT0gJ3RlcnRpYXJ5JyB9XCIgW2Rpc2FibGVkXT1cImRpc2FibGVkIHx8IGxvYWRpbmdcIiAoY2xpY2spPVwib25DbGljaygpXCIgPlxuICA8ZGl2IGNsYXNzPVwibGFiZWwtaWNvbi13cmFwcGVyXCIgW25nQ2xhc3NdPVwieyBoaWRkZW46IGxvYWRpbmcgfVwiPlxuICAgIDxzcGFuIGNsYXNzPVwiaWNvbiBpY29uLWxlZnRcIiAqbmdJZj1cImljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnXCJcbiAgICAgID48bWF0LWljb24+e3sgaWNvbk5hbWUgfX08L21hdC1pY29uPjwvc3BhblxuICAgID5cbiAgICA8c3BhbiBbbmdDbGFzc109XCJ7ICdsYWJlbC13aXRob3V0LWljb24nOiBpY29uTmFtZSA9PT0gJycsICdsYWJlbC13aXRoLWljb24nOiBpY29uTmFtZSAhPT0gJycgfVwiPnt7IGxhYmVsIH19PC9zcGFuPlxuICAgIDxzcGFuIGNsYXNzPVwiaWNvbiBpY29uLXJpZ2h0XCIgKm5nSWY9XCJpY29uUG9zaXRpb24gPT09ICdyaWdodCdcIlxuICAgICAgPjxtYXQtaWNvbj57eyBpY29uTmFtZSB9fTwvbWF0LWljb24+PC9zcGFuXG4gICAgPlxuICA8L2Rpdj5cbiAgPG1hdC1zcGlubmVyICpuZ0lmPVwibG9hZGluZ1wiIGNsYXNzPVwicG9zaXRpb24tc3Bpbm5lclwiIG1vZGU9XCJpbmRldGVybWluYXRlXCIgZGlhbWV0ZXI9XCIxNlwiPjwvbWF0LXNwaW5uZXI+XG48L2J1dHRvbj5cbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYnV0dG9uL2J1dHRvbi5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgSWNvblBvc2l0aW9uT3B0aW9ucyA9ICdsZWZ0JyB8ICdyaWdodCcgfCB1bmRlZmluZWQ7XG5leHBvcnQgdHlwZSBCdXR0b25Db2xvciA9ICdwcmltYXJ5JyB8ICdzZWNvbmRhcnknIHwgJ3RlcnRpYXJ5JztcbiJdfQ==
|
|
@@ -9,10 +9,10 @@ export class CardComponent {
|
|
|
9
9
|
}
|
|
10
10
|
}
|
|
11
11
|
CardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
12
|
-
CardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: CardComponent, selector: "ui-card", inputs: { title: "title", subTitle: "subTitle" }, ngImport: i0, template: "<mat-card class=\"container\">\n <ui-logo class=\"logo\"></ui-logo>\n <mat-card-title>{{title}}</mat-card-title>\n <mat-card-subtitle>{{subTitle}}</mat-card-subtitle>\n</mat-card>\n", styles: [".container{width:672px;box-sizing:border-box;padding:
|
|
12
|
+
CardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: CardComponent, selector: "ui-card", inputs: { title: "title", subTitle: "subTitle" }, ngImport: i0, template: "<mat-card class=\"container\">\n <ui-logo class=\"logo\"></ui-logo>\n <mat-card-title>{{title}}</mat-card-title>\n <mat-card-subtitle>{{subTitle}}</mat-card-subtitle>\n</mat-card>\n", styles: [".container{width:672px;box-sizing:border-box;padding:80px!important}.container .logo{margin-bottom:40px}.container .mat-card-title{margin-bottom:24px;font-weight:700;font-size:22px;line-height:135%}.container .mat-card-subtitle{color:#000;font-weight:400;font-size:16px;line-height:135%}\n"], components: [{ type: i1.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { type: i2.LogoComponent, selector: "ui-logo" }], directives: [{ type: i1.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { type: i1.MatCardSubtitle, selector: "mat-card-subtitle, [mat-card-subtitle], [matCardSubtitle]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
13
13
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CardComponent, decorators: [{
|
|
14
14
|
type: Component,
|
|
15
|
-
args: [{ selector: 'ui-card', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-card class=\"container\">\n <ui-logo class=\"logo\"></ui-logo>\n <mat-card-title>{{title}}</mat-card-title>\n <mat-card-subtitle>{{subTitle}}</mat-card-subtitle>\n</mat-card>\n", styles: [".container{width:672px;box-sizing:border-box;padding:
|
|
15
|
+
args: [{ selector: 'ui-card', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-card class=\"container\">\n <ui-logo class=\"logo\"></ui-logo>\n <mat-card-title>{{title}}</mat-card-title>\n <mat-card-subtitle>{{subTitle}}</mat-card-subtitle>\n</mat-card>\n", styles: [".container{width:672px;box-sizing:border-box;padding:80px!important}.container .logo{margin-bottom:40px}.container .mat-card-title{margin-bottom:24px;font-weight:700;font-size:22px;line-height:135%}.container .mat-card-subtitle{color:#000;font-weight:400;font-size:16px;line-height:135%}\n"] }]
|
|
16
16
|
}], propDecorators: { title: [{
|
|
17
17
|
type: Input
|
|
18
18
|
}], subTitle: [{
|
|
@@ -2,10 +2,11 @@ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from
|
|
|
2
2
|
import { Validators } from '@angular/forms';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
import * as i1 from "@angular/forms";
|
|
5
|
-
import * as i2 from "../
|
|
6
|
-
import * as i3 from "
|
|
7
|
-
import * as i4 from "@angular
|
|
8
|
-
import * as i5 from "
|
|
5
|
+
import * as i2 from "../logo/logo.component";
|
|
6
|
+
import * as i3 from "../field/field.component";
|
|
7
|
+
import * as i4 from "@angular-material-extensions/password-strength";
|
|
8
|
+
import * as i5 from "@angular/material/checkbox";
|
|
9
|
+
import * as i6 from "../button/button.component";
|
|
9
10
|
export class CreateAccountComponent {
|
|
10
11
|
constructor(fb) {
|
|
11
12
|
this.fb = fb;
|
|
@@ -75,10 +76,10 @@ export class CreateAccountComponent {
|
|
|
75
76
|
}
|
|
76
77
|
}
|
|
77
78
|
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 <
|
|
79
|
+
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 <ui-logo></ui-logo>\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 <div class=\"password-strength-container\">\n <mat-password-strength\n [min]=\"12\"\n #passwordComponentWithValidation\n [password]=\"registerForm.controls['password'].value\"\n >\n </mat-password-strength>\n </div>\n <mat-password-strength-info [passwordComponent]=\"passwordComponentWithValidation\">\n </mat-password-strength-info>\n </div>\n <div class=\"terms-conditions-container\">\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 .title{font-weight:700;font-size:22px;line-height:29.7px;margin-top:40px}.form-box .subtitle{font-weight:400;font-size:16px;line-height:21.6px;margin:24px 0}.form-box .field{width:100%}.form-box .password-strength-container{margin:2.7px 0 1px}.form-box .terms-conditions-container{margin-top:9px}.form-box .submit-button{margin:24px 0}.form-box mat-checkbox{font-weight:400}.form-box .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.LogoComponent, selector: "ui-logo" }, { type: i3.FieldComponent, selector: "ui-field", inputs: ["label", "preffixIcon", "suffixIcon", "required", "hint", "error", "placeholder", "type"] }, { type: i4.MatPasswordStrengthComponent, selector: "mat-password-strength", inputs: ["password", "externalError", "enableLengthRule", "enableLowerCaseLetterRule", "enableUpperCaseLetterRule", "enableDigitRule", "enableSpecialCharRule", "min", "max", "customValidator", "warnThreshold", "accentThreshold"], outputs: ["onStrengthChanged"], exportAs: ["matPasswordStrength"] }, { type: i4.MatPasswordStrengthInfoComponent, selector: "mat-password-strength-info", inputs: ["passwordComponent", "enableScoreInfo", "lowerCaseCriteriaMsg", "upperCaseCriteriaMsg", "digitsCriteriaMsg", "specialCharsCriteriaMsg", "customCharsCriteriaMsg", "minCharsCriteriaMsg", "matIconDone", "matIconError"], exportAs: ["matPasswordStrengthInfo"] }, { type: i5.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { type: i6.ButtonComponent, selector: "ui-button", inputs: ["color", "label", "iconPosition", "iconName", "disabled", "loading", "fullWidth"], outputs: ["onClickEvent"] }], directives: [{ type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
79
80
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CreateAccountComponent, decorators: [{
|
|
80
81
|
type: Component,
|
|
81
|
-
args: [{ selector: 'ui-create-account', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"form-box\">\n <
|
|
82
|
+
args: [{ selector: 'ui-create-account', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"form-box\">\n <ui-logo></ui-logo>\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 <div class=\"password-strength-container\">\n <mat-password-strength\n [min]=\"12\"\n #passwordComponentWithValidation\n [password]=\"registerForm.controls['password'].value\"\n >\n </mat-password-strength>\n </div>\n <mat-password-strength-info [passwordComponent]=\"passwordComponentWithValidation\">\n </mat-password-strength-info>\n </div>\n <div class=\"terms-conditions-container\">\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 .title{font-weight:700;font-size:22px;line-height:29.7px;margin-top:40px}.form-box .subtitle{font-weight:400;font-size:16px;line-height:21.6px;margin:24px 0}.form-box .field{width:100%}.form-box .password-strength-container{margin:2.7px 0 1px}.form-box .terms-conditions-container{margin-top:9px}.form-box .submit-button{margin:24px 0}.form-box mat-checkbox{font-weight:400}.form-box .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
83
|
}], ctorParameters: function () { return [{ type: i1.FormBuilder }]; }, propDecorators: { formErrors: [{
|
|
83
84
|
type: Input
|
|
84
85
|
}], loading: [{
|
|
@@ -88,4 +89,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
88
89
|
}], loginEvent: [{
|
|
89
90
|
type: Output
|
|
90
91
|
}] } });
|
|
91
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWFjY291bnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvY3JlYXRlLWFjY291bnQvY3JlYXRlLWFjY291bnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvY3JlYXRlLWFjY291bnQvY3JlYXRlLWFjY291bnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RyxPQUFPLEVBQWUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7O0FBU3pELE1BQU0sT0FBTyxzQkFBc0I7SUFtRGpDLFlBQW9CLEVBQWU7UUFBZixPQUFFLEdBQUYsRUFBRSxDQUFhO1FBbERuQyxtSEFBbUg7UUFDbkgsd0RBQXdEO1FBQ3hELHdEQUF3RDtRQUV4RDs7V0FFRztRQUNILGlCQUFZLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDM0IsUUFBUSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdkQsUUFBUSxFQUFFO2dCQUNSLEVBQUU7Z0JBQ0Y7b0JBQ0UsVUFBVSxDQUFDLFFBQVE7b0JBQ25CLFVBQVUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO29CQUN4QixVQUFVLENBQUMsT0FBTyxDQUFDLCtFQUErRSxDQUFDO2lCQUNwRzthQUNGO1lBQ0QsMEJBQTBCLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDL0QsQ0FBQyxDQUFDO1FBRUg7O1dBRUc7UUFDTSxlQUFVLEdBQUc7WUFDcEIsUUFBUSxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ2QsUUFBUSxFQUFFLENBQUMsRUFBRSxDQUFDO1NBQ2YsQ0FBQztRQVNGOztXQUVHO1FBQ08sZ0JBQVcsR0FBMkMsSUFBSSxZQUFZLEVBQTRCLENBQUM7UUFFN0c7O1dBRUc7UUFDTyxlQUFVLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7SUFPOUIsQ0FBQztJQUx2Qzs7T0FFRztJQUNILFFBQVEsS0FBVSxDQUFDO0lBSW5CLE1BQU07UUFDSixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztZQUNwQixRQUFRLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEVBQUUsS0FBSztZQUNsRCxRQUFRLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEVBQUUsS0FBSztTQUNuRCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsS0FBSztRQUNILElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFhO1FBQ3ZCLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxFQUFFO1lBQzdDLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFO2dCQUMxRCxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQXFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyx3QkFBd0IsQ0FBQztnQkFDckYsT0FBTzthQUNSO1lBRUQsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ3ZELElBQUksQ0FBQyxVQUFVLENBQUMsS0FBcUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLHFCQUFxQixDQUFDO2dCQUNsRixPQUFPO2FBQ1I7WUFFRCxJQUFJLEtBQUssS0FBSyxVQUFVLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxFQUFFO2dCQUNqRixJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxxQkFBcUIsQ0FBQztnQkFDcEQsT0FBTzthQUNSO1NBQ0Y7UUFFRCxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQXFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDakUsQ0FBQzs7b0hBbkZVLHNCQUFzQjt3R0FBdEIsc0JBQXNCLHNMQ1ZuQyxrbkRBZ0NBOzRGRHRCYSxzQkFBc0I7a0JBTmxDLFNBQVM7K0JBQ0UsbUJBQW1CLG1CQUdaLHVCQUF1QixDQUFDLE1BQU07a0dBMEJ0QyxVQUFVO3NCQUFsQixLQUFLO2dCQVVHLE9BQU87c0JBQWYsS0FBSztnQkFLSSxXQUFXO3NCQUFwQixNQUFNO2dCQUtHLFVBQVU7c0JBQW5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDcmVhdGVBY2NvdW50Q3JlZGVudGlhbHMgfSBmcm9tICcuL2NyZWF0ZS1hY2NvdW50Lm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndWktY3JlYXRlLWFjY291bnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vY3JlYXRlLWFjY291bnQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jcmVhdGUtYWNjb3VudC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQ3JlYXRlQWNjb3VudENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIC8vIFRPRE86IFNvbWUgcHJvcGVydGllcyBhbmQgbWV0aG9kcyBhcmUgaWdub3JlZCBvbiBwdXJwb3NlIGJlY2F1c2Ugb2YgYSBjdXJyZW50IGlzc3VlIHdpdGggY29tcG9kb2MgYW5kIGFuZ3VsYXIgMTNcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3N0b3J5Ym9va2pzL3N0b3J5Ym9vay9pc3N1ZXMvMTY4NjVcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3N0b3J5Ym9va2pzL3N0b3J5Ym9vay9pc3N1ZXMvMTcwMDRcblxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgcmVnaXN0ZXJGb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgdXNlcm5hbWU6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMuZW1haWxdXSxcbiAgICBwYXNzd29yZDogW1xuICAgICAgJycsXG4gICAgICBbXG4gICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXG4gICAgICAgIFZhbGlkYXRvcnMubWluTGVuZ3RoKDEyKSxcbiAgICAgICAgVmFsaWRhdG9ycy5wYXR0ZXJuKC9eKD89XFxEKlxcZCkoPz1bXmEtel0qW2Etel0pKD89LipbIyQlJicoKSorLC0uLzo7PD0+P0BdKSg/PVteQS1aXSpbQS1aXSkuezEyLH0kLyksXG4gICAgICBdLFxuICAgIF0sXG4gICAgYWdyZWVfdGVybXNfYW5kX2NvbmRpdGlvbnM6IFtmYWxzZSwgW1ZhbGlkYXRvcnMucmVxdWlyZWRUcnVlXV0sXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBASW5wdXQoKSBmb3JtRXJyb3JzID0ge1xuICAgIHVzZXJuYW1lOiBbJyddLFxuICAgIHBhc3N3b3JkOiBbJyddLFxuICB9O1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0b3IgaWYgdGhlIGZvcm0gaXMgbG9hZGluZ1xuICAgKlxuICAgKiBAbWVtYmVyb2YgQnV0dG9uQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBsb2FkaW5nOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBAT3V0cHV0KCkgc3VibWl0RXZlbnQ6IEV2ZW50RW1pdHRlcjxDcmVhdGVBY2NvdW50Q3JlZGVudGlhbHM+ID0gbmV3IEV2ZW50RW1pdHRlcjxDcmVhdGVBY2NvdW50Q3JlZGVudGlhbHM+KCk7XG5cbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIEBPdXRwdXQoKSBsb2dpbkV2ZW50OiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIG5nT25Jbml0KCk6IHZvaWQge31cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZiOiBGb3JtQnVpbGRlcikge31cblxuICBzdWJtaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zdWJtaXRFdmVudC5lbWl0KHtcbiAgICAgIHVzZXJuYW1lOiB0aGlzLnJlZ2lzdGVyRm9ybS5nZXQoJ3VzZXJuYW1lJyk/LnZhbHVlLFxuICAgICAgcGFzc3dvcmQ6IHRoaXMucmVnaXN0ZXJGb3JtLmdldCgncGFzc3dvcmQnKT8udmFsdWUsXG4gICAgfSk7XG4gIH1cblxuICBsb2dpbigpOiB2b2lkIHtcbiAgICB0aGlzLmxvZ2luRXZlbnQuZW1pdCgpO1xuICB9XG5cbiAgY2hlY2tFcnJvcnMoZmllbGQ6IHN0cmluZykge1xuICAgIGlmICh0aGlzLnJlZ2lzdGVyRm9ybS5jb250cm9sc1tmaWVsZF0udG91Y2hlZCkge1xuICAgICAgaWYgKHRoaXMucmVnaXN0ZXJGb3JtLmNvbnRyb2xzW2ZpZWxkXS5oYXNFcnJvcigncmVxdWlyZWQnKSkge1xuICAgICAgICB0aGlzLmZvcm1FcnJvcnNbZmllbGQgYXMga2V5b2YgdHlwZW9mIHRoaXMuZm9ybUVycm9yc11bMF0gPSAnVGhpcyBmaWVsZCBpcyByZXF1aXJlZCc7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMucmVnaXN0ZXJGb3JtLmNvbnRyb2xzW2ZpZWxkXS5oYXNFcnJvcignZW1haWwnKSkge1xuICAgICAgICB0aGlzLmZvcm1FcnJvcnNbZmllbGQgYXMga2V5b2YgdHlwZW9mIHRoaXMuZm9ybUVycm9yc11bMF0gPSAnRW50ZXIgYSB2YWxpZCBlbWFpbCc7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKGZpZWxkID09PSAncGFzc3dvcmQnICYmIHRoaXMucmVnaXN0ZXJGb3JtLmNvbnRyb2xzW2ZpZWxkXS5oYXNFcnJvcigncGF0dGVybicpKSB7XG4gICAgICAgIHRoaXMuZm9ybUVycm9ycy5wYXNzd29yZFswXSA9ICdQYXNzd29yZCBpcyBpbnZhbGlkJztcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuZm9ybUVycm9yc1tmaWVsZCBhcyBrZXlvZiB0eXBlb2YgdGhpcy5mb3JtRXJyb3JzXVswXSA9ICcnO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZm9ybS1ib3hcIj5cbiAgPHVpLWxvZ28+PC91aS1sb2dvPlxuICA8ZGl2IGNsYXNzPVwidGl0bGVcIj5DcmVhdGUgeW91ciBDYXJlZXIgUGFzc3BvcnQ8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cInN1YnRpdGxlXCI+RW50ZXIgdGhlIGVtYWlsIGFkZHJlc3MgdG8gd2hpY2ggeW91IHJlY2VpdmVkIGFuIGFzc2Vzc21lbnQgaW52aXRlLjwvZGl2PlxuICA8Zm9ybSBbZm9ybUdyb3VwXT1cInJlZ2lzdGVyRm9ybVwiPlxuICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxuICAgICAgPHVpLWZpZWxkIGZvcm1Db250cm9sTmFtZT1cInVzZXJuYW1lXCIgW3BsYWNlaG9sZGVyXT1cIidFbWFpbCdcIiBbdHlwZV09XCInZW1haWwnXCIgW3JlcXVpcmVkXT1cInRydWVcIiBbZXJyb3JdPVwiZm9ybUVycm9ycy51c2VybmFtZVswXVwiIChuZ01vZGVsQ2hhbmdlKT1cImNoZWNrRXJyb3JzKCd1c2VybmFtZScpXCI+PC91aS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cbiAgICAgIDx1aS1maWVsZCBmb3JtQ29udHJvbE5hbWU9XCJwYXNzd29yZFwiIFtwbGFjZWhvbGRlcl09XCInUGFzc3dvcmQnXCIgW3R5cGVdPVwiJ3Bhc3N3b3JkJ1wiIFtyZXF1aXJlZF09XCJ0cnVlXCIgW2Vycm9yXT1cImZvcm1FcnJvcnMucGFzc3dvcmRbMF1cIiAobmdNb2RlbENoYW5nZSk9XCJjaGVja0Vycm9ycygncGFzc3dvcmQnKVwiPjwvdWktZmllbGQ+XG4gICAgICA8ZGl2IGNsYXNzPVwicGFzc3dvcmQtc3RyZW5ndGgtY29udGFpbmVyXCI+XG4gICAgICAgIDxtYXQtcGFzc3dvcmQtc3RyZW5ndGhcbiAgICAgICAgW21pbl09XCIxMlwiXG4gICAgICAgICNwYXNzd29yZENvbXBvbmVudFdpdGhWYWxpZGF0aW9uXG4gICAgICAgIFtwYXNzd29yZF09XCJyZWdpc3RlckZvcm0uY29udHJvbHNbJ3Bhc3N3b3JkJ10udmFsdWVcIlxuICAgICAgICA+XG4gICAgICA8L21hdC1wYXNzd29yZC1zdHJlbmd0aD5cbiAgICA8L2Rpdj5cbiAgICAgIDxtYXQtcGFzc3dvcmQtc3RyZW5ndGgtaW5mbyBbcGFzc3dvcmRDb21wb25lbnRdPVwicGFzc3dvcmRDb21wb25lbnRXaXRoVmFsaWRhdGlvblwiPlxuICAgICAgPC9tYXQtcGFzc3dvcmQtc3RyZW5ndGgtaW5mbz5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwidGVybXMtY29uZGl0aW9ucy1jb250YWluZXJcIj5cbiAgICAgIDxtYXQtY2hlY2tib3ggZm9ybUNvbnRyb2xOYW1lPVwiYWdyZWVfdGVybXNfYW5kX2NvbmRpdGlvbnNcIj5BZ3JlZSB0byBUZXJtcyAmIENvbmRpdGlvbnM8L21hdC1jaGVja2JveD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwic3VibWl0LWJ1dHRvblwiPlxuICAgICAgPHVpLWJ1dHRvbiBbbGFiZWxdPVwiJ05leHQnXCIgW2Rpc2FibGVkXT1cInJlZ2lzdGVyRm9ybS5pbnZhbGlkXCIgW2Z1bGxXaWR0aF09XCJ0cnVlXCIgW2xvYWRpbmddPVwibG9hZGluZ1wiIChvbkNsaWNrRXZlbnQpPVwic3VibWl0KClcIj48L3VpLWJ1dHRvbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2PlxuICAgICAgQWxyZWFkeSBoYXZlIGEgQ2FyZWVyIFBhc3Nwb3J0PyA8c3BhbiBjbGFzcz1cImxvZy1pblwiIChjbGljayk9XCJsb2dpbigpXCI+TG9nIGluIGhlcmU8L3NwYW4+XG4gICAgPC9kaXY+XG4gIDwvZm9ybT5cbjwvZGl2PlxuIl19
|