@net7/boilerplate-muruca 5.5.8 → 5.5.9

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.
@@ -3,6 +3,7 @@ import { _t } from '@net7/core';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "@angular/common";
5
5
  import * as i2 from "@net7/components";
6
+ import * as i3 from "../input-typeahead/input-typeahead";
6
7
  export class MrFormComponent {
7
8
  ngOnInit() {
8
9
  if (this.group) {
@@ -20,11 +21,11 @@ export class MrFormComponent {
20
21
  }));
21
22
  }
22
23
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MrFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
23
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: MrFormComponent, selector: "mr-form", inputs: { form: "form", group: "group" }, queries: [{ propertyName: "templateRef", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0, template: "<div *ngIf=\"form.loaded$ | async\" class=\"mr-form {{ group?.classes || '' }}\">\n <div *ngFor=\"let section of sections\" class=\"mr-form__section {{ section.classes || '' }}\" \n [ngClass]=\"{ 'mr-form__section-advanced' : section.advancedSection }\" >\n \n <div class=\"mr-form__section-header\">\n <h3 *ngIf=\"section.title\" class=\"mr-form__section-title\">{{ section.title }}</h3>\n <p *ngIf=\"section.description\" class=\"mr-form__section-description\">{{ section.description }}</p>\n </div>\n \n <div class=\"mr-form__section-content\">\n <div *ngFor=\"let input of section.inputs\" class=\"mr-form__element {{ input.options?.classes || '' }}\">\n <ng-container [ngSwitch]=\"input.type\">\n\n <!-- INPUT TEXT -->\n <n7-input-text *ngSwitchCase=\"'text'\" \n [data]=\"form.inputs[input.id].ds.out$ | async\"\n [emit]=\"form.inputs[input.id].emit\"></n7-input-text>\n\n <!-- INPUT CHECKBOX -->\n <n7-input-checkbox *ngSwitchCase=\"'checkbox'\" \n [data]=\"form.inputs[input.id].ds.out$ | async\"\n [emit]=\"form.inputs[input.id].emit\"></n7-input-checkbox>\n\n <!-- INPUT SELECT -->\n <n7-input-select *ngSwitchCase=\"'select'\" \n [data]=\"form.inputs[input.id].ds.out$ | async\"\n [emit]=\"form.inputs[input.id].emit\"></n7-input-select>\n\n <!-- DEFAULT (external template) -->\n <ng-container *ngSwitchDefault>\n <ng-template *ngTemplateOutlet=\"\n templateRef; \n context: { \n type: input.type, \n input: form.inputs[input.id] \n }\"></ng-template>\n </ng-container>\n\n </ng-container>\n </div>\n </div>\n </div>\n</div>", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: i2.InputCheckboxComponent, selector: "n7-input-checkbox", inputs: ["data", "emit"] }, { kind: "component", type: i2.InputSelectComponent, selector: "n7-input-select", inputs: ["data", "emit"] }, { kind: "component", type: i2.InputTextComponent, selector: "n7-input-text", inputs: ["data", "emit"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] }); }
24
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: MrFormComponent, selector: "mr-form", inputs: { form: "form", group: "group" }, queries: [{ propertyName: "templateRef", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0, template: "<div *ngIf=\"form.loaded$ | async\" class=\"mr-form {{ group?.classes || '' }}\">\n <div *ngFor=\"let section of sections\" class=\"mr-form__section {{ section.classes || '' }}\" \n [ngClass]=\"{ 'mr-form__section-advanced' : section.advancedSection }\" >\n \n <div class=\"mr-form__section-header\">\n <h3 *ngIf=\"section.title\" class=\"mr-form__section-title\">{{ section.title }}</h3>\n <p *ngIf=\"section.description\" class=\"mr-form__section-description\">{{ section.description }}</p>\n </div>\n \n <div class=\"mr-form__section-content\">\n <div *ngFor=\"let input of section.inputs\" class=\"mr-form__element {{ input.options?.classes || '' }}\">\n <ng-container [ngSwitch]=\"input.type\">\n\n <!-- INPUT TEXT -->\n <n7-input-text *ngSwitchCase=\"'text'\" \n [data]=\"form.inputs[input.id].ds.out$ | async\"\n [emit]=\"form.inputs[input.id].emit\"></n7-input-text>\n\n <!-- INPUT CHECKBOX -->\n <n7-input-checkbox *ngSwitchCase=\"'checkbox'\" \n [data]=\"form.inputs[input.id].ds.out$ | async\"\n [emit]=\"form.inputs[input.id].emit\"></n7-input-checkbox>\n\n <!-- INPUT SELECT -->\n <n7-input-select *ngSwitchCase=\"'select'\"\n [data]=\"form.inputs[input.id].ds.out$ | async\"\n [emit]=\"form.inputs[input.id].emit\"></n7-input-select>\n\n <!-- INPUT TYPEAHEAD -->\n <mr-input-typeahead *ngSwitchCase=\"'typeahead'\"\n [data]=\"form.inputs[input.id].ds.out$ | async\"\n [emit]=\"form.inputs[input.id].emit\"></mr-input-typeahead>\n\n <!-- DEFAULT (external template) -->\n <ng-container *ngSwitchDefault>\n <ng-template *ngTemplateOutlet=\"\n templateRef; \n context: { \n type: input.type, \n input: form.inputs[input.id] \n }\"></ng-template>\n </ng-container>\n\n </ng-container>\n </div>\n </div>\n </div>\n</div>", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: i2.InputCheckboxComponent, selector: "n7-input-checkbox", inputs: ["data", "emit"] }, { kind: "component", type: i2.InputSelectComponent, selector: "n7-input-select", inputs: ["data", "emit"] }, { kind: "component", type: i2.InputTextComponent, selector: "n7-input-text", inputs: ["data", "emit"] }, { kind: "component", type: i3.MrInputTypeaheadComponent, selector: "mr-input-typeahead", inputs: ["data", "emit"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] }); }
24
25
  }
25
26
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MrFormComponent, decorators: [{
26
27
  type: Component,
27
- args: [{ selector: 'mr-form', template: "<div *ngIf=\"form.loaded$ | async\" class=\"mr-form {{ group?.classes || '' }}\">\n <div *ngFor=\"let section of sections\" class=\"mr-form__section {{ section.classes || '' }}\" \n [ngClass]=\"{ 'mr-form__section-advanced' : section.advancedSection }\" >\n \n <div class=\"mr-form__section-header\">\n <h3 *ngIf=\"section.title\" class=\"mr-form__section-title\">{{ section.title }}</h3>\n <p *ngIf=\"section.description\" class=\"mr-form__section-description\">{{ section.description }}</p>\n </div>\n \n <div class=\"mr-form__section-content\">\n <div *ngFor=\"let input of section.inputs\" class=\"mr-form__element {{ input.options?.classes || '' }}\">\n <ng-container [ngSwitch]=\"input.type\">\n\n <!-- INPUT TEXT -->\n <n7-input-text *ngSwitchCase=\"'text'\" \n [data]=\"form.inputs[input.id].ds.out$ | async\"\n [emit]=\"form.inputs[input.id].emit\"></n7-input-text>\n\n <!-- INPUT CHECKBOX -->\n <n7-input-checkbox *ngSwitchCase=\"'checkbox'\" \n [data]=\"form.inputs[input.id].ds.out$ | async\"\n [emit]=\"form.inputs[input.id].emit\"></n7-input-checkbox>\n\n <!-- INPUT SELECT -->\n <n7-input-select *ngSwitchCase=\"'select'\" \n [data]=\"form.inputs[input.id].ds.out$ | async\"\n [emit]=\"form.inputs[input.id].emit\"></n7-input-select>\n\n <!-- DEFAULT (external template) -->\n <ng-container *ngSwitchDefault>\n <ng-template *ngTemplateOutlet=\"\n templateRef; \n context: { \n type: input.type, \n input: form.inputs[input.id] \n }\"></ng-template>\n </ng-container>\n\n </ng-container>\n </div>\n </div>\n </div>\n</div>" }]
28
+ args: [{ selector: 'mr-form', template: "<div *ngIf=\"form.loaded$ | async\" class=\"mr-form {{ group?.classes || '' }}\">\n <div *ngFor=\"let section of sections\" class=\"mr-form__section {{ section.classes || '' }}\" \n [ngClass]=\"{ 'mr-form__section-advanced' : section.advancedSection }\" >\n \n <div class=\"mr-form__section-header\">\n <h3 *ngIf=\"section.title\" class=\"mr-form__section-title\">{{ section.title }}</h3>\n <p *ngIf=\"section.description\" class=\"mr-form__section-description\">{{ section.description }}</p>\n </div>\n \n <div class=\"mr-form__section-content\">\n <div *ngFor=\"let input of section.inputs\" class=\"mr-form__element {{ input.options?.classes || '' }}\">\n <ng-container [ngSwitch]=\"input.type\">\n\n <!-- INPUT TEXT -->\n <n7-input-text *ngSwitchCase=\"'text'\" \n [data]=\"form.inputs[input.id].ds.out$ | async\"\n [emit]=\"form.inputs[input.id].emit\"></n7-input-text>\n\n <!-- INPUT CHECKBOX -->\n <n7-input-checkbox *ngSwitchCase=\"'checkbox'\" \n [data]=\"form.inputs[input.id].ds.out$ | async\"\n [emit]=\"form.inputs[input.id].emit\"></n7-input-checkbox>\n\n <!-- INPUT SELECT -->\n <n7-input-select *ngSwitchCase=\"'select'\"\n [data]=\"form.inputs[input.id].ds.out$ | async\"\n [emit]=\"form.inputs[input.id].emit\"></n7-input-select>\n\n <!-- INPUT TYPEAHEAD -->\n <mr-input-typeahead *ngSwitchCase=\"'typeahead'\"\n [data]=\"form.inputs[input.id].ds.out$ | async\"\n [emit]=\"form.inputs[input.id].emit\"></mr-input-typeahead>\n\n <!-- DEFAULT (external template) -->\n <ng-container *ngSwitchDefault>\n <ng-template *ngTemplateOutlet=\"\n templateRef; \n context: { \n type: input.type, \n input: form.inputs[input.id] \n }\"></ng-template>\n </ng-container>\n\n </ng-container>\n </div>\n </div>\n </div>\n</div>" }]
28
29
  }], propDecorators: { form: [{
29
30
  type: Input
30
31
  }], group: [{
@@ -33,4 +34,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
33
34
  type: ContentChild,
34
35
  args: [TemplateRef]
35
36
  }] } });
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL243LWJvaWxlcnBsYXRlLW11cnVjYS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9mb3JtLnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbjctYm9pbGVycGxhdGUtbXVydWNhL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL2Zvcm0uaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsV0FBVyxFQUNwRCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sWUFBWSxDQUFDOzs7O0FBUWhDLE1BQU0sT0FBTyxlQUFlO0lBVTFCLFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUTtpQkFDdEMsTUFBTSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDMUQsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQztRQUM1QyxDQUFDO1FBRUQsZUFBZTtRQUNmLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDOUMsR0FBRyxPQUFPO1lBQ1YsS0FBSyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO1lBQ3hCLFdBQVcsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQztTQUNyQyxDQUFDLENBQUMsQ0FBQztJQUNOLENBQUM7K0dBeEJVLGVBQWU7bUdBQWYsZUFBZSxrSUFLWixXQUFXLGdEQ2hCM0IsNGtFQTBDTTs7NEZEL0JPLGVBQWU7a0JBSjNCLFNBQVM7K0JBQ0UsU0FBUzs4QkFJVixJQUFJO3NCQUFaLEtBQUs7Z0JBRUcsS0FBSztzQkFBYixLQUFLO2dCQUdDLFdBQVc7c0JBRGpCLFlBQVk7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCwgQ29udGVudENoaWxkLCBJbnB1dCwgT25Jbml0LCBUZW1wbGF0ZVJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IF90IH0gZnJvbSAnQG5ldDcvY29yZSc7XG5pbXBvcnQgeyBNckZvcm1Db25maWdHcm91cCwgTXJGb3JtQ29uZmlnU2VjdGlvbiB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvZm9ybS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTXJGb3JtTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvZm9ybS5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21yLWZvcm0nLFxuICB0ZW1wbGF0ZVVybDogJy4vZm9ybS5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgTXJGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgZm9ybTogTXJGb3JtTW9kZWw7XG5cbiAgQElucHV0KCkgZ3JvdXA/OiBNckZvcm1Db25maWdHcm91cDtcblxuICBAQ29udGVudENoaWxkKFRlbXBsYXRlUmVmKVxuICBwdWJsaWMgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgcHVibGljIHNlY3Rpb25zOiBNckZvcm1Db25maWdTZWN0aW9uW107XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMuZ3JvdXApIHtcbiAgICAgIHRoaXMuc2VjdGlvbnMgPSB0aGlzLmZvcm0uY29uZmlnLnNlY3Rpb25zXG4gICAgICAgIC5maWx0ZXIoKHsgaWQgfSkgPT4gdGhpcy5ncm91cC5zZWN0aW9ucy5pbmNsdWRlcyhpZCkpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNlY3Rpb25zID0gdGhpcy5mb3JtLmNvbmZpZy5zZWN0aW9ucztcbiAgICB9XG5cbiAgICAvLyB0cmFuc2xhdGlvbnNcbiAgICB0aGlzLnNlY3Rpb25zID0gdGhpcy5zZWN0aW9ucy5tYXAoKHNlY3Rpb24pID0+ICh7XG4gICAgICAuLi5zZWN0aW9uLFxuICAgICAgdGl0bGU6IF90KHNlY3Rpb24udGl0bGUpLFxuICAgICAgZGVzY3JpcHRpb246IF90KHNlY3Rpb24uZGVzY3JpcHRpb24pXG4gICAgfSkpO1xuICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwiZm9ybS5sb2FkZWQkIHwgYXN5bmNcIiBjbGFzcz1cIm1yLWZvcm0ge3sgZ3JvdXA/LmNsYXNzZXMgfHwgJycgfX1cIj5cbiAgICA8ZGl2ICpuZ0Zvcj1cImxldCBzZWN0aW9uIG9mIHNlY3Rpb25zXCIgY2xhc3M9XCJtci1mb3JtX19zZWN0aW9uIHt7IHNlY3Rpb24uY2xhc3NlcyB8fCAnJyB9fVwiIFxuICAgICAgICAgW25nQ2xhc3NdPVwieyAnbXItZm9ybV9fc2VjdGlvbi1hZHZhbmNlZCcgOiBzZWN0aW9uLmFkdmFuY2VkU2VjdGlvbiAgfVwiID5cbiAgICAgICAgXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtci1mb3JtX19zZWN0aW9uLWhlYWRlclwiPlxuICAgICAgICAgICAgPGgzICpuZ0lmPVwic2VjdGlvbi50aXRsZVwiIGNsYXNzPVwibXItZm9ybV9fc2VjdGlvbi10aXRsZVwiPnt7IHNlY3Rpb24udGl0bGUgfX08L2gzPlxuICAgICAgICAgICAgPHAgKm5nSWY9XCJzZWN0aW9uLmRlc2NyaXB0aW9uXCIgY2xhc3M9XCJtci1mb3JtX19zZWN0aW9uLWRlc2NyaXB0aW9uXCI+e3sgc2VjdGlvbi5kZXNjcmlwdGlvbiB9fTwvcD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIFxuICAgICAgICA8ZGl2IGNsYXNzPVwibXItZm9ybV9fc2VjdGlvbi1jb250ZW50XCI+XG4gICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBpbnB1dCBvZiBzZWN0aW9uLmlucHV0c1wiIGNsYXNzPVwibXItZm9ybV9fZWxlbWVudCB7eyBpbnB1dC5vcHRpb25zPy5jbGFzc2VzIHx8ICcnIH19XCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiaW5wdXQudHlwZVwiPlxuXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gSU5QVVQgVEVYVCAtLT5cbiAgICAgICAgICAgICAgICAgICAgPG43LWlucHV0LXRleHQgKm5nU3dpdGNoQ2FzZT1cIid0ZXh0J1wiIFxuICAgICAgICAgICAgICAgICAgICAgICAgW2RhdGFdPVwiZm9ybS5pbnB1dHNbaW5wdXQuaWRdLmRzLm91dCQgfCBhc3luY1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZW1pdF09XCJmb3JtLmlucHV0c1tpbnB1dC5pZF0uZW1pdFwiPjwvbjctaW5wdXQtdGV4dD5cblxuICAgICAgICAgICAgICAgICAgICA8IS0tIElOUFVUIENIRUNLQk9YIC0tPlxuICAgICAgICAgICAgICAgICAgICA8bjctaW5wdXQtY2hlY2tib3ggKm5nU3dpdGNoQ2FzZT1cIidjaGVja2JveCdcIiBcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkYXRhXT1cImZvcm0uaW5wdXRzW2lucHV0LmlkXS5kcy5vdXQkIHwgYXN5bmNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2VtaXRdPVwiZm9ybS5pbnB1dHNbaW5wdXQuaWRdLmVtaXRcIj48L243LWlucHV0LWNoZWNrYm94PlxuXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gSU5QVVQgU0VMRUNUIC0tPlxuICAgICAgICAgICAgICAgICAgICA8bjctaW5wdXQtc2VsZWN0ICpuZ1N3aXRjaENhc2U9XCInc2VsZWN0J1wiIFxuICAgICAgICAgICAgICAgICAgICAgICAgW2RhdGFdPVwiZm9ybS5pbnB1dHNbaW5wdXQuaWRdLmRzLm91dCQgfCBhc3luY1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZW1pdF09XCJmb3JtLmlucHV0c1tpbnB1dC5pZF0uZW1pdFwiPjwvbjctaW5wdXQtc2VsZWN0PlxuXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gREVGQVVMVCAoZXh0ZXJuYWwgdGVtcGxhdGUpIC0tPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaERlZmF1bHQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRlbXBsYXRlUmVmOyBcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQ6IHsgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogaW5wdXQudHlwZSwgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5wdXQ6IGZvcm0uaW5wdXRzW2lucHV0LmlkXSBcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cIj48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+Il19
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL243LWJvaWxlcnBsYXRlLW11cnVjYS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9mb3JtLnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbjctYm9pbGVycGxhdGUtbXVydWNhL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL2Zvcm0uaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsV0FBVyxFQUNwRCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sWUFBWSxDQUFDOzs7OztBQVFoQyxNQUFNLE9BQU8sZUFBZTtJQVUxQixRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDZixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVE7aUJBQ3RDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzFELENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUM7UUFDNUMsQ0FBQztRQUVELGVBQWU7UUFDZixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQzlDLEdBQUcsT0FBTztZQUNWLEtBQUssRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztZQUN4QixXQUFXLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUM7U0FDckMsQ0FBQyxDQUFDLENBQUM7SUFDTixDQUFDOytHQXhCVSxlQUFlO21HQUFmLGVBQWUsa0lBS1osV0FBVyxnRENoQjNCLGkyRUErQ007OzRGRHBDTyxlQUFlO2tCQUozQixTQUFTOytCQUNFLFNBQVM7OEJBSVYsSUFBSTtzQkFBWixLQUFLO2dCQUVHLEtBQUs7c0JBQWIsS0FBSztnQkFHQyxXQUFXO3NCQURqQixZQUFZO3VCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsIENvbnRlbnRDaGlsZCwgSW5wdXQsIE9uSW5pdCwgVGVtcGxhdGVSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBfdCB9IGZyb20gJ0BuZXQ3L2NvcmUnO1xuaW1wb3J0IHsgTXJGb3JtQ29uZmlnR3JvdXAsIE1yRm9ybUNvbmZpZ1NlY3Rpb24gfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2Zvcm0uaW50ZXJmYWNlJztcbmltcG9ydCB7IE1yRm9ybU1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2Zvcm0ubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtci1mb3JtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0uaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIE1yRm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGZvcm06IE1yRm9ybU1vZGVsO1xuXG4gIEBJbnB1dCgpIGdyb3VwPzogTXJGb3JtQ29uZmlnR3JvdXA7XG5cbiAgQENvbnRlbnRDaGlsZChUZW1wbGF0ZVJlZilcbiAgcHVibGljIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIHB1YmxpYyBzZWN0aW9uczogTXJGb3JtQ29uZmlnU2VjdGlvbltdO1xuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICh0aGlzLmdyb3VwKSB7XG4gICAgICB0aGlzLnNlY3Rpb25zID0gdGhpcy5mb3JtLmNvbmZpZy5zZWN0aW9uc1xuICAgICAgICAuZmlsdGVyKCh7IGlkIH0pID0+IHRoaXMuZ3JvdXAuc2VjdGlvbnMuaW5jbHVkZXMoaWQpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZWN0aW9ucyA9IHRoaXMuZm9ybS5jb25maWcuc2VjdGlvbnM7XG4gICAgfVxuXG4gICAgLy8gdHJhbnNsYXRpb25zXG4gICAgdGhpcy5zZWN0aW9ucyA9IHRoaXMuc2VjdGlvbnMubWFwKChzZWN0aW9uKSA9PiAoe1xuICAgICAgLi4uc2VjdGlvbixcbiAgICAgIHRpdGxlOiBfdChzZWN0aW9uLnRpdGxlKSxcbiAgICAgIGRlc2NyaXB0aW9uOiBfdChzZWN0aW9uLmRlc2NyaXB0aW9uKVxuICAgIH0pKTtcbiAgfVxufVxuIiwiPGRpdiAqbmdJZj1cImZvcm0ubG9hZGVkJCB8IGFzeW5jXCIgY2xhc3M9XCJtci1mb3JtIHt7IGdyb3VwPy5jbGFzc2VzIHx8ICcnIH19XCI+XG4gICAgPGRpdiAqbmdGb3I9XCJsZXQgc2VjdGlvbiBvZiBzZWN0aW9uc1wiIGNsYXNzPVwibXItZm9ybV9fc2VjdGlvbiB7eyBzZWN0aW9uLmNsYXNzZXMgfHwgJycgfX1cIiBcbiAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ21yLWZvcm1fX3NlY3Rpb24tYWR2YW5jZWQnIDogc2VjdGlvbi5hZHZhbmNlZFNlY3Rpb24gIH1cIiA+XG4gICAgICAgIFxuICAgICAgICA8ZGl2IGNsYXNzPVwibXItZm9ybV9fc2VjdGlvbi1oZWFkZXJcIj5cbiAgICAgICAgICAgIDxoMyAqbmdJZj1cInNlY3Rpb24udGl0bGVcIiBjbGFzcz1cIm1yLWZvcm1fX3NlY3Rpb24tdGl0bGVcIj57eyBzZWN0aW9uLnRpdGxlIH19PC9oMz5cbiAgICAgICAgICAgIDxwICpuZ0lmPVwic2VjdGlvbi5kZXNjcmlwdGlvblwiIGNsYXNzPVwibXItZm9ybV9fc2VjdGlvbi1kZXNjcmlwdGlvblwiPnt7IHNlY3Rpb24uZGVzY3JpcHRpb24gfX08L3A+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICBcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1yLWZvcm1fX3NlY3Rpb24tY29udGVudFwiPlxuICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgaW5wdXQgb2Ygc2VjdGlvbi5pbnB1dHNcIiBjbGFzcz1cIm1yLWZvcm1fX2VsZW1lbnQge3sgaW5wdXQub3B0aW9ucz8uY2xhc3NlcyB8fCAnJyB9fVwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImlucHV0LnR5cGVcIj5cblxuICAgICAgICAgICAgICAgICAgICA8IS0tIElOUFVUIFRFWFQgLS0+XG4gICAgICAgICAgICAgICAgICAgIDxuNy1pbnB1dC10ZXh0ICpuZ1N3aXRjaENhc2U9XCIndGV4dCdcIiBcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkYXRhXT1cImZvcm0uaW5wdXRzW2lucHV0LmlkXS5kcy5vdXQkIHwgYXN5bmNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2VtaXRdPVwiZm9ybS5pbnB1dHNbaW5wdXQuaWRdLmVtaXRcIj48L243LWlucHV0LXRleHQ+XG5cbiAgICAgICAgICAgICAgICAgICAgPCEtLSBJTlBVVCBDSEVDS0JPWCAtLT5cbiAgICAgICAgICAgICAgICAgICAgPG43LWlucHV0LWNoZWNrYm94ICpuZ1N3aXRjaENhc2U9XCInY2hlY2tib3gnXCIgXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGF0YV09XCJmb3JtLmlucHV0c1tpbnB1dC5pZF0uZHMub3V0JCB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtlbWl0XT1cImZvcm0uaW5wdXRzW2lucHV0LmlkXS5lbWl0XCI+PC9uNy1pbnB1dC1jaGVja2JveD5cblxuICAgICAgICAgICAgICAgICAgICA8IS0tIElOUFVUIFNFTEVDVCAtLT5cbiAgICAgICAgICAgICAgICAgICAgPG43LWlucHV0LXNlbGVjdCAqbmdTd2l0Y2hDYXNlPVwiJ3NlbGVjdCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2RhdGFdPVwiZm9ybS5pbnB1dHNbaW5wdXQuaWRdLmRzLm91dCQgfCBhc3luY1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZW1pdF09XCJmb3JtLmlucHV0c1tpbnB1dC5pZF0uZW1pdFwiPjwvbjctaW5wdXQtc2VsZWN0PlxuXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gSU5QVVQgVFlQRUFIRUFEIC0tPlxuICAgICAgICAgICAgICAgICAgICA8bXItaW5wdXQtdHlwZWFoZWFkICpuZ1N3aXRjaENhc2U9XCIndHlwZWFoZWFkJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGF0YV09XCJmb3JtLmlucHV0c1tpbnB1dC5pZF0uZHMub3V0JCB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtlbWl0XT1cImZvcm0uaW5wdXRzW2lucHV0LmlkXS5lbWl0XCI+PC9tci1pbnB1dC10eXBlYWhlYWQ+XG5cbiAgICAgICAgICAgICAgICAgICAgPCEtLSBERUZBVUxUIChleHRlcm5hbCB0ZW1wbGF0ZSkgLS0+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoRGVmYXVsdD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgdGVtcGxhdGVSZWY7IFxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dDogeyBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBpbnB1dC50eXBlLCBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnB1dDogZm9ybS5pbnB1dHNbaW5wdXQuaWRdIFxuICAgICAgICAgICAgICAgICAgICAgICAgfVwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj4iXX0=
@@ -7,4 +7,5 @@ export * from './read-more/read-more';
7
7
  export * from './resource-modal/resource-modal';
