@testgorilla/tgo-ui 1.2.1 → 1.3.0
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/autocomplete/autocomplete.component.d.ts +107 -0
- package/components/autocomplete/autocomplete.component.module.d.ts +19 -0
- package/components/autocomplete/autocomplete.model.d.ts +13 -0
- package/components/autocomplete/includes.pipe.d.ts +12 -0
- package/components/autocomplete/transform-Item.pipe.d.ts +11 -0
- package/components/badge/badge.component.d.ts +40 -0
- package/components/badge/badge.component.module.d.ts +9 -0
- package/components/badge/badge.model.d.ts +18 -0
- package/components/button/button.component.d.ts +11 -3
- package/components/button/button.component.module.d.ts +2 -1
- package/components/button/button.model.d.ts +1 -1
- package/components/step/step.component.d.ts +93 -0
- package/components/step/step.component.module.d.ts +9 -0
- package/components/stepper/providers/is-mobile.d.ts +2 -0
- package/components/stepper/stepper.component.d.ts +47 -0
- package/components/stepper/stepper.component.module.d.ts +13 -0
- package/components/stepper/stepper.model.d.ts +12 -0
- package/directives/select-text.directive.d.ts +19 -0
- package/directives/step-line-width.directive.d.ts +15 -0
- package/esm2022/components/alert-banner/alert-banner.component.mjs +2 -2
- package/esm2022/components/autocomplete/autocomplete.component.mjs +302 -0
- package/esm2022/components/autocomplete/autocomplete.component.module.mjs +81 -0
- package/esm2022/components/autocomplete/autocomplete.model.mjs +16 -0
- package/esm2022/components/autocomplete/includes.pipe.mjs +21 -0
- package/esm2022/components/autocomplete/transform-Item.pipe.mjs +29 -0
- package/esm2022/components/badge/badge.component.mjs +66 -0
- package/esm2022/components/badge/badge.component.module.mjs +19 -0
- package/esm2022/components/badge/badge.model.mjs +19 -0
- package/esm2022/components/banner-action/banner-action.component.mjs +1 -1
- package/esm2022/components/button/button.component.mjs +19 -4
- package/esm2022/components/button/button.component.module.mjs +5 -4
- package/esm2022/components/button/button.model.mjs +1 -1
- package/esm2022/components/create-account/create-account.component.mjs +1 -1
- package/esm2022/components/create-password/create-password.component.mjs +1 -1
- package/esm2022/components/dialog/dialog.component.mjs +1 -1
- package/esm2022/components/dropdown/dropdown.component.mjs +1 -1
- package/esm2022/components/field/field.component.mjs +1 -1
- package/esm2022/components/forgot-password/forgot-password.component.mjs +1 -1
- package/esm2022/components/login/login.component.mjs +1 -1
- package/esm2022/components/snackbar/snackbar.component.mjs +2 -2
- package/esm2022/components/step/step.component.mjs +91 -0
- package/esm2022/components/step/step.component.module.mjs +19 -0
- package/esm2022/components/stepper/providers/is-mobile.mjs +11 -0
- package/esm2022/components/stepper/stepper.component.mjs +91 -0
- package/esm2022/components/stepper/stepper.component.module.mjs +43 -0
- package/esm2022/components/stepper/stepper.model.mjs +5 -0
- package/esm2022/directives/select-text.directive.mjs +41 -0
- package/esm2022/directives/step-line-width.directive.mjs +38 -0
- package/esm2022/public-api.mjs +12 -1
- package/esm2022/utils/autocomplete-utils.mjs +61 -0
- package/fesm2022/testgorilla-tgo-ui.mjs +920 -34
- package/fesm2022/testgorilla-tgo-ui.mjs.map +1 -1
- package/package.json +5 -2
- package/public-api.d.ts +8 -0
- package/src/assets/i18n/en.json +12 -1
- package/src/assets/images/step-finish.svg +6 -0
- package/utils/autocomplete-utils.d.ts +11 -0
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { AfterViewInit, ElementRef, EventEmitter, OnChanges } from '@angular/core';
|
|
2
|
+
import { ControlValueAccessor } from '@angular/forms';
|
|
3
|
+
import { MatAutocompleteSelectedEvent } from '@angular/material/autocomplete';
|
|
4
|
+
import { MatFormField } from '@angular/material/form-field';
|
|
5
|
+
import { ReplaySubject } from 'rxjs';
|
|
6
|
+
import { Autocomplete, AutocompleteType } from './autocomplete.model';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
export declare class AutocompleteComponent implements ControlValueAccessor, OnChanges, AfterViewInit {
|
|
9
|
+
/**
|
|
10
|
+
* @property itemsList
|
|
11
|
+
* @description The list of items to display in the autocomplete.
|
|
12
|
+
* @memberof AutocompleteComponent
|
|
13
|
+
*/
|
|
14
|
+
itemsList: any[];
|
|
15
|
+
/**
|
|
16
|
+
* @property suggestionsList
|
|
17
|
+
* @description The list of suggestions to display in the autocomplete.
|
|
18
|
+
* @memberof AutocompleteComponent
|
|
19
|
+
*/
|
|
20
|
+
suggestionsList: any[];
|
|
21
|
+
/**
|
|
22
|
+
* @property disabled
|
|
23
|
+
* @description If `true`, the autocomplete is disabled.
|
|
24
|
+
* @memberof AutocompleteComponent
|
|
25
|
+
*/
|
|
26
|
+
disabled: boolean;
|
|
27
|
+
/**
|
|
28
|
+
* @property allowAdd
|
|
29
|
+
* @description If `true`, allows adding new values to the autocomplete.
|
|
30
|
+
* @memberof AutocompleteComponent
|
|
31
|
+
*/
|
|
32
|
+
allowAdd: boolean;
|
|
33
|
+
/**
|
|
34
|
+
* @property textField
|
|
35
|
+
* @description The field to be used as the display text in the autocomplete.
|
|
36
|
+
* @memberof AutocompleteComponent
|
|
37
|
+
*/
|
|
38
|
+
textField: string;
|
|
39
|
+
/**
|
|
40
|
+
* @property valueField
|
|
41
|
+
* @description The field to be used as the value in the autocomplete.
|
|
42
|
+
* @memberof AutocompleteComponent
|
|
43
|
+
*/
|
|
44
|
+
valueField: string;
|
|
45
|
+
/**
|
|
46
|
+
* @property label
|
|
47
|
+
* @description The label for the autocomplete input.
|
|
48
|
+
* @memberof AutocompleteComponent
|
|
49
|
+
*/
|
|
50
|
+
label: string;
|
|
51
|
+
/**
|
|
52
|
+
* @property value
|
|
53
|
+
* @description The selected value(s) in the autocomplete.
|
|
54
|
+
* @memberof AutocompleteComponent
|
|
55
|
+
*/
|
|
56
|
+
set itemValue(v: any);
|
|
57
|
+
/**
|
|
58
|
+
* @property type
|
|
59
|
+
* @description The type of the autocomplete ('single', 'multi', etc.).
|
|
60
|
+
* @memberof AutocompleteComponent
|
|
61
|
+
*/
|
|
62
|
+
type: AutocompleteType;
|
|
63
|
+
/**
|
|
64
|
+
* @property minCharactersSearch
|
|
65
|
+
* @description The minimum characters to trigger search.
|
|
66
|
+
* @memberof AutocompleteComponent
|
|
67
|
+
*/
|
|
68
|
+
minCharactersSearch: number;
|
|
69
|
+
selectionChange: EventEmitter<any>;
|
|
70
|
+
searchTextChange: EventEmitter<string>;
|
|
71
|
+
matFormFieldElement: MatFormField;
|
|
72
|
+
tagContainer: ElementRef<HTMLElement>;
|
|
73
|
+
private readonly cdr;
|
|
74
|
+
protected value: any;
|
|
75
|
+
protected inputValue: any;
|
|
76
|
+
protected isInputFocus: boolean;
|
|
77
|
+
protected autocompleteType: typeof Autocomplete;
|
|
78
|
+
protected isOverLapping: boolean;
|
|
79
|
+
protected isOverlapChecking: boolean;
|
|
80
|
+
protected overlapIndex: number;
|
|
81
|
+
protected inputValueSearch$: ReplaySubject<string>;
|
|
82
|
+
protected userInput$: ReplaySubject<string>;
|
|
83
|
+
protected filteredItemsList$: import("rxjs").Observable<any>;
|
|
84
|
+
protected filteredSuggestionList$: import("rxjs").Observable<any>;
|
|
85
|
+
protected searchResult$: import("rxjs").Observable<boolean>;
|
|
86
|
+
protected translationContext: string;
|
|
87
|
+
ngOnChanges(): void;
|
|
88
|
+
ngAfterViewInit(): void;
|
|
89
|
+
onChange: (_: any) => void;
|
|
90
|
+
onTouch: () => void;
|
|
91
|
+
registerOnChange(fn: any): void;
|
|
92
|
+
registerOnTouched(fn: any): void;
|
|
93
|
+
setDisabledState(isDisabled: boolean): void;
|
|
94
|
+
writeValue(value: any): void;
|
|
95
|
+
protected onOptionSelected(event: MatAutocompleteSelectedEvent): void;
|
|
96
|
+
protected onOptionRemoved(input: any, option: any): void;
|
|
97
|
+
protected onInputChange(event: Event): void;
|
|
98
|
+
protected onClear(): void;
|
|
99
|
+
protected refillInput(): void;
|
|
100
|
+
protected onFocus(): void;
|
|
101
|
+
private checkOverlap;
|
|
102
|
+
private onUpdate;
|
|
103
|
+
private initValue;
|
|
104
|
+
private addNewValue;
|
|
105
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AutocompleteComponent, never>;
|
|
106
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AutocompleteComponent, "ui-autocomplete", never, { "itemsList": { "alias": "itemsList"; "required": false; }; "suggestionsList": { "alias": "suggestionsList"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "allowAdd": { "alias": "allowAdd"; "required": false; }; "textField": { "alias": "textField"; "required": false; }; "valueField": { "alias": "valueField"; "required": false; }; "label": { "alias": "label"; "required": false; }; "itemValue": { "alias": "itemValue"; "required": false; }; "type": { "alias": "type"; "required": false; }; "minCharactersSearch": { "alias": "minCharactersSearch"; "required": false; }; }, { "selectionChange": "selectionChange"; "searchTextChange": "searchTextChange"; }, never, never, false, never>;
|
|
107
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import * as i1 from "./autocomplete.component";
|
|
3
|
+
import * as i2 from "./transform-Item.pipe";
|
|
4
|
+
import * as i3 from "./includes.pipe";
|
|
5
|
+
import * as i4 from "../../directives/select-text.directive";
|
|
6
|
+
import * as i5 from "@angular/common";
|
|
7
|
+
import * as i6 from "@angular/material/form-field";
|
|
8
|
+
import * as i7 from "@angular/material/autocomplete";
|
|
9
|
+
import * as i8 from "@angular/material/input";
|
|
10
|
+
import * as i9 from "@angular/forms";
|
|
11
|
+
import * as i10 from "../tag/tag.component.module";
|
|
12
|
+
import * as i11 from "@angular/material/chips";
|
|
13
|
+
import * as i12 from "../icon/icon.component.module";
|
|
14
|
+
import * as i13 from "@ngneat/transloco";
|
|
15
|
+
export declare class AutocompleteComponentModule {
|
|
16
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AutocompleteComponentModule, never>;
|
|
17
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<AutocompleteComponentModule, [typeof i1.AutocompleteComponent, typeof i2.TransformItemPipe, typeof i3.IncludesPipe, typeof i4.SelectTextDirective], [typeof i5.CommonModule, typeof i6.MatFormFieldModule, typeof i7.MatAutocompleteModule, typeof i8.MatInputModule, typeof i9.FormsModule, typeof i10.TagComponentModule, typeof i11.MatChipsModule, typeof i12.IconComponentModule, typeof i13.TranslocoModule], [typeof i1.AutocompleteComponent]>;
|
|
18
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<AutocompleteComponentModule>;
|
|
19
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export type AutocompleteType = 'single' | 'multi' | 'large';
|
|
2
|
+
export declare enum Autocomplete {
|
|
3
|
+
SINGLE = "single",
|
|
4
|
+
MULTI = "multi",
|
|
5
|
+
LARGE = "large"
|
|
6
|
+
}
|
|
7
|
+
export declare enum Padding {
|
|
8
|
+
AUTOCOMPLETE_CONTAINER = 80
|
|
9
|
+
}
|
|
10
|
+
export declare enum Timeout {
|
|
11
|
+
VIEW_INITIALIZED_AFTER_ACTION = 20,
|
|
12
|
+
VIEW_INITIALIZED_COMPONENT_LOAD = 600
|
|
13
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { PipeTransform } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
* The purpose of this pipe is to determine if the value is present in the values array.
|
|
5
|
+
* If values is an array, the method uses the includes method to check for inclusion.
|
|
6
|
+
* If values is not an array, it checks for strict equality between value and values.
|
|
7
|
+
*/
|
|
8
|
+
export declare class IncludesPipe implements PipeTransform {
|
|
9
|
+
transform(value: any, values: any): boolean;
|
|
10
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<IncludesPipe, never>;
|
|
11
|
+
static ɵpipe: i0.ɵɵPipeDeclaration<IncludesPipe, "includes", false>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { PipeTransform } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
* the TransformItemPipe is designed to selectively extract and return values from objects based on a specified field,
|
|
5
|
+
* providing a way to transform and display data a template.
|
|
6
|
+
*/
|
|
7
|
+
export declare class TransformItemPipe implements PipeTransform {
|
|
8
|
+
transform(value: any, field: string): any;
|
|
9
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TransformItemPipe, never>;
|
|
10
|
+
static ɵpipe: i0.ɵɵPipeDeclaration<TransformItemPipe, "transformItem", false>;
|
|
11
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { IconColor, IconName } from '../icon/icon.model';
|
|
2
|
+
import { BadgeColor, BadgeVariant, BadgeVariantEnum } from './badge.model';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class BadgeComponent {
|
|
5
|
+
/**
|
|
6
|
+
* The label to be displayed on the badge.
|
|
7
|
+
* @type {string}
|
|
8
|
+
* @memberof BadgeComponent
|
|
9
|
+
*/
|
|
10
|
+
label: string;
|
|
11
|
+
/**
|
|
12
|
+
* The icon name to be displayed on the badge.
|
|
13
|
+
* @type {IconName}
|
|
14
|
+
* @memberof BadgeComponent
|
|
15
|
+
*/
|
|
16
|
+
icon: IconName;
|
|
17
|
+
/**
|
|
18
|
+
* The color of the badge. Defaults to 'petrol'.
|
|
19
|
+
* @type {BadgeColor}
|
|
20
|
+
* @memberof BadgeComponent
|
|
21
|
+
*/
|
|
22
|
+
color: BadgeColor;
|
|
23
|
+
/**
|
|
24
|
+
* The variant of the badge. Defaults to 'notification'.
|
|
25
|
+
* @type {BadgeVariant}
|
|
26
|
+
* @memberof BadgeComponent
|
|
27
|
+
*/
|
|
28
|
+
variant: BadgeVariant;
|
|
29
|
+
/**
|
|
30
|
+
* The amount of notifications to be displayed on the badge.
|
|
31
|
+
* @type {number}
|
|
32
|
+
* @memberof BadgeComponent
|
|
33
|
+
*/
|
|
34
|
+
notificationsAmount: number;
|
|
35
|
+
protected badgeVariant: typeof BadgeVariantEnum;
|
|
36
|
+
private darkColors;
|
|
37
|
+
protected get iconColor(): IconColor;
|
|
38
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<BadgeComponent, never>;
|
|
39
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<BadgeComponent, "ui-badge", never, { "label": { "alias": "label"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "color": { "alias": "color"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "notificationsAmount": { "alias": "notificationsAmount"; "required": false; }; }, {}, never, never, false, never>;
|
|
40
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import * as i1 from "./badge.component";
|
|
3
|
+
import * as i2 from "@angular/common";
|
|
4
|
+
import * as i3 from "../icon/icon.component.module";
|
|
5
|
+
export declare class BadgeComponentModule {
|
|
6
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<BadgeComponentModule, never>;
|
|
7
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<BadgeComponentModule, [typeof i1.BadgeComponent], [typeof i2.CommonModule, typeof i3.IconComponentModule], [typeof i1.BadgeComponent]>;
|
|
8
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<BadgeComponentModule>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export type BadgeVariant = 'primary' | 'secondary' | 'notification';
|
|
2
|
+
export type BadgeColor = 'red' | 'grey-medium' | 'teal' | 'yellow' | 'petrol' | 'teal-60w' | 'petrol-90w' | 'petrol-60w' | 'grey-dark';
|
|
3
|
+
export declare enum BadgeColorEnum {
|
|
4
|
+
RED = "red",
|
|
5
|
+
GREY_MEDIUM = "grey-medium",
|
|
6
|
+
TEAL = "teal",
|
|
7
|
+
YELLOW = "yellow",
|
|
8
|
+
PETROL = "petrol",
|
|
9
|
+
TEAL_60W = "teal-60w",
|
|
10
|
+
PETROL_90W = "petrol-90w",
|
|
11
|
+
PETROL_60W = "petrol-60w",
|
|
12
|
+
GREY_DARK = "grey-dark"
|
|
13
|
+
}
|
|
14
|
+
export declare enum BadgeVariantEnum {
|
|
15
|
+
PRIMARY = "primary",
|
|
16
|
+
SECONDARY = "secondary",
|
|
17
|
+
NOTIFICATION = "notification"
|
|
18
|
+
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { EventEmitter, OnInit, SimpleChanges } from '@angular/core';
|
|
1
|
+
import { AfterViewInit, EventEmitter, OnInit, SimpleChanges } from '@angular/core';
|
|
2
2
|
import { IconName } from '../../components/icon/icon.model';
|
|
3
3
|
import { ButtonColor, ButtonIconPosition, ButtonSize, LinkUrlTarget } from './button.model';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
|
-
export declare class ButtonComponent implements OnInit {
|
|
5
|
+
export declare class ButtonComponent implements OnInit, AfterViewInit {
|
|
6
6
|
/**
|
|
7
7
|
* Define button height
|
|
8
8
|
*
|
|
@@ -80,6 +80,13 @@ export declare class ButtonComponent implements OnInit {
|
|
|
80
80
|
* @memberof ButtonComponent
|
|
81
81
|
*/
|
|
82
82
|
value?: string;
|
|
83
|
+
/**
|
|
84
|
+
* @property tooltip
|
|
85
|
+
* @description The tooltip that is displayed on hover. Required for icon-button type
|
|
86
|
+
* @type {string}
|
|
87
|
+
* @memberof ButtonComponent
|
|
88
|
+
*/
|
|
89
|
+
tooltip: string;
|
|
83
90
|
buttonClickEvent: EventEmitter<Event>;
|
|
84
91
|
buttonHoverEvent: EventEmitter<Event>;
|
|
85
92
|
constructor();
|
|
@@ -88,6 +95,7 @@ export declare class ButtonComponent implements OnInit {
|
|
|
88
95
|
isLabel: boolean;
|
|
89
96
|
ngOnInit(): void;
|
|
90
97
|
ngOnChanges(changes: SimpleChanges): void;
|
|
98
|
+
ngAfterViewInit(): void;
|
|
91
99
|
buttonClick(event: Event): void;
|
|
92
100
|
buttonHover(event: Event): void;
|
|
93
101
|
showLabel(): boolean;
|
|
@@ -95,5 +103,5 @@ export declare class ButtonComponent implements OnInit {
|
|
|
95
103
|
showSpinner(): boolean;
|
|
96
104
|
showButtonLink(): boolean;
|
|
97
105
|
static ɵfac: i0.ɵɵFactoryDeclaration<ButtonComponent, never>;
|
|
98
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ButtonComponent, "ui-button", never, { "size": { "alias": "size"; "required": false; }; "type": { "alias": "type"; "required": false; }; "label": { "alias": "label"; "required": false; }; "iconPosition": { "alias": "iconPosition"; "required": false; }; "justIcon": { "alias": "justIcon"; "required": false; }; "iconName": { "alias": "iconName"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "fullWidth": { "alias": "fullWidth"; "required": false; }; "url": { "alias": "url"; "required": false; }; "urlTarget": { "alias": "urlTarget"; "required": false; }; "value": { "alias": "value"; "required": false; }; }, { "buttonClickEvent": "buttonClickEvent"; "buttonHoverEvent": "buttonHoverEvent"; }, never, never, false, never>;
|
|
106
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ButtonComponent, "ui-button", never, { "size": { "alias": "size"; "required": false; }; "type": { "alias": "type"; "required": false; }; "label": { "alias": "label"; "required": false; }; "iconPosition": { "alias": "iconPosition"; "required": false; }; "justIcon": { "alias": "justIcon"; "required": false; }; "iconName": { "alias": "iconName"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "fullWidth": { "alias": "fullWidth"; "required": false; }; "url": { "alias": "url"; "required": false; }; "urlTarget": { "alias": "urlTarget"; "required": false; }; "value": { "alias": "value"; "required": false; }; "tooltip": { "alias": "tooltip"; "required": false; }; }, { "buttonClickEvent": "buttonClickEvent"; "buttonHoverEvent": "buttonHoverEvent"; }, never, never, false, never>;
|
|
99
107
|
}
|
|
@@ -4,8 +4,9 @@ import * as i2 from "@angular/common";
|
|
|
4
4
|
import * as i3 from "@angular/material/button";
|
|
5
5
|
import * as i4 from "../icon/icon.component.module";
|
|
6
6
|
import * as i5 from "@angular/material/progress-spinner";
|
|
7
|
+
import * as i6 from "@angular/material/tooltip";
|
|
7
8
|
export declare class ButtonComponentModule {
|
|
8
9
|
static ɵfac: i0.ɵɵFactoryDeclaration<ButtonComponentModule, never>;
|
|
9
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<ButtonComponentModule, [typeof i1.ButtonComponent], [typeof i2.CommonModule, typeof i3.MatButtonModule, typeof i4.IconComponentModule, typeof i5.MatProgressSpinnerModule], [typeof i1.ButtonComponent]>;
|
|
10
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<ButtonComponentModule, [typeof i1.ButtonComponent], [typeof i2.CommonModule, typeof i3.MatButtonModule, typeof i4.IconComponentModule, typeof i5.MatProgressSpinnerModule, typeof i6.MatTooltipModule], [typeof i1.ButtonComponent]>;
|
|
10
11
|
static ɵinj: i0.ɵɵInjectorDeclaration<ButtonComponentModule>;
|
|
11
12
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export type ButtonIconPosition = 'left' | 'right';
|
|
2
|
-
export type ButtonColor = 'primary' | 'secondary' | 'outlined' | 'destructive' | 'tertiary' | 'link' | 'tab' | 'text' | 'menuTrigger' | 'menuCell';
|
|
2
|
+
export type ButtonColor = 'primary' | 'secondary' | 'outlined' | 'destructive' | 'tertiary' | 'link' | 'tab' | 'text' | 'menuTrigger' | 'menuCell' | 'icon-button';
|
|
3
3
|
export type ButtonSize = 'big' | 'small';
|
|
4
4
|
export type LinkUrlTarget = '' | '_self' | '_blank' | '_parent' | '_top';
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { EventEmitter } from '@angular/core';
|
|
2
|
+
import { IconName } from '../icon/icon.model';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class StepComponent {
|
|
5
|
+
/**
|
|
6
|
+
* Input property for the label of the step.
|
|
7
|
+
*
|
|
8
|
+
* @memberof StepComponent
|
|
9
|
+
*/
|
|
10
|
+
label: string;
|
|
11
|
+
/**
|
|
12
|
+
* Input property indicating whether the step has been visited.
|
|
13
|
+
*
|
|
14
|
+
* @memberof StepComponent
|
|
15
|
+
*/
|
|
16
|
+
isVisited: boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Input property indicating whether the form has been submitted.
|
|
19
|
+
*
|
|
20
|
+
* @memberof StepComponent
|
|
21
|
+
*/
|
|
22
|
+
submitted: boolean;
|
|
23
|
+
/**
|
|
24
|
+
* Input property for the icon associated with the step.
|
|
25
|
+
*
|
|
26
|
+
* @memberof StepComponent
|
|
27
|
+
*/
|
|
28
|
+
icon: IconName | undefined;
|
|
29
|
+
/**
|
|
30
|
+
* Input property for the index of the step.
|
|
31
|
+
*
|
|
32
|
+
* @memberof StepComponent
|
|
33
|
+
*/
|
|
34
|
+
index: number;
|
|
35
|
+
/**
|
|
36
|
+
* Input property indicating whether the step is currently selected.
|
|
37
|
+
*
|
|
38
|
+
* @memberof StepComponent
|
|
39
|
+
*/
|
|
40
|
+
selected: boolean;
|
|
41
|
+
/**
|
|
42
|
+
* Input property indicating whether the step is the last step in the stepper.
|
|
43
|
+
*
|
|
44
|
+
* @memberof StepComponent
|
|
45
|
+
*/
|
|
46
|
+
isLast: boolean;
|
|
47
|
+
/**
|
|
48
|
+
* Input property indicating the selected index in the stepper.
|
|
49
|
+
*
|
|
50
|
+
* @memberof StepComponent
|
|
51
|
+
*/
|
|
52
|
+
selectedIndex: number;
|
|
53
|
+
/**
|
|
54
|
+
* Input property indicating whether the step is disabled.
|
|
55
|
+
*
|
|
56
|
+
* @memberof StepComponent
|
|
57
|
+
*/
|
|
58
|
+
disabled: boolean;
|
|
59
|
+
/**
|
|
60
|
+
* Input property indicating whether the previous step has been visited.
|
|
61
|
+
*
|
|
62
|
+
* @memberof StepComponent
|
|
63
|
+
*/
|
|
64
|
+
prevStepIsVisited: boolean | undefined;
|
|
65
|
+
/**
|
|
66
|
+
* Input property indicating whether the component is in mobile mode.
|
|
67
|
+
*
|
|
68
|
+
* @memberof StepComponent
|
|
69
|
+
*/
|
|
70
|
+
mobileMode: boolean;
|
|
71
|
+
/**
|
|
72
|
+
* Input property indicating whether the final icon should be displayed.
|
|
73
|
+
*
|
|
74
|
+
* @memberof StepComponent
|
|
75
|
+
*/
|
|
76
|
+
finalIcon: boolean;
|
|
77
|
+
/**
|
|
78
|
+
* Input property indicating to display icon when step is selected.
|
|
79
|
+
*
|
|
80
|
+
* @memberof StepComponent
|
|
81
|
+
*/
|
|
82
|
+
showIconWhenSelected: boolean;
|
|
83
|
+
/**
|
|
84
|
+
* Event emitted when the step was clicked.
|
|
85
|
+
* @type {number}
|
|
86
|
+
* @memberof StepComponent
|
|
87
|
+
*/
|
|
88
|
+
stepSelected: EventEmitter<number>;
|
|
89
|
+
protected get hasLastStepDefaultIcon(): boolean;
|
|
90
|
+
protected onStepSelected(index: number): void;
|
|
91
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<StepComponent, never>;
|
|
92
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<StepComponent, "ui-step", never, { "label": { "alias": "label"; "required": false; }; "isVisited": { "alias": "isVisited"; "required": false; }; "submitted": { "alias": "submitted"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "index": { "alias": "index"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; "isLast": { "alias": "isLast"; "required": false; }; "selectedIndex": { "alias": "selectedIndex"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "prevStepIsVisited": { "alias": "prevStepIsVisited"; "required": false; }; "mobileMode": { "alias": "mobileMode"; "required": false; }; "finalIcon": { "alias": "finalIcon"; "required": false; }; "showIconWhenSelected": { "alias": "showIconWhenSelected"; "required": false; }; }, { "stepSelected": "stepSelected"; }, never, never, false, never>;
|
|
93
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import * as i1 from "./step.component";
|
|
3
|
+
import * as i2 from "@angular/common";
|
|
4
|
+
import * as i3 from "../icon/icon.component.module";
|
|
5
|
+
export declare class StepComponentModule {
|
|
6
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<StepComponentModule, never>;
|
|
7
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<StepComponentModule, [typeof i1.StepComponent], [typeof i2.CommonModule, typeof i3.IconComponentModule], [typeof i1.StepComponent]>;
|
|
8
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<StepComponentModule>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { EventEmitter, OnChanges } from '@angular/core';
|
|
2
|
+
import { Step } from './stepper.model';
|
|
3
|
+
import { Observable } from 'rxjs';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class StepperComponent implements OnChanges {
|
|
6
|
+
protected readonly isMobile$: Observable<boolean>;
|
|
7
|
+
/**
|
|
8
|
+
* Input property to set the steps for the stepper.
|
|
9
|
+
* The first step will be marked as visited automatically.
|
|
10
|
+
*
|
|
11
|
+
* @memberof StepperComponent
|
|
12
|
+
*/
|
|
13
|
+
set steps(itemSteps: Step[]);
|
|
14
|
+
/**
|
|
15
|
+
* Input property to set the selected index of the stepper.
|
|
16
|
+
* Default value is 0.
|
|
17
|
+
*
|
|
18
|
+
* @memberof StepperComponent
|
|
19
|
+
*/
|
|
20
|
+
selectedIndex: number;
|
|
21
|
+
/**
|
|
22
|
+
* Input property indicating whether the final icon should be displayed.
|
|
23
|
+
* Default value is false.
|
|
24
|
+
*
|
|
25
|
+
* @memberof StepperComponent
|
|
26
|
+
*/
|
|
27
|
+
lastStepFinalIcon: boolean;
|
|
28
|
+
selectionChange: EventEmitter<{
|
|
29
|
+
selectedIndex: number;
|
|
30
|
+
previousIndex: number;
|
|
31
|
+
step: Step;
|
|
32
|
+
}>;
|
|
33
|
+
private isOpened;
|
|
34
|
+
protected itemSteps: Step[];
|
|
35
|
+
protected progressValue: number;
|
|
36
|
+
protected translationContext: string;
|
|
37
|
+
get isOpen(): boolean;
|
|
38
|
+
set isOpen(value: boolean);
|
|
39
|
+
constructor(isMobile$: Observable<boolean>);
|
|
40
|
+
ngOnChanges(): void;
|
|
41
|
+
protected onSelect(changedIndex: number, step: Step): void;
|
|
42
|
+
protected showStepsToggle(): void;
|
|
43
|
+
protected onCloseStepList(): void;
|
|
44
|
+
protected setProgressBar(selectedIndex: number): void;
|
|
45
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<StepperComponent, never>;
|
|
46
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<StepperComponent, "ui-stepper", never, { "steps": { "alias": "steps"; "required": false; }; "selectedIndex": { "alias": "selectedIndex"; "required": false; }; "lastStepFinalIcon": { "alias": "lastStepFinalIcon"; "required": false; }; }, { "selectionChange": "selectionChange"; }, never, never, false, never>;
|
|
47
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import * as i1 from "./stepper.component";
|
|
3
|
+
import * as i2 from "../../directives/step-line-width.directive";
|
|
4
|
+
import * as i3 from "@angular/common";
|
|
5
|
+
import * as i4 from "../icon/icon.component.module";
|
|
6
|
+
import * as i5 from "../step/step.component.module";
|
|
7
|
+
import * as i6 from "@angular/material/progress-spinner";
|
|
8
|
+
import * as i7 from "@ngneat/transloco";
|
|
9
|
+
export declare class StepperComponentModule {
|
|
10
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<StepperComponentModule, never>;
|
|
11
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<StepperComponentModule, [typeof i1.StepperComponent, typeof i2.StepLineWidthDirective], [typeof i3.CommonModule, typeof i4.IconComponentModule, typeof i5.StepComponentModule, typeof i6.MatProgressSpinnerModule, typeof i7.TranslocoModule], [typeof i1.StepperComponent]>;
|
|
12
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<StepperComponentModule>;
|
|
13
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { IconName } from '../icon/icon.model';
|
|
2
|
+
export interface Step {
|
|
3
|
+
label: string;
|
|
4
|
+
isVisited?: boolean;
|
|
5
|
+
iconName?: IconName;
|
|
6
|
+
disabled?: boolean;
|
|
7
|
+
submitted?: boolean;
|
|
8
|
+
showIconWhenSelected?: boolean;
|
|
9
|
+
}
|
|
10
|
+
export declare enum ScreenBreakpoints {
|
|
11
|
+
MOBILE = 600
|
|
12
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ElementRef, OnChanges } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
* the SelectTextDirective provides a dynamic way to highlight or style specific text within an element.
|
|
5
|
+
*/
|
|
6
|
+
export declare class SelectTextDirective implements OnChanges {
|
|
7
|
+
private el;
|
|
8
|
+
selectText: string | null;
|
|
9
|
+
constructor(el: ElementRef);
|
|
10
|
+
/**
|
|
11
|
+
* this method utilizes setTimeout to defer the execution until the next tick of the event loop.
|
|
12
|
+
* The text content of the element is modified by wrapping occurrences of the specified selectText with a <span> element,
|
|
13
|
+
* applying a bold font-weight style.
|
|
14
|
+
*/
|
|
15
|
+
private setTextColor;
|
|
16
|
+
ngOnChanges(): void;
|
|
17
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SelectTextDirective, never>;
|
|
18
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<SelectTextDirective, "[selectText]", never, { "selectText": { "alias": "selectText"; "required": false; }; }, {}, never, never, false, never>;
|
|
19
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ElementRef, OnChanges } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
* Directive is used to draw lines between steps
|
|
5
|
+
*/
|
|
6
|
+
export declare class StepLineWidthDirective implements OnChanges {
|
|
7
|
+
private el;
|
|
8
|
+
stepLineWidth: HTMLElement;
|
|
9
|
+
resize(): void;
|
|
10
|
+
constructor(el: ElementRef);
|
|
11
|
+
setSize(): void;
|
|
12
|
+
ngOnChanges(): void;
|
|
13
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<StepLineWidthDirective, never>;
|
|
14
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<StepLineWidthDirective, "[stepLineWidth]", never, { "stepLineWidth": { "alias": "stepLineWidth"; "required": false; }; }, {}, never, never, false, never>;
|
|
15
|
+
}
|
|
@@ -63,7 +63,7 @@ export class AlertBannerComponent {
|
|
|
63
63
|
this.visible = false;
|
|
64
64
|
}
|
|
65
65
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AlertBannerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
66
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AlertBannerComponent, selector: "ui-alert-banner", inputs: { alertType: "alertType", message: "message", includeDismissButton: "includeDismissButton", fixed: "fixed", fullWidth: "fullWidth", linkText: "linkText", linkUrl: "linkUrl", linkTarget: "linkTarget" }, ngImport: i0, template: "<div [ngClass]=\"cssClass\" [@openClose] *ngIf=\"visible\" class=\"alert-container\">\n <div class=\"alert-text\">\n <ui-icon [name]=\"iconName\" size=\"24\"></ui-icon>\n {{ message }}\n <a *ngIf=\"!!linkText\" [target]=\"linkTarget\" [href]=\"linkUrl\">{{ linkText }}</a>\n </div>\n <ui-button\n *ngIf=\"includeDismissButton\"\n type=\"text\"\n [justIcon]=\"true\"\n class=\"close\"\n iconName=\"Close\"\n (buttonClickEvent)=\"dismissClick()\"\n ></ui-button>\n</div>\n", styles: [":host{display:flex;width:100%;justify-content:center}:host .snackbar-container{max-width:600px}:host .alert-container,:host .snackbar-container{margin:0 auto;display:flex;padding:0 14px;border-radius:4px;align-items:center;justify-content:space-between;opacity:1;min-height:48px}:host .alert-container.fixed,:host .snackbar-container.fixed{position:fixed}:host .alert-container.static,:host .snackbar-container.static{position:relative}:host .alert-container ui-icon,:host .snackbar-container ui-icon{margin-right:14px}:host .alert-container ui-button,:host .snackbar-container ui-button{margin-left:14px}:host .alert-container ::ng-deep button.mat-mdc-unelevated-button.big,:host .snackbar-container ::ng-deep button.mat-mdc-unelevated-button.big{padding:0;min-width:auto}:host .alert-container .alert-text,:host .alert-container .snackbar-text,:host .snackbar-container .alert-text,:host .snackbar-container .snackbar-text{display:flex;align-items:center;color:#000}:host .alert-container .alert-text a,:host .alert-container .snackbar-text a,:host .snackbar-container .alert-text a,:host .snackbar-container .snackbar-text a{color:#000;text-decoration:underline;font-weight:700}:host .alert-container .alert-text a:hover,:host .alert-container .alert-text a:visited,:host .alert-container .alert-text a:focus,:host .alert-container .snackbar-text a:hover,:host .alert-container .snackbar-text a:visited,:host .alert-container .snackbar-text a:focus,:host .snackbar-container .alert-text a:hover,:host .snackbar-container .alert-text a:visited,:host .snackbar-container .alert-text a:focus,:host .snackbar-container .snackbar-text a:hover,:host .snackbar-container .snackbar-text a:visited,:host .snackbar-container .snackbar-text a:focus{text-decoration:none}:host .alert-container.success,:host .snackbar-container.success{background-color:#cbd6cb}:host .alert-container.info,:host .snackbar-container.info{background-color:#c8d7de}:host .alert-container.warning,:host .snackbar-container.warning{background-color:#f0d6bb}:host .alert-container.error,:host .snackbar-container.error{background-color:#e3c3c6}@media (max-width: 600px){:host .alert-container,:host .snackbar-container{padding:8px 14px}}:host .alert-container.fixed{top:0;z-index:98}:host .alert-container.full-width{width:100%;min-width:100%}:host .alert-container a{margin-left:7px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.ButtonComponent, selector: "ui-button", inputs: ["size", "type", "label", "iconPosition", "justIcon", "iconName", "disabled", "loading", "fullWidth", "url", "urlTarget", "value"], outputs: ["buttonClickEvent", "buttonHoverEvent"] }, { kind: "component", type: i3.IconComponent, selector: "ui-icon", inputs: ["size", "cssClass", "name", "color"] }], animations: [
|
|
66
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AlertBannerComponent, selector: "ui-alert-banner", inputs: { alertType: "alertType", message: "message", includeDismissButton: "includeDismissButton", fixed: "fixed", fullWidth: "fullWidth", linkText: "linkText", linkUrl: "linkUrl", linkTarget: "linkTarget" }, ngImport: i0, template: "<div [ngClass]=\"cssClass\" [@openClose] *ngIf=\"visible\" class=\"alert-container\">\n <div class=\"alert-text\">\n <ui-icon [name]=\"iconName\" size=\"24\"></ui-icon>\n {{ message }}\n <a *ngIf=\"!!linkText\" [target]=\"linkTarget\" [href]=\"linkUrl\">{{ linkText }}</a>\n </div>\n <ui-button\n *ngIf=\"includeDismissButton\"\n type=\"text\"\n [justIcon]=\"true\"\n class=\"close\"\n iconName=\"Close\"\n (buttonClickEvent)=\"dismissClick()\"\n ></ui-button>\n</div>\n", styles: [":host{display:flex;width:100%;justify-content:center}:host .snackbar-container{max-width:600px}:host .alert-container,:host .snackbar-container{margin:0 auto;display:flex;padding:0 14px;border-radius:4px;align-items:center;justify-content:space-between;opacity:1;min-height:48px}:host .alert-container.fixed,:host .snackbar-container.fixed{position:fixed}:host .alert-container.static,:host .snackbar-container.static{position:relative}:host .alert-container ui-icon,:host .snackbar-container ui-icon{margin-right:14px}:host .alert-container ui-button,:host .snackbar-container ui-button{margin-left:14px}:host .alert-container ::ng-deep button.mat-mdc-unelevated-button.big,:host .snackbar-container ::ng-deep button.mat-mdc-unelevated-button.big{padding:0;min-width:auto}:host .alert-container .alert-text,:host .alert-container .snackbar-text,:host .snackbar-container .alert-text,:host .snackbar-container .snackbar-text{display:flex;align-items:center;color:#000}:host .alert-container .alert-text a,:host .alert-container .snackbar-text a,:host .snackbar-container .alert-text a,:host .snackbar-container .snackbar-text a{color:#000;text-decoration:underline;font-weight:700}:host .alert-container .alert-text a:hover,:host .alert-container .alert-text a:visited,:host .alert-container .alert-text a:focus,:host .alert-container .snackbar-text a:hover,:host .alert-container .snackbar-text a:visited,:host .alert-container .snackbar-text a:focus,:host .snackbar-container .alert-text a:hover,:host .snackbar-container .alert-text a:visited,:host .snackbar-container .alert-text a:focus,:host .snackbar-container .snackbar-text a:hover,:host .snackbar-container .snackbar-text a:visited,:host .snackbar-container .snackbar-text a:focus{text-decoration:none}:host .alert-container.success,:host .snackbar-container.success{background-color:#cbd6cb}:host .alert-container.info,:host .snackbar-container.info{background-color:#c8d7de}:host .alert-container.warning,:host .snackbar-container.warning{background-color:#f0d6bb}:host .alert-container.error,:host .snackbar-container.error{background-color:#e3c3c6}@media (max-width: 600px){:host .alert-container,:host .snackbar-container{padding:8px 14px}}:host .alert-container.fixed{top:0;z-index:98}:host .alert-container.full-width{width:100%;min-width:100%}:host .alert-container a{margin-left:7px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.ButtonComponent, selector: "ui-button", inputs: ["size", "type", "label", "iconPosition", "justIcon", "iconName", "disabled", "loading", "fullWidth", "url", "urlTarget", "value", "tooltip"], outputs: ["buttonClickEvent", "buttonHoverEvent"] }, { kind: "component", type: i3.IconComponent, selector: "ui-icon", inputs: ["size", "cssClass", "name", "color"] }], animations: [
|
|
67
67
|
trigger('openClose', [
|
|
68
68
|
transition(':enter', [animate('0.2s ease-out', style({ opacity: 1 }))]),
|
|
69
69
|
transition(':leave', [animate('0.2s ease-in', style({ opacity: 0 }))]),
|
|
@@ -95,4 +95,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
95
95
|
}], linkTarget: [{
|
|
96
96
|
type: Input
|
|
97
97
|
}] } });
|
|
98
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQtYmFubmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2FsZXJ0LWJhbm5lci9hbGVydC1iYW5uZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYWxlcnQtYmFubmVyL2FsZXJ0LWJhbm5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDMUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFHbEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7OztBQWU3RCxNQUFNLE9BQU8sb0JBQW9CO0lBQy9CO1FBRUE7Ozs7O1dBS0c7UUFDTSxjQUFTLEdBQWlCLFNBQVMsQ0FBQztRQUU3Qzs7OztXQUlHO1FBQ00sWUFBTyxHQUFHLEVBQUUsQ0FBQztRQUV0Qjs7OztXQUlHO1FBQ00seUJBQW9CLEdBQUcsSUFBSSxDQUFDO1FBRXJDOzs7O1dBSUc7UUFDTSxVQUFLLEdBQUcsS0FBSyxDQUFDO1FBRXZCOzs7O1dBSUc7UUFDTSxjQUFTLEdBQUcsSUFBSSxDQUFDO1FBRTFCOzs7O1dBSUc7UUFDTSxhQUFRLEdBQUksRUFBRSxDQUFDO1FBU3hCOzs7OztXQUtHO1FBQ00sZUFBVSxHQUFvQixRQUFRLENBQUM7UUFHaEQsWUFBTyxHQUFHLElBQUksQ0FBQztJQTdEQSxDQUFDO0lBaUVoQixRQUFRO1FBQ04sSUFBSSxDQUFDLFFBQVEsR0FBRyxhQUFhLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN0RCxJQUFJLENBQUMsUUFBUSxHQUFHLGFBQWEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxRQUFRLEdBQUcsYUFBYSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzNGLENBQUM7SUFFRCw4Q0FBOEM7SUFDOUMsWUFBWTtRQUNWLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ3ZCLENBQUM7K0dBM0VVLG9CQUFvQjttR0FBcEIsb0JBQW9CLHlRQ25CakMsdWZBZUEscTZGREpjO1lBQ1YsT0FBTyxDQUFDLFdBQVcsRUFBRTtnQkFDbkIsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDLE9BQU8sQ0FBQyxlQUFlLEVBQUUsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUN2RSxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDdkUsQ0FBQztTQUNIOzs0RkFHVSxvQkFBb0I7a0JBWmhDLFNBQVM7K0JBQ0UsaUJBQWlCLGNBR2Y7d0JBQ1YsT0FBTyxDQUFDLFdBQVcsRUFBRTs0QkFDbkIsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDLE9BQU8sQ0FBQyxlQUFlLEVBQUUsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDOzRCQUN2RSxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7eUJBQ3ZFLENBQUM7cUJBQ0gsbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU07MEVBV3RDLFNBQVM7c0JBQWpCLEtBQUs7Z0JBT0csT0FBTztzQkFBZixLQUFLO2dCQU9HLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFPRyxLQUFLO3NCQUFiLEtBQUs7Z0JBT0csU0FBUztzQkFBakIsS0FBSztnQkFPRyxRQUFRO3NCQUFoQixLQUFLO2dCQU9HLE9BQU87c0JBQWYsS0FBSztnQkFRRyxVQUFVO3NCQUFsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYW5pbWF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEljb25OYW1lIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9pY29uL2ljb24ubW9kZWwnO1xuaW1wb3J0IHsgQWxlcnRCYXJUeXBlIH0gZnJvbSAnLi4vLi4vdXRpbHMvYWxlcnQtYmFyLm1vZGVsJztcbmltcG9ydCB7IGFsZXJ0QmFyc1V0aWwgfSBmcm9tICcuLi8uLi91dGlscy9hbGVydC1iYXJzLnV0aWxzJztcbmltcG9ydCB7IExpbmtUYXJnZXRUeXBlIH0gZnJvbSAnLi9hbGVydC1iYW5uZXIubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd1aS1hbGVydC1iYW5uZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vYWxlcnQtYmFubmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYWxlcnQtYmFubmVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGFuaW1hdGlvbnM6IFtcbiAgICB0cmlnZ2VyKCdvcGVuQ2xvc2UnLCBbXG4gICAgICB0cmFuc2l0aW9uKCc6ZW50ZXInLCBbYW5pbWF0ZSgnMC4ycyBlYXNlLW91dCcsIHN0eWxlKHsgb3BhY2l0eTogMSB9KSldKSxcbiAgICAgIHRyYW5zaXRpb24oJzpsZWF2ZScsIFthbmltYXRlKCcwLjJzIGVhc2UtaW4nLCBzdHlsZSh7IG9wYWNpdHk6IDAgfSkpXSksXG4gICAgXSksXG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBBbGVydEJhbm5lckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGNvbnN0cnVjdG9yKCkge31cblxuICAvKipcbiAgICogQWxlcnQgQmFubmVyIHR5cGVcbiAgICpcbiAgICogQHR5cGUge0FsZXJ0QmFyVHlwZX1cbiAgICogQG1lbWJlcm9mIEFsZXJ0QmFubmVyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBhbGVydFR5cGU6IEFsZXJ0QmFyVHlwZSA9ICdzdWNjZXNzJztcblxuICAvKipcbiAgICogQWxlcnQgYmFubmVyIG1lc3NhZ2VcbiAgICpcbiAgICogQG1lbWJlcm9mIEFsZXJ0QmFubmVyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBtZXNzYWdlID0gJyc7XG5cbiAgLyoqXG4gICAqIEluY2x1ZGUgZGlzbW1pc3MgYnV0dG9uXG4gICAqXG4gICAqIEBtZW1iZXJvZiBBbGVydEJhbm5lckNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgaW5jbHVkZURpc21pc3NCdXR0b24gPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBTdGF0aWMgb3IgZml4ZWQgcG9zaXRpb25cbiAgICpcbiAgICogQG1lbWJlcm9mIEFsZXJ0QmFubmVyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBmaXhlZCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBGdWxsIHdpZHRoIGZvciBhbGVydCBiYW5uZXJcbiAgICpcbiAgICogQG1lbWJlcm9mIEFsZXJ0QmFubmVyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBmdWxsV2lkdGggPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBMaW5rIHRleHQgdGhhdCB3aWxsIGFwcGVuZGVkIGF0IHRoZSBlbmQgb2YgbWVzc2FnZVxuICAgKlxuICAgKiBAbWVtYmVyb2YgQWxlcnRCYW5uZXJDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGxpbmtUZXh0PyA9ICcnO1xuXG4gIC8qKlxuICAgKiBMaW5rIHVybFxuICAgKlxuICAgKiBAbWVtYmVyb2YgQWxlcnRCYW5uZXJDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGxpbmtVcmw/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIExpbmsgdGFyZ2V0XG4gICAqXG4gICAqIEB0eXBlIHtAdHlwZSB7TGlua1RhcmdldFR5cGV9fVxuICAgKiBAbWVtYmVyb2YgQWxlcnRCYW5uZXJDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGxpbmtUYXJnZXQ/OiBMaW5rVGFyZ2V0VHlwZSA9ICdfYmxhbmsnO1xuXG4gIGljb25OYW1lOiBJY29uTmFtZTtcbiAgdmlzaWJsZSA9IHRydWU7XG4gIHBvc2l0aW9uOiBzdHJpbmc7XG4gIGNzc0NsYXNzOiBzdHJpbmc7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pY29uTmFtZSA9IGFsZXJ0QmFyc1V0aWwuc2V0SWNvbih0aGlzLmFsZXJ0VHlwZSk7XG4gICAgdGhpcy5wb3NpdGlvbiA9IGFsZXJ0QmFyc1V0aWwuc2V0UG9zaXRpb24odGhpcy5maXhlZCk7XG4gICAgdGhpcy5jc3NDbGFzcyA9IGFsZXJ0QmFyc1V0aWwuc2V0Q3NzQ2xhc3ModGhpcy5mdWxsV2lkdGgsIHRoaXMuYWxlcnRUeXBlLCB0aGlzLnBvc2l0aW9uKTtcbiAgfVxuXG4gIC8vSGlkZSBzbmFja2JhciB3aGVuIGRpc21pc3MgYnV0dG9uIGlzIGNsaWNrZWRcbiAgZGlzbWlzc0NsaWNrKCkge1xuICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICB9XG59XG4iLCI8ZGl2IFtuZ0NsYXNzXT1cImNzc0NsYXNzXCIgW0BvcGVuQ2xvc2VdICpuZ0lmPVwidmlzaWJsZVwiIGNsYXNzPVwiYWxlcnQtY29udGFpbmVyXCI+XG4gIDxkaXYgY2xhc3M9XCJhbGVydC10ZXh0XCI+XG4gICAgPHVpLWljb24gW25hbWVdPVwiaWNvbk5hbWVcIiBzaXplPVwiMjRcIj48L3VpLWljb24+XG4gICAge3sgbWVzc2FnZSB9fVxuICAgIDxhICpuZ0lmPVwiISFsaW5rVGV4dFwiIFt0YXJnZXRdPVwibGlua1RhcmdldFwiIFtocmVmXT1cImxpbmtVcmxcIj57eyBsaW5rVGV4dCB9fTwvYT5cbiAgPC9kaXY+XG4gIDx1aS1idXR0b25cbiAgICAqbmdJZj1cImluY2x1ZGVEaXNtaXNzQnV0dG9uXCJcbiAgICB0eXBlPVwidGV4dFwiXG4gICAgW2p1c3RJY29uXT1cInRydWVcIlxuICAgIGNsYXNzPVwiY2xvc2VcIlxuICAgIGljb25OYW1lPVwiQ2xvc2VcIlxuICAgIChidXR0b25DbGlja0V2ZW50KT1cImRpc21pc3NDbGljaygpXCJcbiAgPjwvdWktYnV0dG9uPlxuPC9kaXY+XG4iXX0=
|