@progressio_resources/gravity-design-system 3.2.1 → 3.2.3
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/esm2022/lib/components/gravity-dropdown-list/gravity-dropdown-list.component.mjs +45 -25
- package/esm2022/lib/components/gravity-status-indicator/gravity-status-indicator.component.mjs +2 -2
- package/fesm2022/progressio_resources-gravity-design-system.mjs +46 -26
- package/fesm2022/progressio_resources-gravity-design-system.mjs.map +1 -1
- package/lib/components/gravity-dropdown-list/gravity-dropdown-list.component.d.ts +3 -0
- package/package.json +1 -1
- package/src/lib/assets/icon-set/gt-icon-wallet/gt-icon-wallet-lg-24.svg +1 -1
- package/src/lib/assets/icon-set/gt-icon-wallet/gt-icon-wallet-md-16.svg +1 -1
- package/src/lib/assets/icon-set/gt-icon-wallet/gt-icon-wallet-sm-12.svg +1 -1
- package/src/lib/assets/icon-set/gt-icon-wallet/gt-icon-wallet-xl-32.svg +1 -1
|
@@ -51,25 +51,33 @@ export class GravityDropdownListComponent {
|
|
|
51
51
|
if (changes['customValues']) {
|
|
52
52
|
const changeItem = changes['customValues'];
|
|
53
53
|
const currentValue = changeItem?.currentValue;
|
|
54
|
+
const findOptionRecursively = (items, value) => {
|
|
55
|
+
for (const item of items) {
|
|
56
|
+
const itemValue = this.config ? item[this.config.value] : item;
|
|
57
|
+
if (itemValue == value) {
|
|
58
|
+
return item;
|
|
59
|
+
}
|
|
60
|
+
if (item.children) {
|
|
61
|
+
const foundChild = findOptionRecursively(item.children, value);
|
|
62
|
+
if (foundChild)
|
|
63
|
+
return foundChild;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
return null;
|
|
67
|
+
};
|
|
68
|
+
this.selectedItems = [];
|
|
54
69
|
if (Array.isArray(currentValue)) {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
if (
|
|
58
|
-
|
|
59
|
-
? this.availableOptions.find((availableOption) => availableOption[this.config.value] == item)
|
|
60
|
-
: this.availableOptions.find((availableOption) => availableOption == item);
|
|
61
|
-
if (option && !this.selectedItems.includes(option)) {
|
|
62
|
-
this.selectedItems.push(option);
|
|
63
|
-
}
|
|
70
|
+
currentValue.forEach((val) => {
|
|
71
|
+
const found = findOptionRecursively(this.items, val);
|
|
72
|
+
if (found && !this.selectedItems.includes(found)) {
|
|
73
|
+
this.selectedItems.push(found);
|
|
64
74
|
}
|
|
65
75
|
});
|
|
66
76
|
}
|
|
67
77
|
else if (currentValue != null && currentValue !== '') {
|
|
68
|
-
const
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
if (option) {
|
|
72
|
-
this.selectedItems = [option];
|
|
78
|
+
const found = findOptionRecursively(this.items, currentValue);
|
|
79
|
+
if (found) {
|
|
80
|
+
this.selectedItems = [found];
|
|
73
81
|
}
|
|
74
82
|
}
|
|
75
83
|
else if (!currentValue && !changeItem.firstChange) {
|
|
@@ -128,7 +136,8 @@ export class GravityDropdownListComponent {
|
|
|
128
136
|
if (this.multiple) {
|
|
129
137
|
const isSelected = this.checkIfSelected(itemToAdd);
|
|
130
138
|
if (isSelected) {
|
|
131
|
-
this.selectedItems = this.selectedItems.filter(i => i
|
|
139
|
+
this.selectedItems = this.selectedItems.filter(i => (this.config ? i[this.config.value] : i) !==
|
|
140
|
+
(this.config ? itemToAdd[this.config.value] : itemToAdd));
|
|
132
141
|
if (isParent) {
|
|
133
142
|
itemToAdd.children.forEach(child => {
|
|
134
143
|
this.selectedItems = this.selectedItems.filter(i => i !== child);
|
|
@@ -182,7 +191,8 @@ export class GravityDropdownListComponent {
|
|
|
182
191
|
return selectedChildren.length > 0 && selectedChildren.length < item.children.length;
|
|
183
192
|
}
|
|
184
193
|
checkIfSelected(itemToFind) {
|
|
185
|
-
return
|
|
194
|
+
return this.selectedItems.some(item => (this.config ? item[this.config.value] : item) ===
|
|
195
|
+
(this.config ? itemToFind[this.config.value] : itemToFind));
|
|
186
196
|
}
|
|
187
197
|
clearSelection() {
|
|
188
198
|
this.selectedItems = [];
|
|
@@ -202,14 +212,18 @@ export class GravityDropdownListComponent {
|
|
|
202
212
|
const matches = label?.toString().toLowerCase().includes(search);
|
|
203
213
|
const filteredChildren = item.children ? filterRecursive(item.children) : [];
|
|
204
214
|
if (matches || filteredChildren.length > 0) {
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
215
|
+
if (typeof item === 'object') {
|
|
216
|
+
return {
|
|
217
|
+
...item,
|
|
218
|
+
children: filteredChildren
|
|
219
|
+
};
|
|
220
|
+
}
|
|
221
|
+
else {
|
|
222
|
+
return item;
|
|
223
|
+
}
|
|
209
224
|
}
|
|
210
225
|
return null;
|
|
211
|
-
})
|
|
212
|
-
.filter(item => item !== null);
|
|
226
|
+
}).filter(item => item !== null);
|
|
213
227
|
};
|
|
214
228
|
this.availableOptions = filterRecursive(this.items);
|
|
215
229
|
}
|
|
@@ -281,12 +295,18 @@ export class GravityDropdownListComponent {
|
|
|
281
295
|
const current = this.openChildrenMap.get(item) || false;
|
|
282
296
|
this.openChildrenMap.set(item, !current);
|
|
283
297
|
}
|
|
298
|
+
getDisplayValue(child, config) {
|
|
299
|
+
if (config?.label && typeof child === 'object' && child !== null) {
|
|
300
|
+
return child[config.label] ?? '';
|
|
301
|
+
}
|
|
302
|
+
return child ?? '';
|
|
303
|
+
}
|
|
284
304
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GravityDropdownListComponent, deps: [{ token: i1.FilterByPipe }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
285
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: GravityDropdownListComponent, selector: "gravity-dropdown-list", inputs: { dropdownState: "dropdownState", clearable: "clearable", config: "config", currentLang: "currentLang", customValues: "customValues", cypressTag: "cypressTag", hasError: "hasError", iconLeft: "iconLeft", isCurrency: "isCurrency", isDisabled: "isDisabled", isReadonly: "isReadonly", items: "items", label: "label", multiple: "multiple", placeholder: "placeholder", required: "required", supportText: "supportText", labelSize: "labelSize", size: "size", inputType: "inputType", width: "width" }, outputs: { dropdownStateChange: "dropdownStateChange", selectedItemsResponse: "response" }, host: { listeners: { "document:click": "onDocumentClick($event)" } }, providers: [FilterByPipe], viewQueries: [{ propertyName: "watch", first: true, predicate: ["searchInput"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"inputType === 'field'\">\n <label class=\"hr-label sm-bold {{getStatus()}}\" *ngIf=\"label\">\n {{ label }} <span *ngIf=\"required || hasError\">*</span>\n </label>\n</ng-container>\n\n<div class=\"gravity-input-field {{inputType}}-{{labelSize}} {{size}} {{width}}-width {{getStatus()}}\"\n [attr.data-cy]=\"cypressTag\" (click)=\"toggleDropdown()\">\n\n <ng-container *ngIf=\"inputType === 'field'\">\n <gravity-icon class=\"left\" [iconName]=\"iconLeft\" [iconSize]=\"isIconLeftNew() ? 'md-16' : null\"\n *ngIf=\"iconLeft\"></gravity-icon>\n\n <ng-container *ngIf=\"isCurrency && selectedItems.length > 0\">\n <gravity-currency\n [ngClass]=\"getSpacingClass(size)\"\n [size]=\"getCurrencyIconSize(size)\"\n [currency]=\"{currency_id: selectedItems[0]?.currency_id}\">\n </gravity-currency>\n </ng-container>\n\n <p class=\"hr-label {{size}}-regular value\">\n <ng-container *ngIf=\"selectedItems.length == 0\">\n {{ placeholder ? placeholder : label }}\n </ng-container>\n <ng-container *ngIf=\"selectedItems.length > 0\">\n <ng-container *ngFor=\"let item of selectedItems; let i = index\">\n {{ config ? item[config.label] : item }}{{ i != selectedItems.length - 1 ? ',' : '' }}\n </ng-container>\n </ng-container>\n </p>\n\n <ng-container *ngIf=\"isCurrency && selectedItems.length > 0\">\n <gravity-network-pill\n [network]=\"{ iso: selectedItems[0]?.network?.code, id: selectedItems[0]?.network?.id }\">\n </gravity-network-pill>\n </ng-container>\n\n <gravity-icon class=\"right\" [iconName]=\"dropdownOpened ? 'arrow-up': 'arrow-down'\"\n [iconSize]=\"'md-16'\" *ngIf=\"!isReadonly\"></gravity-icon>\n </ng-container>\n\n <ng-container *ngIf=\"inputType === 'label'\">\n <gravity-dropdown-label (onClickLabel)=\"toggleDropdown()\" [label]=\"getLabelText()\"\n [size]=\"labelSize\" [isOpen]=\"dropdownOpened\">\n </gravity-dropdown-label>\n </ng-container>\n\n <div class=\"dropdown-panel\" (click)=\"$event.stopPropagation()\" *ngIf=\"items && dropdownOpened\"\n [attr.data-cy]=\"cypressTag + '_panel'\">\n <div class=\"search-input\">\n <gravity-icon class=\"search-icon\" [iconName]=\"'search'\" [iconSize]=\"'sm-12'\"></gravity-icon>\n <input autocomplete=\"off\" class=\"hr-label {{size}}-regular\" (input)=\"filterItems()\"\n [attr.data-cy]=\"cypressTag + '_search_input'\" #searchInput\n [(ngModel)]=\"searchText\" placeholder=\"{{currentLang == 'es' ? 'Buscar' : 'Search input'}}\">\n <gravity-icon class=\"pointer reset-icon\" (click)=\"searchText = ''; filterItems()\" [iconName]=\"'unsuccess'\"\n [iconSize]=\"'sm-12'\" *ngIf=\"searchText?.length > 0\"></gravity-icon>\n </div>\n\n <div class=\"items-container\">\n <div class=\"items\">\n <div class=\"item-container\" *ngFor=\"let item of availableOptions\" [attr.data-cy]=\"isCurrency ? 'currency_option_' + item.currency_id : ''\">\n <div class=\"hr-label item {{size}}-regular pointer\"\n [class.selected]=\"checkIfSelected(item)\"\n [class.partial]=\"isPartiallySelected(item)\"\n (click)=\"item.children?.length ? multiple ?selectItem(item) : toggleChildren(item, $event) : selectItem(item)\">\n <gravity-checkbox *ngIf=\"multiple\" [ngClass]=\"getSpacingClass(size)\"\n [isPartial]=\"isPartiallySelected(item)\"\n [checked]=\"checkIfSelected(item)\"></gravity-checkbox>\n <gravity-currency *ngIf=\"isCurrency\" [ngClass]=\"getSpacingClass(size)\" [size]=\"getCurrencyIconSize(size)\"\n [currency]=\"{currency_id: item.currency_id}\"></gravity-currency>\n <div [ngClass]=\"getSpacingClass(size)\">{{ config ? item[config.label] : item }}</div>\n <gravity-network-pill *ngIf=\"isCurrency\"\n [network]=\"{ iso: item.network.code, id: item.network.id }\"></gravity-network-pill>\n <gravity-icon style=\"margin-left: auto\" (click)=\"toggleChildren(item, $event)\"\n [iconName]=\"isChildrenOpen(item) ? 'arrow-up' : 'arrow-down'\"\n [iconSize]=\"'md-16'\" *ngIf=\"item.children?.length\"></gravity-icon>\n </div>\n\n <div class=\"item-children\" *ngIf=\"item.children?.length && isChildrenOpen(item)\">\n <ng-container *ngFor=\"let child of item.children\">\n <div class=\"hr-label item {{size}}-regular pointer\" [ngClass]=\"{'multiple' : multiple}\"\n [class.selected]=\"checkIfSelected(child)\"\n (click)=\"selectItem(child)\">\n <gravity-checkbox *ngIf=\"multiple\" [ngClass]=\"getMultilevelSpacingClass(size)\"\n [checked]=\"checkIfSelected(child)\"></gravity-checkbox>\n <gravity-currency *ngIf=\"isCurrency\" [ngClass]=\"getSpacingClass(size)\"\n [size]=\"getCurrencyIconSize(size)\"\n [currency]=\"{currency_id: child.currency_id}\"></gravity-currency>\n <div [ngClass]=\"getSpacingClass(size)\">{{ config ? child[config.label] : child }}</div>\n <gravity-network-pill *ngIf=\"isCurrency\"\n [network]=\"{ iso: child.network.code, id: child.network.id }\"></gravity-network-pill>\n </div>\n </ng-container>\n </div>\n </div>\n <div class=\"hr-label item {{size}}-bold no-results\" *ngIf=\"availableOptions.length === 0\">\n {{ currentLang == 'es' ? 'Sin resultados' : 'No results' }}\n </div>\n </div>\n </div>\n\n <div class=\"dropdown-footer\" *ngIf=\"selectedItems.length > 0\" [class.not-clearable]=\"!clearable\">\n <p class=\"hr-label pointer sm-regular\" (click)=\"clearSelection()\" *ngIf=\"clearable\"\n [attr.data-cy]=\"cypressTag + '_clear'\">\n {{ currentLang == 'es' ? 'Limpiar' : 'Clear selection' }}\n </p>\n <p class=\"hr-label pointer sm-bold\" (click)=\"$event.stopPropagation(); toggleDropdown()\"\n *ngIf=\"availableOptions.length != 0\" [attr.data-cy]=\"cypressTag + '_apply'\">\n {{ currentLang == 'es' ? 'Aplicar' : 'Apply' }}\n </p>\n </div>\n </div>\n\n <section class=\"external-content\" *ngIf=\"!items && dropdownOpened\" (click)=\"$event.stopPropagation()\">\n <ng-content></ng-content>\n </section>\n</div>\n\n<ng-container *ngIf=\"inputType === 'field'\">\n <p class=\"hr-label sm-regular supporting-text {{getStatus()}} {{size}}\" *ngIf=\"supportText\">\n <gravity-icon [iconName]=\"'question-circle'\" *ngIf=\"hasError\" [iconSize]=\"'md-16'\"></gravity-icon>\n {{ supportText }}\n </p>\n <p class=\"hr-label sm-regular supporting-text {{getStatus()}} {{size}}\"\n *ngIf=\"!supportText && getStatus() == 'active' && selectedItems.length == 0 && required\">\n {{ currentLang == 'es' ? 'Requerido' : 'Required' }}\n </p>\n</ng-container>", styles: [".border-radius-none{border-radius:0}.border-radius-xs{border-radius:.0625rem}.border-radius-sm{border-radius:.3125rem}.border-radius-md{border-radius:.625rem}.border-radius-lg{border-radius:.9375rem}.border-radius-xl{border-radius:1.25rem}.border-radius-xxl{border-radius:2rem}.border-radius-rounded{border-radius:6.25rem}:root{--gravity-spacing-none: 0;--gravity-spacing-xxs: .25rem;--gravity-spacing-xs: .5rem;--gravity-spacing-sm: 1rem;--gravity-spacing-md: 1.5rem;--gravity-spacing-lg: 2rem;--gravity-spacing-xl: 2.5rem;--gravity-spacing-xxl: 3rem;--gravity-spacing-xxxl: 4rem;--gravity-spacing-xxxxl: 6rem;--gravity-spacing-xxxxxl: 12rem}.gravity-padding-none{padding:0!important}.gravity-padding-top-none{padding-top:0!important}.gravity-padding-bottom-none{padding-bottom:0!important}.gravity-padding-left-none{padding-left:0!important}.gravity-padding-right-none{padding-right:0!important}.gravity-padding-block-none{padding-block:0!important}.gravity-padding-inline-none{padding-inline:0!important}.gravity-padding-xxs{padding:.25rem!important}.gravity-padding-top-xxs{padding-top:.25rem!important}.gravity-padding-bottom-xxs{padding-bottom:.25rem!important}.gravity-padding-left-xxs{padding-left:.25rem!important}.gravity-padding-right-xxs{padding-right:.25rem!important}.gravity-padding-block-xxs{padding-block:.25rem!important}.gravity-padding-inline-xxs{padding-inline:.25rem!important}.gravity-padding-xs{padding:.5rem!important}.gravity-padding-top-xs{padding-top:.5rem!important}.gravity-padding-bottom-xs{padding-bottom:.5rem!important}.gravity-padding-left-xs{padding-left:.5rem!important}.gravity-padding-right-xs{padding-right:.5rem!important}.gravity-padding-block-xs{padding-block:.5rem!important}.gravity-padding-inline-xs{padding-inline:.5rem!important}.gravity-padding-sm{padding:1rem!important}.gravity-padding-top-sm{padding-top:1rem!important}.gravity-padding-bottom-sm{padding-bottom:1rem!important}.gravity-padding-left-sm{padding-left:1rem!important}.gravity-padding-right-sm{padding-right:1rem!important}.gravity-padding-block-sm{padding-block:1rem!important}.gravity-padding-inline-sm{padding-inline:1rem!important}.gravity-padding-md{padding:1.5rem!important}.gravity-padding-top-md{padding-top:1.5rem!important}.gravity-padding-bottom-md{padding-bottom:1.5rem!important}.gravity-padding-left-md{padding-left:1.5rem!important}.gravity-padding-right-md{padding-right:1.5rem!important}.gravity-padding-block-md{padding-block:1.5rem!important}.gravity-padding-inline-md{padding-inline:1.5rem!important}.gravity-padding-lg{padding:2rem!important}.gravity-padding-top-lg{padding-top:2rem!important}.gravity-padding-bottom-lg{padding-bottom:2rem!important}.gravity-padding-left-lg{padding-left:2rem!important}.gravity-padding-right-lg{padding-right:2rem!important}.gravity-padding-block-lg{padding-block:2rem!important}.gravity-padding-inline-lg{padding-inline:2rem!important}.gravity-padding-xl{padding:2.5rem!important}.gravity-padding-top-xl{padding-top:2.5rem!important}.gravity-padding-bottom-xl{padding-bottom:2.5rem!important}.gravity-padding-left-xl{padding-left:2.5rem!important}.gravity-padding-right-xl{padding-right:2.5rem!important}.gravity-padding-block-xl{padding-block:2.5rem!important}.gravity-padding-inline-xl{padding-inline:2.5rem!important}.gravity-padding-xxl{padding:3rem!important}.gravity-padding-top-xxl{padding-top:3rem!important}.gravity-padding-bottom-xxl{padding-bottom:3rem!important}.gravity-padding-left-xxl{padding-left:3rem!important}.gravity-padding-right-xxl{padding-right:3rem!important}.gravity-padding-block-xxl{padding-block:3rem!important}.gravity-padding-inline-xxl{padding-inline:3rem!important}.gravity-padding-xxxl{padding:4rem!important}.gravity-padding-top-xxxl{padding-top:4rem!important}.gravity-padding-bottom-xxxl{padding-bottom:4rem!important}.gravity-padding-left-xxxl{padding-left:4rem!important}.gravity-padding-right-xxxl{padding-right:4rem!important}.gravity-padding-block-xxxl{padding-block:4rem!important}.gravity-padding-inline-xxxl{padding-inline:4rem!important}.gravity-padding-xxxxl{padding:6rem!important}.gravity-padding-top-xxxxl{padding-top:6rem!important}.gravity-padding-bottom-xxxxl{padding-bottom:6rem!important}.gravity-padding-left-xxxxl{padding-left:6rem!important}.gravity-padding-right-xxxxl{padding-right:6rem!important}.gravity-padding-block-xxxxl{padding-block:6rem!important}.gravity-padding-inline-xxxxl{padding-inline:6rem!important}.gravity-padding-xxxxxl{padding:12rem!important}.gravity-padding-top-xxxxxl{padding-top:12rem!important}.gravity-padding-bottom-xxxxxl{padding-bottom:12rem!important}.gravity-padding-left-xxxxxl{padding-left:12rem!important}.gravity-padding-right-xxxxxl{padding-right:12rem!important}.gravity-padding-block-xxxxxl{padding-block:12rem!important}.gravity-padding-inline-xxxxxl{padding-inline:12rem!important}.gravity-margin-none{margin:0!important}.gravity-margin-top-none{margin-top:0!important}.gravity-margin-bottom-none{margin-bottom:0!important}.gravity-margin-left-none{margin-left:0!important}.gravity-margin-right-none{margin-right:0!important}.gravity-margin-block-none{margin-block:0!important}.gravity-margin-inline-none{margin-inline:0!important}.gravity-margin-xxs{margin:.25rem!important}.gravity-margin-top-xxs{margin-top:.25rem!important}.gravity-margin-bottom-xxs{margin-bottom:.25rem!important}.gravity-margin-left-xxs{margin-left:.25rem!important}.gravity-margin-right-xxs{margin-right:.25rem!important}.gravity-margin-block-xxs{margin-block:.25rem!important}.gravity-margin-inline-xxs{margin-inline:.25rem!important}.gravity-margin-xs{margin:.5rem!important}.gravity-margin-top-xs{margin-top:.5rem!important}.gravity-margin-bottom-xs{margin-bottom:.5rem!important}.gravity-margin-left-xs{margin-left:.5rem!important}.gravity-margin-right-xs{margin-right:.5rem!important}.gravity-margin-block-xs{margin-block:.5rem!important}.gravity-margin-inline-xs{margin-inline:.5rem!important}.gravity-margin-sm{margin:1rem!important}.gravity-margin-top-sm{margin-top:1rem!important}.gravity-margin-bottom-sm{margin-bottom:1rem!important}.gravity-margin-left-sm{margin-left:1rem!important}.gravity-margin-right-sm{margin-right:1rem!important}.gravity-margin-block-sm{margin-block:1rem!important}.gravity-margin-inline-sm{margin-inline:1rem!important}.gravity-margin-md{margin:1.5rem!important}.gravity-margin-top-md{margin-top:1.5rem!important}.gravity-margin-bottom-md{margin-bottom:1.5rem!important}.gravity-margin-left-md{margin-left:1.5rem!important}.gravity-margin-right-md{margin-right:1.5rem!important}.gravity-margin-block-md{margin-block:1.5rem!important}.gravity-margin-inline-md{margin-inline:1.5rem!important}.gravity-margin-lg{margin:2rem!important}.gravity-margin-top-lg{margin-top:2rem!important}.gravity-margin-bottom-lg{margin-bottom:2rem!important}.gravity-margin-left-lg{margin-left:2rem!important}.gravity-margin-right-lg{margin-right:2rem!important}.gravity-margin-block-lg{margin-block:2rem!important}.gravity-margin-inline-lg{margin-inline:2rem!important}.gravity-margin-xl{margin:2.5rem!important}.gravity-margin-top-xl{margin-top:2.5rem!important}.gravity-margin-bottom-xl{margin-bottom:2.5rem!important}.gravity-margin-left-xl{margin-left:2.5rem!important}.gravity-margin-right-xl{margin-right:2.5rem!important}.gravity-margin-block-xl{margin-block:2.5rem!important}.gravity-margin-inline-xl{margin-inline:2.5rem!important}.gravity-margin-xxl{margin:3rem!important}.gravity-margin-top-xxl{margin-top:3rem!important}.gravity-margin-bottom-xxl{margin-bottom:3rem!important}.gravity-margin-left-xxl{margin-left:3rem!important}.gravity-margin-right-xxl{margin-right:3rem!important}.gravity-margin-block-xxl{margin-block:3rem!important}.gravity-margin-inline-xxl{margin-inline:3rem!important}.gravity-margin-xxxl{margin:4rem!important}.gravity-margin-top-xxxl{margin-top:4rem!important}.gravity-margin-bottom-xxxl{margin-bottom:4rem!important}.gravity-margin-left-xxxl{margin-left:4rem!important}.gravity-margin-right-xxxl{margin-right:4rem!important}.gravity-margin-block-xxxl{margin-block:4rem!important}.gravity-margin-inline-xxxl{margin-inline:4rem!important}.gravity-margin-xxxxl{margin:6rem!important}.gravity-margin-top-xxxxl{margin-top:6rem!important}.gravity-margin-bottom-xxxxl{margin-bottom:6rem!important}.gravity-margin-left-xxxxl{margin-left:6rem!important}.gravity-margin-right-xxxxl{margin-right:6rem!important}.gravity-margin-block-xxxxl{margin-block:6rem!important}.gravity-margin-inline-xxxxl{margin-inline:6rem!important}.gravity-margin-xxxxxl{margin:12rem!important}.gravity-margin-top-xxxxxl{margin-top:12rem!important}.gravity-margin-bottom-xxxxxl{margin-bottom:12rem!important}.gravity-margin-left-xxxxxl{margin-left:12rem!important}.gravity-margin-right-xxxxxl{margin-right:12rem!important}.gravity-margin-block-xxxxxl{margin-block:12rem!important}.gravity-margin-inline-xxxxxl{margin-inline:12rem!important}:host{display:block}label{color:var(--text-field-label-color);display:block;margin:0 12px 5px}label.active,label.hover{--text-field-label-color: var(--label-text-empty-enabled-primary)}label.open{--text-field-label-color: var(--label-text-full-enabled-pressed-primary)}label.selected,label.error{--text-field-label-color: var(--label-text-full-enabled-primary)}label.error span{color:var(--negative-primary)}label.disabled{--text-field-label-color: var(--on-bg-disabled)}label.readonly{--text-field-label-color: var(--label-text-full-read-only-primary)}.gravity-input-field{align-items:center;background-color:var(--text-field-input-field-background-color);border:var(--text-field-input-field-border-width) solid var(--text-field-input-field-border-color);border-radius:.3125rem;color:var(--text-field-input-field-content-color);cursor:pointer;display:flex;height:var(--text-field-input-field-height);padding:10px 12px;position:relative;--text-field-input-field-border-width: .5px;width:var(--text-field-input-field-width)}.gravity-input-field gravity-icon{--icon-color: var(--text-field-input-field-icon-color);--icon-height: var(--text-field-input-field-content);--icon-width: var(--text-field-input-field-content)}.gravity-input-field gravity-icon.pointer{cursor:pointer}.gravity-input-field gravity-icon.left{margin-right:var(--icon-margin)}.gravity-input-field gravity-icon.right{margin-left:var(--icon-margin)}.gravity-input-field p.value{color:var(--text-field-input-field-content-color);height:var(--text-field-input-field-input);line-height:normal;margin-left:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.gravity-input-field.sm{--dropdown-items-gap: .5rem;--dropdown-items-padding-top: 16px;--dropdown-item-padding: .5rem .25rem;--dropdown-item-children-padding: .5rem 4px .5rem 28px;--dropdown-item-multiple-children-padding: .25rem;--dropdown-top-margin: 5px;--icon-margin: 5px;--text-field-input-field-content: 9px;--text-field-input-field-height: 29px;--text-field-input-field-input: 13px;--span-checkmark-height: 14px;--span-checkmark-margin: 5px;--span-checkmark-width: 14px}.gravity-input-field.sm.short-width{--text-field-input-field-width: 195px}.gravity-input-field.sm.medium-width{--text-field-input-field-width: 276px}.gravity-input-field.sm.full-width,.gravity-input-field.sm.fit-width{--text-field-input-field-width: 100%}.gravity-input-field.md{--dropdown-items-gap: 12px;--dropdown-items-padding-top: 20px;--dropdown-item-padding: .5rem;--dropdown-item-children-padding: .5rem .5rem .5rem 40px;--dropdown-item-multiple-children-padding: .5rem;--dropdown-top-margin: 8px;--text-field-input-field-content: 15px;--text-field-input-field-height: 35px;--text-field-input-field-input: 18px;--icon-margin: 8px;--span-checkmark-height: 16px;--span-checkmark-margin: 8px;--span-checkmark-width: 16px}.gravity-input-field.md.short-width{--text-field-input-field-width: 242px}.gravity-input-field.md.medium-width{--text-field-input-field-width: 329px}.gravity-input-field.md.full-width,.gravity-input-field.md.fit-width{--text-field-input-field-width: 100%}.gravity-input-field.active{--text-field-input-field-background-color: var(--bg-field-empty-enabled-primary);--text-field-input-field-border-color: var(--outline-field-empty-enabled-primary);--text-field-input-field-content-color: var(--placeholder-empty-enabled-primary);--text-field-input-field-icon-color: var(--label-text-empty-enabled-primary)}.gravity-input-field.active:hover{--text-field-input-field-border-width: 1px}.gravity-input-field.open{--text-field-input-field-background-color: var(--bg-field-empty-enabled-primary);--text-field-input-field-border-color: var(--outline-field-full-enabled-pressed-primary);--text-field-input-field-border-width: 1px;--text-field-input-field-content-color: var(--placeholder-empty-enabled-primary);--text-field-input-field-icon-color: var(--icon-active-primary)}.gravity-input-field.selected{--text-field-input-field-background-color: var(--bg-field-empty-enabled-primary);--text-field-input-field-border-color: var(--outline-field-full-enabled-primary);--text-field-input-field-content-color: var(--placeholder-full-enabled-pressed-primary);--text-field-input-field-icon-color: var(--icon-active-primary)}.gravity-input-field.selected:hover{--text-field-input-field-border-width: 1px}.gravity-input-field.error{--text-field-input-field-background-color: var(--bg-field-full-enabled-primary);--text-field-input-field-border-color: var(--negative-primary);--text-field-input-field-content-color: var(--label-text-full-enabled-primary);--text-field-input-field-icon-color: var(--label-text-full-enabled-primary)}.gravity-input-field.error:hover{--text-field-input-field-border-width: 1px}.gravity-input-field.disabled{cursor:initial;--text-field-input-field-background-color: var(--bg-disabled);--text-field-input-field-border-color: var(--outline-disabled);--text-field-input-field-content-color: var(--on-bg-disabled);--text-field-input-field-icon-color: var(--on-bg-disabled)}.gravity-input-field.readonly{cursor:initial;--text-field-input-field-background-color: var(--bg-field-full-read-only-primary);--text-field-input-field-border-color: var(--bg-field-full-read-only-primary);--text-field-input-field-content-color: var(--input-text-full-read-only-primary);--text-field-input-field-icon-color: var(--input-text-full-read-only-primary)}.dropdown-panel{background-color:var(--bg-field-full-enabled-primary);border:1px solid var(--outline-field-full-enabled-pressed-primary);border-radius:.3125rem;cursor:initial;left:-1px;position:absolute;top:calc(100% + var(--dropdown-top-margin));width:calc(var(--text-field-input-field-width) + 2px);z-index:1}.dropdown-panel .search-input{align-items:center;border-bottom:1px solid var(--outline-field-full-enabled-pressed-primary);display:flex;padding:12px}.dropdown-panel .search-input gravity-icon.search-icon{margin-right:.5rem}.dropdown-panel .search-input gravity-icon.reset-icon{margin-left:.5rem}.dropdown-panel .search-input input{background-color:transparent;border:none;border-radius:0;color:var(--input-text-full-enabled-primary);margin:0;outline:none;padding:0;width:100%}.dropdown-panel .search-input input::placeholder{color:var(--placeholder-empty-enabled-primary)}.dropdown-panel .items-container{overflow:auto}.dropdown-panel .items-container .items{display:flex;flex-direction:column;max-height:200px;padding:var(--dropdown-items-padding-top) 12px;width:100%;gap:var(--dropdown-items-gap)}.dropdown-panel .items-container .items .item-container .item{align-items:center;color:var(--label-text-full-enabled-primary);display:flex;padding:var(--dropdown-item-padding);cursor:pointer;white-space:nowrap}.dropdown-panel .items-container .items .item-container .item:hover:not(.no-results),.dropdown-panel .items-container .items .item-container .item.selected{background-color:var(--bg-menu-button-hover-primary);color:var(--on-bg-menu-button-active-primary)}.dropdown-panel .items-container .items .item-container .item gravity-checkbox ::ng-deep .gravity-checkbox-field span.checkmark{height:var(--span-checkmark-height);min-height:var(--span-checkmark-height);min-width:var(--span-checkmark-width);width:var(--span-checkmark-width)}.dropdown-panel .items-container .items .item-container .item-children{border-top:1px solid var(--label-text-full-enabled-primary);border-left:1px solid var(--on-bg-menu-button-disabled-primary)}.dropdown-panel .items-container .items .item-container .item-children .item{padding:var(--dropdown-item-children-padding)}.dropdown-panel .items-container .items .item-container .item-children .item.multiple{padding-left:var(--dropdown-item-multiple-children-padding)!important}.dropdown-panel .dropdown-footer{align-items:center;display:flex;justify-content:space-between;padding:12px 12px 20px}.dropdown-panel .dropdown-footer.not-clearable{justify-content:end}.dropdown-panel .dropdown-footer p{cursor:pointer;color:var(--on-bg-button-active-secondary);margin-left:0}.external-content{z-index:1;left:-1px;cursor:default;-webkit-user-select:none;user-select:none;position:absolute;top:calc(100% + var(--dropdown-top-margin))}.supporting-text{align-items:center;color:var(--text-field-supporting-text-color);display:flex;margin:5px 12px 0}.supporting-text.active,.supporting-text.hover{--text-field-supporting-text-color: var(--label-text-empty-enabled-primary)}.supporting-text.typing{--text-field-supporting-text-color: var(--label-text-full-enabled-pressed-primary)}.supporting-text.typed{--text-field-supporting-text-color: var(--label-text-full-enabled-primary)}.supporting-text.error{--text-field-supporting-text-color: var(--negative-primary)}.supporting-text.disabled{--text-field-supporting-text-color: var(--on-bg-disabled)}.supporting-text.readonly{--text-field-supporting-text-color: var(--label-text-full-read-only-primary)}.supporting-text.sm{--text-field-supporting-text-icon-size: 9px}.supporting-text.md{--text-field-supporting-text-icon-size: 15px}.supporting-text gravity-icon{--icon-color: var(--negative-primary);--icon-height: var(--text-field-supporting-text-icon-size);--icon-width: var(--text-field-supporting-text-icon-size);margin-right:5px}.gravity-input-field.label-sm,.gravity-input-field.label-md,.gravity-input-field.label-lg{padding:0;border:none;display:flex;justify-content:center}.gravity-input-field.label-sm{height:24px}.gravity-input-field.label-md{height:36px}.gravity-input-field.label-lg{height:42px}\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: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.GravityCheckboxComponent, selector: "gravity-checkbox", inputs: ["checked", "disabled", "name", "size", "value", "isPartial"], outputs: ["change"] }, { kind: "component", type: i5.GravityCurrencyComponent, selector: "gravity-currency", inputs: ["cypressTag", "disabled", "size", "currency", "showLayers"] }, { kind: "component", type: i6.GravityIconComponent, selector: "gravity-icon", inputs: ["customIconColorVariable", "iconName", "iconSize", "hoverIcon", "size", "isCoin"] }, { kind: "component", type: i7.GravityNetworkPillComponent, selector: "gravity-network-pill", inputs: ["cypressTag", "disabled", "showNetworkIcon", "network", "type"] }, { kind: "component", type: i8.GravityDropdownLabelComponent, selector: "gravity-dropdown-label", inputs: ["label", "fontClass", "isOpen", "stopPropagation", "size", "state"], outputs: ["onClickLabel"] }] }); }
|
|
305
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: GravityDropdownListComponent, selector: "gravity-dropdown-list", inputs: { dropdownState: "dropdownState", clearable: "clearable", config: "config", currentLang: "currentLang", customValues: "customValues", cypressTag: "cypressTag", hasError: "hasError", iconLeft: "iconLeft", isCurrency: "isCurrency", isDisabled: "isDisabled", isReadonly: "isReadonly", items: "items", label: "label", multiple: "multiple", placeholder: "placeholder", required: "required", supportText: "supportText", labelSize: "labelSize", size: "size", inputType: "inputType", width: "width" }, outputs: { dropdownStateChange: "dropdownStateChange", selectedItemsResponse: "response" }, host: { listeners: { "document:click": "onDocumentClick($event)" } }, providers: [FilterByPipe], viewQueries: [{ propertyName: "watch", first: true, predicate: ["searchInput"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"inputType === 'field'\">\n <label class=\"hr-label sm-bold {{getStatus()}}\" *ngIf=\"label\">\n {{ label }} <span *ngIf=\"required || hasError\">*</span>\n </label>\n</ng-container>\n\n<div class=\"gravity-input-field {{inputType}}-{{labelSize}} {{size}} {{width}}-width {{getStatus()}}\"\n [attr.data-cy]=\"cypressTag\" (click)=\"toggleDropdown()\">\n\n <ng-container *ngIf=\"inputType === 'field'\">\n <gravity-icon class=\"left\" [iconName]=\"iconLeft\" [iconSize]=\"isIconLeftNew() ? 'md-16' : null\"\n *ngIf=\"iconLeft\"></gravity-icon>\n\n <ng-container *ngIf=\"isCurrency && selectedItems.length > 0\">\n <gravity-currency\n [ngClass]=\"getSpacingClass(size)\"\n [size]=\"getCurrencyIconSize(size)\"\n [currency]=\"{currency_id: selectedItems[0]?.currency_id}\">\n </gravity-currency>\n </ng-container>\n\n <p class=\"hr-label {{size}}-regular value\">\n <ng-container *ngIf=\"selectedItems.length == 0\">\n {{ placeholder ? placeholder : label }}\n </ng-container>\n <ng-container *ngIf=\"selectedItems.length > 0\">\n <ng-container *ngFor=\"let item of selectedItems; let i = index\">\n {{ config ? item[config.label] : item }}{{ i != selectedItems.length - 1 ? ',' : '' }}\n </ng-container>\n </ng-container>\n </p>\n\n <ng-container *ngIf=\"isCurrency && selectedItems.length > 0\">\n <gravity-network-pill\n [network]=\"{ iso: selectedItems[0]?.network?.code, id: selectedItems[0]?.network?.id }\">\n </gravity-network-pill>\n </ng-container>\n\n <gravity-icon class=\"right\" [iconName]=\"dropdownOpened ? 'arrow-up': 'arrow-down'\"\n [iconSize]=\"'md-16'\" *ngIf=\"!isReadonly\"></gravity-icon>\n </ng-container>\n\n <ng-container *ngIf=\"inputType === 'label'\">\n <gravity-dropdown-label (onClickLabel)=\"toggleDropdown()\" [label]=\"getLabelText()\"\n [size]=\"labelSize\" [isOpen]=\"dropdownOpened\">\n </gravity-dropdown-label>\n </ng-container>\n\n <div class=\"dropdown-panel\" (click)=\"$event.stopPropagation()\" *ngIf=\"items && dropdownOpened\"\n [attr.data-cy]=\"cypressTag + '_panel'\">\n <div class=\"search-input\">\n <gravity-icon class=\"search-icon\" [iconName]=\"'search'\" [iconSize]=\"'sm-12'\"></gravity-icon>\n <input autocomplete=\"off\" class=\"hr-label {{size}}-regular\" (input)=\"filterItems()\"\n [attr.data-cy]=\"cypressTag + '_search_input'\" #searchInput\n [(ngModel)]=\"searchText\" placeholder=\"{{currentLang == 'es' ? 'Buscar' : 'Search input'}}\">\n <gravity-icon class=\"pointer reset-icon\" (click)=\"searchText = ''; filterItems()\" [iconName]=\"'unsuccess'\"\n [iconSize]=\"'sm-12'\" *ngIf=\"searchText?.length > 0\"></gravity-icon>\n </div>\n\n <div class=\"items-container\">\n <div class=\"items\">\n <div class=\"item-container\" *ngFor=\"let item of availableOptions\" [attr.data-cy]=\"isCurrency ? 'currency_option_' + item.currency_id : ''\">\n <div class=\"hr-label item {{size}}-regular pointer\"\n [class.selected]=\"checkIfSelected(item)\"\n [class.partial]=\"isPartiallySelected(item)\"\n (click)=\"item.children?.length ? multiple ?selectItem(item) : toggleChildren(item, $event) : selectItem(item)\">\n <gravity-checkbox *ngIf=\"multiple\" [ngClass]=\"getSpacingClass(size)\"\n [isPartial]=\"isPartiallySelected(item)\"\n [checked]=\"checkIfSelected(item)\"></gravity-checkbox>\n <gravity-currency *ngIf=\"isCurrency\" [ngClass]=\"getSpacingClass(size)\" [size]=\"getCurrencyIconSize(size)\"\n [currency]=\"{currency_id: item.currency_id}\"></gravity-currency>\n <div [ngClass]=\"getSpacingClass(size)\">{{ getDisplayValue(item, config) }}</div>\n <gravity-network-pill *ngIf=\"isCurrency\"\n [network]=\"{ iso: item.network.code, id: item.network.id }\"></gravity-network-pill>\n <gravity-icon style=\"margin-left: auto\" (click)=\"toggleChildren(item, $event)\"\n [iconName]=\"isChildrenOpen(item) ? 'arrow-up' : 'arrow-down'\"\n [iconSize]=\"'md-16'\" *ngIf=\"item.children?.length\"></gravity-icon>\n </div>\n\n <div class=\"item-children\" *ngIf=\"item.children?.length && isChildrenOpen(item)\">\n <ng-container *ngFor=\"let child of item.children\">\n <div class=\"hr-label item {{size}}-regular pointer\" [ngClass]=\"{'multiple' : multiple}\"\n [class.selected]=\"checkIfSelected(child)\"\n (click)=\"selectItem(child)\">\n <gravity-checkbox *ngIf=\"multiple\" [ngClass]=\"getMultilevelSpacingClass(size)\"\n [checked]=\"checkIfSelected(child)\"></gravity-checkbox>\n <gravity-currency *ngIf=\"isCurrency\" [ngClass]=\"getSpacingClass(size)\"\n [size]=\"getCurrencyIconSize(size)\"\n [currency]=\"{currency_id: child.currency_id}\"></gravity-currency>\n <div [ngClass]=\"getSpacingClass(size)\">{{ getDisplayValue(child, config) }}</div>\n <gravity-network-pill *ngIf=\"isCurrency\"\n [network]=\"{ iso: child.network.code, id: child.network.id }\"></gravity-network-pill>\n </div>\n </ng-container>\n </div>\n </div>\n <div class=\"hr-label item {{size}}-bold no-results\" *ngIf=\"availableOptions.length === 0\">\n {{ currentLang == 'es' ? 'Sin resultados' : 'No results' }}\n </div>\n </div>\n </div>\n\n <div class=\"dropdown-footer\" *ngIf=\"selectedItems.length > 0\" [class.not-clearable]=\"!clearable\">\n <p class=\"hr-label pointer sm-regular\" (click)=\"clearSelection()\" *ngIf=\"clearable\"\n [attr.data-cy]=\"cypressTag + '_clear'\">\n {{ currentLang == 'es' ? 'Limpiar' : 'Clear selection' }}\n </p>\n <p class=\"hr-label pointer sm-bold\" (click)=\"$event.stopPropagation(); toggleDropdown()\"\n *ngIf=\"availableOptions.length != 0\" [attr.data-cy]=\"cypressTag + '_apply'\">\n {{ currentLang == 'es' ? 'Aplicar' : 'Apply' }}\n </p>\n </div>\n </div>\n\n <section class=\"external-content\" *ngIf=\"!items && dropdownOpened\" (click)=\"$event.stopPropagation()\">\n <ng-content></ng-content>\n </section>\n</div>\n\n<ng-container *ngIf=\"inputType === 'field'\">\n <p class=\"hr-label sm-regular supporting-text {{getStatus()}} {{size}}\" *ngIf=\"supportText\">\n <gravity-icon [iconName]=\"'question-circle'\" *ngIf=\"hasError\" [iconSize]=\"'md-16'\"></gravity-icon>\n {{ supportText }}\n </p>\n <p class=\"hr-label sm-regular supporting-text {{getStatus()}} {{size}}\"\n *ngIf=\"!supportText && getStatus() == 'active' && selectedItems.length == 0 && required\">\n {{ currentLang == 'es' ? 'Requerido' : 'Required' }}\n </p>\n</ng-container>", styles: [".border-radius-none{border-radius:0}.border-radius-xs{border-radius:.0625rem}.border-radius-sm{border-radius:.3125rem}.border-radius-md{border-radius:.625rem}.border-radius-lg{border-radius:.9375rem}.border-radius-xl{border-radius:1.25rem}.border-radius-xxl{border-radius:2rem}.border-radius-rounded{border-radius:6.25rem}:root{--gravity-spacing-none: 0;--gravity-spacing-xxs: .25rem;--gravity-spacing-xs: .5rem;--gravity-spacing-sm: 1rem;--gravity-spacing-md: 1.5rem;--gravity-spacing-lg: 2rem;--gravity-spacing-xl: 2.5rem;--gravity-spacing-xxl: 3rem;--gravity-spacing-xxxl: 4rem;--gravity-spacing-xxxxl: 6rem;--gravity-spacing-xxxxxl: 12rem}.gravity-padding-none{padding:0!important}.gravity-padding-top-none{padding-top:0!important}.gravity-padding-bottom-none{padding-bottom:0!important}.gravity-padding-left-none{padding-left:0!important}.gravity-padding-right-none{padding-right:0!important}.gravity-padding-block-none{padding-block:0!important}.gravity-padding-inline-none{padding-inline:0!important}.gravity-padding-xxs{padding:.25rem!important}.gravity-padding-top-xxs{padding-top:.25rem!important}.gravity-padding-bottom-xxs{padding-bottom:.25rem!important}.gravity-padding-left-xxs{padding-left:.25rem!important}.gravity-padding-right-xxs{padding-right:.25rem!important}.gravity-padding-block-xxs{padding-block:.25rem!important}.gravity-padding-inline-xxs{padding-inline:.25rem!important}.gravity-padding-xs{padding:.5rem!important}.gravity-padding-top-xs{padding-top:.5rem!important}.gravity-padding-bottom-xs{padding-bottom:.5rem!important}.gravity-padding-left-xs{padding-left:.5rem!important}.gravity-padding-right-xs{padding-right:.5rem!important}.gravity-padding-block-xs{padding-block:.5rem!important}.gravity-padding-inline-xs{padding-inline:.5rem!important}.gravity-padding-sm{padding:1rem!important}.gravity-padding-top-sm{padding-top:1rem!important}.gravity-padding-bottom-sm{padding-bottom:1rem!important}.gravity-padding-left-sm{padding-left:1rem!important}.gravity-padding-right-sm{padding-right:1rem!important}.gravity-padding-block-sm{padding-block:1rem!important}.gravity-padding-inline-sm{padding-inline:1rem!important}.gravity-padding-md{padding:1.5rem!important}.gravity-padding-top-md{padding-top:1.5rem!important}.gravity-padding-bottom-md{padding-bottom:1.5rem!important}.gravity-padding-left-md{padding-left:1.5rem!important}.gravity-padding-right-md{padding-right:1.5rem!important}.gravity-padding-block-md{padding-block:1.5rem!important}.gravity-padding-inline-md{padding-inline:1.5rem!important}.gravity-padding-lg{padding:2rem!important}.gravity-padding-top-lg{padding-top:2rem!important}.gravity-padding-bottom-lg{padding-bottom:2rem!important}.gravity-padding-left-lg{padding-left:2rem!important}.gravity-padding-right-lg{padding-right:2rem!important}.gravity-padding-block-lg{padding-block:2rem!important}.gravity-padding-inline-lg{padding-inline:2rem!important}.gravity-padding-xl{padding:2.5rem!important}.gravity-padding-top-xl{padding-top:2.5rem!important}.gravity-padding-bottom-xl{padding-bottom:2.5rem!important}.gravity-padding-left-xl{padding-left:2.5rem!important}.gravity-padding-right-xl{padding-right:2.5rem!important}.gravity-padding-block-xl{padding-block:2.5rem!important}.gravity-padding-inline-xl{padding-inline:2.5rem!important}.gravity-padding-xxl{padding:3rem!important}.gravity-padding-top-xxl{padding-top:3rem!important}.gravity-padding-bottom-xxl{padding-bottom:3rem!important}.gravity-padding-left-xxl{padding-left:3rem!important}.gravity-padding-right-xxl{padding-right:3rem!important}.gravity-padding-block-xxl{padding-block:3rem!important}.gravity-padding-inline-xxl{padding-inline:3rem!important}.gravity-padding-xxxl{padding:4rem!important}.gravity-padding-top-xxxl{padding-top:4rem!important}.gravity-padding-bottom-xxxl{padding-bottom:4rem!important}.gravity-padding-left-xxxl{padding-left:4rem!important}.gravity-padding-right-xxxl{padding-right:4rem!important}.gravity-padding-block-xxxl{padding-block:4rem!important}.gravity-padding-inline-xxxl{padding-inline:4rem!important}.gravity-padding-xxxxl{padding:6rem!important}.gravity-padding-top-xxxxl{padding-top:6rem!important}.gravity-padding-bottom-xxxxl{padding-bottom:6rem!important}.gravity-padding-left-xxxxl{padding-left:6rem!important}.gravity-padding-right-xxxxl{padding-right:6rem!important}.gravity-padding-block-xxxxl{padding-block:6rem!important}.gravity-padding-inline-xxxxl{padding-inline:6rem!important}.gravity-padding-xxxxxl{padding:12rem!important}.gravity-padding-top-xxxxxl{padding-top:12rem!important}.gravity-padding-bottom-xxxxxl{padding-bottom:12rem!important}.gravity-padding-left-xxxxxl{padding-left:12rem!important}.gravity-padding-right-xxxxxl{padding-right:12rem!important}.gravity-padding-block-xxxxxl{padding-block:12rem!important}.gravity-padding-inline-xxxxxl{padding-inline:12rem!important}.gravity-margin-none{margin:0!important}.gravity-margin-top-none{margin-top:0!important}.gravity-margin-bottom-none{margin-bottom:0!important}.gravity-margin-left-none{margin-left:0!important}.gravity-margin-right-none{margin-right:0!important}.gravity-margin-block-none{margin-block:0!important}.gravity-margin-inline-none{margin-inline:0!important}.gravity-margin-xxs{margin:.25rem!important}.gravity-margin-top-xxs{margin-top:.25rem!important}.gravity-margin-bottom-xxs{margin-bottom:.25rem!important}.gravity-margin-left-xxs{margin-left:.25rem!important}.gravity-margin-right-xxs{margin-right:.25rem!important}.gravity-margin-block-xxs{margin-block:.25rem!important}.gravity-margin-inline-xxs{margin-inline:.25rem!important}.gravity-margin-xs{margin:.5rem!important}.gravity-margin-top-xs{margin-top:.5rem!important}.gravity-margin-bottom-xs{margin-bottom:.5rem!important}.gravity-margin-left-xs{margin-left:.5rem!important}.gravity-margin-right-xs{margin-right:.5rem!important}.gravity-margin-block-xs{margin-block:.5rem!important}.gravity-margin-inline-xs{margin-inline:.5rem!important}.gravity-margin-sm{margin:1rem!important}.gravity-margin-top-sm{margin-top:1rem!important}.gravity-margin-bottom-sm{margin-bottom:1rem!important}.gravity-margin-left-sm{margin-left:1rem!important}.gravity-margin-right-sm{margin-right:1rem!important}.gravity-margin-block-sm{margin-block:1rem!important}.gravity-margin-inline-sm{margin-inline:1rem!important}.gravity-margin-md{margin:1.5rem!important}.gravity-margin-top-md{margin-top:1.5rem!important}.gravity-margin-bottom-md{margin-bottom:1.5rem!important}.gravity-margin-left-md{margin-left:1.5rem!important}.gravity-margin-right-md{margin-right:1.5rem!important}.gravity-margin-block-md{margin-block:1.5rem!important}.gravity-margin-inline-md{margin-inline:1.5rem!important}.gravity-margin-lg{margin:2rem!important}.gravity-margin-top-lg{margin-top:2rem!important}.gravity-margin-bottom-lg{margin-bottom:2rem!important}.gravity-margin-left-lg{margin-left:2rem!important}.gravity-margin-right-lg{margin-right:2rem!important}.gravity-margin-block-lg{margin-block:2rem!important}.gravity-margin-inline-lg{margin-inline:2rem!important}.gravity-margin-xl{margin:2.5rem!important}.gravity-margin-top-xl{margin-top:2.5rem!important}.gravity-margin-bottom-xl{margin-bottom:2.5rem!important}.gravity-margin-left-xl{margin-left:2.5rem!important}.gravity-margin-right-xl{margin-right:2.5rem!important}.gravity-margin-block-xl{margin-block:2.5rem!important}.gravity-margin-inline-xl{margin-inline:2.5rem!important}.gravity-margin-xxl{margin:3rem!important}.gravity-margin-top-xxl{margin-top:3rem!important}.gravity-margin-bottom-xxl{margin-bottom:3rem!important}.gravity-margin-left-xxl{margin-left:3rem!important}.gravity-margin-right-xxl{margin-right:3rem!important}.gravity-margin-block-xxl{margin-block:3rem!important}.gravity-margin-inline-xxl{margin-inline:3rem!important}.gravity-margin-xxxl{margin:4rem!important}.gravity-margin-top-xxxl{margin-top:4rem!important}.gravity-margin-bottom-xxxl{margin-bottom:4rem!important}.gravity-margin-left-xxxl{margin-left:4rem!important}.gravity-margin-right-xxxl{margin-right:4rem!important}.gravity-margin-block-xxxl{margin-block:4rem!important}.gravity-margin-inline-xxxl{margin-inline:4rem!important}.gravity-margin-xxxxl{margin:6rem!important}.gravity-margin-top-xxxxl{margin-top:6rem!important}.gravity-margin-bottom-xxxxl{margin-bottom:6rem!important}.gravity-margin-left-xxxxl{margin-left:6rem!important}.gravity-margin-right-xxxxl{margin-right:6rem!important}.gravity-margin-block-xxxxl{margin-block:6rem!important}.gravity-margin-inline-xxxxl{margin-inline:6rem!important}.gravity-margin-xxxxxl{margin:12rem!important}.gravity-margin-top-xxxxxl{margin-top:12rem!important}.gravity-margin-bottom-xxxxxl{margin-bottom:12rem!important}.gravity-margin-left-xxxxxl{margin-left:12rem!important}.gravity-margin-right-xxxxxl{margin-right:12rem!important}.gravity-margin-block-xxxxxl{margin-block:12rem!important}.gravity-margin-inline-xxxxxl{margin-inline:12rem!important}:host{display:block}label{color:var(--text-field-label-color);display:block;margin:0 12px 5px}label.active,label.hover{--text-field-label-color: var(--label-text-empty-enabled-primary)}label.open{--text-field-label-color: var(--label-text-full-enabled-pressed-primary)}label.selected,label.error{--text-field-label-color: var(--label-text-full-enabled-primary)}label.error span{color:var(--negative-primary)}label.disabled{--text-field-label-color: var(--on-bg-disabled)}label.readonly{--text-field-label-color: var(--label-text-full-read-only-primary)}.gravity-input-field{align-items:center;background-color:var(--text-field-input-field-background-color);border:var(--text-field-input-field-border-width) solid var(--text-field-input-field-border-color);border-radius:.3125rem;color:var(--text-field-input-field-content-color);cursor:pointer;display:flex;height:var(--text-field-input-field-height);padding:10px 12px;position:relative;--text-field-input-field-border-width: .5px;width:var(--text-field-input-field-width)}.gravity-input-field gravity-icon{--icon-color: var(--text-field-input-field-icon-color);--icon-height: var(--text-field-input-field-content);--icon-width: var(--text-field-input-field-content)}.gravity-input-field gravity-icon.pointer{cursor:pointer}.gravity-input-field gravity-icon.left{margin-right:var(--icon-margin)}.gravity-input-field gravity-icon.right{margin-left:var(--icon-margin)}.gravity-input-field p.value{color:var(--text-field-input-field-content-color);height:var(--text-field-input-field-input);line-height:normal;margin-left:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.gravity-input-field.sm{--dropdown-items-gap: .5rem;--dropdown-items-padding-top: 16px;--dropdown-item-padding: .5rem .25rem;--dropdown-item-children-padding: .5rem 4px .5rem 28px;--dropdown-item-multiple-children-padding: .25rem;--dropdown-top-margin: 5px;--icon-margin: 5px;--text-field-input-field-content: 9px;--text-field-input-field-height: 29px;--text-field-input-field-input: 13px;--span-checkmark-height: 14px;--span-checkmark-margin: 5px;--span-checkmark-width: 14px}.gravity-input-field.sm.short-width{--text-field-input-field-width: 195px}.gravity-input-field.sm.medium-width{--text-field-input-field-width: 276px}.gravity-input-field.sm.full-width,.gravity-input-field.sm.fit-width{--text-field-input-field-width: 100%}.gravity-input-field.md{--dropdown-items-gap: 12px;--dropdown-items-padding-top: 20px;--dropdown-item-padding: .5rem;--dropdown-item-children-padding: .5rem .5rem .5rem 40px;--dropdown-item-multiple-children-padding: .5rem;--dropdown-top-margin: 8px;--text-field-input-field-content: 15px;--text-field-input-field-height: 35px;--text-field-input-field-input: 18px;--icon-margin: 8px;--span-checkmark-height: 16px;--span-checkmark-margin: 8px;--span-checkmark-width: 16px}.gravity-input-field.md.short-width{--text-field-input-field-width: 242px}.gravity-input-field.md.medium-width{--text-field-input-field-width: 329px}.gravity-input-field.md.full-width,.gravity-input-field.md.fit-width{--text-field-input-field-width: 100%}.gravity-input-field.active{--text-field-input-field-background-color: var(--bg-field-empty-enabled-primary);--text-field-input-field-border-color: var(--outline-field-empty-enabled-primary);--text-field-input-field-content-color: var(--placeholder-empty-enabled-primary);--text-field-input-field-icon-color: var(--label-text-empty-enabled-primary)}.gravity-input-field.active:hover{--text-field-input-field-border-width: 1px}.gravity-input-field.open{--text-field-input-field-background-color: var(--bg-field-empty-enabled-primary);--text-field-input-field-border-color: var(--outline-field-full-enabled-pressed-primary);--text-field-input-field-border-width: 1px;--text-field-input-field-content-color: var(--placeholder-empty-enabled-primary);--text-field-input-field-icon-color: var(--icon-active-primary)}.gravity-input-field.selected{--text-field-input-field-background-color: var(--bg-field-empty-enabled-primary);--text-field-input-field-border-color: var(--outline-field-full-enabled-primary);--text-field-input-field-content-color: var(--placeholder-full-enabled-pressed-primary);--text-field-input-field-icon-color: var(--icon-active-primary)}.gravity-input-field.selected:hover{--text-field-input-field-border-width: 1px}.gravity-input-field.error{--text-field-input-field-background-color: var(--bg-field-full-enabled-primary);--text-field-input-field-border-color: var(--negative-primary);--text-field-input-field-content-color: var(--label-text-full-enabled-primary);--text-field-input-field-icon-color: var(--label-text-full-enabled-primary)}.gravity-input-field.error:hover{--text-field-input-field-border-width: 1px}.gravity-input-field.disabled{cursor:initial;--text-field-input-field-background-color: var(--bg-disabled);--text-field-input-field-border-color: var(--outline-disabled);--text-field-input-field-content-color: var(--on-bg-disabled);--text-field-input-field-icon-color: var(--on-bg-disabled)}.gravity-input-field.readonly{cursor:initial;--text-field-input-field-background-color: var(--bg-field-full-read-only-primary);--text-field-input-field-border-color: var(--bg-field-full-read-only-primary);--text-field-input-field-content-color: var(--input-text-full-read-only-primary);--text-field-input-field-icon-color: var(--input-text-full-read-only-primary)}.dropdown-panel{background-color:var(--bg-field-full-enabled-primary);border:1px solid var(--outline-field-full-enabled-pressed-primary);border-radius:.3125rem;cursor:initial;left:-1px;position:absolute;top:calc(100% + var(--dropdown-top-margin));width:calc(var(--text-field-input-field-width) + 2px);z-index:1}.dropdown-panel .search-input{align-items:center;border-bottom:1px solid var(--outline-field-full-enabled-pressed-primary);display:flex;padding:12px}.dropdown-panel .search-input gravity-icon.search-icon{margin-right:.5rem}.dropdown-panel .search-input gravity-icon.reset-icon{margin-left:.5rem}.dropdown-panel .search-input input{background-color:transparent;border:none;border-radius:0;color:var(--input-text-full-enabled-primary);margin:0;outline:none;padding:0;width:100%}.dropdown-panel .search-input input::placeholder{color:var(--placeholder-empty-enabled-primary)}.dropdown-panel .items-container{overflow:auto}.dropdown-panel .items-container .items{display:flex;flex-direction:column;max-height:200px;padding:var(--dropdown-items-padding-top) 12px;width:100%;gap:var(--dropdown-items-gap)}.dropdown-panel .items-container .items .item-container .item{align-items:center;color:var(--label-text-full-enabled-primary);display:flex;padding:var(--dropdown-item-padding);cursor:pointer;white-space:nowrap}.dropdown-panel .items-container .items .item-container .item:hover:not(.no-results),.dropdown-panel .items-container .items .item-container .item.selected{background-color:var(--bg-menu-button-hover-primary);color:var(--on-bg-menu-button-active-primary)}.dropdown-panel .items-container .items .item-container .item gravity-checkbox ::ng-deep .gravity-checkbox-field span.checkmark{height:var(--span-checkmark-height);min-height:var(--span-checkmark-height);min-width:var(--span-checkmark-width);width:var(--span-checkmark-width)}.dropdown-panel .items-container .items .item-container .item-children{border-top:1px solid var(--label-text-full-enabled-primary);border-left:1px solid var(--on-bg-menu-button-disabled-primary)}.dropdown-panel .items-container .items .item-container .item-children .item{padding:var(--dropdown-item-children-padding)}.dropdown-panel .items-container .items .item-container .item-children .item.multiple{padding-left:var(--dropdown-item-multiple-children-padding)!important}.dropdown-panel .dropdown-footer{align-items:center;display:flex;justify-content:space-between;padding:12px 12px 20px}.dropdown-panel .dropdown-footer.not-clearable{justify-content:end}.dropdown-panel .dropdown-footer p{cursor:pointer;color:var(--on-bg-button-active-secondary);margin-left:0}.external-content{z-index:1;left:-1px;cursor:default;-webkit-user-select:none;user-select:none;position:absolute;top:calc(100% + var(--dropdown-top-margin))}.supporting-text{align-items:center;color:var(--text-field-supporting-text-color);display:flex;margin:5px 12px 0}.supporting-text.active,.supporting-text.hover{--text-field-supporting-text-color: var(--label-text-empty-enabled-primary)}.supporting-text.typing{--text-field-supporting-text-color: var(--label-text-full-enabled-pressed-primary)}.supporting-text.typed{--text-field-supporting-text-color: var(--label-text-full-enabled-primary)}.supporting-text.error{--text-field-supporting-text-color: var(--negative-primary)}.supporting-text.disabled{--text-field-supporting-text-color: var(--on-bg-disabled)}.supporting-text.readonly{--text-field-supporting-text-color: var(--label-text-full-read-only-primary)}.supporting-text.sm{--text-field-supporting-text-icon-size: 9px}.supporting-text.md{--text-field-supporting-text-icon-size: 15px}.supporting-text gravity-icon{--icon-color: var(--negative-primary);--icon-height: var(--text-field-supporting-text-icon-size);--icon-width: var(--text-field-supporting-text-icon-size);margin-right:5px}.gravity-input-field.label-sm,.gravity-input-field.label-md,.gravity-input-field.label-lg{padding:0;border:none;display:flex;justify-content:center}.gravity-input-field.label-sm{height:24px}.gravity-input-field.label-md{height:36px}.gravity-input-field.label-lg{height:42px}\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: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.GravityCheckboxComponent, selector: "gravity-checkbox", inputs: ["checked", "disabled", "name", "size", "value", "isPartial"], outputs: ["change"] }, { kind: "component", type: i5.GravityCurrencyComponent, selector: "gravity-currency", inputs: ["cypressTag", "disabled", "size", "currency", "showLayers"] }, { kind: "component", type: i6.GravityIconComponent, selector: "gravity-icon", inputs: ["customIconColorVariable", "iconName", "iconSize", "hoverIcon", "size", "isCoin"] }, { kind: "component", type: i7.GravityNetworkPillComponent, selector: "gravity-network-pill", inputs: ["cypressTag", "disabled", "showNetworkIcon", "network", "type"] }, { kind: "component", type: i8.GravityDropdownLabelComponent, selector: "gravity-dropdown-label", inputs: ["label", "fontClass", "isOpen", "stopPropagation", "size", "state"], outputs: ["onClickLabel"] }] }); }
|
|
286
306
|
}
|
|
287
307
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GravityDropdownListComponent, decorators: [{
|
|
288
308
|
type: Component,
|
|
289
|
-
args: [{ selector: 'gravity-dropdown-list', providers: [FilterByPipe], template: "<ng-container *ngIf=\"inputType === 'field'\">\n <label class=\"hr-label sm-bold {{getStatus()}}\" *ngIf=\"label\">\n {{ label }} <span *ngIf=\"required || hasError\">*</span>\n </label>\n</ng-container>\n\n<div class=\"gravity-input-field {{inputType}}-{{labelSize}} {{size}} {{width}}-width {{getStatus()}}\"\n [attr.data-cy]=\"cypressTag\" (click)=\"toggleDropdown()\">\n\n <ng-container *ngIf=\"inputType === 'field'\">\n <gravity-icon class=\"left\" [iconName]=\"iconLeft\" [iconSize]=\"isIconLeftNew() ? 'md-16' : null\"\n *ngIf=\"iconLeft\"></gravity-icon>\n\n <ng-container *ngIf=\"isCurrency && selectedItems.length > 0\">\n <gravity-currency\n [ngClass]=\"getSpacingClass(size)\"\n [size]=\"getCurrencyIconSize(size)\"\n [currency]=\"{currency_id: selectedItems[0]?.currency_id}\">\n </gravity-currency>\n </ng-container>\n\n <p class=\"hr-label {{size}}-regular value\">\n <ng-container *ngIf=\"selectedItems.length == 0\">\n {{ placeholder ? placeholder : label }}\n </ng-container>\n <ng-container *ngIf=\"selectedItems.length > 0\">\n <ng-container *ngFor=\"let item of selectedItems; let i = index\">\n {{ config ? item[config.label] : item }}{{ i != selectedItems.length - 1 ? ',' : '' }}\n </ng-container>\n </ng-container>\n </p>\n\n <ng-container *ngIf=\"isCurrency && selectedItems.length > 0\">\n <gravity-network-pill\n [network]=\"{ iso: selectedItems[0]?.network?.code, id: selectedItems[0]?.network?.id }\">\n </gravity-network-pill>\n </ng-container>\n\n <gravity-icon class=\"right\" [iconName]=\"dropdownOpened ? 'arrow-up': 'arrow-down'\"\n [iconSize]=\"'md-16'\" *ngIf=\"!isReadonly\"></gravity-icon>\n </ng-container>\n\n <ng-container *ngIf=\"inputType === 'label'\">\n <gravity-dropdown-label (onClickLabel)=\"toggleDropdown()\" [label]=\"getLabelText()\"\n [size]=\"labelSize\" [isOpen]=\"dropdownOpened\">\n </gravity-dropdown-label>\n </ng-container>\n\n <div class=\"dropdown-panel\" (click)=\"$event.stopPropagation()\" *ngIf=\"items && dropdownOpened\"\n [attr.data-cy]=\"cypressTag + '_panel'\">\n <div class=\"search-input\">\n <gravity-icon class=\"search-icon\" [iconName]=\"'search'\" [iconSize]=\"'sm-12'\"></gravity-icon>\n <input autocomplete=\"off\" class=\"hr-label {{size}}-regular\" (input)=\"filterItems()\"\n [attr.data-cy]=\"cypressTag + '_search_input'\" #searchInput\n [(ngModel)]=\"searchText\" placeholder=\"{{currentLang == 'es' ? 'Buscar' : 'Search input'}}\">\n <gravity-icon class=\"pointer reset-icon\" (click)=\"searchText = ''; filterItems()\" [iconName]=\"'unsuccess'\"\n [iconSize]=\"'sm-12'\" *ngIf=\"searchText?.length > 0\"></gravity-icon>\n </div>\n\n <div class=\"items-container\">\n <div class=\"items\">\n <div class=\"item-container\" *ngFor=\"let item of availableOptions\" [attr.data-cy]=\"isCurrency ? 'currency_option_' + item.currency_id : ''\">\n <div class=\"hr-label item {{size}}-regular pointer\"\n [class.selected]=\"checkIfSelected(item)\"\n [class.partial]=\"isPartiallySelected(item)\"\n (click)=\"item.children?.length ? multiple ?selectItem(item) : toggleChildren(item, $event) : selectItem(item)\">\n <gravity-checkbox *ngIf=\"multiple\" [ngClass]=\"getSpacingClass(size)\"\n [isPartial]=\"isPartiallySelected(item)\"\n [checked]=\"checkIfSelected(item)\"></gravity-checkbox>\n <gravity-currency *ngIf=\"isCurrency\" [ngClass]=\"getSpacingClass(size)\" [size]=\"getCurrencyIconSize(size)\"\n [currency]=\"{currency_id: item.currency_id}\"></gravity-currency>\n <div [ngClass]=\"getSpacingClass(size)\">{{ config ? item[config.label] : item }}</div>\n <gravity-network-pill *ngIf=\"isCurrency\"\n [network]=\"{ iso: item.network.code, id: item.network.id }\"></gravity-network-pill>\n <gravity-icon style=\"margin-left: auto\" (click)=\"toggleChildren(item, $event)\"\n [iconName]=\"isChildrenOpen(item) ? 'arrow-up' : 'arrow-down'\"\n [iconSize]=\"'md-16'\" *ngIf=\"item.children?.length\"></gravity-icon>\n </div>\n\n <div class=\"item-children\" *ngIf=\"item.children?.length && isChildrenOpen(item)\">\n <ng-container *ngFor=\"let child of item.children\">\n <div class=\"hr-label item {{size}}-regular pointer\" [ngClass]=\"{'multiple' : multiple}\"\n [class.selected]=\"checkIfSelected(child)\"\n (click)=\"selectItem(child)\">\n <gravity-checkbox *ngIf=\"multiple\" [ngClass]=\"getMultilevelSpacingClass(size)\"\n [checked]=\"checkIfSelected(child)\"></gravity-checkbox>\n <gravity-currency *ngIf=\"isCurrency\" [ngClass]=\"getSpacingClass(size)\"\n [size]=\"getCurrencyIconSize(size)\"\n [currency]=\"{currency_id: child.currency_id}\"></gravity-currency>\n <div [ngClass]=\"getSpacingClass(size)\">{{ config ? child[config.label] : child }}</div>\n <gravity-network-pill *ngIf=\"isCurrency\"\n [network]=\"{ iso: child.network.code, id: child.network.id }\"></gravity-network-pill>\n </div>\n </ng-container>\n </div>\n </div>\n <div class=\"hr-label item {{size}}-bold no-results\" *ngIf=\"availableOptions.length === 0\">\n {{ currentLang == 'es' ? 'Sin resultados' : 'No results' }}\n </div>\n </div>\n </div>\n\n <div class=\"dropdown-footer\" *ngIf=\"selectedItems.length > 0\" [class.not-clearable]=\"!clearable\">\n <p class=\"hr-label pointer sm-regular\" (click)=\"clearSelection()\" *ngIf=\"clearable\"\n [attr.data-cy]=\"cypressTag + '_clear'\">\n {{ currentLang == 'es' ? 'Limpiar' : 'Clear selection' }}\n </p>\n <p class=\"hr-label pointer sm-bold\" (click)=\"$event.stopPropagation(); toggleDropdown()\"\n *ngIf=\"availableOptions.length != 0\" [attr.data-cy]=\"cypressTag + '_apply'\">\n {{ currentLang == 'es' ? 'Aplicar' : 'Apply' }}\n </p>\n </div>\n </div>\n\n <section class=\"external-content\" *ngIf=\"!items && dropdownOpened\" (click)=\"$event.stopPropagation()\">\n <ng-content></ng-content>\n </section>\n</div>\n\n<ng-container *ngIf=\"inputType === 'field'\">\n <p class=\"hr-label sm-regular supporting-text {{getStatus()}} {{size}}\" *ngIf=\"supportText\">\n <gravity-icon [iconName]=\"'question-circle'\" *ngIf=\"hasError\" [iconSize]=\"'md-16'\"></gravity-icon>\n {{ supportText }}\n </p>\n <p class=\"hr-label sm-regular supporting-text {{getStatus()}} {{size}}\"\n *ngIf=\"!supportText && getStatus() == 'active' && selectedItems.length == 0 && required\">\n {{ currentLang == 'es' ? 'Requerido' : 'Required' }}\n </p>\n</ng-container>", styles: [".border-radius-none{border-radius:0}.border-radius-xs{border-radius:.0625rem}.border-radius-sm{border-radius:.3125rem}.border-radius-md{border-radius:.625rem}.border-radius-lg{border-radius:.9375rem}.border-radius-xl{border-radius:1.25rem}.border-radius-xxl{border-radius:2rem}.border-radius-rounded{border-radius:6.25rem}:root{--gravity-spacing-none: 0;--gravity-spacing-xxs: .25rem;--gravity-spacing-xs: .5rem;--gravity-spacing-sm: 1rem;--gravity-spacing-md: 1.5rem;--gravity-spacing-lg: 2rem;--gravity-spacing-xl: 2.5rem;--gravity-spacing-xxl: 3rem;--gravity-spacing-xxxl: 4rem;--gravity-spacing-xxxxl: 6rem;--gravity-spacing-xxxxxl: 12rem}.gravity-padding-none{padding:0!important}.gravity-padding-top-none{padding-top:0!important}.gravity-padding-bottom-none{padding-bottom:0!important}.gravity-padding-left-none{padding-left:0!important}.gravity-padding-right-none{padding-right:0!important}.gravity-padding-block-none{padding-block:0!important}.gravity-padding-inline-none{padding-inline:0!important}.gravity-padding-xxs{padding:.25rem!important}.gravity-padding-top-xxs{padding-top:.25rem!important}.gravity-padding-bottom-xxs{padding-bottom:.25rem!important}.gravity-padding-left-xxs{padding-left:.25rem!important}.gravity-padding-right-xxs{padding-right:.25rem!important}.gravity-padding-block-xxs{padding-block:.25rem!important}.gravity-padding-inline-xxs{padding-inline:.25rem!important}.gravity-padding-xs{padding:.5rem!important}.gravity-padding-top-xs{padding-top:.5rem!important}.gravity-padding-bottom-xs{padding-bottom:.5rem!important}.gravity-padding-left-xs{padding-left:.5rem!important}.gravity-padding-right-xs{padding-right:.5rem!important}.gravity-padding-block-xs{padding-block:.5rem!important}.gravity-padding-inline-xs{padding-inline:.5rem!important}.gravity-padding-sm{padding:1rem!important}.gravity-padding-top-sm{padding-top:1rem!important}.gravity-padding-bottom-sm{padding-bottom:1rem!important}.gravity-padding-left-sm{padding-left:1rem!important}.gravity-padding-right-sm{padding-right:1rem!important}.gravity-padding-block-sm{padding-block:1rem!important}.gravity-padding-inline-sm{padding-inline:1rem!important}.gravity-padding-md{padding:1.5rem!important}.gravity-padding-top-md{padding-top:1.5rem!important}.gravity-padding-bottom-md{padding-bottom:1.5rem!important}.gravity-padding-left-md{padding-left:1.5rem!important}.gravity-padding-right-md{padding-right:1.5rem!important}.gravity-padding-block-md{padding-block:1.5rem!important}.gravity-padding-inline-md{padding-inline:1.5rem!important}.gravity-padding-lg{padding:2rem!important}.gravity-padding-top-lg{padding-top:2rem!important}.gravity-padding-bottom-lg{padding-bottom:2rem!important}.gravity-padding-left-lg{padding-left:2rem!important}.gravity-padding-right-lg{padding-right:2rem!important}.gravity-padding-block-lg{padding-block:2rem!important}.gravity-padding-inline-lg{padding-inline:2rem!important}.gravity-padding-xl{padding:2.5rem!important}.gravity-padding-top-xl{padding-top:2.5rem!important}.gravity-padding-bottom-xl{padding-bottom:2.5rem!important}.gravity-padding-left-xl{padding-left:2.5rem!important}.gravity-padding-right-xl{padding-right:2.5rem!important}.gravity-padding-block-xl{padding-block:2.5rem!important}.gravity-padding-inline-xl{padding-inline:2.5rem!important}.gravity-padding-xxl{padding:3rem!important}.gravity-padding-top-xxl{padding-top:3rem!important}.gravity-padding-bottom-xxl{padding-bottom:3rem!important}.gravity-padding-left-xxl{padding-left:3rem!important}.gravity-padding-right-xxl{padding-right:3rem!important}.gravity-padding-block-xxl{padding-block:3rem!important}.gravity-padding-inline-xxl{padding-inline:3rem!important}.gravity-padding-xxxl{padding:4rem!important}.gravity-padding-top-xxxl{padding-top:4rem!important}.gravity-padding-bottom-xxxl{padding-bottom:4rem!important}.gravity-padding-left-xxxl{padding-left:4rem!important}.gravity-padding-right-xxxl{padding-right:4rem!important}.gravity-padding-block-xxxl{padding-block:4rem!important}.gravity-padding-inline-xxxl{padding-inline:4rem!important}.gravity-padding-xxxxl{padding:6rem!important}.gravity-padding-top-xxxxl{padding-top:6rem!important}.gravity-padding-bottom-xxxxl{padding-bottom:6rem!important}.gravity-padding-left-xxxxl{padding-left:6rem!important}.gravity-padding-right-xxxxl{padding-right:6rem!important}.gravity-padding-block-xxxxl{padding-block:6rem!important}.gravity-padding-inline-xxxxl{padding-inline:6rem!important}.gravity-padding-xxxxxl{padding:12rem!important}.gravity-padding-top-xxxxxl{padding-top:12rem!important}.gravity-padding-bottom-xxxxxl{padding-bottom:12rem!important}.gravity-padding-left-xxxxxl{padding-left:12rem!important}.gravity-padding-right-xxxxxl{padding-right:12rem!important}.gravity-padding-block-xxxxxl{padding-block:12rem!important}.gravity-padding-inline-xxxxxl{padding-inline:12rem!important}.gravity-margin-none{margin:0!important}.gravity-margin-top-none{margin-top:0!important}.gravity-margin-bottom-none{margin-bottom:0!important}.gravity-margin-left-none{margin-left:0!important}.gravity-margin-right-none{margin-right:0!important}.gravity-margin-block-none{margin-block:0!important}.gravity-margin-inline-none{margin-inline:0!important}.gravity-margin-xxs{margin:.25rem!important}.gravity-margin-top-xxs{margin-top:.25rem!important}.gravity-margin-bottom-xxs{margin-bottom:.25rem!important}.gravity-margin-left-xxs{margin-left:.25rem!important}.gravity-margin-right-xxs{margin-right:.25rem!important}.gravity-margin-block-xxs{margin-block:.25rem!important}.gravity-margin-inline-xxs{margin-inline:.25rem!important}.gravity-margin-xs{margin:.5rem!important}.gravity-margin-top-xs{margin-top:.5rem!important}.gravity-margin-bottom-xs{margin-bottom:.5rem!important}.gravity-margin-left-xs{margin-left:.5rem!important}.gravity-margin-right-xs{margin-right:.5rem!important}.gravity-margin-block-xs{margin-block:.5rem!important}.gravity-margin-inline-xs{margin-inline:.5rem!important}.gravity-margin-sm{margin:1rem!important}.gravity-margin-top-sm{margin-top:1rem!important}.gravity-margin-bottom-sm{margin-bottom:1rem!important}.gravity-margin-left-sm{margin-left:1rem!important}.gravity-margin-right-sm{margin-right:1rem!important}.gravity-margin-block-sm{margin-block:1rem!important}.gravity-margin-inline-sm{margin-inline:1rem!important}.gravity-margin-md{margin:1.5rem!important}.gravity-margin-top-md{margin-top:1.5rem!important}.gravity-margin-bottom-md{margin-bottom:1.5rem!important}.gravity-margin-left-md{margin-left:1.5rem!important}.gravity-margin-right-md{margin-right:1.5rem!important}.gravity-margin-block-md{margin-block:1.5rem!important}.gravity-margin-inline-md{margin-inline:1.5rem!important}.gravity-margin-lg{margin:2rem!important}.gravity-margin-top-lg{margin-top:2rem!important}.gravity-margin-bottom-lg{margin-bottom:2rem!important}.gravity-margin-left-lg{margin-left:2rem!important}.gravity-margin-right-lg{margin-right:2rem!important}.gravity-margin-block-lg{margin-block:2rem!important}.gravity-margin-inline-lg{margin-inline:2rem!important}.gravity-margin-xl{margin:2.5rem!important}.gravity-margin-top-xl{margin-top:2.5rem!important}.gravity-margin-bottom-xl{margin-bottom:2.5rem!important}.gravity-margin-left-xl{margin-left:2.5rem!important}.gravity-margin-right-xl{margin-right:2.5rem!important}.gravity-margin-block-xl{margin-block:2.5rem!important}.gravity-margin-inline-xl{margin-inline:2.5rem!important}.gravity-margin-xxl{margin:3rem!important}.gravity-margin-top-xxl{margin-top:3rem!important}.gravity-margin-bottom-xxl{margin-bottom:3rem!important}.gravity-margin-left-xxl{margin-left:3rem!important}.gravity-margin-right-xxl{margin-right:3rem!important}.gravity-margin-block-xxl{margin-block:3rem!important}.gravity-margin-inline-xxl{margin-inline:3rem!important}.gravity-margin-xxxl{margin:4rem!important}.gravity-margin-top-xxxl{margin-top:4rem!important}.gravity-margin-bottom-xxxl{margin-bottom:4rem!important}.gravity-margin-left-xxxl{margin-left:4rem!important}.gravity-margin-right-xxxl{margin-right:4rem!important}.gravity-margin-block-xxxl{margin-block:4rem!important}.gravity-margin-inline-xxxl{margin-inline:4rem!important}.gravity-margin-xxxxl{margin:6rem!important}.gravity-margin-top-xxxxl{margin-top:6rem!important}.gravity-margin-bottom-xxxxl{margin-bottom:6rem!important}.gravity-margin-left-xxxxl{margin-left:6rem!important}.gravity-margin-right-xxxxl{margin-right:6rem!important}.gravity-margin-block-xxxxl{margin-block:6rem!important}.gravity-margin-inline-xxxxl{margin-inline:6rem!important}.gravity-margin-xxxxxl{margin:12rem!important}.gravity-margin-top-xxxxxl{margin-top:12rem!important}.gravity-margin-bottom-xxxxxl{margin-bottom:12rem!important}.gravity-margin-left-xxxxxl{margin-left:12rem!important}.gravity-margin-right-xxxxxl{margin-right:12rem!important}.gravity-margin-block-xxxxxl{margin-block:12rem!important}.gravity-margin-inline-xxxxxl{margin-inline:12rem!important}:host{display:block}label{color:var(--text-field-label-color);display:block;margin:0 12px 5px}label.active,label.hover{--text-field-label-color: var(--label-text-empty-enabled-primary)}label.open{--text-field-label-color: var(--label-text-full-enabled-pressed-primary)}label.selected,label.error{--text-field-label-color: var(--label-text-full-enabled-primary)}label.error span{color:var(--negative-primary)}label.disabled{--text-field-label-color: var(--on-bg-disabled)}label.readonly{--text-field-label-color: var(--label-text-full-read-only-primary)}.gravity-input-field{align-items:center;background-color:var(--text-field-input-field-background-color);border:var(--text-field-input-field-border-width) solid var(--text-field-input-field-border-color);border-radius:.3125rem;color:var(--text-field-input-field-content-color);cursor:pointer;display:flex;height:var(--text-field-input-field-height);padding:10px 12px;position:relative;--text-field-input-field-border-width: .5px;width:var(--text-field-input-field-width)}.gravity-input-field gravity-icon{--icon-color: var(--text-field-input-field-icon-color);--icon-height: var(--text-field-input-field-content);--icon-width: var(--text-field-input-field-content)}.gravity-input-field gravity-icon.pointer{cursor:pointer}.gravity-input-field gravity-icon.left{margin-right:var(--icon-margin)}.gravity-input-field gravity-icon.right{margin-left:var(--icon-margin)}.gravity-input-field p.value{color:var(--text-field-input-field-content-color);height:var(--text-field-input-field-input);line-height:normal;margin-left:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.gravity-input-field.sm{--dropdown-items-gap: .5rem;--dropdown-items-padding-top: 16px;--dropdown-item-padding: .5rem .25rem;--dropdown-item-children-padding: .5rem 4px .5rem 28px;--dropdown-item-multiple-children-padding: .25rem;--dropdown-top-margin: 5px;--icon-margin: 5px;--text-field-input-field-content: 9px;--text-field-input-field-height: 29px;--text-field-input-field-input: 13px;--span-checkmark-height: 14px;--span-checkmark-margin: 5px;--span-checkmark-width: 14px}.gravity-input-field.sm.short-width{--text-field-input-field-width: 195px}.gravity-input-field.sm.medium-width{--text-field-input-field-width: 276px}.gravity-input-field.sm.full-width,.gravity-input-field.sm.fit-width{--text-field-input-field-width: 100%}.gravity-input-field.md{--dropdown-items-gap: 12px;--dropdown-items-padding-top: 20px;--dropdown-item-padding: .5rem;--dropdown-item-children-padding: .5rem .5rem .5rem 40px;--dropdown-item-multiple-children-padding: .5rem;--dropdown-top-margin: 8px;--text-field-input-field-content: 15px;--text-field-input-field-height: 35px;--text-field-input-field-input: 18px;--icon-margin: 8px;--span-checkmark-height: 16px;--span-checkmark-margin: 8px;--span-checkmark-width: 16px}.gravity-input-field.md.short-width{--text-field-input-field-width: 242px}.gravity-input-field.md.medium-width{--text-field-input-field-width: 329px}.gravity-input-field.md.full-width,.gravity-input-field.md.fit-width{--text-field-input-field-width: 100%}.gravity-input-field.active{--text-field-input-field-background-color: var(--bg-field-empty-enabled-primary);--text-field-input-field-border-color: var(--outline-field-empty-enabled-primary);--text-field-input-field-content-color: var(--placeholder-empty-enabled-primary);--text-field-input-field-icon-color: var(--label-text-empty-enabled-primary)}.gravity-input-field.active:hover{--text-field-input-field-border-width: 1px}.gravity-input-field.open{--text-field-input-field-background-color: var(--bg-field-empty-enabled-primary);--text-field-input-field-border-color: var(--outline-field-full-enabled-pressed-primary);--text-field-input-field-border-width: 1px;--text-field-input-field-content-color: var(--placeholder-empty-enabled-primary);--text-field-input-field-icon-color: var(--icon-active-primary)}.gravity-input-field.selected{--text-field-input-field-background-color: var(--bg-field-empty-enabled-primary);--text-field-input-field-border-color: var(--outline-field-full-enabled-primary);--text-field-input-field-content-color: var(--placeholder-full-enabled-pressed-primary);--text-field-input-field-icon-color: var(--icon-active-primary)}.gravity-input-field.selected:hover{--text-field-input-field-border-width: 1px}.gravity-input-field.error{--text-field-input-field-background-color: var(--bg-field-full-enabled-primary);--text-field-input-field-border-color: var(--negative-primary);--text-field-input-field-content-color: var(--label-text-full-enabled-primary);--text-field-input-field-icon-color: var(--label-text-full-enabled-primary)}.gravity-input-field.error:hover{--text-field-input-field-border-width: 1px}.gravity-input-field.disabled{cursor:initial;--text-field-input-field-background-color: var(--bg-disabled);--text-field-input-field-border-color: var(--outline-disabled);--text-field-input-field-content-color: var(--on-bg-disabled);--text-field-input-field-icon-color: var(--on-bg-disabled)}.gravity-input-field.readonly{cursor:initial;--text-field-input-field-background-color: var(--bg-field-full-read-only-primary);--text-field-input-field-border-color: var(--bg-field-full-read-only-primary);--text-field-input-field-content-color: var(--input-text-full-read-only-primary);--text-field-input-field-icon-color: var(--input-text-full-read-only-primary)}.dropdown-panel{background-color:var(--bg-field-full-enabled-primary);border:1px solid var(--outline-field-full-enabled-pressed-primary);border-radius:.3125rem;cursor:initial;left:-1px;position:absolute;top:calc(100% + var(--dropdown-top-margin));width:calc(var(--text-field-input-field-width) + 2px);z-index:1}.dropdown-panel .search-input{align-items:center;border-bottom:1px solid var(--outline-field-full-enabled-pressed-primary);display:flex;padding:12px}.dropdown-panel .search-input gravity-icon.search-icon{margin-right:.5rem}.dropdown-panel .search-input gravity-icon.reset-icon{margin-left:.5rem}.dropdown-panel .search-input input{background-color:transparent;border:none;border-radius:0;color:var(--input-text-full-enabled-primary);margin:0;outline:none;padding:0;width:100%}.dropdown-panel .search-input input::placeholder{color:var(--placeholder-empty-enabled-primary)}.dropdown-panel .items-container{overflow:auto}.dropdown-panel .items-container .items{display:flex;flex-direction:column;max-height:200px;padding:var(--dropdown-items-padding-top) 12px;width:100%;gap:var(--dropdown-items-gap)}.dropdown-panel .items-container .items .item-container .item{align-items:center;color:var(--label-text-full-enabled-primary);display:flex;padding:var(--dropdown-item-padding);cursor:pointer;white-space:nowrap}.dropdown-panel .items-container .items .item-container .item:hover:not(.no-results),.dropdown-panel .items-container .items .item-container .item.selected{background-color:var(--bg-menu-button-hover-primary);color:var(--on-bg-menu-button-active-primary)}.dropdown-panel .items-container .items .item-container .item gravity-checkbox ::ng-deep .gravity-checkbox-field span.checkmark{height:var(--span-checkmark-height);min-height:var(--span-checkmark-height);min-width:var(--span-checkmark-width);width:var(--span-checkmark-width)}.dropdown-panel .items-container .items .item-container .item-children{border-top:1px solid var(--label-text-full-enabled-primary);border-left:1px solid var(--on-bg-menu-button-disabled-primary)}.dropdown-panel .items-container .items .item-container .item-children .item{padding:var(--dropdown-item-children-padding)}.dropdown-panel .items-container .items .item-container .item-children .item.multiple{padding-left:var(--dropdown-item-multiple-children-padding)!important}.dropdown-panel .dropdown-footer{align-items:center;display:flex;justify-content:space-between;padding:12px 12px 20px}.dropdown-panel .dropdown-footer.not-clearable{justify-content:end}.dropdown-panel .dropdown-footer p{cursor:pointer;color:var(--on-bg-button-active-secondary);margin-left:0}.external-content{z-index:1;left:-1px;cursor:default;-webkit-user-select:none;user-select:none;position:absolute;top:calc(100% + var(--dropdown-top-margin))}.supporting-text{align-items:center;color:var(--text-field-supporting-text-color);display:flex;margin:5px 12px 0}.supporting-text.active,.supporting-text.hover{--text-field-supporting-text-color: var(--label-text-empty-enabled-primary)}.supporting-text.typing{--text-field-supporting-text-color: var(--label-text-full-enabled-pressed-primary)}.supporting-text.typed{--text-field-supporting-text-color: var(--label-text-full-enabled-primary)}.supporting-text.error{--text-field-supporting-text-color: var(--negative-primary)}.supporting-text.disabled{--text-field-supporting-text-color: var(--on-bg-disabled)}.supporting-text.readonly{--text-field-supporting-text-color: var(--label-text-full-read-only-primary)}.supporting-text.sm{--text-field-supporting-text-icon-size: 9px}.supporting-text.md{--text-field-supporting-text-icon-size: 15px}.supporting-text gravity-icon{--icon-color: var(--negative-primary);--icon-height: var(--text-field-supporting-text-icon-size);--icon-width: var(--text-field-supporting-text-icon-size);margin-right:5px}.gravity-input-field.label-sm,.gravity-input-field.label-md,.gravity-input-field.label-lg{padding:0;border:none;display:flex;justify-content:center}.gravity-input-field.label-sm{height:24px}.gravity-input-field.label-md{height:36px}.gravity-input-field.label-lg{height:42px}\n"] }]
|
|
309
|
+
args: [{ selector: 'gravity-dropdown-list', providers: [FilterByPipe], template: "<ng-container *ngIf=\"inputType === 'field'\">\n <label class=\"hr-label sm-bold {{getStatus()}}\" *ngIf=\"label\">\n {{ label }} <span *ngIf=\"required || hasError\">*</span>\n </label>\n</ng-container>\n\n<div class=\"gravity-input-field {{inputType}}-{{labelSize}} {{size}} {{width}}-width {{getStatus()}}\"\n [attr.data-cy]=\"cypressTag\" (click)=\"toggleDropdown()\">\n\n <ng-container *ngIf=\"inputType === 'field'\">\n <gravity-icon class=\"left\" [iconName]=\"iconLeft\" [iconSize]=\"isIconLeftNew() ? 'md-16' : null\"\n *ngIf=\"iconLeft\"></gravity-icon>\n\n <ng-container *ngIf=\"isCurrency && selectedItems.length > 0\">\n <gravity-currency\n [ngClass]=\"getSpacingClass(size)\"\n [size]=\"getCurrencyIconSize(size)\"\n [currency]=\"{currency_id: selectedItems[0]?.currency_id}\">\n </gravity-currency>\n </ng-container>\n\n <p class=\"hr-label {{size}}-regular value\">\n <ng-container *ngIf=\"selectedItems.length == 0\">\n {{ placeholder ? placeholder : label }}\n </ng-container>\n <ng-container *ngIf=\"selectedItems.length > 0\">\n <ng-container *ngFor=\"let item of selectedItems; let i = index\">\n {{ config ? item[config.label] : item }}{{ i != selectedItems.length - 1 ? ',' : '' }}\n </ng-container>\n </ng-container>\n </p>\n\n <ng-container *ngIf=\"isCurrency && selectedItems.length > 0\">\n <gravity-network-pill\n [network]=\"{ iso: selectedItems[0]?.network?.code, id: selectedItems[0]?.network?.id }\">\n </gravity-network-pill>\n </ng-container>\n\n <gravity-icon class=\"right\" [iconName]=\"dropdownOpened ? 'arrow-up': 'arrow-down'\"\n [iconSize]=\"'md-16'\" *ngIf=\"!isReadonly\"></gravity-icon>\n </ng-container>\n\n <ng-container *ngIf=\"inputType === 'label'\">\n <gravity-dropdown-label (onClickLabel)=\"toggleDropdown()\" [label]=\"getLabelText()\"\n [size]=\"labelSize\" [isOpen]=\"dropdownOpened\">\n </gravity-dropdown-label>\n </ng-container>\n\n <div class=\"dropdown-panel\" (click)=\"$event.stopPropagation()\" *ngIf=\"items && dropdownOpened\"\n [attr.data-cy]=\"cypressTag + '_panel'\">\n <div class=\"search-input\">\n <gravity-icon class=\"search-icon\" [iconName]=\"'search'\" [iconSize]=\"'sm-12'\"></gravity-icon>\n <input autocomplete=\"off\" class=\"hr-label {{size}}-regular\" (input)=\"filterItems()\"\n [attr.data-cy]=\"cypressTag + '_search_input'\" #searchInput\n [(ngModel)]=\"searchText\" placeholder=\"{{currentLang == 'es' ? 'Buscar' : 'Search input'}}\">\n <gravity-icon class=\"pointer reset-icon\" (click)=\"searchText = ''; filterItems()\" [iconName]=\"'unsuccess'\"\n [iconSize]=\"'sm-12'\" *ngIf=\"searchText?.length > 0\"></gravity-icon>\n </div>\n\n <div class=\"items-container\">\n <div class=\"items\">\n <div class=\"item-container\" *ngFor=\"let item of availableOptions\" [attr.data-cy]=\"isCurrency ? 'currency_option_' + item.currency_id : ''\">\n <div class=\"hr-label item {{size}}-regular pointer\"\n [class.selected]=\"checkIfSelected(item)\"\n [class.partial]=\"isPartiallySelected(item)\"\n (click)=\"item.children?.length ? multiple ?selectItem(item) : toggleChildren(item, $event) : selectItem(item)\">\n <gravity-checkbox *ngIf=\"multiple\" [ngClass]=\"getSpacingClass(size)\"\n [isPartial]=\"isPartiallySelected(item)\"\n [checked]=\"checkIfSelected(item)\"></gravity-checkbox>\n <gravity-currency *ngIf=\"isCurrency\" [ngClass]=\"getSpacingClass(size)\" [size]=\"getCurrencyIconSize(size)\"\n [currency]=\"{currency_id: item.currency_id}\"></gravity-currency>\n <div [ngClass]=\"getSpacingClass(size)\">{{ getDisplayValue(item, config) }}</div>\n <gravity-network-pill *ngIf=\"isCurrency\"\n [network]=\"{ iso: item.network.code, id: item.network.id }\"></gravity-network-pill>\n <gravity-icon style=\"margin-left: auto\" (click)=\"toggleChildren(item, $event)\"\n [iconName]=\"isChildrenOpen(item) ? 'arrow-up' : 'arrow-down'\"\n [iconSize]=\"'md-16'\" *ngIf=\"item.children?.length\"></gravity-icon>\n </div>\n\n <div class=\"item-children\" *ngIf=\"item.children?.length && isChildrenOpen(item)\">\n <ng-container *ngFor=\"let child of item.children\">\n <div class=\"hr-label item {{size}}-regular pointer\" [ngClass]=\"{'multiple' : multiple}\"\n [class.selected]=\"checkIfSelected(child)\"\n (click)=\"selectItem(child)\">\n <gravity-checkbox *ngIf=\"multiple\" [ngClass]=\"getMultilevelSpacingClass(size)\"\n [checked]=\"checkIfSelected(child)\"></gravity-checkbox>\n <gravity-currency *ngIf=\"isCurrency\" [ngClass]=\"getSpacingClass(size)\"\n [size]=\"getCurrencyIconSize(size)\"\n [currency]=\"{currency_id: child.currency_id}\"></gravity-currency>\n <div [ngClass]=\"getSpacingClass(size)\">{{ getDisplayValue(child, config) }}</div>\n <gravity-network-pill *ngIf=\"isCurrency\"\n [network]=\"{ iso: child.network.code, id: child.network.id }\"></gravity-network-pill>\n </div>\n </ng-container>\n </div>\n </div>\n <div class=\"hr-label item {{size}}-bold no-results\" *ngIf=\"availableOptions.length === 0\">\n {{ currentLang == 'es' ? 'Sin resultados' : 'No results' }}\n </div>\n </div>\n </div>\n\n <div class=\"dropdown-footer\" *ngIf=\"selectedItems.length > 0\" [class.not-clearable]=\"!clearable\">\n <p class=\"hr-label pointer sm-regular\" (click)=\"clearSelection()\" *ngIf=\"clearable\"\n [attr.data-cy]=\"cypressTag + '_clear'\">\n {{ currentLang == 'es' ? 'Limpiar' : 'Clear selection' }}\n </p>\n <p class=\"hr-label pointer sm-bold\" (click)=\"$event.stopPropagation(); toggleDropdown()\"\n *ngIf=\"availableOptions.length != 0\" [attr.data-cy]=\"cypressTag + '_apply'\">\n {{ currentLang == 'es' ? 'Aplicar' : 'Apply' }}\n </p>\n </div>\n </div>\n\n <section class=\"external-content\" *ngIf=\"!items && dropdownOpened\" (click)=\"$event.stopPropagation()\">\n <ng-content></ng-content>\n </section>\n</div>\n\n<ng-container *ngIf=\"inputType === 'field'\">\n <p class=\"hr-label sm-regular supporting-text {{getStatus()}} {{size}}\" *ngIf=\"supportText\">\n <gravity-icon [iconName]=\"'question-circle'\" *ngIf=\"hasError\" [iconSize]=\"'md-16'\"></gravity-icon>\n {{ supportText }}\n </p>\n <p class=\"hr-label sm-regular supporting-text {{getStatus()}} {{size}}\"\n *ngIf=\"!supportText && getStatus() == 'active' && selectedItems.length == 0 && required\">\n {{ currentLang == 'es' ? 'Requerido' : 'Required' }}\n </p>\n</ng-container>", styles: [".border-radius-none{border-radius:0}.border-radius-xs{border-radius:.0625rem}.border-radius-sm{border-radius:.3125rem}.border-radius-md{border-radius:.625rem}.border-radius-lg{border-radius:.9375rem}.border-radius-xl{border-radius:1.25rem}.border-radius-xxl{border-radius:2rem}.border-radius-rounded{border-radius:6.25rem}:root{--gravity-spacing-none: 0;--gravity-spacing-xxs: .25rem;--gravity-spacing-xs: .5rem;--gravity-spacing-sm: 1rem;--gravity-spacing-md: 1.5rem;--gravity-spacing-lg: 2rem;--gravity-spacing-xl: 2.5rem;--gravity-spacing-xxl: 3rem;--gravity-spacing-xxxl: 4rem;--gravity-spacing-xxxxl: 6rem;--gravity-spacing-xxxxxl: 12rem}.gravity-padding-none{padding:0!important}.gravity-padding-top-none{padding-top:0!important}.gravity-padding-bottom-none{padding-bottom:0!important}.gravity-padding-left-none{padding-left:0!important}.gravity-padding-right-none{padding-right:0!important}.gravity-padding-block-none{padding-block:0!important}.gravity-padding-inline-none{padding-inline:0!important}.gravity-padding-xxs{padding:.25rem!important}.gravity-padding-top-xxs{padding-top:.25rem!important}.gravity-padding-bottom-xxs{padding-bottom:.25rem!important}.gravity-padding-left-xxs{padding-left:.25rem!important}.gravity-padding-right-xxs{padding-right:.25rem!important}.gravity-padding-block-xxs{padding-block:.25rem!important}.gravity-padding-inline-xxs{padding-inline:.25rem!important}.gravity-padding-xs{padding:.5rem!important}.gravity-padding-top-xs{padding-top:.5rem!important}.gravity-padding-bottom-xs{padding-bottom:.5rem!important}.gravity-padding-left-xs{padding-left:.5rem!important}.gravity-padding-right-xs{padding-right:.5rem!important}.gravity-padding-block-xs{padding-block:.5rem!important}.gravity-padding-inline-xs{padding-inline:.5rem!important}.gravity-padding-sm{padding:1rem!important}.gravity-padding-top-sm{padding-top:1rem!important}.gravity-padding-bottom-sm{padding-bottom:1rem!important}.gravity-padding-left-sm{padding-left:1rem!important}.gravity-padding-right-sm{padding-right:1rem!important}.gravity-padding-block-sm{padding-block:1rem!important}.gravity-padding-inline-sm{padding-inline:1rem!important}.gravity-padding-md{padding:1.5rem!important}.gravity-padding-top-md{padding-top:1.5rem!important}.gravity-padding-bottom-md{padding-bottom:1.5rem!important}.gravity-padding-left-md{padding-left:1.5rem!important}.gravity-padding-right-md{padding-right:1.5rem!important}.gravity-padding-block-md{padding-block:1.5rem!important}.gravity-padding-inline-md{padding-inline:1.5rem!important}.gravity-padding-lg{padding:2rem!important}.gravity-padding-top-lg{padding-top:2rem!important}.gravity-padding-bottom-lg{padding-bottom:2rem!important}.gravity-padding-left-lg{padding-left:2rem!important}.gravity-padding-right-lg{padding-right:2rem!important}.gravity-padding-block-lg{padding-block:2rem!important}.gravity-padding-inline-lg{padding-inline:2rem!important}.gravity-padding-xl{padding:2.5rem!important}.gravity-padding-top-xl{padding-top:2.5rem!important}.gravity-padding-bottom-xl{padding-bottom:2.5rem!important}.gravity-padding-left-xl{padding-left:2.5rem!important}.gravity-padding-right-xl{padding-right:2.5rem!important}.gravity-padding-block-xl{padding-block:2.5rem!important}.gravity-padding-inline-xl{padding-inline:2.5rem!important}.gravity-padding-xxl{padding:3rem!important}.gravity-padding-top-xxl{padding-top:3rem!important}.gravity-padding-bottom-xxl{padding-bottom:3rem!important}.gravity-padding-left-xxl{padding-left:3rem!important}.gravity-padding-right-xxl{padding-right:3rem!important}.gravity-padding-block-xxl{padding-block:3rem!important}.gravity-padding-inline-xxl{padding-inline:3rem!important}.gravity-padding-xxxl{padding:4rem!important}.gravity-padding-top-xxxl{padding-top:4rem!important}.gravity-padding-bottom-xxxl{padding-bottom:4rem!important}.gravity-padding-left-xxxl{padding-left:4rem!important}.gravity-padding-right-xxxl{padding-right:4rem!important}.gravity-padding-block-xxxl{padding-block:4rem!important}.gravity-padding-inline-xxxl{padding-inline:4rem!important}.gravity-padding-xxxxl{padding:6rem!important}.gravity-padding-top-xxxxl{padding-top:6rem!important}.gravity-padding-bottom-xxxxl{padding-bottom:6rem!important}.gravity-padding-left-xxxxl{padding-left:6rem!important}.gravity-padding-right-xxxxl{padding-right:6rem!important}.gravity-padding-block-xxxxl{padding-block:6rem!important}.gravity-padding-inline-xxxxl{padding-inline:6rem!important}.gravity-padding-xxxxxl{padding:12rem!important}.gravity-padding-top-xxxxxl{padding-top:12rem!important}.gravity-padding-bottom-xxxxxl{padding-bottom:12rem!important}.gravity-padding-left-xxxxxl{padding-left:12rem!important}.gravity-padding-right-xxxxxl{padding-right:12rem!important}.gravity-padding-block-xxxxxl{padding-block:12rem!important}.gravity-padding-inline-xxxxxl{padding-inline:12rem!important}.gravity-margin-none{margin:0!important}.gravity-margin-top-none{margin-top:0!important}.gravity-margin-bottom-none{margin-bottom:0!important}.gravity-margin-left-none{margin-left:0!important}.gravity-margin-right-none{margin-right:0!important}.gravity-margin-block-none{margin-block:0!important}.gravity-margin-inline-none{margin-inline:0!important}.gravity-margin-xxs{margin:.25rem!important}.gravity-margin-top-xxs{margin-top:.25rem!important}.gravity-margin-bottom-xxs{margin-bottom:.25rem!important}.gravity-margin-left-xxs{margin-left:.25rem!important}.gravity-margin-right-xxs{margin-right:.25rem!important}.gravity-margin-block-xxs{margin-block:.25rem!important}.gravity-margin-inline-xxs{margin-inline:.25rem!important}.gravity-margin-xs{margin:.5rem!important}.gravity-margin-top-xs{margin-top:.5rem!important}.gravity-margin-bottom-xs{margin-bottom:.5rem!important}.gravity-margin-left-xs{margin-left:.5rem!important}.gravity-margin-right-xs{margin-right:.5rem!important}.gravity-margin-block-xs{margin-block:.5rem!important}.gravity-margin-inline-xs{margin-inline:.5rem!important}.gravity-margin-sm{margin:1rem!important}.gravity-margin-top-sm{margin-top:1rem!important}.gravity-margin-bottom-sm{margin-bottom:1rem!important}.gravity-margin-left-sm{margin-left:1rem!important}.gravity-margin-right-sm{margin-right:1rem!important}.gravity-margin-block-sm{margin-block:1rem!important}.gravity-margin-inline-sm{margin-inline:1rem!important}.gravity-margin-md{margin:1.5rem!important}.gravity-margin-top-md{margin-top:1.5rem!important}.gravity-margin-bottom-md{margin-bottom:1.5rem!important}.gravity-margin-left-md{margin-left:1.5rem!important}.gravity-margin-right-md{margin-right:1.5rem!important}.gravity-margin-block-md{margin-block:1.5rem!important}.gravity-margin-inline-md{margin-inline:1.5rem!important}.gravity-margin-lg{margin:2rem!important}.gravity-margin-top-lg{margin-top:2rem!important}.gravity-margin-bottom-lg{margin-bottom:2rem!important}.gravity-margin-left-lg{margin-left:2rem!important}.gravity-margin-right-lg{margin-right:2rem!important}.gravity-margin-block-lg{margin-block:2rem!important}.gravity-margin-inline-lg{margin-inline:2rem!important}.gravity-margin-xl{margin:2.5rem!important}.gravity-margin-top-xl{margin-top:2.5rem!important}.gravity-margin-bottom-xl{margin-bottom:2.5rem!important}.gravity-margin-left-xl{margin-left:2.5rem!important}.gravity-margin-right-xl{margin-right:2.5rem!important}.gravity-margin-block-xl{margin-block:2.5rem!important}.gravity-margin-inline-xl{margin-inline:2.5rem!important}.gravity-margin-xxl{margin:3rem!important}.gravity-margin-top-xxl{margin-top:3rem!important}.gravity-margin-bottom-xxl{margin-bottom:3rem!important}.gravity-margin-left-xxl{margin-left:3rem!important}.gravity-margin-right-xxl{margin-right:3rem!important}.gravity-margin-block-xxl{margin-block:3rem!important}.gravity-margin-inline-xxl{margin-inline:3rem!important}.gravity-margin-xxxl{margin:4rem!important}.gravity-margin-top-xxxl{margin-top:4rem!important}.gravity-margin-bottom-xxxl{margin-bottom:4rem!important}.gravity-margin-left-xxxl{margin-left:4rem!important}.gravity-margin-right-xxxl{margin-right:4rem!important}.gravity-margin-block-xxxl{margin-block:4rem!important}.gravity-margin-inline-xxxl{margin-inline:4rem!important}.gravity-margin-xxxxl{margin:6rem!important}.gravity-margin-top-xxxxl{margin-top:6rem!important}.gravity-margin-bottom-xxxxl{margin-bottom:6rem!important}.gravity-margin-left-xxxxl{margin-left:6rem!important}.gravity-margin-right-xxxxl{margin-right:6rem!important}.gravity-margin-block-xxxxl{margin-block:6rem!important}.gravity-margin-inline-xxxxl{margin-inline:6rem!important}.gravity-margin-xxxxxl{margin:12rem!important}.gravity-margin-top-xxxxxl{margin-top:12rem!important}.gravity-margin-bottom-xxxxxl{margin-bottom:12rem!important}.gravity-margin-left-xxxxxl{margin-left:12rem!important}.gravity-margin-right-xxxxxl{margin-right:12rem!important}.gravity-margin-block-xxxxxl{margin-block:12rem!important}.gravity-margin-inline-xxxxxl{margin-inline:12rem!important}:host{display:block}label{color:var(--text-field-label-color);display:block;margin:0 12px 5px}label.active,label.hover{--text-field-label-color: var(--label-text-empty-enabled-primary)}label.open{--text-field-label-color: var(--label-text-full-enabled-pressed-primary)}label.selected,label.error{--text-field-label-color: var(--label-text-full-enabled-primary)}label.error span{color:var(--negative-primary)}label.disabled{--text-field-label-color: var(--on-bg-disabled)}label.readonly{--text-field-label-color: var(--label-text-full-read-only-primary)}.gravity-input-field{align-items:center;background-color:var(--text-field-input-field-background-color);border:var(--text-field-input-field-border-width) solid var(--text-field-input-field-border-color);border-radius:.3125rem;color:var(--text-field-input-field-content-color);cursor:pointer;display:flex;height:var(--text-field-input-field-height);padding:10px 12px;position:relative;--text-field-input-field-border-width: .5px;width:var(--text-field-input-field-width)}.gravity-input-field gravity-icon{--icon-color: var(--text-field-input-field-icon-color);--icon-height: var(--text-field-input-field-content);--icon-width: var(--text-field-input-field-content)}.gravity-input-field gravity-icon.pointer{cursor:pointer}.gravity-input-field gravity-icon.left{margin-right:var(--icon-margin)}.gravity-input-field gravity-icon.right{margin-left:var(--icon-margin)}.gravity-input-field p.value{color:var(--text-field-input-field-content-color);height:var(--text-field-input-field-input);line-height:normal;margin-left:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.gravity-input-field.sm{--dropdown-items-gap: .5rem;--dropdown-items-padding-top: 16px;--dropdown-item-padding: .5rem .25rem;--dropdown-item-children-padding: .5rem 4px .5rem 28px;--dropdown-item-multiple-children-padding: .25rem;--dropdown-top-margin: 5px;--icon-margin: 5px;--text-field-input-field-content: 9px;--text-field-input-field-height: 29px;--text-field-input-field-input: 13px;--span-checkmark-height: 14px;--span-checkmark-margin: 5px;--span-checkmark-width: 14px}.gravity-input-field.sm.short-width{--text-field-input-field-width: 195px}.gravity-input-field.sm.medium-width{--text-field-input-field-width: 276px}.gravity-input-field.sm.full-width,.gravity-input-field.sm.fit-width{--text-field-input-field-width: 100%}.gravity-input-field.md{--dropdown-items-gap: 12px;--dropdown-items-padding-top: 20px;--dropdown-item-padding: .5rem;--dropdown-item-children-padding: .5rem .5rem .5rem 40px;--dropdown-item-multiple-children-padding: .5rem;--dropdown-top-margin: 8px;--text-field-input-field-content: 15px;--text-field-input-field-height: 35px;--text-field-input-field-input: 18px;--icon-margin: 8px;--span-checkmark-height: 16px;--span-checkmark-margin: 8px;--span-checkmark-width: 16px}.gravity-input-field.md.short-width{--text-field-input-field-width: 242px}.gravity-input-field.md.medium-width{--text-field-input-field-width: 329px}.gravity-input-field.md.full-width,.gravity-input-field.md.fit-width{--text-field-input-field-width: 100%}.gravity-input-field.active{--text-field-input-field-background-color: var(--bg-field-empty-enabled-primary);--text-field-input-field-border-color: var(--outline-field-empty-enabled-primary);--text-field-input-field-content-color: var(--placeholder-empty-enabled-primary);--text-field-input-field-icon-color: var(--label-text-empty-enabled-primary)}.gravity-input-field.active:hover{--text-field-input-field-border-width: 1px}.gravity-input-field.open{--text-field-input-field-background-color: var(--bg-field-empty-enabled-primary);--text-field-input-field-border-color: var(--outline-field-full-enabled-pressed-primary);--text-field-input-field-border-width: 1px;--text-field-input-field-content-color: var(--placeholder-empty-enabled-primary);--text-field-input-field-icon-color: var(--icon-active-primary)}.gravity-input-field.selected{--text-field-input-field-background-color: var(--bg-field-empty-enabled-primary);--text-field-input-field-border-color: var(--outline-field-full-enabled-primary);--text-field-input-field-content-color: var(--placeholder-full-enabled-pressed-primary);--text-field-input-field-icon-color: var(--icon-active-primary)}.gravity-input-field.selected:hover{--text-field-input-field-border-width: 1px}.gravity-input-field.error{--text-field-input-field-background-color: var(--bg-field-full-enabled-primary);--text-field-input-field-border-color: var(--negative-primary);--text-field-input-field-content-color: var(--label-text-full-enabled-primary);--text-field-input-field-icon-color: var(--label-text-full-enabled-primary)}.gravity-input-field.error:hover{--text-field-input-field-border-width: 1px}.gravity-input-field.disabled{cursor:initial;--text-field-input-field-background-color: var(--bg-disabled);--text-field-input-field-border-color: var(--outline-disabled);--text-field-input-field-content-color: var(--on-bg-disabled);--text-field-input-field-icon-color: var(--on-bg-disabled)}.gravity-input-field.readonly{cursor:initial;--text-field-input-field-background-color: var(--bg-field-full-read-only-primary);--text-field-input-field-border-color: var(--bg-field-full-read-only-primary);--text-field-input-field-content-color: var(--input-text-full-read-only-primary);--text-field-input-field-icon-color: var(--input-text-full-read-only-primary)}.dropdown-panel{background-color:var(--bg-field-full-enabled-primary);border:1px solid var(--outline-field-full-enabled-pressed-primary);border-radius:.3125rem;cursor:initial;left:-1px;position:absolute;top:calc(100% + var(--dropdown-top-margin));width:calc(var(--text-field-input-field-width) + 2px);z-index:1}.dropdown-panel .search-input{align-items:center;border-bottom:1px solid var(--outline-field-full-enabled-pressed-primary);display:flex;padding:12px}.dropdown-panel .search-input gravity-icon.search-icon{margin-right:.5rem}.dropdown-panel .search-input gravity-icon.reset-icon{margin-left:.5rem}.dropdown-panel .search-input input{background-color:transparent;border:none;border-radius:0;color:var(--input-text-full-enabled-primary);margin:0;outline:none;padding:0;width:100%}.dropdown-panel .search-input input::placeholder{color:var(--placeholder-empty-enabled-primary)}.dropdown-panel .items-container{overflow:auto}.dropdown-panel .items-container .items{display:flex;flex-direction:column;max-height:200px;padding:var(--dropdown-items-padding-top) 12px;width:100%;gap:var(--dropdown-items-gap)}.dropdown-panel .items-container .items .item-container .item{align-items:center;color:var(--label-text-full-enabled-primary);display:flex;padding:var(--dropdown-item-padding);cursor:pointer;white-space:nowrap}.dropdown-panel .items-container .items .item-container .item:hover:not(.no-results),.dropdown-panel .items-container .items .item-container .item.selected{background-color:var(--bg-menu-button-hover-primary);color:var(--on-bg-menu-button-active-primary)}.dropdown-panel .items-container .items .item-container .item gravity-checkbox ::ng-deep .gravity-checkbox-field span.checkmark{height:var(--span-checkmark-height);min-height:var(--span-checkmark-height);min-width:var(--span-checkmark-width);width:var(--span-checkmark-width)}.dropdown-panel .items-container .items .item-container .item-children{border-top:1px solid var(--label-text-full-enabled-primary);border-left:1px solid var(--on-bg-menu-button-disabled-primary)}.dropdown-panel .items-container .items .item-container .item-children .item{padding:var(--dropdown-item-children-padding)}.dropdown-panel .items-container .items .item-container .item-children .item.multiple{padding-left:var(--dropdown-item-multiple-children-padding)!important}.dropdown-panel .dropdown-footer{align-items:center;display:flex;justify-content:space-between;padding:12px 12px 20px}.dropdown-panel .dropdown-footer.not-clearable{justify-content:end}.dropdown-panel .dropdown-footer p{cursor:pointer;color:var(--on-bg-button-active-secondary);margin-left:0}.external-content{z-index:1;left:-1px;cursor:default;-webkit-user-select:none;user-select:none;position:absolute;top:calc(100% + var(--dropdown-top-margin))}.supporting-text{align-items:center;color:var(--text-field-supporting-text-color);display:flex;margin:5px 12px 0}.supporting-text.active,.supporting-text.hover{--text-field-supporting-text-color: var(--label-text-empty-enabled-primary)}.supporting-text.typing{--text-field-supporting-text-color: var(--label-text-full-enabled-pressed-primary)}.supporting-text.typed{--text-field-supporting-text-color: var(--label-text-full-enabled-primary)}.supporting-text.error{--text-field-supporting-text-color: var(--negative-primary)}.supporting-text.disabled{--text-field-supporting-text-color: var(--on-bg-disabled)}.supporting-text.readonly{--text-field-supporting-text-color: var(--label-text-full-read-only-primary)}.supporting-text.sm{--text-field-supporting-text-icon-size: 9px}.supporting-text.md{--text-field-supporting-text-icon-size: 15px}.supporting-text gravity-icon{--icon-color: var(--negative-primary);--icon-height: var(--text-field-supporting-text-icon-size);--icon-width: var(--text-field-supporting-text-icon-size);margin-right:5px}.gravity-input-field.label-sm,.gravity-input-field.label-md,.gravity-input-field.label-lg{padding:0;border:none;display:flex;justify-content:center}.gravity-input-field.label-sm{height:24px}.gravity-input-field.label-md{height:36px}.gravity-input-field.label-lg{height:42px}\n"] }]
|
|
290
310
|
}], ctorParameters: function () { return [{ type: i1.FilterByPipe }, { type: i0.ElementRef }]; }, propDecorators: { dropdownState: [{
|
|
291
311
|
type: Input
|
|
292
312
|
}], dropdownStateChange: [{
|
|
@@ -341,4 +361,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
341
361
|
type: HostListener,
|
|
342
362
|
args: ['document:click', ['$event']]
|
|
343
363
|
}] } });
|
|
344
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3Jhdml0eS1kcm9wZG93bi1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dyYXZpdHktZGVzaWduLXN5c3RlbS9zcmMvbGliL2NvbXBvbmVudHMvZ3Jhdml0eS1kcm9wZG93bi1saXN0L2dyYXZpdHktZHJvcGRvd24tbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ncmF2aXR5LWRlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb21wb25lbnRzL2dyYXZpdHktZHJvcGRvd24tbGlzdC9ncmF2aXR5LWRyb3Bkb3duLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBYyxZQUFZLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQStCLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNsSixPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUM1RSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7Ozs7Ozs7Ozs7QUFROUMsTUFBTSxPQUFPLDRCQUE0QjtJQUN2QyxJQUNJLGFBQWEsS0FBYyxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO0lBQzVELElBQUksYUFBYSxDQUFDLEtBQWMsSUFBSSxJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUM7SUE4QmxFLElBQ0ksS0FBSyxDQUFDLFdBQXlDO1FBQ2pELElBQUksV0FBVyxFQUFFO1lBQ2YsV0FBVyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUNuQztJQUNILENBQUM7SUFBQSxDQUFDO0lBUUYsWUFBNkIsWUFBMEIsRUFBVSxLQUFpQjtRQUFyRCxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUFVLFVBQUssR0FBTCxLQUFLLENBQVk7UUF6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QUExQixLQUFLO2dCQUdVLFNBQVM7c0JBQXhCLEtBQUs7Z0JBQ1UsSUFBSTtzQkFBbkIsS0FBSztnQkFDVSxTQUFTO3NCQUF4QixLQUFLO2dCQUNVLEtBQUs7c0JBQXBCLEtBQUs7Z0JBSUYsS0FBSztzQkFEUixTQUFTO3VCQUFDLGFBQWE7Z0JBOExvQixlQUFlO3NCQUExRCxZQUFZO3VCQUFDLGdCQUFnQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPdXRwdXQsIFNpbXBsZUNoYW5nZSwgU2ltcGxlQ2hhbmdlcywgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7R3Jhdml0eUljb25Db21wb25lbnR9IGZyb20gXCIuLi9ncmF2aXR5LWljb24vZ3Jhdml0eS1pY29uLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtGaWx0ZXJCeVBpcGV9IGZyb20gXCIuL2ZpbHRlci1ieS5waXBlXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2dyYXZpdHktZHJvcGRvd24tbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9ncmF2aXR5LWRyb3Bkb3duLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9ncmF2aXR5LWRyb3Bkb3duLWxpc3QuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbRmlsdGVyQnlQaXBlXVxufSlcbmV4cG9ydCBjbGFzcyBHcmF2aXR5RHJvcGRvd25MaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgQElucHV0KClcbiAgZ2V0IGRyb3Bkb3duU3RhdGUoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLmRyb3Bkb3duT3BlbmVkOyB9XG4gIHNldCBkcm9wZG93blN0YXRlKHZhbHVlOiBib29sZWFuKSB7IHRoaXMuZHJvcGRvd25PcGVuZWQgPSB2YWx1ZTsgfVxuXG4gIEBPdXRwdXQoKSBkcm9wZG93blN0YXRlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBAT3V0cHV0KCdyZXNwb25zZScpIHB1YmxpYyBzZWxlY3RlZEl0ZW1zUmVzcG9uc2U6IEV2ZW50RW1pdHRlcjxhbnlbXSB8IGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgLy8gQ29tcG9uZW50IGZlYXR1cmVzXG4gIEBJbnB1dCgpIHB1YmxpYyBjbGVhcmFibGU6IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBwdWJsaWMgY29uZmlnPzogeyBsYWJlbDogc3RyaW5nOyB2YWx1ZTogc3RyaW5nOyB9O1xuICBASW5wdXQoKSBwdWJsaWMgY3VycmVudExhbmc6IHN0cmluZyA9ICdlbic7XG4gIEBJbnB1dCgpIHB1YmxpYyBjdXN0b21WYWx1ZXM6IEFycmF5PGFueT4gfCBhbnk7XG4gIEBJbnB1dCgpIHB1YmxpYyBjeXByZXNzVGFnOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHB1YmxpYyBoYXNFcnJvcjogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgaWNvbkxlZnQ6IHN0cmluZztcbiAgQElucHV0KCkgcHVibGljIGlzQ3VycmVuY3k6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGlzRGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGlzUmVhZG9ubHk6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGl0ZW1zOiBBcnJheTxhbnk+O1xuICBASW5wdXQoKSBwdWJsaWMgbGFiZWw6IHN0cmluZztcbiAgQElucHV0KCkgcHVibGljIG11bHRpcGxlOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyBwbGFjZWhvbGRlcjogc3RyaW5nO1xuICBASW5wdXQoKSBwdWJsaWMgcmVxdWlyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIHN1cHBvcnRUZXh0OiBzdHJpbmc7XG5cbiAgLy8gQXBwZWFyYW5jZSBzZXR0aW5nc1xuICBASW5wdXQoKSBwdWJsaWMgbGFiZWxTaXplOiAnc20nIHwgJ21kJyB8ICdsZycgPSAnc20nO1xuICBASW5wdXQoKSBwdWJsaWMgc2l6ZTogJ3NtJyB8ICdtZCcgfCAnbGcnIHwgJ3hsJyA9ICdtZCc7XG4gIEBJbnB1dCgpIHB1YmxpYyBpbnB1dFR5cGU6ICdmaWVsZCcgfCAnbGFiZWwnID0gJ2ZpZWxkJztcbiAgQElucHV0KCkgcHVibGljIHdpZHRoOiAnc2hvcnQnIHwgJ21lZGl1bScgfCAnZnVsbCcgfCAnZml0JyA9ICdzaG9ydCc7XG5cblxuICBAVmlld0NoaWxkKCdzZWFyY2hJbnB1dCcpXG4gIHNldCB3YXRjaChzZWFyY2hJbnB1dDogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50Pikge1xuICAgIGlmIChzZWFyY2hJbnB1dCkge1xuICAgICAgc2VhcmNoSW5wdXQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH1cbiAgfTtcblxuICBwdWJsaWMgYXZhaWxhYmxlT3B0aW9uczogYW55W10gPSBbXTtcbiAgcHVibGljIGRyb3Bkb3duT3BlbmVkOiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBzZWFyY2hUZXh0OiBzdHJpbmcgPSAnJztcbiAgcHVibGljIHNlbGVjdGVkSXRlbXM6IGFueVtdID0gW107XG4gIHB1YmxpYyBvcGVuQ2hpbGRyZW5NYXAgPSBuZXcgTWFwPGFueSwgYm9vbGVhbj4oKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGZpbHRlckJ5UGlwZTogRmlsdGVyQnlQaXBlLCBwcml2YXRlIF9lcmVmOiBFbGVtZW50UmVmKSB7IH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXNbJ2l0ZW1zJ10/LmN1cnJlbnRWYWx1ZSkge1xuICAgICAgdGhpcy5hdmFpbGFibGVPcHRpb25zID0gdGhpcy5pdGVtcztcbiAgICB9XG5cbiAgICBpZiAoY2hhbmdlc1snY3VzdG9tVmFsdWVzJ10pIHtcbiAgICAgIGNvbnN0IGNoYW5nZUl0ZW06IFNpbXBsZUNoYW5nZSA9IGNoYW5nZXNbJ2N1c3RvbVZhbHVlcyddO1xuICAgICAgY29uc3QgY3VycmVudFZhbHVlID0gY2hhbmdlSXRlbT8uY3VycmVudFZhbHVlO1xuXG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShjdXJyZW50VmFsdWUpKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcyA9IFtdO1xuXG4gICAgICAgIGN1cnJlbnRWYWx1ZS5mb3JFYWNoKChpdGVtOiBhbnkpID0+IHtcbiAgICAgICAgICBpZiAoaXRlbSkge1xuICAgICAgICAgICAgY29uc3Qgb3B0aW9uID0gdGhpcy5jb25maWdcbiAgICAgICAgICAgICAgPyB0aGlzLmF2YWlsYWJsZU9wdGlvbnMuZmluZCgoYXZhaWxhYmxlT3B0aW9uOiBhbnkpID0+IGF2YWlsYWJsZU9wdGlvblt0aGlzLmNvbmZpZy52YWx1ZV0gPT0gaXRlbSlcbiAgICAgICAgICAgICAgOiB0aGlzLmF2YWlsYWJsZU9wdGlvbnMuZmluZCgoYXZhaWxhYmxlT3B0aW9uOiBhbnkpID0+IGF2YWlsYWJsZU9wdGlvbiA9PSBpdGVtKTtcblxuICAgICAgICAgICAgaWYgKG9wdGlvbiAmJiAhdGhpcy5zZWxlY3RlZEl0ZW1zLmluY2x1ZGVzKG9wdGlvbikpIHtcbiAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zLnB1c2gob3B0aW9uKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIGlmIChjdXJyZW50VmFsdWUgIT0gbnVsbCAmJiBjdXJyZW50VmFsdWUgIT09ICcnKSB7XG4gICAgICAgIGNvbnN0IG9wdGlvbiA9IHRoaXMuY29uZmlnXG4gICAgICAgICAgPyB0aGlzLmF2YWlsYWJsZU9wdGlvbnMuZmluZCgoYXZhaWxhYmxlT3B0aW9uOiBhbnkpID0+IGF2YWlsYWJsZU9wdGlvblt0aGlzLmNvbmZpZy52YWx1ZV0gPT0gY3VycmVudFZhbHVlKVxuICAgICAgICAgIDogdGhpcy5hdmFpbGFibGVPcHRpb25zLmZpbmQoKGF2YWlsYWJsZU9wdGlvbjogYW55KSA9PiBhdmFpbGFibGVPcHRpb24gPT0gY3VycmVudFZhbHVlKTtcblxuICAgICAgICBpZiAob3B0aW9uKSB7XG4gICAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gW29wdGlvbl07XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoIWN1cnJlbnRWYWx1ZSAmJiAhY2hhbmdlSXRlbS5maXJzdENoYW5nZSkge1xuICAgICAgICB0aGlzLmNsZWFyU2VsZWN0aW9uKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldFN0YXR1cygpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLmlzRGlzYWJsZWQpIHtyZXR1cm4gJ2Rpc2FibGVkJzt9XG4gICAgZWxzZSBpZiAodGhpcy5pc1JlYWRvbmx5KSB7cmV0dXJuICdyZWFkb25seSc7fVxuICAgIGVsc2UgaWYgKHRoaXMuaGFzRXJyb3IpIHtyZXR1cm4gJ2Vycm9yJzt9XG4gICAgZWxzZSBpZiAodGhpcy5kcm9wZG93bk9wZW5lZCkge3JldHVybiAnb3Blbic7fVxuICAgIGVsc2UgaWYgKHRoaXMuc2VsZWN0ZWRJdGVtcy5sZW5ndGggPiAwKSB7cmV0dXJuICdzZWxlY3RlZCc7fVxuICAgIGVsc2Uge3JldHVybiAnYWN0aXZlJzt9XG4gIH1cblxuICBwdWJsaWMgaXNJY29uTGVmdE5ldygpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5pY29uTGVmdCkge1xuICAgICAgcmV0dXJuIEdyYXZpdHlJY29uQ29tcG9uZW50LmlzTmV3SWNvbih0aGlzLmljb25MZWZ0KTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgdG9nZ2xlRHJvcGRvd24oKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmlzRGlzYWJsZWQgJiYgIXRoaXMuaXNSZWFkb25seSkge1xuICAgICAgdGhpcy5kcm9wZG93bk9wZW5lZCA9ICF0aGlzLmRyb3Bkb3duT3BlbmVkO1xuICAgICAgdGhpcy5kcm9wZG93blN0YXRlQ2hhbmdlLmVtaXQodGhpcy5kcm9wZG93bk9wZW5lZCk7XG5cbiAgICAgIGlmICghdGhpcy5kcm9wZG93bk9wZW5lZCkge1xuICAgICAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xuICAgICAgICAgIGlmICh0aGlzLnNlbGVjdGVkSXRlbXM/Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtc1Jlc3BvbnNlLmVtaXQodGhpcy5zZWxlY3RlZEl0ZW1zKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRJdGVtc1swXSkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zUmVzcG9uc2UuZW1pdCh0aGlzLnNlbGVjdGVkSXRlbXNbMF0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc2VhcmNoVGV4dCA9ICcnO1xuICAgICAgICB0aGlzLmF2YWlsYWJsZU9wdGlvbnMgPSB0aGlzLml0ZW1zO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzZWxlY3RJdGVtKGl0ZW1Ub0FkZDogYW55KTogdm9pZCB7XG4gICAgY29uc3QgaXNQYXJlbnQgPSAhIWl0ZW1Ub0FkZC5jaGlsZHJlbjtcblxuICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XG4gICAgICBjb25zdCBpc1NlbGVjdGVkID0gdGhpcy5jaGVja0lmU2VsZWN0ZWQoaXRlbVRvQWRkKTtcblxuICAgICAgaWYgKGlzU2VsZWN0ZWQpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gdGhpcy5zZWxlY3RlZEl0ZW1zLmZpbHRlcihpID0+IGkgIT09IGl0ZW1Ub0FkZCk7XG5cbiAgICAgICAgaWYgKGlzUGFyZW50KSB7XG4gICAgICAgICAgaXRlbVRvQWRkLmNoaWxkcmVuLmZvckVhY2goY2hpbGQgPT4ge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gdGhpcy5zZWxlY3RlZEl0ZW1zLmZpbHRlcihpID0+IGkgIT09IGNoaWxkKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLml0ZW1zLmZvckVhY2gocGFyZW50ID0+IHtcbiAgICAgICAgICAgIGlmIChwYXJlbnQuY2hpbGRyZW4/LmluY2x1ZGVzKGl0ZW1Ub0FkZCkpIHtcbiAgICAgICAgICAgICAgY29uc3QgYW55U2VsZWN0ZWQgPSBwYXJlbnQuY2hpbGRyZW4uc29tZShjaGlsZCA9PiB0aGlzLmNoZWNrSWZTZWxlY3RlZChjaGlsZCkpO1xuICAgICAgICAgICAgICBjb25zdCBhbGxTZWxlY3RlZCA9IHBhcmVudC5jaGlsZHJlbi5ldmVyeShjaGlsZCA9PiB0aGlzLmNoZWNrSWZTZWxlY3RlZChjaGlsZCkpO1xuICAgICAgICAgICAgICBpZiAoIWFueVNlbGVjdGVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gdGhpcy5zZWxlY3RlZEl0ZW1zLmZpbHRlcihpID0+IGkgIT09IHBhcmVudCk7XG4gICAgICAgICAgICAgIH0gZWxzZSBpZiAoYWxsU2VsZWN0ZWQgJiYgIXRoaXMuY2hlY2tJZlNlbGVjdGVkKHBhcmVudCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbXMucHVzaChwYXJlbnQpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zLnB1c2goaXRlbVRvQWRkKTtcblxuICAgICAgICBpZiAoaXNQYXJlbnQpIHtcbiAgICAgICAgICBpdGVtVG9BZGQuY2hpbGRyZW4uZm9yRWFjaChjaGlsZCA9PiB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuY2hlY2tJZlNlbGVjdGVkKGNoaWxkKSkge1xuICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbXMucHVzaChjaGlsZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5pdGVtcy5mb3JFYWNoKHBhcmVudCA9PiB7XG4gICAgICAgICAgICBpZiAocGFyZW50LmNoaWxkcmVuPy5pbmNsdWRlcyhpdGVtVG9BZGQpKSB7XG4gICAgICAgICAgICAgIGNvbnN0IGFsbFNlbGVjdGVkID0gcGFyZW50LmNoaWxkcmVuLmV2ZXJ5KGNoaWxkID0+IHRoaXMuY2hlY2tJZlNlbGVjdGVkKGNoaWxkKSk7XG4gICAgICAgICAgICAgIGlmIChhbGxTZWxlY3RlZCAmJiAhdGhpcy5jaGVja0lmU2VsZWN0ZWQocGFyZW50KSkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcy5wdXNoKHBhcmVudCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNlbGVjdGVkSXRlbXMgPSBbaXRlbVRvQWRkXTtcbiAgICAgIHRoaXMudG9nZ2xlRHJvcGRvd24oKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaXNQYXJ0aWFsbHlTZWxlY3RlZChpdGVtOiBhbnkpOiBib29sZWFuIHtcbiAgICBpZiAoIWl0ZW0uY2hpbGRyZW4/Lmxlbmd0aCkgcmV0dXJuIGZhbHNlO1xuXG4gICAgY29uc3Qgc2VsZWN0ZWRDaGlsZHJlbiA9IGl0ZW0uY2hpbGRyZW4uZmlsdGVyKGNoaWxkID0+IHRoaXMuY2hlY2tJZlNlbGVjdGVkKGNoaWxkKSk7XG4gICAgcmV0dXJuIHNlbGVjdGVkQ2hpbGRyZW4ubGVuZ3RoID4gMCAmJiBzZWxlY3RlZENoaWxkcmVuLmxlbmd0aCA8IGl0ZW0uY2hpbGRyZW4ubGVuZ3RoO1xuICB9XG5cbiAgcHVibGljIGNoZWNrSWZTZWxlY3RlZChpdGVtVG9GaW5kOiBhbnkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLnNlbGVjdGVkSXRlbXMuZmluZCgoaXRlbTogYW55KSA9PiBpdGVtVG9GaW5kID09IGl0ZW0pO1xuICB9XG5cbiAgcHVibGljIGNsZWFyU2VsZWN0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWRJdGVtcyA9IFtdO1xuXG4gICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtc1Jlc3BvbnNlLmVtaXQodGhpcy5zZWxlY3RlZEl0ZW1zKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zUmVzcG9uc2UuZW1pdChudWxsKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZmlsdGVySXRlbXMoKTogdm9pZCB7XG4gICAgY29uc3Qgc2VhcmNoID0gdGhpcy5zZWFyY2hUZXh0Py50b0xvd2VyQ2FzZSgpO1xuXG4gICAgY29uc3QgZmlsdGVyUmVjdXJzaXZlID0gKGl0ZW1zOiBhbnlbXSk6IGFueVtdID0+IHtcbiAgICAgIHJldHVybiBpdGVtc1xuICAgICAgICAubWFwKGl0ZW0gPT4ge1xuICAgICAgICAgIGNvbnN0IGxhYmVsID0gdGhpcy5jb25maWcgPyBpdGVtW3RoaXMuY29uZmlnLmxhYmVsXSA6IGl0ZW07XG4gICAgICAgICAgY29uc3QgbWF0Y2hlcyA9IGxhYmVsPy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoKTtcbiAgICAgICAgICBjb25zdCBmaWx0ZXJlZENoaWxkcmVuID0gaXRlbS5jaGlsZHJlbiA/IGZpbHRlclJlY3Vyc2l2ZShpdGVtLmNoaWxkcmVuKSA6IFtdO1xuXG4gICAgICAgICAgaWYgKG1hdGNoZXMgfHwgZmlsdGVyZWRDaGlsZHJlbi5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAuLi5pdGVtLFxuICAgICAgICAgICAgICBjaGlsZHJlbjogZmlsdGVyZWRDaGlsZHJlblxuICAgICAgICAgICAgfTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfSlcbiAgICAgICAgLmZpbHRlcihpdGVtID0+IGl0ZW0gIT09IG51bGwpO1xuICAgIH07XG5cbiAgICB0aGlzLmF2YWlsYWJsZU9wdGlvbnMgPSBmaWx0ZXJSZWN1cnNpdmUodGhpcy5pdGVtcyk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycsIFsnJGV2ZW50J10pIG9uRG9jdW1lbnRDbGljaygkZXZlbnQ6IFBvaW50ZXJFdmVudCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5fZXJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKCRldmVudC50YXJnZXQpICYmIHRoaXMuZHJvcGRvd25PcGVuZWQpIHtcbiAgICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkSXRlbXM/Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbXNSZXNwb25zZS5lbWl0KHRoaXMuc2VsZWN0ZWRJdGVtcyk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkSXRlbXNbMF0pIHtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbXNSZXNwb25zZS5lbWl0KHRoaXMuc2VsZWN0ZWRJdGVtc1swXSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdGhpcy5zZWFyY2hUZXh0ID0gJyc7XG4gICAgICB0aGlzLmRyb3Bkb3duT3BlbmVkID0gZmFsc2U7XG4gICAgICB0aGlzLmF2YWlsYWJsZU9wdGlvbnMgPSB0aGlzLml0ZW1zO1xuICAgICAgdGhpcy5kcm9wZG93blN0YXRlQ2hhbmdlLmVtaXQodGhpcy5kcm9wZG93bk9wZW5lZCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldEN1cnJlbmN5SWNvblNpemUoc2l6ZTogc3RyaW5nKSB7XG4gICAgc3dpdGNoIChzaXplKSB7XG4gICAgICBjYXNlICdzbSc6XG4gICAgICAgIHJldHVybiAnc20tMTYnO1xuICAgICAgY2FzZSAnbGcnOlxuICAgICAgICByZXR1cm4gJ2xnLTMyJztcbiAgICAgIGNhc2UgJ3hsJzpcbiAgICAgICAgcmV0dXJuICd4bC00MCc7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gJ21kLTI0JztcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0U3BhY2luZ0NsYXNzKHNpemU6IHN0cmluZykge1xuICAgIHN3aXRjaCAoc2l6ZSkge1xuICAgICAgY2FzZSAnc20nOiByZXR1cm4gJ2dyYXZpdHktbWFyZ2luLXJpZ2h0LXh4cyc7XG4gICAgICBjYXNlICdtZCc6IHJldHVybiAnZ3Jhdml0eS1tYXJnaW4tcmlnaHQteHMnO1xuICAgICAgY2FzZSAnbGcnOiByZXR1cm4gJ2dyYXZpdHktbWFyZ2luLXJpZ2h0LXNtJztcbiAgICAgIGNhc2UgJ3hsJzogcmV0dXJuICdncmF2aXR5LW1hcmdpbi1yaWdodC1tZCc7XG4gICAgICBkZWZhdWx0OiByZXR1cm4gJyc7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldE11bHRpbGV2ZWxTcGFjaW5nQ2xhc3Moc2l6ZTogc3RyaW5nKSB7XG4gICAgc3dpdGNoIChzaXplKSB7XG4gICAgICBjYXNlICdzbSc6IHJldHVybiAnZ3Jhdml0eS1tYXJnaW4tcmlnaHQtbWQnO1xuICAgICAgY2FzZSAnbWQnOiByZXR1cm4gJ2dyYXZpdHktbWFyZ2luLXJpZ2h0LWxnJztcbiAgICAgIGRlZmF1bHQ6IHJldHVybiAnJztcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0TGFiZWxUZXh0KCk6IHN0cmluZyB7XG4gICAgbGV0IHJlc3VsdDogc3RyaW5nID0gJyc7XG4gICAgaWYodGhpcy5zZWxlY3RlZEl0ZW1zLmxlbmd0aCA9PT0gMCl7XG4gICAgICAgcmVzdWx0ID0gdGhpcy5sYWJlbDtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zLmZvckVhY2goKGl0ZW0sIGkpID0+IHtcbiAgICAgICAgbGV0IGRpc3BsYXlWYWx1ZSA9IHRoaXMuY29uZmlnID8gaXRlbVt0aGlzLmNvbmZpZy5sYWJlbF0gOiBpdGVtO1xuICAgICAgICBsZXQgc2VwYXJhdG9yID0gaSAhPT0gdGhpcy5zZWxlY3RlZEl0ZW1zLmxlbmd0aCAtIDEgPyAnLCcgOiAnJztcbiAgICAgICAgcmVzdWx0ID0gcmVzdWx0ICsgZGlzcGxheVZhbHVlICsgc2VwYXJhdG9yO1xuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwdWJsaWMgaXNDaGlsZHJlbk9wZW4oaXRlbTogYW55KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMub3BlbkNoaWxkcmVuTWFwLmdldChpdGVtKSA9PT0gdHJ1ZTtcbiAgfVxuXG4gIHB1YmxpYyB0b2dnbGVDaGlsZHJlbihpdGVtOiBhbnksIGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgY29uc3QgY3VycmVudCA9IHRoaXMub3BlbkNoaWxkcmVuTWFwLmdldChpdGVtKSB8fCBmYWxzZTtcbiAgICB0aGlzLm9wZW5DaGlsZHJlbk1hcC5zZXQoaXRlbSwgIWN1cnJlbnQpO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiaW5wdXRUeXBlID09PSAnZmllbGQnXCI+XG4gIDxsYWJlbCBjbGFzcz1cImhyLWxhYmVsIHNtLWJvbGQge3tnZXRTdGF0dXMoKX19XCIgKm5nSWY9XCJsYWJlbFwiPlxuICAgIHt7IGxhYmVsIH19IDxzcGFuICpuZ0lmPVwicmVxdWlyZWQgfHwgaGFzRXJyb3JcIj4qPC9zcGFuPlxuICA8L2xhYmVsPlxuPC9uZy1jb250YWluZXI+XG5cbjxkaXYgY2xhc3M9XCJncmF2aXR5LWlucHV0LWZpZWxkIHt7aW5wdXRUeXBlfX0te3tsYWJlbFNpemV9fSB7e3NpemV9fSB7e3dpZHRofX0td2lkdGgge3tnZXRTdGF0dXMoKX19XCJcbiAgICAgW2F0dHIuZGF0YS1jeV09XCJjeXByZXNzVGFnXCIgKGNsaWNrKT1cInRvZ2dsZURyb3Bkb3duKClcIj5cblxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaW5wdXRUeXBlID09PSAnZmllbGQnXCI+XG4gICAgPGdyYXZpdHktaWNvbiBjbGFzcz1cImxlZnRcIiBbaWNvbk5hbWVdPVwiaWNvbkxlZnRcIiBbaWNvblNpemVdPVwiaXNJY29uTGVmdE5ldygpID8gJ21kLTE2JyA6IG51bGxcIlxuICAgICAgICAgICAgICAgICAgKm5nSWY9XCJpY29uTGVmdFwiPjwvZ3Jhdml0eS1pY29uPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzQ3VycmVuY3kgJiYgc2VsZWN0ZWRJdGVtcy5sZW5ndGggPiAwXCI+XG4gICAgICA8Z3Jhdml0eS1jdXJyZW5jeVxuICAgICAgICAgIFtuZ0NsYXNzXT1cImdldFNwYWNpbmdDbGFzcyhzaXplKVwiXG4gICAgICAgICAgW3NpemVdPVwiZ2V0Q3VycmVuY3lJY29uU2l6ZShzaXplKVwiXG4gICAgICAgICAgW2N1cnJlbmN5XT1cIntjdXJyZW5jeV9pZDogc2VsZWN0ZWRJdGVtc1swXT8uY3VycmVuY3lfaWR9XCI+XG4gICAgICA8L2dyYXZpdHktY3VycmVuY3k+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8cCBjbGFzcz1cImhyLWxhYmVsIHt7c2l6ZX19LXJlZ3VsYXIgdmFsdWVcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzZWxlY3RlZEl0ZW1zLmxlbmd0aCA9PSAwXCI+XG4gICAgICAgIHt7IHBsYWNlaG9sZGVyID8gcGxhY2Vob2xkZXIgOiBsYWJlbCB9fVxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2VsZWN0ZWRJdGVtcy5sZW5ndGggPiAwXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2Ygc2VsZWN0ZWRJdGVtczsgbGV0IGkgPSBpbmRleFwiPlxuICAgICAgICAgIHt7IGNvbmZpZyA/IGl0ZW1bY29uZmlnLmxhYmVsXSA6IGl0ZW0gfX17eyBpICE9IHNlbGVjdGVkSXRlbXMubGVuZ3RoIC0gMSA/ICcsJyA6ICcnIH19XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9wPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzQ3VycmVuY3kgJiYgc2VsZWN0ZWRJdGVtcy5sZW5ndGggPiAwXCI+XG4gICAgICA8Z3Jhdml0eS1uZXR3b3JrLXBpbGxcbiAgICAgICAgICBbbmV0d29ya109XCJ7IGlzbzogc2VsZWN0ZWRJdGVtc1swXT8ubmV0d29yaz8uY29kZSwgaWQ6IHNlbGVjdGVkSXRlbXNbMF0/Lm5ldHdvcms/LmlkIH1cIj5cbiAgICAgIDwvZ3Jhdml0eS1uZXR3b3JrLXBpbGw+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8Z3Jhdml0eS1pY29uIGNsYXNzPVwicmlnaHRcIiBbaWNvbk5hbWVdPVwiZHJvcGRvd25PcGVuZWQgPyAnYXJyb3ctdXAnOiAnYXJyb3ctZG93bidcIlxuICAgICAgICAgICAgICAgICAgW2ljb25TaXplXT1cIidtZC0xNidcIiAqbmdJZj1cIiFpc1JlYWRvbmx5XCI+PC9ncmF2aXR5LWljb24+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJpbnB1dFR5cGUgPT09ICdsYWJlbCdcIj5cbiAgICA8Z3Jhdml0eS1kcm9wZG93bi1sYWJlbCAob25DbGlja0xhYmVsKT1cInRvZ2dsZURyb3Bkb3duKClcIiBbbGFiZWxdPVwiZ2V0TGFiZWxUZXh0KClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzaXplXT1cImxhYmVsU2l6ZVwiIFtpc09wZW5dPVwiZHJvcGRvd25PcGVuZWRcIj5cbiAgICA8L2dyYXZpdHktZHJvcGRvd24tbGFiZWw+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDxkaXYgY2xhc3M9XCJkcm9wZG93bi1wYW5lbFwiIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIiAqbmdJZj1cIml0ZW1zICYmIGRyb3Bkb3duT3BlbmVkXCJcbiAgICAgICBbYXR0ci5kYXRhLWN5XT1cImN5cHJlc3NUYWcgKyAnX3BhbmVsJ1wiPlxuICAgIDxkaXYgY2xhc3M9XCJzZWFyY2gtaW5wdXRcIj5cbiAgICAgIDxncmF2aXR5LWljb24gY2xhc3M9XCJzZWFyY2gtaWNvblwiIFtpY29uTmFtZV09XCInc2VhcmNoJ1wiIFtpY29uU2l6ZV09XCInc20tMTInXCI+PC9ncmF2aXR5LWljb24+XG4gICAgICA8aW5wdXQgYXV0b2NvbXBsZXRlPVwib2ZmXCIgY2xhc3M9XCJoci1sYWJlbCB7e3NpemV9fS1yZWd1bGFyXCIgKGlucHV0KT1cImZpbHRlckl0ZW1zKClcIlxuICAgICAgICAgICAgIFthdHRyLmRhdGEtY3ldPVwiY3lwcmVzc1RhZyArICdfc2VhcmNoX2lucHV0J1wiICNzZWFyY2hJbnB1dFxuICAgICAgICAgICAgIFsobmdNb2RlbCldPVwic2VhcmNoVGV4dFwiIHBsYWNlaG9sZGVyPVwie3tjdXJyZW50TGFuZyA9PSAnZXMnID8gJ0J1c2NhcicgOiAnU2VhcmNoIGlucHV0J319XCI+XG4gICAgICA8Z3Jhdml0eS1pY29uIGNsYXNzPVwicG9pbnRlciByZXNldC1pY29uXCIgKGNsaWNrKT1cInNlYXJjaFRleHQgPSAnJzsgZmlsdGVySXRlbXMoKVwiIFtpY29uTmFtZV09XCIndW5zdWNjZXNzJ1wiXG4gICAgICAgICAgICAgICAgICAgIFtpY29uU2l6ZV09XCInc20tMTInXCIgKm5nSWY9XCJzZWFyY2hUZXh0Py5sZW5ndGggPiAwXCI+PC9ncmF2aXR5LWljb24+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiaXRlbXMtY29udGFpbmVyXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiaXRlbXNcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0tY29udGFpbmVyXCIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgYXZhaWxhYmxlT3B0aW9uc1wiIFthdHRyLmRhdGEtY3ldPVwiaXNDdXJyZW5jeSA/ICdjdXJyZW5jeV9vcHRpb25fJyArIGl0ZW0uY3VycmVuY3lfaWQgOiAnJ1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJoci1sYWJlbCBpdGVtIHt7c2l6ZX19LXJlZ3VsYXIgcG9pbnRlclwiXG4gICAgICAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWRdPVwiY2hlY2tJZlNlbGVjdGVkKGl0ZW0pXCJcbiAgICAgICAgICAgICAgIFtjbGFzcy5wYXJ0aWFsXT1cImlzUGFydGlhbGx5U2VsZWN0ZWQoaXRlbSlcIlxuICAgICAgICAgICAgICAgKGNsaWNrKT1cIml0ZW0uY2hpbGRyZW4/Lmxlbmd0aCAgPyBtdWx0aXBsZSA/c2VsZWN0SXRlbShpdGVtKSA6IHRvZ2dsZUNoaWxkcmVuKGl0ZW0sICRldmVudCkgOiBzZWxlY3RJdGVtKGl0ZW0pXCI+XG4gICAgICAgICAgICA8Z3Jhdml0eS1jaGVja2JveCAqbmdJZj1cIm11bHRpcGxlXCIgW25nQ2xhc3NdPVwiZ2V0U3BhY2luZ0NsYXNzKHNpemUpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpc1BhcnRpYWxdPVwiaXNQYXJ0aWFsbHlTZWxlY3RlZChpdGVtKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJjaGVja0lmU2VsZWN0ZWQoaXRlbSlcIj48L2dyYXZpdHktY2hlY2tib3g+XG4gICAgICAgICAgICA8Z3Jhdml0eS1jdXJyZW5jeSAqbmdJZj1cImlzQ3VycmVuY3lcIiBbbmdDbGFzc109XCJnZXRTcGFjaW5nQ2xhc3Moc2l6ZSlcIiBbc2l6ZV09XCJnZXRDdXJyZW5jeUljb25TaXplKHNpemUpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjdXJyZW5jeV09XCJ7Y3VycmVuY3lfaWQ6IGl0ZW0uY3VycmVuY3lfaWR9XCI+PC9ncmF2aXR5LWN1cnJlbmN5PlxuICAgICAgICAgICAgPGRpdiBbbmdDbGFzc109XCJnZXRTcGFjaW5nQ2xhc3Moc2l6ZSlcIj57eyBjb25maWcgPyBpdGVtW2NvbmZpZy5sYWJlbF0gOiBpdGVtIH19PC9kaXY+XG4gICAgICAgICAgICA8Z3Jhdml0eS1uZXR3b3JrLXBpbGwgKm5nSWY9XCJpc0N1cnJlbmN5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmV0d29ya109XCJ7IGlzbzogaXRlbS5uZXR3b3JrLmNvZGUsIGlkOiBpdGVtLm5ldHdvcmsuaWQgfVwiPjwvZ3Jhdml0eS1uZXR3b3JrLXBpbGw+XG4gICAgICAgICAgICA8Z3Jhdml0eS1pY29uIHN0eWxlPVwibWFyZ2luLWxlZnQ6IGF1dG9cIiAoY2xpY2spPVwidG9nZ2xlQ2hpbGRyZW4oaXRlbSwgJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtpY29uTmFtZV09XCJpc0NoaWxkcmVuT3BlbihpdGVtKSA/ICdhcnJvdy11cCcgOiAnYXJyb3ctZG93bidcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbaWNvblNpemVdPVwiJ21kLTE2J1wiICpuZ0lmPVwiaXRlbS5jaGlsZHJlbj8ubGVuZ3RoXCI+PC9ncmF2aXR5LWljb24+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbS1jaGlsZHJlblwiICpuZ0lmPVwiaXRlbS5jaGlsZHJlbj8ubGVuZ3RoICYmIGlzQ2hpbGRyZW5PcGVuKGl0ZW0pXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjaGlsZCBvZiBpdGVtLmNoaWxkcmVuXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoci1sYWJlbCBpdGVtIHt7c2l6ZX19LXJlZ3VsYXIgcG9pbnRlclwiIFtuZ0NsYXNzXT1cInsnbXVsdGlwbGUnIDogbXVsdGlwbGV9XCJcbiAgICAgICAgICAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWRdPVwiY2hlY2tJZlNlbGVjdGVkKGNoaWxkKVwiXG4gICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdEl0ZW0oY2hpbGQpXCI+XG4gICAgICAgICAgICAgICAgPGdyYXZpdHktY2hlY2tib3ggKm5nSWY9XCJtdWx0aXBsZVwiIFtuZ0NsYXNzXT1cImdldE11bHRpbGV2ZWxTcGFjaW5nQ2xhc3Moc2l6ZSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cImNoZWNrSWZTZWxlY3RlZChjaGlsZClcIj48L2dyYXZpdHktY2hlY2tib3g+XG4gICAgICAgICAgICAgICAgPGdyYXZpdHktY3VycmVuY3kgKm5nSWY9XCJpc0N1cnJlbmN5XCIgW25nQ2xhc3NdPVwiZ2V0U3BhY2luZ0NsYXNzKHNpemUpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2l6ZV09XCJnZXRDdXJyZW5jeUljb25TaXplKHNpemUpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY3VycmVuY3ldPVwie2N1cnJlbmN5X2lkOiBjaGlsZC5jdXJyZW5jeV9pZH1cIj48L2dyYXZpdHktY3VycmVuY3k+XG4gICAgICAgICAgICAgICAgPGRpdiBbbmdDbGFzc109XCJnZXRTcGFjaW5nQ2xhc3Moc2l6ZSlcIj57eyBjb25maWcgPyBjaGlsZFtjb25maWcubGFiZWxdIDogY2hpbGQgfX08L2Rpdj5cbiAgICAgICAgICAgICAgICA8Z3Jhdml0eS1uZXR3b3JrLXBpbGwgKm5nSWY9XCJpc0N1cnJlbmN5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25ldHdvcmtdPVwieyBpc286IGNoaWxkLm5ldHdvcmsuY29kZSwgaWQ6IGNoaWxkLm5ldHdvcmsuaWQgfVwiPjwvZ3Jhdml0eS1uZXR3b3JrLXBpbGw+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiaHItbGFiZWwgaXRlbSB7e3NpemV9fS1ib2xkIG5vLXJlc3VsdHNcIiAqbmdJZj1cImF2YWlsYWJsZU9wdGlvbnMubGVuZ3RoID09PSAwXCI+XG4gICAgICAgICAge3sgY3VycmVudExhbmcgPT0gJ2VzJyA/ICdTaW4gcmVzdWx0YWRvcycgOiAnTm8gcmVzdWx0cycgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJkcm9wZG93bi1mb290ZXJcIiAqbmdJZj1cInNlbGVjdGVkSXRlbXMubGVuZ3RoID4gMFwiIFtjbGFzcy5ub3QtY2xlYXJhYmxlXT1cIiFjbGVhcmFibGVcIj5cbiAgICAgIDxwIGNsYXNzPVwiaHItbGFiZWwgcG9pbnRlciBzbS1yZWd1bGFyXCIgKGNsaWNrKT1cImNsZWFyU2VsZWN0aW9uKClcIiAqbmdJZj1cImNsZWFyYWJsZVwiXG4gICAgICAgICBbYXR0ci5kYXRhLWN5XT1cImN5cHJlc3NUYWcgKyAnX2NsZWFyJ1wiPlxuICAgICAgICB7eyBjdXJyZW50TGFuZyA9PSAnZXMnID8gJ0xpbXBpYXInIDogJ0NsZWFyIHNlbGVjdGlvbicgfX1cbiAgICAgIDwvcD5cbiAgICAgIDxwIGNsYXNzPVwiaHItbGFiZWwgcG9pbnRlciBzbS1ib2xkXCIgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKTsgdG9nZ2xlRHJvcGRvd24oKVwiXG4gICAgICAgICAqbmdJZj1cImF2YWlsYWJsZU9wdGlvbnMubGVuZ3RoICE9IDBcIiBbYXR0ci5kYXRhLWN5XT1cImN5cHJlc3NUYWcgKyAnX2FwcGx5J1wiPlxuICAgICAgICB7eyBjdXJyZW50TGFuZyA9PSAnZXMnID8gJ0FwbGljYXInIDogJ0FwcGx5JyB9fVxuICAgICAgPC9wPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8c2VjdGlvbiBjbGFzcz1cImV4dGVybmFsLWNvbnRlbnRcIiAqbmdJZj1cIiFpdGVtcyAmJiBkcm9wZG93bk9wZW5lZFwiIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvc2VjdGlvbj5cbjwvZGl2PlxuXG48bmctY29udGFpbmVyICpuZ0lmPVwiaW5wdXRUeXBlID09PSAnZmllbGQnXCI+XG4gIDxwIGNsYXNzPVwiaHItbGFiZWwgc20tcmVndWxhciBzdXBwb3J0aW5nLXRleHQge3tnZXRTdGF0dXMoKX19IHt7c2l6ZX19XCIgKm5nSWY9XCJzdXBwb3J0VGV4dFwiPlxuICAgIDxncmF2aXR5LWljb24gW2ljb25OYW1lXT1cIidxdWVzdGlvbi1jaXJjbGUnXCIgKm5nSWY9XCJoYXNFcnJvclwiIFtpY29uU2l6ZV09XCInbWQtMTYnXCI+PC9ncmF2aXR5LWljb24+XG4gICAge3sgc3VwcG9ydFRleHQgfX1cbiAgPC9wPlxuICA8cCBjbGFzcz1cImhyLWxhYmVsIHNtLXJlZ3VsYXIgc3VwcG9ydGluZy10ZXh0IHt7Z2V0U3RhdHVzKCl9fSB7e3NpemV9fVwiXG4gICAgICpuZ0lmPVwiIXN1cHBvcnRUZXh0ICYmIGdldFN0YXR1cygpID09ICdhY3RpdmUnICYmIHNlbGVjdGVkSXRlbXMubGVuZ3RoID09IDAgJiYgcmVxdWlyZWRcIj5cbiAgICB7eyBjdXJyZW50TGFuZyA9PSAnZXMnID8gJ1JlcXVlcmlkbycgOiAnUmVxdWlyZWQnIH19XG4gIDwvcD5cbjwvbmctY29udGFpbmVyPiJdfQ==
|
|
364
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3Jhdml0eS1kcm9wZG93bi1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dyYXZpdHktZGVzaWduLXN5c3RlbS9zcmMvbGliL2NvbXBvbmVudHMvZ3Jhdml0eS1kcm9wZG93bi1saXN0L2dyYXZpdHktZHJvcGRvd24tbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ncmF2aXR5LWRlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb21wb25lbnRzL2dyYXZpdHktZHJvcGRvd24tbGlzdC9ncmF2aXR5LWRyb3Bkb3duLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBYyxZQUFZLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQStCLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNsSixPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUM1RSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7Ozs7Ozs7Ozs7QUFROUMsTUFBTSxPQUFPLDRCQUE0QjtJQUN2QyxJQUNJLGFBQWEsS0FBYyxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO0lBQzVELElBQUksYUFBYSxDQUFDLEtBQWMsSUFBSSxJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUM7SUE4QmxFLElBQ0ksS0FBSyxDQUFDLFdBQXlDO1FBQ2pELElBQUksV0FBVyxFQUFFO1lBQ2YsV0FBVyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUNuQztJQUNILENBQUM7SUFBQSxDQUFDO0lBUUYsWUFBNkIsWUFBMEIsRUFBVSxLQUFpQjtRQUFyRCxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUFVLFVBQUssR0FBTCxLQUFLLENBQVk7UUF6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b3J0IHtDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPdXRwdXQsIFNpbXBsZUNoYW5nZSwgU2ltcGxlQ2hhbmdlcywgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7R3Jhdml0eUljb25Db21wb25lbnR9IGZyb20gXCIuLi9ncmF2aXR5LWljb24vZ3Jhdml0eS1pY29uLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtGaWx0ZXJCeVBpcGV9IGZyb20gXCIuL2ZpbHRlci1ieS5waXBlXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2dyYXZpdHktZHJvcGRvd24tbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9ncmF2aXR5LWRyb3Bkb3duLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9ncmF2aXR5LWRyb3Bkb3duLWxpc3QuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbRmlsdGVyQnlQaXBlXVxufSlcbmV4cG9ydCBjbGFzcyBHcmF2aXR5RHJvcGRvd25MaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgQElucHV0KClcbiAgZ2V0IGRyb3Bkb3duU3RhdGUoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLmRyb3Bkb3duT3BlbmVkOyB9XG4gIHNldCBkcm9wZG93blN0YXRlKHZhbHVlOiBib29sZWFuKSB7IHRoaXMuZHJvcGRvd25PcGVuZWQgPSB2YWx1ZTsgfVxuXG4gIEBPdXRwdXQoKSBkcm9wZG93blN0YXRlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBAT3V0cHV0KCdyZXNwb25zZScpIHB1YmxpYyBzZWxlY3RlZEl0ZW1zUmVzcG9uc2U6IEV2ZW50RW1pdHRlcjxhbnlbXSB8IGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgLy8gQ29tcG9uZW50IGZlYXR1cmVzXG4gIEBJbnB1dCgpIHB1YmxpYyBjbGVhcmFibGU6IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBwdWJsaWMgY29uZmlnPzogeyBsYWJlbDogc3RyaW5nOyB2YWx1ZTogc3RyaW5nOyB9O1xuICBASW5wdXQoKSBwdWJsaWMgY3VycmVudExhbmc6IHN0cmluZyA9ICdlbic7XG4gIEBJbnB1dCgpIHB1YmxpYyBjdXN0b21WYWx1ZXM6IEFycmF5PGFueT4gfCBhbnk7XG4gIEBJbnB1dCgpIHB1YmxpYyBjeXByZXNzVGFnOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHB1YmxpYyBoYXNFcnJvcjogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgaWNvbkxlZnQ6IHN0cmluZztcbiAgQElucHV0KCkgcHVibGljIGlzQ3VycmVuY3k6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGlzRGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGlzUmVhZG9ubHk6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGl0ZW1zOiBBcnJheTxhbnk+O1xuICBASW5wdXQoKSBwdWJsaWMgbGFiZWw6IHN0cmluZztcbiAgQElucHV0KCkgcHVibGljIG11bHRpcGxlOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyBwbGFjZWhvbGRlcjogc3RyaW5nO1xuICBASW5wdXQoKSBwdWJsaWMgcmVxdWlyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIHN1cHBvcnRUZXh0OiBzdHJpbmc7XG5cbiAgLy8gQXBwZWFyYW5jZSBzZXR0aW5nc1xuICBASW5wdXQoKSBwdWJsaWMgbGFiZWxTaXplOiAnc20nIHwgJ21kJyB8ICdsZycgPSAnc20nO1xuICBASW5wdXQoKSBwdWJsaWMgc2l6ZTogJ3NtJyB8ICdtZCcgfCAnbGcnIHwgJ3hsJyA9ICdtZCc7XG4gIEBJbnB1dCgpIHB1YmxpYyBpbnB1dFR5cGU6ICdmaWVsZCcgfCAnbGFiZWwnID0gJ2ZpZWxkJztcbiAgQElucHV0KCkgcHVibGljIHdpZHRoOiAnc2hvcnQnIHwgJ21lZGl1bScgfCAnZnVsbCcgfCAnZml0JyA9ICdzaG9ydCc7XG5cblxuICBAVmlld0NoaWxkKCdzZWFyY2hJbnB1dCcpXG4gIHNldCB3YXRjaChzZWFyY2hJbnB1dDogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50Pikge1xuICAgIGlmIChzZWFyY2hJbnB1dCkge1xuICAgICAgc2VhcmNoSW5wdXQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH1cbiAgfTtcblxuICBwdWJsaWMgYXZhaWxhYmxlT3B0aW9uczogYW55W10gPSBbXTtcbiAgcHVibGljIGRyb3Bkb3duT3BlbmVkOiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBzZWFyY2hUZXh0OiBzdHJpbmcgPSAnJztcbiAgcHVibGljIHNlbGVjdGVkSXRlbXM6IGFueVtdID0gW107XG4gIHB1YmxpYyBvcGVuQ2hpbGRyZW5NYXAgPSBuZXcgTWFwPGFueSwgYm9vbGVhbj4oKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGZpbHRlckJ5UGlwZTogRmlsdGVyQnlQaXBlLCBwcml2YXRlIF9lcmVmOiBFbGVtZW50UmVmKSB7IH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXNbJ2l0ZW1zJ10/LmN1cnJlbnRWYWx1ZSkge1xuICAgICAgdGhpcy5hdmFpbGFibGVPcHRpb25zID0gdGhpcy5pdGVtcztcbiAgICB9XG5cbiAgICBpZiAoY2hhbmdlc1snY3VzdG9tVmFsdWVzJ10pIHtcbiAgICAgIGNvbnN0IGNoYW5nZUl0ZW06IFNpbXBsZUNoYW5nZSA9IGNoYW5nZXNbJ2N1c3RvbVZhbHVlcyddO1xuICAgICAgY29uc3QgY3VycmVudFZhbHVlID0gY2hhbmdlSXRlbT8uY3VycmVudFZhbHVlO1xuXG4gICAgICBjb25zdCBmaW5kT3B0aW9uUmVjdXJzaXZlbHkgPSAoaXRlbXM6IGFueVtdLCB2YWx1ZTogYW55KTogYW55IHwgbnVsbCA9PiB7XG4gICAgICAgIGZvciAoY29uc3QgaXRlbSBvZiBpdGVtcykge1xuICAgICAgICAgIGNvbnN0IGl0ZW1WYWx1ZSA9IHRoaXMuY29uZmlnID8gaXRlbVt0aGlzLmNvbmZpZy52YWx1ZV0gOiBpdGVtO1xuICAgICAgICAgIGlmIChpdGVtVmFsdWUgPT0gdmFsdWUpIHtcbiAgICAgICAgICAgIHJldHVybiBpdGVtO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChpdGVtLmNoaWxkcmVuKSB7XG4gICAgICAgICAgICBjb25zdCBmb3VuZENoaWxkID0gZmluZE9wdGlvblJlY3Vyc2l2ZWx5KGl0ZW0uY2hpbGRyZW4sIHZhbHVlKTtcbiAgICAgICAgICAgIGlmIChmb3VuZENoaWxkKSByZXR1cm4gZm91bmRDaGlsZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9O1xuXG4gICAgICB0aGlzLnNlbGVjdGVkSXRlbXMgPSBbXTtcblxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkoY3VycmVudFZhbHVlKSkge1xuICAgICAgICBjdXJyZW50VmFsdWUuZm9yRWFjaCgodmFsOiBhbnkpID0+IHtcbiAgICAgICAgICBjb25zdCBmb3VuZCA9IGZpbmRPcHRpb25SZWN1cnNpdmVseSh0aGlzLml0ZW1zLCB2YWwpO1xuICAgICAgICAgIGlmIChmb3VuZCAmJiAhdGhpcy5zZWxlY3RlZEl0ZW1zLmluY2x1ZGVzKGZvdW5kKSkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zLnB1c2goZm91bmQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2UgaWYgKGN1cnJlbnRWYWx1ZSAhPSBudWxsICYmIGN1cnJlbnRWYWx1ZSAhPT0gJycpIHtcbiAgICAgICAgY29uc3QgZm91bmQgPSBmaW5kT3B0aW9uUmVjdXJzaXZlbHkodGhpcy5pdGVtcywgY3VycmVudFZhbHVlKTtcbiAgICAgICAgaWYgKGZvdW5kKSB7XG4gICAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gW2ZvdW5kXTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmICghY3VycmVudFZhbHVlICYmICFjaGFuZ2VJdGVtLmZpcnN0Q2hhbmdlKSB7XG4gICAgICAgIHRoaXMuY2xlYXJTZWxlY3Rpb24oKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0U3RhdHVzKCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuaXNEaXNhYmxlZCkge3JldHVybiAnZGlzYWJsZWQnO31cbiAgICBlbHNlIGlmICh0aGlzLmlzUmVhZG9ubHkpIHtyZXR1cm4gJ3JlYWRvbmx5Jzt9XG4gICAgZWxzZSBpZiAodGhpcy5oYXNFcnJvcikge3JldHVybiAnZXJyb3InO31cbiAgICBlbHNlIGlmICh0aGlzLmRyb3Bkb3duT3BlbmVkKSB7cmV0dXJuICdvcGVuJzt9XG4gICAgZWxzZSBpZiAodGhpcy5zZWxlY3RlZEl0ZW1zLmxlbmd0aCA+IDApIHtyZXR1cm4gJ3NlbGVjdGVkJzt9XG4gICAgZWxzZSB7cmV0dXJuICdhY3RpdmUnO31cbiAgfVxuXG4gIHB1YmxpYyBpc0ljb25MZWZ0TmV3KCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLmljb25MZWZ0KSB7XG4gICAgICByZXR1cm4gR3Jhdml0eUljb25Db21wb25lbnQuaXNOZXdJY29uKHRoaXMuaWNvbkxlZnQpO1xuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyB0b2dnbGVEcm9wZG93bigpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaXNEaXNhYmxlZCAmJiAhdGhpcy5pc1JlYWRvbmx5KSB7XG4gICAgICB0aGlzLmRyb3Bkb3duT3BlbmVkID0gIXRoaXMuZHJvcGRvd25PcGVuZWQ7XG4gICAgICB0aGlzLmRyb3Bkb3duU3RhdGVDaGFuZ2UuZW1pdCh0aGlzLmRyb3Bkb3duT3BlbmVkKTtcblxuICAgICAgaWYgKCF0aGlzLmRyb3Bkb3duT3BlbmVkKSB7XG4gICAgICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XG4gICAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRJdGVtcz8ubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zUmVzcG9uc2UuZW1pdCh0aGlzLnNlbGVjdGVkSXRlbXMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZiAodGhpcy5zZWxlY3RlZEl0ZW1zWzBdKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbXNSZXNwb25zZS5lbWl0KHRoaXMuc2VsZWN0ZWRJdGVtc1swXSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zZWFyY2hUZXh0ID0gJyc7XG4gICAgICAgIHRoaXMuYXZhaWxhYmxlT3B0aW9ucyA9IHRoaXMuaXRlbXM7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNlbGVjdEl0ZW0oaXRlbVRvQWRkOiBhbnkpOiB2b2lkIHtcbiAgICBjb25zdCBpc1BhcmVudCA9ICEhaXRlbVRvQWRkLmNoaWxkcmVuO1xuXG4gICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcbiAgICAgIGNvbnN0IGlzU2VsZWN0ZWQgPSB0aGlzLmNoZWNrSWZTZWxlY3RlZChpdGVtVG9BZGQpO1xuXG4gICAgICBpZiAoaXNTZWxlY3RlZCkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbXMgPSB0aGlzLnNlbGVjdGVkSXRlbXMuZmlsdGVyKGkgPT5cbiAgICAgICAgICAodGhpcy5jb25maWcgPyBpW3RoaXMuY29uZmlnLnZhbHVlXSA6IGkpICE9PVxuICAgICAgICAgICh0aGlzLmNvbmZpZyA/IGl0ZW1Ub0FkZFt0aGlzLmNvbmZpZy52YWx1ZV0gOiBpdGVtVG9BZGQpXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKGlzUGFyZW50KSB7XG4gICAgICAgICAgaXRlbVRvQWRkLmNoaWxkcmVuLmZvckVhY2goY2hpbGQgPT4ge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gdGhpcy5zZWxlY3RlZEl0ZW1zLmZpbHRlcihpID0+IGkgIT09IGNoaWxkKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLml0ZW1zLmZvckVhY2gocGFyZW50ID0+IHtcbiAgICAgICAgICAgIGlmIChwYXJlbnQuY2hpbGRyZW4/LmluY2x1ZGVzKGl0ZW1Ub0FkZCkpIHtcbiAgICAgICAgICAgICAgY29uc3QgYW55U2VsZWN0ZWQgPSBwYXJlbnQuY2hpbGRyZW4uc29tZShjaGlsZCA9PiB0aGlzLmNoZWNrSWZTZWxlY3RlZChjaGlsZCkpO1xuICAgICAgICAgICAgICBjb25zdCBhbGxTZWxlY3RlZCA9IHBhcmVudC5jaGlsZHJlbi5ldmVyeShjaGlsZCA9PiB0aGlzLmNoZWNrSWZTZWxlY3RlZChjaGlsZCkpO1xuICAgICAgICAgICAgICBpZiAoIWFueVNlbGVjdGVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gdGhpcy5zZWxlY3RlZEl0ZW1zLmZpbHRlcihpID0+IGkgIT09IHBhcmVudCk7XG4gICAgICAgICAgICAgIH0gZWxzZSBpZiAoYWxsU2VsZWN0ZWQgJiYgIXRoaXMuY2hlY2tJZlNlbGVjdGVkKHBhcmVudCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbXMucHVzaChwYXJlbnQpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zLnB1c2goaXRlbVRvQWRkKTtcblxuICAgICAgICBpZiAoaXNQYXJlbnQpIHtcbiAgICAgICAgICBpdGVtVG9BZGQuY2hpbGRyZW4uZm9yRWFjaChjaGlsZCA9PiB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuY2hlY2tJZlNlbGVjdGVkKGNoaWxkKSkge1xuICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbXMucHVzaChjaGlsZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5pdGVtcy5mb3JFYWNoKHBhcmVudCA9PiB7XG4gICAgICAgICAgICBpZiAocGFyZW50LmNoaWxkcmVuPy5pbmNsdWRlcyhpdGVtVG9BZGQpKSB7XG4gICAgICAgICAgICAgIGNvbnN0IGFsbFNlbGVjdGVkID0gcGFyZW50LmNoaWxkcmVuLmV2ZXJ5KGNoaWxkID0+IHRoaXMuY2hlY2tJZlNlbGVjdGVkKGNoaWxkKSk7XG4gICAgICAgICAgICAgIGlmIChhbGxTZWxlY3RlZCAmJiAhdGhpcy5jaGVja0lmU2VsZWN0ZWQocGFyZW50KSkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcy5wdXNoKHBhcmVudCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNlbGVjdGVkSXRlbXMgPSBbaXRlbVRvQWRkXTtcbiAgICAgIHRoaXMudG9nZ2xlRHJvcGRvd24oKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaXNQYXJ0aWFsbHlTZWxlY3RlZChpdGVtOiBhbnkpOiBib29sZWFuIHtcbiAgICBpZiAoIWl0ZW0uY2hpbGRyZW4/Lmxlbmd0aCkgcmV0dXJuIGZhbHNlO1xuXG4gICAgY29uc3Qgc2VsZWN0ZWRDaGlsZHJlbiA9IGl0ZW0uY2hpbGRyZW4uZmlsdGVyKGNoaWxkID0+IHRoaXMuY2hlY2tJZlNlbGVjdGVkKGNoaWxkKSk7XG4gICAgcmV0dXJuIHNlbGVjdGVkQ2hpbGRyZW4ubGVuZ3RoID4gMCAmJiBzZWxlY3RlZENoaWxkcmVuLmxlbmd0aCA8IGl0ZW0uY2hpbGRyZW4ubGVuZ3RoO1xuICB9XG5cbiAgcHVibGljIGNoZWNrSWZTZWxlY3RlZChpdGVtVG9GaW5kOiBhbnkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZEl0ZW1zLnNvbWUoaXRlbSA9PlxuICAgICAgKHRoaXMuY29uZmlnID8gaXRlbVt0aGlzLmNvbmZpZy52YWx1ZV0gOiBpdGVtKSA9PT1cbiAgICAgICh0aGlzLmNvbmZpZyA/IGl0ZW1Ub0ZpbmRbdGhpcy5jb25maWcudmFsdWVdIDogaXRlbVRvRmluZClcbiAgICApOyAgfVxuXG5cbiAgcHVibGljIGNsZWFyU2VsZWN0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWRJdGVtcyA9IFtdO1xuXG4gICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtc1Jlc3BvbnNlLmVtaXQodGhpcy5zZWxlY3RlZEl0ZW1zKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zUmVzcG9uc2UuZW1pdChudWxsKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZmlsdGVySXRlbXMoKTogdm9pZCB7XG4gICAgY29uc3Qgc2VhcmNoID0gdGhpcy5zZWFyY2hUZXh0Py50b0xvd2VyQ2FzZSgpO1xuXG4gICAgY29uc3QgZmlsdGVyUmVjdXJzaXZlID0gKGl0ZW1zOiBhbnlbXSk6IGFueVtdID0+IHtcbiAgICAgIHJldHVybiBpdGVtc1xuICAgICAgICAgIC5tYXAoaXRlbSA9PiB7XG4gICAgICAgICAgICBjb25zdCBsYWJlbCA9IHRoaXMuY29uZmlnID8gaXRlbVt0aGlzLmNvbmZpZy5sYWJlbF0gOiBpdGVtO1xuXG4gICAgICAgICAgICBjb25zdCBtYXRjaGVzID0gbGFiZWw/LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhzZWFyY2gpO1xuICAgICAgICAgICAgY29uc3QgZmlsdGVyZWRDaGlsZHJlbiA9IGl0ZW0uY2hpbGRyZW4gPyBmaWx0ZXJSZWN1cnNpdmUoaXRlbS5jaGlsZHJlbikgOiBbXTtcblxuICAgICAgICAgICAgaWYgKG1hdGNoZXMgfHwgZmlsdGVyZWRDaGlsZHJlbi5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgIGlmICh0eXBlb2YgaXRlbSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgLi4uaXRlbSxcbiAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBmaWx0ZXJlZENoaWxkcmVuXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gaXRlbTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICB9KS5maWx0ZXIoaXRlbSA9PiBpdGVtICE9PSBudWxsKTtcbiAgICB9O1xuXG4gICAgdGhpcy5hdmFpbGFibGVPcHRpb25zID0gZmlsdGVyUmVjdXJzaXZlKHRoaXMuaXRlbXMpO1xuICB9XG5cblxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycsIFsnJGV2ZW50J10pIG9uRG9jdW1lbnRDbGljaygkZXZlbnQ6IFBvaW50ZXJFdmVudCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5fZXJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKCRldmVudC50YXJnZXQpICYmIHRoaXMuZHJvcGRvd25PcGVuZWQpIHtcbiAgICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkSXRlbXM/Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbXNSZXNwb25zZS5lbWl0KHRoaXMuc2VsZWN0ZWRJdGVtcyk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkSXRlbXNbMF0pIHtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbXNSZXNwb25zZS5lbWl0KHRoaXMuc2VsZWN0ZWRJdGVtc1swXSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdGhpcy5zZWFyY2hUZXh0ID0gJyc7XG4gICAgICB0aGlzLmRyb3Bkb3duT3BlbmVkID0gZmFsc2U7XG4gICAgICB0aGlzLmF2YWlsYWJsZU9wdGlvbnMgPSB0aGlzLml0ZW1zO1xuICAgICAgdGhpcy5kcm9wZG93blN0YXRlQ2hhbmdlLmVtaXQodGhpcy5kcm9wZG93bk9wZW5lZCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldEN1cnJlbmN5SWNvblNpemUoc2l6ZTogc3RyaW5nKSB7XG4gICAgc3dpdGNoIChzaXplKSB7XG4gICAgICBjYXNlICdzbSc6XG4gICAgICAgIHJldHVybiAnc20tMTYnO1xuICAgICAgY2FzZSAnbGcnOlxuICAgICAgICByZXR1cm4gJ2xnLTMyJztcbiAgICAgIGNhc2UgJ3hsJzpcbiAgICAgICAgcmV0dXJuICd4bC00MCc7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gJ21kLTI0JztcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0U3BhY2luZ0NsYXNzKHNpemU6IHN0cmluZykge1xuICAgIHN3aXRjaCAoc2l6ZSkge1xuICAgICAgY2FzZSAnc20nOiByZXR1cm4gJ2dyYXZpdHktbWFyZ2luLXJpZ2h0LXh4cyc7XG4gICAgICBjYXNlICdtZCc6IHJldHVybiAnZ3Jhdml0eS1tYXJnaW4tcmlnaHQteHMnO1xuICAgICAgY2FzZSAnbGcnOiByZXR1cm4gJ2dyYXZpdHktbWFyZ2luLXJpZ2h0LXNtJztcbiAgICAgIGNhc2UgJ3hsJzogcmV0dXJuICdncmF2aXR5LW1hcmdpbi1yaWdodC1tZCc7XG4gICAgICBkZWZhdWx0OiByZXR1cm4gJyc7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldE11bHRpbGV2ZWxTcGFjaW5nQ2xhc3Moc2l6ZTogc3RyaW5nKSB7XG4gICAgc3dpdGNoIChzaXplKSB7XG4gICAgICBjYXNlICdzbSc6IHJldHVybiAnZ3Jhdml0eS1tYXJnaW4tcmlnaHQtbWQnO1xuICAgICAgY2FzZSAnbWQnOiByZXR1cm4gJ2dyYXZpdHktbWFyZ2luLXJpZ2h0LWxnJztcbiAgICAgIGRlZmF1bHQ6IHJldHVybiAnJztcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0TGFiZWxUZXh0KCk6IHN0cmluZyB7XG4gICAgbGV0IHJlc3VsdDogc3RyaW5nID0gJyc7XG4gICAgaWYodGhpcy5zZWxlY3RlZEl0ZW1zLmxlbmd0aCA9PT0gMCl7XG4gICAgICAgcmVzdWx0ID0gdGhpcy5sYWJlbDtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zLmZvckVhY2goKGl0ZW0sIGkpID0+IHtcbiAgICAgICAgbGV0IGRpc3BsYXlWYWx1ZSA9IHRoaXMuY29uZmlnID8gaXRlbVt0aGlzLmNvbmZpZy5sYWJlbF0gOiBpdGVtO1xuICAgICAgICBsZXQgc2VwYXJhdG9yID0gaSAhPT0gdGhpcy5zZWxlY3RlZEl0ZW1zLmxlbmd0aCAtIDEgPyAnLCcgOiAnJztcbiAgICAgICAgcmVzdWx0ID0gcmVzdWx0ICsgZGlzcGxheVZhbHVlICsgc2VwYXJhdG9yO1xuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwdWJsaWMgaXNDaGlsZHJlbk9wZW4oaXRlbTogYW55KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMub3BlbkNoaWxkcmVuTWFwLmdldChpdGVtKSA9PT0gdHJ1ZTtcbiAgfVxuXG4gIHB1YmxpYyB0b2dnbGVDaGlsZHJlbihpdGVtOiBhbnksIGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgY29uc3QgY3VycmVudCA9IHRoaXMub3BlbkNoaWxkcmVuTWFwLmdldChpdGVtKSB8fCBmYWxzZTtcbiAgICB0aGlzLm9wZW5DaGlsZHJlbk1hcC5zZXQoaXRlbSwgIWN1cnJlbnQpO1xuICB9XG5cbiAgcHVibGljIGdldERpc3BsYXlWYWx1ZShjaGlsZDogYW55LCBjb25maWc/OiB7IGxhYmVsOiBzdHJpbmcgfSk6IHN0cmluZyB7XG4gICAgaWYgKGNvbmZpZz8ubGFiZWwgJiYgdHlwZW9mIGNoaWxkID09PSAnb2JqZWN0JyAmJiBjaGlsZCAhPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIGNoaWxkW2NvbmZpZy5sYWJlbF0gPz8gJyc7XG4gICAgfVxuICAgIHJldHVybiBjaGlsZCA/PyAnJztcbiAgfVxuXG5cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJpbnB1dFR5cGUgPT09ICdmaWVsZCdcIj5cbiAgPGxhYmVsIGNsYXNzPVwiaHItbGFiZWwgc20tYm9sZCB7e2dldFN0YXR1cygpfX1cIiAqbmdJZj1cImxhYmVsXCI+XG4gICAge3sgbGFiZWwgfX0gPHNwYW4gKm5nSWY9XCJyZXF1aXJlZCB8fCBoYXNFcnJvclwiPio8L3NwYW4+XG4gIDwvbGFiZWw+XG48L25nLWNvbnRhaW5lcj5cblxuPGRpdiBjbGFzcz1cImdyYXZpdHktaW5wdXQtZmllbGQge3tpbnB1dFR5cGV9fS17e2xhYmVsU2l6ZX19IHt7c2l6ZX19IHt7d2lkdGh9fS13aWR0aCB7e2dldFN0YXR1cygpfX1cIlxuICAgICBbYXR0ci5kYXRhLWN5XT1cImN5cHJlc3NUYWdcIiAoY2xpY2spPVwidG9nZ2xlRHJvcGRvd24oKVwiPlxuXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJpbnB1dFR5cGUgPT09ICdmaWVsZCdcIj5cbiAgICA8Z3Jhdml0eS1pY29uIGNsYXNzPVwibGVmdFwiIFtpY29uTmFtZV09XCJpY29uTGVmdFwiIFtpY29uU2l6ZV09XCJpc0ljb25MZWZ0TmV3KCkgPyAnbWQtMTYnIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgICAqbmdJZj1cImljb25MZWZ0XCI+PC9ncmF2aXR5LWljb24+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNDdXJyZW5jeSAmJiBzZWxlY3RlZEl0ZW1zLmxlbmd0aCA+IDBcIj5cbiAgICAgIDxncmF2aXR5LWN1cnJlbmN5XG4gICAgICAgICAgW25nQ2xhc3NdPVwiZ2V0U3BhY2luZ0NsYXNzKHNpemUpXCJcbiAgICAgICAgICBbc2l6ZV09XCJnZXRDdXJyZW5jeUljb25TaXplKHNpemUpXCJcbiAgICAgICAgICBbY3VycmVuY3ldPVwie2N1cnJlbmN5X2lkOiBzZWxlY3RlZEl0ZW1zWzBdPy5jdXJyZW5jeV9pZH1cIj5cbiAgICAgIDwvZ3Jhdml0eS1jdXJyZW5jeT5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxwIGNsYXNzPVwiaHItbGFiZWwge3tzaXplfX0tcmVndWxhciB2YWx1ZVwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNlbGVjdGVkSXRlbXMubGVuZ3RoID09IDBcIj5cbiAgICAgICAge3sgcGxhY2Vob2xkZXIgPyBwbGFjZWhvbGRlciA6IGxhYmVsIH19XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzZWxlY3RlZEl0ZW1zLmxlbmd0aCA+IDBcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBzZWxlY3RlZEl0ZW1zOyBsZXQgaSA9IGluZGV4XCI+XG4gICAgICAgICAge3sgY29uZmlnID8gaXRlbVtjb25maWcubGFiZWxdIDogaXRlbSB9fXt7IGkgIT0gc2VsZWN0ZWRJdGVtcy5sZW5ndGggLSAxID8gJywnIDogJycgfX1cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L3A+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNDdXJyZW5jeSAmJiBzZWxlY3RlZEl0ZW1zLmxlbmd0aCA+IDBcIj5cbiAgICAgIDxncmF2aXR5LW5ldHdvcmstcGlsbFxuICAgICAgICAgIFtuZXR3b3JrXT1cInsgaXNvOiBzZWxlY3RlZEl0ZW1zWzBdPy5uZXR3b3JrPy5jb2RlLCBpZDogc2VsZWN0ZWRJdGVtc1swXT8ubmV0d29yaz8uaWQgfVwiPlxuICAgICAgPC9ncmF2aXR5LW5ldHdvcmstcGlsbD5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxncmF2aXR5LWljb24gY2xhc3M9XCJyaWdodFwiIFtpY29uTmFtZV09XCJkcm9wZG93bk9wZW5lZCA/ICdhcnJvdy11cCc6ICdhcnJvdy1kb3duJ1wiXG4gICAgICAgICAgICAgICAgICBbaWNvblNpemVdPVwiJ21kLTE2J1wiICpuZ0lmPVwiIWlzUmVhZG9ubHlcIj48L2dyYXZpdHktaWNvbj5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlucHV0VHlwZSA9PT0gJ2xhYmVsJ1wiPlxuICAgIDxncmF2aXR5LWRyb3Bkb3duLWxhYmVsIChvbkNsaWNrTGFiZWwpPVwidG9nZ2xlRHJvcGRvd24oKVwiIFtsYWJlbF09XCJnZXRMYWJlbFRleHQoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NpemVdPVwibGFiZWxTaXplXCIgW2lzT3Blbl09XCJkcm9wZG93bk9wZW5lZFwiPlxuICAgIDwvZ3Jhdml0eS1kcm9wZG93bi1sYWJlbD5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLXBhbmVsXCIgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiICpuZ0lmPVwiaXRlbXMgJiYgZHJvcGRvd25PcGVuZWRcIlxuICAgICAgIFthdHRyLmRhdGEtY3ldPVwiY3lwcmVzc1RhZyArICdfcGFuZWwnXCI+XG4gICAgPGRpdiBjbGFzcz1cInNlYXJjaC1pbnB1dFwiPlxuICAgICAgPGdyYXZpdHktaWNvbiBjbGFzcz1cInNlYXJjaC1pY29uXCIgW2ljb25OYW1lXT1cIidzZWFyY2gnXCIgW2ljb25TaXplXT1cIidzbS0xMidcIj48L2dyYXZpdHktaWNvbj5cbiAgICAgIDxpbnB1dCBhdXRvY29tcGxldGU9XCJvZmZcIiBjbGFzcz1cImhyLWxhYmVsIHt7c2l6ZX19LXJlZ3VsYXJcIiAoaW5wdXQpPVwiZmlsdGVySXRlbXMoKVwiXG4gICAgICAgICAgICAgW2F0dHIuZGF0YS1jeV09XCJjeXByZXNzVGFnICsgJ19zZWFyY2hfaW5wdXQnXCIgI3NlYXJjaElucHV0XG4gICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJzZWFyY2hUZXh0XCIgcGxhY2Vob2xkZXI9XCJ7e2N1cnJlbnRMYW5nID09ICdlcycgPyAnQnVzY2FyJyA6ICdTZWFyY2ggaW5wdXQnfX1cIj5cbiAgICAgIDxncmF2aXR5LWljb24gY2xhc3M9XCJwb2ludGVyIHJlc2V0LWljb25cIiAoY2xpY2spPVwic2VhcmNoVGV4dCA9ICcnOyBmaWx0ZXJJdGVtcygpXCIgW2ljb25OYW1lXT1cIid1bnN1Y2Nlc3MnXCJcbiAgICAgICAgICAgICAgICAgICAgW2ljb25TaXplXT1cIidzbS0xMidcIiAqbmdJZj1cInNlYXJjaFRleHQ/Lmxlbmd0aCA+IDBcIj48L2dyYXZpdHktaWNvbj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJpdGVtcy1jb250YWluZXJcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJpdGVtc1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbS1jb250YWluZXJcIiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBhdmFpbGFibGVPcHRpb25zXCIgW2F0dHIuZGF0YS1jeV09XCJpc0N1cnJlbmN5ID8gJ2N1cnJlbmN5X29wdGlvbl8nICsgaXRlbS5jdXJyZW5jeV9pZCA6ICcnXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImhyLWxhYmVsIGl0ZW0ge3tzaXplfX0tcmVndWxhciBwb2ludGVyXCJcbiAgICAgICAgICAgICAgIFtjbGFzcy5zZWxlY3RlZF09XCJjaGVja0lmU2VsZWN0ZWQoaXRlbSlcIlxuICAgICAgICAgICAgICAgW2NsYXNzLnBhcnRpYWxdPVwiaXNQYXJ0aWFsbHlTZWxlY3RlZChpdGVtKVwiXG4gICAgICAgICAgICAgICAoY2xpY2spPVwiaXRlbS5jaGlsZHJlbj8ubGVuZ3RoICA/IG11bHRpcGxlID9zZWxlY3RJdGVtKGl0ZW0pIDogdG9nZ2xlQ2hpbGRyZW4oaXRlbSwgJGV2ZW50KSA6IHNlbGVjdEl0ZW0oaXRlbSlcIj5cbiAgICAgICAgICAgIDxncmF2aXR5LWNoZWNrYm94ICpuZ0lmPVwibXVsdGlwbGVcIiBbbmdDbGFzc109XCJnZXRTcGFjaW5nQ2xhc3Moc2l6ZSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lzUGFydGlhbF09XCJpc1BhcnRpYWxseVNlbGVjdGVkKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cImNoZWNrSWZTZWxlY3RlZChpdGVtKVwiPjwvZ3Jhdml0eS1jaGVja2JveD5cbiAgICAgICAgICAgIDxncmF2aXR5LWN1cnJlbmN5ICpuZ0lmPVwiaXNDdXJyZW5jeVwiIFtuZ0NsYXNzXT1cImdldFNwYWNpbmdDbGFzcyhzaXplKVwiIFtzaXplXT1cImdldEN1cnJlbmN5SWNvblNpemUoc2l6ZSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2N1cnJlbmN5XT1cIntjdXJyZW5jeV9pZDogaXRlbS5jdXJyZW5jeV9pZH1cIj48L2dyYXZpdHktY3VycmVuY3k+XG4gICAgICAgICAgICA8ZGl2IFtuZ0NsYXNzXT1cImdldFNwYWNpbmdDbGFzcyhzaXplKVwiPnt7IGdldERpc3BsYXlWYWx1ZShpdGVtLCBjb25maWcpIH19PC9kaXY+XG4gICAgICAgICAgICA8Z3Jhdml0eS1uZXR3b3JrLXBpbGwgKm5nSWY9XCJpc0N1cnJlbmN5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmV0d29ya109XCJ7IGlzbzogaXRlbS5uZXR3b3JrLmNvZGUsIGlkOiBpdGVtLm5ldHdvcmsuaWQgfVwiPjwvZ3Jhdml0eS1uZXR3b3JrLXBpbGw+XG4gICAgICAgICAgICA8Z3Jhdml0eS1pY29uIHN0eWxlPVwibWFyZ2luLWxlZnQ6IGF1dG9cIiAoY2xpY2spPVwidG9nZ2xlQ2hpbGRyZW4oaXRlbSwgJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtpY29uTmFtZV09XCJpc0NoaWxkcmVuT3BlbihpdGVtKSA/ICdhcnJvdy11cCcgOiAnYXJyb3ctZG93bidcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbaWNvblNpemVdPVwiJ21kLTE2J1wiICpuZ0lmPVwiaXRlbS5jaGlsZHJlbj8ubGVuZ3RoXCI+PC9ncmF2aXR5LWljb24+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbS1jaGlsZHJlblwiICpuZ0lmPVwiaXRlbS5jaGlsZHJlbj8ubGVuZ3RoICYmIGlzQ2hpbGRyZW5PcGVuKGl0ZW0pXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjaGlsZCBvZiBpdGVtLmNoaWxkcmVuXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoci1sYWJlbCBpdGVtIHt7c2l6ZX19LXJlZ3VsYXIgcG9pbnRlclwiIFtuZ0NsYXNzXT1cInsnbXVsdGlwbGUnIDogbXVsdGlwbGV9XCJcbiAgICAgICAgICAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWRdPVwiY2hlY2tJZlNlbGVjdGVkKGNoaWxkKVwiXG4gICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdEl0ZW0oY2hpbGQpXCI+XG4gICAgICAgICAgICAgICAgPGdyYXZpdHktY2hlY2tib3ggKm5nSWY9XCJtdWx0aXBsZVwiIFtuZ0NsYXNzXT1cImdldE11bHRpbGV2ZWxTcGFjaW5nQ2xhc3Moc2l6ZSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cImNoZWNrSWZTZWxlY3RlZChjaGlsZClcIj48L2dyYXZpdHktY2hlY2tib3g+XG4gICAgICAgICAgICAgICAgPGdyYXZpdHktY3VycmVuY3kgKm5nSWY9XCJpc0N1cnJlbmN5XCIgW25nQ2xhc3NdPVwiZ2V0U3BhY2luZ0NsYXNzKHNpemUpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2l6ZV09XCJnZXRDdXJyZW5jeUljb25TaXplKHNpemUpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY3VycmVuY3ldPVwie2N1cnJlbmN5X2lkOiBjaGlsZC5jdXJyZW5jeV9pZH1cIj48L2dyYXZpdHktY3VycmVuY3k+XG4gICAgICAgICAgICAgICAgICA8ZGl2IFtuZ0NsYXNzXT1cImdldFNwYWNpbmdDbGFzcyhzaXplKVwiPnt7IGdldERpc3BsYXlWYWx1ZShjaGlsZCwgY29uZmlnKSB9fTwvZGl2PlxuICAgICAgICAgICAgICAgIDxncmF2aXR5LW5ldHdvcmstcGlsbCAqbmdJZj1cImlzQ3VycmVuY3lcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmV0d29ya109XCJ7IGlzbzogY2hpbGQubmV0d29yay5jb2RlLCBpZDogY2hpbGQubmV0d29yay5pZCB9XCI+PC9ncmF2aXR5LW5ldHdvcmstcGlsbD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJoci1sYWJlbCBpdGVtIHt7c2l6ZX19LWJvbGQgbm8tcmVzdWx0c1wiICpuZ0lmPVwiYXZhaWxhYmxlT3B0aW9ucy5sZW5ndGggPT09IDBcIj5cbiAgICAgICAgICB7eyBjdXJyZW50TGFuZyA9PSAnZXMnID8gJ1NpbiByZXN1bHRhZG9zJyA6ICdObyByZXN1bHRzJyB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLWZvb3RlclwiICpuZ0lmPVwic2VsZWN0ZWRJdGVtcy5sZW5ndGggPiAwXCIgW2NsYXNzLm5vdC1jbGVhcmFibGVdPVwiIWNsZWFyYWJsZVwiPlxuICAgICAgPHAgY2xhc3M9XCJoci1sYWJlbCBwb2ludGVyIHNtLXJlZ3VsYXJcIiAoY2xpY2spPVwiY2xlYXJTZWxlY3Rpb24oKVwiICpuZ0lmPVwiY2xlYXJhYmxlXCJcbiAgICAgICAgIFthdHRyLmRhdGEtY3ldPVwiY3lwcmVzc1RhZyArICdfY2xlYXInXCI+XG4gICAgICAgIHt7IGN1cnJlbnRMYW5nID09ICdlcycgPyAnTGltcGlhcicgOiAnQ2xlYXIgc2VsZWN0aW9uJyB9fVxuICAgICAgPC9wPlxuICAgICAgPHAgY2xhc3M9XCJoci1sYWJlbCBwb2ludGVyIHNtLWJvbGRcIiAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOyB0b2dnbGVEcm9wZG93bigpXCJcbiAgICAgICAgICpuZ0lmPVwiYXZhaWxhYmxlT3B0aW9ucy5sZW5ndGggIT0gMFwiIFthdHRyLmRhdGEtY3ldPVwiY3lwcmVzc1RhZyArICdfYXBwbHknXCI+XG4gICAgICAgIHt7IGN1cnJlbnRMYW5nID09ICdlcycgPyAnQXBsaWNhcicgOiAnQXBwbHknIH19XG4gICAgICA8L3A+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxzZWN0aW9uIGNsYXNzPVwiZXh0ZXJuYWwtY29udGVudFwiICpuZ0lmPVwiIWl0ZW1zICYmIGRyb3Bkb3duT3BlbmVkXCIgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPC9zZWN0aW9uPlxuPC9kaXY+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJpbnB1dFR5cGUgPT09ICdmaWVsZCdcIj5cbiAgPHAgY2xhc3M9XCJoci1sYWJlbCBzbS1yZWd1bGFyIHN1cHBvcnRpbmctdGV4dCB7e2dldFN0YXR1cygpfX0ge3tzaXplfX1cIiAqbmdJZj1cInN1cHBvcnRUZXh0XCI+XG4gICAgPGdyYXZpdHktaWNvbiBbaWNvbk5hbWVdPVwiJ3F1ZXN0aW9uLWNpcmNsZSdcIiAqbmdJZj1cImhhc0Vycm9yXCIgW2ljb25TaXplXT1cIidtZC0xNidcIj48L2dyYXZpdHktaWNvbj5cbiAgICB7eyBzdXBwb3J0VGV4dCB9fVxuICA8L3A+XG4gIDxwIGNsYXNzPVwiaHItbGFiZWwgc20tcmVndWxhciBzdXBwb3J0aW5nLXRleHQge3tnZXRTdGF0dXMoKX19IHt7c2l6ZX19XCJcbiAgICAgKm5nSWY9XCIhc3VwcG9ydFRleHQgJiYgZ2V0U3RhdHVzKCkgPT0gJ2FjdGl2ZScgJiYgc2VsZWN0ZWRJdGVtcy5sZW5ndGggPT0gMCAmJiByZXF1aXJlZFwiPlxuICAgIHt7IGN1cnJlbnRMYW5nID09ICdlcycgPyAnUmVxdWVyaWRvJyA6ICdSZXF1aXJlZCcgfX1cbiAgPC9wPlxuPC9uZy1jb250YWluZXI+Il19
|