8
8
  export * from './search-page-description/search-page-description';
9
9
  export * from './metadata-dynamic/metadata-dynamic';
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uNy1ib2lsZXJwbGF0ZS1tdXJ1Y2Evc3JjL2xpYi9jb21wb25lbnRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYyxxQ0FBcUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYWR2YW5jZWQtcmVzdWx0L2FkdmFuY2VkLXJlc3VsdCc7XG5leHBvcnQgKiBmcm9tICcuL2Zvcm0td3JhcHBlci1hY2NvcmRpb24vZm9ybS13cmFwcGVyLWFjY29yZGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2Zvcm0vZm9ybSc7XG5leHBvcnQgKiBmcm9tICcuL2dhbGxlcnkvZ2FsbGVyeSc7XG5leHBvcnQgKiBmcm9tICcuL21ldGFkYXRhLXdpdGgtcmVhZG1vcmUvbWV0YWRhdGEtd2l0aC1yZWFkbW9yZSc7XG5leHBvcnQgKiBmcm9tICcuL3JlYWQtbW9yZS9yZWFkLW1vcmUnO1xuZXhwb3J0ICogZnJvbSAnLi9yZXNvdXJjZS1tb2RhbC9yZXNvdXJjZS1tb2RhbCc7XG5leHBvcnQgKiBmcm9tICcuL3NlYXJjaC1wYWdlLWRlc2NyaXB0aW9uL3NlYXJjaC1wYWdlLWRlc2NyaXB0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbWV0YWRhdGEtZHluYW1pYy9tZXRhZGF0YS1keW5hbWljJztcbiJdfQ==
10
+ export * from './input-typeahead/input-typeahead';
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uNy1ib2lsZXJwbGF0ZS1tdXJ1Y2Evc3JjL2xpYi9jb21wb25lbnRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLG1DQUFtQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hZHZhbmNlZC1yZXN1bHQvYWR2YW5jZWQtcmVzdWx0JztcbmV4cG9ydCAqIGZyb20gJy4vZm9ybS13cmFwcGVyLWFjY29yZGlvbi9mb3JtLXdyYXBwZXItYWNjb3JkaW9uJztcbmV4cG9ydCAqIGZyb20gJy4vZm9ybS9mb3JtJztcbmV4cG9ydCAqIGZyb20gJy4vZ2FsbGVyeS9nYWxsZXJ5JztcbmV4cG9ydCAqIGZyb20gJy4vbWV0YWRhdGEtd2l0aC1yZWFkbW9yZS9tZXRhZGF0YS13aXRoLXJlYWRtb3JlJztcbmV4cG9ydCAqIGZyb20gJy4vcmVhZC1tb3JlL3JlYWQtbW9yZSc7XG5leHBvcnQgKiBmcm9tICcuL3Jlc291cmNlLW1vZGFsL3Jlc291cmNlLW1vZGFsJztcbmV4cG9ydCAqIGZyb20gJy4vc2VhcmNoLXBhZ2UtZGVzY3JpcHRpb24vc2VhcmNoLXBhZ2UtZGVzY3JpcHRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9tZXRhZGF0YS1keW5hbWljL21ldGFkYXRhLWR5bmFtaWMnO1xuZXhwb3J0ICogZnJvbSAnLi9pbnB1dC10eXBlYWhlYWQvaW5wdXQtdHlwZWFoZWFkJztcbiJdfQ==
@@ -0,0 +1,143 @@
1
+ /**
2
+ * MrInputTypeaheadComponent
3
+ *
4
+ * A text input with an inline autocomplete dropdown. Supports two modes:
5
+ *
6
+ * 1. **Static (local) filtering** — provide a fixed list of strings via `data.options`.
7
+ * No API call is made; suggestions are filtered client-side on every keystroke.
8
+ *
9
+ * ```ts
10
+ * {
11
+ * id: 'my-field',
12
+ * type: 'typeahead',
13
+ * data: {
14
+ * id: 'my-field',
15
+ * label: 'My Field',
16
+ * options: ['Apple', 'Banana', 'Cherry'],
17
+ * }
18
+ * }
19
+ * ```
20
+ *
21
+ * 2. **Dynamic (API) autocomplete** — omit `data.options` and provide
22
+ * `data.communicationKey` instead. The component calls
23
+ * `CommunicationService.request$(communicationKey, { queryParams: { q } })`
24
+ * after a 200 ms debounce. The endpoint must return `string[]`.
25
+ *
26
+ * ```ts
27
+ * {
28
+ * id: 'my-field',
29
+ * type: 'typeahead',
30
+ * data: {
31
+ * id: 'my-field',
32
+ * label: 'My Field',
33
+ * communicationKey: 'myAutocompleteEndpoint',
34
+ * }
35
+ * }
36
+ * ```
37
+ *
38
+ * Suggestions appear after 2 characters are typed. Tab completes with the first
39
+ * suggestion. Clicking outside dismisses the dropdown.
40
+ */
41
+ import { Component, HostListener, Input } from '@angular/core';
42
+ import * as i0 from "@angular/core";
43
+ import * as i1 from "@net7/boilerplate-common";
44
+ import * as i2 from "@angular/common";
45
+ import * as i3 from "@net7/components";
46
+ export class MrInputTypeaheadComponent {
47
+ constructor(communication, el) {
48
+ this.communication = communication;
49
+ this.el = el;
50
+ this.suggestions = [];
51
+ this.isLoading = false;
52
+ this.currentQuery = '';
53
+ /** Wraps the form emit to intercept change events for autocomplete fetching */
54
+ this.localEmit = (type, payload) => {
55
+ this.emit(type, payload);
56
+ if (type === 'change') {
57
+ this.onValueChange(payload?.value || '');
58
+ }
59
+ };
60
+ }
61
+ /** Wraps the first occurrence of `query` in `text` with a <strong> tag */
62
+ highlight(text, query) {
63
+ if (!query)
64
+ return text;
65
+ const idx = text.toLowerCase().indexOf(query.toLowerCase());
66
+ if (idx === -1)
67
+ return text;
68
+ return (text.slice(0, idx) +
69
+ '<strong>' + text.slice(idx, idx + query.length) + '</strong>' +
70
+ text.slice(idx + query.length));
71
+ }
72
+ /** Completes with the first suggestion on Tab */
73
+ onKeydown(event) {
74
+ if (event.key === 'Tab' && this.suggestions.length > 0) {
75
+ event.preventDefault();
76
+ this.onSelect(this.suggestions[0]);
77
+ }
78
+ }
79
+ /** Selects a suggestion, updates the input and form state */
80
+ onSelect(suggestion, event) {
81
+ if (event)
82
+ event.preventDefault();
83
+ this.emit('change', { value: suggestion });
84
+ this.suggestions = [];
85
+ this.isLoading = false;
86
+ const input = this.el.nativeElement.querySelector('input');
87
+ if (input)
88
+ input.value = suggestion;
89
+ }
90
+ onDocumentClick(event) {
91
+ if (!this.el.nativeElement.contains(event.target)) {
92
+ this.suggestions = [];
93
+ this.isLoading = false;
94
+ }
95
+ }
96
+ ngOnDestroy() {
97
+ clearTimeout(this.timer);
98
+ }
99
+ onValueChange(value) {
100
+ clearTimeout(this.timer);
101
+ this.currentQuery = value;
102
+ if (!value || value.length < 2) {
103
+ this.suggestions = [];
104
+ this.isLoading = false;
105
+ return;
106
+ }
107
+ // Static options: filter locally, no API call needed
108
+ if (Array.isArray(this.data?.options)) {
109
+ const q = value.toLowerCase();
110
+ this.suggestions = this.data.options
111
+ .filter((o) => o.toLowerCase().includes(q))
112
+ .slice(0, 20);
113
+ return;
114
+ }
115
+ this.isLoading = true;
116
+ this.timer = setTimeout(() => {
117
+ this.communication.request$(this.data.communicationKey, {
118
+ queryParams: { q: value },
119
+ onError: () => {
120
+ this.isLoading = false;
121
+ this.suggestions = [];
122
+ }
123
+ }).subscribe((res) => {
124
+ this.isLoading = false;
125
+ this.suggestions = res || [];
126
+ });
127
+ }, 200);
128
+ }
129
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MrInputTypeaheadComponent, deps: [{ token: i1.CommunicationService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
130
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: MrInputTypeaheadComponent, selector: "mr-input-typeahead", inputs: { data: "data", emit: "emit" }, host: { listeners: { "document:click": "onDocumentClick($event)" } }, ngImport: i0, template: "<div class=\"mr-input-typeahead\" (keydown)=\"onKeydown($event)\">\n <n7-input-text\n [data]=\"data\"\n [emit]=\"localEmit\">\n </n7-input-text>\n <ul *ngIf=\"suggestions.length > 0\" class=\"mr-input-typeahead__dropdown\">\n <li *ngFor=\"let s of suggestions\"\n class=\"mr-input-typeahead__option\"\n (mousedown)=\"onSelect(s, $event)\">\n <span [innerHTML]=\"highlight(s, currentQuery)\"></span>\n </li>\n </ul>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.InputTextComponent, selector: "n7-input-text", inputs: ["data", "emit"] }] }); }
131
+ }
132
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MrInputTypeaheadComponent, decorators: [{
133
+ type: Component,
134
+ args: [{ selector: 'mr-input-typeahead', template: "<div class=\"mr-input-typeahead\" (keydown)=\"onKeydown($event)\">\n <n7-input-text\n [data]=\"data\"\n [emit]=\"localEmit\">\n </n7-input-text>\n <ul *ngIf=\"suggestions.length > 0\" class=\"mr-input-typeahead__dropdown\">\n <li *ngFor=\"let s of suggestions\"\n class=\"mr-input-typeahead__option\"\n (mousedown)=\"onSelect(s, $event)\">\n <span [innerHTML]=\"highlight(s, currentQuery)\"></span>\n </li>\n </ul>\n</div>\n" }]
135
+ }], ctorParameters: () => [{ type: i1.CommunicationService }, { type: i0.ElementRef }], propDecorators: { data: [{
136
+ type: Input
137
+ }], emit: [{
138
+ type: Input
139
+ }], onDocumentClick: [{
140
+ type: HostListener,
141
+ args: ['document:click', ['$event']]
142
+ }] } });
143
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdHlwZWFoZWFkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbjctYm9pbGVycGxhdGUtbXVydWNhL3NyYy9saWIvY29tcG9uZW50cy9pbnB1dC10eXBlYWhlYWQvaW5wdXQtdHlwZWFoZWFkLnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbjctYm9pbGVycGxhdGUtbXVydWNhL3NyYy9saWIvY29tcG9uZW50cy9pbnB1dC10eXBlYWhlYWQvaW5wdXQtdHlwZWFoZWFkLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVDRztBQUNILE9BQU8sRUFDTCxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFDM0MsTUFBTSxlQUFlLENBQUM7Ozs7O0FBT3ZCLE1BQU0sT0FBTyx5QkFBeUI7SUFhcEMsWUFDVSxhQUFtQyxFQUNuQyxFQUFjO1FBRGQsa0JBQWEsR0FBYixhQUFhLENBQXNCO1FBQ25DLE9BQUUsR0FBRixFQUFFLENBQVk7UUFWeEIsZ0JBQVcsR0FBYSxFQUFFLENBQUM7UUFFM0IsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUVsQixpQkFBWSxHQUFHLEVBQUUsQ0FBQztRQVNsQiwrRUFBK0U7UUFDL0UsY0FBUyxHQUFHLENBQUMsSUFBWSxFQUFFLE9BQWEsRUFBRSxFQUFFO1lBQzFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ3pCLElBQUksSUFBSSxLQUFLLFFBQVEsRUFBRSxDQUFDO2dCQUN0QixJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLENBQUM7WUFDM0MsQ0FBQztRQUNILENBQUMsQ0FBQztJQVJDLENBQUM7SUFVSiwwRUFBMEU7SUFDMUUsU0FBUyxDQUFDLElBQVksRUFBRSxLQUFhO1FBQ25DLElBQUks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QUMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNoQixPQUFPO1FBQ1QsQ0FBQztRQUNELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxLQUFLLEdBQUcsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUMzQixJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFO2dCQUN0RCxXQUFXLEVBQUUsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFO2dCQUN6QixPQUFPLEVBQUUsR0FBRyxFQUFFO29CQUNaLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO29CQUN2QixJQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztnQkFDeEIsQ0FBQzthQUNGLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFhLEVBQUUsRUFBRTtnQkFDN0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7Z0JBQ3ZCLElBQUksQ0FBQyxXQUFXLEdBQUcsR0FBRyxJQUFJLEVBQUUsQ0FBQztZQUMvQixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNWLENBQUM7K0dBakdVLHlCQUF5QjttR0FBekIseUJBQXlCLHdLQ2pEdEMsbWZBYUE7OzRGRG9DYSx5QkFBeUI7a0JBSnJDLFNBQVM7K0JBQ0Usb0JBQW9CO2tIQUlyQixJQUFJO3NCQUFaLEtBQUs7Z0JBRUcsSUFBSTtzQkFBWixLQUFLO2dCQXNETixlQUFlO3NCQURkLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIE1ySW5wdXRUeXBlYWhlYWRDb21wb25lbnRcbiAqXG4gKiBBIHRleHQgaW5wdXQgd2l0aCBhbiBpbmxpbmUgYXV0b2NvbXBsZXRlIGRyb3Bkb3duLiBTdXBwb3J0cyB0d28gbW9kZXM6XG4gKlxuICogMS4gKipTdGF0aWMgKGxvY2FsKSBmaWx0ZXJpbmcqKiDigJQgcHJvdmlkZSBhIGZpeGVkIGxpc3Qgb2Ygc3RyaW5ncyB2aWEgYGRhdGEub3B0aW9uc2AuXG4gKiAgICBObyBBUEkgY2FsbCBpcyBtYWRlOyBzdWdnZXN0aW9ucyBhcmUgZmlsdGVyZWQgY2xpZW50LXNpZGUgb24gZXZlcnkga2V5c3Ryb2tlLlxuICpcbiAqICAgIGBgYHRzXG4gKiAgICB7XG4gKiAgICAgIGlkOiAnbXktZmllbGQnLFxuICogICAgICB0eXBlOiAndHlwZWFoZWFkJyxcbiAqICAgICAgZGF0YToge1xuICogICAgICAgIGlkOiAnbXktZmllbGQnLFxuICogICAgICAgIGxhYmVsOiAnTXkgRmllbGQnLFxuICogICAgICAgIG9wdGlvbnM6IFsnQXBwbGUnLCAnQmFuYW5hJywgJ0NoZXJyeSddLFxuICogICAgICB9XG4gKiAgICB9XG4gKiAgICBgYGBcbiAqXG4gKiAyLiAqKkR5bmFtaWMgKEFQSSkgYXV0b2NvbXBsZXRlKiog4oCUIG9taXQgYGRhdGEub3B0aW9uc2AgYW5kIHByb3ZpZGVcbiAqICAgIGBkYXRhLmNvbW11bmljYXRpb25LZXlgIGluc3RlYWQuIFRoZSBjb21wb25lbnQgY2FsbHNcbiAqICAgIGBDb21tdW5pY2F0aW9uU2VydmljZS5yZXF1ZXN0JChjb21tdW5pY2F0aW9uS2V5LCB7IHF1ZXJ5UGFyYW1zOiB7IHEgfSB9KWBcbiAqICAgIGFmdGVyIGEgMjAwIG1zIGRlYm91bmNlLiBUaGUgZW5kcG9pbnQgbXVzdCByZXR1cm4gYHN0cmluZ1tdYC5cbiAqXG4gKiAgICBgYGB0c1xuICogICAge1xuICogICAgICBpZDogJ215LWZpZWxkJyxcbiAqICAgICAgdHlwZTogJ3R5cGVhaGVhZCcsXG4gKiAgICAgIGRhdGE6IHtcbiAqICAgICAgICBpZDogJ215LWZpZWxkJyxcbiAqICAgICAgICBsYWJlbDogJ015IEZpZWxkJyxcbiAqICAgICAgICBjb21tdW5pY2F0aW9uS2V5OiAnbXlBdXRvY29tcGxldGVFbmRwb2ludCcsXG4gKiAgICAgIH1cbiAqICAgIH1cbiAqICAgIGBgYFxuICpcbiAqIFN1Z2dlc3Rpb25zIGFwcGVhciBhZnRlciAyIGNoYXJhY3RlcnMgYXJlIHR5cGVkLiBUYWIgY29tcGxldGVzIHdpdGggdGhlIGZpcnN0XG4gKiBzdWdnZXN0aW9uLiBDbGlja2luZyBvdXRzaWRlIGRpc21pc3NlcyB0aGUgZHJvcGRvd24uXG4gKi9cbmltcG9ydCB7XG4gIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25EZXN0cm95XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbXVuaWNhdGlvblNlcnZpY2UgfSBmcm9tICdAbmV0Ny9ib2lsZXJwbGF0ZS1jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtci1pbnB1dC10eXBlYWhlYWQnLFxuICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtdHlwZWFoZWFkLmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBNcklucHV0VHlwZWFoZWFkQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgQElucHV0KCkgZGF0YTogYW55O1xuXG4gIEBJbnB1dCgpIGVtaXQ6ICh0eXBlOiBzdHJpbmcsIHBheWxvYWQ/OiBhbnkpID0+IHZvaWQ7XG5cbiAgc3VnZ2VzdGlvbnM6IHN0cmluZ1tdID0gW107XG5cbiAgaXNMb2FkaW5nID0gZmFsc2U7XG5cbiAgY3VycmVudFF1ZXJ5ID0gJyc7XG5cbiAgcHJpdmF0ZSB0aW1lcjogYW55O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY29tbXVuaWNhdGlvbjogQ29tbXVuaWNhdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZixcbiAgKSB7fVxuXG4gIC8qKiBXcmFwcyB0aGUgZm9ybSBlbWl0IHRvIGludGVyY2VwdCBjaGFuZ2UgZXZlbnRzIGZvciBhdXRvY29tcGxldGUgZmV0Y2hpbmcgKi9cbiAgbG9jYWxFbWl0ID0gKHR5cGU6IHN0cmluZywgcGF5bG9hZD86IGFueSkgPT4ge1xuICAgIHRoaXMuZW1pdCh0eXBlLCBwYXlsb2FkKTtcbiAgICBpZiAodHlwZSA9PT0gJ2NoYW5nZScpIHtcbiAgICAgIHRoaXMub25WYWx1ZUNoYW5nZShwYXlsb2FkPy52YWx1ZSB8fCAnJyk7XG4gICAgfVxuICB9O1xuXG4gIC8qKiBXcmFwcyB0aGUgZmlyc3Qgb2NjdXJyZW5jZSBvZiBgcXVlcnlgIGluIGB0ZXh0YCB3aXRoIGEgPHN0cm9uZz4gdGFnICovXG4gIGhpZ2hsaWdodCh0ZXh0OiBzdHJpbmcsIHF1ZXJ5OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmICghcXVlcnkpIHJldHVybiB0ZXh0O1xuICAgIGNvbnN0IGlkeCA9IHRleHQudG9Mb3dlckNhc2UoKS5pbmRleE9mKHF1ZXJ5LnRvTG93ZXJDYXNlKCkpO1xuICAgIGlmIChpZHggPT09IC0xKSByZXR1cm4gdGV4dDtcbiAgICByZXR1cm4gKFxuICAgICAgdGV4dC5zbGljZSgwLCBpZHgpICtcbiAgICAgICc8c3Ryb25nPicgKyB0ZXh0LnNsaWNlKGlkeCwgaWR4ICsgcXVlcnkubGVuZ3RoKSArICc8L3N0cm9uZz4nICtcbiAgICAgIHRleHQuc2xpY2UoaWR4ICsgcXVlcnkubGVuZ3RoKVxuICAgICk7XG4gIH1cblxuICAvKiogQ29tcGxldGVzIHdpdGggdGhlIGZpcnN0IHN1Z2dlc3Rpb24gb24gVGFiICovXG4gIG9uS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGlmIChldmVudC5rZXkgPT09ICdUYWInICYmIHRoaXMuc3VnZ2VzdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHRoaXMub25TZWxlY3QodGhpcy5zdWdnZXN0aW9uc1swXSk7XG4gICAgfVxuICB9XG5cbiAgLyoqIFNlbGVjdHMgYSBzdWdnZXN0aW9uLCB1cGRhdGVzIHRoZSBpbnB1dCBhbmQgZm9ybSBzdGF0ZSAqL1xuICBvblNlbGVjdChzdWdnZXN0aW9uOiBzdHJpbmcsIGV2ZW50PzogTW91c2VFdmVudCkge1xuICAgIGlmIChldmVudCkgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB0aGlzLmVtaXQoJ2NoYW5nZScsIHsgdmFsdWU6IHN1Z2dlc3Rpb24gfSk7XG4gICAgdGhpcy5zdWdnZXN0aW9ucyA9IFtdO1xuICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgY29uc3QgaW5wdXQ6IEhUTUxJbnB1dEVsZW1lbnQgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignaW5wdXQnKTtcbiAgICBpZiAoaW5wdXQpIGlucHV0LnZhbHVlID0gc3VnZ2VzdGlvbjtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJywgWyckZXZlbnQnXSlcbiAgb25Eb2N1bWVudENsaWNrKGV2ZW50OiBFdmVudCkge1xuICAgIGlmICghdGhpcy5lbC5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCkpIHtcbiAgICAgIHRoaXMuc3VnZ2VzdGlvbnMgPSBbXTtcbiAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgY2xlYXJUaW1lb3V0KHRoaXMudGltZXIpO1xuICB9XG5cbiAgcHJpdmF0ZSBvblZhbHVlQ2hhbmdlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICBjbGVhclRpbWVvdXQodGhpcy50aW1lcik7XG4gICAgdGhpcy5jdXJyZW50UXVlcnkgPSB2YWx1ZTtcbiAgICBpZiAoIXZhbHVlIHx8IHZhbHVlLmxlbmd0aCA8IDIpIHtcbiAgICAgIHRoaXMuc3VnZ2VzdGlvbnMgPSBbXTtcbiAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIC8vIFN0YXRpYyBvcHRpb25zOiBmaWx0ZXIgbG9jYWxseSwgbm8gQVBJIGNhbGwgbmVlZGVkXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5kYXRhPy5vcHRpb25zKSkge1xuICAgICAgY29uc3QgcSA9IHZhbHVlLnRvTG93ZXJDYXNlKCk7XG4gICAgICB0aGlzLnN1Z2dlc3Rpb25zID0gKHRoaXMuZGF0YS5vcHRpb25zIGFzIHN0cmluZ1tdKVxuICAgICAgICAuZmlsdGVyKChvKSA9PiBvLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMocSkpXG4gICAgICAgIC5zbGljZSgwLCAyMCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLnRpbWVyID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmNvbW11bmljYXRpb24ucmVxdWVzdCQodGhpcy5kYXRhLmNvbW11bmljYXRpb25LZXksIHtcbiAgICAgICAgcXVlcnlQYXJhbXM6IHsgcTogdmFsdWUgfSxcbiAgICAgICAgb25FcnJvcjogKCkgPT4ge1xuICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5zdWdnZXN0aW9ucyA9IFtdO1xuICAgICAgICB9XG4gICAgICB9KS5zdWJzY3JpYmUoKHJlczogc3RyaW5nW10pID0+IHtcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5zdWdnZXN0aW9ucyA9IHJlcyB8fCBbXTtcbiAgICAgIH0pO1xuICAgIH0sIDIwMCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJtci1pbnB1dC10eXBlYWhlYWRcIiAoa2V5ZG93bik9XCJvbktleWRvd24oJGV2ZW50KVwiPlxuICAgIDxuNy1pbnB1dC10ZXh0XG4gICAgICAgIFtkYXRhXT1cImRhdGFcIlxuICAgICAgICBbZW1pdF09XCJsb2NhbEVtaXRcIj5cbiAgICA8L243LWlucHV0LXRleHQ+XG4gICAgPHVsICpuZ0lmPVwic3VnZ2VzdGlvbnMubGVuZ3RoID4gMFwiIGNsYXNzPVwibXItaW5wdXQtdHlwZWFoZWFkX19kcm9wZG93blwiPlxuICAgICAgICA8bGkgKm5nRm9yPVwibGV0IHMgb2Ygc3VnZ2VzdGlvbnNcIlxuICAgICAgICAgICAgY2xhc3M9XCJtci1pbnB1dC10eXBlYWhlYWRfX29wdGlvblwiXG4gICAgICAgICAgICAobW91c2Vkb3duKT1cIm9uU2VsZWN0KHMsICRldmVudClcIj5cbiAgICAgICAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwiaGlnaGxpZ2h0KHMsIGN1cnJlbnRRdWVyeSlcIj48L3NwYW4+XG4gICAgICAgIDwvbGk+XG4gICAgPC91bD5cbjwvZGl2PlxuIl19
@@ -0,0 +1,43 @@
1
+ import { DataSource, _t } from '@net7/core';
2
+ export class MrInputTypeaheadDS extends DataSource {
3
+ constructor() {
4
+ super(...arguments);
5
+ this.state = {
6
+ value: null,
7
+ disabled: false,
8
+ hidden: false,
9
+ };
10
+ this.getState = () => this.state;
11
+ }
12
+ transform(data) {
13
+ return {
14
+ ...data,
15
+ placeholder: _t(data.placeholder)
16
+ };
17
+ }
18
+ setState(newState) {
19
+ this.state = {
20
+ ...this.state,
21
+ ...newState
22
+ };
23
+ this.refresh();
24
+ }
25
+ clear() {
26
+ this.setState({ value: null });
27
+ }
28
+ refresh() {
29
+ const { value, hidden, disabled } = this.state;
30
+ // render value
31
+ this.output.value = value;
32
+ // fix element update (same DOM hack as MrInputTextDS)
33
+ const el = document.getElementById(this.id);
34
+ if (el) {
35
+ el.value = value;
36
+ }
37
+ // render disabled
38
+ this.output.disabled = disabled;
39
+ // render hidden
40
+ this.output.classes = hidden ? 'is-hidden' : '';
41
+ }
42
+ }
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdHlwZWFoZWFkLmRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbjctYm9pbGVycGxhdGUtbXVydWNhL3NyYy9saWIvZGF0YS1zb3VyY2VzL2Zvcm0vaW5wdXQtdHlwZWFoZWFkLmRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBSzVDLE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxVQUFVO0lBQWxEOztRQUdTLFVBQUssR0FBNEM7WUFDdEQsS0FBSyxFQUFFLElBQUk7WUFDWCxRQUFRLEVBQUUsS0FBSztZQUNmLE1BQU0sRUFBRSxLQUFLO1NBQ2QsQ0FBQztRQVNGLGFBQVEsR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBK0I5QixDQUFDO0lBdENXLFNBQVMsQ0FBQyxJQUFTO1FBQzNCLE9BQU87WUFDTCxHQUFHLElBQUk7WUFDUCxXQUFXLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7U0FDbEMsQ0FBQztJQUNKLENBQUM7SUFJRCxRQUFRLENBQUMsUUFBaUQ7UUFDeEQsSUFBSSxDQUFDLEtBQUssR0FBRztZQUNYLEdBQUcsSUFBSSxDQUFDLEtBQUs7WUFDYixHQUFHLFFBQVE7U0FDWixDQUFDO1FBQ0YsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxPQUFPO1FBQ0wsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUUvQyxlQUFlO1FBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQzFCLHNEQUFzRDtRQUN0RCxNQUFNLEVBQUUsR0FBRyxRQUFRLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQXFCLENBQUM7UUFDaEUsSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUNQLEVBQUUsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLENBQUM7UUFFRCxrQkFBa0I7UUFDbEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBRWhDLGdCQUFnQjtRQUNoQixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ2xELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGFTb3VyY2UsIF90IH0gZnJvbSAnQG5ldDcvY29yZSc7XG5pbXBvcnQgeyBNckZvcm1JbnB1dFN0YXRlLCBNcklucHV0RGF0YVNvdXJjZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvZm9ybS5pbnRlcmZhY2UnO1xuXG5leHBvcnQgdHlwZSBNcklucHV0VHlwZWFoZWFkVmFsdWUgPSBzdHJpbmcgfCBudWxsO1xuXG5leHBvcnQgY2xhc3MgTXJJbnB1dFR5cGVhaGVhZERTIGV4dGVuZHMgRGF0YVNvdXJjZSBpbXBsZW1lbnRzIE1ySW5wdXREYXRhU291cmNlPE1ySW5wdXRUeXBlYWhlYWRWYWx1ZT4ge1xuICBwdWJsaWMgaWQ6IHN0cmluZztcblxuICBwdWJsaWMgc3RhdGU6IE1yRm9ybUlucHV0U3RhdGU8TXJJbnB1dFR5cGVhaGVhZFZhbHVlPiA9IHtcbiAgICB2YWx1ZTogbnVsbCxcbiAgICBkaXNhYmxlZDogZmFsc2UsXG4gICAgaGlkZGVuOiBmYWxzZSxcbiAgfTtcblxuICBwcm90ZWN0ZWQgdHJhbnNmb3JtKGRhdGE6IGFueSk6IGFueSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmRhdGEsXG4gICAgICBwbGFjZWhvbGRlcjogX3QoZGF0YS5wbGFjZWhvbGRlcilcbiAgICB9O1xuICB9XG5cbiAgZ2V0U3RhdGUgPSAoKSA9PiB0aGlzLnN0YXRlO1xuXG4gIHNldFN0YXRlKG5ld1N0YXRlOiBNckZvcm1JbnB1dFN0YXRlPE1ySW5wdXRUeXBlYWhlYWRWYWx1ZT4pIHtcbiAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgLi4udGhpcy5zdGF0ZSxcbiAgICAgIC4uLm5ld1N0YXRlXG4gICAgfTtcbiAgICB0aGlzLnJlZnJlc2goKTtcbiAgfVxuXG4gIGNsZWFyKCkge1xuICAgIHRoaXMuc2V0U3RhdGUoeyB2YWx1ZTogbnVsbCB9KTtcbiAgfVxuXG4gIHJlZnJlc2goKSB7XG4gICAgY29uc3QgeyB2YWx1ZSwgaGlkZGVuLCBkaXNhYmxlZCB9ID0gdGhpcy5zdGF0ZTtcblxuICAgIC8vIHJlbmRlciB2YWx1ZVxuICAgIHRoaXMub3V0cHV0LnZhbHVlID0gdmFsdWU7XG4gICAgLy8gZml4IGVsZW1lbnQgdXBkYXRlIChzYW1lIERPTSBoYWNrIGFzIE1ySW5wdXRUZXh0RFMpXG4gICAgY29uc3QgZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLmlkKSBhcyBIVE1MSW5wdXRFbGVtZW50O1xuICAgIGlmIChlbCkge1xuICAgICAgZWwudmFsdWUgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICAvLyByZW5kZXIgZGlzYWJsZWRcbiAgICB0aGlzLm91dHB1dC5kaXNhYmxlZCA9IGRpc2FibGVkO1xuXG4gICAgLy8gcmVuZGVyIGhpZGRlblxuICAgIHRoaXMub3V0cHV0LmNsYXNzZXMgPSBoaWRkZW4gPyAnaXMtaGlkZGVuJyA6ICcnO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,23 @@
1
+ import { EventHandler } from '@net7/core';
2
+ export class MrInputTypeaheadEH extends EventHandler {
3
+ listen() {
4
+ this.innerEvents$.subscribe(({ type, payload }) => {
5
+ switch (type) {
6
+ case `${this.dataSource.id}.change`: {
7
+ const { value } = payload;
8
+ // set new value
9
+ this.dataSource.setState({ value });
10
+ // emit changed signal
11
+ this.changed$.next({
12
+ id: this.dataSource.id,
13
+ state: this.dataSource.getState()
14
+ });
15
+ break;
16
+ }
17
+ default:
18
+ break;
19
+ }
20
+ });
21
+ }
22
+ }
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdHlwZWFoZWFkLmVoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbjctYm9pbGVycGxhdGUtbXVydWNhL3NyYy9saWIvZXZlbnQtaGFuZGxlcnMvZm9ybS9pbnB1dC10eXBlYWhlYWQuZWgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFlBQVksQ0FBQztBQUsxQyxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsWUFBWTtJQUszQyxNQUFNO1FBQ1gsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFO1lBQ2hELFFBQVEsSUFBSSxFQUFFLENBQUM7Z0JBQ2IsS0FBSyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDO29CQUNwQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsT0FBTyxDQUFDO29CQUMxQixnQkFBZ0I7b0JBQ2hCLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztvQkFDcEMsc0JBQXNCO29CQUN0QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQzt3QkFDakIsRUFBRSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRTt3QkFDdEIsS0FBSyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFO3FCQUNsQyxDQUFDLENBQUM7b0JBQ0gsTUFBTTtnQkFDUixDQUFDO2dCQUNEO29CQUNFLE1BQU07WUFDVixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudEhhbmRsZXIgfSBmcm9tICdAbmV0Ny9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE1ySW5wdXRUeXBlYWhlYWREUyB9IGZyb20gJy4uLy4uL2RhdGEtc291cmNlcy9mb3JtL2lucHV0LXR5cGVhaGVhZC5kcyc7XG5pbXBvcnQgeyBNcklucHV0RXZlbnRIYW5kbGVyLCBNckNoYW5nZWRQYXJhbXMgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2Zvcm0uaW50ZXJmYWNlJztcblxuZXhwb3J0IGNsYXNzIE1ySW5wdXRUeXBlYWhlYWRFSCBleHRlbmRzIEV2ZW50SGFuZGxlciBpbXBsZW1lbnRzIE1ySW5wdXRFdmVudEhhbmRsZXIge1xuICBwdWJsaWMgY2hhbmdlZCQ6IFN1YmplY3Q8TXJDaGFuZ2VkUGFyYW1zPjtcblxuICBwdWJsaWMgZGF0YVNvdXJjZTogTXJJbnB1dFR5cGVhaGVhZERTO1xuXG4gIHB1YmxpYyBsaXN0ZW4oKSB7XG4gICAgdGhpcy5pbm5lckV2ZW50cyQuc3Vic2NyaWJlKCh7IHR5cGUsIHBheWxvYWQgfSkgPT4ge1xuICAgICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICAgIGNhc2UgYCR7dGhpcy5kYXRhU291cmNlLmlkfS5jaGFuZ2VgOiB7XG4gICAgICAgICAgY29uc3QgeyB2YWx1ZSB9ID0gcGF5bG9hZDtcbiAgICAgICAgICAvLyBzZXQgbmV3IHZhbHVlXG4gICAgICAgICAgdGhpcy5kYXRhU291cmNlLnNldFN0YXRlKHsgdmFsdWUgfSk7XG4gICAgICAgICAgLy8gZW1pdCBjaGFuZ2VkIHNpZ25hbFxuICAgICAgICAgIHRoaXMuY2hhbmdlZCQubmV4dCh7XG4gICAgICAgICAgICBpZDogdGhpcy5kYXRhU291cmNlLmlkLFxuICAgICAgICAgICAgc3RhdGU6IHRoaXMuZGF0YVNvdXJjZS5nZXRTdGF0ZSgpXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -123,8 +123,8 @@ export class MrAdvancedSearchLayoutDS extends LayoutDataSource {
123
123
  if (input.data.legend) {
124
124
  input.data.legend = _t(input.data.legend);
125
125
  }
126
- // input text
127
- if (input.type === 'text') {
126
+ // input text / typeahead
127
+ if (input.type === 'text' || input.type === 'typeahead') {
128
128
  if (input.data.placeholder) {
129
129
  input.data.placeholder = _t(input.data.placeholder);
130
130
  }
@@ -142,7 +142,7 @@ export class MrAdvancedSearchLayoutDS extends LayoutDataSource {
142
142
  });
143
143
  }
144
144
  // info tooltip
145
- if (input.info && input.data.label && ['text', 'select'].includes(input.type)) {
145
+ if (input.info && input.data.label && ['text', 'select', 'typeahead'].includes(input.type)) {
146
146
  const inputData = input.data;
147
147
  if (/n7-icon/.test(input.data.label))
148
148
  return;
@@ -164,4 +164,4 @@ export class MrAdvancedSearchLayoutDS extends LayoutDataSource {
164
164
  });
165
165
  }
166
166
  }
