@testgorilla/tgo-ui 2.23.54 → 2.24.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/alert-banner/alert-banner.component.d.ts +3 -13
- package/components/autocomplete/autocomplete.component.d.ts +3 -12
- package/components/button/button.component.d.ts +3 -12
- package/components/checkbox/checkbox.component.d.ts +3 -12
- package/components/checklist/checklist.component.d.ts +60 -0
- package/components/checklist/checklist.model.d.ts +7 -0
- package/components/datepicker/datepicker.component.d.ts +3 -12
- package/components/dialog/dialog.component.d.ts +3 -12
- package/components/dropdown/dropdown.component.d.ts +3 -12
- package/components/empty-state/empty-state.component.d.ts +3 -11
- package/components/field/field.component.d.ts +3 -12
- package/components/file-upload/file-upload.component.d.ts +3 -12
- package/components/icon/icon.config.d.ts +1 -1
- package/components/multi-input/multi-input.component.d.ts +3 -12
- package/components/navbar/mobile-navbar-side-sheet/mobile-navbar-side-sheet.component.d.ts +1 -2
- package/components/navbar/navbar.component.d.ts +3 -12
- package/components/overflow-menu/overflow-menu.component.d.ts +3 -12
- package/components/page-header/page-header.component.d.ts +3 -12
- package/components/password-criteria/password.component.d.ts +3 -12
- package/components/password-strength/password-strength.component.d.ts +3 -12
- package/components/phone-input/phone-input.component.d.ts +3 -12
- package/components/progress-bar/progress-bar.component.d.ts +7 -9
- package/components/side-panel/side-panel.component.d.ts +3 -5
- package/components/side-sheet/side-sheet.component.d.ts +3 -12
- package/components/slider/slider.component.d.ts +3 -12
- package/components/snackbar/snackbar.component.d.ts +3 -12
- package/components/spinner/spinner.component.d.ts +3 -12
- package/components/spinner/spinner.module.d.ts +1 -1
- package/components/stepper/stepper.component.d.ts +3 -12
- package/components/tag/tag.component.d.ts +3 -12
- package/components/toggle/toggle.component.d.ts +3 -12
- package/components/validation-error/validation-error.component.d.ts +2 -12
- package/esm2022/assets/i18n/en.json +2 -1
- package/esm2022/components/alert-banner/alert-banner.component.mjs +6 -28
- package/esm2022/components/autocomplete/autocomplete.component.mjs +6 -27
- package/esm2022/components/avatar/avatar.component.mjs +1 -1
- package/esm2022/components/button/button.component.mjs +5 -26
- package/esm2022/components/checkbox/checkbox.component.mjs +6 -27
- package/esm2022/components/checklist/checklist.component.mjs +133 -0
- package/esm2022/components/checklist/checklist.model.mjs +2 -0
- package/esm2022/components/confirm-dialog/confirm-dialog.component.mjs +5 -4
- package/esm2022/components/datepicker/datepicker.component.mjs +6 -27
- package/esm2022/components/dialog/dialog.component.mjs +5 -26
- package/esm2022/components/dropdown/dropdown.component.mjs +6 -27
- package/esm2022/components/empty-state/empty-state.component.mjs +5 -25
- package/esm2022/components/field/field.component.mjs +6 -27
- package/esm2022/components/file-upload/file-upload.component.mjs +6 -27
- package/esm2022/components/icon/icon.config.mjs +5 -1
- package/esm2022/components/multi-input/multi-input.component.mjs +6 -27
- package/esm2022/components/navbar/mobile-navbar-side-sheet/mobile-navbar-side-sheet.component.mjs +5 -8
- package/esm2022/components/navbar/navbar.component.mjs +6 -28
- package/esm2022/components/overflow-menu/overflow-menu.component.mjs +6 -27
- package/esm2022/components/page-header/page-header.component.mjs +5 -26
- package/esm2022/components/password-criteria/password.component.mjs +8 -29
- package/esm2022/components/password-strength/password-strength.component.mjs +5 -26
- package/esm2022/components/phone-input/phone-input.component.mjs +6 -27
- package/esm2022/components/progress-bar/progress-bar.component.mjs +10 -22
- package/esm2022/components/radial-progress/radial-progress.component.mjs +1 -1
- package/esm2022/components/side-panel/side-panel.component.mjs +8 -18
- package/esm2022/components/side-sheet/side-sheet.component.mjs +6 -27
- package/esm2022/components/slider/slider.component.mjs +6 -27
- package/esm2022/components/snackbar/snackbar.component.mjs +6 -27
- package/esm2022/components/spinner/spinner.component.mjs +5 -26
- package/esm2022/components/spinner/spinner.module.mjs +4 -4
- package/esm2022/components/stepper/stepper.component.mjs +5 -26
- package/esm2022/components/tag/tag.component.mjs +5 -26
- package/esm2022/components/toggle/toggle.component.mjs +5 -26
- package/esm2022/components/validation-error/validation-error.component.mjs +7 -28
- package/esm2022/pipes/ui-translate.pipe.mjs +19 -14
- package/esm2022/public-api.mjs +5 -3
- package/esm2022/utils/localization/language.service.mjs +12 -1
- package/fesm2022/testgorilla-tgo-ui.mjs +337 -674
- package/fesm2022/testgorilla-tgo-ui.mjs.map +1 -1
- package/package.json +1 -1
- package/pipes/ui-translate.pipe.d.ts +5 -1
- package/projects/tgo-canopy-ui/assets/i18n/en.json +2 -1
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Circle-filled.svg +3 -0
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Circle-in-line.svg +3 -0
- package/public-api.d.ts +3 -1
- package/utils/localization/language.service.d.ts +4 -0
- package/esm2022/tokens/app-lang.token.mjs +0 -3
- package/tokens/app-lang.token.d.ts +0 -2
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
import { OnChanges, OnInit } from '@angular/core';
|
|
2
2
|
import { SpinnerSize } from './spinner.model';
|
|
3
3
|
import { ApplicationTheme } from '../../models/application-theme.model';
|
|
4
|
-
import { Language } from '../../utils/localization/language.model';
|
|
5
4
|
import * as i0 from "@angular/core";
|
|
6
5
|
export declare class SpinnerComponent implements OnInit, OnChanges {
|
|
7
6
|
private readonly defaultAppTheme;
|
|
8
|
-
protected readonly appLang: Language;
|
|
9
7
|
/**
|
|
10
8
|
* The size variant of the spinner. Can be 'small' or 'large'.
|
|
11
9
|
* Defaults to 'large'.
|
|
@@ -14,13 +12,6 @@ export declare class SpinnerComponent implements OnInit, OnChanges {
|
|
|
14
12
|
* @memberof SpinnerComponent
|
|
15
13
|
*/
|
|
16
14
|
size: SpinnerSize;
|
|
17
|
-
/**
|
|
18
|
-
* The language to be used
|
|
19
|
-
*
|
|
20
|
-
* @type {string}
|
|
21
|
-
* @memberof SpinnerComponent
|
|
22
|
-
*/
|
|
23
|
-
language: Language;
|
|
24
15
|
/**
|
|
25
16
|
* Set position fixed on page
|
|
26
17
|
* Defaults to 'true'.
|
|
@@ -38,10 +29,10 @@ export declare class SpinnerComponent implements OnInit, OnChanges {
|
|
|
38
29
|
*/
|
|
39
30
|
applicationTheme: ApplicationTheme;
|
|
40
31
|
classes: string;
|
|
41
|
-
constructor(defaultAppTheme: ApplicationTheme
|
|
32
|
+
constructor(defaultAppTheme: ApplicationTheme);
|
|
42
33
|
ngOnChanges(): void;
|
|
43
34
|
ngOnInit(): void;
|
|
44
35
|
setSpinnerClasses(): void;
|
|
45
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<SpinnerComponent, [{ optional: true; }
|
|
46
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<SpinnerComponent, "ui-spinner", never, { "size": { "alias": "size"; "required": false; }; "
|
|
36
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SpinnerComponent, [{ optional: true; }]>;
|
|
37
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SpinnerComponent, "ui-spinner", never, { "size": { "alias": "size"; "required": false; }; "isLoader": { "alias": "isLoader"; "required": false; }; "applicationTheme": { "alias": "applicationTheme"; "required": false; }; }, {}, never, never, false, never>;
|
|
47
38
|
}
|
|
@@ -4,6 +4,6 @@ import * as i2 from "@angular/common";
|
|
|
4
4
|
import * as i3 from "../../pipes/ui-translate.pipe";
|
|
5
5
|
export declare class SpinnerComponentModule {
|
|
6
6
|
static ɵfac: i0.ɵɵFactoryDeclaration<SpinnerComponentModule, never>;
|
|
7
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<SpinnerComponentModule, [typeof i1.SpinnerComponent], [typeof i2.NgClass, typeof i2.NgIf, typeof i3.UiTranslatePipe], [typeof i1.SpinnerComponent]>;
|
|
7
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<SpinnerComponentModule, [typeof i1.SpinnerComponent], [typeof i2.NgClass, typeof i2.NgIf, typeof i3.UiTranslatePipe, typeof i2.AsyncPipe], [typeof i1.SpinnerComponent]>;
|
|
8
8
|
static ɵinj: i0.ɵɵInjectorDeclaration<SpinnerComponentModule>;
|
|
9
9
|
}
|
|
@@ -2,12 +2,10 @@ import { EventEmitter } from '@angular/core';
|
|
|
2
2
|
import { Step, StepperPosition } from './stepper.model';
|
|
3
3
|
import { Observable } from 'rxjs';
|
|
4
4
|
import { ApplicationTheme } from "../../models/application-theme.model";
|
|
5
|
-
import { Language } from '../../utils/localization/language.model';
|
|
6
5
|
import * as i0 from "@angular/core";
|
|
7
6
|
export declare class StepperComponent {
|
|
8
7
|
private readonly defaultAppTheme;
|
|
9
8
|
protected readonly isMobile$: Observable<boolean>;
|
|
10
|
-
protected readonly appLang: Language;
|
|
11
9
|
/**
|
|
12
10
|
*
|
|
13
11
|
* Auto selects first step as visited
|
|
@@ -37,13 +35,6 @@ export declare class StepperComponent {
|
|
|
37
35
|
* @memberof StepperComponent
|
|
38
36
|
*/
|
|
39
37
|
lastStepFinalIcon: boolean;
|
|
40
|
-
/**
|
|
41
|
-
* The language to be used
|
|
42
|
-
*
|
|
43
|
-
* @type {Language}
|
|
44
|
-
* @memberof StepperComponent
|
|
45
|
-
*/
|
|
46
|
-
language: Language;
|
|
47
38
|
/**
|
|
48
39
|
*
|
|
49
40
|
* Defines the application theme
|
|
@@ -86,10 +77,10 @@ export declare class StepperComponent {
|
|
|
86
77
|
protected selectedIndex: number;
|
|
87
78
|
get isOpen(): boolean;
|
|
88
79
|
set isOpen(value: boolean);
|
|
89
|
-
constructor(defaultAppTheme: ApplicationTheme, isMobile$: Observable<boolean
|
|
80
|
+
constructor(defaultAppTheme: ApplicationTheme, isMobile$: Observable<boolean>);
|
|
90
81
|
protected onSelect(changedIndex: number, step: Step): void;
|
|
91
82
|
protected showStepsToggle(): void;
|
|
92
83
|
protected onCloseStepList(): void;
|
|
93
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<StepperComponent, [{ optional: true; }, null
|
|
94
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<StepperComponent, "ui-stepper", never, { "setFirstStepAutoSelect": { "alias": "firstStepAutoSelect"; "required": false; }; "steps": { "alias": "steps"; "required": false; }; "setSelectedIndex": { "alias": "selectedIndex"; "required": false; }; "lastStepFinalIcon": { "alias": "lastStepFinalIcon"; "required": false; }; "
|
|
84
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<StepperComponent, [{ optional: true; }, null]>;
|
|
85
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<StepperComponent, "ui-stepper", never, { "setFirstStepAutoSelect": { "alias": "firstStepAutoSelect"; "required": false; }; "steps": { "alias": "steps"; "required": false; }; "setSelectedIndex": { "alias": "selectedIndex"; "required": false; }; "lastStepFinalIcon": { "alias": "lastStepFinalIcon"; "required": false; }; "applicationTheme": { "alias": "applicationTheme"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "position": { "alias": "position"; "required": false; }; "ariaRequired": { "alias": "ariaRequired"; "required": false; }; }, { "selectionChange": "selectionChange"; }, never, never, false, never>;
|
|
95
86
|
}
|
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
import { AfterViewInit, ElementRef, EventEmitter, OnInit } from '@angular/core';
|
|
2
2
|
import { IconColor, IconName } from '../icon/icon.model';
|
|
3
3
|
import { ApplicationTheme } from '../../models/application-theme.model';
|
|
4
|
-
import { Language } from '../../utils/localization/language.model';
|
|
5
4
|
import * as i0 from "@angular/core";
|
|
6
5
|
export declare class TagComponent implements AfterViewInit, OnInit {
|
|
7
6
|
private readonly defaultAppTheme;
|
|
8
|
-
protected readonly appLang: Language;
|
|
9
7
|
/**
|
|
10
8
|
* Tag's label
|
|
11
9
|
*
|
|
@@ -102,13 +100,6 @@ export declare class TagComponent implements AfterViewInit, OnInit {
|
|
|
102
100
|
* @memberof TagComponent
|
|
103
101
|
*/
|
|
104
102
|
private checkLabelEllipsis$;
|
|
105
|
-
/**
|
|
106
|
-
* The language to be used
|
|
107
|
-
* @property language
|
|
108
|
-
* @type {Language}
|
|
109
|
-
* @memberof TagComponent
|
|
110
|
-
*/
|
|
111
|
-
language: Language;
|
|
112
103
|
/**
|
|
113
104
|
* Observable that indicates if the Label is truncated
|
|
114
105
|
* debounceTime is used to wait for view to be initialized after receiving a new Label input
|
|
@@ -124,7 +115,7 @@ export declare class TagComponent implements AfterViewInit, OnInit {
|
|
|
124
115
|
protected iconColor: IconColor;
|
|
125
116
|
protected closeBtnFocused: import("@angular/core").WritableSignal<boolean>;
|
|
126
117
|
labelElement: ElementRef<HTMLElement>;
|
|
127
|
-
constructor(defaultAppTheme: ApplicationTheme
|
|
118
|
+
constructor(defaultAppTheme: ApplicationTheme);
|
|
128
119
|
ngOnInit(): void;
|
|
129
120
|
ngAfterViewInit(): void;
|
|
130
121
|
onPress(): void;
|
|
@@ -135,6 +126,6 @@ export declare class TagComponent implements AfterViewInit, OnInit {
|
|
|
135
126
|
get tabIndex(): number;
|
|
136
127
|
get filled(): boolean;
|
|
137
128
|
onKeydown($event: KeyboardEvent): void;
|
|
138
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<TagComponent, [{ optional: true; }
|
|
139
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<TagComponent, "ui-tag", never, { "label": { "alias": "label"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "allowClose": { "alias": "allowClose"; "required": false; }; "readOnly": { "alias": "readOnly"; "required": false; }; "isSelected": { "alias": "isSelected"; "required": false; }; "showIconWhenSelected": { "alias": "showIconWhenSelected"; "required": false; }; "isDisabled": { "alias": "isDisabled"; "required": false; }; "applicationTheme": { "alias": "applicationTheme"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "ariaRequired": { "alias": "ariaRequired"; "required": false; };
|
|
129
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TagComponent, [{ optional: true; }]>;
|
|
130
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TagComponent, "ui-tag", never, { "label": { "alias": "label"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "allowClose": { "alias": "allowClose"; "required": false; }; "readOnly": { "alias": "readOnly"; "required": false; }; "isSelected": { "alias": "isSelected"; "required": false; }; "showIconWhenSelected": { "alias": "showIconWhenSelected"; "required": false; }; "isDisabled": { "alias": "isDisabled"; "required": false; }; "applicationTheme": { "alias": "applicationTheme"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "ariaRequired": { "alias": "ariaRequired"; "required": false; }; }, { "close": "close"; "press": "press"; }, never, never, false, never>;
|
|
140
131
|
}
|
|
@@ -2,11 +2,9 @@ import { EventEmitter, OnChanges, OnInit } from '@angular/core';
|
|
|
2
2
|
import { ControlValueAccessor } from '@angular/forms';
|
|
3
3
|
import { RegisterFn } from './toggle.model';
|
|
4
4
|
import { ApplicationTheme } from '../../models/application-theme.model';
|
|
5
|
-
import { Language } from '../../utils/localization/language.model';
|
|
6
5
|
import * as i0 from "@angular/core";
|
|
7
6
|
export declare class ToggleComponent implements ControlValueAccessor, OnChanges, OnInit {
|
|
8
7
|
private readonly defaultAppTheme;
|
|
9
|
-
protected readonly appLang: Language;
|
|
10
8
|
/**
|
|
11
9
|
* The `selected` property determines the current state of the toggle switch.
|
|
12
10
|
*
|
|
@@ -81,13 +79,6 @@ export declare class ToggleComponent implements ControlValueAccessor, OnChanges,
|
|
|
81
79
|
* @memberof ToggleComponent
|
|
82
80
|
*/
|
|
83
81
|
preventClick: boolean;
|
|
84
|
-
/**
|
|
85
|
-
* The language to be used
|
|
86
|
-
*
|
|
87
|
-
* @type {Language}
|
|
88
|
-
* @memberof ToggleComponent
|
|
89
|
-
*/
|
|
90
|
-
language: Language;
|
|
91
82
|
/**
|
|
92
83
|
* The loading state
|
|
93
84
|
*
|
|
@@ -104,7 +95,7 @@ export declare class ToggleComponent implements ControlValueAccessor, OnChanges,
|
|
|
104
95
|
ariaDescribedby: string;
|
|
105
96
|
protected showLabelTooltip: boolean;
|
|
106
97
|
protected classes: string;
|
|
107
|
-
constructor(defaultAppTheme: ApplicationTheme
|
|
98
|
+
constructor(defaultAppTheme: ApplicationTheme);
|
|
108
99
|
ngOnChanges(): void;
|
|
109
100
|
ngOnInit(): void;
|
|
110
101
|
onToggle(): void;
|
|
@@ -117,6 +108,6 @@ export declare class ToggleComponent implements ControlValueAccessor, OnChanges,
|
|
|
117
108
|
private onChange;
|
|
118
109
|
private onTouched;
|
|
119
110
|
private setClasses;
|
|
120
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<ToggleComponent, [{ optional: true; }
|
|
121
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ToggleComponent, "ui-toggle", never, { "selected": { "alias": "selected"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "label": { "alias": "label"; "required": false; }; "message": { "alias": "message"; "required": false; }; "maxWidth": { "alias": "maxWidth"; "required": false; }; "applicationTheme": { "alias": "applicationTheme"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "ariaRequired": { "alias": "ariaRequired"; "required": false; }; "preventClick": { "alias": "preventClick"; "required": false; }; "
|
|
111
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ToggleComponent, [{ optional: true; }]>;
|
|
112
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ToggleComponent, "ui-toggle", never, { "selected": { "alias": "selected"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "label": { "alias": "label"; "required": false; }; "message": { "alias": "message"; "required": false; }; "maxWidth": { "alias": "maxWidth"; "required": false; }; "applicationTheme": { "alias": "applicationTheme"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "ariaRequired": { "alias": "ariaRequired"; "required": false; }; "preventClick": { "alias": "preventClick"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "ariaDescribedby": { "alias": "ariaDescribedby"; "required": false; }; }, { "toggle": "toggle"; }, never, never, false, never>;
|
|
122
113
|
}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
import { errorType } from './validation-error.model';
|
|
2
2
|
import { NgControl } from '@angular/forms';
|
|
3
3
|
import { ApplicationTheme } from '../../models/application-theme.model';
|
|
4
|
-
import { Language } from '../../utils/localization/language.model';
|
|
5
4
|
import * as i0 from "@angular/core";
|
|
6
5
|
export declare class ValidationErrorComponent {
|
|
7
|
-
protected readonly appLang: Language;
|
|
8
6
|
ngControl: NgControl;
|
|
9
7
|
touchedOn: boolean;
|
|
10
8
|
errorMessage: string;
|
|
@@ -17,16 +15,8 @@ export declare class ValidationErrorComponent {
|
|
|
17
15
|
* @memberof ValidationErrorComponent
|
|
18
16
|
*/
|
|
19
17
|
applicationTheme: ApplicationTheme;
|
|
20
|
-
/**
|
|
21
|
-
* The language to be used
|
|
22
|
-
* @property language
|
|
23
|
-
* @type {Language}
|
|
24
|
-
* @memberof ValidationErrorComponent
|
|
25
|
-
*/
|
|
26
|
-
language: Language;
|
|
27
|
-
constructor(appLang: Language);
|
|
28
18
|
getErrorValue(type: errorType): number;
|
|
29
19
|
translationContextErrors: string;
|
|
30
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<ValidationErrorComponent,
|
|
31
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ValidationErrorComponent, "ui-validation-error", never, { "ngControl": { "alias": "ngControl"; "required": false; }; "touchedOn": { "alias": "touchedOn"; "required": false; }; "errorMessage": { "alias": "errorMessage"; "required": false; }; "label": { "alias": "label"; "required": false; }; "applicationTheme": { "alias": "applicationTheme"; "required": false; };
|
|
20
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ValidationErrorComponent, never>;
|
|
21
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ValidationErrorComponent, "ui-validation-error", never, { "ngControl": { "alias": "ngControl"; "required": false; }; "touchedOn": { "alias": "touchedOn"; "required": false; }; "errorMessage": { "alias": "errorMessage"; "required": false; }; "label": { "alias": "label"; "required": false; }; "applicationTheme": { "alias": "applicationTheme"; "required": false; }; }, {}, never, never, false, never>;
|
|
32
22
|
}
|
|
@@ -1,20 +1,16 @@
|
|
|
1
1
|
import { animate, style, transition, trigger } from '@angular/animations';
|
|
2
2
|
import { ChangeDetectionStrategy, Component, HostBinding, Inject, Input, Optional } from '@angular/core';
|
|
3
3
|
import { alertBarsUtil } from '../../utils/alert-bars.utils';
|
|
4
|
-
import { LanguageService } from '../../utils/localization/language.service';
|
|
5
|
-
import { CANOPY_UI_LANG } from '../../tokens/app-lang.token';
|
|
6
4
|
import * as i0 from "@angular/core";
|
|
7
5
|
import * as i1 from "@angular/platform-browser";
|
|
8
6
|
import * as i2 from "@angular/common";
|
|
9
7
|
import * as i3 from "../button/button.component";
|
|
10
8
|
import * as i4 from "../icon/icon.component";
|
|
11
9
|
import * as i5 from "../../pipes/ui-translate.pipe";
|
|
12
|
-
import * as i6 from "../../utils/localization/language.model";
|
|
13
10
|
export class AlertBannerComponent {
|
|
14
|
-
constructor(defaultAppTheme, domSanitizer
|
|
11
|
+
constructor(defaultAppTheme, domSanitizer) {
|
|
15
12
|
this.defaultAppTheme = defaultAppTheme;
|
|
16
13
|
this.domSanitizer = domSanitizer;
|
|
17
|
-
this.appLang = appLang;
|
|
18
14
|
/**
|
|
19
15
|
* Alert Banner type
|
|
20
16
|
*
|
|
@@ -77,14 +73,6 @@ export class AlertBannerComponent {
|
|
|
77
73
|
* @memberof AlertBannerComponent
|
|
78
74
|
*/
|
|
79
75
|
this.closeButtonTooltip = '';
|
|
80
|
-
/**
|
|
81
|
-
* The language to be used
|
|
82
|
-
* @property language
|
|
83
|
-
* @type {Language}
|
|
84
|
-
* @default LanguageService.defaultLanguage
|
|
85
|
-
* @memberof AlertBannerComponent
|
|
86
|
-
*/
|
|
87
|
-
this.language = LanguageService.defaultLanguage;
|
|
88
76
|
/**
|
|
89
77
|
* A string representing the ARIA requirement for accessibility.
|
|
90
78
|
* This attribute is used to indicate whether an input field is required for form submission.
|
|
@@ -99,9 +87,6 @@ export class AlertBannerComponent {
|
|
|
99
87
|
if (defaultAppTheme) {
|
|
100
88
|
this.applicationTheme = defaultAppTheme;
|
|
101
89
|
}
|
|
102
|
-
if (appLang) {
|
|
103
|
-
this.language = appLang;
|
|
104
|
-
}
|
|
105
90
|
}
|
|
106
91
|
/**
|
|
107
92
|
* Alert banner message
|
|
@@ -131,8 +116,8 @@ export class AlertBannerComponent {
|
|
|
131
116
|
this.dismissAlertBanner = true;
|
|
132
117
|
}, 200);
|
|
133
118
|
}
|
|
134
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AlertBannerComponent, deps: [{ token: 'CANOPYUI_DEFAULT_APPLICATION_THEME', optional: true }, { token: i1.DomSanitizer }
|
|
135
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: AlertBannerComponent, selector: "ui-alert-banner", inputs: { alertType: "alertType", alertVariant: "alertVariant", message: "message", includeDismissButton: "includeDismissButton", shadow: "shadow", linkText: "linkText", linkUrl: "linkUrl", linkTarget: "linkTarget", applicationTheme: "applicationTheme", isFullWidth: "isFullWidth", closeButtonTooltip: "closeButtonTooltip", language: "language", ariaDescribedby: "ariaDescribedby", secondaryAlerts: "secondaryAlerts" }, host: { properties: { "class.display-none": "this.isDismissed" } }, ngImport: i0, template: "<div\n [ngClass]=\"cssClass\"\n [@openClose]\n *ngIf=\"visible\"\n role=\"alert\"\n class=\"alert-container\"\n [attr.theme]=\"applicationTheme\"\n [class.shadow]=\"alertVariant === 'callout' && shadow\"\n [attr.aria-live]=\"(alertType === 'error' || alertType === 'warning') ? 'assertive' : 'polite'\"\n [attr.aria-describedby]=\"'describedby'\"\n [attr.aria-labelledby]=\"'labelledby'\"\n [tabIndex]=\"0\"\n>\n <span style=\"position: absolute; left: -9999px\" id=\"labelledby\">{{ ('ALERT_BANNER.' + (alertType | uppercase)) | uiTranslate : language }}</span>\n <span [style.display]=\"'none'\" id=\"describedby\">{{ ariaDescribedby }}</span>\n <div class=\"primary-alert-container\">\n <div class=\"alert-text\">\n <ui-icon class=\"left-icon\" [name]=\"iconName\" size=\"24\" [applicationTheme]=\"applicationTheme\"></ui-icon>\n <span [innerHTML]=\"_message\"></span>\n <a *ngIf=\"!!linkText\" [target]=\"linkTarget\" [href]=\"linkUrl\">{{ linkText }}</a>\n </div>\n <ui-button\n *ngIf=\"includeDismissButton && applicationTheme === 'classic'\"\n variant=\"text\"\n [justIcon]=\"true\"\n class=\"close\"\n iconName=\"Close\"\n (buttonClickEvent)=\"dismissClick()\"\n ></ui-button>\n <ui-button\n *ngIf=\"includeDismissButton && applicationTheme !== 'classic' && alertVariant !== 'callout'\"\n class=\"right-icon\"\n [variant]=\"'icon-button'\"\n [applicationTheme]=\"applicationTheme\"\n [iconName]=\"'Close'\"\n [size]=\"'small'\"\n [justIcon]=\"true\"\n [tooltip]=\"closeButtonTooltip || ('COMMON.CLOSE' | uiTranslate : language)\"\n (click)=\"dismissClick()\"\n ></ui-button>\n </div>\n <div class=\"secondary-alerts-container\">\n <div class=\"alert-text\" *ngFor=\"let alert of _secondaryAlerts\">\n <ui-icon class=\"left-icon\" [name]=\"'Stop-filled'\" [applicationTheme]=\"applicationTheme\"></ui-icon>\n <span [innerHTML]=\"alert\"></span>\n </div>\n </div>\n</div>\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}: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}:host .alert-container[theme=dark].success,:host .alert-container[theme=light].success,:host .snackbar-container[theme=dark].success,:host .snackbar-container[theme=light].success{background-color:#aae47a}:host .alert-container[theme=dark].info,:host .alert-container[theme=light].info,:host .snackbar-container[theme=dark].info,:host .snackbar-container[theme=light].info{background-color:#d9e8ff}:host .alert-container[theme=dark].warning,:host .alert-container[theme=light].warning,:host .snackbar-container[theme=dark].warning,:host .snackbar-container[theme=light].warning{background-color:#ffe1b3}:host .alert-container[theme=dark].error,:host .alert-container[theme=light].error,:host .snackbar-container[theme=dark].error,:host .snackbar-container[theme=light].error{background-color:#ffac9a}::ng-deep .display-none{display:none!important}@media (max-width: 600px){:host .alert-container,:host .snackbar-container{padding:8px 14px}}:host .alert-container{max-width:1312px;flex-direction:column}: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}:host .alert-container[theme=dark] .alert-text,:host .alert-container[theme=light] .alert-text{padding:12px 0}:host .alert-container[theme=dark].banner,:host .alert-container[theme=light].banner{border-radius:0}:host .alert-container[theme=dark].callout,:host .alert-container[theme=light].callout{border-radius:10px}:host .alert-container[theme=dark].shadow,:host .alert-container[theme=light].shadow{box-shadow:0 4px 16px #2424240a}:host .alert-container[theme=dark] .left-icon,:host .alert-container[theme=light] .left-icon{margin-right:8px}:host .alert-container[theme=dark] .right-icon,:host .alert-container[theme=light] .right-icon{cursor:pointer;margin-left:8px;margin-right:2px}:host .alert-container .primary-alert-container{display:flex;justify-content:space-between;align-items:center;width:100%}:host .alert-container .secondary-alerts-container{padding-left:8px;display:flex;width:100%;flex-direction:column}:host .alert-container .secondary-alerts-container .alert-text{padding:4px 0}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.ButtonComponent, selector: "ui-button", inputs: ["size", "variant", "label", "iconPosition", "justIcon", "iconName", "disabled", "loading", "fullWidth", "url", "urlTarget", "value", "tooltip", "isPremium", "type", "companyColor", "buttonBadgeConfig", "applicationTheme", "disabledScaleOnClick", "ariaLabel", "ariaRequired", "ariaLabelledby", "ariaDescribedby", "language", "preventDefault", "tooltipPosition"], outputs: ["buttonClickEvent", "buttonHoverEvent"] }, { kind: "component", type: i4.IconComponent, selector: "ui-icon", inputs: ["size", "cssClass", "name", "color", "filled", "applicationTheme", "useFullIconName"] }, { kind: "pipe", type: i2.UpperCasePipe, name: "uppercase" }, { kind: "pipe", type: i5.UiTranslatePipe, name: "uiTranslate" }], animations: [
|
|
119
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AlertBannerComponent, deps: [{ token: 'CANOPYUI_DEFAULT_APPLICATION_THEME', optional: true }, { token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
120
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: AlertBannerComponent, selector: "ui-alert-banner", inputs: { alertType: "alertType", alertVariant: "alertVariant", message: "message", includeDismissButton: "includeDismissButton", shadow: "shadow", linkText: "linkText", linkUrl: "linkUrl", linkTarget: "linkTarget", applicationTheme: "applicationTheme", isFullWidth: "isFullWidth", closeButtonTooltip: "closeButtonTooltip", ariaDescribedby: "ariaDescribedby", secondaryAlerts: "secondaryAlerts" }, host: { properties: { "class.display-none": "this.isDismissed" } }, ngImport: i0, template: "<div\n [ngClass]=\"cssClass\"\n [@openClose]\n *ngIf=\"visible\"\n role=\"alert\"\n class=\"alert-container\"\n [attr.theme]=\"applicationTheme\"\n [class.shadow]=\"alertVariant === 'callout' && shadow\"\n [attr.aria-live]=\"(alertType === 'error' || alertType === 'warning') ? 'assertive' : 'polite'\"\n [attr.aria-describedby]=\"'describedby'\"\n [attr.aria-labelledby]=\"'labelledby'\"\n [tabIndex]=\"0\"\n>\n <span style=\"position: absolute; left: -9999px\" id=\"labelledby\">{{ ('ALERT_BANNER.' + (alertType | uppercase)) | uiTranslate | async }}</span>\n <span [style.display]=\"'none'\" id=\"describedby\">{{ ariaDescribedby }}</span>\n <div class=\"primary-alert-container\">\n <div class=\"alert-text\">\n <ui-icon class=\"left-icon\" [name]=\"iconName\" size=\"24\" [applicationTheme]=\"applicationTheme\"></ui-icon>\n <span [innerHTML]=\"_message\"></span>\n <a *ngIf=\"!!linkText\" [target]=\"linkTarget\" [href]=\"linkUrl\">{{ linkText }}</a>\n </div>\n <ui-button\n *ngIf=\"includeDismissButton && applicationTheme === 'classic'\"\n variant=\"text\"\n [justIcon]=\"true\"\n class=\"close\"\n iconName=\"Close\"\n (buttonClickEvent)=\"dismissClick()\"\n ></ui-button>\n <ui-button\n *ngIf=\"includeDismissButton && applicationTheme !== 'classic' && alertVariant !== 'callout'\"\n class=\"right-icon\"\n [variant]=\"'icon-button'\"\n [applicationTheme]=\"applicationTheme\"\n [iconName]=\"'Close'\"\n [size]=\"'small'\"\n [justIcon]=\"true\"\n [tooltip]=\"(closeButtonTooltip || ('COMMON.CLOSE' | uiTranslate | async))!\"\n (click)=\"dismissClick()\"\n ></ui-button>\n </div>\n <div class=\"secondary-alerts-container\">\n <div class=\"alert-text\" *ngFor=\"let alert of _secondaryAlerts\">\n <ui-icon class=\"left-icon\" [name]=\"'Stop-filled'\" [applicationTheme]=\"applicationTheme\"></ui-icon>\n <span [innerHTML]=\"alert\"></span>\n </div>\n </div>\n</div>\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}: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}:host .alert-container[theme=dark].success,:host .alert-container[theme=light].success,:host .snackbar-container[theme=dark].success,:host .snackbar-container[theme=light].success{background-color:#aae47a}:host .alert-container[theme=dark].info,:host .alert-container[theme=light].info,:host .snackbar-container[theme=dark].info,:host .snackbar-container[theme=light].info{background-color:#d9e8ff}:host .alert-container[theme=dark].warning,:host .alert-container[theme=light].warning,:host .snackbar-container[theme=dark].warning,:host .snackbar-container[theme=light].warning{background-color:#ffe1b3}:host .alert-container[theme=dark].error,:host .alert-container[theme=light].error,:host .snackbar-container[theme=dark].error,:host .snackbar-container[theme=light].error{background-color:#ffac9a}::ng-deep .display-none{display:none!important}@media (max-width: 600px){:host .alert-container,:host .snackbar-container{padding:8px 14px}}:host .alert-container{max-width:1312px;flex-direction:column}: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}:host .alert-container[theme=dark] .alert-text,:host .alert-container[theme=light] .alert-text{padding:12px 0}:host .alert-container[theme=dark].banner,:host .alert-container[theme=light].banner{border-radius:0}:host .alert-container[theme=dark].callout,:host .alert-container[theme=light].callout{border-radius:10px}:host .alert-container[theme=dark].shadow,:host .alert-container[theme=light].shadow{box-shadow:0 4px 16px #2424240a}:host .alert-container[theme=dark] .left-icon,:host .alert-container[theme=light] .left-icon{margin-right:8px}:host .alert-container[theme=dark] .right-icon,:host .alert-container[theme=light] .right-icon{cursor:pointer;margin-left:8px;margin-right:2px}:host .alert-container .primary-alert-container{display:flex;justify-content:space-between;align-items:center;width:100%}:host .alert-container .secondary-alerts-container{padding-left:8px;display:flex;width:100%;flex-direction:column}:host .alert-container .secondary-alerts-container .alert-text{padding:4px 0}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.ButtonComponent, selector: "ui-button", inputs: ["size", "variant", "label", "iconPosition", "justIcon", "iconName", "disabled", "loading", "fullWidth", "url", "urlTarget", "value", "tooltip", "isPremium", "type", "companyColor", "buttonBadgeConfig", "applicationTheme", "disabledScaleOnClick", "ariaLabel", "ariaRequired", "ariaLabelledby", "ariaDescribedby", "preventDefault", "tooltipPosition"], outputs: ["buttonClickEvent", "buttonHoverEvent"] }, { kind: "component", type: i4.IconComponent, selector: "ui-icon", inputs: ["size", "cssClass", "name", "color", "filled", "applicationTheme", "useFullIconName"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.UpperCasePipe, name: "uppercase" }, { kind: "pipe", type: i5.UiTranslatePipe, name: "uiTranslate" }], animations: [
|
|
136
121
|
trigger('openClose', [
|
|
137
122
|
transition(':enter', [animate('0.2s ease-out', style({ opacity: 1 }))]),
|
|
138
123
|
transition(':leave', [animate('0.2s ease-in', style({ opacity: 0 }))]),
|
|
@@ -146,18 +131,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
146
131
|
transition(':enter', [animate('0.2s ease-out', style({ opacity: 1 }))]),
|
|
147
132
|
transition(':leave', [animate('0.2s ease-in', style({ opacity: 0 }))]),
|
|
148
133
|
]),
|
|
149
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n [ngClass]=\"cssClass\"\n [@openClose]\n *ngIf=\"visible\"\n role=\"alert\"\n class=\"alert-container\"\n [attr.theme]=\"applicationTheme\"\n [class.shadow]=\"alertVariant === 'callout' && shadow\"\n [attr.aria-live]=\"(alertType === 'error' || alertType === 'warning') ? 'assertive' : 'polite'\"\n [attr.aria-describedby]=\"'describedby'\"\n [attr.aria-labelledby]=\"'labelledby'\"\n [tabIndex]=\"0\"\n>\n <span style=\"position: absolute; left: -9999px\" id=\"labelledby\">{{ ('ALERT_BANNER.' + (alertType | uppercase)) | uiTranslate
|
|
134
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n [ngClass]=\"cssClass\"\n [@openClose]\n *ngIf=\"visible\"\n role=\"alert\"\n class=\"alert-container\"\n [attr.theme]=\"applicationTheme\"\n [class.shadow]=\"alertVariant === 'callout' && shadow\"\n [attr.aria-live]=\"(alertType === 'error' || alertType === 'warning') ? 'assertive' : 'polite'\"\n [attr.aria-describedby]=\"'describedby'\"\n [attr.aria-labelledby]=\"'labelledby'\"\n [tabIndex]=\"0\"\n>\n <span style=\"position: absolute; left: -9999px\" id=\"labelledby\">{{ ('ALERT_BANNER.' + (alertType | uppercase)) | uiTranslate | async }}</span>\n <span [style.display]=\"'none'\" id=\"describedby\">{{ ariaDescribedby }}</span>\n <div class=\"primary-alert-container\">\n <div class=\"alert-text\">\n <ui-icon class=\"left-icon\" [name]=\"iconName\" size=\"24\" [applicationTheme]=\"applicationTheme\"></ui-icon>\n <span [innerHTML]=\"_message\"></span>\n <a *ngIf=\"!!linkText\" [target]=\"linkTarget\" [href]=\"linkUrl\">{{ linkText }}</a>\n </div>\n <ui-button\n *ngIf=\"includeDismissButton && applicationTheme === 'classic'\"\n variant=\"text\"\n [justIcon]=\"true\"\n class=\"close\"\n iconName=\"Close\"\n (buttonClickEvent)=\"dismissClick()\"\n ></ui-button>\n <ui-button\n *ngIf=\"includeDismissButton && applicationTheme !== 'classic' && alertVariant !== 'callout'\"\n class=\"right-icon\"\n [variant]=\"'icon-button'\"\n [applicationTheme]=\"applicationTheme\"\n [iconName]=\"'Close'\"\n [size]=\"'small'\"\n [justIcon]=\"true\"\n [tooltip]=\"(closeButtonTooltip || ('COMMON.CLOSE' | uiTranslate | async))!\"\n (click)=\"dismissClick()\"\n ></ui-button>\n </div>\n <div class=\"secondary-alerts-container\">\n <div class=\"alert-text\" *ngFor=\"let alert of _secondaryAlerts\">\n <ui-icon class=\"left-icon\" [name]=\"'Stop-filled'\" [applicationTheme]=\"applicationTheme\"></ui-icon>\n <span [innerHTML]=\"alert\"></span>\n </div>\n </div>\n</div>\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}: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}:host .alert-container[theme=dark].success,:host .alert-container[theme=light].success,:host .snackbar-container[theme=dark].success,:host .snackbar-container[theme=light].success{background-color:#aae47a}:host .alert-container[theme=dark].info,:host .alert-container[theme=light].info,:host .snackbar-container[theme=dark].info,:host .snackbar-container[theme=light].info{background-color:#d9e8ff}:host .alert-container[theme=dark].warning,:host .alert-container[theme=light].warning,:host .snackbar-container[theme=dark].warning,:host .snackbar-container[theme=light].warning{background-color:#ffe1b3}:host .alert-container[theme=dark].error,:host .alert-container[theme=light].error,:host .snackbar-container[theme=dark].error,:host .snackbar-container[theme=light].error{background-color:#ffac9a}::ng-deep .display-none{display:none!important}@media (max-width: 600px){:host .alert-container,:host .snackbar-container{padding:8px 14px}}:host .alert-container{max-width:1312px;flex-direction:column}: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}:host .alert-container[theme=dark] .alert-text,:host .alert-container[theme=light] .alert-text{padding:12px 0}:host .alert-container[theme=dark].banner,:host .alert-container[theme=light].banner{border-radius:0}:host .alert-container[theme=dark].callout,:host .alert-container[theme=light].callout{border-radius:10px}:host .alert-container[theme=dark].shadow,:host .alert-container[theme=light].shadow{box-shadow:0 4px 16px #2424240a}:host .alert-container[theme=dark] .left-icon,:host .alert-container[theme=light] .left-icon{margin-right:8px}:host .alert-container[theme=dark] .right-icon,:host .alert-container[theme=light] .right-icon{cursor:pointer;margin-left:8px;margin-right:2px}:host .alert-container .primary-alert-container{display:flex;justify-content:space-between;align-items:center;width:100%}:host .alert-container .secondary-alerts-container{padding-left:8px;display:flex;width:100%;flex-direction:column}:host .alert-container .secondary-alerts-container .alert-text{padding:4px 0}\n"] }]
|
|
150
135
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
151
136
|
type: Optional
|
|
152
137
|
}, {
|
|
153
138
|
type: Inject,
|
|
154
139
|
args: ['CANOPYUI_DEFAULT_APPLICATION_THEME']
|
|
155
|
-
}] }, { type: i1.DomSanitizer },
|
|
156
|
-
type: Optional
|
|
157
|
-
}, {
|
|
158
|
-
type: Inject,
|
|
159
|
-
args: [CANOPY_UI_LANG]
|
|
160
|
-
}] }], propDecorators: { alertType: [{
|
|
140
|
+
}] }, { type: i1.DomSanitizer }], propDecorators: { alertType: [{
|
|
161
141
|
type: Input
|
|
162
142
|
}], alertVariant: [{
|
|
163
143
|
type: Input
|
|
@@ -179,8 +159,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
179
159
|
type: Input
|
|
180
160
|
}], closeButtonTooltip: [{
|
|
181
161
|
type: Input
|
|
182
|
-
}], language: [{
|
|
183
|
-
type: Input
|
|
184
162
|
}], ariaDescribedby: [{
|
|
185
163
|
type: Input
|
|
186
164
|
}], secondaryAlerts: [{
|
|
@@ -189,4 +167,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
189
167
|
type: HostBinding,
|
|
190
168
|
args: ['class.display-none']
|
|
191
169
|
}] } });
|
|
192
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQtYmFubmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9hbGVydC1iYW5uZXIvYWxlcnQtYmFubmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9hbGVydC1iYW5uZXIvYWxlcnQtYmFubmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMxRSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFFTCxRQUFRLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFLdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzdELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUU1RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7Ozs7Ozs7O0FBZTdELE1BQU0sT0FBTyxvQkFBb0I7SUFDL0IsWUFDNkUsZUFBaUMsRUFDcEcsWUFBMEIsRUFDcUIsT0FBaUI7UUFGRyxvQkFBZSxHQUFmLGVBQWUsQ0FBa0I7UUFDcEcsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDcUIsWUFBTyxHQUFQLE9BQU8sQ0FBVTtRQVUxRTs7Ozs7O1dBTUc7UUFDTSxjQUFTLEdBQWlCLFNBQVMsQ0FBQztRQUU3Qzs7Ozs7O1dBTUc7UUFDTSxpQkFBWSxHQUFpQixRQUFRLENBQUM7UUFXL0M7Ozs7O1dBS0c7UUFDTSx5QkFBb0IsR0FBRyxJQUFJLENBQUM7UUFFckM7Ozs7O1dBS0c7UUFDTSxXQUFNLEdBQUcsS0FBSyxDQUFDO1FBRXhC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Q0FBQzthQUN2RSxDQUFDO1NBQ0g7OzRGQUdVLG9CQUFvQjtrQkFaaEMsU0FBUzsrQkFDRSxpQkFBaUIsY0FHZjt3QkFDVixPQUFPLENBQUMsV0FBVyxFQUFFOzRCQUNuQixVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsT0FBTyxDQUFDLGVBQWUsRUFBRSxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7NEJBQ3ZFLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQzt5QkFDdkUsQ0FBQztxQkFDSCxtQkFDZ0IsdUJBQXVCLENBQUMsTUFBTTs7MEJBSTVDLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsb0NBQW9DOzswQkFFdkQsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxjQUFjO3lDQWlCM0IsU0FBUztzQkFBakIsS0FBSztnQkFTRyxZQUFZO3NCQUFwQixLQUFLO2dCQU9PLE9BQU87c0JBQW5CLEtBQUs7Z0JBVUcsb0JBQW9CO3NCQUE1QixLQUFLO2dCQVFHLE1BQU07c0JBQWQsS0FBSztnQkFRRyxRQUFRO3NCQUFoQixLQUFLO2dCQU9HLE9BQU87c0JBQWYsS0FBSztnQkFTRyxVQUFVO3NCQUFsQixLQUFLO2dCQVVHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFRRyxXQUFXO3NCQUFuQixLQUFLO2dCQVNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFTRyxRQUFRO3NCQUFoQixLQUFLO2dCQVFHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBRU8sZUFBZTtzQkFBM0IsS0FBSztnQkFJaUMsV0FBVztzQkFBakQsV0FBVzt1QkFBQyxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhbmltYXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSG9zdEJpbmRpbmcsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVIdG1sIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBJY29uTmFtZSB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvaWNvbi9pY29uLm1vZGVsJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uVGhlbWUgfSBmcm9tICcuLi8uLi9tb2RlbHMvYXBwbGljYXRpb24tdGhlbWUubW9kZWwnO1xuaW1wb3J0IHsgQWxlcnRCYXJUeXBlLCBBbGVydFZhcmlhbnQgfSBmcm9tICcuLi8uLi91dGlscy9hbGVydC1iYXIubW9kZWwnO1xuaW1wb3J0IHsgYWxlcnRCYXJzVXRpbCB9IGZyb20gJy4uLy4uL3V0aWxzL2FsZXJ0LWJhcnMudXRpbHMnO1xuaW1wb3J0IHsgTGFuZ3VhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdXRpbHMvbG9jYWxpemF0aW9uL2xhbmd1YWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgTGlua1RhcmdldFR5cGUgfSBmcm9tICcuL2FsZXJ0LWJhbm5lci5tb2RlbCc7XG5pbXBvcnQgeyBDQU5PUFlfVUlfTEFORyB9IGZyb20gJy4uLy4uL3Rva2Vucy9hcHAtbGFuZy50b2tlbic7XG5pbXBvcnQgeyBMYW5ndWFnZSB9IGZyb20gJy4uLy4uL3V0aWxzL2xvY2FsaXphdGlvbi9sYW5ndWFnZS5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3VpLWFsZXJ0LWJhbm5lcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9hbGVydC1iYW5uZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hbGVydC1iYW5uZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgYW5pbWF0aW9uczogW1xuICAgIHRyaWdnZXIoJ29wZW5DbG9zZScsIFtcbiAgICAgIHRyYW5zaXRpb24oJzplbnRlcicsIFthbmltYXRlKCcwLjJzIGVhc2Utb3V0Jywgc3R5bGUoeyBvcGFjaXR5OiAxIH0pKV0pLFxuICAgICAgdHJhbnNpdGlvbignOmxlYXZlJywgW2FuaW1hdGUoJzAuMnMgZWFzZS1pbicsIHN0eWxlKHsgb3BhY2l0eTogMCB9KSldKSxcbiAgICBdKSxcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEFsZXJ0QmFubmVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdCgnQ0FOT1BZVUlfREVGQVVMVF9BUFBMSUNBVElPTl9USEVNRScpIHByaXZhdGUgcmVhZG9ubHkgZGVmYXVsdEFwcFRoZW1lOiBBcHBsaWNhdGlvblRoZW1lLFxuICAgIHByaXZhdGUgZG9tU2FuaXRpemVyOiBEb21TYW5pdGl6ZXIsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChDQU5PUFlfVUlfTEFORykgcHJvdGVjdGVkIHJlYWRvbmx5IGFwcExhbmc6IExhbmd1YWdlLFxuICApIHtcbiAgICBpZiAoZGVmYXVsdEFwcFRoZW1lKSB7XG4gICAgICB0aGlzLmFwcGxpY2F0aW9uVGhlbWUgPSBkZWZhdWx0QXBwVGhlbWU7XG4gICAgfVxuICAgIGlmIChhcHBMYW5nKSB7XG4gICAgICB0aGlzLmxhbmd1YWdlID0gYXBwTGFuZztcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQWxlcnQgQmFubmVyIHR5cGVcbiAgICpcbiAgICogQHR5cGUge0FsZXJ0QmFyVHlwZX1cbiAgICogQGRlZmF1bHQgJ3N1Y2Nlc3MnXG4gICAqIEBtZW1iZXJvZiBBbGVydEJhbm5lckNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgYWxlcnRUeXBlOiBBbGVydEJhclR5cGUgPSAnc3VjY2Vzcyc7XG5cbiAgLyoqXG4gICAqIEFsZXJ0IEJhbm5lciB2YXJpYW50XG4gICAqXG4gICAqIEB0eXBlIHtBbGVydFZhcmlhbnR9XG4gICAqIEBkZWZhdWx0ICdiYW5uZXInXG4gICAqIEBtZW1iZXJvZiBBbGVydEJhbm5lckNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgYWxlcnRWYXJpYW50OiBBbGVydFZhcmlhbnQgPSAnYmFubmVyJztcblxuICAvKipcbiAgICogQWxlcnQgYmFubmVyIG1lc3NhZ2VcbiAgICpcbiAgICogQG1lbWJlcm9mIEFsZXJ0QmFubmVyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBzZXQgbWVzc2FnZShtc2c6IHN0cmluZykge1xuICAgIHRoaXMuX21lc3NhZ2UgPSB0aGlzLmRvbVNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChtc2cpO1xuICB9XG5cbiAgLyoqXG4gICAqIEluY2x1ZGUgZGlzbW1pc3MgYnV0dG9uXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICogQG1lbWJlcm9mIEFsZXJ0QmFubmVyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBpbmNsdWRlRGlzbWlzc0J1dHRvbiA9IHRydWU7XG5cbiAgLyoqXG4gICAqIEluY2x1ZGUgc2hhZG93IG9yIG5vdFxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKiBAbWVtYmVyb2YgQWxlcnRCYW5uZXJDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIHNoYWRvdyA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBMaW5rIHRleHQgdGhhdCB3aWxsIGFwcGVuZGVkIGF0IHRoZSBlbmQgb2YgbWVzc2FnZVxuICAgKlxuICAgKiBAZGVmYXVsdCAnJ1xuICAgKiBAbWVtYmVyb2YgQWxlcnRCYW5uZXJDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGxpbmtUZXh0PyA9ICcnO1xuXG4gIC8qKlxuICAgKiBMaW5rIHVybFxuICAgKlxuICAgKiBAbWVtYmVyb2YgQWxlcnRCYW5uZXJDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGxpbmtVcmw/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIExpbmsgdGFyZ2V0XG4gICAqXG4gICAqIEB0eXBlIHtAdHlwZSB7TGlua1RhcmdldFR5cGV9fVxuICAgKiBAZGVmYXVsdCAnX2JsYW5rJ1xuICAgKiBAbWVtYmVyb2YgQWxlcnRCYW5uZXJDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGxpbmtUYXJnZXQ/OiBMaW5rVGFyZ2V0VHlwZSA9ICdfYmxhbmsnO1xuXG4gIC8qKlxuICAgKlxuICAgKiBEZWZpbmVzIHRoZSBhcHBsaWNhdGlvbiB0aGVtZVxuICAgKlxuICAgKiBAdHlwZSB7QXBwbGljYXRpb25UaGVtZX1cbiAgICogQGRlZmF1bHQgJ2xpZ2h0J1xuICAgKiBAbWVtYmVyb2YgQWxlcnRCYW5uZXJDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGFwcGxpY2F0aW9uVGhlbWU6IEFwcGxpY2F0aW9uVGhlbWUgPSAnbGlnaHQnO1xuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBmdWxsIHdpZHRoXG4gICAqXG4gICAqIEB0eXBlIHtib29sZWFufVxuICAgKiBAbWVtYmVyb2YgQWxlcnRCYW5uZXJDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGlzRnVsbFdpZHRoOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBDbG9zZSBidXR0b24gdG9vbHRpcFxuICAgKlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAZGVmYXVsdCAnJ1xuICAgKiBAbWVtYmVyb2YgQWxlcnRCYW5uZXJDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGNsb3NlQnV0dG9uVG9vbHRpcCA9ICcnO1xuXG4gIC8qKlxuICAgKiBUaGUgbGFuZ3VhZ2UgdG8gYmUgdXNlZFxuICAgKiBAcHJvcGVydHkgbGFuZ3VhZ2VcbiAgICogQHR5cGUge0xhbmd1YWdlfVxuICAgKiBAZGVmYXVsdCBMYW5ndWFnZVNlcnZpY2UuZGVmYXVsdExhbmd1YWdlXG4gICAqIEBtZW1iZXJvZiBBbGVydEJhbm5lckNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgbGFuZ3VhZ2UgPSBMYW5ndWFnZVNlcnZpY2UuZGVmYXVsdExhbmd1YWdlO1xuXG4gIC8qKlxuICAgKiBBIHN0cmluZyByZXByZXNlbnRpbmcgdGhlIEFSSUEgcmVxdWlyZW1lbnQgZm9yIGFjY2Vzc2liaWxpdHkuXG4gICAqIFRoaXMgYXR0cmlidXRlIGlzIHVzZWQgdG8gaW5kaWNhdGUgd2hldGhlciBhbiBpbnB1dCBmaWVsZCBpcyByZXF1aXJlZCBmb3IgZm9ybSBzdWJtaXNzaW9uLlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAbWVtYmVyb2YgQWxlcnRCYW5uZXJDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGFyaWFEZXNjcmliZWRieSA9ICcnO1xuXG4gIEBJbnB1dCgpIHNldCBzZWNvbmRhcnlBbGVydHMoYWxlcnRzOnN0cmluZ1tdKXtcbiAgICB0aGlzLl9zZWNvbmRhcnlBbGVydHMgPSBhbGVydHMubWFwKCBhbGVydCA9PiB0aGlzLmRvbVNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChhbGVydCkpO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5kaXNwbGF5LW5vbmUnKSBnZXQgaXNEaXNtaXNzZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZGlzbWlzc0FsZXJ0QmFubmVyO1xuICB9XG5cbiAgaWNvbk5hbWU6IEljb25OYW1lO1xuICB2aXNpYmxlID0gdHJ1ZTtcbiAgZnVsbFdpZHRoOiBib29sZWFuO1xuICBmaXhlZDogYm9vbGVhbjtcbiAgcG9zaXRpb246IHN0cmluZztcbiAgY3NzQ2xhc3M6IHN0cmluZztcbiAgX21lc3NhZ2U6IFNhZmVIdG1sID0gJyc7XG4gIF9zZWNvbmRhcnlBbGVydHM6IFNhZmVIdG1sW10gPSBbXTtcbiAgZGlzbWlzc0FsZXJ0QmFubmVyID0gZmFsc2U7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pY29uTmFtZSA9IGFsZXJ0QmFyc1V0aWwuc2V0SWNvbih0aGlzLmFsZXJ0VHlwZSk7XG4gICAgdGhpcy5wb3NpdGlvbiA9IGFsZXJ0QmFyc1V0aWwuc2V0UG9zaXRpb24odGhpcy5maXhlZCk7XG4gICAgdGhpcy5maXhlZCA9IHRoaXMuYWxlcnRWYXJpYW50ID09PSAnYmFubmVyJyA/IHRydWUgOiBmYWxzZTtcbiAgICB0aGlzLmZ1bGxXaWR0aCA9IHRoaXMuaXNGdWxsV2lkdGggPz8gdGhpcy5hbGVydFZhcmlhbnQgPT09ICdiYW5uZXInO1xuICAgIHRoaXMuY3NzQ2xhc3MgPSBhbGVydEJhcnNVdGlsLnNldENzc0NsYXNzKHRoaXMuZnVsbFdpZHRoLCB0aGlzLmFsZXJ0VHlwZSwgdGhpcy5wb3NpdGlvbiwgdGhpcy5hbGVydFZhcmlhbnQpO1xuICB9XG5cbiAgLy9IaWRlIHNuYWNrYmFyIHdoZW4gZGlzbWlzcyBidXR0b24gaXMgY2xpY2tlZFxuICBkaXNtaXNzQ2xpY2soKSB7XG4gICAgdGhpcy52aXNpYmxlID0gZmFsc2U7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmRpc21pc3NBbGVydEJhbm5lciA9IHRydWU7XG4gICAgfSwgMjAwKTtcbiAgfVxufVxuIiwiPGRpdlxuICBbbmdDbGFzc109XCJjc3NDbGFzc1wiXG4gIFtAb3BlbkNsb3NlXVxuICAqbmdJZj1cInZpc2libGVcIlxuICByb2xlPVwiYWxlcnRcIlxuICBjbGFzcz1cImFsZXJ0LWNvbnRhaW5lclwiXG4gIFthdHRyLnRoZW1lXT1cImFwcGxpY2F0aW9uVGhlbWVcIlxuICBbY2xhc3Muc2hhZG93XT1cImFsZXJ0VmFyaWFudCA9PT0gJ2NhbGxvdXQnICYmIHNoYWRvd1wiXG4gIFthdHRyLmFyaWEtbGl2ZV09XCIoYWxlcnRUeXBlID09PSAnZXJyb3InIHx8IGFsZXJ0VHlwZSA9PT0gJ3dhcm5pbmcnKSA/ICdhc3NlcnRpdmUnIDogJ3BvbGl0ZSdcIlxuICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cIidkZXNjcmliZWRieSdcIlxuICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiJ2xhYmVsbGVkYnknXCJcbiAgW3RhYkluZGV4XT1cIjBcIlxuPlxuICA8c3BhbiBzdHlsZT1cInBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogLTk5OTlweFwiIGlkPVwibGFiZWxsZWRieVwiPnt7ICgnQUxFUlRfQkFOTkVSLicgKyAoYWxlcnRUeXBlIHwgdXBwZXJjYXNlKSkgfCB1aVRyYW5zbGF0ZSA6IGxhbmd1YWdlIH19PC9zcGFuPlxuICA8c3BhbiBbc3R5bGUuZGlzcGxheV09XCInbm9uZSdcIiBpZD1cImRlc2NyaWJlZGJ5XCI+e3sgYXJpYURlc2NyaWJlZGJ5IH19PC9zcGFuPlxuICA8ZGl2IGNsYXNzPVwicHJpbWFyeS1hbGVydC1jb250YWluZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYWxlcnQtdGV4dFwiPlxuICAgICAgPHVpLWljb24gY2xhc3M9XCJsZWZ0LWljb25cIiBbbmFtZV09XCJpY29uTmFtZVwiIHNpemU9XCIyNFwiIFthcHBsaWNhdGlvblRoZW1lXT1cImFwcGxpY2F0aW9uVGhlbWVcIj48L3VpLWljb24+XG4gICAgICA8c3BhbiBbaW5uZXJIVE1MXT1cIl9tZXNzYWdlXCI+PC9zcGFuPlxuICAgICAgPGEgKm5nSWY9XCIhIWxpbmtUZXh0XCIgW3RhcmdldF09XCJsaW5rVGFyZ2V0XCIgW2hyZWZdPVwibGlua1VybFwiPnt7IGxpbmtUZXh0IH19PC9hPlxuICAgIDwvZGl2PlxuICAgIDx1aS1idXR0b25cbiAgICAgICpuZ0lmPVwiaW5jbHVkZURpc21pc3NCdXR0b24gJiYgYXBwbGljYXRpb25UaGVtZSA9PT0gJ2NsYXNzaWMnXCJcbiAgICAgIHZhcmlhbnQ9XCJ0ZXh0XCJcbiAgICAgIFtqdXN0SWNvbl09XCJ0cnVlXCJcbiAgICAgIGNsYXNzPVwiY2xvc2VcIlxuICAgICAgaWNvbk5hbWU9XCJDbG9zZVwiXG4gICAgICAoYnV0dG9uQ2xpY2tFdmVudCk9XCJkaXNtaXNzQ2xpY2soKVwiXG4gICAgPjwvdWktYnV0dG9uPlxuICAgIDx1aS1idXR0b25cbiAgICAgICpuZ0lmPVwiaW5jbHVkZURpc21pc3NCdXR0b24gJiYgYXBwbGljYXRpb25UaGVtZSAhPT0gJ2NsYXNzaWMnICYmIGFsZXJ0VmFyaWFudCAhPT0gJ2NhbGxvdXQnXCJcbiAgICAgIGNsYXNzPVwicmlnaHQtaWNvblwiXG4gICAgICBbdmFyaWFudF09XCInaWNvbi1idXR0b24nXCJcbiAgICAgIFthcHBsaWNhdGlvblRoZW1lXT1cImFwcGxpY2F0aW9uVGhlbWVcIlxuICAgICAgW2ljb25OYW1lXT1cIidDbG9zZSdcIlxuICAgICAgW3NpemVdPVwiJ3NtYWxsJ1wiXG4gICAgICBbanVzdEljb25dPVwidHJ1ZVwiXG4gICAgICBbdG9vbHRpcF09XCJjbG9zZUJ1dHRvblRvb2x0aXAgfHwgKCdDT01NT04uQ0xPU0UnIHwgdWlUcmFuc2xhdGUgOiBsYW5ndWFnZSlcIlxuICAgICAgKGNsaWNrKT1cImRpc21pc3NDbGljaygpXCJcbiAgICA+PC91aS1idXR0b24+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwic2Vjb25kYXJ5LWFsZXJ0cy1jb250YWluZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYWxlcnQtdGV4dFwiICpuZ0Zvcj1cImxldCBhbGVydCBvZiBfc2Vjb25kYXJ5QWxlcnRzXCI+XG4gICAgICA8dWktaWNvbiBjbGFzcz1cImxlZnQtaWNvblwiIFtuYW1lXT1cIidTdG9wLWZpbGxlZCdcIiBbYXBwbGljYXRpb25UaGVtZV09XCJhcHBsaWNhdGlvblRoZW1lXCI+PC91aS1pY29uPlxuICAgICAgPHNwYW4gW2lubmVySFRNTF09XCJhbGVydFwiPjwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
170
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQtYmFubmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9hbGVydC1iYW5uZXIvYWxlcnQtYmFubmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9hbGVydC1iYW5uZXIvYWxlcnQtYmFubmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMxRSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFFTCxRQUFRLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFLdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7Ozs7O0FBZTdELE1BQU0sT0FBTyxvQkFBb0I7SUFDL0IsWUFDNkUsZUFBaUMsRUFDcEcsWUFBMEI7UUFEeUMsb0JBQWUsR0FBZixlQUFlLENBQWtCO1FBQ3BHLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBT3BDOzs7Ozs7V0FNRztRQUNNLGNBQVMsR0FBaUIsU0FBUyxDQUFDO1FBRTdDOzs7Ozs7V0FNRztRQUNNLGlCQUFZLEdBQWlCLFFBQVEsQ0FBQztRQVcvQzs7Ozs7V0FLRztRQUNNLHlCQUFvQixHQUFHLElBQUksQ0FBQztRQUVyQzs7Ozs7V0FLRztRQUNNLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFFeEI7Ozs7O1dBS0c7UUFDTSxhQUFRLEdBQUksRUFBRSxDQUFDO1FBU3hCOzs7Ozs7V0FNRztRQUNNLGVBQVUsR0FBb0IsUUFBUSxDQUFDO1FBRWhEOzs7Ozs7O1dBT0c7UUFDTSxxQkFBZ0IsR0FBcUIsT0FBTyxDQUFDO1FB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QyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQzt5QkFDdkUsQ0FBQztxQkFDSCxtQkFDZ0IsdUJBQXVCLENBQUMsTUFBTTs7MEJBSTVDLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsb0NBQW9DO29FQWVqRCxTQUFTO3NCQUFqQixLQUFLO2dCQVNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBT08sT0FBTztzQkFBbkIsS0FBSztnQkFVRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBUUcsTUFBTTtzQkFBZCxLQUFLO2dCQVFHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBT0csT0FBTztzQkFBZixLQUFLO2dCQVNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBVUcsZ0JBQWdCO3NCQUF4QixLQUFLO2dCQVFHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBU0csa0JBQWtCO3NCQUExQixLQUFLO2dCQVFHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBRU8sZUFBZTtzQkFBM0IsS0FBSztnQkFJaUMsV0FBVztzQkFBakQsV0FBVzt1QkFBQyxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhbmltYXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSG9zdEJpbmRpbmcsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVIdG1sIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBJY29uTmFtZSB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvaWNvbi9pY29uLm1vZGVsJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uVGhlbWUgfSBmcm9tICcuLi8uLi9tb2RlbHMvYXBwbGljYXRpb24tdGhlbWUubW9kZWwnO1xuaW1wb3J0IHsgQWxlcnRCYXJUeXBlLCBBbGVydFZhcmlhbnQgfSBmcm9tICcuLi8uLi91dGlscy9hbGVydC1iYXIubW9kZWwnO1xuaW1wb3J0IHsgYWxlcnRCYXJzVXRpbCB9IGZyb20gJy4uLy4uL3V0aWxzL2FsZXJ0LWJhcnMudXRpbHMnO1xuaW1wb3J0IHsgTGlua1RhcmdldFR5cGUgfSBmcm9tICcuL2FsZXJ0LWJhbm5lci5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3VpLWFsZXJ0LWJhbm5lcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9hbGVydC1iYW5uZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hbGVydC1iYW5uZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgYW5pbWF0aW9uczogW1xuICAgIHRyaWdnZXIoJ29wZW5DbG9zZScsIFtcbiAgICAgIHRyYW5zaXRpb24oJzplbnRlcicsIFthbmltYXRlKCcwLjJzIGVhc2Utb3V0Jywgc3R5bGUoeyBvcGFjaXR5OiAxIH0pKV0pLFxuICAgICAgdHJhbnNpdGlvbignOmxlYXZlJywgW2FuaW1hdGUoJzAuMnMgZWFzZS1pbicsIHN0eWxlKHsgb3BhY2l0eTogMCB9KSldKSxcbiAgICBdKSxcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEFsZXJ0QmFubmVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdCgnQ0FOT1BZVUlfREVGQVVMVF9BUFBMSUNBVElPTl9USEVNRScpIHByaXZhdGUgcmVhZG9ubHkgZGVmYXVsdEFwcFRoZW1lOiBBcHBsaWNhdGlvblRoZW1lLFxuICAgIHByaXZhdGUgZG9tU2FuaXRpemVyOiBEb21TYW5pdGl6ZXIsXG4gICkge1xuICAgIGlmIChkZWZhdWx0QXBwVGhlbWUpIHtcbiAgICAgIHRoaXMuYXBwbGljYXRpb25UaGVtZSA9IGRlZmF1bHRBcHBUaGVtZTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQWxlcnQgQmFubmVyIHR5cGVcbiAgICpcbiAgICogQHR5cGUge0FsZXJ0QmFyVHlwZX1cbiAgICogQGRlZmF1bHQgJ3N1Y2Nlc3MnXG4gICAqIEBtZW1iZXJvZiBBbGVydEJhbm5lckNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgYWxlcnRUeXBlOiBBbGVydEJhclR5cGUgPSAnc3VjY2Vzcyc7XG5cbiAgLyoqXG4gICAqIEFsZXJ0IEJhbm5lciB2YXJpYW50XG4gICAqXG4gICAqIEB0eXBlIHtBbGVydFZhcmlhbnR9XG4gICAqIEBkZWZhdWx0ICdiYW5uZXInXG4gICAqIEBtZW1iZXJvZiBBbGVydEJhbm5lckNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgYWxlcnRWYXJpYW50OiBBbGVydFZhcmlhbnQgPSAnYmFubmVyJztcblxuICAvKipcbiAgICogQWxlcnQgYmFubmVyIG1lc3NhZ2VcbiAgICpcbiAgICogQG1lbWJlcm9mIEFsZXJ0QmFubmVyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBzZXQgbWVzc2FnZShtc2c6IHN0cmluZykge1xuICAgIHRoaXMuX21lc3NhZ2UgPSB0aGlzLmRvbVNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChtc2cpO1xuICB9XG5cbiAgLyoqXG4gICAqIEluY2x1ZGUgZGlzbW1pc3MgYnV0dG9uXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICogQG1lbWJlcm9mIEFsZXJ0QmFubmVyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBpbmNsdWRlRGlzbWlzc0J1dHRvbiA9IHRydWU7XG5cbiAgLyoqXG4gICAqIEluY2x1ZGUgc2hhZG93IG9yIG5vdFxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKiBAbWVtYmVyb2YgQWxlcnRCYW5uZXJDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIHNoYWRvdyA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBMaW5rIHRleHQgdGhhdCB3aWxsIGFwcGVuZGVkIGF0IHRoZSBlbmQgb2YgbWVzc2FnZVxuICAgKlxuICAgKiBAZGVmYXVsdCAnJ1xuICAgKiBAbWVtYmVyb2YgQWxlcnRCYW5uZXJDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGxpbmtUZXh0PyA9ICcnO1xuXG4gIC8qKlxuICAgKiBMaW5rIHVybFxuICAgKlxuICAgKiBAbWVtYmVyb2YgQWxlcnRCYW5uZXJDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGxpbmtVcmw/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIExpbmsgdGFyZ2V0XG4gICAqXG4gICAqIEB0eXBlIHtAdHlwZSB7TGlua1RhcmdldFR5cGV9fVxuICAgKiBAZGVmYXVsdCAnX2JsYW5rJ1xuICAgKiBAbWVtYmVyb2YgQWxlcnRCYW5uZXJDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGxpbmtUYXJnZXQ/OiBMaW5rVGFyZ2V0VHlwZSA9ICdfYmxhbmsnO1xuXG4gIC8qKlxuICAgKlxuICAgKiBEZWZpbmVzIHRoZSBhcHBsaWNhdGlvbiB0aGVtZVxuICAgKlxuICAgKiBAdHlwZSB7QXBwbGljYXRpb25UaGVtZX1cbiAgICogQGRlZmF1bHQgJ2xpZ2h0J1xuICAgKiBAbWVtYmVyb2YgQWxlcnRCYW5uZXJDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGFwcGxpY2F0aW9uVGhlbWU6IEFwcGxpY2F0aW9uVGhlbWUgPSAnbGlnaHQnO1xuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBmdWxsIHdpZHRoXG4gICAqXG4gICAqIEB0eXBlIHtib29sZWFufVxuICAgKiBAbWVtYmVyb2YgQWxlcnRCYW5uZXJDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGlzRnVsbFdpZHRoOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBDbG9zZSBidXR0b24gdG9vbHRpcFxuICAgKlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAZGVmYXVsdCAnJ1xuICAgKiBAbWVtYmVyb2YgQWxlcnRCYW5uZXJDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGNsb3NlQnV0dG9uVG9vbHRpcCA9ICcnO1xuXG4gIC8qKlxuICAgKiBBIHN0cmluZyByZXByZXNlbnRpbmcgdGhlIEFSSUEgcmVxdWlyZW1lbnQgZm9yIGFjY2Vzc2liaWxpdHkuXG4gICAqIFRoaXMgYXR0cmlidXRlIGlzIHVzZWQgdG8gaW5kaWNhdGUgd2hldGhlciBhbiBpbnB1dCBmaWVsZCBpcyByZXF1aXJlZCBmb3IgZm9ybSBzdWJtaXNzaW9uLlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAbWVtYmVyb2YgQWxlcnRCYW5uZXJDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGFyaWFEZXNjcmliZWRieSA9ICcnO1xuXG4gIEBJbnB1dCgpIHNldCBzZWNvbmRhcnlBbGVydHMoYWxlcnRzOnN0cmluZ1tdKXtcbiAgICB0aGlzLl9zZWNvbmRhcnlBbGVydHMgPSBhbGVydHMubWFwKCBhbGVydCA9PiB0aGlzLmRvbVNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChhbGVydCkpO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5kaXNwbGF5LW5vbmUnKSBnZXQgaXNEaXNtaXNzZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZGlzbWlzc0FsZXJ0QmFubmVyO1xuICB9XG5cbiAgaWNvbk5hbWU6IEljb25OYW1lO1xuICB2aXNpYmxlID0gdHJ1ZTtcbiAgZnVsbFdpZHRoOiBib29sZWFuO1xuICBmaXhlZDogYm9vbGVhbjtcbiAgcG9zaXRpb246IHN0cmluZztcbiAgY3NzQ2xhc3M6IHN0cmluZztcbiAgX21lc3NhZ2U6IFNhZmVIdG1sID0gJyc7XG4gIF9zZWNvbmRhcnlBbGVydHM6IFNhZmVIdG1sW10gPSBbXTtcbiAgZGlzbWlzc0FsZXJ0QmFubmVyID0gZmFsc2U7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pY29uTmFtZSA9IGFsZXJ0QmFyc1V0aWwuc2V0SWNvbih0aGlzLmFsZXJ0VHlwZSk7XG4gICAgdGhpcy5wb3NpdGlvbiA9IGFsZXJ0QmFyc1V0aWwuc2V0UG9zaXRpb24odGhpcy5maXhlZCk7XG4gICAgdGhpcy5maXhlZCA9IHRoaXMuYWxlcnRWYXJpYW50ID09PSAnYmFubmVyJyA/IHRydWUgOiBmYWxzZTtcbiAgICB0aGlzLmZ1bGxXaWR0aCA9IHRoaXMuaXNGdWxsV2lkdGggPz8gdGhpcy5hbGVydFZhcmlhbnQgPT09ICdiYW5uZXInO1xuICAgIHRoaXMuY3NzQ2xhc3MgPSBhbGVydEJhcnNVdGlsLnNldENzc0NsYXNzKHRoaXMuZnVsbFdpZHRoLCB0aGlzLmFsZXJ0VHlwZSwgdGhpcy5wb3NpdGlvbiwgdGhpcy5hbGVydFZhcmlhbnQpO1xuICB9XG5cbiAgLy9IaWRlIHNuYWNrYmFyIHdoZW4gZGlzbWlzcyBidXR0b24gaXMgY2xpY2tlZFxuICBkaXNtaXNzQ2xpY2soKSB7XG4gICAgdGhpcy52aXNpYmxlID0gZmFsc2U7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmRpc21pc3NBbGVydEJhbm5lciA9IHRydWU7XG4gICAgfSwgMjAwKTtcbiAgfVxufVxuIiwiPGRpdlxuICBbbmdDbGFzc109XCJjc3NDbGFzc1wiXG4gIFtAb3BlbkNsb3NlXVxuICAqbmdJZj1cInZpc2libGVcIlxuICByb2xlPVwiYWxlcnRcIlxuICBjbGFzcz1cImFsZXJ0LWNvbnRhaW5lclwiXG4gIFthdHRyLnRoZW1lXT1cImFwcGxpY2F0aW9uVGhlbWVcIlxuICBbY2xhc3Muc2hhZG93XT1cImFsZXJ0VmFyaWFudCA9PT0gJ2NhbGxvdXQnICYmIHNoYWRvd1wiXG4gIFthdHRyLmFyaWEtbGl2ZV09XCIoYWxlcnRUeXBlID09PSAnZXJyb3InIHx8IGFsZXJ0VHlwZSA9PT0gJ3dhcm5pbmcnKSA/ICdhc3NlcnRpdmUnIDogJ3BvbGl0ZSdcIlxuICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cIidkZXNjcmliZWRieSdcIlxuICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiJ2xhYmVsbGVkYnknXCJcbiAgW3RhYkluZGV4XT1cIjBcIlxuPlxuICA8c3BhbiBzdHlsZT1cInBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogLTk5OTlweFwiIGlkPVwibGFiZWxsZWRieVwiPnt7ICgnQUxFUlRfQkFOTkVSLicgKyAoYWxlcnRUeXBlIHwgdXBwZXJjYXNlKSkgfCB1aVRyYW5zbGF0ZSB8IGFzeW5jIH19PC9zcGFuPlxuICA8c3BhbiBbc3R5bGUuZGlzcGxheV09XCInbm9uZSdcIiBpZD1cImRlc2NyaWJlZGJ5XCI+e3sgYXJpYURlc2NyaWJlZGJ5IH19PC9zcGFuPlxuICA8ZGl2IGNsYXNzPVwicHJpbWFyeS1hbGVydC1jb250YWluZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYWxlcnQtdGV4dFwiPlxuICAgICAgPHVpLWljb24gY2xhc3M9XCJsZWZ0LWljb25cIiBbbmFtZV09XCJpY29uTmFtZVwiIHNpemU9XCIyNFwiIFthcHBsaWNhdGlvblRoZW1lXT1cImFwcGxpY2F0aW9uVGhlbWVcIj48L3VpLWljb24+XG4gICAgICA8c3BhbiBbaW5uZXJIVE1MXT1cIl9tZXNzYWdlXCI+PC9zcGFuPlxuICAgICAgPGEgKm5nSWY9XCIhIWxpbmtUZXh0XCIgW3RhcmdldF09XCJsaW5rVGFyZ2V0XCIgW2hyZWZdPVwibGlua1VybFwiPnt7IGxpbmtUZXh0IH19PC9hPlxuICAgIDwvZGl2PlxuICAgIDx1aS1idXR0b25cbiAgICAgICpuZ0lmPVwiaW5jbHVkZURpc21pc3NCdXR0b24gJiYgYXBwbGljYXRpb25UaGVtZSA9PT0gJ2NsYXNzaWMnXCJcbiAgICAgIHZhcmlhbnQ9XCJ0ZXh0XCJcbiAgICAgIFtqdXN0SWNvbl09XCJ0cnVlXCJcbiAgICAgIGNsYXNzPVwiY2xvc2VcIlxuICAgICAgaWNvbk5hbWU9XCJDbG9zZVwiXG4gICAgICAoYnV0dG9uQ2xpY2tFdmVudCk9XCJkaXNtaXNzQ2xpY2soKVwiXG4gICAgPjwvdWktYnV0dG9uPlxuICAgIDx1aS1idXR0b25cbiAgICAgICpuZ0lmPVwiaW5jbHVkZURpc21pc3NCdXR0b24gJiYgYXBwbGljYXRpb25UaGVtZSAhPT0gJ2NsYXNzaWMnICYmIGFsZXJ0VmFyaWFudCAhPT0gJ2NhbGxvdXQnXCJcbiAgICAgIGNsYXNzPVwicmlnaHQtaWNvblwiXG4gICAgICBbdmFyaWFudF09XCInaWNvbi1idXR0b24nXCJcbiAgICAgIFthcHBsaWNhdGlvblRoZW1lXT1cImFwcGxpY2F0aW9uVGhlbWVcIlxuICAgICAgW2ljb25OYW1lXT1cIidDbG9zZSdcIlxuICAgICAgW3NpemVdPVwiJ3NtYWxsJ1wiXG4gICAgICBbanVzdEljb25dPVwidHJ1ZVwiXG4gICAgICBbdG9vbHRpcF09XCIoY2xvc2VCdXR0b25Ub29sdGlwIHx8ICgnQ09NTU9OLkNMT1NFJyB8IHVpVHJhbnNsYXRlIHwgYXN5bmMpKSFcIlxuICAgICAgKGNsaWNrKT1cImRpc21pc3NDbGljaygpXCJcbiAgICA+PC91aS1idXR0b24+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwic2Vjb25kYXJ5LWFsZXJ0cy1jb250YWluZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYWxlcnQtdGV4dFwiICpuZ0Zvcj1cImxldCBhbGVydCBvZiBfc2Vjb25kYXJ5QWxlcnRzXCI+XG4gICAgICA8dWktaWNvbiBjbGFzcz1cImxlZnQtaWNvblwiIFtuYW1lXT1cIidTdG9wLWZpbGxlZCdcIiBbYXBwbGljYXRpb25UaGVtZV09XCJhcHBsaWNhdGlvblRoZW1lXCI+PC91aS1pY29uPlxuICAgICAgPHNwYW4gW2lubmVySFRNTF09XCJhbGVydFwiPjwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|