@sebgroup/green-angular 1.10.0 → 2.0.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/esm2020/lib/accordion/accordion-list-item.component.mjs +3 -3
- package/esm2020/lib/accordion/accordion.component.mjs +3 -3
- package/esm2020/lib/accordion/accordion.module.mjs +4 -4
- package/esm2020/lib/badge/badge.component.mjs +3 -3
- package/esm2020/lib/badge/badge.module.mjs +4 -4
- package/esm2020/lib/button/button.component.mjs +3 -3
- package/esm2020/lib/button/button.module.mjs +4 -4
- package/esm2020/lib/context-menu/context-menu.component.mjs +4 -4
- package/esm2020/lib/context-menu/context-menu.module.mjs +4 -4
- package/esm2020/lib/datepicker/datepicker.component.mjs +4 -4
- package/esm2020/lib/datepicker/datepicker.module.mjs +4 -4
- package/esm2020/lib/dropdown/dropdown-button.directive.mjs +3 -3
- package/esm2020/lib/dropdown/dropdown-option.directive.mjs +3 -3
- package/esm2020/lib/dropdown/dropdown.component.mjs +75 -74
- package/esm2020/lib/dropdown/dropdown.module.mjs +11 -15
- package/esm2020/lib/green-angular.module.mjs +4 -4
- package/esm2020/lib/in-page-wizard/in-page-wizard-step-card.component.mjs +5 -5
- package/esm2020/lib/in-page-wizard/in-page-wizard.module.mjs +4 -4
- package/esm2020/lib/modal/modal-footer.directive.mjs +3 -3
- package/esm2020/lib/modal/modal-header.directive.mjs +3 -3
- package/esm2020/lib/modal/modal.component.mjs +12 -12
- package/esm2020/lib/modal/modal.module.mjs +4 -4
- package/esm2020/lib/pagination/pagination.component.mjs +3 -3
- package/esm2020/lib/pagination/pagination.module.mjs +4 -4
- package/esm2020/lib/progress-circle/progress-circle.component.mjs +3 -3
- package/esm2020/lib/progress-circle/progress-circle.module.mjs +4 -4
- package/esm2020/lib/segmented-control/segmented-control.component.mjs +4 -4
- package/esm2020/lib/segmented-control/segmented-control.module.mjs +4 -4
- package/esm2020/lib/shared/core-element/core-element.directive.mjs +33 -0
- package/esm2020/lib/shared/core-element/core-element.module.mjs +18 -0
- package/esm2020/lib/shared/on-scroll.directive.mjs +3 -3
- package/esm2020/lib/shared/shared.module.mjs +4 -4
- package/esm2020/lib/slider/slider.component.mjs +6 -6
- package/esm2020/lib/slider/slider.module.mjs +4 -4
- package/fesm2015/sebgroup-green-angular.mjs +238 -212
- package/fesm2015/sebgroup-green-angular.mjs.map +1 -1
- package/fesm2020/sebgroup-green-angular.mjs +243 -203
- package/fesm2020/sebgroup-green-angular.mjs.map +1 -1
- package/lib/accordion/accordion-list-item.component.d.ts +1 -1
- package/lib/accordion/accordion.component.d.ts +1 -1
- package/lib/badge/badge.component.d.ts +1 -1
- package/lib/button/button.component.d.ts +1 -1
- package/lib/context-menu/context-menu.component.d.ts +2 -2
- package/lib/datepicker/datepicker.component.d.ts +13 -4
- package/lib/dropdown/dropdown-button.directive.d.ts +1 -1
- package/lib/dropdown/dropdown-option.directive.d.ts +1 -1
- package/lib/dropdown/dropdown.component.d.ts +33 -25
- package/lib/dropdown/dropdown.module.d.ts +2 -1
- package/lib/in-page-wizard/in-page-wizard-step-card.component.d.ts +1 -1
- package/lib/modal/modal-footer.directive.d.ts +1 -1
- package/lib/modal/modal-header.directive.d.ts +1 -1
- package/lib/modal/modal.component.d.ts +4 -4
- package/lib/pagination/pagination.component.d.ts +1 -1
- package/lib/progress-circle/progress-circle.component.d.ts +1 -1
- package/lib/segmented-control/segmented-control.component.d.ts +1 -1
- package/lib/shared/core-element/core-element.directive.d.ts +13 -0
- package/lib/shared/core-element/core-element.module.d.ts +8 -0
- package/lib/shared/on-scroll.directive.d.ts +1 -1
- package/lib/slider/slider.component.d.ts +1 -1
- package/package.json +10 -9
|
@@ -1,73 +1,108 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Component, ContentChild, ElementRef, EventEmitter, Inject, Injector, Input, Output, ViewChild, } from '@angular/core';
|
|
2
2
|
import { NgControl, NG_VALUE_ACCESSOR, } from '@angular/forms';
|
|
3
|
-
import { createDropdown, dropdownValues, } from '@sebgroup/extract';
|
|
4
3
|
import { NggDropdownOptionDirective } from './dropdown-option.directive';
|
|
5
4
|
import { NggDropdownButtonDirective } from './dropdown-button.directive';
|
|
5
|
+
import { registerTransitionalStyles } from '@sebgroup/green-core/transitional-styles';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
import * as i1 from "@angular/common";
|
|
8
|
+
import * as i2 from "../shared/core-element/core-element.directive";
|
|
8
9
|
export class NggDropdownComponent {
|
|
9
|
-
constructor(
|
|
10
|
-
this.cd = cd;
|
|
10
|
+
constructor(injector) {
|
|
11
11
|
this.injector = injector;
|
|
12
12
|
this.loop = false;
|
|
13
|
+
this.display = 'label';
|
|
14
|
+
this.useValue = 'value';
|
|
13
15
|
this.options = [];
|
|
14
16
|
this._multiSelect = false;
|
|
15
17
|
this._searchable = false;
|
|
16
18
|
this.valueChange = new EventEmitter();
|
|
17
19
|
this.touched = new EventEmitter();
|
|
18
|
-
this.
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
20
|
+
this.onValueChange = (event) => {
|
|
21
|
+
const target = event.target;
|
|
22
|
+
this._value = target.value;
|
|
23
|
+
this.texts = {
|
|
24
|
+
...this.texts,
|
|
25
|
+
select: this.getDisplayText(this._value),
|
|
26
|
+
};
|
|
27
|
+
this.onChangeFn?.(this.value);
|
|
28
|
+
this.valueChange.emit(this.value);
|
|
23
29
|
};
|
|
30
|
+
// These adapter functions are used to maintain backwards compatibility with the old interface
|
|
31
|
+
this.compareWithAdapter = (o1, o2) => {
|
|
32
|
+
const compareFn = this.compareWith || ((a, b) => a === b);
|
|
33
|
+
return compareFn(o1, o2);
|
|
34
|
+
};
|
|
35
|
+
this.searchFilterAdapter = (q, o) => {
|
|
36
|
+
if (this.searchFilter)
|
|
37
|
+
return this.searchFilter(q, o.value[this.useValue]);
|
|
38
|
+
else
|
|
39
|
+
return ((q, o) => o.innerHTML.toLowerCase().includes(q.toLowerCase()))(q, o);
|
|
40
|
+
};
|
|
41
|
+
this.optionByValue = (value) => {
|
|
42
|
+
return this.options?.find((o) => o[this.useValue] === value);
|
|
43
|
+
};
|
|
44
|
+
this.getDisplayText = (value) => {
|
|
45
|
+
if (!Array.isArray(value))
|
|
46
|
+
return (this.optionByValue(value)?.[this.display] ||
|
|
47
|
+
(this.texts?.placeholder ?? 'Select'));
|
|
48
|
+
const displayValues = value.map((v) => this.optionByValue(v)?.[this.display]);
|
|
49
|
+
return displayValues?.length > 2
|
|
50
|
+
? `${displayValues.length} ${this.texts?.selected} `
|
|
51
|
+
: displayValues?.join(', ') || (this.texts?.placeholder ?? 'Select');
|
|
52
|
+
};
|
|
53
|
+
registerTransitionalStyles();
|
|
24
54
|
}
|
|
55
|
+
//
|
|
25
56
|
set multiSelect(value) {
|
|
26
57
|
this._multiSelect = this.convertToBoolean(value);
|
|
27
58
|
}
|
|
28
59
|
get multiSelect() {
|
|
29
60
|
return this._multiSelect;
|
|
30
61
|
}
|
|
62
|
+
//
|
|
31
63
|
set searchable(value) {
|
|
32
64
|
this._searchable = this.convertToBoolean(value);
|
|
33
65
|
}
|
|
34
66
|
get searchable() {
|
|
35
67
|
return this._searchable;
|
|
36
68
|
}
|
|
69
|
+
//
|
|
37
70
|
set value(newValue) {
|
|
38
|
-
this.
|
|
71
|
+
if (!this.options)
|
|
72
|
+
return;
|
|
39
73
|
this._value = newValue;
|
|
74
|
+
this.texts = {
|
|
75
|
+
...this.texts,
|
|
76
|
+
select: this.getDisplayText(this._value),
|
|
77
|
+
};
|
|
40
78
|
}
|
|
41
79
|
get value() {
|
|
42
80
|
return this._value;
|
|
43
81
|
}
|
|
82
|
+
//
|
|
44
83
|
get selectedOption() {
|
|
45
|
-
return this.
|
|
84
|
+
return this.value;
|
|
46
85
|
}
|
|
47
86
|
get control() {
|
|
48
87
|
return this.injector.get(NgControl);
|
|
49
88
|
}
|
|
50
89
|
ngAfterViewInit() {
|
|
51
|
-
if (this.
|
|
52
|
-
|
|
53
|
-
this.
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
this.
|
|
58
|
-
}, (value) => {
|
|
59
|
-
this.updateValue(value);
|
|
60
|
-
}, this.fixedPlacement);
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
ngOnDestroy() {
|
|
64
|
-
this.handler?.destroy();
|
|
65
|
-
}
|
|
66
|
-
ngOnChanges(changes) {
|
|
67
|
-
if (this.handler &&
|
|
68
|
-
(changes.id || changes.texts || changes.loop || changes.options)) {
|
|
69
|
-
this.handler.update(this.props);
|
|
90
|
+
if (!this._value) {
|
|
91
|
+
if (this.multiSelect)
|
|
92
|
+
this._value = this.options
|
|
93
|
+
?.filter((o) => o.selected === true)
|
|
94
|
+
?.map((o) => o[this.useValue]);
|
|
95
|
+
else
|
|
96
|
+
this._value = this.options?.find((o) => o.selected === true)?.[this.useValue];
|
|
70
97
|
}
|
|
98
|
+
this.texts = {
|
|
99
|
+
close: this.texts?.close ?? 'Close',
|
|
100
|
+
optionsDescription: this.texts?.optionsDescription ?? 'Options',
|
|
101
|
+
placeholder: this.texts?.placeholder ?? 'Select',
|
|
102
|
+
searchPlaceholder: this.texts?.searchPlaceholder ?? 'Search',
|
|
103
|
+
selected: this.texts?.selected ?? 'selected',
|
|
104
|
+
select: this.getDisplayText(this._value),
|
|
105
|
+
};
|
|
71
106
|
}
|
|
72
107
|
writeValue(value) {
|
|
73
108
|
this.value = value;
|
|
@@ -78,47 +113,19 @@ export class NggDropdownComponent {
|
|
|
78
113
|
registerOnTouched(fn) {
|
|
79
114
|
this.onTouchedFn = fn;
|
|
80
115
|
}
|
|
81
|
-
search($event) {
|
|
82
|
-
this.handler?.search($event.target.value);
|
|
83
|
-
}
|
|
84
|
-
get props() {
|
|
85
|
-
return {
|
|
86
|
-
id: this.id || this.dropdown?.id,
|
|
87
|
-
texts: this.texts,
|
|
88
|
-
useValue: this.useValue,
|
|
89
|
-
display: this.display,
|
|
90
|
-
options: this.options,
|
|
91
|
-
loop: this.loop,
|
|
92
|
-
value: this.value,
|
|
93
|
-
multiSelect: this.multiSelect,
|
|
94
|
-
searchable: this.searchable,
|
|
95
|
-
searchFilter: this.searchFilter,
|
|
96
|
-
compareWith: this.compareWith,
|
|
97
|
-
onTouched: () => {
|
|
98
|
-
this.onTouchedFn?.();
|
|
99
|
-
this.touched.emit(true);
|
|
100
|
-
this.cd.markForCheck();
|
|
101
|
-
},
|
|
102
|
-
};
|
|
103
|
-
}
|
|
104
|
-
updateValue(option) {
|
|
105
|
-
this._value = option;
|
|
106
|
-
this.valueChange.emit(option);
|
|
107
|
-
this.onChangeFn?.(option);
|
|
108
|
-
}
|
|
109
116
|
convertToBoolean(value) {
|
|
110
117
|
return (value === '' || value === 'true' || value.toString() === 'true' || false);
|
|
111
118
|
}
|
|
112
119
|
}
|
|
113
|
-
NggDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
114
|
-
NggDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
120
|
+
NggDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggDropdownComponent, deps: [{ token: Injector }], target: i0.ɵɵFactoryTarget.Component });
|
|
121
|
+
NggDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: NggDropdownComponent, selector: "ngg-dropdown", inputs: { id: "id", texts: "texts", loop: "loop", display: "display", useValue: "useValue", label: "label", options: "options", valid: "valid", invalid: "invalid", compareWith: "compareWith", searchFilter: "searchFilter", fixedPlacement: "fixedPlacement", multiSelect: "multiSelect", searchable: "searchable", value: "value" }, outputs: { valueChange: "valueChange", touched: "touched" }, providers: [
|
|
115
122
|
{
|
|
116
123
|
provide: NG_VALUE_ACCESSOR,
|
|
117
124
|
useExisting: NggDropdownComponent,
|
|
118
125
|
multi: true,
|
|
119
126
|
},
|
|
120
|
-
], queries: [{ propertyName: "customOption", first: true, predicate: NggDropdownOptionDirective, descendants: true }, { propertyName: "customButton", first: true, predicate: NggDropdownButtonDirective, descendants: true }], viewQueries: [{ propertyName: "
|
|
121
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
127
|
+
], queries: [{ propertyName: "customOption", first: true, predicate: NggDropdownOptionDirective, descendants: true }, { propertyName: "customButton", first: true, predicate: NggDropdownButtonDirective, descendants: true }], viewQueries: [{ propertyName: "gdsDropdown", first: true, predicate: ["gdsDropdown"], descendants: true }], ngImport: i0, template: "<div class=\"form-group\">\n <gds-dropdown\n *nggCoreElement\n #gdsDropdown\n [value]=\"selectedOption\"\n [searchable]=\"searchable\"\n [label]=\"label\"\n (change)=\"onValueChange($event)\"\n [multiple]=\"multiSelect\"\n [invalid]=\"invalid\"\n [compareWith]=\"compareWithAdapter\"\n [searchFilter]=\"searchFilterAdapter\"\n >\n <span slot=\"message\" #formInfo\n ><ng-content select=\"[data-form-info]\"></ng-content\n ></span>\n\n <span slot=\"trigger\"\n ><ng-container\n *ngTemplateOutlet=\"\n customButton?.templateRef && selectedOption\n ? customButton!.templateRef\n : defaultButton;\n context: { option: selectedOption }\n \"\n ></ng-container\n ></span>\n\n <ng-container *ngFor=\"let option of options; let index = index\">\n <gds-option *nggCoreElement [value]=\"option[useValue]\"\n ><ng-container\n *ngTemplateOutlet=\"\n customOption?.templateRef\n ? customOption!.templateRef\n : defaultOption;\n context: { option: option, index: index }\n \"\n ></ng-container\n ></gds-option>\n </ng-container>\n </gds-dropdown>\n</div>\n\n<ng-template #defaultButton let-selected=\"option\">\n <span>{{ texts?.select }}</span>\n</ng-template>\n\n<ng-template #defaultOption let-option=\"option\">\n {{ display ? option[display] : option.name }}\n</ng-template>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NggCoreElementDirective, selector: "[nggCoreElement]" }] });
|
|
128
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggDropdownComponent, decorators: [{
|
|
122
129
|
type: Component,
|
|
123
130
|
args: [{ selector: 'ngg-dropdown', providers: [
|
|
124
131
|
{
|
|
@@ -126,8 +133,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
126
133
|
useExisting: NggDropdownComponent,
|
|
127
134
|
multi: true,
|
|
128
135
|
},
|
|
129
|
-
],
|
|
130
|
-
}], ctorParameters: function () { return [{ type: i0.
|
|
136
|
+
], template: "<div class=\"form-group\">\n <gds-dropdown\n *nggCoreElement\n #gdsDropdown\n [value]=\"selectedOption\"\n [searchable]=\"searchable\"\n [label]=\"label\"\n (change)=\"onValueChange($event)\"\n [multiple]=\"multiSelect\"\n [invalid]=\"invalid\"\n [compareWith]=\"compareWithAdapter\"\n [searchFilter]=\"searchFilterAdapter\"\n >\n <span slot=\"message\" #formInfo\n ><ng-content select=\"[data-form-info]\"></ng-content\n ></span>\n\n <span slot=\"trigger\"\n ><ng-container\n *ngTemplateOutlet=\"\n customButton?.templateRef && selectedOption\n ? customButton!.templateRef\n : defaultButton;\n context: { option: selectedOption }\n \"\n ></ng-container\n ></span>\n\n <ng-container *ngFor=\"let option of options; let index = index\">\n <gds-option *nggCoreElement [value]=\"option[useValue]\"\n ><ng-container\n *ngTemplateOutlet=\"\n customOption?.templateRef\n ? customOption!.templateRef\n : defaultOption;\n context: { option: option, index: index }\n \"\n ></ng-container\n ></gds-option>\n </ng-container>\n </gds-dropdown>\n</div>\n\n<ng-template #defaultButton let-selected=\"option\">\n <span>{{ texts?.select }}</span>\n</ng-template>\n\n<ng-template #defaultOption let-option=\"option\">\n {{ display ? option[display] : option.name }}\n</ng-template>\n" }]
|
|
137
|
+
}], ctorParameters: function () { return [{ type: i0.Injector, decorators: [{
|
|
131
138
|
type: Inject,
|
|
132
139
|
args: [Injector]
|
|
133
140
|
}] }]; }, propDecorators: { id: [{
|
|
@@ -164,20 +171,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
164
171
|
type: Output
|
|
165
172
|
}], touched: [{
|
|
166
173
|
type: Output
|
|
167
|
-
}], togglerRef: [{
|
|
168
|
-
type: ViewChild,
|
|
169
|
-
args: ['togglerRef']
|
|
170
|
-
}], listboxRef: [{
|
|
171
|
-
type: ViewChild,
|
|
172
|
-
args: ['listboxRef']
|
|
173
|
-
}], fieldsetRef: [{
|
|
174
|
-
type: ViewChild,
|
|
175
|
-
args: ['fieldsetRef']
|
|
176
174
|
}], customOption: [{
|
|
177
175
|
type: ContentChild,
|
|
178
176
|
args: [NggDropdownOptionDirective]
|
|
179
177
|
}], customButton: [{
|
|
180
178
|
type: ContentChild,
|
|
181
179
|
args: [NggDropdownButtonDirective]
|
|
180
|
+
}], gdsDropdown: [{
|
|
181
|
+
type: ViewChild,
|
|
182
|
+
args: ['gdsDropdown', { static: false }]
|
|
182
183
|
}] } });
|
|
183
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsWUFBWSxFQUNaLE1BQU0sRUFDTixRQUFRLEVBQ1IsS0FBSyxFQUdMLE1BQU0sRUFFTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUVMLFNBQVMsRUFDVCxpQkFBaUIsR0FDbEIsTUFBTSxnQkFBZ0IsQ0FBQTtBQUN2QixPQUFPLEVBR0wsY0FBYyxFQU9kLGNBQWMsR0FHZixNQUFNLG1CQUFtQixDQUFBO0FBQzFCLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDZCQUE2QixDQUFBO0FBQ3hFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDZCQUE2QixDQUFBOzs7QUFjeEUsTUFBTSxPQUFPLG9CQUFvQjtJQXdFL0IsWUFDVSxFQUFxQixFQUNILFFBQWtCO1FBRHBDLE9BQUUsR0FBRixFQUFFLENBQW1CO1FBQ0gsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQXJFckMsU0FBSSxHQUFhLEtBQUssQ0FBQTtRQUl0QixZQUFPLEdBQXFCLEVBQUUsQ0FBQTtRQWEvQixpQkFBWSxHQUFHLEtBQUssQ0FBQTtRQVFwQixnQkFBVyxHQUFHLEtBQUssQ0FBQTtRQWVSLGdCQUFXLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUE7UUFDeEQsWUFBTyxHQUN4QixJQUFJLFlBQVksRUFBVyxDQUFBO1FBaUI3QixZQUFPLEdBQTJCLGNBQWMsRUFB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Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUVPLFdBQVc7c0JBQXZCLEtBQUs7Z0JBUU8sVUFBVTtzQkFBdEIsS0FBSztnQkFRTyxLQUFLO3NCQUFqQixLQUFLO2dCQWFhLFdBQVc7c0JBQTdCLE1BQU07Z0JBQ1ksT0FBTztzQkFBekIsTUFBTTtnQkFHeUIsVUFBVTtzQkFBekMsU0FBUzt1QkFBQyxZQUFZO2dCQUNTLFVBQVU7c0JBQXpDLFNBQVM7dUJBQUMsWUFBWTtnQkFDVSxXQUFXO3NCQUEzQyxTQUFTO3VCQUFDLGFBQWE7Z0JBR3hCLFlBQVk7c0JBRFgsWUFBWTt1QkFBQywwQkFBMEI7Z0JBSXhDLFlBQVk7c0JBRFgsWUFBWTt1QkFBQywwQkFBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEluamVjdCxcbiAgSW5qZWN0b3IsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQge1xuICBDb250cm9sVmFsdWVBY2Nlc3NvcixcbiAgTmdDb250cm9sLFxuICBOR19WQUxVRV9BQ0NFU1NPUixcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnXG5pbXBvcnQge1xuICBBYnN0cmFjdERyb3Bkb3duLFxuICBDb21wYXJlV2l0aCxcbiAgY3JlYXRlRHJvcGRvd24sXG4gIERyb3Bkb3duQXJncyxcbiAgRHJvcGRvd25IYW5kbGVyLFxuICBEcm9wZG93bk9wdGlvbixcbiAgRHJvcGRvd25PcHRpb25FbGVtZW50LFxuICBEcm9wZG93blBsYWNlbWVudHMsXG4gIERyb3Bkb3duVGV4dHMsXG4gIGRyb3Bkb3duVmFsdWVzLFxuICBFbGVtZW50UHJvcHMsXG4gIFNlYXJjaEZpbHRlcixcbn0gZnJvbSAnQHNlYmdyb3VwL2V4dHJhY3QnXG5pbXBvcnQgeyBOZ2dEcm9wZG93bk9wdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4vZHJvcGRvd24tb3B0aW9uLmRpcmVjdGl2ZSdcbmltcG9ydCB7IE5nZ0Ryb3Bkb3duQnV0dG9uRGlyZWN0aXZlIH0gZnJvbSAnLi9kcm9wZG93bi1idXR0b24uZGlyZWN0aXZlJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZ2ctZHJvcGRvd24nLFxuICB0ZW1wbGF0ZVVybDogJ2Ryb3Bkb3duLmNvbXBvbmVudC5odG1sJyxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogTmdnRHJvcGRvd25Db21wb25lbnQsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgTmdnRHJvcGRvd25Db21wb25lbnRcbiAgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95LCBPbkNoYW5nZXNcbntcbiAgQElucHV0KCkgaWQ/OiBzdHJpbmdcbiAgQElucHV0KCkgdGV4dHM/OiBEcm9wZG93blRleHRzXG4gIEBJbnB1dCgpIGxvb3A/OiBib29sZWFuID0gZmFsc2VcbiAgQElucHV0KCkgZGlzcGxheT86IHN0cmluZ1xuICBASW5wdXQoKSB1c2VWYWx1ZT86IHN0cmluZ1xuICBASW5wdXQoKSBsYWJlbD86IHN0cmluZ1xuICBASW5wdXQoKSBvcHRpb25zOiBEcm9wZG93bk9wdGlvbltdID0gW11cbiAgQElucHV0KCkgdmFsaWQ/OiBib29sZWFuXG4gIEBJbnB1dCgpIGludmFsaWQ/OiBib29sZWFuXG4gIEBJbnB1dCgpIGNvbXBhcmVXaXRoPzogQ29tcGFyZVdpdGhcbiAgQElucHV0KCkgc2VhcmNoRmlsdGVyPzogU2VhcmNoRmlsdGVyXG4gIEBJbnB1dCgpIGZpeGVkUGxhY2VtZW50PzogRHJvcGRvd25QbGFjZW1lbnRzXG5cbiAgQElucHV0KCkgc2V0IG11bHRpU2VsZWN0KHZhbHVlOiBzdHJpbmcgfCBib29sZWFuKSB7XG4gICAgdGhpcy5fbXVsdGlTZWxlY3QgPSB0aGlzLmNvbnZlcnRUb0Jvb2xlYW4odmFsdWUpXG4gIH1cbiAgZ2V0IG11bHRpU2VsZWN0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9tdWx0aVNlbGVjdFxuICB9XG4gIHByaXZhdGUgX211bHRpU2VsZWN0ID0gZmFsc2VcblxuICBASW5wdXQoKSBzZXQgc2VhcmNoYWJsZSh2YWx1ZTogc3RyaW5nIHwgYm9vbGVhbikge1xuICAgIHRoaXMuX3NlYXJjaGFibGUgPSB0aGlzLmNvbnZlcnRUb0Jvb2xlYW4odmFsdWUpXG4gIH1cbiAgZ2V0IHNlYXJjaGFibGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3NlYXJjaGFibGVcbiAgfVxuICBwcml2YXRlIF9zZWFyY2hhYmxlID0gZmFsc2VcblxuICBASW5wdXQoKSBzZXQgdmFsdWUobmV3VmFsdWU6IGFueSkge1xuICAgIHRoaXMuaGFuZGxlcj8uc2VsZWN0QnlWYWx1ZShuZXdWYWx1ZSlcbiAgICB0aGlzLl92YWx1ZSA9IG5ld1ZhbHVlXG4gIH1cbiAgZ2V0IHZhbHVlKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlXG4gIH1cbiAgcHJpdmF0ZSBfdmFsdWU6IGFueVxuXG4gIGdldCBzZWxlY3RlZE9wdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5oYW5kbGVyPy5kcm9wZG93bi5vcHRpb25zLmZpbmQoKG8pID0+IG8uc2VsZWN0ZWQpXG4gIH1cblxuICBAT3V0cHV0KCkgcmVhZG9ubHkgdmFsdWVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KClcbiAgQE91dHB1dCgpIHJlYWRvbmx5IHRvdWNoZWQ6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpXG5cbiAgQFZpZXdDaGlsZCgndG9nZ2xlclJlZicpIHB1YmxpYyB0b2dnbGVyUmVmPzogRWxlbWVudFJlZjxIVE1MRWxlbWVudD5cbiAgQFZpZXdDaGlsZCgnbGlzdGJveFJlZicpIHB1YmxpYyBsaXN0Ym94UmVmPzogRWxlbWVudFJlZjxIVE1MRWxlbWVudD5cbiAgQFZpZXdDaGlsZCgnZmllbGRzZXRSZWYnKSBwdWJsaWMgZmllbGRzZXRSZWY/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PlxuXG4gIEBDb250ZW50Q2hpbGQoTmdnRHJvcGRvd25PcHRpb25EaXJlY3RpdmUpXG4gIGN1c3RvbU9wdGlvbj86IE5nZ0Ryb3Bkb3duT3B0aW9uRGlyZWN0aXZlXG5cbiAgQENvbnRlbnRDaGlsZChOZ2dEcm9wZG93bkJ1dHRvbkRpcmVjdGl2ZSlcbiAgY3VzdG9tQnV0dG9uPzogTmdnRHJvcGRvd25CdXR0b25EaXJlY3RpdmVcblxuICBvbkNoYW5nZUZuPzogKHZhbHVlOiB1bmtub3duKSA9PiB2b2lkXG4gIG9uVG91Y2hlZEZuPzogKCkgPT4gdm9pZFxuXG4gIGRyb3Bkb3duPzogQWJzdHJhY3REcm9wZG93blxuICBoYW5kbGVyPzogRHJvcGRvd25IYW5kbGVyXG4gIHRvZ2dsZXI/OiBQYXJ0aWFsPEVsZW1lbnRQcm9wcz4gPSBkcm9wZG93blZhbHVlcygpLmVsZW1lbnRzPy50b2dnbGVyXG4gIGxpc3Rib3g/OiBQYXJ0aWFsPEVsZW1lbnRQcm9wcz4gPSBkcm9wZG93blZhbHVlcygpLmVsZW1lbnRzPy5saXN0Ym94XG4gIGZpZWxkc2V0PzogUGFydGlhbDxFbGVtZW50UHJvcHM+ID0gZHJvcGRvd25WYWx1ZXMoKS5lbGVtZW50cz8uZmllbGRzZXRcblxuICBnZXQgY29udHJvbCgpOiBOZ0NvbnRyb2wgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmluamVjdG9yLmdldChOZ0NvbnRyb2wpXG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBASW5qZWN0KEluamVjdG9yKSBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvclxuICApIHt9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnRvZ2dsZXJSZWY/Lm5hdGl2ZUVsZW1lbnQgJiYgdGhpcy5saXN0Ym94UmVmPy5uYXRpdmVFbGVtZW50KSB7XG4gICAgICB0aGlzLmhhbmRsZXIgPSBjcmVhdGVEcm9wZG93bihcbiAgICAgICAgdGhpcy5wcm9wcyxcbiAgICAgICAgdGhpcy50b2dnbGVyUmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgIHRoaXMubGlzdGJveFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICB0aGlzLmZpZWxkc2V0UmVmPy5uYXRpdmVFbGVtZW50LFxuICAgICAgICAoZHJvcGRvd24pID0+IHtcbiAgICAgICAgICB0aGlzLmRyb3Bkb3duID0gZHJvcGRvd25cbiAgICAgICAgICB0aGlzLnRvZ2dsZXIgPSBkcm9wZG93bi5lbGVtZW50cy50b2dnbGVyXG4gICAgICAgICAgdGhpcy5saXN0Ym94ID0gZHJvcGRvd24uZWxlbWVudHMubGlzdGJveFxuICAgICAgICAgIHRoaXMuZmllbGRzZXQgPSBkcm9wZG93bi5lbGVtZW50cy5maWVsZHNldFxuICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpXG4gICAgICAgIH0sXG4gICAgICAgICh2YWx1ZSkgPT4ge1xuICAgICAgICAgIHRoaXMudXBkYXRlVmFsdWUodmFsdWUpXG4gICAgICAgIH0sXG4gICAgICAgIHRoaXMuZml4ZWRQbGFjZW1lbnRcbiAgICAgIClcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmhhbmRsZXI/LmRlc3Ryb3koKVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgIHRoaXMuaGFuZGxlciAmJlxuICAgICAgKGNoYW5nZXMuaWQgfHwgY2hhbmdlcy50ZXh0cyB8fCBjaGFuZ2VzLmxvb3AgfHwgY2hhbmdlcy5vcHRpb25zKVxuICAgICkge1xuICAgICAgdGhpcy5oYW5kbGVyLnVwZGF0ZSh0aGlzLnByb3BzKVxuICAgIH1cbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZVxuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKCkgPT4gdW5rbm93bik6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2VGbiA9IGZuXG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkRm4gPSBmblxuICB9XG5cbiAgdHJhY2tCeUtleSA9IChpbmRleDogbnVtYmVyLCBvcHRpb246IERyb3Bkb3duT3B0aW9uRWxlbWVudCk6IHN0cmluZyA9PiB7XG4gICAgcmV0dXJuIG9wdGlvbi5hdHRyaWJ1dGVzLmlkID8/ICcnXG4gIH1cblxuICBzZWFyY2goJGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuaGFuZGxlcj8uc2VhcmNoKCgkZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLnZhbHVlKVxuICB9XG5cbiAgcHJpdmF0ZSBnZXQgcHJvcHMoKTogRHJvcGRvd25BcmdzIHtcbiAgICByZXR1cm4ge1xuICAgICAgaWQ6IHRoaXMuaWQgfHwgdGhpcy5kcm9wZG93bj8uaWQsXG4gICAgICB0ZXh0czogdGhpcy50ZXh0cyxcbiAgICAgIHVzZVZhbHVlOiB0aGlzLnVzZVZhbHVlLFxuICAgICAgZGlzcGxheTogdGhpcy5kaXNwbGF5LFxuICAgICAgb3B0aW9uczogdGhpcy5vcHRpb25zLFxuICAgICAgbG9vcDogdGhpcy5sb29wLFxuICAgICAgdmFsdWU6IHRoaXMudmFsdWUsXG4gICAgICBtdWx0aVNlbGVjdDogdGhpcy5tdWx0aVNlbGVjdCxcbiAgICAgIHNlYXJjaGFibGU6IHRoaXMuc2VhcmNoYWJsZSxcbiAgICAgIHNlYXJjaEZpbHRlcjogdGhpcy5zZWFyY2hGaWx0ZXIsXG4gICAgICBjb21wYXJlV2l0aDogdGhpcy5jb21wYXJlV2l0aCxcbiAgICAgIG9uVG91Y2hlZDogKCkgPT4ge1xuICAgICAgICB0aGlzLm9uVG91Y2hlZEZuPy4oKVxuICAgICAgICB0aGlzLnRvdWNoZWQuZW1pdCh0cnVlKVxuICAgICAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpXG4gICAgICB9LFxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlVmFsdWUob3B0aW9uOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLl92YWx1ZSA9IG9wdGlvblxuICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdChvcHRpb24pXG4gICAgdGhpcy5vbkNoYW5nZUZuPy4ob3B0aW9uKVxuICB9XG5cbiAgcHJpdmF0ZSBjb252ZXJ0VG9Cb29sZWFuKHZhbHVlOiBzdHJpbmcgfCBib29sZWFuKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHZhbHVlID09PSAnJyB8fCB2YWx1ZSA9PT0gJ3RydWUnIHx8IHZhbHVlLnRvU3RyaW5nKCkgPT09ICd0cnVlJyB8fCBmYWxzZVxuICAgIClcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cbiAgPHNwYW4gY2xhc3M9XCJsYWJlbFwiICpuZ0lmPVwibGFiZWxcIiBbaWRdPVwidG9nZ2xlcj8uYXR0cmlidXRlcz8uaWQgKyAnX2xhYmVsJ1wiPnt7XG4gICAgbGFiZWxcbiAgfX08L3NwYW4+XG4gIDxidXR0b25cbiAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwibGFiZWwgPyB0b2dnbGVyPy5hdHRyaWJ1dGVzPy5pZCArICdfbGFiZWwnIDogbnVsbFwiXG4gICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJcbiAgICAgIGZvcm1JbmZvPy50ZXh0Q29udGVudCAmJiAoZm9ybUluZm8/LnRleHRDb250ZW50Py5sZW5ndGggPz8gMCA+IDApXG4gICAgICAgID8gdG9nZ2xlcj8uYXR0cmlidXRlcz8uaWQgKyAnX2luZm8nXG4gICAgICAgIDogbnVsbFxuICAgIFwiXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgcm9sZT1cImNvbWJvYm94XCJcbiAgICAjdG9nZ2xlclJlZlxuICAgIFtpZF09XCJ0b2dnbGVyPy5hdHRyaWJ1dGVzPy5pZFwiXG4gICAgW2F0dHIuYXJpYS1oYXNwb3B1cF09XCJ0b2dnbGVyPy5hdHRyaWJ1dGVzPy5bJ2FyaWEtaGFzcG9wdXAnXVwiXG4gICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJ0b2dnbGVyPy5hdHRyaWJ1dGVzPy5bJ2FyaWEtZXhwYW5kZWQnXVwiXG4gICAgW2F0dHIuYXJpYS1vd25zXT1cInRvZ2dsZXI/LmF0dHJpYnV0ZXM/LlsnYXJpYS1vd25zJ11cIlxuICAgIFt0YWJpbmRleF09XCJ0b2dnbGVyPy5hdHRyaWJ1dGVzPy50YWJJbmRleFwiXG4gICAgW3N0eWxlXT1cInRvZ2dsZXI/LmF0dHJpYnV0ZXM/LnN0eWxlXCJcbiAgICBbY2xhc3NdPVwidG9nZ2xlcj8uY2xhc3Nlc1wiXG4gICAgKGNsaWNrKT1cImhhbmRsZXI/LnRvZ2dsZSgpXCJcbiAgICBbY2xhc3MuaXMtdmFsaWRdPVwidmFsaWRcIlxuICAgIFtjbGFzcy5pcy1pbnZhbGlkXT1cImludmFsaWRcIlxuICA+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgY3VzdG9tQnV0dG9uPy50ZW1wbGF0ZVJlZiAmJiAhbXVsdGlTZWxlY3QgJiYgc2VsZWN0ZWRPcHRpb25cbiAgICAgICAgICA/IGN1c3RvbUJ1dHRvbiEudGVtcGxhdGVSZWZcbiAgICAgICAgICA6IGRlZmF1bHRCdXR0b247XG4gICAgICAgIGNvbnRleHQ6IHsgb3B0aW9uOiBzZWxlY3RlZE9wdGlvbiB9XG4gICAgICBcIlxuICAgID48L25nLWNvbnRhaW5lcj5cbiAgPC9idXR0b24+XG4gIDxzcGFuXG4gICAgY2xhc3M9XCJmb3JtLWluZm9cIlxuICAgICNmb3JtSW5mb1xuICAgIFthdHRyLmlkXT1cInRvZ2dsZXI/LmF0dHJpYnV0ZXM/LmlkICsgJ19pbmZvJ1wiXG4gICAgPjxuZy1jb250ZW50IHNlbGVjdD1cIltkYXRhLWZvcm0taW5mb11cIj48L25nLWNvbnRlbnRcbiAgPjwvc3Bhbj5cbiAgPGRpdlxuICAgICNsaXN0Ym94UmVmXG4gICAgW2lkXT1cImxpc3Rib3g/LmF0dHJpYnV0ZXM/LmlkXCJcbiAgICBbYXR0ci5yb2xlXT1cImxpc3Rib3g/LmF0dHJpYnV0ZXM/LnJvbGVcIlxuICAgIFthdHRyLmFyaWEtYWN0aXZlZGVzY2VuZGFudF09XCJcbiAgICAgICAgbGlzdGJveD8uYXR0cmlidXRlcz8uWydhcmlhLWFjdGl2ZWRlc2NlbmRhbnQnXVxuICAgICAgXCJcbiAgICBbdGFiaW5kZXhdPVwibGlzdGJveD8uYXR0cmlidXRlcz8udGFiSW5kZXhcIlxuICAgIFtzdHlsZV09XCJsaXN0Ym94Py5hdHRyaWJ1dGVzPy5zdHlsZVwiXG4gICAgW2NsYXNzXT1cImxpc3Rib3g/LmNsYXNzZXNcIlxuICA+XG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBkLXNtLW5vbmUgYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cImZsZXgtZ3Jvdy0xIHBzLTQgZnMtMiBmdy1ib2xkZXJcIj57eyBsYWJlbCB9fTwvc3Bhbj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGNsYXNzPVwiY2xvc2UgbS00IG0tc20tMiBkLWJsb2NrIGQtc20tbm9uZVwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiZHJvcGRvd24/LnRleHRzPy5jbG9zZVwiXG4gICAgICAgIChjbGljayk9XCJoYW5kbGVyPy5jbG9zZSgpXCJcbiAgICAgID5cbiAgICAgICAgPGk+PC9pPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gICAgPHVsIHJvbGU9XCJsaXN0Ym94XCIgKm5nSWY9XCIhZHJvcGRvd24/LmlzTXVsdGlTZWxlY3RcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzZWFyY2hJbnB1dFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgPGxpXG4gICAgICAgICpuZ0Zvcj1cIlxuICAgICAgICAgIGxldCBvcHRpb24gb2YgZHJvcGRvd24/Lm9wdGlvbnM7XG4gICAgICAgICAgbGV0IGluZGV4ID0gaW5kZXg7XG4gICAgICAgICAgdHJhY2tCeTogdHJhY2tCeUtleVxuICAgICAgICBcIlxuICAgICAgICBbaWRdPVwib3B0aW9uLmF0dHJpYnV0ZXMuaWRcIlxuICAgICAgICBbYXR0ci5yb2xlXT1cIm9wdGlvbi5hdHRyaWJ1dGVzLnJvbGVcIlxuICAgICAgICBbYXR0ci5hcmlhLXNlbGVjdGVkXT1cIm9wdGlvbi5hdHRyaWJ1dGVzWydhcmlhLXNlbGVjdGVkJ11cIlxuICAgICAgICBbc3R5bGVdPVwib3B0aW9uLmF0dHJpYnV0ZXMuc3R5bGVcIlxuICAgICAgICBbY2xhc3NdPVwib3B0aW9uLmNsYXNzZXNcIlxuICAgICAgICAoY2xpY2spPVwiaGFuZGxlcj8uc2VsZWN0KG9wdGlvbilcIlxuICAgICAgPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgIGN1c3RvbU9wdGlvbj8udGVtcGxhdGVSZWZcbiAgICAgICAgICAgICAgPyBjdXN0b21PcHRpb24hLnRlbXBsYXRlUmVmXG4gICAgICAgICAgICAgIDogZGVmYXVsdE9wdGlvbjtcbiAgICAgICAgICAgIGNvbnRleHQ6IHsgb3B0aW9uOiBvcHRpb24sIGluZGV4OiBpbmRleCB9XG4gICAgICAgICAgXCJcbiAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9saT5cbiAgICA8L3VsPlxuICAgIDxkaXYgKm5nSWY9XCJkcm9wZG93bj8uaXNNdWx0aVNlbGVjdFwiIGNsYXNzPVwic2ctZmllbGRzZXQtY29udGFpbmVyXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic2VhcmNoSW5wdXRcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwhLS1UT0RPOiBJbXByb3ZlIGNoZWNrYm94ZXMgaW4gZHJvcGRvd24gYW5ndWxhci0tPlxuICAgICAgPGZpZWxkc2V0XG4gICAgICAgICNmaWVsZHNldFJlZlxuICAgICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImZpZWxkc2V0Py5hdHRyaWJ1dGVzPy5pZFwiXG4gICAgICAgIHJvbGU9XCJsaXN0Ym94XCJcbiAgICAgICAgdGFiSW5kZXg9XCItMVwiXG4gICAgICAgIGFyaWEtbXVsdGlzZWxlY3RhYmxlPVwidHJ1ZVwiXG4gICAgICA+XG4gICAgICAgIDxsZWdlbmQgY2xhc3M9XCJzci1vbmx5XCIgW2lkXT1cImZpZWxkc2V0Py5hdHRyaWJ1dGVzPy5pZFwiPk9wdGlvbnM8L2xlZ2VuZD5cbiAgICAgICAgPGxhYmVsXG4gICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgIFthdHRyLnJvbGVdPVwib3B0aW9uLmF0dHJpYnV0ZXMucm9sZVwiXG4gICAgICAgICAgW2lkXT1cIm9wdGlvbi5hdHRyaWJ1dGVzLmlkXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLXNlbGVjdGVkXT1cIm9wdGlvbi5hdHRyaWJ1dGVzWydhcmlhLXNlbGVjdGVkJ11cIlxuICAgICAgICAgIFtjbGFzc109XCJvcHRpb24uY2xhc3Nlc1wiXG4gICAgICAgICAgKm5nRm9yPVwiXG4gICAgICAgICAgICBsZXQgb3B0aW9uIG9mIGRyb3Bkb3duPy5vcHRpb25zO1xuICAgICAgICAgICAgbGV0IGluZGV4ID0gaW5kZXg7XG4gICAgICAgICAgICB0cmFja0J5OiB0cmFja0J5S2V5XG4gICAgICAgICAgXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgIChjaGFuZ2UpPVwiaGFuZGxlcj8uc2VsZWN0KG9wdGlvbiwgZmFsc2UpXCJcbiAgICAgICAgICAgIFtjaGVja2VkXT1cIm9wdGlvbi5zZWxlY3RlZFwiXG4gICAgICAgICAgICB0YWJJbmRleD1cIi0xXCJcbiAgICAgICAgICAvPlxuICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICAgICAgIGN1c3RvbU9wdGlvbj8udGVtcGxhdGVSZWZcbiAgICAgICAgICAgICAgICA/IGN1c3RvbU9wdGlvbiEudGVtcGxhdGVSZWZcbiAgICAgICAgICAgICAgICA6IGRlZmF1bHRPcHRpb247XG4gICAgICAgICAgICAgIGNvbnRleHQ6IHsgb3B0aW9uOiBvcHRpb24sIGluZGV4OiBpbmRleCB9XG4gICAgICAgICAgICBcIlxuICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8aT48L2k+XG4gICAgICAgIDwvbGFiZWw+XG4gICAgICA8L2ZpZWxkc2V0PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI2RlZmF1bHRCdXR0b24gbGV0LXNlbGVjdGVkPVwic2VsZWN0ZWRcIj5cbiAgPHNwYW4+e3sgZHJvcGRvd24/LnRleHRzPy5zZWxlY3QgfX08L3NwYW4+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2RlZmF1bHRPcHRpb24gbGV0LW9wdGlvbj1cIm9wdGlvblwiPlxuICB7eyBvcHRpb25bZHJvcGRvd24hLmRpc3BsYXldIH19XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3NlYXJjaElucHV0PlxuICA8aW5wdXRcbiAgICAqbmdJZj1cImRyb3Bkb3duPy5pc1NlYXJjaGFibGVcIlxuICAgIFtpZF09XCJ0b2dnbGVyPy5hdHRyaWJ1dGVzPy5pZCArICdfc2VhcmNoLWlucHV0J1wiXG4gICAgdHlwZT1cInNlYXJjaFwiXG4gICAgKGlucHV0KT1cInNlYXJjaCgkZXZlbnQpXCJcbiAgICBwbGFjZWhvbGRlcj1cInt7IGRyb3Bkb3duPy50ZXh0cz8uc2VhcmNoUGxhY2Vob2xkZXIgfX1cIlxuICAgIGNsYXNzPVwicm91bmRlZC0wIHJvdW5kZWQtdG9wIGJvcmRlci0wIGJvcmRlci1ib3R0b20gYm9yZGVyLWluZm9cIlxuICAvPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
184
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLFlBQVksRUFDWixNQUFNLEVBQ04sUUFBUSxFQUNSLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFFTCxTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZ0JBQWdCLENBQUE7QUFDdkIsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNkJBQTZCLENBQUE7QUFDeEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNkJBQTZCLENBQUE7QUFJeEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sMENBQTBDLENBQUE7Ozs7QUFnQ3JGLE1BQU0sT0FBTyxvQkFBb0I7SUFxRi9CLFlBQXNDLFFBQWtCO1FBQWxCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFsRi9DLFNBQUksR0FBYSxLQUFLLENBQUE7UUFDdEIsWUFBTyxHQUFHLE9BQU8sQ0FBQTtRQUNqQixhQUFRLEdBQUcsT0FBTyxDQUFBO1FBRWxCLFlBQU8sR0FBcUIsRUFBRSxDQUFBO1FBYy9CLGlCQUFZLEdBQUcsS0FBSyxDQUFBO1FBU3BCLGdCQUFXLEdBQUcsS0FBSyxDQUFBO1FBMEJSLGdCQUFXLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUE7UUFDeEQsWUFBTyxHQUN4QixJQUFJLFlBQVksRUFBVyxDQUFBO1FBVXRCLGtCQUFhLEdBQTJCLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFD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ZW50Q2hpbGQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5qZWN0LFxuICBJbmplY3RvcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHtcbiAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXG4gIE5nQ29udHJvbCxcbiAgTkdfVkFMVUVfQUNDRVNTT1IsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJ1xuaW1wb3J0IHsgTmdnRHJvcGRvd25PcHRpb25EaXJlY3RpdmUgfSBmcm9tICcuL2Ryb3Bkb3duLW9wdGlvbi5kaXJlY3RpdmUnXG5pbXBvcnQgeyBOZ2dEcm9wZG93bkJ1dHRvbkRpcmVjdGl2ZSB9IGZyb20gJy4vZHJvcGRvd24tYnV0dG9uLmRpcmVjdGl2ZSdcblxuaW1wb3J0IHsgR2RzRHJvcGRvd24sIEdkc09wdGlvbiB9IGZyb20gJ0BzZWJncm91cC9ncmVlbi1jb3JlJ1xuXG5pbXBvcnQgeyByZWdpc3RlclRyYW5zaXRpb25hbFN0eWxlcyB9IGZyb20gJ0BzZWJncm91cC9ncmVlbi1jb3JlL3RyYW5zaXRpb25hbC1zdHlsZXMnXG5cbmV4cG9ydCB0eXBlIENvbXBhcmVXaXRoPFQgPSBhbnk+ID0gKG8xOiBULCBvMjogVCkgPT4gYm9vbGVhblxuZXhwb3J0IHR5cGUgU2VhcmNoRmlsdGVyPFQgPSBhbnk+ID0gKHNlYXJjaDogc3RyaW5nLCB2YWx1ZTogVCkgPT4gYm9vbGVhblxuZXhwb3J0IHR5cGUgRHJvcGRvd25QbGFjZW1lbnRzID0gJ2JvdHRvbS1zdGFydCcgfCAndG9wLXN0YXJ0J1xuZXhwb3J0IGludGVyZmFjZSBEcm9wZG93blRleHRzIHtcbiAgc2VsZWN0Pzogc3RyaW5nXG4gIHNlbGVjdGVkPzogc3RyaW5nXG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nXG4gIHNlYXJjaFBsYWNlaG9sZGVyPzogc3RyaW5nXG4gIGNsb3NlPzogc3RyaW5nXG4gIG9wdGlvbnNEZXNjcmlwdGlvbj86IHN0cmluZ1xufVxuZXhwb3J0IGludGVyZmFjZSBEcm9wZG93bk9wdGlvbiB7XG4gIGxhYmVsPzogc3RyaW5nXG4gIHZhbHVlPzogYW55XG4gIHNlbGVjdGVkPzogYm9vbGVhblxuICBba2V5OiBzdHJpbmddOiBhbnlcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmdnLWRyb3Bkb3duJyxcbiAgdGVtcGxhdGVVcmw6ICdkcm9wZG93bi5jb21wb25lbnQuaHRtbCcsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IE5nZ0Ryb3Bkb3duQ29tcG9uZW50LFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbiAgLy9jaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgTmdnRHJvcGRvd25Db21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIEBJbnB1dCgpIGlkPzogc3RyaW5nXG4gIEBJbnB1dCgpIHRleHRzPzogRHJvcGRvd25UZXh0c1xuICBASW5wdXQoKSBsb29wPzogYm9vbGVhbiA9IGZhbHNlXG4gIEBJbnB1dCgpIGRpc3BsYXkgPSAnbGFiZWwnXG4gIEBJbnB1dCgpIHVzZVZhbHVlID0gJ3ZhbHVlJ1xuICBASW5wdXQoKSBsYWJlbD86IHN0cmluZ1xuICBASW5wdXQoKSBvcHRpb25zOiBEcm9wZG93bk9wdGlvbltdID0gW11cbiAgQElucHV0KCkgdmFsaWQ/OiBib29sZWFuXG4gIEBJbnB1dCgpIGludmFsaWQ/OiBib29sZWFuXG4gIEBJbnB1dCgpIGNvbXBhcmVXaXRoPzogQ29tcGFyZVdpdGhcbiAgQElucHV0KCkgc2VhcmNoRmlsdGVyPzogU2VhcmNoRmlsdGVyXG4gIEBJbnB1dCgpIGZpeGVkUGxhY2VtZW50PzogRHJvcGRvd25QbGFjZW1lbnRzXG5cbiAgLy9cbiAgQElucHV0KCkgc2V0IG11bHRpU2VsZWN0KHZhbHVlOiBzdHJpbmcgfCBib29sZWFuKSB7XG4gICAgdGhpcy5fbXVsdGlTZWxlY3QgPSB0aGlzLmNvbnZlcnRUb0Jvb2xlYW4odmFsdWUpXG4gIH1cbiAgZ2V0IG11bHRpU2VsZWN0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9tdWx0aVNlbGVjdFxuICB9XG4gIHByaXZhdGUgX211bHRpU2VsZWN0ID0gZmFsc2VcblxuICAvL1xuICBASW5wdXQoKSBzZXQgc2VhcmNoYWJsZSh2YWx1ZTogc3RyaW5nIHwgYm9vbGVhbikge1xuICAgIHRoaXMuX3NlYXJjaGFibGUgPSB0aGlzLmNvbnZlcnRUb0Jvb2xlYW4odmFsdWUpXG4gIH1cbiAgZ2V0IHNlYXJjaGFibGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3NlYXJjaGFibGVcbiAgfVxuICBwcml2YXRlIF9zZWFyY2hhYmxlID0gZmFsc2VcblxuICAvL1xuICBASW5wdXQoKSBzZXQgdmFsdWUobmV3VmFsdWU6IGFueSkge1xuICAgIGlmICghdGhpcy5vcHRpb25zKSByZXR1cm5cblxuICAgIHRoaXMuX3ZhbHVlID0gbmV3VmFsdWVcblxuICAgIHRoaXMudGV4dHMgPSB7XG4gICAgICAuLi50aGlzLnRleHRzLFxuICAgICAgc2VsZWN0OiB0aGlzLmdldERpc3BsYXlUZXh0KHRoaXMuX3ZhbHVlKSxcbiAgICB9XG4gIH1cbiAgZ2V0IHZhbHVlKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlXG4gIH1cbiAgcHJpdmF0ZSBfdmFsdWU6IERyb3Bkb3duT3B0aW9uIHwgRHJvcGRvd25PcHRpb25bXSB8IHVuZGVmaW5lZFxuXG4gIC8vXG4gIGdldCBzZWxlY3RlZE9wdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZVxuICB9XG5cbiAgb25DaGFuZ2VGbj86ICh2YWx1ZTogdW5rbm93bikgPT4gdm9pZFxuICBvblRvdWNoZWRGbj86ICgpID0+IHZvaWRcblxuICBAT3V0cHV0KCkgcmVhZG9ubHkgdmFsdWVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KClcbiAgQE91dHB1dCgpIHJlYWRvbmx5IHRvdWNoZWQ6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpXG5cbiAgQENvbnRlbnRDaGlsZChOZ2dEcm9wZG93bk9wdGlvbkRpcmVjdGl2ZSlcbiAgY3VzdG9tT3B0aW9uPzogTmdnRHJvcGRvd25PcHRpb25EaXJlY3RpdmVcblxuICBAQ29udGVudENoaWxkKE5nZ0Ryb3Bkb3duQnV0dG9uRGlyZWN0aXZlKVxuICBjdXN0b21CdXR0b24/OiBOZ2dEcm9wZG93bkJ1dHRvbkRpcmVjdGl2ZVxuXG4gIEBWaWV3Q2hpbGQoJ2dkc0Ryb3Bkb3duJywgeyBzdGF0aWM6IGZhbHNlIH0pIGdkc0Ryb3Bkb3duPzogRWxlbWVudFJlZlxuXG4gIHB1YmxpYyBvblZhbHVlQ2hhbmdlOiAoZXZlbnQ6IEV2ZW50KSA9PiB2b2lkID0gKGV2ZW50KSA9PiB7XG4gICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEdkc0Ryb3Bkb3duPERyb3Bkb3duT3B0aW9uPlxuICAgIHRoaXMuX3ZhbHVlID0gdGFyZ2V0LnZhbHVlXG5cbiAgICB0aGlzLnRleHRzID0ge1xuICAgICAgLi4udGhpcy50ZXh0cyxcbiAgICAgIHNlbGVjdDogdGhpcy5nZXREaXNwbGF5VGV4dCh0aGlzLl92YWx1ZSksXG4gICAgfVxuXG4gICAgdGhpcy5vbkNoYW5nZUZuPy4odGhpcy52YWx1ZSlcbiAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodGhpcy52YWx1ZSlcbiAgfVxuXG4gIGdldCBjb250cm9sKCk6IE5nQ29udHJvbCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuaW5qZWN0b3IuZ2V0KE5nQ29udHJvbClcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoSW5qZWN0b3IpIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgcmVnaXN0ZXJUcmFuc2l0aW9uYWxTdHlsZXMoKVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5fdmFsdWUpIHtcbiAgICAgIGlmICh0aGlzLm11bHRpU2VsZWN0KVxuICAgICAgICB0aGlzLl92YWx1ZSA9IHRoaXMub3B0aW9uc1xuICAgICAgICAgID8uZmlsdGVyKChvKSA9PiBvLnNlbGVjdGVkID09PSB0cnVlKVxuICAgICAgICAgID8ubWFwKChvKSA9PiBvW3RoaXMudXNlVmFsdWVdKVxuICAgICAgZWxzZVxuICAgICAgICB0aGlzLl92YWx1ZSA9IHRoaXMub3B0aW9ucz8uZmluZCgobykgPT4gby5zZWxlY3RlZCA9PT0gdHJ1ZSk/LltcbiAgICAgICAgICB0aGlzLnVzZVZhbHVlXG4gICAgICAgIF1cbiAgICB9XG5cbiAgICB0aGlzLnRleHRzID0ge1xuICAgICAgY2xvc2U6IHRoaXMudGV4dHM/LmNsb3NlID8/ICdDbG9zZScsXG4gICAgICBvcHRpb25zRGVzY3JpcHRpb246IHRoaXMudGV4dHM/Lm9wdGlvbnNEZXNjcmlwdGlvbiA/PyAnT3B0aW9ucycsXG4gICAgICBwbGFjZWhvbGRlcjogdGhpcy50ZXh0cz8ucGxhY2Vob2xkZXIgPz8gJ1NlbGVjdCcsXG4gICAgICBzZWFyY2hQbGFjZWhvbGRlcjogdGhpcy50ZXh0cz8uc2VhcmNoUGxhY2Vob2xkZXIgPz8gJ1NlYXJjaCcsXG4gICAgICBzZWxlY3RlZDogdGhpcy50ZXh0cz8uc2VsZWN0ZWQgPz8gJ3NlbGVjdGVkJyxcbiAgICAgIHNlbGVjdDogdGhpcy5nZXREaXNwbGF5VGV4dCh0aGlzLl92YWx1ZSksXG4gICAgfVxuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlXG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAoKSA9PiB1bmtub3duKTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZUZuID0gZm5cbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWRGbiA9IGZuXG4gIH1cblxuICAvLyBUaGVzZSBhZGFwdGVyIGZ1bmN0aW9ucyBhcmUgdXNlZCB0byBtYWludGFpbiBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSB3aXRoIHRoZSBvbGQgaW50ZXJmYWNlXG4gIGNvbXBhcmVXaXRoQWRhcHRlciA9IChvMTogYW55LCBvMjogYW55KSA9PiB7XG4gICAgY29uc3QgY29tcGFyZUZuID0gdGhpcy5jb21wYXJlV2l0aCB8fCAoKGEsIGIpID0+IGEgPT09IGIpXG4gICAgcmV0dXJuIGNvbXBhcmVGbihvMSwgbzIpXG4gIH1cbiAgc2VhcmNoRmlsdGVyQWRhcHRlciA9IChxOiBzdHJpbmcsIG86IEdkc09wdGlvbikgPT4ge1xuICAgIGlmICh0aGlzLnNlYXJjaEZpbHRlcikgcmV0dXJuIHRoaXMuc2VhcmNoRmlsdGVyKHEsIG8udmFsdWVbdGhpcy51c2VWYWx1ZV0pXG4gICAgZWxzZVxuICAgICAgcmV0dXJuICgocTogc3RyaW5nLCBvOiBHZHNPcHRpb24pID0+XG4gICAgICAgIG8uaW5uZXJIVE1MLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMocS50b0xvd2VyQ2FzZSgpKSkocSwgbylcbiAgfVxuXG4gIHByaXZhdGUgY29udmVydFRvQm9vbGVhbih2YWx1ZTogc3RyaW5nIHwgYm9vbGVhbik6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICB2YWx1ZSA9PT0gJycgfHwgdmFsdWUgPT09ICd0cnVlJyB8fCB2YWx1ZS50b1N0cmluZygpID09PSAndHJ1ZScgfHwgZmFsc2VcbiAgICApXG4gIH1cblxuICBwcml2YXRlIG9wdGlvbkJ5VmFsdWUgPSAodmFsdWU6IGFueSkgPT4ge1xuICAgIHJldHVybiB0aGlzLm9wdGlvbnM/LmZpbmQoKG8pID0+IG9bdGhpcy51c2VWYWx1ZV0gPT09IHZhbHVlKVxuICB9XG5cbiAgcHJpdmF0ZSBnZXREaXNwbGF5VGV4dCA9ICh2YWx1ZTogYW55KSA9PiB7XG4gICAgaWYgKCFBcnJheS5pc0FycmF5KHZhbHVlKSlcbiAgICAgIHJldHVybiAoXG4gICAgICAgIHRoaXMub3B0aW9uQnlWYWx1ZSh2YWx1ZSk/Llt0aGlzLmRpc3BsYXldIHx8XG4gICAgICAgICh0aGlzLnRleHRzPy5wbGFjZWhvbGRlciA/PyAnU2VsZWN0JylcbiAgICAgIClcblxuICAgIGNvbnN0IGRpc3BsYXlWYWx1ZXMgPSB2YWx1ZS5tYXAoXG4gICAgICAodikgPT4gdGhpcy5vcHRpb25CeVZhbHVlKHYpPy5bdGhpcy5kaXNwbGF5XVxuICAgIClcbiAgICByZXR1cm4gZGlzcGxheVZhbHVlcz8ubGVuZ3RoID4gMlxuICAgICAgPyBgJHtkaXNwbGF5VmFsdWVzLmxlbmd0aH0gJHt0aGlzLnRleHRzPy5zZWxlY3RlZH0gYFxuICAgICAgOiBkaXNwbGF5VmFsdWVzPy5qb2luKCcsICcpIHx8ICh0aGlzLnRleHRzPy5wbGFjZWhvbGRlciA/PyAnU2VsZWN0JylcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cbiAgPGdkcy1kcm9wZG93blxuICAgICpuZ2dDb3JlRWxlbWVudFxuICAgICNnZHNEcm9wZG93blxuICAgIFt2YWx1ZV09XCJzZWxlY3RlZE9wdGlvblwiXG4gICAgW3NlYXJjaGFibGVdPVwic2VhcmNoYWJsZVwiXG4gICAgW2xhYmVsXT1cImxhYmVsXCJcbiAgICAoY2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgW211bHRpcGxlXT1cIm11bHRpU2VsZWN0XCJcbiAgICBbaW52YWxpZF09XCJpbnZhbGlkXCJcbiAgICBbY29tcGFyZVdpdGhdPVwiY29tcGFyZVdpdGhBZGFwdGVyXCJcbiAgICBbc2VhcmNoRmlsdGVyXT1cInNlYXJjaEZpbHRlckFkYXB0ZXJcIlxuICA+XG4gICAgPHNwYW4gc2xvdD1cIm1lc3NhZ2VcIiAjZm9ybUluZm9cbiAgICAgID48bmctY29udGVudCBzZWxlY3Q9XCJbZGF0YS1mb3JtLWluZm9dXCI+PC9uZy1jb250ZW50XG4gICAgPjwvc3Bhbj5cblxuICAgIDxzcGFuIHNsb3Q9XCJ0cmlnZ2VyXCJcbiAgICAgID48bmctY29udGFpbmVyXG4gICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICAgY3VzdG9tQnV0dG9uPy50ZW1wbGF0ZVJlZiAmJiBzZWxlY3RlZE9wdGlvblxuICAgICAgICAgICAgPyBjdXN0b21CdXR0b24hLnRlbXBsYXRlUmVmXG4gICAgICAgICAgICA6IGRlZmF1bHRCdXR0b247XG4gICAgICAgICAgY29udGV4dDogeyBvcHRpb246IHNlbGVjdGVkT3B0aW9uIH1cbiAgICAgICAgXCJcbiAgICAgID48L25nLWNvbnRhaW5lclxuICAgID48L3NwYW4+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygb3B0aW9uczsgbGV0IGluZGV4ID0gaW5kZXhcIj5cbiAgICAgIDxnZHMtb3B0aW9uICpuZ2dDb3JlRWxlbWVudCBbdmFsdWVdPVwib3B0aW9uW3VzZVZhbHVlXVwiXG4gICAgICAgID48bmctY29udGFpbmVyXG4gICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgIGN1c3RvbU9wdGlvbj8udGVtcGxhdGVSZWZcbiAgICAgICAgICAgICAgPyBjdXN0b21PcHRpb24hLnRlbXBsYXRlUmVmXG4gICAgICAgICAgICAgIDogZGVmYXVsdE9wdGlvbjtcbiAgICAgICAgICAgIGNvbnRleHQ6IHsgb3B0aW9uOiBvcHRpb24sIGluZGV4OiBpbmRleCB9XG4gICAgICAgICAgXCJcbiAgICAgICAgPjwvbmctY29udGFpbmVyXG4gICAgICA+PC9nZHMtb3B0aW9uPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2dkcy1kcm9wZG93bj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI2RlZmF1bHRCdXR0b24gbGV0LXNlbGVjdGVkPVwib3B0aW9uXCI+XG4gIDxzcGFuPnt7IHRleHRzPy5zZWxlY3QgfX08L3NwYW4+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2RlZmF1bHRPcHRpb24gbGV0LW9wdGlvbj1cIm9wdGlvblwiPlxuICB7eyBkaXNwbGF5ID8gb3B0aW9uW2Rpc3BsYXldIDogb3B0aW9uLm5hbWUgfX1cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -1,19 +1,18 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
1
|
+
import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
|
|
2
2
|
import { CommonModule } from '@angular/common';
|
|
3
3
|
import { NggDropdownComponent } from './dropdown.component';
|
|
4
4
|
import { NggDropdownOptionDirective } from './dropdown-option.directive';
|
|
5
5
|
import { NggDropdownButtonDirective } from './dropdown-button.directive';
|
|
6
|
+
import { NggCoreWrapperModule } from '../shared/core-element/core-element.module';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
7
8
|
export class NggDropdownModule {
|
|
8
9
|
}
|
|
9
|
-
NggDropdownModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
10
|
-
NggDropdownModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
10
|
+
NggDropdownModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggDropdownModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
11
|
+
NggDropdownModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: NggDropdownModule, declarations: [NggDropdownComponent,
|
|
11
12
|
NggDropdownOptionDirective,
|
|
12
|
-
NggDropdownButtonDirective], imports: [CommonModule], exports: [NggDropdownComponent,
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
NggDropdownModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NggDropdownModule, imports: [CommonModule] });
|
|
16
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NggDropdownModule, decorators: [{
|
|
13
|
+
NggDropdownButtonDirective], imports: [CommonModule, NggCoreWrapperModule], exports: [NggDropdownComponent, NggDropdownOptionDirective] });
|
|
14
|
+
NggDropdownModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggDropdownModule, imports: [CommonModule, NggCoreWrapperModule] });
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggDropdownModule, decorators: [{
|
|
17
16
|
type: NgModule,
|
|
18
17
|
args: [{
|
|
19
18
|
declarations: [
|
|
@@ -21,12 +20,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
21
20
|
NggDropdownOptionDirective,
|
|
22
21
|
NggDropdownButtonDirective,
|
|
23
22
|
],
|
|
24
|
-
imports: [CommonModule],
|
|
25
|
-
exports: [
|
|
26
|
-
|
|
27
|
-
NggDropdownOptionDirective,
|
|
28
|
-
NggDropdownButtonDirective,
|
|
29
|
-
],
|
|
23
|
+
imports: [CommonModule, NggCoreWrapperModule],
|
|
24
|
+
exports: [NggDropdownComponent, NggDropdownOptionDirective],
|
|
25
|
+
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
30
26
|
}]
|
|
31
27
|
}] });
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvZHJvcGRvd24vZHJvcGRvd24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDaEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQzNELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDZCQUE2QixDQUFBO0FBQ3hFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDZCQUE2QixDQUFBO0FBQ3hFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFBOztBQVlqRixNQUFNLE9BQU8saUJBQWlCOzs4R0FBakIsaUJBQWlCOytHQUFqQixpQkFBaUIsaUJBUjFCLG9CQUFvQjtRQUNwQiwwQkFBMEI7UUFDMUIsMEJBQTBCLGFBRWxCLFlBQVksRUFBRSxvQkFBb0IsYUFDbEMsb0JBQW9CLEVBQUUsMEJBQTBCOytHQUcvQyxpQkFBaUIsWUFKbEIsWUFBWSxFQUFFLG9CQUFvQjsyRkFJakMsaUJBQWlCO2tCQVY3QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixvQkFBb0I7d0JBQ3BCLDBCQUEwQjt3QkFDMUIsMEJBQTBCO3FCQUMzQjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLENBQUM7b0JBQzdDLE9BQU8sRUFBRSxDQUFDLG9CQUFvQixFQUFFLDBCQUEwQixDQUFDO29CQUMzRCxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztpQkFDbEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBOZ2dEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4vZHJvcGRvd24uY29tcG9uZW50J1xuaW1wb3J0IHsgTmdnRHJvcGRvd25PcHRpb25EaXJlY3RpdmUgfSBmcm9tICcuL2Ryb3Bkb3duLW9wdGlvbi5kaXJlY3RpdmUnXG5pbXBvcnQgeyBOZ2dEcm9wZG93bkJ1dHRvbkRpcmVjdGl2ZSB9IGZyb20gJy4vZHJvcGRvd24tYnV0dG9uLmRpcmVjdGl2ZSdcbmltcG9ydCB7IE5nZ0NvcmVXcmFwcGVyTW9kdWxlIH0gZnJvbSAnLi4vc2hhcmVkL2NvcmUtZWxlbWVudC9jb3JlLWVsZW1lbnQubW9kdWxlJ1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBOZ2dEcm9wZG93bkNvbXBvbmVudCxcbiAgICBOZ2dEcm9wZG93bk9wdGlvbkRpcmVjdGl2ZSxcbiAgICBOZ2dEcm9wZG93bkJ1dHRvbkRpcmVjdGl2ZSxcbiAgXSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTmdnQ29yZVdyYXBwZXJNb2R1bGVdLFxuICBleHBvcnRzOiBbTmdnRHJvcGRvd25Db21wb25lbnQsIE5nZ0Ryb3Bkb3duT3B0aW9uRGlyZWN0aXZlXSxcbiAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ2dEcm9wZG93bk1vZHVsZSB7fVxuIl19
|
|
@@ -15,8 +15,8 @@ import { NggSliderModule } from './slider/slider.module';
|
|
|
15
15
|
import * as i0 from "@angular/core";
|
|
16
16
|
export class NggModule {
|
|
17
17
|
}
|
|
18
|
-
NggModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
19
|
-
NggModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
18
|
+
NggModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
19
|
+
NggModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: NggModule, imports: [CommonModule], exports: [NggAccordionModule,
|
|
20
20
|
NggBadgeModule,
|
|
21
21
|
NggButtonModule,
|
|
22
22
|
NggDatepickerModule,
|
|
@@ -28,7 +28,7 @@ NggModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.
|
|
|
28
28
|
NggContextMenuModule,
|
|
29
29
|
NggInPageWizardModule,
|
|
30
30
|
NggSharedModule] });
|
|
31
|
-
NggModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
31
|
+
NggModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggModule, imports: [CommonModule, NggAccordionModule,
|
|
32
32
|
NggBadgeModule,
|
|
33
33
|
NggButtonModule,
|
|
34
34
|
NggDatepickerModule,
|
|
@@ -40,7 +40,7 @@ NggModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.
|
|
|
40
40
|
NggContextMenuModule,
|
|
41
41
|
NggInPageWizardModule,
|
|
42
42
|
NggSharedModule] });
|
|
43
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
43
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggModule, decorators: [{
|
|
44
44
|
type: NgModule,
|
|
45
45
|
args: [{
|
|
46
46
|
declarations: [],
|
|
@@ -23,11 +23,11 @@ export class NggInPageWizardStepCardComponent {
|
|
|
23
23
|
this.handleNextClick.emit(event);
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
|
-
NggInPageWizardStepCardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
27
|
-
NggInPageWizardStepCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
28
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
26
|
+
NggInPageWizardStepCardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggInPageWizardStepCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
27
|
+
NggInPageWizardStepCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: NggInPageWizardStepCardComponent, selector: "ngg-in-page-wizard-step-card", inputs: { stepText: "stepText", title: "title", editBtnText: "editBtnText", nextBtnText: "nextBtnText", isCompleted: "isCompleted", disableNext: "disableNext", isActive: "isActive" }, outputs: { handleNextClick: "handleNextClick", handleEditClick: "handleEditClick" }, ngImport: i0, template: "<section\n class=\"gds-in-page-wizard-step-card card\"\n data-testid=\"in-page-wizard-step-card-root\"\n [class.active]=\"!!isActive\"\n [class.completed]=\"!!isCompleted\"\n>\n <header class=\"gds-in-page-wizard-step-card__header\">\n <div class=\"gds-in-page-wizard-step-card__header__icon\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\">\n <!-- Font Awesome Pro 5.15.4 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) -->\n <path\n d=\"M435.848 83.466L172.804 346.51l-96.652-96.652c-4.686-4.686-12.284-4.686-16.971 0l-28.284 28.284c-4.686 4.686-4.686 12.284 0 16.971l133.421 133.421c4.686 4.686 12.284 4.686 16.971 0l299.813-299.813c4.686-4.686 4.686-12.284 0-16.971l-28.284-28.284c-4.686-4.686-12.284-4.686-16.97 0z\"\n />\n </svg>\n </div>\n <div\n class=\"gds-in-page-wizard-step-card__header__progress\"\n data-testid=\"in-page-wizard-step-card-step-text\"\n >\n {{ stepText }}\n </div>\n <div\n class=\"gds-in-page-wizard-step-card__header__title\"\n data-testid=\"in-page-wizard-step-card-title\"\n >\n <h2 class=\"h4\">{{ title }}</h2>\n </div>\n\n <div\n class=\"gds-in-page-wizard-step-card__header__edit\"\n *ngIf=\"isCompleted && !isActive\"\n >\n <button\n class=\"secondary small\"\n (click)=\"handleOnEditBtnClick($event)\"\n data-testid=\"in-page-wizard-step-card-edit-btn\"\n >\n {{ editBtnText }}\n </button>\n </div>\n </header>\n\n <div\n class=\"gds-in-page-wizard-step-card__content\"\n *ngIf=\"!!isActive || !!isCompleted\"\n data-testid=\"in-page-wizard-step-card-content\"\n >\n <ng-content></ng-content>\n </div>\n <footer class=\"gds-in-page-wizard-step-card__footer\" *ngIf=\"isActive\">\n <button\n class=\"primary\"\n [disabled]=\"disableNext\"\n (click)=\"handleOnNextBtnClick($event)\"\n data-testid=\"in-page-wizard-step-card-next-btn\"\n >\n {{ nextBtnText }}\n </button>\n </footer>\n</section>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
28
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggInPageWizardStepCardComponent, decorators: [{
|
|
29
29
|
type: Component,
|
|
30
|
-
args: [{ selector: 'ngg-in-page-wizard-step-card', template: "<section\n class=\"gds-in-page-wizard-step-card card\"\n data-testid=\"in-page-wizard-step-card-root\"\n [class.active]=\"!!isActive\"\n [class.completed]=\"!!isCompleted\"\n>\n <header class=\"gds-in-page-wizard-step-card__header\">\n <div class=\"gds-in-page-wizard-step-card__header__icon\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\">\n <!-- Font Awesome Pro 5.15.4 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) -->\n <path\n d=\"M435.848 83.466L172.804 346.51l-96.652-96.652c-4.686-4.686-12.284-4.686-16.971 0l-28.284 28.284c-4.686 4.686-4.686 12.284 0 16.971l133.421 133.421c4.686 4.686 12.284 4.686 16.971 0l299.813-299.813c4.686-4.686 4.686-12.284 0-16.971l-28.284-28.284c-4.686-4.686-12.284-4.686-16.97 0z\"\n />\n </svg>\n </div>\n <div\n class=\"gds-in-page-wizard-step-card__header__progress\"\n data-testid=\"in-page-wizard-step-card-step-text\"\n >\n {{ stepText }}\n </div>\n <div\n class=\"gds-in-page-wizard-step-card__header__title\"\n data-testid=\"in-page-wizard-step-card-title\"\n >\n <h2 class=\"h4\">{{ title }}</h2>\n </div>\n\n <div\n class=\"gds-in-page-wizard-step-card__header__edit\"\n *ngIf=\"
|
|
30
|
+
args: [{ selector: 'ngg-in-page-wizard-step-card', template: "<section\n class=\"gds-in-page-wizard-step-card card\"\n data-testid=\"in-page-wizard-step-card-root\"\n [class.active]=\"!!isActive\"\n [class.completed]=\"!!isCompleted\"\n>\n <header class=\"gds-in-page-wizard-step-card__header\">\n <div class=\"gds-in-page-wizard-step-card__header__icon\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\">\n <!-- Font Awesome Pro 5.15.4 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) -->\n <path\n d=\"M435.848 83.466L172.804 346.51l-96.652-96.652c-4.686-4.686-12.284-4.686-16.971 0l-28.284 28.284c-4.686 4.686-4.686 12.284 0 16.971l133.421 133.421c4.686 4.686 12.284 4.686 16.971 0l299.813-299.813c4.686-4.686 4.686-12.284 0-16.971l-28.284-28.284c-4.686-4.686-12.284-4.686-16.97 0z\"\n />\n </svg>\n </div>\n <div\n class=\"gds-in-page-wizard-step-card__header__progress\"\n data-testid=\"in-page-wizard-step-card-step-text\"\n >\n {{ stepText }}\n </div>\n <div\n class=\"gds-in-page-wizard-step-card__header__title\"\n data-testid=\"in-page-wizard-step-card-title\"\n >\n <h2 class=\"h4\">{{ title }}</h2>\n </div>\n\n <div\n class=\"gds-in-page-wizard-step-card__header__edit\"\n *ngIf=\"isCompleted && !isActive\"\n >\n <button\n class=\"secondary small\"\n (click)=\"handleOnEditBtnClick($event)\"\n data-testid=\"in-page-wizard-step-card-edit-btn\"\n >\n {{ editBtnText }}\n </button>\n </div>\n </header>\n\n <div\n class=\"gds-in-page-wizard-step-card__content\"\n *ngIf=\"!!isActive || !!isCompleted\"\n data-testid=\"in-page-wizard-step-card-content\"\n >\n <ng-content></ng-content>\n </div>\n <footer class=\"gds-in-page-wizard-step-card__footer\" *ngIf=\"isActive\">\n <button\n class=\"primary\"\n [disabled]=\"disableNext\"\n (click)=\"handleOnNextBtnClick($event)\"\n data-testid=\"in-page-wizard-step-card-next-btn\"\n >\n {{ nextBtnText }}\n </button>\n </footer>\n</section>\n" }]
|
|
31
31
|
}], propDecorators: { handleNextClick: [{
|
|
32
32
|
type: Output
|
|
33
33
|
}], handleEditClick: [{
|
|
@@ -47,4 +47,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
47
47
|
}], isActive: [{
|
|
48
48
|
type: Input
|
|
49
49
|
}] } });
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW4tcGFnZS13aXphcmQtc3RlcC1jYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvbGliL2luLXBhZ2Utd2l6YXJkL2luLXBhZ2Utd2l6YXJkLXN0ZXAtY2FyZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL2xpYi9pbi1wYWdlLXdpemFyZC9pbi1wYWdlLXdpemFyZC1zdGVwLWNhcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQTs7O0FBTXRFLE1BQU0sT0FBTyxnQ0FBZ0M7SUFKN0M7UUFNVyxvQkFBZSxHQUN0QixJQUFJLFlBQVksRUFBYyxDQUFBO1FBR3ZCLG9CQUFlLEdBQ3RCLElBQUksWUFBWSxFQUFjLENBQUE7UUFFaEIsYUFBUSxHQUFHLEVBQUUsQ0FBQTtRQUViLFVBQUssR0FBRyxFQUFFLENBQUE7UUFFVixnQkFBVyxHQUFHLEVBQUUsQ0FBQTtRQUVoQixnQkFBVyxHQUFHLEVBQUUsQ0FBQTtRQUVoQixnQkFBVyxHQUFHLEtBQUssQ0FBQTtRQUVuQixnQkFBVyxHQUFHLEtBQUssQ0FBQTtRQUVuQixhQUFRLEdBQUcsS0FBSyxDQUFBO0tBV2pDO0lBVEMsb0JBQW9CLENBQUMsS0FBaUI7UUFDcEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUE7UUFDOUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDbEMsQ0FBQztJQUNELG9CQUFvQixDQUFDLEtBQWlCO1FBQ3BDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFBO1FBQ3JCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFBO1FBQ3ZCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ2xDLENBQUM7OzZIQS9CVSxnQ0FBZ0M7aUhBQWhDLGdDQUFnQyxpVkNON0MsK2tFQTREQTsyRkR0RGEsZ0NBQWdDO2tCQUo1QyxTQUFTOytCQUNFLDhCQUE4Qjs4QkFLL0IsZUFBZTtzQkFEdkIsTUFBTTtnQkFLRSxlQUFlO3NCQUR2QixNQUFNO2dCQUlTLFFBQVE7c0JBQXZCLEtBQUs7Z0JBRVUsS0FBSztzQkFBcEIsS0FBSztnQkFFVSxXQUFXO3NCQUExQixLQUFLO2dCQUVVLFdBQVc7c0JBQTFCLEtBQUs7Z0JBRVUsV0FBVztzQkFBMUIsS0FBSztnQkFFVSxXQUFXO3NCQUExQixLQUFLO2dCQUVVLFFBQVE7c0JBQXZCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25nZy1pbi1wYWdlLXdpemFyZC1zdGVwLWNhcmQnLFxuICB0ZW1wbGF0ZVVybDogJy4vaW4tcGFnZS13aXphcmQtc3RlcC1jYXJkLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgTmdnSW5QYWdlV2l6YXJkU3RlcENhcmRDb21wb25lbnQge1xuICBAT3V0cHV0KClcbiAgcmVhZG9ubHkgaGFuZGxlTmV4dENsaWNrOiBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4gPVxuICAgIG5ldyBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4oKVxuXG4gIEBPdXRwdXQoKVxuICByZWFkb25seSBoYW5kbGVFZGl0Q2xpY2s6IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpXG5cbiAgQElucHV0KCkgcHVibGljIHN0ZXBUZXh0ID0gJydcblxuICBASW5wdXQoKSBwdWJsaWMgdGl0bGUgPSAnJ1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBlZGl0QnRuVGV4dCA9ICcnXG5cbiAgQElucHV0KCkgcHVibGljIG5leHRCdG5UZXh0ID0gJydcblxuICBASW5wdXQoKSBwdWJsaWMgaXNDb21wbGV0ZWQgPSBmYWxzZVxuXG4gIEBJbnB1dCgpIHB1YmxpYyBkaXNhYmxlTmV4dCA9IGZhbHNlXG5cbiAgQElucHV0KCkgcHVibGljIGlzQWN0aXZlID0gZmFsc2VcblxuICBoYW5kbGVPbkVkaXRCdG5DbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuaXNBY3RpdmUgPSAhdGhpcy5pc0FjdGl2ZVxuICAgIHRoaXMuaGFuZGxlRWRpdENsaWNrLmVtaXQoZXZlbnQpXG4gIH1cbiAgaGFuZGxlT25OZXh0QnRuQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICB0aGlzLmlzQWN0aXZlID0gZmFsc2VcbiAgICB0aGlzLmlzQ29tcGxldGVkID0gdHJ1ZVxuICAgIHRoaXMuaGFuZGxlTmV4dENsaWNrLmVtaXQoZXZlbnQpXG4gIH1cbn1cbiIsIjxzZWN0aW9uXG4gIGNsYXNzPVwiZ2RzLWluLXBhZ2Utd2l6YXJkLXN0ZXAtY2FyZCBjYXJkXCJcbiAgZGF0YS10ZXN0aWQ9XCJpbi1wYWdlLXdpemFyZC1zdGVwLWNhcmQtcm9vdFwiXG4gIFtjbGFzcy5hY3RpdmVdPVwiISFpc0FjdGl2ZVwiXG4gIFtjbGFzcy5jb21wbGV0ZWRdPVwiISFpc0NvbXBsZXRlZFwiXG4+XG4gIDxoZWFkZXIgY2xhc3M9XCJnZHMtaW4tcGFnZS13aXphcmQtc3RlcC1jYXJkX19oZWFkZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZ2RzLWluLXBhZ2Utd2l6YXJkLXN0ZXAtY2FyZF9faGVhZGVyX19pY29uXCI+XG4gICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDUxMiA1MTJcIj5cbiAgICAgICAgPCEtLSBGb250IEF3ZXNvbWUgUHJvIDUuMTUuNCBieSBAZm9udGF3ZXNvbWUgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbSBMaWNlbnNlIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb20vbGljZW5zZSAoQ29tbWVyY2lhbCBMaWNlbnNlKSAtLT5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBkPVwiTTQzNS44NDggODMuNDY2TDE3Mi44MDQgMzQ2LjUxbC05Ni42NTItOTYuNjUyYy00LjY4Ni00LjY4Ni0xMi4yODQtNC42ODYtMTYuOTcxIDBsLTI4LjI4NCAyOC4yODRjLTQuNjg2IDQuNjg2LTQuNjg2IDEyLjI4NCAwIDE2Ljk3MWwxMzMuNDIxIDEzMy40MjFjNC42ODYgNC42ODYgMTIuMjg0IDQuNjg2IDE2Ljk3MSAwbDI5OS44MTMtMjk5LjgxM2M0LjY4Ni00LjY4NiA0LjY4Ni0xMi4yODQgMC0xNi45NzFsLTI4LjI4NC0yOC4yODRjLTQuNjg2LTQuNjg2LTEyLjI4NC00LjY4Ni0xNi45NyAwelwiXG4gICAgICAgIC8+XG4gICAgICA8L3N2Zz5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cImdkcy1pbi1wYWdlLXdpemFyZC1zdGVwLWNhcmRfX2hlYWRlcl9fcHJvZ3Jlc3NcIlxuICAgICAgZGF0YS10ZXN0aWQ9XCJpbi1wYWdlLXdpemFyZC1zdGVwLWNhcmQtc3RlcC10ZXh0XCJcbiAgICA+XG4gICAgICB7eyBzdGVwVGV4dCB9fVxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwiZ2RzLWluLXBhZ2Utd2l6YXJkLXN0ZXAtY2FyZF9faGVhZGVyX190aXRsZVwiXG4gICAgICBkYXRhLXRlc3RpZD1cImluLXBhZ2Utd2l6YXJkLXN0ZXAtY2FyZC10aXRsZVwiXG4gICAgPlxuICAgICAgPGgyIGNsYXNzPVwiaDRcIj57eyB0aXRsZSB9fTwvaDI+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cImdkcy1pbi1wYWdlLXdpemFyZC1zdGVwLWNhcmRfX2hlYWRlcl9fZWRpdFwiXG4gICAgICAqbmdJZj1cImlzQ29tcGxldGVkICYmICFpc0FjdGl2ZVwiXG4gICAgPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBjbGFzcz1cInNlY29uZGFyeSBzbWFsbFwiXG4gICAgICAgIChjbGljayk9XCJoYW5kbGVPbkVkaXRCdG5DbGljaygkZXZlbnQpXCJcbiAgICAgICAgZGF0YS10ZXN0aWQ9XCJpbi1wYWdlLXdpemFyZC1zdGVwLWNhcmQtZWRpdC1idG5cIlxuICAgICAgPlxuICAgICAgICB7eyBlZGl0QnRuVGV4dCB9fVxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvaGVhZGVyPlxuXG4gIDxkaXZcbiAgICBjbGFzcz1cImdkcy1pbi1wYWdlLXdpemFyZC1zdGVwLWNhcmRfX2NvbnRlbnRcIlxuICAgICpuZ0lmPVwiISFpc0FjdGl2ZSB8fCAhIWlzQ29tcGxldGVkXCJcbiAgICBkYXRhLXRlc3RpZD1cImluLXBhZ2Utd2l6YXJkLXN0ZXAtY2FyZC1jb250ZW50XCJcbiAgPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPC9kaXY+XG4gIDxmb290ZXIgY2xhc3M9XCJnZHMtaW4tcGFnZS13aXphcmQtc3RlcC1jYXJkX19mb290ZXJcIiAqbmdJZj1cImlzQWN0aXZlXCI+XG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9XCJwcmltYXJ5XCJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlTmV4dFwiXG4gICAgICAoY2xpY2spPVwiaGFuZGxlT25OZXh0QnRuQ2xpY2soJGV2ZW50KVwiXG4gICAgICBkYXRhLXRlc3RpZD1cImluLXBhZ2Utd2l6YXJkLXN0ZXAtY2FyZC1uZXh0LWJ0blwiXG4gICAgPlxuICAgICAge3sgbmV4dEJ0blRleHQgfX1cbiAgICA8L2J1dHRvbj5cbiAgPC9mb290ZXI+XG48L3NlY3Rpb24+XG4iXX0=
|
|
@@ -4,10 +4,10 @@ import { NggInPageWizardStepCardComponent } from './in-page-wizard-step-card.com
|
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export class NggInPageWizardModule {
|
|
6
6
|
}
|
|
7
|
-
NggInPageWizardModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
8
|
-
NggInPageWizardModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
9
|
-
NggInPageWizardModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
7
|
+
NggInPageWizardModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggInPageWizardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
8
|
+
NggInPageWizardModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: NggInPageWizardModule, declarations: [NggInPageWizardStepCardComponent], imports: [CommonModule], exports: [NggInPageWizardStepCardComponent] });
|
|
9
|
+
NggInPageWizardModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggInPageWizardModule, imports: [CommonModule] });
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggInPageWizardModule, decorators: [{
|
|
11
11
|
type: NgModule,
|
|
12
12
|
args: [{
|
|
13
13
|
declarations: [NggInPageWizardStepCardComponent],
|
|
@@ -5,9 +5,9 @@ export class NggModalFooterDirective {
|
|
|
5
5
|
this.viewContainerRef = viewContainerRef;
|
|
6
6
|
}
|
|
7
7
|
}
|
|
8
|
-
NggModalFooterDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
9
|
-
NggModalFooterDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
8
|
+
NggModalFooterDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggModalFooterDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
9
|
+
NggModalFooterDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: NggModalFooterDirective, selector: "[nggModalFooter]", ngImport: i0 });
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggModalFooterDirective, decorators: [{
|
|
11
11
|
type: Directive,
|
|
12
12
|
args: [{
|
|
13
13
|
selector: '[nggModalFooter]'
|
|
@@ -5,9 +5,9 @@ export class NggModalHeaderDirective {
|
|
|
5
5
|
this.viewContainerRef = viewContainerRef;
|
|
6
6
|
}
|
|
7
7
|
}
|
|
8
|
-
NggModalHeaderDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
9
|
-
NggModalHeaderDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
8
|
+
NggModalHeaderDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggModalHeaderDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
9
|
+
NggModalHeaderDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: NggModalHeaderDirective, selector: "[nggModalHeader]", ngImport: i0 });
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggModalHeaderDirective, decorators: [{
|
|
11
11
|
type: Directive,
|
|
12
12
|
args: [{
|
|
13
13
|
selector: '[nggModalHeader]'
|