167
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2YW5jZWQtc2VhcmNoLWxheW91dC5kcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL243LWJvaWxlcnBsYXRlLW11cnVjYS9zcmMvbGliL2xheW91dHMvYWR2YW5jZWQtc2VhcmNoLWxheW91dC9hZHZhbmNlZC1zZWFyY2gtbGF5b3V0LmRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxFQUFFLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDbEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFHNUMsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBR3RELE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxnQkFBZ0I7SUFBOUQ7O1FBYVksaUJBQVksR0FBRyxFQUFFLENBQUM7UUFvRmxCLHlCQUFvQixHQUFHLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDNUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7WUFDdkMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDcEMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUU7b0JBQ3pDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTt3QkFDdkIsSUFBSSxLQUFLLENBQUMsRUFBRSxLQUFLLEdBQUcsRUFBRSxDQUFDOzRCQUNyQixLQUFLLENBQUMsSUFBSSxHQUFHO2dDQUNYLEdBQUcsS0FBSyxDQUFDLElBQUk7Z0NBQ2Is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QUFTLEdBQUcsS0FBSyxDQUFDLElBQXlCLENBQUM7b0JBQ2xELElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQzt3QkFBRSxPQUFPO29CQUM3QyxLQUFLLENBQUMsSUFBMEIsQ0FBQyxNQUFNLEdBQUc7d0JBQ3pDLFNBQVMsU0FBUyxDQUFDLE1BQU0sU0FBUzt3QkFDbEMsZ0VBQWdFLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFdBQVc7cUJBQzFGLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUNiLENBQUM7WUFDSCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0YSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IExheW91dERhdGFTb3VyY2UsIF90IH0gZnJvbSAnQG5ldDcvY29yZSc7XG5pbXBvcnQgeyBjbG9uZURlZXAsIGlzRW1wdHkgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgQ29tbXVuaWNhdGlvblNlcnZpY2UsIENvbmZpZ3VyYXRpb25TZXJ2aWNlLCBNYWluU3RhdGVTZXJ2aWNlIH0gZnJvbSAnQG5ldDcvYm9pbGVycGxhdGUtY29tbW9uJztcbmltcG9ydCB7IElucHV0Q2hlY2tib3hEYXRhLCBJbnB1dFNlbGVjdERhdGEsIElucHV0VGV4dERhdGEgfSBmcm9tICdAbmV0Ny9jb21wb25lbnRzJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBNckZvcm1Nb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9mb3JtLm1vZGVsJztcbmltcG9ydCB7IE1yTG9jYWxlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2xvY2FsZS5zZXJ2aWNlJztcblxuZXhwb3J0IGNsYXNzIE1yQWR2YW5jZWRTZWFyY2hMYXlvdXREUyBleHRlbmRzIExheW91dERhdGFTb3VyY2Uge1xuICBwcm90ZWN0ZWQgcm91dGVyOiBSb3V0ZXI7XG5cbiAgcHJvdGVjdGVkIGNvbmZpZ3VyYXRpb246IENvbmZpZ3VyYXRpb25TZXJ2aWNlO1xuXG4gIHByb3RlY3RlZCBjb21tdW5pY2F0aW9uOiBDb21tdW5pY2F0aW9uU2VydmljZTtcblxuICBwcm90ZWN0ZWQgbWFpblN0YXRlOiBNYWluU3RhdGVTZXJ2aWNlO1xuXG4gIHByb3RlY3RlZCBsb2NhbGVTZXJ2aWNlOiBNckxvY2FsZVNlcnZpY2U7XG5cbiAgcHJvdGVjdGVkIHJvdXRlRGF0YTogRGF0YTtcblxuICBwcm90ZWN0ZWQgaW5pdGlhbFN0YXRlID0ge307XG5cbiAgcHVibGljIHBhZ2VDb25maWc7XG5cbiAgcHVibGljIGZvcm06IE1yRm9ybU1vZGVsO1xuXG4gIG9uSW5pdChwYXlsb2FkKSB7XG4gICAgdGhpcy5yb3V0ZXIgPSBwYXlsb2FkLnJvdXRlcjtcbiAgICB0aGlzLmNvbmZpZ3VyYXRpb24gPSBwYXlsb2FkLmNvbmZpZ3VyYXRpb247XG4gICAgdGhpcy5jb21tdW5pY2F0aW9uID0gcGF5bG9hZC5jb21tdW5pY2F0aW9uO1xuICAgIHRoaXMubWFpblN0YXRlID0gcGF5bG9hZC5tYWluU3RhdGU7XG4gICAgdGhpcy5yb3V0ZURhdGEgPSBwYXlsb2FkLnJvdXRlRGF0YTtcbiAgICB0aGlzLmxvY2FsZVNlcnZpY2UgPSBwYXlsb2FkLmxvY2FsZVNlcnZpY2U7XG4gICAgdGhpcy5wYWdlQ29uZmlnID0gdGhpcy5jb25maWd1cmF0aW9uLmdldCh0aGlzLnJvdXRlRGF0YS5jb25maWdJZCk7XG5cbiAgICAvLyBhZGQgdHJhbnNsYXRpb25zXG4gICAgdGhpcy5hZGRUcmFuc2xhdGlvbnModGhpcy5wYWdlQ29uZmlnKTtcblxuICAgIGxldCBvcHRpb25zUmVxJDogT2JzZXJ2YWJsZTx1bmtub3duPiA9IG9mKHRydWUpO1xuICAgIGlmICh0aGlzLnBhZ2VDb25maWcuaGFzRHluYW1pY09wdGlvbnMpIHtcbiAgICAgIGNvbnN0IGR5bmFtaWNSZXEkID0gdGhpcy5jb21tdW5pY2F0aW9uLnJlcXVlc3QkKCdhZHZhbmNlZFNlYXJjaE9wdGlvbnMnLCB7XG4gICAgICAgIG9uRXJyb3I6IChlcnIpID0+IHtcbiAgICAgICAgICBjb25zb2xlLndhcm4oJ1JlcXVlc3QgZXJyb3InLCBlcnIpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIG9wdGlvbnNSZXEkID0gZHluYW1pY1JlcSQucGlwZShcbiAgICAgICAgdGFwKHRoaXMuaGFuZGxlT3B0aW9uc1JlcXVlc3QpXG4gICAgICApO1xuICAgIH1cblxuICAgIG9wdGlvbnNSZXEkLnN1YnNjcmliZSh7XG4gICAgICBjb21wbGV0ZTogKCkgPT4ge1xuICAgICAgICAvLyBpbml0IGZvcm1cbiAgICAgICAgdGhpcy5mb3JtID0gbmV3IE1yRm9ybU1vZGVsKCk7XG4gICAgICAgIC8vIGZvcm0gaW5pdFxuICAgICAgICB0aGlzLmZvcm0uaW5pdCh0aGlzLnBhZ2VDb25maWcuZm9ybUNvbmZpZyk7XG4gICAgICAgIC8vIHNldCBpbml0aWFsIHN0YXRlXG4gICAgICAgIHRoaXMuaW5pdGlhbFN0YXRlID0gY2xvbmVEZWVwKHRoaXMuZm9ybS5nZXRTdGF0ZSgpKTtcblxuICAgICAgICB0aGlzLm9uZSgnbXItZm9ybS13cmFwcGVyLWFjY29yZGlvbicpLnVwZGF0ZSh7XG4gICAgICAgICAgZm9ybTogdGhpcy5mb3JtXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgLy8gdXBkYXRlIGhlYWQgdGl0bGVcbiAgICB0aGlzLnVwZGF0ZUhlYWRUaXRsZSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHVwZGF0ZUhlYWRUaXRsZSgpIHtcbiAgICBjb25zdCBhcHBOYW1lID0gdGhpcy5jb25maWd1cmF0aW9uLmdldCgnbmFtZScpO1xuICAgIGNvbnN0IHBhZ2VUaXRsZSA9IHRoaXMucGFnZUNvbmZpZy50aXRsZTtcbiAgICB0aGlzLm1haW5TdGF0ZS51cGRhdGUoJ2hlYWRUaXRsZScsIFthcHBOYW1lLCBfdChwYWdlVGl0bGUpXS5qb2luKCcgPiAnKSk7XG4gIH1cblxuICBvblN1Ym1pdCh7IHN0YXRlIH0pIHtcbiAgICBpZiAoIWlzRW1wdHkoc3RhdGUpKSB7XG4gICAgICBjb25zdCB7IHJlc3VsdHNVcmwgfSA9IHRoaXMucGFnZUNvbmZpZztcbiAgICAgIGxldCBiYXNlVXJsID0gcmVzdWx0c1VybDtcbiAgICAgIGlmICh0eXBlb2YgcmVzdWx0c1VybCAhPT0gJ3N0cmluZycpIHtcbiAgICAgICAgY29uc3QgbG9jYWxlID0gdGhpcy5sb2NhbGVTZXJ2aWNlLmdldExvY2FsZSgpO1xuICAgICAgICBiYXNlVXJsID0gcmVzdWx0c1VybFtsb2NhbGVdO1xuICAgICAgfVxuICAgICAgY29uc3QgcGFyYW1zID0gT2JqZWN0LmtleXMoc3RhdGUpXG4gICAgICAgIC5maWx0ZXIoKGtleSkgPT4gIShzdGF0ZVtrZXldLmRpc2FibGVkIHx8IGlzRW1wdHkoc3RhdGVba2V5XS52YWx1ZSkpKVxuICAgICAgICAubWFwKChrZXkpID0+ICh7XG4gICAgICAgICAga2V5LFxuICAgICAgICAgIHZhbHVlOiBBcnJheS5pc0FycmF5KHN0YXRlW2tleV0udmFsdWUpXG4gICAgICAgICAgICA/IHN0YXRlW2tleV0udmFsdWUuam9pbignLCcpXG4gICAgICAgICAgICA6IHN0YXRlW2tleV0udmFsdWVcbiAgICAgICAgfSkpXG4gICAgICAgIC5tYXAoKHsga2V5LCB2YWx1ZSB9KSA9PiBgJHtrZXl9PSR7ZW5jb2RlVVJJQ29tcG9uZW50KHZhbHVlKX1gKTtcbiAgICAgIGNvbnN0IHVybCA9IGAke2Jhc2VVcmx9PyR7cGFyYW1zLmpvaW4oJyYnKX1gO1xuICAgICAgd2luZG93Lm9wZW4odXJsLCAnX2JsYW5rJyk7XG4gICAgfVxuICB9XG5cbiAgb25SZXNldCgpIHtcbiAgICBPYmplY3Qua2V5cyh0aGlzLmluaXRpYWxTdGF0ZSkuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICBjb25zdCBpbnB1dFN0YXRlID0gY2xvbmVEZWVwKHRoaXMuaW5pdGlhbFN0YXRlW2tleV0pO1xuICAgICAgdGhpcy5mb3JtLmdldElucHV0KGtleSkuc2V0U3RhdGUoaW5wdXRTdGF0ZSk7XG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlT3B0aW9uc1JlcXVlc3QgPSAocmVzcG9uc2UpID0+IHtcbiAgICBjb25zdCB7IGZvcm1Db25maWcgfSA9IHRoaXMucGFnZUNvbmZpZztcbiAgICBPYmplY3Qua2V5cyhyZXNwb25zZSkuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICBmb3JtQ29uZmlnLnNlY3Rpb25zLmZvckVhY2goKHsgaW5wdXRzIH0pID0+IHtcbiAgICAgICAgaW5wdXRzLmZvckVhY2goKGlucHV0KSA9PiB7XG4gICAgICAgICAgaWYgKGlucHV0LmlkID09PSBrZXkpIHtcbiAgICAgICAgICAgIGlucHV0LmRhdGEgPSB7XG4gICAgICAgICAgICAgIC4uLmlucHV0LmRhdGEsXG4gICAgICAgICAgICAgIC4uLnJlc3BvbnNlW2tleV1cbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9O1xuXG4gIHByb3RlY3RlZCBhZGRUcmFuc2xhdGlvbnMocGFnZUNvbmZpZykge1xuICAgIGNvbnN0IHsgZm9ybUNvbmZpZyB9ID0gcGFnZUNvbmZpZztcbiAgICAvLyBwYWdlIHRpdGxlXG4gICAgcGFnZUNvbmZpZy50aXRsZSA9IF90KHBhZ2VDb25maWcudGl0bGUpO1xuICAgIC8vIHN1Ym1pdFxuICAgIGlmIChmb3JtQ29uZmlnLnN1Ym1pdEJ1dHRvbikge1xuICAgICAgZm9ybUNvbmZpZy5zdWJtaXRCdXR0b24ubGFiZWwgPSBfdChmb3JtQ29uZmlnLnN1Ym1pdEJ1dHRvbi5sYWJlbCk7XG4gICAgfVxuICAgIC8vIHJlc2V0XG4gICAgaWYgKGZvcm1Db25maWcucmVzZXRCdXR0b24pIHtcbiAgICAgIGZvcm1Db25maWcucmVzZXRCdXR0b24ubGFiZWwgPSBfdChmb3JtQ29uZmlnLnJlc2V0QnV0dG9uLmxhYmVsKTtcbiAgICB9XG4gICAgLy8gZ3JvdXBzXG4gICAgZm9ybUNvbmZpZy5ncm91cHMuZm9yRWFjaCgoZ3JvdXApID0+IHtcbiAgICAgIGlmIChncm91cC5vcHRpb25zPy5sYWJlbCkge1xuICAgICAgICBncm91cC5vcHRpb25zLmxhYmVsID0gX3QoZ3JvdXAub3B0aW9ucy5sYWJlbCk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgLy8gc2VjdGlvbnNcbiAgICBmb3JtQ29uZmlnLnNlY3Rpb25zLmZvckVhY2goKHNlY3Rpb24pID0+IHtcbiAgICAgIGlmIChzZWN0aW9uLnRpdGxlKSB7XG4gICAgICAgIHNlY3Rpb24udGl0bGUgPSBfdChzZWN0aW9uLnRpdGxlKTtcbiAgICAgIH1cbiAgICAgIGlmIChzZWN0aW9uLmRlc2NyaXB0aW9uKSB7XG4gICAgICAgIHNlY3Rpb24uZGVzY3JpcHRpb24gPSBfdChzZWN0aW9uLmRlc2NyaXB0aW9uKTtcbiAgICAgIH1cbiAgICAgIHNlY3Rpb24uaW5wdXRzLmZvckVhY2goKGlucHV0KSA9PiB7XG4gICAgICAgIGlmIChpbnB1dC5kYXRhLmxhYmVsKSB7XG4gICAgICAgICAgaW5wdXQuZGF0YS5sYWJlbCA9IF90KGlucHV0LmRhdGEubGFiZWwpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGlucHV0LmRhdGEubGVnZW5kKSB7XG4gICAgICAgICAgaW5wdXQuZGF0YS5sZWdlbmQgPSBfdChpbnB1dC5kYXRhLmxlZ2VuZCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBpbnB1dCB0ZXh0XG4gICAgICAgIGlmIChpbnB1dC50eXBlID09PSAndGV4dCcpIHtcbiAgICAgICAgICBpZiAoaW5wdXQuZGF0YS5wbGFjZWhvbGRlcikge1xuICAgICAgICAgICAgaW5wdXQuZGF0YS5wbGFjZWhvbGRlciA9IF90KGlucHV0LmRhdGEucGxhY2Vob2xkZXIpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBpbnB1dCBjaGVja2JveFxuICAgICAgICBpZiAoaW5wdXQudHlwZSA9PT0gJ2NoZWNrYm94Jykge1xuICAgICAgICAgIGlucHV0LmRhdGEuY2hlY2tib3hlcy5mb3JFYWNoKChjaGVja2JveCkgPT4ge1xuICAgICAgICAgICAgY2hlY2tib3gubGFiZWwgPSBfdChjaGVja2JveC5sYWJlbCk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gaW5wdXQgc2VsZWN0XG4gICAgICAgIGlmIChpbnB1dC50eXBlID09PSAnc2VsZWN0Jykge1xuICAgICAgICAgIGlucHV0LmRhdGEub3B0aW9ucy5mb3JFYWNoKChvcHRpb24pID0+IHtcbiAgICAgICAgICAgIG9wdGlvbi5sYWJlbCA9IF90KG9wdGlvbi5sYWJlbCk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBpbmZvIHRvb2x0aXBcbiAgICAgICAgaWYgKGlucHV0LmluZm8gJiYgaW5wdXQuZGF0YS5sYWJlbCAmJiBbJ3RleHQnLCAnc2VsZWN0J10uaW5jbHVkZXMoaW5wdXQudHlwZSkpIHtcbiAgICAgICAgICBjb25zdCBpbnB1dERhdGEgPSBpbnB1dC5kYXRhIGFzIElucHV0VGV4dERhdGEgfCBJbnB1dFNlbGVjdERhdGE7XG4gICAgICAgICAgaWYgKC9uNy1pY29uLy50ZXN0KGlucHV0LmRhdGEubGFiZWwpKSByZXR1cm47XG4gICAgICAgICAgKGlucHV0LmRhdGEgYXMgSW5wdXRUZXh0RGF0YSB8IElucHV0U2VsZWN0RGF0YSkubGFiZWwgPSBbXG4gICAgICAgICAgICBgPHNwYW4+JHtpbnB1dERhdGEubGFiZWx9PC9zcGFuPmAsXG4gICAgICAgICAgICBgPHNwYW4gY2xhc3M9XCJtci1pbnB1dC1pbmZvIG43LWljb24gbjctaWNvbi1pbmZvLWNpcmNsZVwiIGFsdD1cIiR7X3QoaW5wdXQuaW5mbyl9XCI+PC9zcGFuPmBcbiAgICAgICAgICBdLmpvaW4oJycpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChpbnB1dC5pbmZvICYmIGlucHV0LmRhdGEubGVnZW5kICYmIGlucHV0LnR5cGUgPT09ICdjaGVja2JveCcpIHtcbiAgICAgICAgICBjb25zdCBpbnB1dERhdGEgPSBpbnB1dC5kYXRhIGFzIElucHV0Q2hlY2tib3hEYXRhO1xuICAgICAgICAgIGlmICgvbjctaWNvbi8udGVzdChpbnB1dC5kYXRhLmxlZ2VuZCkpIHJldHVybjtcbiAgICAgICAgICAoaW5wdXQuZGF0YSBhcyBJbnB1dENoZWNrYm94RGF0YSkubGVnZW5kID0gW1xuICAgICAgICAgICAgYDxzcGFuPiR7aW5wdXREYXRhLmxlZ2VuZH08L3NwYW4+YCxcbiAgICAgICAgICAgIGA8c3BhbiBjbGFzcz1cIm1yLWlucHV0LWluZm8gbjctaWNvbiBuNy1pY29uLWluZm8tY2lyY2xlXCIgYWx0PVwiJHtfdChpbnB1dC5pbmZvKX1cIj48L3NwYW4+YFxuICAgICAgICAgIF0uam9pbignJyk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
167
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2YW5jZWQtc2VhcmNoLWxheW91dC5kcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL243LWJvaWxlcnBsYXRlLW11cnVjYS9zcmMvbGliL2xheW91dHMvYWR2YW5jZWQtc2VhcmNoLWxheW91dC9hZHZhbmNlZC1zZWFyY2gtbGF5b3V0LmRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxFQUFFLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDbEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFHNUMsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBR3RELE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxnQkFBZ0I7SUFBOUQ7O1FBYVksaUJBQVksR0FBRyxFQUFFLENBQUM7UUFvRmxCLHlCQUFvQixHQUFHLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDNUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7WUFDdkMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDcEMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUU7b0JBQ3pDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTt3QkFDdkIsSUFBSSxLQUFLLENBQUMsRUFBRSxLQUFLLEdBQUcsRUFBRSxDQUFDOzRCQUNyQixLQUFLLENBQUMsSUFBSSxHQUFHO2dDQUNYLEdBQUcsS0FBSyxDQUFDLElBQUk7Z0NBQ2Is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Q0FBQyxJQUFJLEtBQUssVUFBVSxFQUFFLENBQUM7b0JBQ2pFLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxJQUF5QixDQUFDO29CQUNsRCxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7d0JBQUUsT0FBTztvQkFDN0MsS0FBSyxDQUFDLElBQTBCLENBQUMsTUFBTSxHQUFHO3dCQUN6QyxTQUFTLFNBQVMsQ0FBQyxNQUFNLFNBQVM7d0JBQ2xDLGdFQUFnRSxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxXQUFXO3FCQUMxRixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDYixDQUFDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGEsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBMYXlvdXREYXRhU291cmNlLCBfdCB9IGZyb20gJ0BuZXQ3L2NvcmUnO1xuaW1wb3J0IHsgY2xvbmVEZWVwLCBpc0VtcHR5IH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IENvbW11bmljYXRpb25TZXJ2aWNlLCBDb25maWd1cmF0aW9uU2VydmljZSwgTWFpblN0YXRlU2VydmljZSB9IGZyb20gJ0BuZXQ3L2JvaWxlcnBsYXRlLWNvbW1vbic7XG5pbXBvcnQgeyBJbnB1dENoZWNrYm94RGF0YSwgSW5wdXRTZWxlY3REYXRhLCBJbnB1dFRleHREYXRhIH0gZnJvbSAnQG5ldDcvY29tcG9uZW50cyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgTXJGb3JtTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvZm9ybS5tb2RlbCc7XG5pbXBvcnQgeyBNckxvY2FsZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9sb2NhbGUuc2VydmljZSc7XG5cbmV4cG9ydCBjbGFzcyBNckFkdmFuY2VkU2VhcmNoTGF5b3V0RFMgZXh0ZW5kcyBMYXlvdXREYXRhU291cmNlIHtcbiAgcHJvdGVjdGVkIHJvdXRlcjogUm91dGVyO1xuXG4gIHByb3RlY3RlZCBjb25maWd1cmF0aW9uOiBDb25maWd1cmF0aW9uU2VydmljZTtcblxuICBwcm90ZWN0ZWQgY29tbXVuaWNhdGlvbjogQ29tbXVuaWNhdGlvblNlcnZpY2U7XG5cbiAgcHJvdGVjdGVkIG1haW5TdGF0ZTogTWFpblN0YXRlU2VydmljZTtcblxuICBwcm90ZWN0ZWQgbG9jYWxlU2VydmljZTogTXJMb2NhbGVTZXJ2aWNlO1xuXG4gIHByb3RlY3RlZCByb3V0ZURhdGE6IERhdGE7XG5cbiAgcHJvdGVjdGVkIGluaXRpYWxTdGF0ZSA9IHt9O1xuXG4gIHB1YmxpYyBwYWdlQ29uZmlnO1xuXG4gIHB1YmxpYyBmb3JtOiBNckZvcm1Nb2RlbDtcblxuICBvbkluaXQocGF5bG9hZCkge1xuICAgIHRoaXMucm91dGVyID0gcGF5bG9hZC5yb3V0ZXI7XG4gICAgdGhpcy5jb25maWd1cmF0aW9uID0gcGF5bG9hZC5jb25maWd1cmF0aW9uO1xuICAgIHRoaXMuY29tbXVuaWNhdGlvbiA9IHBheWxvYWQuY29tbXVuaWNhdGlvbjtcbiAgICB0aGlzLm1haW5TdGF0ZSA9IHBheWxvYWQubWFpblN0YXRlO1xuICAgIHRoaXMucm91dGVEYXRhID0gcGF5bG9hZC5yb3V0ZURhdGE7XG4gICAgdGhpcy5sb2NhbGVTZXJ2aWNlID0gcGF5bG9hZC5sb2NhbGVTZXJ2aWNlO1xuICAgIHRoaXMucGFnZUNvbmZpZyA9IHRoaXMuY29uZmlndXJhdGlvbi5nZXQodGhpcy5yb3V0ZURhdGEuY29uZmlnSWQpO1xuXG4gICAgLy8gYWRkIHRyYW5zbGF0aW9uc1xuICAgIHRoaXMuYWRkVHJhbnNsYXRpb25zKHRoaXMucGFnZUNvbmZpZyk7XG5cbiAgICBsZXQgb3B0aW9uc1JlcSQ6IE9ic2VydmFibGU8dW5rbm93bj4gPSBvZih0cnVlKTtcbiAgICBpZiAodGhpcy5wYWdlQ29uZmlnLmhhc0R5bmFtaWNPcHRpb25zKSB7XG4gICAgICBjb25zdCBkeW5hbWljUmVxJCA9IHRoaXMuY29tbXVuaWNhdGlvbi5yZXF1ZXN0JCgnYWR2YW5jZWRTZWFyY2hPcHRpb25zJywge1xuICAgICAgICBvbkVycm9yOiAoZXJyKSA9PiB7XG4gICAgICAgICAgY29uc29sZS53YXJuKCdSZXF1ZXN0IGVycm9yJywgZXJyKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICBvcHRpb25zUmVxJCA9IGR5bmFtaWNSZXEkLnBpcGUoXG4gICAgICAgIHRhcCh0aGlzLmhhbmRsZU9wdGlvbnNSZXF1ZXN0KVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBvcHRpb25zUmVxJC5zdWJzY3JpYmUoe1xuICAgICAgY29tcGxldGU6ICgpID0+IHtcbiAgICAgICAgLy8gaW5pdCBmb3JtXG4gICAgICAgIHRoaXMuZm9ybSA9IG5ldyBNckZvcm1Nb2RlbCgpO1xuICAgICAgICAvLyBmb3JtIGluaXRcbiAgICAgICAgdGhpcy5mb3JtLmluaXQodGhpcy5wYWdlQ29uZmlnLmZvcm1Db25maWcpO1xuICAgICAgICAvLyBzZXQgaW5pdGlhbCBzdGF0ZVxuICAgICAgICB0aGlzLmluaXRpYWxTdGF0ZSA9IGNsb25lRGVlcCh0aGlzLmZvcm0uZ2V0U3RhdGUoKSk7XG5cbiAgICAgICAgdGhpcy5vbmUoJ21yLWZvcm0td3JhcHBlci1hY2NvcmRpb24nKS51cGRhdGUoe1xuICAgICAgICAgIGZvcm06IHRoaXMuZm9ybVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIC8vIHVwZGF0ZSBoZWFkIHRpdGxlXG4gICAgdGhpcy51cGRhdGVIZWFkVGl0bGUoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCB1cGRhdGVIZWFkVGl0bGUoKSB7XG4gICAgY29uc3QgYXBwTmFtZSA9IHRoaXMuY29uZmlndXJhdGlvbi5nZXQoJ25hbWUnKTtcbiAgICBjb25zdCBwYWdlVGl0bGUgPSB0aGlzLnBhZ2VDb25maWcudGl0bGU7XG4gICAgdGhpcy5tYWluU3RhdGUudXBkYXRlKCdoZWFkVGl0bGUnLCBbYXBwTmFtZSwgX3QocGFnZVRpdGxlKV0uam9pbignID4gJykpO1xuICB9XG5cbiAgb25TdWJtaXQoeyBzdGF0ZSB9KSB7XG4gICAgaWYgKCFpc0VtcHR5KHN0YXRlKSkge1xuICAgICAgY29uc3QgeyByZXN1bHRzVXJsIH0gPSB0aGlzLnBhZ2VDb25maWc7XG4gICAgICBsZXQgYmFzZVVybCA9IHJlc3VsdHNVcmw7XG4gICAgICBpZiAodHlwZW9mIHJlc3VsdHNVcmwgIT09ICdzdHJpbmcnKSB7XG4gICAgICAgIGNvbnN0IGxvY2FsZSA9IHRoaXMubG9jYWxlU2VydmljZS5nZXRMb2NhbGUoKTtcbiAgICAgICAgYmFzZVVybCA9IHJlc3VsdHNVcmxbbG9jYWxlXTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHBhcmFtcyA9IE9iamVjdC5rZXlzKHN0YXRlKVxuICAgICAgICAuZmlsdGVyKChrZXkpID0+ICEoc3RhdGVba2V5XS5kaXNhYmxlZCB8fCBpc0VtcHR5KHN0YXRlW2tleV0udmFsdWUpKSlcbiAgICAgICAgLm1hcCgoa2V5KSA9PiAoe1xuICAgICAgICAgIGtleSxcbiAgICAgICAgICB2YWx1ZTogQXJyYXkuaXNBcnJheShzdGF0ZVtrZXldLnZhbHVlKVxuICAgICAgICAgICAgPyBzdGF0ZVtrZXldLnZhbHVlLmpvaW4oJywnKVxuICAgICAgICAgICAgOiBzdGF0ZVtrZXldLnZhbHVlXG4gICAgICAgIH0pKVxuICAgICAgICAubWFwKCh7IGtleSwgdmFsdWUgfSkgPT4gYCR7a2V5fT0ke2VuY29kZVVSSUNvbXBvbmVudCh2YWx1ZSl9YCk7XG4gICAgICBjb25zdCB1cmwgPSBgJHtiYXNlVXJsfT8ke3BhcmFtcy5qb2luKCcmJyl9YDtcbiAgICAgIHdpbmRvdy5vcGVuKHVybCwgJ19ibGFuaycpO1xuICAgIH1cbiAgfVxuXG4gIG9uUmVzZXQoKSB7XG4gICAgT2JqZWN0LmtleXModGhpcy5pbml0aWFsU3RhdGUpLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgY29uc3QgaW5wdXRTdGF0ZSA9IGNsb25lRGVlcCh0aGlzLmluaXRpYWxTdGF0ZVtrZXldKTtcbiAgICAgIHRoaXMuZm9ybS5nZXRJbnB1dChrZXkpLnNldFN0YXRlKGlucHV0U3RhdGUpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZU9wdGlvbnNSZXF1ZXN0ID0gKHJlc3BvbnNlKSA9PiB7XG4gICAgY29uc3QgeyBmb3JtQ29uZmlnIH0gPSB0aGlzLnBhZ2VDb25maWc7XG4gICAgT2JqZWN0LmtleXMocmVzcG9uc2UpLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgZm9ybUNvbmZpZy5zZWN0aW9ucy5mb3JFYWNoKCh7IGlucHV0cyB9KSA9PiB7XG4gICAgICAgIGlucHV0cy5mb3JFYWNoKChpbnB1dCkgPT4ge1xuICAgICAgICAgIGlmIChpbnB1dC5pZCA9PT0ga2V5KSB7XG4gICAgICAgICAgICBpbnB1dC5kYXRhID0ge1xuICAgICAgICAgICAgICAuLi5pbnB1dC5kYXRhLFxuICAgICAgICAgICAgICAuLi5yZXNwb25zZVtrZXldXG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfTtcblxuICBwcm90ZWN0ZWQgYWRkVHJhbnNsYXRpb25zKHBhZ2VDb25maWcpIHtcbiAgICBjb25zdCB7IGZvcm1Db25maWcgfSA9IHBhZ2VDb25maWc7XG4gICAgLy8gcGFnZSB0aXRsZVxuICAgIHBhZ2VDb25maWcudGl0bGUgPSBfdChwYWdlQ29uZmlnLnRpdGxlKTtcbiAgICAvLyBzdWJtaXRcbiAgICBpZiAoZm9ybUNvbmZpZy5zdWJtaXRCdXR0b24pIHtcbiAgICAgIGZvcm1Db25maWcuc3VibWl0QnV0dG9uLmxhYmVsID0gX3QoZm9ybUNvbmZpZy5zdWJtaXRCdXR0b24ubGFiZWwpO1xuICAgIH1cbiAgICAvLyByZXNldFxuICAgIGlmIChmb3JtQ29uZmlnLnJlc2V0QnV0dG9uKSB7XG4gICAgICBmb3JtQ29uZmlnLnJlc2V0QnV0dG9uLmxhYmVsID0gX3QoZm9ybUNvbmZpZy5yZXNldEJ1dHRvbi5sYWJlbCk7XG4gICAgfVxuICAgIC8vIGdyb3Vwc1xuICAgIGZvcm1Db25maWcuZ3JvdXBzLmZvckVhY2goKGdyb3VwKSA9PiB7XG4gICAgICBpZiAoZ3JvdXAub3B0aW9ucz8ubGFiZWwpIHtcbiAgICAgICAgZ3JvdXAub3B0aW9ucy5sYWJlbCA9IF90KGdyb3VwLm9wdGlvbnMubGFiZWwpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIC8vIHNlY3Rpb25zXG4gICAgZm9ybUNvbmZpZy5zZWN0aW9ucy5mb3JFYWNoKChzZWN0aW9uKSA9PiB7XG4gICAgICBpZiAoc2VjdGlvbi50aXRsZSkge1xuICAgICAgICBzZWN0aW9uLnRpdGxlID0gX3Qoc2VjdGlvbi50aXRsZSk7XG4gICAgICB9XG4gICAgICBpZiAoc2VjdGlvbi5kZXNjcmlwdGlvbikge1xuICAgICAgICBzZWN0aW9uLmRlc2NyaXB0aW9uID0gX3Qoc2VjdGlvbi5kZXNjcmlwdGlvbik7XG4gICAgICB9XG4gICAgICBzZWN0aW9uLmlucHV0cy5mb3JFYWNoKChpbnB1dCkgPT4ge1xuICAgICAgICBpZiAoaW5wdXQuZGF0YS5sYWJlbCkge1xuICAgICAgICAgIGlucHV0LmRhdGEubGFiZWwgPSBfdChpbnB1dC5kYXRhLmxhYmVsKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChpbnB1dC5kYXRhLmxlZ2VuZCkge1xuICAgICAgICAgIGlucHV0LmRhdGEubGVnZW5kID0gX3QoaW5wdXQuZGF0YS5sZWdlbmQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gaW5wdXQgdGV4dCAvIHR5cGVhaGVhZFxuICAgICAgICBpZiAoaW5wdXQudHlwZSA9PT0gJ3RleHQnIHx8IGlucHV0LnR5cGUgPT09ICd0eXBlYWhlYWQnKSB7XG4gICAgICAgICAgaWYgKGlucHV0LmRhdGEucGxhY2Vob2xkZXIpIHtcbiAgICAgICAgICAgIGlucHV0LmRhdGEucGxhY2Vob2xkZXIgPSBfdChpbnB1dC5kYXRhLnBsYWNlaG9sZGVyKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy8gaW5wdXQgY2hlY2tib3hcbiAgICAgICAgaWYgKGlucHV0LnR5cGUgPT09ICdjaGVja2JveCcpIHtcbiAgICAgICAgICBpbnB1dC5kYXRhLmNoZWNrYm94ZXMuZm9yRWFjaCgoY2hlY2tib3gpID0+IHtcbiAgICAgICAgICAgIGNoZWNrYm94LmxhYmVsID0gX3QoY2hlY2tib3gubGFiZWwpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIC8vIGlucHV0IHNlbGVjdFxuICAgICAgICBpZiAoaW5wdXQudHlwZSA9PT0gJ3NlbGVjdCcpIHtcbiAgICAgICAgICBpbnB1dC5kYXRhLm9wdGlvbnMuZm9yRWFjaCgob3B0aW9uKSA9PiB7XG4gICAgICAgICAgICBvcHRpb24ubGFiZWwgPSBfdChvcHRpb24ubGFiZWwpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gaW5mbyB0b29sdGlwXG4gICAgICAgIGlmIChpbnB1dC5pbmZvICYmIGlucHV0LmRhdGEubGFiZWwgJiYgWyd0ZXh0JywgJ3NlbGVjdCcsICd0eXBlYWhlYWQnXS5pbmNsdWRlcyhpbnB1dC50eXBlKSkge1xuICAgICAgICAgIGNvbnN0IGlucHV0RGF0YSA9IGlucHV0LmRhdGEgYXMgSW5wdXRUZXh0RGF0YSB8IElucHV0U2VsZWN0RGF0YTtcbiAgICAgICAgICBpZiAoL243LWljb24vLnRlc3QoaW5wdXQuZGF0YS5sYWJlbCkpIHJldHVybjtcbiAgICAgICAgICAoaW5wdXQuZGF0YSBhcyBJbnB1dFRleHREYXRhIHwgSW5wdXRTZWxlY3REYXRhKS5sYWJlbCA9IFtcbiAgICAgICAgICAgIGA8c3Bhbj4ke2lucHV0RGF0YS5sYWJlbH08L3NwYW4+YCxcbiAgICAgICAgICAgIGA8c3BhbiBjbGFzcz1cIm1yLWlucHV0LWluZm8gbjctaWNvbiBuNy1pY29uLWluZm8tY2lyY2xlXCIgYWx0PVwiJHtfdChpbnB1dC5pbmZvKX1cIj48L3NwYW4+YFxuICAgICAgICAgIF0uam9pbignJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGlucHV0LmluZm8gJiYgaW5wdXQuZGF0YS5sZWdlbmQgJiYgaW5wdXQudHlwZSA9PT0gJ2NoZWNrYm94Jykge1xuICAgICAgICAgIGNvbnN0IGlucHV0RGF0YSA9IGlucHV0LmRhdGEgYXMgSW5wdXRDaGVja2JveERhdGE7XG4gICAgICAgICAgaWYgKC9uNy1pY29uLy50ZXN0KGlucHV0LmRhdGEubGVnZW5kKSkgcmV0dXJuO1xuICAgICAgICAgIChpbnB1dC5kYXRhIGFzIElucHV0Q2hlY2tib3hEYXRhKS5sZWdlbmQgPSBbXG4gICAgICAgICAgICBgPHNwYW4+JHtpbnB1dERhdGEubGVnZW5kfTwvc3Bhbj5gLFxuICAgICAgICAgICAgYDxzcGFuIGNsYXNzPVwibXItaW5wdXQtaW5mbyBuNy1pY29uIG43LWljb24taW5mby1jaXJjbGVcIiBhbHQ9XCIke190KGlucHV0LmluZm8pfVwiPjwvc3Bhbj5gXG4gICAgICAgICAgXS5qb2luKCcnKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -5,6 +5,8 @@ import { MrInputSelectDS } from '../data-sources/form/input-select.ds';
5
5
  import { MrInputSelectEH } from '../event-handlers/form/input-select.eh';
