@tetacom/ng-components 1.4.16 → 1.4.18

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.
@@ -33,7 +33,7 @@ export class PropertyGridComponent {
33
33
  for (const key in this.item()) {
34
34
  if (Object.prototype.hasOwnProperty.call(this.item(), key)) {
35
35
  if (!this.formGroup.get(key)) {
36
- this.formGroup.setControl(key, new UntypedFormControl(this.item()[key]), {
36
+ this.formGroup.setControl(key, new UntypedFormControl(this.item()[key], { updateOn: 'blur' }), {
37
37
  emitEvent: false,
38
38
  });
39
39
  }
@@ -74,15 +74,15 @@ export class PropertyGridComponent {
74
74
  return this.dict()[name]?.find((_) => _.id === value);
75
75
  }
76
76
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: PropertyGridComponent, deps: [{ token: i1.ControlContainer, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
77
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.1", type: PropertyGridComponent, isStandalone: true, selector: "teta-property-grid", inputs: { hideNonEditable: { classPropertyName: "hideNonEditable", publicName: "hideNonEditable", isSignal: true, isRequired: false, transformFunction: null }, columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: false, transformFunction: null }, dict: { classPropertyName: "dict", publicName: "dict", isSignal: true, isRequired: false, transformFunction: null }, item: { classPropertyName: "item", publicName: "item", isSignal: true, isRequired: false, transformFunction: null }, horizontal: { classPropertyName: "horizontal", publicName: "horizontal", isSignal: true, isRequired: false, transformFunction: null }, decimalPart: { classPropertyName: "decimalPart", publicName: "decimalPart", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { controlValueChange: "controlValueChange" }, host: { properties: { "class.form-container": "this.formClass" } }, queries: [{ propertyName: "itemTemplates", predicate: PropertyGridItemDescriptionDirective, isSignal: true }], ngImport: i0, template: "@if (columns().length) { @for (column of columns(); track column.name) { @if (column.columns?.length < 1 &&\n(getEditable(column) || !hideNonEditable())) {\n<teta-property-grid-item\n [dict]=\"dict()\"\n [column]=\"column\"\n [item]=\"item()\"\n [id]=\"column.name\"\n [itemTemplates]=\"itemTemplates()\"\n [decimalPart]=\"decimalPart()\"\n [formGroup]=\"formGroup\"\n [horizontal]=\"horizontal()\"\n (controlValueChange)=\"onControlValueChange($event)\"\n [hideNonEditable]=\"hideNonEditable()\"\n></teta-property-grid-item>\n} @if (column.columns?.length > 0 && (getEditable(column) || !hideNonEditable())) {\n<teta-property-grid-group\n [id]=\"column.name\"\n [dict]=\"dict()\"\n [column]=\"column\"\n [item]=\"item()\"\n [itemTemplates]=\"itemTemplates()\"\n [decimalPart]=\"decimalPart()\"\n [formGroup]=\"formGroup\"\n [horizontal]=\"horizontal()\"\n (controlValueChange)=\"onControlValueChange($event)\"\n [hideNonEditable]=\"hideNonEditable()\"\n></teta-property-grid-group>\n} } }\n", styles: [":host{padding:12px 8px}\n"], dependencies: [{ kind: "component", type: PropertyGridItemComponent, selector: "teta-property-grid-item", inputs: ["column", "hideNonEditable", "dict", "decimalPart", "item", "itemTemplates", "horizontal"], outputs: ["controlValueChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: PropertyGridGroupComponent, selector: "teta-property-grid-group", inputs: ["column", "hideNonEditable", "dict", "item", "horizontal", "decimalPart", "itemTemplates"], outputs: ["controlValueChange"] }], viewProviders: [FormsUtil.formProvider], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
77
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.1", type: PropertyGridComponent, isStandalone: true, selector: "teta-property-grid", inputs: { hideNonEditable: { classPropertyName: "hideNonEditable", publicName: "hideNonEditable", isSignal: true, isRequired: false, transformFunction: null }, columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: false, transformFunction: null }, dict: { classPropertyName: "dict", publicName: "dict", isSignal: true, isRequired: false, transformFunction: null }, item: { classPropertyName: "item", publicName: "item", isSignal: true, isRequired: false, transformFunction: null }, horizontal: { classPropertyName: "horizontal", publicName: "horizontal", isSignal: true, isRequired: false, transformFunction: null }, decimalPart: { classPropertyName: "decimalPart", publicName: "decimalPart", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { controlValueChange: "controlValueChange" }, host: { properties: { "class.form-container": "this.formClass" } }, queries: [{ propertyName: "itemTemplates", predicate: PropertyGridItemDescriptionDirective, isSignal: true }], ngImport: i0, template: "@if (columns()?.length) { @for (column of columns(); track column.name) { @if (column.columns?.length < 1 &&\n(getEditable(column) || !hideNonEditable())) {\n<teta-property-grid-item\n [dict]=\"dict()\"\n [column]=\"column\"\n [item]=\"item()\"\n [id]=\"column.name\"\n [itemTemplates]=\"itemTemplates()\"\n [decimalPart]=\"decimalPart()\"\n [formGroup]=\"formGroup\"\n [horizontal]=\"horizontal()\"\n (controlValueChange)=\"onControlValueChange($event)\"\n [hideNonEditable]=\"hideNonEditable()\"\n></teta-property-grid-item>\n} @if (column.columns?.length > 0 && (getEditable(column) || !hideNonEditable())) {\n<teta-property-grid-group\n [id]=\"column.name\"\n [dict]=\"dict()\"\n [column]=\"column\"\n [item]=\"item()\"\n [itemTemplates]=\"itemTemplates()\"\n [decimalPart]=\"decimalPart()\"\n [formGroup]=\"formGroup\"\n [horizontal]=\"horizontal()\"\n (controlValueChange)=\"onControlValueChange($event)\"\n [hideNonEditable]=\"hideNonEditable()\"\n></teta-property-grid-group>\n} } }\n", styles: [":host{padding:12px 8px}\n"], dependencies: [{ kind: "component", type: PropertyGridItemComponent, selector: "teta-property-grid-item", inputs: ["column", "hideNonEditable", "dict", "decimalPart", "item", "itemTemplates", "horizontal"], outputs: ["controlValueChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: PropertyGridGroupComponent, selector: "teta-property-grid-group", inputs: ["column", "hideNonEditable", "dict", "item", "horizontal", "decimalPart", "itemTemplates"], outputs: ["controlValueChange"] }], viewProviders: [FormsUtil.formProvider], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
78
78
  }
79
79
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: PropertyGridComponent, decorators: [{
80
80
  type: Component,
81
- args: [{ selector: 'teta-property-grid', viewProviders: [FormsUtil.formProvider], standalone: true, imports: [PropertyGridItemComponent, FormsModule, ReactiveFormsModule, PropertyGridGroupComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (columns().length) { @for (column of columns(); track column.name) { @if (column.columns?.length < 1 &&\n(getEditable(column) || !hideNonEditable())) {\n<teta-property-grid-item\n [dict]=\"dict()\"\n [column]=\"column\"\n [item]=\"item()\"\n [id]=\"column.name\"\n [itemTemplates]=\"itemTemplates()\"\n [decimalPart]=\"decimalPart()\"\n [formGroup]=\"formGroup\"\n [horizontal]=\"horizontal()\"\n (controlValueChange)=\"onControlValueChange($event)\"\n [hideNonEditable]=\"hideNonEditable()\"\n></teta-property-grid-item>\n} @if (column.columns?.length > 0 && (getEditable(column) || !hideNonEditable())) {\n<teta-property-grid-group\n [id]=\"column.name\"\n [dict]=\"dict()\"\n [column]=\"column\"\n [item]=\"item()\"\n [itemTemplates]=\"itemTemplates()\"\n [decimalPart]=\"decimalPart()\"\n [formGroup]=\"formGroup\"\n [horizontal]=\"horizontal()\"\n (controlValueChange)=\"onControlValueChange($event)\"\n [hideNonEditable]=\"hideNonEditable()\"\n></teta-property-grid-group>\n} } }\n", styles: [":host{padding:12px 8px}\n"] }]
81
+ args: [{ selector: 'teta-property-grid', viewProviders: [FormsUtil.formProvider], standalone: true, imports: [PropertyGridItemComponent, FormsModule, ReactiveFormsModule, PropertyGridGroupComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (columns()?.length) { @for (column of columns(); track column.name) { @if (column.columns?.length < 1 &&\n(getEditable(column) || !hideNonEditable())) {\n<teta-property-grid-item\n [dict]=\"dict()\"\n [column]=\"column\"\n [item]=\"item()\"\n [id]=\"column.name\"\n [itemTemplates]=\"itemTemplates()\"\n [decimalPart]=\"decimalPart()\"\n [formGroup]=\"formGroup\"\n [horizontal]=\"horizontal()\"\n (controlValueChange)=\"onControlValueChange($event)\"\n [hideNonEditable]=\"hideNonEditable()\"\n></teta-property-grid-item>\n} @if (column.columns?.length > 0 && (getEditable(column) || !hideNonEditable())) {\n<teta-property-grid-group\n [id]=\"column.name\"\n [dict]=\"dict()\"\n [column]=\"column\"\n [item]=\"item()\"\n [itemTemplates]=\"itemTemplates()\"\n [decimalPart]=\"decimalPart()\"\n [formGroup]=\"formGroup\"\n [horizontal]=\"horizontal()\"\n (controlValueChange)=\"onControlValueChange($event)\"\n [hideNonEditable]=\"hideNonEditable()\"\n></teta-property-grid-group>\n} } }\n", styles: [":host{padding:12px 8px}\n"] }]
82
82
  }], ctorParameters: () => [{ type: i1.ControlContainer, decorators: [{
83
83
  type: Optional
84
84
  }] }], propDecorators: { formClass: [{
85
85
  type: HostBinding,
86
86
  args: ['class.form-container']
87
87
  }] } });
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktZ3JpZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3Byb3BlcnR5LWdyaWQvcHJvcGVydHktZ3JpZC9wcm9wZXJ0eS1ncmlkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvcHJvcGVydHktZ3JpZC9wcm9wZXJ0eS1ncmlkL3Byb3BlcnR5LWdyaWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsZUFBZSxFQUNmLE1BQU0sRUFDTixXQUFXLEVBQ1gsS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixTQUFTLEVBQ1QsV0FBVyxFQUNYLE1BQU0sRUFDTixtQkFBbUIsRUFDbkIsa0JBQWtCLEdBQ25CLE1BQU0sZ0JBQWdCLENBQUM7QUFJeEIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXJELE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ2xHLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDOzs7QUFXOUYsTUFBTSxPQUFPLHFCQUFxQjtJQWFoQyxJQUFJLFNBQVM7UUFDWCxJQUFJLElBQUksQ0FBQyxVQUFVLFlBQVksU0FBUyxFQUFFLENBQUM7WUFDekMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQ3pCLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxVQUFVLFlBQVksTUFBTSxFQUFFLENBQUM7WUFDdEMsT0FBTyxJQUFJ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LFNBQVMsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQ3BDLENBQUM7Z0JBQ0gsQ0FBQztZQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUNELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVPLFlBQVksQ0FBQyxLQUFVLEVBQUUsSUFBWTtRQUMzQyxPQUFPLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssS0FBSyxDQUFDLENBQUM7SUFDeEQsQ0FBQzs4R0F0RVUscUJBQXFCO2tHQUFyQixxQkFBcUIsa2dDQUVBLG9DQUFvQyw2Q0N2Q3RFLHEvQkE0QkEsbUZETVkseUJBQXlCLHlNQUFFLFdBQVcsMExBQUUsbUJBQW1CLGdMQUFFLDBCQUEwQixnTUFGbEYsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDOzsyRkFLNUIscUJBQXFCO2tCQVRqQyxTQUFTOytCQUNFLG9CQUFvQixpQkFHZixDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsY0FDM0IsSUFBSSxXQUNQLENBQUMseUJBQXlCLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLDBCQUEwQixDQUFDLG1CQUNqRix1QkFBdUIsQ0FBQyxNQUFNOzswQkF5QmxDLFFBQVE7eUNBdEJnQixTQUFTO3NCQUE3QyxXQUFXO3VCQUFDLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIGNvbnRlbnRDaGlsZHJlbixcbiAgZWZmZWN0LFxuICBIb3N0QmluZGluZyxcbiAgaW5wdXQsXG4gIE9wdGlvbmFsLFxuICBvdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQ29udHJvbENvbnRhaW5lcixcbiAgRm9ybUdyb3VwLFxuICBGb3Jtc01vZHVsZSxcbiAgTmdGb3JtLFxuICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICBVbnR5cGVkRm9ybUNvbnRyb2wsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgSURpY3Rpb25hcnkgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vY29udHJhY3QvaS1kaWN0aW9uYXJ5JztcbmltcG9ydCB7IElJZE5hbWUgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vY29udHJhY3QvaS1pZC1uYW1lJztcbmltcG9ydCB7IGJvb2xPckZ1bmNDYWxsYmFjayB9IGZyb20gJy4uLy4uLy4uL3V0aWwvYm9vbC1vci1mdW5jJztcbmltcG9ydCB7IEZvcm1zVXRpbCB9IGZyb20gJy4uLy4uLy4uL3V0aWwvZm9ybXMtdXRpbCc7XG5pbXBvcnQgeyBUYWJsZUNvbHVtbiB9IGZyb20gJy4uLy4uL3RhYmxlL2NvbnRyYWN0L3RhYmxlLWNvbHVtbic7XG5pbXBvcnQgeyBQcm9wZXJ0eUdyaWRJdGVtRGVzY3JpcHRpb25EaXJlY3RpdmUgfSBmcm9tICcuL3Byb3BlcnR5LWdyaWQtaXRlbS1kZXNjcmlwdGlvbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgUHJvcGVydHlHcmlkR3JvdXBDb21wb25lbnQgfSBmcm9tICcuL3Byb3BlcnR5LWdyaWQtZ3JvdXAvcHJvcGVydHktZ3JpZC1ncm91cC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJvcGVydHlHcmlkSXRlbUNvbXBvbmVudCB9IGZyb20gJy4vcHJvcGVydHktZ3JpZC1pdGVtL3Byb3BlcnR5LWdyaWQtaXRlbS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXRhLXByb3BlcnR5LWdyaWQnLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJvcGVydHktZ3JpZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Byb3BlcnR5LWdyaWQuY29tcG9uZW50LnNjc3MnXSxcbiAgdmlld1Byb3ZpZGVyczogW0Zvcm1zVXRpbC5mb3JtUHJvdmlkZXJdLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbUHJvcGVydHlHcmlkSXRlbUNvbXBvbmVudCwgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIFByb3BlcnR5R3JpZEdyb3VwQ29tcG9uZW50XSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFByb3BlcnR5R3JpZENvbXBvbmVudDxUPiB7XG4gIEBIb3N0QmluZGluZygnY2xhc3MuZm9ybS1jb250YWluZXInKSBmb3JtQ2xhc3MgPSB0cnVlO1xuICBpdGVtVGVtcGxhdGVzID0gY29udGVudENoaWxkcmVuKFByb3BlcnR5R3JpZEl0ZW1EZXNjcmlwdGlvbkRpcmVjdGl2ZSk7XG4gIGhpZGVOb25FZGl0YWJsZSA9IGlucHV0PGJvb2xlYW4+KCk7XG4gIGNvbHVtbnMgPSBpbnB1dDxUYWJsZUNvbHVtbltdPigpO1xuICBkaWN0ID0gaW5wdXQ8SURpY3Rpb25hcnk8SUlkTmFtZTxhbnk+W10+PigpO1xuICBpdGVtID0gaW5wdXQ8VD4oKTtcblxuICBob3Jpem9udGFsID0gaW5wdXQ8Ym9vbGVhbj4oKTtcbiAgZGVjaW1hbFBhcnQgPSBpbnB1dDxudW1iZXI+KCk7XG5cbiAgY29udHJvbFZhbHVlQ2hhbmdlID0gb3V0cHV0PElJZE5hbWU8YW55Pj4oKTtcblxuICBnZXQgZm9ybUdyb3VwKCk6IEZvcm1Hcm91cCB7XG4gICAgaWYgKHRoaXMuX2Zvcm1Hcm91cCBpbnN0YW5jZW9mIEZvcm1Hcm91cCkge1xuICAgICAgcmV0dXJuIHRoaXMuX2Zvcm1Hcm91cDtcbiAgICB9XG4gICAgaWYgKHRoaXMuX2Zvcm1Hcm91cCBpbnN0YW5jZW9mIE5nRm9ybSkge1xuICAgICAgcmV0dXJuIHRoaXMuX2Zvcm1Hcm91cC5mb3JtO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIHByaXZhdGUgX2Zvcm1Hcm91cDogQ29udHJvbENvbnRhaW5lcikge1xuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5pdGVtKCkgJiYgdGhpcy5mb3JtR3JvdXApIHtcbiAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gdGhpcy5pdGVtKCkpIHtcbiAgICAgICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHRoaXMuaXRlbSgpLCBrZXkpKSB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuZm9ybUdyb3VwLmdldChrZXkpKSB7XG4gICAgICAgICAgICAgIHRoaXMuZm9ybUdyb3VwLnNldENvbnRyb2woa2V5LCBuZXcgVW50eXBlZEZvcm1Db250cm9sKHRoaXMuaXRlbSgpW2tleV0pLCB7XG4gICAgICAgICAgICAgICAgZW1pdEV2ZW50OiBmYWxzZSxcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICB0aGlzLmZvcm1Hcm91cC5wYXRjaFZhbHVlKHRoaXMuaXRlbSgpLCB7XG4gICAgICAgICAgICAgICAgZW1pdEV2ZW50OiBmYWxzZSxcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBnZXRFZGl0YWJsZShjb2x1bW46IFRhYmxlQ29sdW1uKSB7XG4gICAgcmV0dXJuIGJvb2xPckZ1bmNDYWxsYmFjayhjb2x1bW4uZWRpdGFibGUpKHtcbiAgICAgIGNvbHVtbjogY29sdW1uLFxuICAgICAgcm93OiB0aGlzLmZvcm1Hcm91cD8uZ2V0UmF3VmFsdWUoKSxcbiAgICB9KTtcbiAgfVxuXG4gIG9uQ29udHJvbFZhbHVlQ2hhbmdlKGV2ZW50OiBJSWROYW1lPGFueT4pIHtcbiAgICBjb25zdCBhZmZlY3RlZCA9IHRoaXMuY29sdW1ucygpLmZpbHRlcigoXykgPT4gXy5wYXJlbnROYW1lID09PSBldmVudC5uYW1lKTtcbiAgICBpZiAoYWZmZWN0ZWQ/Lmxlbmd0aCkge1xuICAgICAgYWZmZWN0ZWQuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZm9ybUdyb3VwLmdldFJhd1ZhbHVlKClbaXRlbS5uYW1lXTtcbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgY29uc3QgZGljdFZhbHVlID0gdGhpcy5nZXREaWN0VmFsdWUodmFsdWUsIGl0ZW0ubmFtZSk7XG4gICAgICAgICAgaWYgKGRpY3RWYWx1ZSAmJiBkaWN0VmFsdWUucGFyZW50SWQgIT09IGV2ZW50LmlkKSB7XG4gICAgICAgICAgICBjb25zdCBuZXdPYmogPSB7fTtcbiAgICAgICAgICAgIG5ld09ialtpdGVtLm5hbWVdID0gbnVsbDtcbiAgICAgICAgICAgIHRoaXMuZm9ybUdyb3VwLnBhdGNoVmFsdWUobmV3T2JqKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgICB0aGlzLmNvbnRyb2xWYWx1ZUNoYW5nZS5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RGljdFZhbHVlKHZhbHVlOiBhbnksIG5hbWU6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmRpY3QoKVtuYW1lXT8uZmluZCgoXykgPT4gXy5pZCA9PT0gdmFsdWUpO1xuICB9XG59XG4iLCJAaWYgKGNvbHVtbnMoKS5sZW5ndGgpIHsgQGZvciAoY29sdW1uIG9mIGNvbHVtbnMoKTsgdHJhY2sgY29sdW1uLm5hbWUpIHsgQGlmIChjb2x1bW4uY29sdW1ucz8ubGVuZ3RoIDwgMSAmJlxuKGdldEVkaXRhYmxlKGNvbHVtbikgfHwgIWhpZGVOb25FZGl0YWJsZSgpKSkge1xuPHRldGEtcHJvcGVydHktZ3JpZC1pdGVtXG4gIFtkaWN0XT1cImRpY3QoKVwiXG4gIFtjb2x1bW5dPVwiY29sdW1uXCJcbiAgW2l0ZW1dPVwiaXRlbSgpXCJcbiAgW2lkXT1cImNvbHVtbi5uYW1lXCJcbiAgW2l0ZW1UZW1wbGF0ZXNdPVwiaXRlbVRlbXBsYXRlcygpXCJcbiAgW2RlY2ltYWxQYXJ0XT1cImRlY2ltYWxQYXJ0KClcIlxuICBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiXG4gIFtob3Jpem9udGFsXT1cImhvcml6b250YWwoKVwiXG4gIChjb250cm9sVmFsdWVDaGFuZ2UpPVwib25Db250cm9sVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gIFtoaWRlTm9uRWRpdGFibGVdPVwiaGlkZU5vbkVkaXRhYmxlKClcIlxuPjwvdGV0YS1wcm9wZXJ0eS1ncmlkLWl0ZW0+XG59IEBpZiAoY29sdW1uLmNvbHVtbnM/Lmxlbmd0aCA+IDAgJiYgKGdldEVkaXRhYmxlKGNvbHVtbikgfHwgIWhpZGVOb25FZGl0YWJsZSgpKSkge1xuPHRldGEtcHJvcGVydHktZ3JpZC1ncm91cFxuICBbaWRdPVwiY29sdW1uLm5hbWVcIlxuICBbZGljdF09XCJkaWN0KClcIlxuICBbY29sdW1uXT1cImNvbHVtblwiXG4gIFtpdGVtXT1cIml0ZW0oKVwiXG4gIFtpdGVtVGVtcGxhdGVzXT1cIml0ZW1UZW1wbGF0ZXMoKVwiXG4gIFtkZWNpbWFsUGFydF09XCJkZWNpbWFsUGFydCgpXCJcbiAgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIlxuICBbaG9yaXpvbnRhbF09XCJob3Jpem9udGFsKClcIlxuICAoY29udHJvbFZhbHVlQ2hhbmdlKT1cIm9uQ29udHJvbFZhbHVlQ2hhbmdlKCRldmVudClcIlxuICBbaGlkZU5vbkVkaXRhYmxlXT1cImhpZGVOb25FZGl0YWJsZSgpXCJcbj48L3RldGEtcHJvcGVydHktZ3JpZC1ncm91cD5cbn0gfSB9XG4iXX0=
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktZ3JpZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3Byb3BlcnR5LWdyaWQvcHJvcGVydHktZ3JpZC9wcm9wZXJ0eS1ncmlkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvcHJvcGVydHktZ3JpZC9wcm9wZXJ0eS1ncmlkL3Byb3BlcnR5LWdyaWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsZUFBZSxFQUNmLE1BQU0sRUFDTixXQUFXLEVBQ1gsS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixTQUFTLEVBQ1QsV0FBVyxFQUNYLE1BQU0sRUFDTixtQkFBbUIsRUFDbkIsa0JBQWtCLEdBQ25CLE1BQU0sZ0JBQWdCLENBQUM7QUFJeEIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXJELE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ2xHLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDOzs7QUFXOUYsTUFBTSxPQUFPLHFCQUFxQjtJQWFoQyxJQUFJLFNBQVM7UUFDWCxJQUFJLElBQUksQ0FBQyxVQUFVLFlBQVksU0FBUyxFQUFFLENBQUM7WUFDekMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQ3pCLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxVQUFVLFlBQVksTUFBTSxFQUFFLENBQUM7WUFDdEMsT0FBTyxJQUFJ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QUFHLElBQUksQ0FBQzt3QkFDekIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQ3BDLENBQUM7Z0JBQ0gsQ0FBQztZQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUNELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVPLFlBQVksQ0FBQyxLQUFVLEVBQUUsSUFBWTtRQUMzQyxPQUFPLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssS0FBSyxDQUFDLENBQUM7SUFDeEQsQ0FBQzs4R0F0RVUscUJBQXFCO2tHQUFyQixxQkFBcUIsa2dDQUVBLG9DQUFvQyw2Q0N2Q3RFLHMvQkE0QkEsbUZETVkseUJBQXlCLHlNQUFFLFdBQVcsMExBQUUsbUJBQW1CLGdMQUFFLDBCQUEwQixnTUFGbEYsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDOzsyRkFLNUIscUJBQXFCO2tCQVRqQyxTQUFTOytCQUNFLG9CQUFvQixpQkFHZixDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsY0FDM0IsSUFBSSxXQUNQLENBQUMseUJBQXlCLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLDBCQUEwQixDQUFDLG1CQUNqRix1QkFBdUIsQ0FBQyxNQUFNOzswQkF5QmxDLFFBQVE7eUNBdEJnQixTQUFTO3NCQUE3QyxXQUFXO3VCQUFDLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIGNvbnRlbnRDaGlsZHJlbixcbiAgZWZmZWN0LFxuICBIb3N0QmluZGluZyxcbiAgaW5wdXQsXG4gIE9wdGlvbmFsLFxuICBvdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQ29udHJvbENvbnRhaW5lcixcbiAgRm9ybUdyb3VwLFxuICBGb3Jtc01vZHVsZSxcbiAgTmdGb3JtLFxuICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICBVbnR5cGVkRm9ybUNvbnRyb2wsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgSURpY3Rpb25hcnkgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vY29udHJhY3QvaS1kaWN0aW9uYXJ5JztcbmltcG9ydCB7IElJZE5hbWUgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vY29udHJhY3QvaS1pZC1uYW1lJztcbmltcG9ydCB7IGJvb2xPckZ1bmNDYWxsYmFjayB9IGZyb20gJy4uLy4uLy4uL3V0aWwvYm9vbC1vci1mdW5jJztcbmltcG9ydCB7IEZvcm1zVXRpbCB9IGZyb20gJy4uLy4uLy4uL3V0aWwvZm9ybXMtdXRpbCc7XG5pbXBvcnQgeyBUYWJsZUNvbHVtbiB9IGZyb20gJy4uLy4uL3RhYmxlL2NvbnRyYWN0L3RhYmxlLWNvbHVtbic7XG5pbXBvcnQgeyBQcm9wZXJ0eUdyaWRJdGVtRGVzY3JpcHRpb25EaXJlY3RpdmUgfSBmcm9tICcuL3Byb3BlcnR5LWdyaWQtaXRlbS1kZXNjcmlwdGlvbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgUHJvcGVydHlHcmlkR3JvdXBDb21wb25lbnQgfSBmcm9tICcuL3Byb3BlcnR5LWdyaWQtZ3JvdXAvcHJvcGVydHktZ3JpZC1ncm91cC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJvcGVydHlHcmlkSXRlbUNvbXBvbmVudCB9IGZyb20gJy4vcHJvcGVydHktZ3JpZC1pdGVtL3Byb3BlcnR5LWdyaWQtaXRlbS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXRhLXByb3BlcnR5LWdyaWQnLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJvcGVydHktZ3JpZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Byb3BlcnR5LWdyaWQuY29tcG9uZW50LnNjc3MnXSxcbiAgdmlld1Byb3ZpZGVyczogW0Zvcm1zVXRpbC5mb3JtUHJvdmlkZXJdLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbUHJvcGVydHlHcmlkSXRlbUNvbXBvbmVudCwgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIFByb3BlcnR5R3JpZEdyb3VwQ29tcG9uZW50XSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFByb3BlcnR5R3JpZENvbXBvbmVudDxUPiB7XG4gIEBIb3N0QmluZGluZygnY2xhc3MuZm9ybS1jb250YWluZXInKSBmb3JtQ2xhc3MgPSB0cnVlO1xuICBpdGVtVGVtcGxhdGVzID0gY29udGVudENoaWxkcmVuKFByb3BlcnR5R3JpZEl0ZW1EZXNjcmlwdGlvbkRpcmVjdGl2ZSk7XG4gIGhpZGVOb25FZGl0YWJsZSA9IGlucHV0PGJvb2xlYW4+KCk7XG4gIGNvbHVtbnMgPSBpbnB1dDxUYWJsZUNvbHVtbltdPigpO1xuICBkaWN0ID0gaW5wdXQ8SURpY3Rpb25hcnk8SUlkTmFtZTxhbnk+W10+PigpO1xuICBpdGVtID0gaW5wdXQ8VD4oKTtcblxuICBob3Jpem9udGFsID0gaW5wdXQ8Ym9vbGVhbj4oKTtcbiAgZGVjaW1hbFBhcnQgPSBpbnB1dDxudW1iZXI+KCk7XG5cbiAgY29udHJvbFZhbHVlQ2hhbmdlID0gb3V0cHV0PElJZE5hbWU8YW55Pj4oKTtcblxuICBnZXQgZm9ybUdyb3VwKCk6IEZvcm1Hcm91cCB7XG4gICAgaWYgKHRoaXMuX2Zvcm1Hcm91cCBpbnN0YW5jZW9mIEZvcm1Hcm91cCkge1xuICAgICAgcmV0dXJuIHRoaXMuX2Zvcm1Hcm91cDtcbiAgICB9XG4gICAgaWYgKHRoaXMuX2Zvcm1Hcm91cCBpbnN0YW5jZW9mIE5nRm9ybSkge1xuICAgICAgcmV0dXJuIHRoaXMuX2Zvcm1Hcm91cC5mb3JtO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIHByaXZhdGUgX2Zvcm1Hcm91cDogQ29udHJvbENvbnRhaW5lcikge1xuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5pdGVtKCkgJiYgdGhpcy5mb3JtR3JvdXApIHtcbiAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gdGhpcy5pdGVtKCkpIHtcbiAgICAgICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHRoaXMuaXRlbSgpLCBrZXkpKSB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuZm9ybUdyb3VwLmdldChrZXkpKSB7XG4gICAgICAgICAgICAgIHRoaXMuZm9ybUdyb3VwLnNldENvbnRyb2woa2V5LCBuZXcgVW50eXBlZEZvcm1Db250cm9sKHRoaXMuaXRlbSgpW2tleV0sIHsgdXBkYXRlT246ICdibHVyJyB9KSwge1xuICAgICAgICAgICAgICAgIGVtaXRFdmVudDogZmFsc2UsXG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgdGhpcy5mb3JtR3JvdXAucGF0Y2hWYWx1ZSh0aGlzLml0ZW0oKSwge1xuICAgICAgICAgICAgICAgIGVtaXRFdmVudDogZmFsc2UsXG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgZ2V0RWRpdGFibGUoY29sdW1uOiBUYWJsZUNvbHVtbikge1xuICAgIHJldHVybiBib29sT3JGdW5jQ2FsbGJhY2soY29sdW1uLmVkaXRhYmxlKSh7XG4gICAgICBjb2x1bW46IGNvbHVtbixcbiAgICAgIHJvdzogdGhpcy5mb3JtR3JvdXA/LmdldFJhd1ZhbHVlKCksXG4gICAgfSk7XG4gIH1cblxuICBvbkNvbnRyb2xWYWx1ZUNoYW5nZShldmVudDogSUlkTmFtZTxhbnk+KSB7XG4gICAgY29uc3QgYWZmZWN0ZWQgPSB0aGlzLmNvbHVtbnMoKS5maWx0ZXIoKF8pID0+IF8ucGFyZW50TmFtZSA9PT0gZXZlbnQubmFtZSk7XG4gICAgaWYgKGFmZmVjdGVkPy5sZW5ndGgpIHtcbiAgICAgIGFmZmVjdGVkLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLmZvcm1Hcm91cC5nZXRSYXdWYWx1ZSgpW2l0ZW0ubmFtZV07XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgIGNvbnN0IGRpY3RWYWx1ZSA9IHRoaXMuZ2V0RGljdFZhbHVlKHZhbHVlLCBpdGVtLm5hbWUpO1xuICAgICAgICAgIGlmIChkaWN0VmFsdWUgJiYgZGljdFZhbHVlLnBhcmVudElkICE9PSBldmVudC5pZCkge1xuICAgICAgICAgICAgY29uc3QgbmV3T2JqID0ge307XG4gICAgICAgICAgICBuZXdPYmpbaXRlbS5uYW1lXSA9IG51bGw7XG4gICAgICAgICAgICB0aGlzLmZvcm1Hcm91cC5wYXRjaFZhbHVlKG5ld09iaik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gICAgdGhpcy5jb250cm9sVmFsdWVDaGFuZ2UuZW1pdChldmVudCk7XG4gIH1cblxuICBwcml2YXRlIGdldERpY3RWYWx1ZSh2YWx1ZTogYW55LCBuYW1lOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5kaWN0KClbbmFtZV0/LmZpbmQoKF8pID0+IF8uaWQgPT09IHZhbHVlKTtcbiAgfVxufVxuIiwiQGlmIChjb2x1bW5zKCk/Lmxlbmd0aCkgeyBAZm9yIChjb2x1bW4gb2YgY29sdW1ucygpOyB0cmFjayBjb2x1bW4ubmFtZSkgeyBAaWYgKGNvbHVtbi5jb2x1bW5zPy5sZW5ndGggPCAxICYmXG4oZ2V0RWRpdGFibGUoY29sdW1uKSB8fCAhaGlkZU5vbkVkaXRhYmxlKCkpKSB7XG48dGV0YS1wcm9wZXJ0eS1ncmlkLWl0ZW1cbiAgW2RpY3RdPVwiZGljdCgpXCJcbiAgW2NvbHVtbl09XCJjb2x1bW5cIlxuICBbaXRlbV09XCJpdGVtKClcIlxuICBbaWRdPVwiY29sdW1uLm5hbWVcIlxuICBbaXRlbVRlbXBsYXRlc109XCJpdGVtVGVtcGxhdGVzKClcIlxuICBbZGVjaW1hbFBhcnRdPVwiZGVjaW1hbFBhcnQoKVwiXG4gIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCJcbiAgW2hvcml6b250YWxdPVwiaG9yaXpvbnRhbCgpXCJcbiAgKGNvbnRyb2xWYWx1ZUNoYW5nZSk9XCJvbkNvbnRyb2xWYWx1ZUNoYW5nZSgkZXZlbnQpXCJcbiAgW2hpZGVOb25FZGl0YWJsZV09XCJoaWRlTm9uRWRpdGFibGUoKVwiXG4+PC90ZXRhLXByb3BlcnR5LWdyaWQtaXRlbT5cbn0gQGlmIChjb2x1bW4uY29sdW1ucz8ubGVuZ3RoID4gMCAmJiAoZ2V0RWRpdGFibGUoY29sdW1uKSB8fCAhaGlkZU5vbkVkaXRhYmxlKCkpKSB7XG48dGV0YS1wcm9wZXJ0eS1ncmlkLWdyb3VwXG4gIFtpZF09XCJjb2x1bW4ubmFtZVwiXG4gIFtkaWN0XT1cImRpY3QoKVwiXG4gIFtjb2x1bW5dPVwiY29sdW1uXCJcbiAgW2l0ZW1dPVwiaXRlbSgpXCJcbiAgW2l0ZW1UZW1wbGF0ZXNdPVwiaXRlbVRlbXBsYXRlcygpXCJcbiAgW2RlY2ltYWxQYXJ0XT1cImRlY2ltYWxQYXJ0KClcIlxuICBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiXG4gIFtob3Jpem9udGFsXT1cImhvcml6b250YWwoKVwiXG4gIChjb250cm9sVmFsdWVDaGFuZ2UpPVwib25Db250cm9sVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gIFtoaWRlTm9uRWRpdGFibGVdPVwiaGlkZU5vbkVkaXRhYmxlKClcIlxuPjwvdGV0YS1wcm9wZXJ0eS1ncmlkLWdyb3VwPlxufSB9IH1cbiJdfQ==
@@ -6251,7 +6251,7 @@ class PropertyGridComponent {
6251
6251
  for (const key in this.item()) {
6252
6252
  if (Object.prototype.hasOwnProperty.call(this.item(), key)) {
6253
6253
  if (!this.formGroup.get(key)) {
6254
- this.formGroup.setControl(key, new UntypedFormControl(this.item()[key]), {
6254
+ this.formGroup.setControl(key, new UntypedFormControl(this.item()[key], { updateOn: 'blur' }), {
6255
6255
  emitEvent: false,
6256
6256
  });
6257
6257
  }
@@ -6292,11 +6292,11 @@ class PropertyGridComponent {
6292
6292
  return this.dict()[name]?.find((_) => _.id === value);
6293
6293
  }
6294
6294
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: PropertyGridComponent, deps: [{ token: i2.ControlContainer, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
6295
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.1", type: PropertyGridComponent, isStandalone: true, selector: "teta-property-grid", inputs: { hideNonEditable: { classPropertyName: "hideNonEditable", publicName: "hideNonEditable", isSignal: true, isRequired: false, transformFunction: null }, columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: false, transformFunction: null }, dict: { classPropertyName: "dict", publicName: "dict", isSignal: true, isRequired: false, transformFunction: null }, item: { classPropertyName: "item", publicName: "item", isSignal: true, isRequired: false, transformFunction: null }, horizontal: { classPropertyName: "horizontal", publicName: "horizontal", isSignal: true, isRequired: false, transformFunction: null }, decimalPart: { classPropertyName: "decimalPart", publicName: "decimalPart", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { controlValueChange: "controlValueChange" }, host: { properties: { "class.form-container": "this.formClass" } }, queries: [{ propertyName: "itemTemplates", predicate: PropertyGridItemDescriptionDirective, isSignal: true }], ngImport: i0, template: "@if (columns().length) { @for (column of columns(); track column.name) { @if (column.columns?.length < 1 &&\n(getEditable(column) || !hideNonEditable())) {\n<teta-property-grid-item\n [dict]=\"dict()\"\n [column]=\"column\"\n [item]=\"item()\"\n [id]=\"column.name\"\n [itemTemplates]=\"itemTemplates()\"\n [decimalPart]=\"decimalPart()\"\n [formGroup]=\"formGroup\"\n [horizontal]=\"horizontal()\"\n (controlValueChange)=\"onControlValueChange($event)\"\n [hideNonEditable]=\"hideNonEditable()\"\n></teta-property-grid-item>\n} @if (column.columns?.length > 0 && (getEditable(column) || !hideNonEditable())) {\n<teta-property-grid-group\n [id]=\"column.name\"\n [dict]=\"dict()\"\n [column]=\"column\"\n [item]=\"item()\"\n [itemTemplates]=\"itemTemplates()\"\n [decimalPart]=\"decimalPart()\"\n [formGroup]=\"formGroup\"\n [horizontal]=\"horizontal()\"\n (controlValueChange)=\"onControlValueChange($event)\"\n [hideNonEditable]=\"hideNonEditable()\"\n></teta-property-grid-group>\n} } }\n", styles: [":host{padding:12px 8px}\n"], dependencies: [{ kind: "component", type: PropertyGridItemComponent, selector: "teta-property-grid-item", inputs: ["column", "hideNonEditable", "dict", "decimalPart", "item", "itemTemplates", "horizontal"], outputs: ["controlValueChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: PropertyGridGroupComponent, selector: "teta-property-grid-group", inputs: ["column", "hideNonEditable", "dict", "item", "horizontal", "decimalPart", "itemTemplates"], outputs: ["controlValueChange"] }], viewProviders: [FormsUtil.formProvider], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
6295
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.1", type: PropertyGridComponent, isStandalone: true, selector: "teta-property-grid", inputs: { hideNonEditable: { classPropertyName: "hideNonEditable", publicName: "hideNonEditable", isSignal: true, isRequired: false, transformFunction: null }, columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: false, transformFunction: null }, dict: { classPropertyName: "dict", publicName: "dict", isSignal: true, isRequired: false, transformFunction: null }, item: { classPropertyName: "item", publicName: "item", isSignal: true, isRequired: false, transformFunction: null }, horizontal: { classPropertyName: "horizontal", publicName: "horizontal", isSignal: true, isRequired: false, transformFunction: null }, decimalPart: { classPropertyName: "decimalPart", publicName: "decimalPart", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { controlValueChange: "controlValueChange" }, host: { properties: { "class.form-container": "this.formClass" } }, queries: [{ propertyName: "itemTemplates", predicate: PropertyGridItemDescriptionDirective, isSignal: true }], ngImport: i0, template: "@if (columns()?.length) { @for (column of columns(); track column.name) { @if (column.columns?.length < 1 &&\n(getEditable(column) || !hideNonEditable())) {\n<teta-property-grid-item\n [dict]=\"dict()\"\n [column]=\"column\"\n [item]=\"item()\"\n [id]=\"column.name\"\n [itemTemplates]=\"itemTemplates()\"\n [decimalPart]=\"decimalPart()\"\n [formGroup]=\"formGroup\"\n [horizontal]=\"horizontal()\"\n (controlValueChange)=\"onControlValueChange($event)\"\n [hideNonEditable]=\"hideNonEditable()\"\n></teta-property-grid-item>\n} @if (column.columns?.length > 0 && (getEditable(column) || !hideNonEditable())) {\n<teta-property-grid-group\n [id]=\"column.name\"\n [dict]=\"dict()\"\n [column]=\"column\"\n [item]=\"item()\"\n [itemTemplates]=\"itemTemplates()\"\n [decimalPart]=\"decimalPart()\"\n [formGroup]=\"formGroup\"\n [horizontal]=\"horizontal()\"\n (controlValueChange)=\"onControlValueChange($event)\"\n [hideNonEditable]=\"hideNonEditable()\"\n></teta-property-grid-group>\n} } }\n", styles: [":host{padding:12px 8px}\n"], dependencies: [{ kind: "component", type: PropertyGridItemComponent, selector: "teta-property-grid-item", inputs: ["column", "hideNonEditable", "dict", "decimalPart", "item", "itemTemplates", "horizontal"], outputs: ["controlValueChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: PropertyGridGroupComponent, selector: "teta-property-grid-group", inputs: ["column", "hideNonEditable", "dict", "item", "horizontal", "decimalPart", "itemTemplates"], outputs: ["controlValueChange"] }], viewProviders: [FormsUtil.formProvider], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
6296
6296
  }
6297
6297
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: PropertyGridComponent, decorators: [{
6298
6298
  type: Component,
6299
- args: [{ selector: 'teta-property-grid', viewProviders: [FormsUtil.formProvider], standalone: true, imports: [PropertyGridItemComponent, FormsModule, ReactiveFormsModule, PropertyGridGroupComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (columns().length) { @for (column of columns(); track column.name) { @if (column.columns?.length < 1 &&\n(getEditable(column) || !hideNonEditable())) {\n<teta-property-grid-item\n [dict]=\"dict()\"\n [column]=\"column\"\n [item]=\"item()\"\n [id]=\"column.name\"\n [itemTemplates]=\"itemTemplates()\"\n [decimalPart]=\"decimalPart()\"\n [formGroup]=\"formGroup\"\n [horizontal]=\"horizontal()\"\n (controlValueChange)=\"onControlValueChange($event)\"\n [hideNonEditable]=\"hideNonEditable()\"\n></teta-property-grid-item>\n} @if (column.columns?.length > 0 && (getEditable(column) || !hideNonEditable())) {\n<teta-property-grid-group\n [id]=\"column.name\"\n [dict]=\"dict()\"\n [column]=\"column\"\n [item]=\"item()\"\n [itemTemplates]=\"itemTemplates()\"\n [decimalPart]=\"decimalPart()\"\n [formGroup]=\"formGroup\"\n [horizontal]=\"horizontal()\"\n (controlValueChange)=\"onControlValueChange($event)\"\n [hideNonEditable]=\"hideNonEditable()\"\n></teta-property-grid-group>\n} } }\n", styles: [":host{padding:12px 8px}\n"] }]
6299
+ args: [{ selector: 'teta-property-grid', viewProviders: [FormsUtil.formProvider], standalone: true, imports: [PropertyGridItemComponent, FormsModule, ReactiveFormsModule, PropertyGridGroupComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (columns()?.length) { @for (column of columns(); track column.name) { @if (column.columns?.length < 1 &&\n(getEditable(column) || !hideNonEditable())) {\n<teta-property-grid-item\n [dict]=\"dict()\"\n [column]=\"column\"\n [item]=\"item()\"\n [id]=\"column.name\"\n [itemTemplates]=\"itemTemplates()\"\n [decimalPart]=\"decimalPart()\"\n [formGroup]=\"formGroup\"\n [horizontal]=\"horizontal()\"\n (controlValueChange)=\"onControlValueChange($event)\"\n [hideNonEditable]=\"hideNonEditable()\"\n></teta-property-grid-item>\n} @if (column.columns?.length > 0 && (getEditable(column) || !hideNonEditable())) {\n<teta-property-grid-group\n [id]=\"column.name\"\n [dict]=\"dict()\"\n [column]=\"column\"\n [item]=\"item()\"\n [itemTemplates]=\"itemTemplates()\"\n [decimalPart]=\"decimalPart()\"\n [formGroup]=\"formGroup\"\n [horizontal]=\"horizontal()\"\n (controlValueChange)=\"onControlValueChange($event)\"\n [hideNonEditable]=\"hideNonEditable()\"\n></teta-property-grid-group>\n} } }\n", styles: [":host{padding:12px 8px}\n"] }]
6300
6300
  }], ctorParameters: () => [{ type: i2.ControlContainer, decorators: [{
6301
6301
  type: Optional
6302
6302
  }] }], propDecorators: { formClass: [{