@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.
Files changed (57) hide show
  1. package/components/autocomplete/autocomplete.component.d.ts +107 -0
  2. package/components/autocomplete/autocomplete.component.module.d.ts +19 -0
  3. package/components/autocomplete/autocomplete.model.d.ts +13 -0
  4. package/components/autocomplete/includes.pipe.d.ts +12 -0
  5. package/components/autocomplete/transform-Item.pipe.d.ts +11 -0
  6. package/components/badge/badge.component.d.ts +40 -0
  7. package/components/badge/badge.component.module.d.ts +9 -0
  8. package/components/badge/badge.model.d.ts +18 -0
  9. package/components/button/button.component.d.ts +11 -3
  10. package/components/button/button.component.module.d.ts +2 -1
  11. package/components/button/button.model.d.ts +1 -1
  12. package/components/step/step.component.d.ts +93 -0
  13. package/components/step/step.component.module.d.ts +9 -0
  14. package/components/stepper/providers/is-mobile.d.ts +2 -0
  15. package/components/stepper/stepper.component.d.ts +47 -0
  16. package/components/stepper/stepper.component.module.d.ts +13 -0
  17. package/components/stepper/stepper.model.d.ts +12 -0
  18. package/directives/select-text.directive.d.ts +19 -0
  19. package/directives/step-line-width.directive.d.ts +15 -0
  20. package/esm2022/components/alert-banner/alert-banner.component.mjs +2 -2
  21. package/esm2022/components/autocomplete/autocomplete.component.mjs +302 -0
  22. package/esm2022/components/autocomplete/autocomplete.component.module.mjs +81 -0
  23. package/esm2022/components/autocomplete/autocomplete.model.mjs +16 -0
  24. package/esm2022/components/autocomplete/includes.pipe.mjs +21 -0
  25. package/esm2022/components/autocomplete/transform-Item.pipe.mjs +29 -0
  26. package/esm2022/components/badge/badge.component.mjs +66 -0
  27. package/esm2022/components/badge/badge.component.module.mjs +19 -0
  28. package/esm2022/components/badge/badge.model.mjs +19 -0
  29. package/esm2022/components/banner-action/banner-action.component.mjs +1 -1
  30. package/esm2022/components/button/button.component.mjs +19 -4
  31. package/esm2022/components/button/button.component.module.mjs +5 -4
  32. package/esm2022/components/button/button.model.mjs +1 -1
  33. package/esm2022/components/create-account/create-account.component.mjs +1 -1
  34. package/esm2022/components/create-password/create-password.component.mjs +1 -1
  35. package/esm2022/components/dialog/dialog.component.mjs +1 -1
  36. package/esm2022/components/dropdown/dropdown.component.mjs +1 -1
  37. package/esm2022/components/field/field.component.mjs +1 -1
  38. package/esm2022/components/forgot-password/forgot-password.component.mjs +1 -1
  39. package/esm2022/components/login/login.component.mjs +1 -1
  40. package/esm2022/components/snackbar/snackbar.component.mjs +2 -2
  41. package/esm2022/components/step/step.component.mjs +91 -0
  42. package/esm2022/components/step/step.component.module.mjs +19 -0
  43. package/esm2022/components/stepper/providers/is-mobile.mjs +11 -0
  44. package/esm2022/components/stepper/stepper.component.mjs +91 -0
  45. package/esm2022/components/stepper/stepper.component.module.mjs +43 -0
  46. package/esm2022/components/stepper/stepper.model.mjs +5 -0
  47. package/esm2022/directives/select-text.directive.mjs +41 -0
  48. package/esm2022/directives/step-line-width.directive.mjs +38 -0
  49. package/esm2022/public-api.mjs +12 -1
  50. package/esm2022/utils/autocomplete-utils.mjs +61 -0
  51. package/fesm2022/testgorilla-tgo-ui.mjs +920 -34
  52. package/fesm2022/testgorilla-tgo-ui.mjs.map +1 -1
  53. package/package.json +5 -2
  54. package/public-api.d.ts +8 -0
  55. package/src/assets/i18n/en.json +12 -1
  56. package/src/assets/images/step-finish.svg +6 -0
  57. 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,2 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ export declare const IS_MOBILE_TOKEN: InjectionToken<import("rxjs").Observable<boolean>>;
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQtYmFubmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2FsZXJ0LWJhbm5lci9hbGVydC1iYW5uZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYWxlcnQtYmFubmVyL2FsZXJ0LWJhbm5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDMUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFHbEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7OztBQWU3RCxNQUFNLE9BQU8sb0JBQW9CO0lBQy9CO1FBRUE7Ozs7O1dBS0c7UUFDTSxjQUFTLEdBQWlCLFNBQVMsQ0FBQztRQUU3Qzs7OztXQUlHO1FBQ00sWUFBTyxHQUFHLEVBQUUsQ0FBQztRQUV0Qjs7OztXQUlHO1FBQ00seUJBQW9CLEdBQUcsSUFBSSxDQUFDO1FBRXJDOzs7O1dBSUc7UUFDTSxVQUFLLEdBQUcsS0FBSyxDQUFDO1FBRXZCOzs7O1dBSUc7UUFDTSxjQUFTLEdBQUcsSUFBSSxDQUFDO1FBRTFCOzs7O1dBSUc7UUFDTSxhQUFRLEdBQUksRUFBRSxDQUFDO1FBU3hCOzs7OztXQUtHO1FBQ00sZUFBVSxHQUFvQixRQUFRLENBQUM7UUFHaEQsWUFBTyxHQUFHLElBQUksQ0FBQztJQTdEQSxDQUFDO0lBaUVoQixRQUFRO1FBQ04sSUFBSSxDQUFDLFFBQVEsR0FBRyxhQUFhLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN0RCxJQUFJLENBQUMsUUFBUSxHQUFHLGFBQWEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxRQUFRLEdBQUcsYUFBYSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzNGLENBQUM7SUFFRCw4Q0FBOEM7SUFDOUMsWUFBWTtRQUNWLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ3ZCLENBQUM7K0dBM0VVLG9CQUFvQjttR0FBcEIsb0JBQW9CLHlRQ25CakMsdWZBZUEsMDVGREpjO1lBQ1YsT0FBTyxDQUFDLFdBQVcsRUFBRTtnQkFDbkIsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDLE9BQU8sQ0FBQyxlQUFlLEVBQUUsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUN2RSxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDdkUsQ0FBQztTQUNIOzs0RkFHVSxvQkFBb0I7a0JBWmhDLFNBQVM7K0JBQ0UsaUJBQWlCLGNBR2Y7d0JBQ1YsT0FBTyxDQUFDLFdBQVcsRUFBRTs0QkFDbkIsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDLE9BQU8sQ0FBQyxlQUFlLEVBQUUsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDOzRCQUN2RSxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7eUJBQ3ZFLENBQUM7cUJBQ0gsbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU07MEVBV3RDLFNBQVM7c0JBQWpCLEtBQUs7Z0JBT0csT0FBTztzQkFBZixLQUFLO2dCQU9HLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFPRyxLQUFLO3NCQUFiLEtBQUs7Z0JBT0csU0FBUztzQkFBakIsS0FBSztnQkFPRyxRQUFRO3NCQUFoQixLQUFLO2dCQU9HLE9BQU87c0JBQWYsS0FBSztnQkFRRyxVQUFVO3NCQUFsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYW5pbWF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEljb25OYW1lIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9pY29uL2ljb24ubW9kZWwnO1xuaW1wb3J0IHsgQWxlcnRCYXJUeXBlIH0gZnJvbSAnLi4vLi4vdXRpbHMvYWxlcnQtYmFyLm1vZGVsJztcbmltcG9ydCB7IGFsZXJ0QmFyc1V0aWwgfSBmcm9tICcuLi8uLi91dGlscy9hbGVydC1iYXJzLnV0aWxzJztcbmltcG9ydCB7IExpbmtUYXJnZXRUeXBlIH0gZnJvbSAnLi9hbGVydC1iYW5uZXIubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd1aS1hbGVydC1iYW5uZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vYWxlcnQtYmFubmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYWxlcnQtYmFubmVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGFuaW1hdGlvbnM6IFtcbiAgICB0cmlnZ2VyKCdvcGVuQ2xvc2UnLCBbXG4gICAgICB0cmFuc2l0aW9uKCc6ZW50ZXInLCBbYW5pbWF0ZSgnMC4ycyBlYXNlLW91dCcsIHN0eWxlKHsgb3BhY2l0eTogMSB9KSldKSxcbiAgICAgIHRyYW5zaXRpb24oJzpsZWF2ZScsIFthbmltYXRlKCcwLjJzIGVhc2UtaW4nLCBzdHlsZSh7IG9wYWNpdHk6IDAgfSkpXSksXG4gICAgXSksXG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBBbGVydEJhbm5lckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGNvbnN0cnVjdG9yKCkge31cblxuICAvKipcbiAgICogQWxlcnQgQmFubmVyIHR5cGVcbiAgICpcbiAgICogQHR5cGUge0FsZXJ0QmFyVHlwZX1cbiAgICogQG1lbWJlcm9mIEFsZXJ0QmFubmVyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBhbGVydFR5cGU6IEFsZXJ0QmFyVHlwZSA9ICdzdWNjZXNzJztcblxuICAvKipcbiAgICogQWxlcnQgYmFubmVyIG1lc3NhZ2VcbiAgICpcbiAgICogQG1lbWJlcm9mIEFsZXJ0QmFubmVyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBtZXNzYWdlID0gJyc7XG5cbiAgLyoqXG4gICAqIEluY2x1ZGUgZGlzbW1pc3MgYnV0dG9uXG4gICAqXG4gICAqIEBtZW1iZXJvZiBBbGVydEJhbm5lckNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgaW5jbHVkZURpc21pc3NCdXR0b24gPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBTdGF0aWMgb3IgZml4ZWQgcG9zaXRpb25cbiAgICpcbiAgICogQG1lbWJlcm9mIEFsZXJ0QmFubmVyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBmaXhlZCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBGdWxsIHdpZHRoIGZvciBhbGVydCBiYW5uZXJcbiAgICpcbiAgICogQG1lbWJlcm9mIEFsZXJ0QmFubmVyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBmdWxsV2lkdGggPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBMaW5rIHRleHQgdGhhdCB3aWxsIGFwcGVuZGVkIGF0IHRoZSBlbmQgb2YgbWVzc2FnZVxuICAgKlxuICAgKiBAbWVtYmVyb2YgQWxlcnRCYW5uZXJDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGxpbmtUZXh0PyA9ICcnO1xuXG4gIC8qKlxuICAgKiBMaW5rIHVybFxuICAgKlxuICAgKiBAbWVtYmVyb2YgQWxlcnRCYW5uZXJDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGxpbmtVcmw/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIExpbmsgdGFyZ2V0XG4gICAqXG4gICAqIEB0eXBlIHtAdHlwZSB7TGlua1RhcmdldFR5cGV9fVxuICAgKiBAbWVtYmVyb2YgQWxlcnRCYW5uZXJDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGxpbmtUYXJnZXQ/OiBMaW5rVGFyZ2V0VHlwZSA9ICdfYmxhbmsnO1xuXG4gIGljb25OYW1lOiBJY29uTmFtZTtcbiAgdmlzaWJsZSA9IHRydWU7XG4gIHBvc2l0aW9uOiBzdHJpbmc7XG4gIGNzc0NsYXNzOiBzdHJpbmc7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pY29uTmFtZSA9IGFsZXJ0QmFyc1V0aWwuc2V0SWNvbih0aGlzLmFsZXJ0VHlwZSk7XG4gICAgdGhpcy5wb3NpdGlvbiA9IGFsZXJ0QmFyc1V0aWwuc2V0UG9zaXRpb24odGhpcy5maXhlZCk7XG4gICAgdGhpcy5jc3NDbGFzcyA9IGFsZXJ0QmFyc1V0aWwuc2V0Q3NzQ2xhc3ModGhpcy5mdWxsV2lkdGgsIHRoaXMuYWxlcnRUeXBlLCB0aGlzLnBvc2l0aW9uKTtcbiAgfVxuXG4gIC8vSGlkZSBzbmFja2JhciB3aGVuIGRpc21pc3MgYnV0dG9uIGlzIGNsaWNrZWRcbiAgZGlzbWlzc0NsaWNrKCkge1xuICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICB9XG59XG4iLCI8ZGl2IFtuZ0NsYXNzXT1cImNzc0NsYXNzXCIgW0BvcGVuQ2xvc2VdICpuZ0lmPVwidmlzaWJsZVwiIGNsYXNzPVwiYWxlcnQtY29udGFpbmVyXCI+XG4gIDxkaXYgY2xhc3M9XCJhbGVydC10ZXh0XCI+XG4gICAgPHVpLWljb24gW25hbWVdPVwiaWNvbk5hbWVcIiBzaXplPVwiMjRcIj48L3VpLWljb24+XG4gICAge3sgbWVzc2FnZSB9fVxuICAgIDxhICpuZ0lmPVwiISFsaW5rVGV4dFwiIFt0YXJnZXRdPVwibGlua1RhcmdldFwiIFtocmVmXT1cImxpbmtVcmxcIj57eyBsaW5rVGV4dCB9fTwvYT5cbiAgPC9kaXY+XG4gIDx1aS1idXR0b25cbiAgICAqbmdJZj1cImluY2x1ZGVEaXNtaXNzQnV0dG9uXCJcbiAgICB0eXBlPVwidGV4dFwiXG4gICAgW2p1c3RJY29uXT1cInRydWVcIlxuICAgIGNsYXNzPVwiY2xvc2VcIlxuICAgIGljb25OYW1lPVwiQ2xvc2VcIlxuICAgIChidXR0b25DbGlja0V2ZW50KT1cImRpc21pc3NDbGljaygpXCJcbiAgPjwvdWktYnV0dG9uPlxuPC9kaXY+XG4iXX0=
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQtYmFubmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2FsZXJ0LWJhbm5lci9hbGVydC1iYW5uZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYWxlcnQtYmFubmVyL2FsZXJ0LWJhbm5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDMUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFHbEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7OztBQWU3RCxNQUFNLE9BQU8sb0JBQW9CO0lBQy9CO1FBRUE7Ozs7O1dBS0c7UUFDTSxjQUFTLEdBQWlCLFNBQVMsQ0FBQztRQUU3Qzs7OztXQUlHO1FBQ00sWUFBTyxHQUFHLEVBQUUsQ0FBQztRQUV0Qjs7OztXQUlHO1FBQ00seUJBQW9CLEdBQUcsSUFBSSxDQUFDO1FBRXJDOzs7O1dBSUc7UUFDTSxVQUFLLEdBQUcsS0FBSyxDQUFDO1FBRXZCOzs7O1dBSUc7UUFDTSxjQUFTLEdBQUcsSUFBSSxDQUFDO1FBRTFCOzs7O1dBSUc7UUFDTSxhQUFRLEdBQUksRUFBRSxDQUFDO1FBU3hCOzs7OztXQUtHO1FBQ00sZUFBVSxHQUFvQixRQUFRLENBQUM7UUFHaEQsWUFBTyxHQUFHLElBQUksQ0FBQztJQTdEQSxDQUFDO0lBaUVoQixRQUFRO1FBQ04sSUFBSSxDQUFDLFFBQVEsR0FBRyxhQUFhLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN0RCxJQUFJLENBQUMsUUFBUSxHQUFHLGFBQWEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxRQUFRLEdBQUcsYUFBYSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzNGLENBQUM7SUFFRCw4Q0FBOEM7SUFDOUMsWUFBWTtRQUNWLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ3ZCLENBQUM7K0dBM0VVLG9CQUFvQjttR0FBcEIsb0JBQW9CLHlRQ25CakMsdWZBZUEscTZGREpjO1lBQ1YsT0FBTyxDQUFDLFdBQVcsRUFBRTtnQkFDbkIsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDLE9BQU8sQ0FBQyxlQUFlLEVBQUUsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUN2RSxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDdkUsQ0FBQztTQUNIOzs0RkFHVSxvQkFBb0I7a0JBWmhDLFNBQVM7K0JBQ0UsaUJBQWlCLGNBR2Y7d0JBQ1YsT0FBTyxDQUFDLFdBQVcsRUFBRTs0QkFDbkIsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDLE9BQU8sQ0FBQyxlQUFlLEVBQUUsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDOzRCQUN2RSxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7eUJBQ3ZFLENBQUM7cUJBQ0gsbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU07MEVBV3RDLFNBQVM7c0JBQWpCLEtBQUs7Z0JBT0csT0FBTztzQkFBZixLQUFLO2dCQU9HLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFPRyxLQUFLO3NCQUFiLEtBQUs7Z0JBT0csU0FBUztzQkFBakIsS0FBSztnQkFPRyxRQUFRO3NCQUFoQixLQUFLO2dCQU9HLE9BQU87c0JBQWYsS0FBSztnQkFRRyxVQUFVO3NCQUFsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYW5pbWF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEljb25OYW1lIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9pY29uL2ljb24ubW9kZWwnO1xuaW1wb3J0IHsgQWxlcnRCYXJUeXBlIH0gZnJvbSAnLi4vLi4vdXRpbHMvYWxlcnQtYmFyLm1vZGVsJztcbmltcG9ydCB7IGFsZXJ0QmFyc1V0aWwgfSBmcm9tICcuLi8uLi91dGlscy9hbGVydC1iYXJzLnV0aWxzJztcbmltcG9ydCB7IExpbmtUYXJnZXRUeXBlIH0gZnJvbSAnLi9hbGVydC1iYW5uZXIubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd1aS1hbGVydC1iYW5uZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vYWxlcnQtYmFubmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYWxlcnQtYmFubmVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGFuaW1hdGlvbnM6IFtcbiAgICB0cmlnZ2VyKCdvcGVuQ2xvc2UnLCBbXG4gICAgICB0cmFuc2l0aW9uKCc6ZW50ZXInLCBbYW5pbWF0ZSgnMC4ycyBlYXNlLW91dCcsIHN0eWxlKHsgb3BhY2l0eTogMSB9KSldKSxcbiAgICAgIHRyYW5zaXRpb24oJzpsZWF2ZScsIFthbmltYXRlKCcwLjJzIGVhc2UtaW4nLCBzdHlsZSh7IG9wYWNpdHk6IDAgfSkpXSksXG4gICAgXSksXG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBBbGVydEJhbm5lckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGNvbnN0cnVjdG9yKCkge31cblxuICAvKipcbiAgICogQWxlcnQgQmFubmVyIHR5cGVcbiAgICpcbiAgICogQHR5cGUge0FsZXJ0QmFyVHlwZX1cbiAgICogQG1lbWJlcm9mIEFsZXJ0QmFubmVyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBhbGVydFR5cGU6IEFsZXJ0QmFyVHlwZSA9ICdzdWNjZXNzJztcblxuICAvKipcbiAgICogQWxlcnQgYmFubmVyIG1lc3NhZ2VcbiAgICpcbiAgICogQG1lbWJlcm9mIEFsZXJ0QmFubmVyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBtZXNzYWdlID0gJyc7XG5cbiAgLyoqXG4gICAqIEluY2x1ZGUgZGlzbW1pc3MgYnV0dG9uXG4gICAqXG4gICAqIEBtZW1iZXJvZiBBbGVydEJhbm5lckNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgaW5jbHVkZURpc21pc3NCdXR0b24gPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBTdGF0aWMgb3IgZml4ZWQgcG9zaXRpb25cbiAgICpcbiAgICogQG1lbWJlcm9mIEFsZXJ0QmFubmVyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBmaXhlZCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBGdWxsIHdpZHRoIGZvciBhbGVydCBiYW5uZXJcbiAgICpcbiAgICogQG1lbWJlcm9mIEFsZXJ0QmFubmVyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBmdWxsV2lkdGggPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBMaW5rIHRleHQgdGhhdCB3aWxsIGFwcGVuZGVkIGF0IHRoZSBlbmQgb2YgbWVzc2FnZVxuICAgKlxuICAgKiBAbWVtYmVyb2YgQWxlcnRCYW5uZXJDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGxpbmtUZXh0PyA9ICcnO1xuXG4gIC8qKlxuICAgKiBMaW5rIHVybFxuICAgKlxuICAgKiBAbWVtYmVyb2YgQWxlcnRCYW5uZXJDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGxpbmtVcmw/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIExpbmsgdGFyZ2V0XG4gICAqXG4gICAqIEB0eXBlIHtAdHlwZSB7TGlua1RhcmdldFR5cGV9fVxuICAgKiBAbWVtYmVyb2YgQWxlcnRCYW5uZXJDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGxpbmtUYXJnZXQ/OiBMaW5rVGFyZ2V0VHlwZSA9ICdfYmxhbmsnO1xuXG4gIGljb25OYW1lOiBJY29uTmFtZTtcbiAgdmlzaWJsZSA9IHRydWU7XG4gIHBvc2l0aW9uOiBzdHJpbmc7XG4gIGNzc0NsYXNzOiBzdHJpbmc7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pY29uTmFtZSA9IGFsZXJ0QmFyc1V0aWwuc2V0SWNvbih0aGlzLmFsZXJ0VHlwZSk7XG4gICAgdGhpcy5wb3NpdGlvbiA9IGFsZXJ0QmFyc1V0aWwuc2V0UG9zaXRpb24odGhpcy5maXhlZCk7XG4gICAgdGhpcy5jc3NDbGFzcyA9IGFsZXJ0QmFyc1V0aWwuc2V0Q3NzQ2xhc3ModGhpcy5mdWxsV2lkdGgsIHRoaXMuYWxlcnRUeXBlLCB0aGlzLnBvc2l0aW9uKTtcbiAgfVxuXG4gIC8vSGlkZSBzbmFja2JhciB3aGVuIGRpc21pc3MgYnV0dG9uIGlzIGNsaWNrZWRcbiAgZGlzbWlzc0NsaWNrKCkge1xuICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICB9XG59XG4iLCI8ZGl2IFtuZ0NsYXNzXT1cImNzc0NsYXNzXCIgW0BvcGVuQ2xvc2VdICpuZ0lmPVwidmlzaWJsZVwiIGNsYXNzPVwiYWxlcnQtY29udGFpbmVyXCI+XG4gIDxkaXYgY2xhc3M9XCJhbGVydC10ZXh0XCI+XG4gICAgPHVpLWljb24gW25hbWVdPVwiaWNvbk5hbWVcIiBzaXplPVwiMjRcIj48L3VpLWljb24+XG4gICAge3sgbWVzc2FnZSB9fVxuICAgIDxhICpuZ0lmPVwiISFsaW5rVGV4dFwiIFt0YXJnZXRdPVwibGlua1RhcmdldFwiIFtocmVmXT1cImxpbmtVcmxcIj57eyBsaW5rVGV4dCB9fTwvYT5cbiAgPC9kaXY+XG4gIDx1aS1idXR0b25cbiAgICAqbmdJZj1cImluY2x1ZGVEaXNtaXNzQnV0dG9uXCJcbiAgICB0eXBlPVwidGV4dFwiXG4gICAgW2p1c3RJY29uXT1cInRydWVcIlxuICAgIGNsYXNzPVwiY2xvc2VcIlxuICAgIGljb25OYW1lPVwiQ2xvc2VcIlxuICAgIChidXR0b25DbGlja0V2ZW50KT1cImRpc21pc3NDbGljaygpXCJcbiAgPjwvdWktYnV0dG9uPlxuPC9kaXY+XG4iXX0=