6
6
  import { MrInputCheckboxDS } from '../data-sources/form/input-checkbox.ds';
7
7
  import { MrInputCheckboxEH } from '../event-handlers/form/input-checkbox.eh';
8
+ import { MrInputTypeaheadDS } from '../data-sources/form/input-typeahead.ds';
9
+ import { MrInputTypeaheadEH } from '../event-handlers/form/input-typeahead.eh';
8
10
  export class MrFormModel {
9
11
  constructor() {
10
12
  this.loaded$ = new ReplaySubject();
@@ -21,6 +23,10 @@ export class MrFormModel {
21
23
  checkbox: {
22
24
  ds: MrInputCheckboxDS,
23
25
  eh: MrInputCheckboxEH
26
+ },
27
+ typeahead: {
28
+ ds: MrInputTypeaheadDS,
29
+ eh: MrInputTypeaheadEH
24
30
  }
25
31
  };
26
32
  this.changed$ = new Subject();
@@ -89,4 +95,4 @@ export class MrFormModel {
89
95
  });
90
96
  }
91
97
  }
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL243LWJvaWxlcnBsYXRlLW11cnVjYS9zcmMvbGliL21vZGVscy9mb3JtLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDckUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQU83RSxNQUFNLE9BQU8sV0FBVztJQUF4QjtRQUdTLFlBQU8sR0FBMkIsSUFBSSxhQUFhLEVBQUUsQ0FBQztRQUV0RCxXQUFNLEdBT1QsRUFBRSxDQUFDO1FBRUMsZUFBVSxHQUtkO1lBQ0EsSUFBSSxFQUFFO2dCQUNKLEVBQUUsRUFBRSxhQUFhO2dCQUNqQixFQUFFLEVBQUUsYUFBYTthQUNsQjtZQUNELE1BQU0sRUFBRTtnQkFDTixFQUFFLEVBQUUsZUFBZTtnQkFDbkIsRUFBRSxFQUFFLGVBQWU7YUFDcEI7WUFDRCxRQUFRLEVBQUU7Z0JBQ1IsRUFBRSxFQUFFLGlCQUFpQjtnQkFDckIsRUFBRSxFQUFFLGlCQUFpQjthQUN0QjtTQUNGLENBQUM7UUFFSixhQUFRLEdBQTZCLElBQUksT0FBTyxFQUFFLENBQUM7UUFZbkQsYUFBUSxHQUFHLENBQUMsRUFBVSxFQUEwQixFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxF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Qyx5QkFBeUI7Z0JBQ3pCLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDcEIsbUJBQW1CO2dCQUNuQixJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxHQUFHO29CQUNoQixFQUFFLEVBQUUsVUFBVTtvQkFDZCxFQUFFLEVBQUUsVUFBVTtvQkFDZCxJQUFJLEVBQUUsQ0FBQyxDQUFTLEVBQUUsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7aUJBQ3hELENBQUM7WUFDSixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3ViamVjdCwgUmVwbGF5U3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTXJJbnB1dFRleHREUyB9IGZyb20gJy4uL2RhdGEtc291cmNlcy9mb3JtL2lucHV0LXRleHQuZHMnO1xuaW1wb3J0IHsgTXJJbnB1dFRleHRFSCB9IGZyb20gJy4uL2V2ZW50LWhhbmRsZXJzL2Zvcm0vaW5wdXQtdGV4dC5laCc7XG5pbXBvcnQgeyBNcklucHV0U2VsZWN0RFMgfSBmcm9tICcuLi9kYXRhLXNvdXJjZXMvZm9ybS9pbnB1dC1zZWxlY3QuZHMnO1xuaW1wb3J0IHsgTXJJbnB1dFNlbGVjdEVIIH0gZnJvbSAnLi4vZXZlbnQtaGFuZGxlcnMvZm9ybS9pbnB1dC1zZWxlY3QuZWgnO1xuaW1wb3J0IHsgTXJJbnB1dENoZWNrYm94RFMgfSBmcm9tICcuLi9kYXRhLXNvdXJjZXMvZm9ybS9pbnB1dC1jaGVja2JveC5kcyc7XG5pbXBvcnQgeyBNcklucHV0Q2hlY2tib3hFSCB9IGZyb20gJy4uL2V2ZW50LWhhbmRsZXJzL2Zvcm0vaW5wdXQtY2hlY2tib3guZWgnO1xuaW1wb3J0IHtcbiAgTXJDaGFuZ2VkUGFyYW1zLFxuICBNcklucHV0RGF0YVNvdXJjZSxcbiAgTXJGb3JtQ29uZmlnLFxufSBmcm9tICcuLi9pbnRlcmZhY2VzL2Zvcm0uaW50ZXJmYWNlJztcblxuZXhwb3J0IGNsYXNzIE1yRm9ybU1vZGVsIHtcbiAgcHVibGljIGNvbmZpZzogTXJGb3JtQ29uZmlnO1xuXG4gIHB1YmxpYyBsb2FkZWQkOiBSZXBsYXlTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFJlcGxheVN1YmplY3QoKTtcblxuICBwdWJsaWMgaW5wdXRzOiB7XG4gICAgW2lkOiBzdHJpbmddOiB7XG4gICAgICBkczogYW55O1xuICAgICAgZWg6IGFueTtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXR5cGVzXG4gICAgICBlbWl0OiAodDogc3RyaW5nLCBwOiBhbnkpID0+IEZ1bmN0aW9uO1xuICAgIH07XG4gIH0gPSB7fTtcblxuICBwcml2YXRlIGlucHV0VHlwZXM6IHtcbiAgICBbaWQ6IHN0cmluZ106IHtcbiAgICAgIGRzOiBhbnk7XG4gICAgICBlaDogYW55O1xuICAgIH07XG4gIH0gPSB7XG4gICAgICB0ZXh0OiB7XG4gICAgICAgIGRzOiBNcklucHV0VGV4dERTLFxuICAgICAgICBlaDogTXJJbnB1dFRleHRFSFxuICAgICAgfSxcbiAgICAgIHNlbGVjdDoge1xuICAgICAgICBkczogTXJJbnB1dFNlbGVjdERTLFxuICAgICAgICBlaDogTXJJbnB1dFNlbGVjdEVIXG4gICAgICB9LFxuICAgICAgY2hlY2tib3g6IHtcbiAgICAgICAgZHM6IE1ySW5wdXRDaGVja2JveERTLFxuICAgICAgICBlaDogTXJJbnB1dENoZWNrYm94RUhcbiAgICAgIH1cbiAgICB9O1xuXG4gIGNoYW5nZWQkOiBTdWJqZWN0PE1yQ2hhbmdlZFBhcmFtcz4gPSBuZXcgU3ViamVjdCgpO1xuXG4gIGluaXQoY29uZmlnOiBNckZvcm1Db25maWcpIHtcbiAgICB0aGlzLmNvbmZpZyA9IGNvbmZpZztcblxuICAgIC8vIGluaXQgaW5wdXRzXG4gICAgdGhpcy5pbml0SW5wdXRzKCk7XG5cbiAgICAvLyBlbWl0IHNpZ25hbFxuICAgIHRoaXMubG9hZGVkJC5uZXh0KHRydWUpO1xuICB9XG5cbiAgZ2V0SW5wdXQgPSAoaWQ6IHN0cmluZyk6IE1ySW5wdXREYXRhU291cmNlPGFueT4gPT4gdGhpcy5pbnB1dHNbaWRdLmRzO1xuXG4gIGdldElucHV0cyA9ICgpOiB7XG4gICAgW2lkOiBzdHJpbmddOiBNcklucHV0RGF0YVNvdXJjZTxhbnk+O1xuICB9ID0+IHtcbiAgICBjb25zdCBpbnB1dHMgPSB7fTtcbiAgICBPYmplY3Qua2V5cyh0aGlzLmlucHV0cykuZm9yRWFjaCgoaWQpID0+IHtcbiAgICAgIGlucHV0c1tpZF0gPSB0aGlzLmdldElucHV0KGlkKTtcbiAgICB9KTtcbiAgICByZXR1cm4gaW5wdXRzO1xuICB9O1xuXG4gIGdldFN0YXRlKCkge1xuICAgIGNvbnN0IHN0YXRlID0ge307XG4gICAgT2JqZWN0LmtleXModGhpcy5pbnB1dHMpLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgc3RhdGVba2V5XSA9IHRoaXMuaW5wdXRzW2tleV0uZHMuZ2V0U3RhdGUoKTtcbiAgICB9KTtcbiAgICByZXR1cm4gc3RhdGU7XG4gIH1cblxuICBhZGRJbnB1dFR5cGUodHlwZTogc3RyaW5nLCBkczogYW55LCBlaDogYW55KSB7XG4gICAgaWYgKHRoaXMuaW5wdXRUeXBlc1t0eXBlXSkge1xuICAgICAgdGhyb3cgRXJyb3IoYGlucHV0IHR5cGUgJHt0eXBlfSBhbHJlYWR5IGV4aXN0cyFgKTtcbiAgICB9XG5cbiAgICB0aGlzLmlucHV0VHlwZXNbdHlwZV0gPSB7IGRzLCBlaCB9O1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0SW5wdXRzKCkge1xuICAgIGNvbnN0IHsgc2VjdGlvbnMgfSA9IHRoaXMuY29uZmlnO1xuICAgIHNlY3Rpb25zLmZvckVhY2goKHNlY3Rpb24pID0+IHtcbiAgICAgIHNlY3Rpb24uaW5wdXRzLmZvckVhY2goKHtcbiAgICAgICAgaWQsIHR5cGUsIG9wdGlvbnMsIHN0YXRlLCBkYXRhXG4gICAgICB9KSA9PiB7XG4gICAgICAgIGNvbnN0IERTQ2xhc3MgPSB0aGlzLmlucHV0VHlwZXNbdHlwZV0uZHM7XG4gICAgICAgIGNvbnN0IEVIQ2xhc3MgPSB0aGlzLmlucHV0VHlwZXNbdHlwZV0uZWg7XG4gICAgICAgIGNvbnN0IERTSW5zdGFuY2UgPSBuZXcgRFNDbGFzcyhvcHRpb25zIHx8IHt9KTtcbiAgICAgICAgY29uc3QgRUhJbnN0YW5jZSA9IG5ldyBFSENsYXNzKCk7XG4gICAgICAgIC8vIHNldCBkYXRhc291cmNlIGlkXG4gICAgICAgIERTSW5zdGFuY2UuaWQgPSBpZDtcbiAgICAgICAgLy8gc2V0IGluaXRpYWwgZGF0YVxuICAgICAgICBpZiAoZGF0YSkge1xuICAgICAgICAgIERTSW5zdGFuY2UudXBkYXRlKGRhdGEpO1xuICAgICAgICB9XG4gICAgICAgIC8vIHNldCBzdGF0ZVxuICAgICAgICBpZiAoc3RhdGUpIHtcbiAgICAgICAgICBEU0luc3RhbmNlLnNldFN0YXRlKHN0YXRlKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBzZXQgZXZlbnRoYW5kbGVyIGhvc3RpZFxuICAgICAgICBFSEluc3RhbmNlLmhvc3RJZCA9IGlkO1xuICAgICAgICAvLyBhdHRhY2ggZGF0YXNvdXJjZSB0byBldmVudGhhbmRsZXJcbiAgICAgICAgRUhJbnN0YW5jZS5kYXRhU291cmNlID0gRFNJbnN0YW5jZTtcbiAgICAgICAgLy8gYXR0YWNoIGNoYW5nZWQkIHRvIGV2ZW50aGFuZGxlclxuICAgICAgICBFSEluc3RhbmNlLmNoYW5nZWQkID0gdGhpcy5jaGFuZ2VkJDtcbiAgICAgICAgLy8gbGlzdGVuIHRvIGlucHV0IGV2ZW50c1xuICAgICAgICBFSEluc3RhbmNlLmxpc3RlbigpO1xuICAgICAgICAvLyBzYXZlIGl0IHRvIGlucHV0XG4gICAgICAgIHRoaXMuaW5wdXRzW2lkXSA9IHtcbiAgICAgICAgICBkczogRFNJbnN0YW5jZSxcbiAgICAgICAgICBlaDogRUhJbnN0YW5jZSxcbiAgICAgICAgICBlbWl0OiAodDogc3RyaW5nLCBwOiBhbnkpID0+IEVISW5zdGFuY2UuZW1pdElubmVyKHQsIHApXG4gICAgICAgIH07XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxufVxuIl19
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL243LWJvaWxlcnBsYXRlLW11cnVjYS9zcmMvbGliL21vZGVscy9mb3JtLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDckUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQU8vRSxNQUFNLE9BQU8sV0FBVztJQUF4QjtRQUdTLFlBQU8sR0FBMkIsSUFBSSxhQUFhLEVBQUUsQ0FBQztRQUV0RCxXQUFNLEdBTVQsRUFBRSxDQUFDO1FBRUMsZUFBVSxHQUtkO1lBQ0EsSUFBSSxFQUFFO2dCQUNKLEVBQUUsRUFBRSxhQUFhO2dCQUNqQixFQUFFLEVBQUUsYUFBYTthQUNsQjtZQUNELE1BQU0sRUFBRTtnQkFDTixFQUFFLEVBQUUsZUFBZTtnQkFDbkIsRUFBRSxFQUFFLGVBQWU7YUFDcEI7WUFDRCxRQUFRLEVBQUU7Z0JBQ1IsRUFBRSxFQUFFLGlCQUFpQjtnQkFDckIsRUFBRSxFQUFFLGlCQUFpQjthQUN0QjtZQUNELFNBQVMsRUFBRTtnQkFDVCxFQUFFLEVBQUUsa0JB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QTBCO2dCQUMxQixVQUFVLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztnQkFDdkIsb0NBQW9DO2dCQUNwQyxVQUFVLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztnQkFDbkMsa0NBQWtDO2dCQUNsQyxVQUFVLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7Z0JBQ3BDLHlCQUF5QjtnQkFDekIsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUNwQixtQkFBbUI7Z0JBQ25CLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEdBQUc7b0JBQ2hCLEVBQUUsRUFBRSxVQUFVO29CQUNkLEVBQUUsRUFBRSxVQUFVO29CQUNkLElBQUksRUFBRSxDQUFDLENBQVMsRUFBRSxDQUFNLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztpQkFDeEQsQ0FBQztZQUNKLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdWJqZWN0LCBSZXBsYXlTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBNcklucHV0VGV4dERTIH0gZnJvbSAnLi4vZGF0YS1zb3VyY2VzL2Zvcm0vaW5wdXQtdGV4dC5kcyc7XG5pbXBvcnQgeyBNcklucHV0VGV4dEVIIH0gZnJvbSAnLi4vZXZlbnQtaGFuZGxlcnMvZm9ybS9pbnB1dC10ZXh0LmVoJztcbmltcG9ydCB7IE1ySW5wdXRTZWxlY3REUyB9IGZyb20gJy4uL2RhdGEtc291cmNlcy9mb3JtL2lucHV0LXNlbGVjdC5kcyc7XG5pbXBvcnQgeyBNcklucHV0U2VsZWN0RUggfSBmcm9tICcuLi9ldmVudC1oYW5kbGVycy9mb3JtL2lucHV0LXNlbGVjdC5laCc7XG5pbXBvcnQgeyBNcklucHV0Q2hlY2tib3hEUyB9IGZyb20gJy4uL2RhdGEtc291cmNlcy9mb3JtL2lucHV0LWNoZWNrYm94LmRzJztcbmltcG9ydCB7IE1ySW5wdXRDaGVja2JveEVIIH0gZnJvbSAnLi4vZXZlbnQtaGFuZGxlcnMvZm9ybS9pbnB1dC1jaGVja2JveC5laCc7XG5pbXBvcnQgeyBNcklucHV0VHlwZWFoZWFkRFMgfSBmcm9tICcuLi9kYXRhLXNvdXJjZXMvZm9ybS9pbnB1dC10eXBlYWhlYWQuZHMnO1xuaW1wb3J0IHsgTXJJbnB1dFR5cGVhaGVhZEVIIH0gZnJvbSAnLi4vZXZlbnQtaGFuZGxlcnMvZm9ybS9pbnB1dC10eXBlYWhlYWQuZWgnO1xuaW1wb3J0IHtcbiAgTXJDaGFuZ2VkUGFyYW1zLFxuICBNcklucHV0RGF0YVNvdXJjZSxcbiAgTXJGb3JtQ29uZmlnLFxufSBmcm9tICcuLi9pbnRlcmZhY2VzL2Zvcm0uaW50ZXJmYWNlJztcblxuZXhwb3J0IGNsYXNzIE1yRm9ybU1vZGVsIHtcbiAgcHVibGljIGNvbmZpZzogTXJGb3JtQ29uZmlnO1xuXG4gIHB1YmxpYyBsb2FkZWQkOiBSZXBsYXlTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFJlcGxheVN1YmplY3QoKTtcblxuICBwdWJsaWMgaW5wdXRzOiB7XG4gICAgW2lkOiBzdHJpbmddOiB7XG4gICAgICBkczogYW55O1xuICAgICAgZWg6IGFueTtcbiAgICAgIGVtaXQ6ICh0OiBzdHJpbmcsIHA6IGFueSkgPT4gdm9pZDtcbiAgICB9O1xuICB9ID0ge307XG5cbiAgcHJpdmF0ZSBpbnB1dFR5cGVzOiB7XG4gICAgW2lkOiBzdHJpbmddOiB7XG4gICAgICBkczogYW55O1xuICAgICAgZWg6IGFueTtcbiAgICB9O1xuICB9ID0ge1xuICAgICAgdGV4dDoge1xuICAgICAgICBkczogTXJJbnB1dFRleHREUyxcbiAgICAgICAgZWg6IE1ySW5wdXRUZXh0RUhcbiAgICAgIH0sXG4gICAgICBzZWxlY3Q6IHtcbiAgICAgICAgZHM6IE1ySW5wdXRTZWxlY3REUyxcbiAgICAgICAgZWg6IE1ySW5wdXRTZWxlY3RFSFxuICAgICAgfSxcbiAgICAgIGNoZWNrYm94OiB7XG4gICAgICAgIGRzOiBNcklucHV0Q2hlY2tib3hEUyxcbiAgICAgICAgZWg6IE1ySW5wdXRDaGVja2JveEVIXG4gICAgICB9LFxuICAgICAgdHlwZWFoZWFkOiB7XG4gICAgICAgIGRzOiBNcklucHV0VHlwZWFoZWFkRFMsXG4gICAgICAgIGVoOiBNcklucHV0VHlwZWFoZWFkRUhcbiAgICAgIH1cbiAgICB9O1xuXG4gIGNoYW5nZWQkOiBTdWJqZWN0PE1yQ2hhbmdlZFBhcmFtcz4gPSBuZXcgU3ViamVjdCgpO1xuXG4gIGluaXQoY29uZmlnOiBNckZvcm1Db25maWcpIHtcbiAgICB0aGlzLmNvbmZpZyA9IGNvbmZpZztcblxuICAgIC8vIGluaXQgaW5wdXRzXG4gICAgdGhpcy5pbml0SW5wdXRzKCk7XG5cbiAgICAvLyBlbWl0IHNpZ25hbFxuICAgIHRoaXMubG9hZGVkJC5uZXh0KHRydWUpO1xuICB9XG5cbiAgZ2V0SW5wdXQgPSAoaWQ6IHN0cmluZyk6IE1ySW5wdXREYXRhU291cmNlPGFueT4gPT4gdGhpcy5pbnB1dHNbaWRdLmRzO1xuXG4gIGdldElucHV0cyA9ICgpOiB7XG4gICAgW2lkOiBzdHJpbmddOiBNcklucHV0RGF0YVNvdXJjZTxhbnk+O1xuICB9ID0+IHtcbiAgICBjb25zdCBpbnB1dHMgPSB7fTtcbiAgICBPYmplY3Qua2V5cyh0aGlzLmlucHV0cykuZm9yRWFjaCgoaWQpID0+IHtcbiAgICAgIGlucHV0c1tpZF0gPSB0aGlzLmdldElucHV0KGlkKTtcbiAgICB9KTtcbiAgICByZXR1cm4gaW5wdXRzO1xuICB9O1xuXG4gIGdldFN0YXRlKCkge1xuICAgIGNvbnN0IHN0YXRlID0ge307XG4gICAgT2JqZWN0LmtleXModGhpcy5pbnB1dHMpLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgc3RhdGVba2V5XSA9IHRoaXMuaW5wdXRzW2tleV0uZHMuZ2V0U3RhdGUoKTtcbiAgICB9KTtcbiAgICByZXR1cm4gc3RhdGU7XG4gIH1cblxuICBhZGRJbnB1dFR5cGUodHlwZTogc3RyaW5nLCBkczogYW55LCBlaDogYW55KSB7XG4gICAgaWYgKHRoaXMuaW5wdXRUeXBlc1t0eXBlXSkge1xuICAgICAgdGhyb3cgRXJyb3IoYGlucHV0IHR5cGUgJHt0eXBlfSBhbHJlYWR5IGV4aXN0cyFgKTtcbiAgICB9XG5cbiAgICB0aGlzLmlucHV0VHlwZXNbdHlwZV0gPSB7IGRzLCBlaCB9O1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0SW5wdXRzKCkge1xuICAgIGNvbnN0IHsgc2VjdGlvbnMgfSA9IHRoaXMuY29uZmlnO1xuICAgIHNlY3Rpb25zLmZvckVhY2goKHNlY3Rpb24pID0+IHtcbiAgICAgIHNlY3Rpb24uaW5wdXRzLmZvckVhY2goKHtcbiAgICAgICAgaWQsIHR5cGUsIG9wdGlvbnMsIHN0YXRlLCBkYXRhXG4gICAgICB9KSA9PiB7XG4gICAgICAgIGNvbnN0IERTQ2xhc3MgPSB0aGlzLmlucHV0VHlwZXNbdHlwZV0uZHM7XG4gICAgICAgIGNvbnN0IEVIQ2xhc3MgPSB0aGlzLmlucHV0VHlwZXNbdHlwZV0uZWg7XG4gICAgICAgIGNvbnN0IERTSW5zdGFuY2UgPSBuZXcgRFNDbGFzcyhvcHRpb25zIHx8IHt9KTtcbiAgICAgICAgY29uc3QgRUhJbnN0YW5jZSA9IG5ldyBFSENsYXNzKCk7XG4gICAgICAgIC8vIHNldCBkYXRhc291cmNlIGlkXG4gICAgICAgIERTSW5zdGFuY2UuaWQgPSBpZDtcbiAgICAgICAgLy8gc2V0IGluaXRpYWwgZGF0YVxuICAgICAgICBpZiAoZGF0YSkge1xuICAgICAgICAgIERTSW5zdGFuY2UudXBkYXRlKGRhdGEpO1xuICAgICAgICB9XG4gICAgICAgIC8vIHNldCBzdGF0ZVxuICAgICAgICBpZiAoc3RhdGUpIHtcbiAgICAgICAgICBEU0luc3RhbmNlLnNldFN0YXRlKHN0YXRlKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBzZXQgZXZlbnRoYW5kbGVyIGhvc3RpZFxuICAgICAgICBFSEluc3RhbmNlLmhvc3RJZCA9IGlkO1xuICAgICAgICAvLyBhdHRhY2ggZGF0YXNvdXJjZSB0byBldmVudGhhbmRsZXJcbiAgICAgICAgRUhJbnN0YW5jZS5kYXRhU291cmNlID0gRFNJbnN0YW5jZTtcbiAgICAgICAgLy8gYXR0YWNoIGNoYW5nZWQkIHRvIGV2ZW50aGFuZGxlclxuICAgICAgICBFSEluc3RhbmNlLmNoYW5nZWQkID0gdGhpcy5jaGFuZ2VkJDtcbiAgICAgICAgLy8gbGlzdGVuIHRvIGlucHV0IGV2ZW50c1xuICAgICAgICBFSEluc3RhbmNlLmxpc3RlbigpO1xuICAgICAgICAvLyBzYXZlIGl0IHRvIGlucHV0XG4gICAgICAgIHRoaXMuaW5wdXRzW2lkXSA9IHtcbiAgICAgICAgICBkczogRFNJbnN0YW5jZSxcbiAgICAgICAgICBlaDogRUhJbnN0YW5jZSxcbiAgICAgICAgICBlbWl0OiAodDogc3RyaW5nLCBwOiBhbnkpID0+IEVISW5zdGFuY2UuZW1pdElubmVyKHQsIHApXG4gICAgICAgIH07XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -33,6 +33,7 @@ import { MrResourceModalComponent } from './components/resource-modal/resource-m
33
33
  import { MrSearchPageDescriptionComponent } from './components/search-page-description/search-page-description';
34
34
  import { ReadMoreComponent } from './components/read-more/read-more';
35
35
  import { MrMetadataDynamicComponent } from './components';
36
+ import { MrInputTypeaheadComponent } from './components/input-typeahead/input-typeahead';
36
37
  import * as i0 from "@angular/core";
37
38
  import * as i1 from "./services/locale.service";
38
39
  import * as i2 from "@net7/boilerplate-common";
@@ -61,6 +62,7 @@ const COMPONENTS = [
61
62
  MrGalleryComponent,
62
63
  MrAdvancedResultComponent,
63
64
  MrMetadataDynamicComponent,
65
+ MrInputTypeaheadComponent,
64
66
  ];
65
67
  export class N7BoilerplateMurucaModule {
66
68
  constructor(localeService, mainState, router) {
@@ -105,7 +107,8 @@ export class N7BoilerplateMurucaModule {
105
107
  MrResourceModalComponent,
106
108
  MrGalleryComponent,
107
109
  MrAdvancedResultComponent,
108
- MrMetadataDynamicComponent], imports: [CommonModule,
110
+ MrMetadataDynamicComponent,
111
+ MrInputTypeaheadComponent], imports: [CommonModule,
109
112
  DvComponentsLibModule,
110
113
  N7BoilerplateCommonModule], exports: [
111
114
  // Layout components
@@ -130,7 +133,8 @@ export class N7BoilerplateMurucaModule {
130
133
  MrResourceModalComponent,
131
134
  MrGalleryComponent,
132
135
  MrAdvancedResultComponent,
133
- MrMetadataDynamicComponent] }); }
136
+ MrMetadataDynamicComponent,
137
+ MrInputTypeaheadComponent] }); }
134
138
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: N7BoilerplateMurucaModule, providers: [
135
139
  MrSearchService,
136
140
  MrLayoutStateService,
@@ -161,4 +165,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
161
165
  exports: COMPONENTS
162
166
  }]
163
167
  }], ctorParameters: () => [{ type: i1.MrLocaleService }, { type: i2.MainStateService }, { type: i3.Router }] });
164
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibjctYm9pbGVycGxhdGUtbXVydWNhLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL243LWJvaWxlcnBsYXRlLW11cnVjYS9zcmMvbGliL243LWJvaWxlcnBsYXRlLW11cnVjYS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsVUFBVTtBQUNWLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3pELE9BQU8sRUFBb0IseUJBQXlCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RixXQUFXO0FBQ1gsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxRQUFRO0FBQ1IsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hELFVBQVU7QUFDVixPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUM3RyxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUMxRyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN6RixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNuRixP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Iiwic291cmNlc0NvbnRlbnQiOlsiLy8gTU9EVUxFU1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgRHZDb21wb25lbnRzTGliTW9kdWxlIH0gZnJvbSAnQG5ldDcvY29tcG9uZW50cyc7XG5pbXBvcnQgeyBNYWluU3RhdGVTZXJ2aWNlLCBON0JvaWxlcnBsYXRlQ29tbW9uTW9kdWxlIH0gZnJvbSAnQG5ldDcvYm9pbGVycGxhdGUtY29tbW9uJztcbi8vIFNFUlZJQ0VTXG5pbXBvcnQgeyBNclNlYXJjaFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3NlYXJjaC5zZXJ2aWNlJztcbmltcG9ydCB7IE1yTGF5b3V0U3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9sYXlvdXQtc3RhdGUuc2VydmljZSc7XG5pbXBvcnQgeyBNclJlc291cmNlTW9kYWxTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9yZXNvdXJjZS1tb2RhbC5zZXJ2aWNlJztcbmltcG9ydCB7IE1yTG9jYWxlU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvbG9jYWxlLnNlcnZpY2UnO1xuLy8gUElQRVNcbmltcG9ydCB7IEVzY2FwZUh0bWxQaXBlIH0gZnJvbSAnLi9waXBlcy9rZWVwLWh0bWwucGlwZSc7XG4vLyBMQVlPVVRTXG5pbXBvcnQgeyBNckFkdmFuY2VkUmVzdWx0c0xheW91dENvbXBvbmVudCB9IGZyb20gJy4vbGF5b3V0cy9hZHZhbmNlZC1yZXN1bHRzLWxheW91dC9hZHZhbmNlZC1yZXN1bHRzLWxheW91dCc7XG5pbXBvcnQgeyBNckFkdmFuY2VkU2VhcmNoTGF5b3V0Q29tcG9uZW50IH0gZnJvbSAnLi9sYXlvdXRzL2FkdmFuY2VkLXNlYXJjaC1sYXlvdXQvYWR2YW5jZWQtc2VhcmNoLWxheW91dCc7XG5pbXBvcnQgeyBNckhvbWVMYXlvdXRDb21wb25lbnQgfSBmcm9tICcuL2xheW91dHMvaG9tZS1sYXlvdXQvaG9tZS1sYXlvdXQnO1xuaW1wb3J0IHsgTXJJdGluZXJhcnlMYXlvdXRDb21wb25lbnQgfSBmcm9tICcuL2xheW91dHMvaXRpbmVyYXJ5LWxheW91dC9pdGluZXJhcnktbGF5b3V0JztcbmltcG9ydCB7IE1yTWFwTGF5b3V0Q29tcG9uZW50IH0gZnJvbSAnLi9sYXlvdXRzL21hcC1sYXlvdXQvbWFwLWxheW91dCc7XG5pbXBvcnQgeyBNck5ldHdvcmtMYXlvdXRDb21wb25lbnQgfSBmcm9tICcuL2xheW91dHMvbmV0d29yay1sYXlvdXQvbmV0d29yay1sYXlvdXQnO1xuaW1wb3J0IHsgTXJQb3N0c0xheW91dENvbXBvbmVudCB9IGZyb20gJy4vbGF5b3V0cy9wb3N0cy1sYXlvdXQvcG9zdHMtbGF5b3V0JztcbmltcG9ydCB7IE1yUmVzb3VyY2VMYXlvdXRDb21wb25lbnQgfSBmcm9tICcuL2xheW91dHMvcmVzb3VyY2UtbGF5b3V0L3Jlc291cmNlLWxheW91dCc7XG5pbXBvcnQgeyBNclNlYXJjaEZhY2V0c0xheW91dENvbXBvbmVudCB9IGZyb20gJy4vbGF5b3V0cy9zZWFyY2gtZmFjZXRzLWxheW91dC9zZWFyY2gtZmFjZXRzLWxheW91dCc7XG5pbXBvcnQgeyBNclNlYXJjaExheW91dENvbXBvbmVudCB9IGZyb20gJy4vbGF5b3V0cy9zZWFyY2gtbGF5b3V0L3NlYXJjaC1sYXlvdXQnO1xuaW1wb3J0IHsgTXJTdGF0aWNMYXlvdXRDb21wb25lbnQgfSBmcm9tICcuL2xheW91dHMvc3RhdGljLWxheW91dC9zdGF0aWMtbGF5b3V0JztcbmltcG9ydCB7IE1yVGltZWxpbmVMYXlvdXRDb21wb25lbnQgfSBmcm9tICcuL2xheW91dHMvdGltZWxpbmUtbGF5b3V0L3RpbWVsaW5lLWxheW91dCc7XG4vLyBDT01QT05FTlRTXG5pbXBvcnQgeyBNckFkdmFuY2VkUmVzdWx0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2FkdmFuY2VkLXJlc3VsdC9hZHZhbmNlZC1yZXN1bHQnO1xuaW1wb3J0IHsgTXJGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Zvcm0vZm9ybSc7XG5pbXBvcnQgeyBNckZvcm1XcmFwcGVyQWNjb3JkaW9uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Zvcm0td3JhcHBlci1hY2NvcmRpb24vZm9ybS13cmFwcGVyLWFjY29yZGlvbic7XG5pbXBvcnQgeyBNckdhbGxlcnlDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZ2FsbGVyeS9nYWxsZXJ5JztcbmltcG9ydCB7IE1yTWV0YWRhdGFSZWFkbW9yZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9tZXRhZGF0YS13aXRoLXJlYWRtb3JlL21ldGFkYXRhLXdpdGgtcmVhZG1vcmUnO1xuaW1wb3J0IHsgTXJSZXNvdXJjZU1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Jlc291cmNlLW1vZGFsL3Jlc291cmNlLW1vZGFsJztcbmltcG9ydCB7IE1yU2VhcmNoUGFnZURlc2NyaXB0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3NlYXJjaC1wYWdlLWRlc2NyaXB0aW9uL3NlYXJjaC1wYWdlLWRlc2NyaXB0aW9uJztcbmltcG9ydCB7IFJlYWRNb3JlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3JlYWQtbW9yZS9yZWFkLW1vcmUnO1xuaW1wb3J0IHsgTXJNZXRhZGF0YUR5bmFtaWNDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMnO1xuXG5jb25zdCBDT01QT05FTlRTID0gW1xuICAvLyBMYXlvdXQgY29tcG9uZW50c1xuICBNckFkdmFuY2VkUmVzdWx0c0xheW91dENvbXBvbmVudCxcbiAgTXJBZHZhbmNlZFNlYXJjaExheW91dENvbXBvbmVudCxcbiAgTXJIb21lTGF5b3V0Q29tcG9uZW50LFxuICBNckl0aW5lcmFyeUxheW91dENvbXBvbmVudCxcbiAgTXJNYXBMYXlvdXRDb21wb25lbnQsXG4gIE1yTmV0d29ya0xheW91dENvbXBvbmVudCxcbiAgTXJNZXRhZGF0YVJlYWRtb3JlQ29tcG9uZW50LFxuICBNclBvc3RzTGF5b3V0Q29tcG9uZW50LFxuICBNclJlc291cmNlTGF5b3V0Q29tcG9uZW50LFxuICBNclNlYXJjaEZhY2V0c0xheW91dENvbXBvbmVudCxcbiAgTXJTZWFyY2hMYXlvdXRDb21wb25lbnQsXG4gIE1yU3RhdGljTGF5b3V0Q29tcG9uZW50LFxuICBNclRpbWVsaW5lTGF5b3V0Q29tcG9uZW50LFxuICAvLyBDdXN0b20gY29tcG9uZW50c1xuICBSZWFkTW9yZUNvbXBvbmVudCxcbiAgTXJGb3JtQ29tcG9uZW50LFxuICBNckZvcm1XcmFwcGVyQWNjb3JkaW9uQ29tcG9uZW50LFxuICBNclNlYXJjaFBhZ2VEZXNjcmlwdGlvbkNvbXBvbmVudCxcbiAgTXJSZXNvdXJjZU1vZGFsQ29tcG9uZW50LFxuICBNckdhbGxlcnlDb21wb25lbnQsXG4gIE1yQWR2YW5jZWRSZXN1bHRDb21wb25lbnQsXG4gIE1yTWV0YWRhdGFEeW5hbWljQ29tcG9uZW50LFxuXTtcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgRXNjYXBlSHRtbFBpcGUsXG4gICAgQ09NUE9ORU5UU1xuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIER2Q29tcG9uZW50c0xpYk1vZHVsZSxcbiAgICBON0JvaWxlcnBsYXRlQ29tbW9uTW9kdWxlLFxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICBNclNlYXJjaFNlcnZpY2UsXG4gICAgTXJMYXlvdXRTdGF0ZVNlcnZpY2UsXG4gICAgTXJSZXNvdXJjZU1vZGFsU2VydmljZSxcbiAgICBNckxvY2FsZVNlcnZpY2VcbiAgXSxcbiAgZXhwb3J0czogQ09NUE9ORU5UU1xufSlcbmV4cG9ydCBjbGFzcyBON0JvaWxlcnBsYXRlTXVydWNhTW9kdWxlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBsb2NhbGVTZXJ2aWNlOiBNckxvY2FsZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBtYWluU3RhdGU6IE1haW5TdGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgKSB7XG4gICAgLy8gbGlzdGVuIHRvIGxvY2FsZSAobGFuZ3VhZ2Ugc2VsZWN0KSBjaGFuZ2UgZXZlbnRcbiAgICB0aGlzLm1haW5TdGF0ZS5nZXQkKCdmb290ZXJFdmVudHMnKS5zdWJzY3JpYmUoKHsgdHlwZSwgcGF5bG9hZCB9KSA9PiB7XG4gICAgICBpZiAodHlwZSA9PT0gJ2Zvb3Rlci5jaGFuZ2UnICYmIHBheWxvYWQ/LmlucHV0UGF5bG9hZCA9PT0gJ2xvY2FsZScpIHtcbiAgICAgICAgY29uc3QgY3VycmVudExvY2FsZSA9IHRoaXMubG9jYWxlU2VydmljZS5nZXRMb2NhbGUoKTtcbiAgICAgICAgY29uc3QgeyB2YWx1ZSB9ID0gcGF5bG9hZDtcbiAgICAgICAgaWYgKGN1cnJlbnRMb2NhbGUgIT09IHZhbHVlKSB7XG4gICAgICAgICAgY29uc3QgaHJlZiA9IHRoaXMubG9jYWxlU2VydmljZS5nZXRMaW5rQnlMb2NhbGUodmFsdWUpO1xuICAgICAgICAgIGlmIChocmVmKSB7XG4gICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbaHJlZl0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iXX0=
168
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibjctYm9pbGVycGxhdGUtbXVydWNhLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL243LWJvaWxlcnBsYXRlLW11cnVjYS9zcmMvbGliL243LWJvaWxlcnBsYXRlLW11cnVjYS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsVUFBVTtBQUNWLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3pELE9BQU8sRUFBb0IseUJBQXlCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RixXQUFXO0FBQ1gsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxRQUFRO0FBQ1IsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hELFVBQVU7QUFDVixPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUM3RyxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUMxRyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN6RixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNuRixP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d0JBQ1QsZUFBZTt3QkFDZixvQkFBb0I7d0JBQ3BCLHNCQUFzQjt3QkFDdEIsZUFBZTtxQkFDaEI7b0JBQ0QsT0FBTyxFQUFFLFVBQVU7aUJBQ3BCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gTU9EVUxFU1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgRHZDb21wb25lbnRzTGliTW9kdWxlIH0gZnJvbSAnQG5ldDcvY29tcG9uZW50cyc7XG5pbXBvcnQgeyBNYWluU3RhdGVTZXJ2aWNlLCBON0JvaWxlcnBsYXRlQ29tbW9uTW9kdWxlIH0gZnJvbSAnQG5ldDcvYm9pbGVycGxhdGUtY29tbW9uJztcbi8vIFNFUlZJQ0VTXG5pbXBvcnQgeyBNclNlYXJjaFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3NlYXJjaC5zZXJ2aWNlJztcbmltcG9ydCB7IE1yTGF5b3V0U3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9sYXlvdXQtc3RhdGUuc2VydmljZSc7XG5pbXBvcnQgeyBNclJlc291cmNlTW9kYWxTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9yZXNvdXJjZS1tb2RhbC5zZXJ2aWNlJztcbmltcG9ydCB7IE1yTG9jYWxlU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvbG9jYWxlLnNlcnZpY2UnO1xuLy8gUElQRVNcbmltcG9ydCB7IEVzY2FwZUh0bWxQaXBlIH0gZnJvbSAnLi9waXBlcy9rZWVwLWh0bWwucGlwZSc7XG4vLyBMQVlPVVRTXG5pbXBvcnQgeyBNckFkdmFuY2VkUmVzdWx0c0xheW91dENvbXBvbmVudCB9IGZyb20gJy4vbGF5b3V0cy9hZHZhbmNlZC1yZXN1bHRzLWxheW91dC9hZHZhbmNlZC1yZXN1bHRzLWxheW91dCc7XG5pbXBvcnQgeyBNckFkdmFuY2VkU2VhcmNoTGF5b3V0Q29tcG9uZW50IH0gZnJvbSAnLi9sYXlvdXRzL2FkdmFuY2VkLXNlYXJjaC1sYXlvdXQvYWR2YW5jZWQtc2VhcmNoLWxheW91dCc7XG5pbXBvcnQgeyBNckhvbWVMYXlvdXRDb21wb25lbnQgfSBmcm9tICcuL2xheW91dHMvaG9tZS1sYXlvdXQvaG9tZS1sYXlvdXQnO1xuaW1wb3J0IHsgTXJJdGluZXJhcnlMYXlvdXRDb21wb25lbnQgfSBmcm9tICcuL2xheW91dHMvaXRpbmVyYXJ5LWxheW91dC9pdGluZXJhcnktbGF5b3V0JztcbmltcG9ydCB7IE1yTWFwTGF5b3V0Q29tcG9uZW50IH0gZnJvbSAnLi9sYXlvdXRzL21hcC1sYXlvdXQvbWFwLWxheW91dCc7XG5pbXBvcnQgeyBNck5ldHdvcmtMYXlvdXRDb21wb25lbnQgfSBmcm9tICcuL2xheW91dHMvbmV0d29yay1sYXlvdXQvbmV0d29yay1sYXlvdXQnO1xuaW1wb3J0IHsgTXJQb3N0c0xheW91dENvbXBvbmVudCB9IGZyb20gJy4vbGF5b3V0cy9wb3N0cy1sYXlvdXQvcG9zdHMtbGF5b3V0JztcbmltcG9ydCB7IE1yUmVzb3VyY2VMYXlvdXRDb21wb25lbnQgfSBmcm9tICcuL2xheW91dHMvcmVzb3VyY2UtbGF5b3V0L3Jlc291cmNlLWxheW91dCc7XG5pbXBvcnQgeyBNclNlYXJjaEZhY2V0c0xheW91dENvbXBvbmVudCB9IGZyb20gJy4vbGF5b3V0cy9zZWFyY2gtZmFjZXRzLWxheW91dC9zZWFyY2gtZmFjZXRzLWxheW91dCc7XG5pbXBvcnQgeyBNclNlYXJjaExheW91dENvbXBvbmVudCB9IGZyb20gJy4vbGF5b3V0cy9zZWFyY2gtbGF5b3V0L3NlYXJjaC1sYXlvdXQnO1xuaW1wb3J0IHsgTXJTdGF0aWNMYXlvdXRDb21wb25lbnQgfSBmcm9tICcuL2xheW91dHMvc3RhdGljLWxheW91dC9zdGF0aWMtbGF5b3V0JztcbmltcG9ydCB7IE1yVGltZWxpbmVMYXlvdXRDb21wb25lbnQgfSBmcm9tICcuL2xheW91dHMvdGltZWxpbmUtbGF5b3V0L3RpbWVsaW5lLWxheW91dCc7XG4vLyBDT01QT05FTlRTXG5pbXBvcnQgeyBNckFkdmFuY2VkUmVzdWx0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2FkdmFuY2VkLXJlc3VsdC9hZHZhbmNlZC1yZXN1bHQnO1xuaW1wb3J0IHsgTXJGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Zvcm0vZm9ybSc7XG5pbXBvcnQgeyBNckZvcm1XcmFwcGVyQWNjb3JkaW9uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Zvcm0td3JhcHBlci1hY2NvcmRpb24vZm9ybS13cmFwcGVyLWFjY29yZGlvbic7XG5pbXBvcnQgeyBNckdhbGxlcnlDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZ2FsbGVyeS9nYWxsZXJ5JztcbmltcG9ydCB7IE1yTWV0YWRhdGFSZWFkbW9yZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9tZXRhZGF0YS13aXRoLXJlYWRtb3JlL21ldGFkYXRhLXdpdGgtcmVhZG1vcmUnO1xuaW1wb3J0IHsgTXJSZXNvdXJjZU1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Jlc291cmNlLW1vZGFsL3Jlc291cmNlLW1vZGFsJztcbmltcG9ydCB7IE1yU2VhcmNoUGFnZURlc2NyaXB0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3NlYXJjaC1wYWdlLWRlc2NyaXB0aW9uL3NlYXJjaC1wYWdlLWRlc2NyaXB0aW9uJztcbmltcG9ydCB7IFJlYWRNb3JlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3JlYWQtbW9yZS9yZWFkLW1vcmUnO1xuaW1wb3J0IHsgTXJNZXRhZGF0YUR5bmFtaWNDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgTXJJbnB1dFR5cGVhaGVhZENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9pbnB1dC10eXBlYWhlYWQvaW5wdXQtdHlwZWFoZWFkJztcblxuY29uc3QgQ09NUE9ORU5UUyA9IFtcbiAgLy8gTGF5b3V0IGNvbXBvbmVudHNcbiAgTXJBZHZhbmNlZFJlc3VsdHNMYXlvdXRDb21wb25lbnQsXG4gIE1yQWR2YW5jZWRTZWFyY2hMYXlvdXRDb21wb25lbnQsXG4gIE1ySG9tZUxheW91dENvbXBvbmVudCxcbiAgTXJJdGluZXJhcnlMYXlvdXRDb21wb25lbnQsXG4gIE1yTWFwTGF5b3V0Q29tcG9uZW50LFxuICBNck5ldHdvcmtMYXlvdXRDb21wb25lbnQsXG4gIE1yTWV0YWRhdGFSZWFkbW9yZUNvbXBvbmVudCxcbiAgTXJQb3N0c0xheW91dENvbXBvbmVudCxcbiAgTXJSZXNvdXJjZUxheW91dENvbXBvbmVudCxcbiAgTXJTZWFyY2hGYWNldHNMYXlvdXRDb21wb25lbnQsXG4gIE1yU2VhcmNoTGF5b3V0Q29tcG9uZW50LFxuICBNclN0YXRpY0xheW91dENvbXBvbmVudCxcbiAgTXJUaW1lbGluZUxheW91dENvbXBvbmVudCxcbiAgLy8gQ3VzdG9tIGNvbXBvbmVudHNcbiAgUmVhZE1vcmVDb21wb25lbnQsXG4gIE1yRm9ybUNvbXBvbmVudCxcbiAgTXJGb3JtV3JhcHBlckFjY29yZGlvbkNvbXBvbmVudCxcbiAgTXJTZWFyY2hQYWdlRGVzY3JpcHRpb25Db21wb25lbnQsXG4gIE1yUmVzb3VyY2VNb2RhbENvbXBvbmVudCxcbiAgTXJHYWxsZXJ5Q29tcG9uZW50LFxuICBNckFkdmFuY2VkUmVzdWx0Q29tcG9uZW50LFxuICBNck1ldGFkYXRhRHluYW1pY0NvbXBvbmVudCxcbiAgTXJJbnB1dFR5cGVhaGVhZENvbXBvbmVudCxcbl07XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEVzY2FwZUh0bWxQaXBlLFxuICAgIENPTVBPTkVOVFNcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBEdkNvbXBvbmVudHNMaWJNb2R1bGUsXG4gICAgTjdCb2lsZXJwbGF0ZUNvbW1vbk1vZHVsZSxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgTXJTZWFyY2hTZXJ2aWNlLFxuICAgIE1yTGF5b3V0U3RhdGVTZXJ2aWNlLFxuICAgIE1yUmVzb3VyY2VNb2RhbFNlcnZpY2UsXG4gICAgTXJMb2NhbGVTZXJ2aWNlXG4gIF0sXG4gIGV4cG9ydHM6IENPTVBPTkVOVFNcbn0pXG5leHBvcnQgY2xhc3MgTjdCb2lsZXJwbGF0ZU11cnVjYU1vZHVsZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgbG9jYWxlU2VydmljZTogTXJMb2NhbGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgbWFpblN0YXRlOiBNYWluU3RhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICkge1xuICAgIC8vIGxpc3RlbiB0byBsb2NhbGUgKGxhbmd1YWdlIHNlbGVjdCkgY2hhbmdlIGV2ZW50XG4gICAgdGhpcy5tYWluU3RhdGUuZ2V0JCgnZm9vdGVyRXZlbnRzJykuc3Vic2NyaWJlKCh7IHR5cGUsIHBheWxvYWQgfSkgPT4ge1xuICAgICAgaWYgKHR5cGUgPT09ICdmb290ZXIuY2hhbmdlJyAmJiBwYXlsb2FkPy5pbnB1dFBheWxvYWQgPT09ICdsb2NhbGUnKSB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRMb2NhbGUgPSB0aGlzLmxvY2FsZVNlcnZpY2UuZ2V0TG9jYWxlKCk7XG4gICAgICAgIGNvbnN0IHsgdmFsdWUgfSA9IHBheWxvYWQ7XG4gICAgICAgIGlmIChjdXJyZW50TG9jYWxlICE9PSB2YWx1ZSkge1xuICAgICAgICAgIGNvbnN0IGhyZWYgPSB0aGlzLmxvY2FsZVNlcnZpY2UuZ2V0TGlua0J5TG9jYWxlKHZhbHVlKTtcbiAgICAgICAgICBpZiAoaHJlZikge1xuICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW2hyZWZdKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuIl19