onshore-forms 0.0.21 → 0.0.23

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.
@@ -42,10 +42,10 @@ export class OnshoreFormInputItemComponent {
42
42
  }
43
43
  }
44
44
  OnshoreFormInputItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: OnshoreFormInputItemComponent, deps: [{ token: i1.NgControl, optional: true, self: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
45
- OnshoreFormInputItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: OnshoreFormInputItemComponent, selector: "onshore-form-input-item", inputs: { formTemplate: "formTemplate", step: "step", min: "min", max: "max", minLength: "minLength", maxLength: "maxLength" }, usesOnChanges: true, ngImport: i0, template: "<onshore-form-item-container [formTemplate]=\"formTemplate\" [ngControl]=\"ngControl\">\n <span class=\"p-inputgroup w-full\">\n\n <textarea *ngIf=\"formTemplate.type == OnshoreFormTemplateType.textarea\"\n class=\"w-full\"\n [name]=\"formTemplate.name\"\n [placeholder]=\"formTemplate.placeholder ?? ''\"\n [disabled]=\"disabled\"\n [rows]=\"3\"\n [cols]=\"30\"\n pInputTextarea\n [autoResize]=\"true\"\n [formControl]=\"ngControl.control\"\n [class.p-invalid]=\"ngControl.control?.touched && ngControl.control?.invalid\"\n [minLength]=\"minLength\"\n [maxLength]=\"maxLength\"></textarea>\n\n <input *ngIf=\"formTemplate.type == OnshoreFormTemplateType.text || formTemplate.type == OnshoreFormTemplateType.email || formTemplate.type == OnshoreFormTemplateType.phone\"\n class=\"w-full\"\n [type]=\"formTemplate.type\"\n [name]=\"formTemplate.name\"\n [placeholder]=\"formTemplate.placeholder ?? ''\"\n [disabled]=\"disabled\"\n pInputText\n [formControl]=\"ngControl.control\"\n [autocomplete]=\"'prevent-template-' + formTemplate.name\"\n [minLength]=\"minLength\"\n [maxLength]=\"maxLength\"/>\n\n <input *ngIf=\"formTemplate.type == OnshoreFormTemplateType.password\"\n class=\"w-full\"\n [type]=\"passwordVisible ? 'text' : formTemplate.type\"\n [name]=\"formTemplate.name\"\n [placeholder]=\"formTemplate.placeholder ?? ''\"\n [disabled]=\"disabled\"\n pInputText\n [formControl]=\"ngControl.control\"\n [autocomplete]=\"'prevent-template-' + formTemplate.name\"\n [minLength]=\"minLength\"\n [maxLength]=\"maxLength\"/>\n\n <p-inputNumber *ngIf=\"formTemplate.type == OnshoreFormTemplateType.number\"\n class=\"w-full\"\n [name]=\"formTemplate.name\"\n [placeholder]=\"formTemplate.placeholder ?? 0\"\n [disabled]=\"disabled\"\n [formControl]=\"ngControl.control\"\n [autocomplete]=\"'prevent-template-' + formTemplate.name\"\n [showButtons]=\"true\"\n [step]=\"step ?? 1\"\n [min]=\"min\"\n [max]=\"max\">\n </p-inputNumber>\n\n <span class=\"p-inputgroup-addon\" *ngIf=\"!disabled\">\n <i class=\"fa\"\n [class.fa-check]=\"formTemplate.required && (ngControl.control.valid || ngControl.control.untouched)\"\n [class.fa-exclamation-triangle]=\"ngControl.control.touched && ngControl.control.invalid\"\n [class.onshore-color-gray-3]=\"ngControl.control.untouched\"\n [class.onshore-color-success]=\"ngControl.control.touched && ngControl.control.valid\"\n [class.onshore-color-danger]=\"ngControl.control.touched && ngControl.control.invalid\">\n </i>\n </span>\n\n <span *ngIf=\"formTemplate.type == OnshoreFormTemplateType.password\"\n (click)=\"passwordVisible = !passwordVisible\"\n class=\"p-inputgroup-addon cursor-pointer\">\n <i class=\"fa\"\n [class.fa-eye-slash]=\"passwordVisible\"\n [class.fa-eye]=\"!passwordVisible\"\n ></i>\n </span>\n\n </span>\n</onshore-form-item-container>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i3.InputNumber, selector: "p-inputNumber", inputs: ["showButtons", "format", "buttonLayout", "inputId", "styleClass", "style", "placeholder", "size", "maxlength", "tabindex", "title", "ariaLabel", "ariaRequired", "name", "required", "autocomplete", "min", "max", "incrementButtonClass", "decrementButtonClass", "incrementButtonIcon", "decrementButtonIcon", "readonly", "step", "allowEmpty", "locale", "localeMatcher", "mode", "currency", "currencyDisplay", "useGrouping", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "inputStyle", "inputStyleClass", "showClear", "disabled"], outputs: ["onInput", "onFocus", "onBlur", "onKeyDown", "onClear"] }, { kind: "directive", type: i4.InputText, selector: "[pInputText]" }, { kind: "directive", type: i5.InputTextarea, selector: "[pInputTextarea]", inputs: ["autoResize"], outputs: ["onResize"] }, { kind: "component", type: i6.OnshoreFormItemContainer, selector: "onshore-form-item-container", inputs: ["formTemplate", "ngControl"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
45
+ OnshoreFormInputItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: OnshoreFormInputItemComponent, selector: "onshore-form-input-item", inputs: { formTemplate: "formTemplate", step: "step", min: "min", max: "max", minLength: "minLength", maxLength: "maxLength" }, usesOnChanges: true, ngImport: i0, template: "<onshore-form-item-container [formTemplate]=\"formTemplate\" [ngControl]=\"ngControl\">\n <span class=\"p-inputgroup w-full\">\n\n <textarea *ngIf=\"formTemplate.type == OnshoreFormTemplateType.textarea\"\n class=\"w-full\"\n [name]=\"formTemplate.name\"\n [placeholder]=\"formTemplate.placeholder ?? ''\"\n [disabled]=\"disabled\"\n [rows]=\"3\"\n [cols]=\"30\"\n pInputTextarea\n [autoResize]=\"true\"\n [formControl]=\"ngControl.control\"\n [class.p-invalid]=\"ngControl.control?.touched && ngControl.control?.invalid\"\n [minLength]=\"minLength\"\n [maxLength]=\"maxLength\"></textarea>\n\n <input *ngIf=\"formTemplate.type == OnshoreFormTemplateType.text || formTemplate.type == OnshoreFormTemplateType.email || formTemplate.type == OnshoreFormTemplateType.phone\"\n class=\"w-full\"\n [type]=\"formTemplate.type\"\n [name]=\"formTemplate.name\"\n [placeholder]=\"formTemplate.placeholder ?? ''\"\n [disabled]=\"disabled\"\n pInputText\n [formControl]=\"ngControl.control\"\n [autocomplete]=\"'prevent-template-' + formTemplate.name\"\n [minLength]=\"minLength\"\n [maxLength]=\"maxLength\"/>\n\n <input *ngIf=\"formTemplate.type == OnshoreFormTemplateType.password\"\n class=\"w-full\"\n [type]=\"passwordVisible ? 'text' : formTemplate.type\"\n [name]=\"formTemplate.name\"\n [placeholder]=\"formTemplate.placeholder ?? ''\"\n [disabled]=\"disabled\"\n pInputText\n [formControl]=\"ngControl.control\"\n [autocomplete]=\"'prevent-template-' + formTemplate.name\"\n [minLength]=\"minLength\"\n [maxLength]=\"maxLength\"/>\n\n <p-inputNumber *ngIf=\"formTemplate.type == OnshoreFormTemplateType.number\"\n class=\"w-full\"\n [name]=\"formTemplate.name\"\n [placeholder]=\"formTemplate.placeholder ?? 0\"\n [disabled]=\"disabled\"\n [formControl]=\"ngControl.control\"\n [autocomplete]=\"'prevent-template-' + formTemplate.name\"\n [showButtons]=\"true\"\n [step]=\"step ?? 1\"\n [min]=\"min\"\n [max]=\"max\">\n </p-inputNumber>\n\n <span class=\"p-inputgroup-addon\" *ngIf=\"!disabled\">\n <i class=\"fa\"\n [class.fa-check]=\"formTemplate.required && (ngControl.control.valid || !ngControl.control.dirty)\"\n [class.fa-exclamation-triangle]=\"ngControl.control.dirty && ngControl.control.invalid\"\n [class.onshore-color-gray-3]=\"!ngControl.control.dirty\"\n [class.onshore-color-success]=\"ngControl.control.dirty && ngControl.control.valid\"\n [class.onshore-color-danger]=\"ngControl.control.dirty && ngControl.control.invalid\">\n </i>\n </span>\n\n <span *ngIf=\"formTemplate.type == OnshoreFormTemplateType.password\"\n (click)=\"passwordVisible = !passwordVisible\"\n class=\"p-inputgroup-addon cursor-pointer\">\n <i class=\"fa\"\n [class.fa-eye-slash]=\"passwordVisible\"\n [class.fa-eye]=\"!passwordVisible\"\n ></i>\n </span>\n\n </span>\n</onshore-form-item-container>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i3.InputNumber, selector: "p-inputNumber", inputs: ["showButtons", "format", "buttonLayout", "inputId", "styleClass", "style", "placeholder", "size", "maxlength", "tabindex", "title", "ariaLabel", "ariaRequired", "name", "required", "autocomplete", "min", "max", "incrementButtonClass", "decrementButtonClass", "incrementButtonIcon", "decrementButtonIcon", "readonly", "step", "allowEmpty", "locale", "localeMatcher", "mode", "currency", "currencyDisplay", "useGrouping", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "inputStyle", "inputStyleClass", "showClear", "disabled"], outputs: ["onInput", "onFocus", "onBlur", "onKeyDown", "onClear"] }, { kind: "directive", type: i4.InputText, selector: "[pInputText]" }, { kind: "directive", type: i5.InputTextarea, selector: "[pInputTextarea]", inputs: ["autoResize"], outputs: ["onResize"] }, { kind: "component", type: i6.OnshoreFormItemContainer, selector: "onshore-form-item-container", inputs: ["formTemplate", "ngControl"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
46
46
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: OnshoreFormInputItemComponent, decorators: [{
47
47
  type: Component,
48
- args: [{ selector: 'onshore-form-input-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<onshore-form-item-container [formTemplate]=\"formTemplate\" [ngControl]=\"ngControl\">\n <span class=\"p-inputgroup w-full\">\n\n <textarea *ngIf=\"formTemplate.type == OnshoreFormTemplateType.textarea\"\n class=\"w-full\"\n [name]=\"formTemplate.name\"\n [placeholder]=\"formTemplate.placeholder ?? ''\"\n [disabled]=\"disabled\"\n [rows]=\"3\"\n [cols]=\"30\"\n pInputTextarea\n [autoResize]=\"true\"\n [formControl]=\"ngControl.control\"\n [class.p-invalid]=\"ngControl.control?.touched && ngControl.control?.invalid\"\n [minLength]=\"minLength\"\n [maxLength]=\"maxLength\"></textarea>\n\n <input *ngIf=\"formTemplate.type == OnshoreFormTemplateType.text || formTemplate.type == OnshoreFormTemplateType.email || formTemplate.type == OnshoreFormTemplateType.phone\"\n class=\"w-full\"\n [type]=\"formTemplate.type\"\n [name]=\"formTemplate.name\"\n [placeholder]=\"formTemplate.placeholder ?? ''\"\n [disabled]=\"disabled\"\n pInputText\n [formControl]=\"ngControl.control\"\n [autocomplete]=\"'prevent-template-' + formTemplate.name\"\n [minLength]=\"minLength\"\n [maxLength]=\"maxLength\"/>\n\n <input *ngIf=\"formTemplate.type == OnshoreFormTemplateType.password\"\n class=\"w-full\"\n [type]=\"passwordVisible ? 'text' : formTemplate.type\"\n [name]=\"formTemplate.name\"\n [placeholder]=\"formTemplate.placeholder ?? ''\"\n [disabled]=\"disabled\"\n pInputText\n [formControl]=\"ngControl.control\"\n [autocomplete]=\"'prevent-template-' + formTemplate.name\"\n [minLength]=\"minLength\"\n [maxLength]=\"maxLength\"/>\n\n <p-inputNumber *ngIf=\"formTemplate.type == OnshoreFormTemplateType.number\"\n class=\"w-full\"\n [name]=\"formTemplate.name\"\n [placeholder]=\"formTemplate.placeholder ?? 0\"\n [disabled]=\"disabled\"\n [formControl]=\"ngControl.control\"\n [autocomplete]=\"'prevent-template-' + formTemplate.name\"\n [showButtons]=\"true\"\n [step]=\"step ?? 1\"\n [min]=\"min\"\n [max]=\"max\">\n </p-inputNumber>\n\n <span class=\"p-inputgroup-addon\" *ngIf=\"!disabled\">\n <i class=\"fa\"\n [class.fa-check]=\"formTemplate.required && (ngControl.control.valid || ngControl.control.untouched)\"\n [class.fa-exclamation-triangle]=\"ngControl.control.touched && ngControl.control.invalid\"\n [class.onshore-color-gray-3]=\"ngControl.control.untouched\"\n [class.onshore-color-success]=\"ngControl.control.touched && ngControl.control.valid\"\n [class.onshore-color-danger]=\"ngControl.control.touched && ngControl.control.invalid\">\n </i>\n </span>\n\n <span *ngIf=\"formTemplate.type == OnshoreFormTemplateType.password\"\n (click)=\"passwordVisible = !passwordVisible\"\n class=\"p-inputgroup-addon cursor-pointer\">\n <i class=\"fa\"\n [class.fa-eye-slash]=\"passwordVisible\"\n [class.fa-eye]=\"!passwordVisible\"\n ></i>\n </span>\n\n </span>\n</onshore-form-item-container>\n" }]
48
+ args: [{ selector: 'onshore-form-input-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<onshore-form-item-container [formTemplate]=\"formTemplate\" [ngControl]=\"ngControl\">\n <span class=\"p-inputgroup w-full\">\n\n <textarea *ngIf=\"formTemplate.type == OnshoreFormTemplateType.textarea\"\n class=\"w-full\"\n [name]=\"formTemplate.name\"\n [placeholder]=\"formTemplate.placeholder ?? ''\"\n [disabled]=\"disabled\"\n [rows]=\"3\"\n [cols]=\"30\"\n pInputTextarea\n [autoResize]=\"true\"\n [formControl]=\"ngControl.control\"\n [class.p-invalid]=\"ngControl.control?.touched && ngControl.control?.invalid\"\n [minLength]=\"minLength\"\n [maxLength]=\"maxLength\"></textarea>\n\n <input *ngIf=\"formTemplate.type == OnshoreFormTemplateType.text || formTemplate.type == OnshoreFormTemplateType.email || formTemplate.type == OnshoreFormTemplateType.phone\"\n class=\"w-full\"\n [type]=\"formTemplate.type\"\n [name]=\"formTemplate.name\"\n [placeholder]=\"formTemplate.placeholder ?? ''\"\n [disabled]=\"disabled\"\n pInputText\n [formControl]=\"ngControl.control\"\n [autocomplete]=\"'prevent-template-' + formTemplate.name\"\n [minLength]=\"minLength\"\n [maxLength]=\"maxLength\"/>\n\n <input *ngIf=\"formTemplate.type == OnshoreFormTemplateType.password\"\n class=\"w-full\"\n [type]=\"passwordVisible ? 'text' : formTemplate.type\"\n [name]=\"formTemplate.name\"\n [placeholder]=\"formTemplate.placeholder ?? ''\"\n [disabled]=\"disabled\"\n pInputText\n [formControl]=\"ngControl.control\"\n [autocomplete]=\"'prevent-template-' + formTemplate.name\"\n [minLength]=\"minLength\"\n [maxLength]=\"maxLength\"/>\n\n <p-inputNumber *ngIf=\"formTemplate.type == OnshoreFormTemplateType.number\"\n class=\"w-full\"\n [name]=\"formTemplate.name\"\n [placeholder]=\"formTemplate.placeholder ?? 0\"\n [disabled]=\"disabled\"\n [formControl]=\"ngControl.control\"\n [autocomplete]=\"'prevent-template-' + formTemplate.name\"\n [showButtons]=\"true\"\n [step]=\"step ?? 1\"\n [min]=\"min\"\n [max]=\"max\">\n </p-inputNumber>\n\n <span class=\"p-inputgroup-addon\" *ngIf=\"!disabled\">\n <i class=\"fa\"\n [class.fa-check]=\"formTemplate.required && (ngControl.control.valid || !ngControl.control.dirty)\"\n [class.fa-exclamation-triangle]=\"ngControl.control.dirty && ngControl.control.invalid\"\n [class.onshore-color-gray-3]=\"!ngControl.control.dirty\"\n [class.onshore-color-success]=\"ngControl.control.dirty && ngControl.control.valid\"\n [class.onshore-color-danger]=\"ngControl.control.dirty && ngControl.control.invalid\">\n </i>\n </span>\n\n <span *ngIf=\"formTemplate.type == OnshoreFormTemplateType.password\"\n (click)=\"passwordVisible = !passwordVisible\"\n class=\"p-inputgroup-addon cursor-pointer\">\n <i class=\"fa\"\n [class.fa-eye-slash]=\"passwordVisible\"\n [class.fa-eye]=\"!passwordVisible\"\n ></i>\n </span>\n\n </span>\n</onshore-form-item-container>\n" }]
49
49
  }], ctorParameters: function () { return [{ type: i1.NgControl, decorators: [{
50
50
  type: Self
51
51
  }, {
@@ -63,4 +63,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
63
63
  }], maxLength: [{
64
64
  type: Input
65
65
  }] } });
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1pbnB1dC1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29uc2hvcmUtZm9ybXMvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0taW5wdXQtaXRlbS9mb3JtLWlucHV0LWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb25zaG9yZS1mb3Jtcy9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS1pbnB1dC1pdGVtL2Zvcm0taW5wdXQtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxLQUFLLEVBQ0csUUFBUSxFQUNoQixJQUFJLEVBQ0wsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7Ozs7O0FBT2pFLE1BQU0sT0FBTyw2QkFBNkI7SUFvQ3hDLFlBQXVDLFNBQW9CLEVBQ3ZDLEdBQXNCO1FBREgsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUN2QyxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQW5DakMsU0FBSSxHQUFZLENBQUMsQ0FBQztRQUNsQixRQUFHLEdBQVksQ0FBQyxDQUFDO1FBQ2pCLFFBQUcsR0FBWSxNQUFNLENBQUM7UUFDdEIsY0FBUyxHQUFZLENBQUMsQ0FBQztRQUN2QixjQUFTLEdBQVksTUFBTSxDQUFDO1FBRXJDLDRCQUF1QixHQUFHLHVCQUF1QixDQUFDO1FBRWxELG9CQUFlLEdBQVksS0FBSyxDQUFDO1FBQ2pDLGFBQVEsR0FBWSxLQUFLLENBQUM7UUEyQnhCLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztJQUN0QyxDQUFDO0lBMUJELGlDQUFpQztJQUNqQyxVQUFVLENBQUMsR0FBUSxJQUFTLENBQUM7SUFDN0IsZ0JBQWdCLENBQUMsRUFBTyxJQUFTLENBQUM7SUFDbEMsaUJBQWlCLENBQUMsRUFBTyxJQUFTLENBQUM7SUFDbkMsZ0JBQWdCLENBQUUsVUFBbUI7UUFDbkMsSUFBSSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUM7SUFDN0IsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLEtBQUssSUFBSSxFQUFFLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLElBQUksU0FBUyxFQUFFO1lBQ2hGLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzVELElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDekI7SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsQ0FBQztJQUNwQyxDQUFDOzswSEFsQ1UsNkJBQTZCOzhHQUE3Qiw2QkFBNkIsb05DakIxQyxtL0dBMkVBOzJGRDFEYSw2QkFBNkI7a0JBTHpDLFNBQVM7K0JBQ0UseUJBQXlCLG1CQUVsQix1QkFBdUIsQ0FBQyxNQUFNOzswQkFzQ2xDLElBQUk7OzBCQUFJLFFBQVE7NEVBbkNwQixZQUFZO3NCQUFwQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBJbnB1dCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksXG4gIE9uSW5pdCwgT3B0aW9uYWwsXG4gIFNlbGYsIFNpbXBsZUNoYW5nZXNcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTmdDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgT25zaG9yZUZvcm1UZW1wbGF0ZUl0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvZm9ybS5tb2RlbHMnO1xuaW1wb3J0IHsgT25zaG9yZUZvcm1UZW1wbGF0ZVR5cGUgfSBmcm9tICcuLi8uLi9lbnVtcy9mb3JtLmVudW1zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnb25zaG9yZS1mb3JtLWlucHV0LWl0ZW0nLFxuICB0ZW1wbGF0ZVVybDogJy4vZm9ybS1pbnB1dC1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIE9uc2hvcmVGb3JtSW5wdXRJdGVtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBmb3JtVGVtcGxhdGUhOiBPbnNob3JlRm9ybVRlbXBsYXRlSXRlbTtcbiAgQElucHV0KCkgc3RlcD86IG51bWJlciA9IDE7XG4gIEBJbnB1dCgpIG1pbj86IG51bWJlciA9IDA7XG4gIEBJbnB1dCgpIG1heD86IG51bWJlciA9IDk5OTk5OTtcbiAgQElucHV0KCkgbWluTGVuZ3RoPzogbnVtYmVyID0gMDtcbiAgQElucHV0KCkgbWF4TGVuZ3RoPzogbnVtYmVyID0gOTk5OTk5O1xuXG4gIE9uc2hvcmVGb3JtVGVtcGxhdGVUeXBlID0gT25zaG9yZUZvcm1UZW1wbGF0ZVR5cGU7XG5cbiAgcGFzc3dvcmRWaXNpYmxlOiBib29sZWFuID0gZmFsc2U7XG4gIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLy8gQ29udHJvbFZhbHVlQWNjZXNzb3IgaW50ZXJmYWNlXG4gIHdyaXRlVmFsdWUob2JqOiBhbnkpOiB2b2lkIHt9XG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge31cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge31cbiAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYodGhpcy5uZ0NvbnRyb2wuY29udHJvbD8udmFsdWUgPT0gJycgJiYgdGhpcy5mb3JtVGVtcGxhdGUuZGVmYXVsdCAhPSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMubmdDb250cm9sLmNvbnRyb2w/LnNldFZhbHVlKHRoaXMuZm9ybVRlbXBsYXRlLmRlZmF1bHQpO1xuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5uZ0NvbnRyb2wuY29udHJvbD8uZGlzYWJsZSgpO1xuICB9XG5cbiAgY29uc3RydWN0b3IoQFNlbGYoKSBAT3B0aW9uYWwoKSBwdWJsaWMgbmdDb250cm9sOiBOZ0NvbnRyb2wsXG4gICAgICAgICAgICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIHRoaXMubmdDb250cm9sLnZhbHVlQWNjZXNzb3IgPSB0aGlzO1xuICB9XG59XG4iLCI8b25zaG9yZS1mb3JtLWl0ZW0tY29udGFpbmVyIFtmb3JtVGVtcGxhdGVdPVwiZm9ybVRlbXBsYXRlXCIgW25nQ29udHJvbF09XCJuZ0NvbnRyb2xcIj5cbiAgPHNwYW4gY2xhc3M9XCJwLWlucHV0Z3JvdXAgdy1mdWxsXCI+XG5cbiAgICAgIDx0ZXh0YXJlYSAgKm5nSWY9XCJmb3JtVGVtcGxhdGUudHlwZSA9PSBPbnNob3JlRm9ybVRlbXBsYXRlVHlwZS50ZXh0YXJlYVwiXG4gICAgICAgICAgICAgICBjbGFzcz1cInctZnVsbFwiXG4gICAgICAgICAgICAgICBbbmFtZV09XCJmb3JtVGVtcGxhdGUubmFtZVwiXG4gICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiZm9ybVRlbXBsYXRlLnBsYWNlaG9sZGVyID8/ICcnXCJcbiAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAgICBbcm93c109XCIzXCJcbiAgICAgICAgICAgICAgIFtjb2xzXT1cIjMwXCJcbiAgICAgICAgICAgICAgIHBJbnB1dFRleHRhcmVhXG4gICAgICAgICAgICAgICBbYXV0b1Jlc2l6ZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJuZ0NvbnRyb2wuY29udHJvbFwiXG4gICAgICAgICAgICAgICBbY2xhc3MucC1pbnZhbGlkXT1cIm5nQ29udHJvbC5jb250cm9sPy50b3VjaGVkICYmIG5nQ29udHJvbC5jb250cm9sPy5pbnZhbGlkXCJcbiAgICAgICAgICAgICAgIFttaW5MZW5ndGhdPVwibWluTGVuZ3RoXCJcbiAgICAgICAgICAgICAgIFttYXhMZW5ndGhdPVwibWF4TGVuZ3RoXCI+PC90ZXh0YXJlYT5cblxuICAgICAgPGlucHV0ICpuZ0lmPVwiZm9ybVRlbXBsYXRlLnR5cGUgPT0gT25zaG9yZUZvcm1UZW1wbGF0ZVR5cGUudGV4dCB8fCBmb3JtVGVtcGxhdGUudHlwZSA9PSBPbnNob3JlRm9ybVRlbXBsYXRlVHlwZS5lbWFpbCB8fCBmb3JtVGVtcGxhdGUudHlwZSA9PSBPbnNob3JlRm9ybVRlbXBsYXRlVHlwZS5waG9uZVwiXG4gICAgICAgICAgICAgY2xhc3M9XCJ3LWZ1bGxcIlxuICAgICAgICAgICAgIFt0eXBlXT1cImZvcm1UZW1wbGF0ZS50eXBlXCJcbiAgICAgICAgICAgICBbbmFtZV09XCJmb3JtVGVtcGxhdGUubmFtZVwiXG4gICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImZvcm1UZW1wbGF0ZS5wbGFjZWhvbGRlciA/PyAnJ1wiXG4gICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgICBwSW5wdXRUZXh0XG4gICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cIm5nQ29udHJvbC5jb250cm9sXCJcbiAgICAgICAgICAgICBbYXV0b2NvbXBsZXRlXT1cIidwcmV2ZW50LXRlbXBsYXRlLScgKyBmb3JtVGVtcGxhdGUubmFtZVwiXG4gICAgICAgICAgICAgW21pbkxlbmd0aF09XCJtaW5MZW5ndGhcIlxuICAgICAgICAgICAgIFttYXhMZW5ndGhdPVwibWF4TGVuZ3RoXCIvPlxuXG4gICAgICA8aW5wdXQgKm5nSWY9XCJmb3JtVGVtcGxhdGUudHlwZSA9PSBPbnNob3JlRm9ybVRlbXBsYXRlVHlwZS5wYXNzd29yZFwiXG4gICAgICAgICAgICAgY2xhc3M9XCJ3LWZ1bGxcIlxuICAgICAgICAgICAgIFt0eXBlXT1cInBhc3N3b3JkVmlzaWJsZSA/ICd0ZXh0JyA6IGZvcm1UZW1wbGF0ZS50eXBlXCJcbiAgICAgICAgICAgICBbbmFtZV09XCJmb3JtVGVtcGxhdGUubmFtZVwiXG4gICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImZvcm1UZW1wbGF0ZS5wbGFjZWhvbGRlciA/PyAnJ1wiXG4gICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgICBwSW5wdXRUZXh0XG4gICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cIm5nQ29udHJvbC5jb250cm9sXCJcbiAgICAgICAgICAgICBbYXV0b2NvbXBsZXRlXT1cIidwcmV2ZW50LXRlbXBsYXRlLScgKyBmb3JtVGVtcGxhdGUubmFtZVwiXG4gICAgICAgICAgICAgW21pbkxlbmd0aF09XCJtaW5MZW5ndGhcIlxuICAgICAgICAgICAgIFttYXhMZW5ndGhdPVwibWF4TGVuZ3RoXCIvPlxuXG4gICAgICA8cC1pbnB1dE51bWJlciAqbmdJZj1cImZvcm1UZW1wbGF0ZS50eXBlID09IE9uc2hvcmVGb3JtVGVtcGxhdGVUeXBlLm51bWJlclwiXG4gICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInctZnVsbFwiXG4gICAgICAgICAgICAgICAgICAgICBbbmFtZV09XCJmb3JtVGVtcGxhdGUubmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiZm9ybVRlbXBsYXRlLnBsYWNlaG9sZGVyID8/IDBcIlxuICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJuZ0NvbnRyb2wuY29udHJvbFwiXG4gICAgICAgICAgICAgICAgICAgICBbYXV0b2NvbXBsZXRlXT1cIidwcmV2ZW50LXRlbXBsYXRlLScgKyBmb3JtVGVtcGxhdGUubmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICBbc2hvd0J1dHRvbnNdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICBbc3RlcF09XCJzdGVwID8/IDFcIlxuICAgICAgICAgICAgICAgICAgICAgW21pbl09XCJtaW5cIlxuICAgICAgICAgICAgICAgICAgICAgW21heF09XCJtYXhcIj5cbiAgICAgIDwvcC1pbnB1dE51bWJlcj5cblxuICAgICAgPHNwYW4gY2xhc3M9XCJwLWlucHV0Z3JvdXAtYWRkb25cIiAqbmdJZj1cIiFkaXNhYmxlZFwiPlxuICAgICAgICA8aSBjbGFzcz1cImZhXCJcbiAgICAgICAgICBbY2xhc3MuZmEtY2hlY2tdPVwiZm9ybVRlbXBsYXRlLnJlcXVpcmVkICYmIChuZ0NvbnRyb2wuY29udHJvbC52YWxpZCB8fCBuZ0NvbnRyb2wuY29udHJvbC51bnRvdWNoZWQpXCJcbiAgICAgICAgICBbY2xhc3MuZmEtZXhjbGFtYXRpb24tdHJpYW5nbGVdPVwibmdDb250cm9sLmNvbnRyb2wudG91Y2hlZCAmJiBuZ0NvbnRyb2wuY29udHJvbC5pbnZhbGlkXCJcbiAgICAgICAgICBbY2xhc3Mub25zaG9yZS1jb2xvci1ncmF5LTNdPVwibmdDb250cm9sLmNvbnRyb2wudW50b3VjaGVkXCJcbiAgICAgICAgICBbY2xhc3Mub25zaG9yZS1jb2xvci1zdWNjZXNzXT1cIm5nQ29udHJvbC5jb250cm9sLnRvdWNoZWQgJiYgbmdDb250cm9sLmNvbnRyb2wudmFsaWRcIlxuICAgICAgICAgIFtjbGFzcy5vbnNob3JlLWNvbG9yLWRhbmdlcl09XCJuZ0NvbnRyb2wuY29udHJvbC50b3VjaGVkICYmIG5nQ29udHJvbC5jb250cm9sLmludmFsaWRcIj5cbiAgICAgICAgPC9pPlxuICAgICAgPC9zcGFuPlxuXG4gICAgICA8c3BhbiAqbmdJZj1cImZvcm1UZW1wbGF0ZS50eXBlID09IE9uc2hvcmVGb3JtVGVtcGxhdGVUeXBlLnBhc3N3b3JkXCJcbiAgICAgICAgICAoY2xpY2spPVwicGFzc3dvcmRWaXNpYmxlID0gIXBhc3N3b3JkVmlzaWJsZVwiXG4gICAgICAgICAgY2xhc3M9XCJwLWlucHV0Z3JvdXAtYWRkb24gY3Vyc29yLXBvaW50ZXJcIj5cbiAgICAgICAgPGkgY2xhc3M9XCJmYVwiXG4gICAgICAgICAgIFtjbGFzcy5mYS1leWUtc2xhc2hdPVwicGFzc3dvcmRWaXNpYmxlXCJcbiAgICAgICAgICAgW2NsYXNzLmZhLWV5ZV09XCIhcGFzc3dvcmRWaXNpYmxlXCJcbiAgICAgICAgPjwvaT5cbiAgICAgIDwvc3Bhbj5cblxuICA8L3NwYW4+XG48L29uc2hvcmUtZm9ybS1pdGVtLWNvbnRhaW5lcj5cbiJdfQ==
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1pbnB1dC1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29uc2hvcmUtZm9ybXMvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0taW5wdXQtaXRlbS9mb3JtLWlucHV0LWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb25zaG9yZS1mb3Jtcy9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS1pbnB1dC1pdGVtL2Zvcm0taW5wdXQtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxLQUFLLEVBQ0csUUFBUSxFQUNoQixJQUFJLEVBQ0wsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7Ozs7O0FBT2pFLE1BQU0sT0FBTyw2QkFBNkI7SUFvQ3hDLFlBQXVDLFNBQW9CLEVBQ3ZDLEdBQXNCO1FBREgsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUN2QyxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQW5DakMsU0FBSSxHQUFZLENBQUMsQ0FBQztRQUNsQixRQUFHLEdBQVksQ0FBQyxDQUFDO1FBQ2pCLFFBQUcsR0FBWSxNQUFNLENBQUM7UUFDdEIsY0FBUyxHQUFZLENBQUMsQ0FBQztRQUN2QixjQUFTLEdBQVksTUFBTSxDQUFDO1FBRXJDLDRCQUF1QixHQUFHLHVCQUF1QixDQUFDO1FBRWxELG9CQUFlLEdBQVksS0FBSyxDQUFDO1FBQ2pDLGFBQVEsR0FBWSxLQUFLLENBQUM7UUEyQnhCLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztJQUN0QyxDQUFDO0lBMUJELGlDQUFpQztJQUNqQyxVQUFVLENBQUMsR0FBUSxJQUFTLENBQUM7SUFDN0IsZ0JBQWdCLENBQUMsRUFBTyxJQUFTLENBQUM7SUFDbEMsaUJBQWlCLENBQUMsRUFBTyxJQUFTLENBQUM7SUFDbkMsZ0JBQWdCLENBQUUsVUFBbUI7UUFDbkMsSUFBSSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUM7SUFDN0IsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLEtBQUssSUFBSSxFQUFFLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLElBQUksU0FBUyxFQUFFO1lBQ2hGLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzVELElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDekI7SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsQ0FBQztJQUNwQyxDQUFDOzswSEFsQ1UsNkJBQTZCOzhHQUE3Qiw2QkFBNkIsb05DakIxQyx1K0dBMkVBOzJGRDFEYSw2QkFBNkI7a0JBTHpDLFNBQVM7K0JBQ0UseUJBQXlCLG1CQUVsQix1QkFBdUIsQ0FBQyxNQUFNOzswQkFzQ2xDLElBQUk7OzBCQUFJLFFBQVE7NEVBbkNwQixZQUFZO3NCQUFwQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBJbnB1dCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksXG4gIE9uSW5pdCwgT3B0aW9uYWwsXG4gIFNlbGYsIFNpbXBsZUNoYW5nZXNcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTmdDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgT25zaG9yZUZvcm1UZW1wbGF0ZUl0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvZm9ybS5tb2RlbHMnO1xuaW1wb3J0IHsgT25zaG9yZUZvcm1UZW1wbGF0ZVR5cGUgfSBmcm9tICcuLi8uLi9lbnVtcy9mb3JtLmVudW1zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnb25zaG9yZS1mb3JtLWlucHV0LWl0ZW0nLFxuICB0ZW1wbGF0ZVVybDogJy4vZm9ybS1pbnB1dC1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIE9uc2hvcmVGb3JtSW5wdXRJdGVtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBmb3JtVGVtcGxhdGUhOiBPbnNob3JlRm9ybVRlbXBsYXRlSXRlbTtcbiAgQElucHV0KCkgc3RlcD86IG51bWJlciA9IDE7XG4gIEBJbnB1dCgpIG1pbj86IG51bWJlciA9IDA7XG4gIEBJbnB1dCgpIG1heD86IG51bWJlciA9IDk5OTk5OTtcbiAgQElucHV0KCkgbWluTGVuZ3RoPzogbnVtYmVyID0gMDtcbiAgQElucHV0KCkgbWF4TGVuZ3RoPzogbnVtYmVyID0gOTk5OTk5O1xuXG4gIE9uc2hvcmVGb3JtVGVtcGxhdGVUeXBlID0gT25zaG9yZUZvcm1UZW1wbGF0ZVR5cGU7XG5cbiAgcGFzc3dvcmRWaXNpYmxlOiBib29sZWFuID0gZmFsc2U7XG4gIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLy8gQ29udHJvbFZhbHVlQWNjZXNzb3IgaW50ZXJmYWNlXG4gIHdyaXRlVmFsdWUob2JqOiBhbnkpOiB2b2lkIHt9XG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge31cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge31cbiAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYodGhpcy5uZ0NvbnRyb2wuY29udHJvbD8udmFsdWUgPT0gJycgJiYgdGhpcy5mb3JtVGVtcGxhdGUuZGVmYXVsdCAhPSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMubmdDb250cm9sLmNvbnRyb2w/LnNldFZhbHVlKHRoaXMuZm9ybVRlbXBsYXRlLmRlZmF1bHQpO1xuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5uZ0NvbnRyb2wuY29udHJvbD8uZGlzYWJsZSgpO1xuICB9XG5cbiAgY29uc3RydWN0b3IoQFNlbGYoKSBAT3B0aW9uYWwoKSBwdWJsaWMgbmdDb250cm9sOiBOZ0NvbnRyb2wsXG4gICAgICAgICAgICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIHRoaXMubmdDb250cm9sLnZhbHVlQWNjZXNzb3IgPSB0aGlzO1xuICB9XG59XG4iLCI8b25zaG9yZS1mb3JtLWl0ZW0tY29udGFpbmVyIFtmb3JtVGVtcGxhdGVdPVwiZm9ybVRlbXBsYXRlXCIgW25nQ29udHJvbF09XCJuZ0NvbnRyb2xcIj5cbiAgPHNwYW4gY2xhc3M9XCJwLWlucHV0Z3JvdXAgdy1mdWxsXCI+XG5cbiAgICAgIDx0ZXh0YXJlYSAgKm5nSWY9XCJmb3JtVGVtcGxhdGUudHlwZSA9PSBPbnNob3JlRm9ybVRlbXBsYXRlVHlwZS50ZXh0YXJlYVwiXG4gICAgICAgICAgICAgICBjbGFzcz1cInctZnVsbFwiXG4gICAgICAgICAgICAgICBbbmFtZV09XCJmb3JtVGVtcGxhdGUubmFtZVwiXG4gICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiZm9ybVRlbXBsYXRlLnBsYWNlaG9sZGVyID8/ICcnXCJcbiAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAgICBbcm93c109XCIzXCJcbiAgICAgICAgICAgICAgIFtjb2xzXT1cIjMwXCJcbiAgICAgICAgICAgICAgIHBJbnB1dFRleHRhcmVhXG4gICAgICAgICAgICAgICBbYXV0b1Jlc2l6ZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJuZ0NvbnRyb2wuY29udHJvbFwiXG4gICAgICAgICAgICAgICBbY2xhc3MucC1pbnZhbGlkXT1cIm5nQ29udHJvbC5jb250cm9sPy50b3VjaGVkICYmIG5nQ29udHJvbC5jb250cm9sPy5pbnZhbGlkXCJcbiAgICAgICAgICAgICAgIFttaW5MZW5ndGhdPVwibWluTGVuZ3RoXCJcbiAgICAgICAgICAgICAgIFttYXhMZW5ndGhdPVwibWF4TGVuZ3RoXCI+PC90ZXh0YXJlYT5cblxuICAgICAgPGlucHV0ICpuZ0lmPVwiZm9ybVRlbXBsYXRlLnR5cGUgPT0gT25zaG9yZUZvcm1UZW1wbGF0ZVR5cGUudGV4dCB8fCBmb3JtVGVtcGxhdGUudHlwZSA9PSBPbnNob3JlRm9ybVRlbXBsYXRlVHlwZS5lbWFpbCB8fCBmb3JtVGVtcGxhdGUudHlwZSA9PSBPbnNob3JlRm9ybVRlbXBsYXRlVHlwZS5waG9uZVwiXG4gICAgICAgICAgICAgY2xhc3M9XCJ3LWZ1bGxcIlxuICAgICAgICAgICAgIFt0eXBlXT1cImZvcm1UZW1wbGF0ZS50eXBlXCJcbiAgICAgICAgICAgICBbbmFtZV09XCJmb3JtVGVtcGxhdGUubmFtZVwiXG4gICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImZvcm1UZW1wbGF0ZS5wbGFjZWhvbGRlciA/PyAnJ1wiXG4gICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgICBwSW5wdXRUZXh0XG4gICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cIm5nQ29udHJvbC5jb250cm9sXCJcbiAgICAgICAgICAgICBbYXV0b2NvbXBsZXRlXT1cIidwcmV2ZW50LXRlbXBsYXRlLScgKyBmb3JtVGVtcGxhdGUubmFtZVwiXG4gICAgICAgICAgICAgW21pbkxlbmd0aF09XCJtaW5MZW5ndGhcIlxuICAgICAgICAgICAgIFttYXhMZW5ndGhdPVwibWF4TGVuZ3RoXCIvPlxuXG4gICAgICA8aW5wdXQgKm5nSWY9XCJmb3JtVGVtcGxhdGUudHlwZSA9PSBPbnNob3JlRm9ybVRlbXBsYXRlVHlwZS5wYXNzd29yZFwiXG4gICAgICAgICAgICAgY2xhc3M9XCJ3LWZ1bGxcIlxuICAgICAgICAgICAgIFt0eXBlXT1cInBhc3N3b3JkVmlzaWJsZSA/ICd0ZXh0JyA6IGZvcm1UZW1wbGF0ZS50eXBlXCJcbiAgICAgICAgICAgICBbbmFtZV09XCJmb3JtVGVtcGxhdGUubmFtZVwiXG4gICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImZvcm1UZW1wbGF0ZS5wbGFjZWhvbGRlciA/PyAnJ1wiXG4gICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgICBwSW5wdXRUZXh0XG4gICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cIm5nQ29udHJvbC5jb250cm9sXCJcbiAgICAgICAgICAgICBbYXV0b2NvbXBsZXRlXT1cIidwcmV2ZW50LXRlbXBsYXRlLScgKyBmb3JtVGVtcGxhdGUubmFtZVwiXG4gICAgICAgICAgICAgW21pbkxlbmd0aF09XCJtaW5MZW5ndGhcIlxuICAgICAgICAgICAgIFttYXhMZW5ndGhdPVwibWF4TGVuZ3RoXCIvPlxuXG4gICAgICA8cC1pbnB1dE51bWJlciAqbmdJZj1cImZvcm1UZW1wbGF0ZS50eXBlID09IE9uc2hvcmVGb3JtVGVtcGxhdGVUeXBlLm51bWJlclwiXG4gICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInctZnVsbFwiXG4gICAgICAgICAgICAgICAgICAgICBbbmFtZV09XCJmb3JtVGVtcGxhdGUubmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiZm9ybVRlbXBsYXRlLnBsYWNlaG9sZGVyID8/IDBcIlxuICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJuZ0NvbnRyb2wuY29udHJvbFwiXG4gICAgICAgICAgICAgICAgICAgICBbYXV0b2NvbXBsZXRlXT1cIidwcmV2ZW50LXRlbXBsYXRlLScgKyBmb3JtVGVtcGxhdGUubmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICBbc2hvd0J1dHRvbnNdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICBbc3RlcF09XCJzdGVwID8/IDFcIlxuICAgICAgICAgICAgICAgICAgICAgW21pbl09XCJtaW5cIlxuICAgICAgICAgICAgICAgICAgICAgW21heF09XCJtYXhcIj5cbiAgICAgIDwvcC1pbnB1dE51bWJlcj5cblxuICAgICAgPHNwYW4gY2xhc3M9XCJwLWlucHV0Z3JvdXAtYWRkb25cIiAqbmdJZj1cIiFkaXNhYmxlZFwiPlxuICAgICAgICA8aSBjbGFzcz1cImZhXCJcbiAgICAgICAgICBbY2xhc3MuZmEtY2hlY2tdPVwiZm9ybVRlbXBsYXRlLnJlcXVpcmVkICYmIChuZ0NvbnRyb2wuY29udHJvbC52YWxpZCB8fCAhbmdDb250cm9sLmNvbnRyb2wuZGlydHkpXCJcbiAgICAgICAgICBbY2xhc3MuZmEtZXhjbGFtYXRpb24tdHJpYW5nbGVdPVwibmdDb250cm9sLmNvbnRyb2wuZGlydHkgJiYgbmdDb250cm9sLmNvbnRyb2wuaW52YWxpZFwiXG4gICAgICAgICAgW2NsYXNzLm9uc2hvcmUtY29sb3ItZ3JheS0zXT1cIiFuZ0NvbnRyb2wuY29udHJvbC5kaXJ0eVwiXG4gICAgICAgICAgW2NsYXNzLm9uc2hvcmUtY29sb3Itc3VjY2Vzc109XCJuZ0NvbnRyb2wuY29udHJvbC5kaXJ0eSAmJiBuZ0NvbnRyb2wuY29udHJvbC52YWxpZFwiXG4gICAgICAgICAgW2NsYXNzLm9uc2hvcmUtY29sb3ItZGFuZ2VyXT1cIm5nQ29udHJvbC5jb250cm9sLmRpcnR5ICYmIG5nQ29udHJvbC5jb250cm9sLmludmFsaWRcIj5cbiAgICAgICAgPC9pPlxuICAgICAgPC9zcGFuPlxuXG4gICAgICA8c3BhbiAqbmdJZj1cImZvcm1UZW1wbGF0ZS50eXBlID09IE9uc2hvcmVGb3JtVGVtcGxhdGVUeXBlLnBhc3N3b3JkXCJcbiAgICAgICAgICAoY2xpY2spPVwicGFzc3dvcmRWaXNpYmxlID0gIXBhc3N3b3JkVmlzaWJsZVwiXG4gICAgICAgICAgY2xhc3M9XCJwLWlucHV0Z3JvdXAtYWRkb24gY3Vyc29yLXBvaW50ZXJcIj5cbiAgICAgICAgPGkgY2xhc3M9XCJmYVwiXG4gICAgICAgICAgIFtjbGFzcy5mYS1leWUtc2xhc2hdPVwicGFzc3dvcmRWaXNpYmxlXCJcbiAgICAgICAgICAgW2NsYXNzLmZhLWV5ZV09XCIhcGFzc3dvcmRWaXNpYmxlXCJcbiAgICAgICAgPjwvaT5cbiAgICAgIDwvc3Bhbj5cblxuICA8L3NwYW4+XG48L29uc2hvcmUtZm9ybS1pdGVtLWNvbnRhaW5lcj5cbiJdfQ==
@@ -1,4 +1,4 @@
1
- import { ChangeDetectionStrategy, Component, HostListener, Input } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, HostListener, Input, ViewChild } from '@angular/core';
2
2
  import { OnshoreFormTemplateLayout } from '../../enums/form.enums';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "@angular/common";
@@ -32,14 +32,15 @@ export class OnshoreFormItemContainer {
32
32
  this.cdr.markForCheck();
33
33
  }
34
34
  onWindowResize() {
35
- if (window.innerWidth > 500 && this.formTemplate.layout === OnshoreFormTemplateLayout.auto) {
35
+ const conatinerWidth = this.formContainer?.nativeElement.offsetWidth;
36
+ if (conatinerWidth > 500 && this.formTemplate.layout === OnshoreFormTemplateLayout.auto && this.layout !== OnshoreFormTemplateLayout.horizontal) {
36
37
  this.layout = OnshoreFormTemplateLayout.horizontal;
38
+ this.cdr.markForCheck();
37
39
  }
38
- if (window.innerWidth <= 500 && this.formTemplate.layout === OnshoreFormTemplateLayout.auto) {
40
+ if (conatinerWidth <= 500 && this.formTemplate.layout === OnshoreFormTemplateLayout.auto && this.layout !== OnshoreFormTemplateLayout.vertical) {
39
41
  this.layout = OnshoreFormTemplateLayout.vertical;
42
+ this.cdr.markForCheck();
40
43
  }
41
- console.log("resize", window.innerWidth, this.layout);
42
- this.cdr.markForCheck();
43
44
  }
44
45
  ngOnInit() {
45
46
  this.ngControl?.control?.valueChanges.subscribe(() => {
@@ -79,16 +80,19 @@ export class OnshoreFormItemContainer {
79
80
  }
80
81
  }
81
82
  OnshoreFormItemContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: OnshoreFormItemContainer, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
82
- OnshoreFormItemContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: OnshoreFormItemContainer, selector: "onshore-form-item-container", inputs: { formTemplate: "formTemplate", ngControl: "ngControl" }, host: { listeners: { "window:resize": "onWindowResize($event)" } }, usesOnChanges: true, ngImport: i0, template: "<div class=\"mb-4\">\n <div class=\"flex w-full\"\n [class.flex-column]=\"layout == OnshoreFormTemplateLayout.vertical\"\n [class.flex-row]=\"layout == OnshoreFormTemplateLayout.horizontal\"\n [class.justify-content-between]=\"layout == OnshoreFormTemplateLayout.horizontal\">\n\n <div #formLabel\n class=\"flex justify-content-between\"\n [style]=\"formTemplate.labelStyle ?? 'min-width: 200px'\">\n\n <b [class.mr-2]=\"layout == OnshoreFormTemplateLayout.horizontal\"\n [class.mb-2]=\"layout == OnshoreFormTemplateLayout.vertical\">\n {{formTemplate.label}}\n <small *ngIf=\"formTemplate.required\" class=\"onshore-color-danger\">*</small>\n </b>\n\n <div *ngIf=\"formTemplate.tooltip && layout == OnshoreFormTemplateLayout.vertical\" [pTooltip]=\"formTemplate.tooltip\" [escape]=\"false\" appendTo=\"body\"><i class=\"fa fa-circle-question onshore-color-gray-5\"></i></div>\n\n </div>\n\n <div class=\"flex w-full\">\n <p-toggleButton\n *ngIf=\"formTemplate.locked\"\n (onChange)=\"lockChanged($event.checked)\"\n onIcon=\"fa fa-lock-open\"\n offIcon=\"fa fa-lock\"\n class=\"mr-2\"\n [style]=\"{height: '36px'}\"\n [disabled]=\"!formTemplate.enabled\">\n </p-toggleButton>\n\n <ng-content></ng-content>\n </div>\n\n <div *ngIf=\"formTemplate.tooltip && layout == OnshoreFormTemplateLayout.horizontal\" class=\"ml-2 align-self-center\" [pTooltip]=\"formTemplate.tooltip\" [escape]=\"false\"><i class=\"fa fa-circle-question onshore-color-gray-5\"></i></div>\n </div>\n\n <div *ngIf=\"ngControl.control.touched\" [style]=\"{'margin-left': layout == OnshoreFormTemplateLayout.horizontal ? formLabel.clientWidth + 'px' : '0px'}\">\n <onshore-form-validation-output\n [validationItems]=\"formTemplate.validationItems\"\n [validationErrors]=\"ngControl.control.errors\">\n </onshore-form-validation-output>\n </div>\n\n <div [style]=\"{'margin-left': layout == OnshoreFormTemplateLayout.horizontal ? formLabel.clientWidth + 'px' : '0px'}\">\n <small *ngIf=\"formTemplate.description\" class=\"mt-2 onshore-color-gray-5\"><i class=\"fa fa-info-circle\"></i> {{formTemplate.description}}</small>\n </div>\n\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "fitContent", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "component", type: i3.ToggleButton, selector: "p-toggleButton", inputs: ["onLabel", "offLabel", "onIcon", "offIcon", "ariaLabelledBy", "disabled", "style", "styleClass", "inputId", "tabindex", "iconPos"], outputs: ["onChange"] }, { kind: "component", type: i4.OnshoreFormValidationOutputComponent, selector: "onshore-form-validation-output", inputs: ["validationErrors", "validationItems"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
83
+ OnshoreFormItemContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: OnshoreFormItemContainer, selector: "onshore-form-item-container", inputs: { formTemplate: "formTemplate", ngControl: "ngControl" }, host: { listeners: { "window:resize": "onWindowResize($event)" } }, viewQueries: [{ propertyName: "formContainer", first: true, predicate: ["formContainer"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"mb-4\" #formContainer>\n <div class=\"flex w-full\"\n [class.flex-column]=\"layout == OnshoreFormTemplateLayout.vertical\"\n [class.flex-row]=\"layout == OnshoreFormTemplateLayout.horizontal\"\n [class.justify-content-between]=\"layout == OnshoreFormTemplateLayout.horizontal\">\n\n <div #formLabel\n class=\"flex justify-content-between\"\n [style]=\"formTemplate.labelStyle ?? 'min-width: 200px'\">\n\n <b [class.mr-2]=\"layout == OnshoreFormTemplateLayout.horizontal\"\n [class.mb-2]=\"layout == OnshoreFormTemplateLayout.vertical\">\n {{formTemplate.label}}\n <small *ngIf=\"formTemplate.required\" class=\"onshore-color-danger\">*</small>\n </b>\n\n <div *ngIf=\"formTemplate.tooltip && layout == OnshoreFormTemplateLayout.vertical\" [pTooltip]=\"formTemplate.tooltip\" [escape]=\"false\" appendTo=\"body\"><i class=\"fa fa-circle-question onshore-color-gray-5\"></i></div>\n\n </div>\n\n <div class=\"flex w-full\">\n <p-toggleButton\n *ngIf=\"formTemplate.locked\"\n (onChange)=\"lockChanged($event.checked)\"\n onIcon=\"fa fa-lock-open\"\n offIcon=\"fa fa-lock\"\n class=\"mr-2\"\n [style]=\"{height: '36px'}\"\n [disabled]=\"!formTemplate.enabled\">\n </p-toggleButton>\n\n <ng-content></ng-content>\n </div>\n\n <div *ngIf=\"formTemplate.tooltip && layout == OnshoreFormTemplateLayout.horizontal\" class=\"ml-2 align-self-center\" [pTooltip]=\"formTemplate.tooltip\" [escape]=\"false\"><i class=\"fa fa-circle-question onshore-color-gray-5\"></i></div>\n </div>\n\n <div *ngIf=\"ngControl.control.dirty\" [style]=\"{'margin-left': layout == OnshoreFormTemplateLayout.horizontal ? formLabel.clientWidth + 'px' : '0px'}\">\n <onshore-form-validation-output\n [validationItems]=\"formTemplate.validationItems\"\n [validationErrors]=\"ngControl.control.errors\">\n </onshore-form-validation-output>\n </div>\n\n <div [style]=\"{'margin-left': layout == OnshoreFormTemplateLayout.horizontal ? formLabel.clientWidth + 'px' : '0px'}\">\n <small *ngIf=\"formTemplate.description\" class=\"mt-2 onshore-color-gray-5\"><i class=\"fa fa-info-circle\"></i> {{formTemplate.description}}</small>\n </div>\n\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "fitContent", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "component", type: i3.ToggleButton, selector: "p-toggleButton", inputs: ["onLabel", "offLabel", "onIcon", "offIcon", "ariaLabelledBy", "disabled", "style", "styleClass", "inputId", "tabindex", "iconPos"], outputs: ["onChange"] }, { kind: "component", type: i4.OnshoreFormValidationOutputComponent, selector: "onshore-form-validation-output", inputs: ["validationErrors", "validationItems"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
83
84
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: OnshoreFormItemContainer, decorators: [{
84
85
  type: Component,
85
- args: [{ selector: 'onshore-form-item-container', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"mb-4\">\n <div class=\"flex w-full\"\n [class.flex-column]=\"layout == OnshoreFormTemplateLayout.vertical\"\n [class.flex-row]=\"layout == OnshoreFormTemplateLayout.horizontal\"\n [class.justify-content-between]=\"layout == OnshoreFormTemplateLayout.horizontal\">\n\n <div #formLabel\n class=\"flex justify-content-between\"\n [style]=\"formTemplate.labelStyle ?? 'min-width: 200px'\">\n\n <b [class.mr-2]=\"layout == OnshoreFormTemplateLayout.horizontal\"\n [class.mb-2]=\"layout == OnshoreFormTemplateLayout.vertical\">\n {{formTemplate.label}}\n <small *ngIf=\"formTemplate.required\" class=\"onshore-color-danger\">*</small>\n </b>\n\n <div *ngIf=\"formTemplate.tooltip && layout == OnshoreFormTemplateLayout.vertical\" [pTooltip]=\"formTemplate.tooltip\" [escape]=\"false\" appendTo=\"body\"><i class=\"fa fa-circle-question onshore-color-gray-5\"></i></div>\n\n </div>\n\n <div class=\"flex w-full\">\n <p-toggleButton\n *ngIf=\"formTemplate.locked\"\n (onChange)=\"lockChanged($event.checked)\"\n onIcon=\"fa fa-lock-open\"\n offIcon=\"fa fa-lock\"\n class=\"mr-2\"\n [style]=\"{height: '36px'}\"\n [disabled]=\"!formTemplate.enabled\">\n </p-toggleButton>\n\n <ng-content></ng-content>\n </div>\n\n <div *ngIf=\"formTemplate.tooltip && layout == OnshoreFormTemplateLayout.horizontal\" class=\"ml-2 align-self-center\" [pTooltip]=\"formTemplate.tooltip\" [escape]=\"false\"><i class=\"fa fa-circle-question onshore-color-gray-5\"></i></div>\n </div>\n\n <div *ngIf=\"ngControl.control.touched\" [style]=\"{'margin-left': layout == OnshoreFormTemplateLayout.horizontal ? formLabel.clientWidth + 'px' : '0px'}\">\n <onshore-form-validation-output\n [validationItems]=\"formTemplate.validationItems\"\n [validationErrors]=\"ngControl.control.errors\">\n </onshore-form-validation-output>\n </div>\n\n <div [style]=\"{'margin-left': layout == OnshoreFormTemplateLayout.horizontal ? formLabel.clientWidth + 'px' : '0px'}\">\n <small *ngIf=\"formTemplate.description\" class=\"mt-2 onshore-color-gray-5\"><i class=\"fa fa-info-circle\"></i> {{formTemplate.description}}</small>\n </div>\n\n</div>\n" }]
86
+ args: [{ selector: 'onshore-form-item-container', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"mb-4\" #formContainer>\n <div class=\"flex w-full\"\n [class.flex-column]=\"layout == OnshoreFormTemplateLayout.vertical\"\n [class.flex-row]=\"layout == OnshoreFormTemplateLayout.horizontal\"\n [class.justify-content-between]=\"layout == OnshoreFormTemplateLayout.horizontal\">\n\n <div #formLabel\n class=\"flex justify-content-between\"\n [style]=\"formTemplate.labelStyle ?? 'min-width: 200px'\">\n\n <b [class.mr-2]=\"layout == OnshoreFormTemplateLayout.horizontal\"\n [class.mb-2]=\"layout == OnshoreFormTemplateLayout.vertical\">\n {{formTemplate.label}}\n <small *ngIf=\"formTemplate.required\" class=\"onshore-color-danger\">*</small>\n </b>\n\n <div *ngIf=\"formTemplate.tooltip && layout == OnshoreFormTemplateLayout.vertical\" [pTooltip]=\"formTemplate.tooltip\" [escape]=\"false\" appendTo=\"body\"><i class=\"fa fa-circle-question onshore-color-gray-5\"></i></div>\n\n </div>\n\n <div class=\"flex w-full\">\n <p-toggleButton\n *ngIf=\"formTemplate.locked\"\n (onChange)=\"lockChanged($event.checked)\"\n onIcon=\"fa fa-lock-open\"\n offIcon=\"fa fa-lock\"\n class=\"mr-2\"\n [style]=\"{height: '36px'}\"\n [disabled]=\"!formTemplate.enabled\">\n </p-toggleButton>\n\n <ng-content></ng-content>\n </div>\n\n <div *ngIf=\"formTemplate.tooltip && layout == OnshoreFormTemplateLayout.horizontal\" class=\"ml-2 align-self-center\" [pTooltip]=\"formTemplate.tooltip\" [escape]=\"false\"><i class=\"fa fa-circle-question onshore-color-gray-5\"></i></div>\n </div>\n\n <div *ngIf=\"ngControl.control.dirty\" [style]=\"{'margin-left': layout == OnshoreFormTemplateLayout.horizontal ? formLabel.clientWidth + 'px' : '0px'}\">\n <onshore-form-validation-output\n [validationItems]=\"formTemplate.validationItems\"\n [validationErrors]=\"ngControl.control.errors\">\n </onshore-form-validation-output>\n </div>\n\n <div [style]=\"{'margin-left': layout == OnshoreFormTemplateLayout.horizontal ? formLabel.clientWidth + 'px' : '0px'}\">\n <small *ngIf=\"formTemplate.description\" class=\"mt-2 onshore-color-gray-5\"><i class=\"fa fa-info-circle\"></i> {{formTemplate.description}}</small>\n </div>\n\n</div>\n" }]
86
87
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { formTemplate: [{
87
88
  type: Input
88
89
  }], ngControl: [{
89
90
  type: Input
91
+ }], formContainer: [{
92
+ type: ViewChild,
93
+ args: ['formContainer']
90
94
  }], onWindowResize: [{
91
95
  type: HostListener,
92
96
  args: ['window:resize', ['$event']]
93
97
  }] } });
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1pdGVtLWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnNob3JlLWZvcm1zL3NyYy9saWIvY29tcG9uZW50cy9mb3JtLWl0ZW0tY29udGFpbmVyL2Zvcm0taXRlbS1jb250YWluZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb25zaG9yZS1mb3Jtcy9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS1pdGVtLWNvbnRhaW5lci9mb3JtLWl0ZW0tY29udGFpbmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBSU4sTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7OztBQVFuRSxNQUFNLE9BQU8sd0JBQXdCO0lBc0ZuQyxZQUFvQixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQWxGMUMsOEJBQXlCLEdBQUcseUJBQXlCLENBQUM7UUFFdEQsV0FBTSxHQUE4Qix5QkFBeUIsQ0FBQyxJQUFJLENBQUM7SUFpRm5FLENBQUM7SUEvRUQsT0FBTyxDQUFDLE1BQWU7UUFDckIsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNaLElBQUcsTUFBTSxFQUFFO2dCQUNULElBQUksQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO2FBQ2xDO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO2FBQ25DO1lBQ0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUM1QixDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDVixDQUFDO0lBRUQsV0FBVyxDQUFDLFFBQWlC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SCxDQUFDOztxSEFwRlUsd0JBQXdCO3lHQUF4Qix3QkFBd0IsOE5DbkJyQyxpdkVBaURBOzJGRDlCYSx3QkFBd0I7a0JBTHBDLFNBQVM7K0JBQ0UsNkJBQTZCLG1CQUV0Qix1QkFBdUIsQ0FBQyxNQUFNO3dHQUd0QyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBMkJOLGNBQWM7c0JBRGIsWUFBWTt1QkFBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsXG4gIFNpbXBsZUNoYW5nZXNcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPbnNob3JlRm9ybVRlbXBsYXRlSXRlbSB9IGZyb20gJy4uLy4uL21vZGVscy9mb3JtLm1vZGVscyc7XG5pbXBvcnQgeyBPbnNob3JlRm9ybVRlbXBsYXRlTGF5b3V0IH0gZnJvbSAnLi4vLi4vZW51bXMvZm9ybS5lbnVtcyc7XG5pbXBvcnQgeyBOZ0NvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ29uc2hvcmUtZm9ybS1pdGVtLWNvbnRhaW5lcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9mb3JtLWl0ZW0tY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIE9uc2hvcmVGb3JtSXRlbUNvbnRhaW5lciBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgZm9ybVRlbXBsYXRlITogT25zaG9yZUZvcm1UZW1wbGF0ZUl0ZW07XG4gIEBJbnB1dCgpIG5nQ29udHJvbCE6IE5nQ29udHJvbDtcblxuICBPbnNob3JlRm9ybVRlbXBsYXRlTGF5b3V0ID0gT25zaG9yZUZvcm1UZW1wbGF0ZUxheW91dDtcblxuICBsYXlvdXQ6IE9uc2hvcmVGb3JtVGVtcGxhdGVMYXlvdXQgPSBPbnNob3JlRm9ybVRlbXBsYXRlTGF5b3V0LmF1dG87XG5cbiAgZW5hYmxlZChlbmFibGU6IGJvb2xlYW4pIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgaWYoZW5hYmxlKSB7XG4gICAgICAgICAgdGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2wuZW5hYmxlKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2wuZGlzYWJsZSgpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH0sIDEwMCk7XG4gIH1cblxuICBsb2NrQ2hhbmdlZCh1bmxvY2tlZDogYm9vbGVhbikge1xuICAgIGlmKHVubG9ja2VkICYmIHRoaXMuZm9ybVRlbXBsYXRlLmVuYWJsZWQpIHtcbiAgICAgIHRoaXMuZW5hYmxlZCh0cnVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5lbmFibGVkKGZhbHNlKTtcbiAgICB9XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJywgWyckZXZlbnQnXSlcbiAgb25XaW5kb3dSZXNpemUoKSB7XG4gICAgaWYod2luZG93LmlubmVyV2lkdGggPiA1MDAgJiYgdGhpcy5mb3JtVGVtcGxhdGUubGF5b3V0ID09PSBPbnNob3JlRm9ybVRlbXBsYXRlTGF5b3V0LmF1dG8pIHtcbiAgICAgIHRoaXMubGF5b3V0ID0gT25zaG9yZUZvcm1UZW1wbGF0ZUxheW91dC5ob3Jpem9udGFsO1xuICAgIH1cbiAgICBpZih3aW5kb3cuaW5uZXJXaWR0aCA8PSA1MDAgJiYgdGhpcy5mb3JtVGVtcGxhdGUubGF5b3V0ID09PSBPbnNob3JlRm9ybVRlbXBsYXRlTGF5b3V0LmF1dG8pIHtcbiAgICAgIHRoaXMubGF5b3V0ID0gT25zaG9yZUZvcm1UZW1wbGF0ZUxheW91dC52ZXJ0aWNhbDtcbiAgICB9XG5cbiAgICBjb25zb2xlLmxvZyhcInJlc2l6ZVwiLCB3aW5kb3cuaW5uZXJXaWR0aCwgdGhpcy5sYXlvdXQpXG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLm5nQ29udHJvbD8uY29udHJvbD8udmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9KTtcbiAgICB0aGlzLm5nQ29udHJvbD8uY29udHJvbD8uc3RhdHVzQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLmVuYWJsZWQodGhpcy5mb3JtVGVtcGxhdGUuZW5hYmxlZCk7XG5cbiAgICBpZih0aGlzLmZvcm1UZW1wbGF0ZS5sb2NrZWQpIHtcbiAgICAgIHRoaXMuZW5hYmxlZChmYWxzZSk7XG4gICAgfVxuXG4gICAgdGhpcy5sYXlvdXQgPSB0aGlzLmZvcm1UZW1wbGF0ZS5sYXlvdXQ7XG4gICAgdGhpcy5vbldpbmRvd1Jlc2l6ZSgpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGNvbnN0IHByZXZpb3VzVmFsdWUgPSBjaGFuZ2VzWydmb3JtVGVtcGxhdGUnXS5wcmV2aW91c1ZhbHVlO1xuICAgIGNvbnN0IGN1cnJlbnRWYWx1ZSA9IGNoYW5nZXNbJ2Zvcm1UZW1wbGF0ZSddLmN1cnJlbnRWYWx1ZTtcblxuICAgIGlmKGN1cnJlbnRWYWx1ZSkge1xuXG4gICAgICBpZihwcmV2aW91c1ZhbHVlPy5lbmFibGVkICE9PSBjdXJyZW50VmFsdWU/LmVuYWJsZWQpIHtcbiAgICAgICAgdGhpcy5lbmFibGVkKGN1cnJlbnRWYWx1ZT8uZW5hYmxlZCk7XG4gICAgICB9XG5cbiAgICAgIGlmKHByZXZpb3VzVmFsdWU/LmxvY2tlZCAhPT0gY3VycmVudFZhbHVlPy5sb2NrZWQpIHtcbiAgICAgICAgaWYoY3VycmVudFZhbHVlLmxvY2tlZCkge1xuICAgICAgICAgIHRoaXMuZW5hYmxlZChmYWxzZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5lbmFibGVkKGN1cnJlbnRWYWx1ZS5lbmFibGVkKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZihwcmV2aW91c1ZhbHVlPy5sYXlvdXQgIT09IGN1cnJlbnRWYWx1ZT8ubGF5b3V0KSB7XG4gICAgICAgIHRoaXMubGF5b3V0ID0gdGhpcy5mb3JtVGVtcGxhdGUubGF5b3V0O1xuICAgICAgICB0aGlzLm9uV2luZG93UmVzaXplKCk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibWItNFwiPlxuICA8ZGl2IGNsYXNzPVwiZmxleCB3LWZ1bGxcIlxuICAgICAgIFtjbGFzcy5mbGV4LWNvbHVtbl09XCJsYXlvdXQgPT0gT25zaG9yZUZvcm1UZW1wbGF0ZUxheW91dC52ZXJ0aWNhbFwiXG4gICAgICAgW2NsYXNzLmZsZXgtcm93XT1cImxheW91dCA9PSBPbnNob3JlRm9ybVRlbXBsYXRlTGF5b3V0Lmhvcml6b250YWxcIlxuICAgICAgIFtjbGFzcy5qdXN0aWZ5LWNvbnRlbnQtYmV0d2Vlbl09XCJsYXlvdXQgPT0gT25zaG9yZUZvcm1UZW1wbGF0ZUxheW91dC5ob3Jpem9udGFsXCI+XG5cbiAgICA8ZGl2ICNmb3JtTGFiZWxcbiAgICAgICAgIGNsYXNzPVwiZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiXG4gICAgICAgICBbc3R5bGVdPVwiZm9ybVRlbXBsYXRlLmxhYmVsU3R5bGUgPz8gJ21pbi13aWR0aDogMjAwcHgnXCI+XG5cbiAgICAgIDxiIFtjbGFzcy5tci0yXT1cImxheW91dCA9PSBPbnNob3JlRm9ybVRlbXBsYXRlTGF5b3V0Lmhvcml6b250YWxcIlxuICAgICAgICAgW2NsYXNzLm1iLTJdPVwibGF5b3V0ID09IE9uc2hvcmVGb3JtVGVtcGxhdGVMYXlvdXQudmVydGljYWxcIj5cbiAgICAgICAge3tmb3JtVGVtcGxhdGUubGFiZWx9fVxuICAgICAgICA8c21hbGwgKm5nSWY9XCJmb3JtVGVtcGxhdGUucmVxdWlyZWRcIiBjbGFzcz1cIm9uc2hvcmUtY29sb3ItZGFuZ2VyXCI+Kjwvc21hbGw+XG4gICAgICA8L2I+XG5cbiAgICAgIDxkaXYgKm5nSWY9XCJmb3JtVGVtcGxhdGUudG9vbHRpcCAmJiBsYXlvdXQgPT0gT25zaG9yZUZvcm1UZW1wbGF0ZUxheW91dC52ZXJ0aWNhbFwiIFtwVG9vbHRpcF09XCJmb3JtVGVtcGxhdGUudG9vbHRpcFwiIFtlc2NhcGVdPVwiZmFsc2VcIiBhcHBlbmRUbz1cImJvZHlcIj48aSBjbGFzcz1cImZhIGZhLWNpcmNsZS1xdWVzdGlvbiBvbnNob3JlLWNvbG9yLWdyYXktNVwiPjwvaT48L2Rpdj5cblxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cImZsZXggdy1mdWxsXCI+XG4gICAgICA8cC10b2dnbGVCdXR0b25cbiAgICAgICAgKm5nSWY9XCJmb3JtVGVtcGxhdGUubG9ja2VkXCJcbiAgICAgICAgKG9uQ2hhbmdlKT1cImxvY2tDaGFuZ2VkKCRldmVudC5jaGVja2VkKVwiXG4gICAgICAgIG9uSWNvbj1cImZhIGZhLWxvY2stb3BlblwiXG4gICAgICAgIG9mZkljb249XCJmYSBmYS1sb2NrXCJcbiAgICAgICAgY2xhc3M9XCJtci0yXCJcbiAgICAgICAgW3N0eWxlXT1cIntoZWlnaHQ6ICczNnB4J31cIlxuICAgICAgICBbZGlzYWJsZWRdPVwiIWZvcm1UZW1wbGF0ZS5lbmFibGVkXCI+XG4gICAgICA8L3AtdG9nZ2xlQnV0dG9uPlxuXG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2ICpuZ0lmPVwiZm9ybVRlbXBsYXRlLnRvb2x0aXAgJiYgbGF5b3V0ID09IE9uc2hvcmVGb3JtVGVtcGxhdGVMYXlvdXQuaG9yaXpvbnRhbFwiIGNsYXNzPVwibWwtMiBhbGlnbi1zZWxmLWNlbnRlclwiIFtwVG9vbHRpcF09XCJmb3JtVGVtcGxhdGUudG9vbHRpcFwiIFtlc2NhcGVdPVwiZmFsc2VcIj48aSBjbGFzcz1cImZhIGZhLWNpcmNsZS1xdWVzdGlvbiBvbnNob3JlLWNvbG9yLWdyYXktNVwiPjwvaT48L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGRpdiAqbmdJZj1cIm5nQ29udHJvbC5jb250cm9sLnRvdWNoZWRcIiBbc3R5bGVdPVwieydtYXJnaW4tbGVmdCc6IGxheW91dCA9PSBPbnNob3JlRm9ybVRlbXBsYXRlTGF5b3V0Lmhvcml6b250YWwgPyBmb3JtTGFiZWwuY2xpZW50V2lkdGggKyAncHgnIDogJzBweCd9XCI+XG4gICAgPG9uc2hvcmUtZm9ybS12YWxpZGF0aW9uLW91dHB1dFxuICAgICAgW3ZhbGlkYXRpb25JdGVtc109XCJmb3JtVGVtcGxhdGUudmFsaWRhdGlvbkl0ZW1zXCJcbiAgICAgIFt2YWxpZGF0aW9uRXJyb3JzXT1cIm5nQ29udHJvbC5jb250cm9sLmVycm9yc1wiPlxuICAgIDwvb25zaG9yZS1mb3JtLXZhbGlkYXRpb24tb3V0cHV0PlxuICA8L2Rpdj5cblxuICA8ZGl2IFtzdHlsZV09XCJ7J21hcmdpbi1sZWZ0JzogbGF5b3V0ID09IE9uc2hvcmVGb3JtVGVtcGxhdGVMYXlvdXQuaG9yaXpvbnRhbCA/IGZvcm1MYWJlbC5jbGllbnRXaWR0aCArICdweCcgOiAnMHB4J31cIj5cbiAgICA8c21hbGwgKm5nSWY9XCJmb3JtVGVtcGxhdGUuZGVzY3JpcHRpb25cIiBjbGFzcz1cIm10LTIgb25zaG9yZS1jb2xvci1ncmF5LTVcIj48aSBjbGFzcz1cImZhIGZhLWluZm8tY2lyY2xlXCI+PC9pPiB7e2Zvcm1UZW1wbGF0ZS5kZXNjcmlwdGlvbn19PC9zbWFsbD5cbiAgPC9kaXY+XG5cbjwvZGl2PlxuIl19
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1pdGVtLWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnNob3JlLWZvcm1zL3NyYy9saWIvY29tcG9uZW50cy9mb3JtLWl0ZW0tY29udGFpbmVyL2Zvcm0taXRlbS1jb250YWluZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb25zaG9yZS1mb3Jtcy9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS1pdGVtLWNvbnRhaW5lci9mb3JtLWl0ZW0tY29udGFpbmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR1UsU0FBUyxFQUN6QixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7O0FBUW5FLE1BQU0sT0FBTyx3QkFBd0I7SUF3Rm5DLFlBQW9CLEdBQXNCO1FBQXRCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBbEYxQyw4QkFBeUIsR0FBRyx5QkFBeUIsQ0FBQztRQUV0RCxXQUFNLEdBQThCLHlCQUF5QixDQUFDLElBQUksQ0FBQztJQWlGbkUsQ0FBQztJQS9FRCxPQUFPLENBQUMsTUFBZTtRQUNyQixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBRyxNQUFNLEVBQUU7Z0JBQ1QsSUFBSSxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7YUFDbEM7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7YUFDbkM7WUFDRCxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzVCLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNWLENBQUM7SUFFRCxXQUFX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QUFNLENBQUM7Z0JBQ3ZDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQzthQUN2QjtZQUVELElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDekI7SUFDSCxDQUFDOztxSEF0RlUsd0JBQXdCO3lHQUF4Qix3QkFBd0IsOFVDbkJyQyw4dkVBaURBOzJGRDlCYSx3QkFBd0I7a0JBTHBDLFNBQVM7K0JBQ0UsNkJBQTZCLG1CQUV0Qix1QkFBdUIsQ0FBQyxNQUFNO3dHQUd0QyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRXNCLGFBQWE7c0JBQXhDLFNBQVM7dUJBQUMsZUFBZTtnQkEyQjFCLGNBQWM7c0JBRGIsWUFBWTt1QkFBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCwgRWxlbWVudFJlZixcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsXG4gIFNpbXBsZUNoYW5nZXMsIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9uc2hvcmVGb3JtVGVtcGxhdGVJdGVtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2Zvcm0ubW9kZWxzJztcbmltcG9ydCB7IE9uc2hvcmVGb3JtVGVtcGxhdGVMYXlvdXQgfSBmcm9tICcuLi8uLi9lbnVtcy9mb3JtLmVudW1zJztcbmltcG9ydCB7IE5nQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnb25zaG9yZS1mb3JtLWl0ZW0tY29udGFpbmVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0taXRlbS1jb250YWluZXIuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgT25zaG9yZUZvcm1JdGVtQ29udGFpbmVyIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBmb3JtVGVtcGxhdGUhOiBPbnNob3JlRm9ybVRlbXBsYXRlSXRlbTtcbiAgQElucHV0KCkgbmdDb250cm9sITogTmdDb250cm9sO1xuXG4gIEBWaWV3Q2hpbGQoJ2Zvcm1Db250YWluZXInKSBmb3JtQ29udGFpbmVyITogRWxlbWVudFJlZjtcblxuICBPbnNob3JlRm9ybVRlbXBsYXRlTGF5b3V0ID0gT25zaG9yZUZvcm1UZW1wbGF0ZUxheW91dDtcblxuICBsYXlvdXQ6IE9uc2hvcmVGb3JtVGVtcGxhdGVMYXlvdXQgPSBPbnNob3JlRm9ybVRlbXBsYXRlTGF5b3V0LmF1dG87XG5cbiAgZW5hYmxlZChlbmFibGU6IGJvb2xlYW4pIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgaWYoZW5hYmxlKSB7XG4gICAgICAgICAgdGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2wuZW5hYmxlKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2wuZGlzYWJsZSgpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH0sIDEwMCk7XG4gIH1cblxuICBsb2NrQ2hhbmdlZCh1bmxvY2tlZDogYm9vbGVhbikge1xuICAgIGlmKHVubG9ja2VkICYmIHRoaXMuZm9ybVRlbXBsYXRlLmVuYWJsZWQpIHtcbiAgICAgIHRoaXMuZW5hYmxlZCh0cnVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5lbmFibGVkKGZhbHNlKTtcbiAgICB9XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJywgWyckZXZlbnQnXSlcbiAgb25XaW5kb3dSZXNpemUoKSB7XG4gICAgY29uc3QgY29uYXRpbmVyV2lkdGggPSB0aGlzLmZvcm1Db250YWluZXI/Lm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGg7XG4gICAgaWYoY29uYXRpbmVyV2lkdGggPiA1MDAgJiYgdGhpcy5mb3JtVGVtcGxhdGUubGF5b3V0ID09PSBPbnNob3JlRm9ybVRlbXBsYXRlTGF5b3V0LmF1dG8gJiYgdGhpcy5sYXlvdXQgIT09IE9uc2hvcmVGb3JtVGVtcGxhdGVMYXlvdXQuaG9yaXpvbnRhbCkge1xuICAgICAgdGhpcy5sYXlvdXQgPSBPbnNob3JlRm9ybVRlbXBsYXRlTGF5b3V0Lmhvcml6b250YWw7XG4gICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gICAgaWYoY29uYXRpbmVyV2lkdGggPD0gNTAwICYmIHRoaXMuZm9ybVRlbXBsYXRlLmxheW91dCA9PT0gT25zaG9yZUZvcm1UZW1wbGF0ZUxheW91dC5hdXRvICYmIHRoaXMubGF5b3V0ICE9PSBPbnNob3JlRm9ybVRlbXBsYXRlTGF5b3V0LnZlcnRpY2FsKSB7XG4gICAgICB0aGlzLmxheW91dCA9IE9uc2hvcmVGb3JtVGVtcGxhdGVMYXlvdXQudmVydGljYWw7XG4gICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLm5nQ29udHJvbD8uY29udHJvbD8udmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9KTtcbiAgICB0aGlzLm5nQ29udHJvbD8uY29udHJvbD8uc3RhdHVzQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLmVuYWJsZWQodGhpcy5mb3JtVGVtcGxhdGUuZW5hYmxlZCk7XG5cbiAgICBpZih0aGlzLmZvcm1UZW1wbGF0ZS5sb2NrZWQpIHtcbiAgICAgIHRoaXMuZW5hYmxlZChmYWxzZSk7XG4gICAgfVxuXG4gICAgdGhpcy5sYXlvdXQgPSB0aGlzLmZvcm1UZW1wbGF0ZS5sYXlvdXQ7XG4gICAgdGhpcy5vbldpbmRvd1Jlc2l6ZSgpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGNvbnN0IHByZXZpb3VzVmFsdWUgPSBjaGFuZ2VzWydmb3JtVGVtcGxhdGUnXS5wcmV2aW91c1ZhbHVlO1xuICAgIGNvbnN0IGN1cnJlbnRWYWx1ZSA9IGNoYW5nZXNbJ2Zvcm1UZW1wbGF0ZSddLmN1cnJlbnRWYWx1ZTtcblxuICAgIGlmKGN1cnJlbnRWYWx1ZSkge1xuXG4gICAgICBpZihwcmV2aW91c1ZhbHVlPy5lbmFibGVkICE9PSBjdXJyZW50VmFsdWU/LmVuYWJsZWQpIHtcbiAgICAgICAgdGhpcy5lbmFibGVkKGN1cnJlbnRWYWx1ZT8uZW5hYmxlZCk7XG4gICAgICB9XG5cbiAgICAgIGlmKHByZXZpb3VzVmFsdWU/LmxvY2tlZCAhPT0gY3VycmVudFZhbHVlPy5sb2NrZWQpIHtcbiAgICAgICAgaWYoY3VycmVudFZhbHVlLmxvY2tlZCkge1xuICAgICAgICAgIHRoaXMuZW5hYmxlZChmYWxzZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5lbmFibGVkKGN1cnJlbnRWYWx1ZS5lbmFibGVkKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZihwcmV2aW91c1ZhbHVlPy5sYXlvdXQgIT09IGN1cnJlbnRWYWx1ZT8ubGF5b3V0KSB7XG4gICAgICAgIHRoaXMubGF5b3V0ID0gdGhpcy5mb3JtVGVtcGxhdGUubGF5b3V0O1xuICAgICAgICB0aGlzLm9uV2luZG93UmVzaXplKCk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibWItNFwiICNmb3JtQ29udGFpbmVyPlxuICA8ZGl2IGNsYXNzPVwiZmxleCB3LWZ1bGxcIlxuICAgICAgIFtjbGFzcy5mbGV4LWNvbHVtbl09XCJsYXlvdXQgPT0gT25zaG9yZUZvcm1UZW1wbGF0ZUxheW91dC52ZXJ0aWNhbFwiXG4gICAgICAgW2NsYXNzLmZsZXgtcm93XT1cImxheW91dCA9PSBPbnNob3JlRm9ybVRlbXBsYXRlTGF5b3V0Lmhvcml6b250YWxcIlxuICAgICAgIFtjbGFzcy5qdXN0aWZ5LWNvbnRlbnQtYmV0d2Vlbl09XCJsYXlvdXQgPT0gT25zaG9yZUZvcm1UZW1wbGF0ZUxheW91dC5ob3Jpem9udGFsXCI+XG5cbiAgICA8ZGl2ICNmb3JtTGFiZWxcbiAgICAgICAgIGNsYXNzPVwiZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiXG4gICAgICAgICBbc3R5bGVdPVwiZm9ybVRlbXBsYXRlLmxhYmVsU3R5bGUgPz8gJ21pbi13aWR0aDogMjAwcHgnXCI+XG5cbiAgICAgIDxiIFtjbGFzcy5tci0yXT1cImxheW91dCA9PSBPbnNob3JlRm9ybVRlbXBsYXRlTGF5b3V0Lmhvcml6b250YWxcIlxuICAgICAgICAgW2NsYXNzLm1iLTJdPVwibGF5b3V0ID09IE9uc2hvcmVGb3JtVGVtcGxhdGVMYXlvdXQudmVydGljYWxcIj5cbiAgICAgICAge3tmb3JtVGVtcGxhdGUubGFiZWx9fVxuICAgICAgICA8c21hbGwgKm5nSWY9XCJmb3JtVGVtcGxhdGUucmVxdWlyZWRcIiBjbGFzcz1cIm9uc2hvcmUtY29sb3ItZGFuZ2VyXCI+Kjwvc21hbGw+XG4gICAgICA8L2I+XG5cbiAgICAgIDxkaXYgKm5nSWY9XCJmb3JtVGVtcGxhdGUudG9vbHRpcCAmJiBsYXlvdXQgPT0gT25zaG9yZUZvcm1UZW1wbGF0ZUxheW91dC52ZXJ0aWNhbFwiIFtwVG9vbHRpcF09XCJmb3JtVGVtcGxhdGUudG9vbHRpcFwiIFtlc2NhcGVdPVwiZmFsc2VcIiBhcHBlbmRUbz1cImJvZHlcIj48aSBjbGFzcz1cImZhIGZhLWNpcmNsZS1xdWVzdGlvbiBvbnNob3JlLWNvbG9yLWdyYXktNVwiPjwvaT48L2Rpdj5cblxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cImZsZXggdy1mdWxsXCI+XG4gICAgICA8cC10b2dnbGVCdXR0b25cbiAgICAgICAgKm5nSWY9XCJmb3JtVGVtcGxhdGUubG9ja2VkXCJcbiAgICAgICAgKG9uQ2hhbmdlKT1cImxvY2tDaGFuZ2VkKCRldmVudC5jaGVja2VkKVwiXG4gICAgICAgIG9uSWNvbj1cImZhIGZhLWxvY2stb3BlblwiXG4gICAgICAgIG9mZkljb249XCJmYSBmYS1sb2NrXCJcbiAgICAgICAgY2xhc3M9XCJtci0yXCJcbiAgICAgICAgW3N0eWxlXT1cIntoZWlnaHQ6ICczNnB4J31cIlxuICAgICAgICBbZGlzYWJsZWRdPVwiIWZvcm1UZW1wbGF0ZS5lbmFibGVkXCI+XG4gICAgICA8L3AtdG9nZ2xlQnV0dG9uPlxuXG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2ICpuZ0lmPVwiZm9ybVRlbXBsYXRlLnRvb2x0aXAgJiYgbGF5b3V0ID09IE9uc2hvcmVGb3JtVGVtcGxhdGVMYXlvdXQuaG9yaXpvbnRhbFwiIGNsYXNzPVwibWwtMiBhbGlnbi1zZWxmLWNlbnRlclwiIFtwVG9vbHRpcF09XCJmb3JtVGVtcGxhdGUudG9vbHRpcFwiIFtlc2NhcGVdPVwiZmFsc2VcIj48aSBjbGFzcz1cImZhIGZhLWNpcmNsZS1xdWVzdGlvbiBvbnNob3JlLWNvbG9yLWdyYXktNVwiPjwvaT48L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGRpdiAqbmdJZj1cIm5nQ29udHJvbC5jb250cm9sLmRpcnR5XCIgW3N0eWxlXT1cInsnbWFyZ2luLWxlZnQnOiBsYXlvdXQgPT0gT25zaG9yZUZvcm1UZW1wbGF0ZUxheW91dC5ob3Jpem9udGFsID8gZm9ybUxhYmVsLmNsaWVudFdpZHRoICsgJ3B4JyA6ICcwcHgnfVwiPlxuICAgIDxvbnNob3JlLWZvcm0tdmFsaWRhdGlvbi1vdXRwdXRcbiAgICAgIFt2YWxpZGF0aW9uSXRlbXNdPVwiZm9ybVRlbXBsYXRlLnZhbGlkYXRpb25JdGVtc1wiXG4gICAgICBbdmFsaWRhdGlvbkVycm9yc109XCJuZ0NvbnRyb2wuY29udHJvbC5lcnJvcnNcIj5cbiAgICA8L29uc2hvcmUtZm9ybS12YWxpZGF0aW9uLW91dHB1dD5cbiAgPC9kaXY+XG5cbiAgPGRpdiBbc3R5bGVdPVwieydtYXJnaW4tbGVmdCc6IGxheW91dCA9PSBPbnNob3JlRm9ybVRlbXBsYXRlTGF5b3V0Lmhvcml6b250YWwgPyBmb3JtTGFiZWwuY2xpZW50V2lkdGggKyAncHgnIDogJzBweCd9XCI+XG4gICAgPHNtYWxsICpuZ0lmPVwiZm9ybVRlbXBsYXRlLmRlc2NyaXB0aW9uXCIgY2xhc3M9XCJtdC0yIG9uc2hvcmUtY29sb3ItZ3JheS01XCI+PGkgY2xhc3M9XCJmYSBmYS1pbmZvLWNpcmNsZVwiPjwvaT4ge3tmb3JtVGVtcGxhdGUuZGVzY3JpcHRpb259fTwvc21hbGw+XG4gIDwvZGl2PlxuXG48L2Rpdj5cbiJdfQ==
@@ -132,6 +132,7 @@ export class OnshoreFormsService {
132
132
  if (item.subformArray) {
133
133
  form.controls[item.name] = new FormArray([]);
134
134
  form.controls[item.name].setParent(form);
135
+ this.subscribeNestedFormArray(form.controls[item.name]);
135
136
  }
136
137
  if (item.subformObject) {
137
138
  form.controls[item.name] = new FormGroup({});
@@ -148,6 +149,14 @@ export class OnshoreFormsService {
148
149
  });
149
150
  return form;
150
151
  }
152
+ subscribeNestedFormArray(nestedFormItem) {
153
+ this.subscriptions.push(nestedFormItem.valueChanges.subscribe(() => {
154
+ this.form?.updateValueAndValidity({ onlySelf: true, emitEvent: false });
155
+ }));
156
+ this.subscriptions.push(nestedFormItem.statusChanges.subscribe(() => {
157
+ this.form?.updateValueAndValidity({ onlySelf: true, emitEvent: false });
158
+ }));
159
+ }
151
160
  subscribeNestedFormGroup(nestedFormItem) {
152
161
  this.subscriptions.push(nestedFormItem.valueChanges.subscribe(() => {
153
162
  this.form?.updateValueAndValidity({ onlySelf: true, emitEvent: false });
@@ -165,4 +174,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
165
174
  providedIn: 'root'
166
175
  }]
167
176
  }], ctorParameters: function () { return []; } });
168
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25zaG9yZS1mb3Jtcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvb25zaG9yZS1mb3Jtcy9zcmMvbGliL29uc2hvcmUtZm9ybXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxPQUFPLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQzdDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQUs3RCxNQUFNLE9BQU8sbUJBQW1CO0lBVTlCO1FBTkEscUJBQWdCLEdBQWEsRUFBRSxDQUFDO1FBRWhDLGtCQUFhLEdBQXdCLEVBQUUsQ0FBQztRQUVqQyxlQUFVLEdBQXFCLElBQUksT0FBTyxFQUFXLENBQUM7UUFHM0QsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLFNBQVMsQ0FBQyxFQUFFLEVBQUUsRUFBQyxRQUFRLEVBQUUsUUFBUSxFQUFDLENBQUMsQ0FBQztRQUNyRCxJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBVyxJQUFJO1FBQ2IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxJQUFXLFVBQVU7UUFDbkIsT0FBTyxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQztJQUMzQixDQUFDO0lBRU0sU0FBUyxDQUFDLEtBQVU7UUFDekIsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVNLFNBQVM7UUFDZCxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxLQUFLLEVBQUUsc0JBQXNC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QUNqQyxRQUFRLEVBQUUsUUFBUTtpQkFDbkIsQ0FBQyxDQUFDLENBQUM7YUFDTDtRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsd0JBQXdCLENBQUMsY0FBeUI7UUFDaEQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2pFLElBQUksQ0FBQyxJQUFJLEVBQUUsc0JBQXNCLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQzFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDSixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDbEUsSUFBSSxDQUFDLElBQUksRUFBRSxzQkFBc0IsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDMUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNOLENBQUM7O2dIQXBMVSxtQkFBbUI7b0hBQW5CLG1CQUFtQixjQUZsQixNQUFNOzJGQUVQLG1CQUFtQjtrQkFIL0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQXJyYXksIEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE9uc2hvcmVGb3JtVGVtcGxhdGVUeXBlIH0gZnJvbSAnLi9lbnVtcy9mb3JtLmVudW1zJztcbmltcG9ydCB7IE9uc2hvcmVGb3JtVGVtcGxhdGVJdGVtIH0gZnJvbSAnLi9tb2RlbHMvZm9ybS5tb2RlbHMnO1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgT25zaG9yZUZvcm1zU2VydmljZSB7XG5cbiAgX2Zvcm06IEZvcm1Hcm91cDtcbiAgX2Zvcm1UZW1wbGF0ZTogT25zaG9yZUZvcm1UZW1wbGF0ZUl0ZW1bXTtcbiAgX2Zvcm1WYWxpZGF0aW9uczogc3RyaW5nW10gPSBbXTtcblxuICBzdWJzY3JpcHRpb25zOiBBcnJheTxTdWJzY3JpcHRpb24+ID0gW107XG5cbiAgcHVibGljIGlzTG9hZGluZyQ6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuX2Zvcm0gPSBuZXcgRm9ybUdyb3VwKHt9LCB7dXBkYXRlT246ICdjaGFuZ2UnfSk7XG4gICAgdGhpcy5fZm9ybVRlbXBsYXRlID0gW107XG4gIH1cblxuICBwdWJsaWMgZ2V0IGZvcm0oKTogRm9ybUdyb3VwIHtcbiAgICByZXR1cm4gdGhpcy5fZm9ybTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZm9ybVZhbHVlcygpIHtcbiAgICByZXR1cm4gdGhpcy5fZm9ybT8udmFsdWU7XG4gIH1cblxuICBwdWJsaWMgcGF0Y2hGb3JtKHZhbHVlOiBhbnkpIHtcbiAgICB0aGlzLl9mb3JtPy5wYXRjaFZhbHVlKHZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyByZXNldEZvcm0oKSB7XG4gICAgdGhpcy5fZm9ybT8ucmVzZXQoKTtcbiAgICB0aGlzLl9mb3JtPy51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KHsgb25seVNlbGY6IGZhbHNlLCBlbWl0RXZlbnQ6IHRydWUgfSk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmZvckVhY2goKHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uKSA9PiB7XG4gICAgICBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9KTtcblxuICAgIHRoaXMuX2Zvcm0gPSBudWxsITtcbiAgICB0aGlzLl9mb3JtVGVtcGxhdGUgPSBudWxsITtcbiAgfVxuXG4gIHB1YmxpYyBnZW5lcmF0ZUZvcm0oZm9ybVRlbXBsYXRlOiBPbnNob3JlRm9ybVRlbXBsYXRlSXRlbVtdKTogRm9ybUdyb3VwIHwgbnVsbCB7XG4gICAgdGhpcy5fZm9ybVRlbXBsYXRlID0gZm9ybVRlbXBsYXRlO1xuICAgIHRoaXMuX2Zvcm0gPSBuZXcgRm9ybUdyb3VwKHt9LCB7dXBkYXRlT246ICdjaGFuZ2UnfSk7XG4gICAgdGhpcy5fZm9ybSA9IHRoaXMuaXRlcmF0ZU5lc3RlZEZvcm0odGhpcy5fZm9ybSwgZm9ybVRlbXBsYXRlKTtcbiAgICByZXR1cm4gdGhpcy5fZm9ybTtcbiAgfVxuXG4gIHB1YmxpYyBmb3JtVGVtcGxhdGUobmFtZTogc3RyaW5nLCBmb3JtVGVtcGxhdGU6IE9uc2hvcmVGb3JtVGVtcGxhdGVJdGVtW10gPSB0aGlzLl9mb3JtVGVtcGxhdGUpOiBPbnNob3JlRm9ybVRlbXBsYXRlSXRlbSB7XG4gICAgbGV0IHRlbXBsYXRlOiBPbnNob3JlRm9ybVRlbXBsYXRlSXRlbTtcblxuICAgIGlmKGZvcm1UZW1wbGF0ZSkge1xuICAgICAgZm9yKGxldCBpID0gMDsgaSA8IGZvcm1UZW1wbGF0ZT8ubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY29uc3QgaXRlbSA9IGZvcm1UZW1wbGF0ZVtpXTtcbiAgICAgICAgaWYoaXRlbS5uYW1lID09PSBuYW1lKSB7XG4gICAgICAgICAgdGVtcGxhdGUgPSBpdGVtO1xuICAgICAgICAgIGkgPSBmb3JtVGVtcGxhdGUubGVuZ3RoO1xuICAgICAgICB9ZWxzZSBpZihpdGVtLnN1YmZvcm1BcnJheSkge1xuICAgICAgICAgIGNvbnN0IGFycmF5VGVtcGxhdGUgPSB0aGlzLmZvcm1UZW1wbGF0ZShuYW1lLCBpdGVtLnN1YmZvcm1BcnJheSk7XG4gICAgICAgICAgaWYoYXJyYXlUZW1wbGF0ZSkgdGVtcGxhdGUgPSBhcnJheVRlbXBsYXRlO1xuICAgICAgICB9ZWxzZSBpZihpdGVtLnN1YmZvcm1PYmplY3QpIHtcbiAgICAgICAgICBjb25zdCBvYmplY3RUZW1wbGF0ZSA9IHRoaXMuZm9ybVRlbXBsYXRlKG5hbWUsIGl0ZW0uc3ViZm9ybU9iamVjdCk7XG4gICAgICAgICAgaWYob2JqZWN0VGVtcGxhdGUpIHRlbXBsYXRlID0gb2JqZWN0VGVtcGxhdGU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdGVtcGxhdGUhO1xuICB9XG5cbiAgcHVibGljIGZvcm1Db250cm9sKG5hbWU6IHN0cmluZywgZm9ybUdyb3VwOiBGb3JtR3JvdXAgfCBudWxsID0gdGhpcy5fZm9ybSk6IEZvcm1Db250cm9sIHtcbiAgICByZXR1cm4gZm9ybUdyb3VwPy5nZXQobmFtZSkgYXMgRm9ybUNvbnRyb2w7XG4gIH1cblxuICBwdWJsaWMgZm9ybUFycmF5KG5hbWU6IHN0cmluZyk6IEZvcm1BcnJheSB7XG4gICAgcmV0dXJuIHRoaXMuX2Zvcm0/LmdldChuYW1lKSBhcyBGb3JtQXJyYXk7XG4gIH1cblxuICBwdWJsaWMgZm9ybUdyb3VwKGZvcm06IEZvcm1Hcm91cCwgbmFtZTogc3RyaW5nKTogRm9ybUdyb3VwICB7XG4gICAgcmV0dXJuIGZvcm0uZ2V0KG5hbWUpIGFzIEZvcm1Hcm91cDtcbiAgfVxuXG4gIHB1YmxpYyBhZGRGb3JtQXJyYXlJdGVtKG5hbWU6IHN0cmluZywgaXRlbTogT25zaG9yZUZvcm1UZW1wbGF0ZUl0ZW0pIHtcbiAgICBsZXQgZm9ybUNvbnRyb2xzID0gPGFueT57fTtcblxuICAgIGlmKGl0ZW0pIHtcbiAgICAgIGl0ZW0uc3ViZm9ybUFycmF5Py5mb3JFYWNoKChzdWJpdGVtOiBPbnNob3JlRm9ybVRlbXBsYXRlSXRlbSkgPT4ge1xuICAgICAgICBmb3JtQ29udHJvbHNbc3ViaXRlbS5uYW1lXSA9IG5ldyBGb3JtQ29udHJvbChzdWJpdGVtLmRlZmF1bHQgIT09IHVuZGVmaW5lZCA/IHN1Yml0ZW0uZGVmYXVsdCA6ICcnLCB7XG4gICAgICAgICAgdmFsaWRhdG9yczogc3ViaXRlbS52YWxpZGF0b3JzIHx8IFtdLFxuICAgICAgICAgIHVwZGF0ZU9uOiAnY2hhbmdlJ1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGNvbnN0IGZvcm1Hcm91cCA9IG5ldyBGb3JtR3JvdXAoZm9ybUNvbnRyb2xzKTtcbiAgICBmb3JtR3JvdXAuc2V0UGFyZW50KHRoaXMuZm9ybUFycmF5KG5hbWUpKTtcblxuICAgIHRoaXMuZm9ybUFycmF5KG5hbWUpLnB1c2goZm9ybUdyb3VwKTtcblxuICAgIHRoaXMuc3Vic2NyaWJlTmVzdGVkRm9ybUdyb3VwKGZvcm1Hcm91cCk7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlRm9ybUFycmF5SXRlbShmb3JtOiBGb3JtQXJyYXksIGluZGV4OiBudW1iZXIpIHtcbiAgICBmb3JtLnJlbW92ZUF0KGluZGV4KTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRGb3JtVmFsaWRhdGlvbnModmFsaWRhdGlvbnM6IHN0cmluZ1tdID0gW10pIHtcbiAgICB0aGlzLl9mb3JtVmFsaWRhdGlvbnMgPSB2YWxpZGF0aW9ucztcbiAgfVxuXG4gIHB1YmxpYyBlbmFibGUoKSB7XG4gICAgdGhpcy5fZm9ybVRlbXBsYXRlLmZvckVhY2goKGl0ZW06IE9uc2hvcmVGb3JtVGVtcGxhdGVJdGVtKSA9PiB7XG4gICAgICBpdGVtLmVuYWJsZWQgPSB0cnVlO1xuICAgIH0pO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5fZm9ybT8uZW5hYmxlKHtvbmx5U2VsZjogdHJ1ZSwgZW1pdEV2ZW50OiBmYWxzZX0pO1xuICAgIH0sIDEwMCk7XG4gIH1cblxuICBwdWJsaWMgZGlzYWJsZSgpIHtcbiAgICB0aGlzLl9mb3JtVGVtcGxhdGUuZm9yRWFjaCgoaXRlbTogT25zaG9yZUZvcm1UZW1wbGF0ZUl0ZW0pID0+IHtcbiAgICAgIGl0ZW0uZW5hYmxlZCA9IGZhbHNlO1xuICAgIH0pO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5fZm9ybT8uZGlzYWJsZSh7b25seVNlbGY6IHRydWUsIGVtaXRFdmVudDogZmFsc2V9KTtcbiAgICB9LCAxMDApO1xuICB9XG5cbiAgcHVibGljIHNldEVycm9yKGNvbnRyb2w6IHN0cmluZywgZXJyb3I6IE9iamVjdCkge1xuICAgIGNvbnN0IGVycm9ycyA9IHsuLi50aGlzLmZvcm1Db250cm9sKGNvbnRyb2wpLmVycm9ycyA/PyB7fSwgLi4uZXJyb3J9IDtcbiAgICB0aGlzLmZvcm1Db250cm9sKGNvbnRyb2wpLnNldEVycm9ycyhlcnJvcnMpO1xuICB9XG5cbiAgcHVibGljIHNldExvYWRlcihsb2FkZXJzJDogU3ViamVjdDxib29sZWFuPltdKSB7XG4gICAgbG9hZGVycyQuZm9yRWFjaCgkbG9hZGVyID0+IHtcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKCRsb2FkZXIuc3Vic2NyaWJlKGlzTG9hZGluZyA9PiB7XG4gICAgICAgIGlzTG9hZGluZyA/IHRoaXMuZGlzYWJsZSgpIDogdGhpcy5lbmFibGUoKTtcbiAgICAgICAgdGhpcy5pc0xvYWRpbmckLm5leHQoaXNMb2FkaW5nKTtcbiAgICAgIH0pKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBsb2NrKCkge1xuICAgIHRoaXMuX2Zvcm1UZW1wbGF0ZS5mb3JFYWNoKChpdGVtOiBPbnNob3JlRm9ybVRlbXBsYXRlSXRlbSkgPT4ge1xuICAgICAgaXRlbS5sb2NrZWQgPSB0cnVlO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHVubG9jaygpIHtcbiAgICB0aGlzLl9mb3JtVGVtcGxhdGUuZm9yRWFjaCgoaXRlbTogT25zaG9yZUZvcm1UZW1wbGF0ZUl0ZW0pID0+IHtcbiAgICAgIGl0ZW0ubG9ja2VkID0gZmFsc2U7XG4gICAgfSk7XG4gIH1cblxuICBpdGVyYXRlTmVzdGVkRm9ybShmb3JtOiBGb3JtR3JvdXAsIGZvcm1UZW1wbGF0ZTogT25zaG9yZUZvcm1UZW1wbGF0ZUl0ZW1bXSk6IGFueSB7XG4gICAgZm9ybVRlbXBsYXRlLmZvckVhY2goKGl0ZW06IE9uc2hvcmVGb3JtVGVtcGxhdGVJdGVtKSA9PiB7XG4gICAgICBpZihpdGVtLnR5cGUgPT09IE9uc2hvcmVGb3JtVGVtcGxhdGVUeXBlLnN1YmZvcm0pIHtcbiAgICAgICAgaWYoaXRlbS5zdWJmb3JtQXJyYXkpIHtcbiAgICAgICAgICBmb3JtLmNvbnRyb2xzW2l0ZW0ubmFtZV0gPSBuZXcgRm9ybUFycmF5KFtdKTtcbiAgICAgICAgICBmb3JtLmNvbnRyb2xzW2l0ZW0ubmFtZV0uc2V0UGFyZW50KGZvcm0pO1xuICAgICAgICB9XG4gICAgICAgIGlmKGl0ZW0uc3ViZm9ybU9iamVjdCkge1xuICAgICAgICAgIGZvcm0uY29udHJvbHNbaXRlbS5uYW1lXSA9IG5ldyBGb3JtR3JvdXAoe30pO1xuICAgICAgICAgIGZvcm0uY29udHJvbHNbaXRlbS5uYW1lXSA9IHRoaXMuaXRlcmF0ZU5lc3RlZEZvcm0oZm9ybS5jb250cm9sc1tpdGVtLm5hbWVdIGFzIEZvcm1Hcm91cCwgaXRlbS5zdWJmb3JtT2JqZWN0KSBhcyBGb3JtR3JvdXA7XG4gICAgICAgICAgdGhpcy5zdWJzY3JpYmVOZXN0ZWRGb3JtR3JvdXAoZm9ybS5jb250cm9sc1tpdGVtLm5hbWVdIGFzIEZvcm1Hcm91cCk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGZvcm0uYWRkQ29udHJvbChpdGVtLm5hbWUsIG5ldyBGb3JtQ29udHJvbChpdGVtLmRlZmF1bHQgIT09IHVuZGVmaW5lZCA/IGl0ZW0uZGVmYXVsdCA6ICcnLCB7XG4gICAgICAgICAgdmFsaWRhdG9yczogaXRlbS52YWxpZGF0b3JzIHx8IFtdLFxuICAgICAgICAgIHVwZGF0ZU9uOiAnY2hhbmdlJ1xuICAgICAgICB9KSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIGZvcm07XG4gIH1cblxuICBzdWJzY3JpYmVOZXN0ZWRGb3JtR3JvdXAobmVzdGVkRm9ybUl0ZW06IEZvcm1Hcm91cCkge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKG5lc3RlZEZvcm1JdGVtLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5mb3JtPy51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KHsgb25seVNlbGY6IHRydWUsIGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgfSkpO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKG5lc3RlZEZvcm1JdGVtLnN0YXR1c0NoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuZm9ybT8udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSh7IG9ubHlTZWxmOiB0cnVlLCBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgIH0pKTtcbiAgfVxuXG59XG4iXX0=
177
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25zaG9yZS1mb3Jtcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvb25zaG9yZS1mb3Jtcy9zcmMvbGliL29uc2hvcmUtZm9ybXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxPQUFPLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQzdDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQUs3RCxNQUFNLE9BQU8sbUJBQW1CO0lBVTlCO1FBTkEscUJBQWdCLEdBQWEsRUFBRSxDQUFDO1FBRWhDLGtCQUFhLEdBQXdCLEVBQUUsQ0FBQztRQUVqQyxlQUFVLEdBQXFCLElBQUksT0FBTyxFQUFXLENBQUM7UUFHM0QsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLFNBQVMsQ0FBQyxFQUFFLEVBQUUsRUFBQyxRQUFRLEVBQUUsUUFBUSxFQUFDLENBQUMsQ0FBQztRQUNyRCxJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBVyxJQUFJO1FBQ2IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxJQUFXLFVBQVU7UUFDbkIsT0FBTyxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQztJQUMzQixDQUFDO0lBRU0sU0FBUyxDQUFDLEtBQVU7UUFDekIsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVNLFNBQVM7UUFDZCxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxLQUFLLEVBQUUsc0JBQXNC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SSxDQUFDLElBQUksRUFBRSxzQkFBc0IsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDMUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNOLENBQUM7O2dIQTlMVSxtQkFBbUI7b0hBQW5CLG1CQUFtQixjQUZsQixNQUFNOzJGQUVQLG1CQUFtQjtrQkFIL0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQXJyYXksIEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE9uc2hvcmVGb3JtVGVtcGxhdGVUeXBlIH0gZnJvbSAnLi9lbnVtcy9mb3JtLmVudW1zJztcbmltcG9ydCB7IE9uc2hvcmVGb3JtVGVtcGxhdGVJdGVtIH0gZnJvbSAnLi9tb2RlbHMvZm9ybS5tb2RlbHMnO1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgT25zaG9yZUZvcm1zU2VydmljZSB7XG5cbiAgX2Zvcm06IEZvcm1Hcm91cDtcbiAgX2Zvcm1UZW1wbGF0ZTogT25zaG9yZUZvcm1UZW1wbGF0ZUl0ZW1bXTtcbiAgX2Zvcm1WYWxpZGF0aW9uczogc3RyaW5nW10gPSBbXTtcblxuICBzdWJzY3JpcHRpb25zOiBBcnJheTxTdWJzY3JpcHRpb24+ID0gW107XG5cbiAgcHVibGljIGlzTG9hZGluZyQ6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuX2Zvcm0gPSBuZXcgRm9ybUdyb3VwKHt9LCB7dXBkYXRlT246ICdjaGFuZ2UnfSk7XG4gICAgdGhpcy5fZm9ybVRlbXBsYXRlID0gW107XG4gIH1cblxuICBwdWJsaWMgZ2V0IGZvcm0oKTogRm9ybUdyb3VwIHtcbiAgICByZXR1cm4gdGhpcy5fZm9ybTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZm9ybVZhbHVlcygpIHtcbiAgICByZXR1cm4gdGhpcy5fZm9ybT8udmFsdWU7XG4gIH1cblxuICBwdWJsaWMgcGF0Y2hGb3JtKHZhbHVlOiBhbnkpIHtcbiAgICB0aGlzLl9mb3JtPy5wYXRjaFZhbHVlKHZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyByZXNldEZvcm0oKSB7XG4gICAgdGhpcy5fZm9ybT8ucmVzZXQoKTtcbiAgICB0aGlzLl9mb3JtPy51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KHsgb25seVNlbGY6IGZhbHNlLCBlbWl0RXZlbnQ6IHRydWUgfSk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmZvckVhY2goKHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uKSA9PiB7XG4gICAgICBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9KTtcblxuICAgIHRoaXMuX2Zvcm0gPSBudWxsITtcbiAgICB0aGlzLl9mb3JtVGVtcGxhdGUgPSBudWxsITtcbiAgfVxuXG4gIHB1YmxpYyBnZW5lcmF0ZUZvcm0oZm9ybVRlbXBsYXRlOiBPbnNob3JlRm9ybVRlbXBsYXRlSXRlbVtdKTogRm9ybUdyb3VwIHwgbnVsbCB7XG4gICAgdGhpcy5fZm9ybVRlbXBsYXRlID0gZm9ybVRlbXBsYXRlO1xuICAgIHRoaXMuX2Zvcm0gPSBuZXcgRm9ybUdyb3VwKHt9LCB7dXBkYXRlT246ICdjaGFuZ2UnfSk7XG4gICAgdGhpcy5fZm9ybSA9IHRoaXMuaXRlcmF0ZU5lc3RlZEZvcm0odGhpcy5fZm9ybSwgZm9ybVRlbXBsYXRlKTtcbiAgICByZXR1cm4gdGhpcy5fZm9ybTtcbiAgfVxuXG4gIHB1YmxpYyBmb3JtVGVtcGxhdGUobmFtZTogc3RyaW5nLCBmb3JtVGVtcGxhdGU6IE9uc2hvcmVGb3JtVGVtcGxhdGVJdGVtW10gPSB0aGlzLl9mb3JtVGVtcGxhdGUpOiBPbnNob3JlRm9ybVRlbXBsYXRlSXRlbSB7XG4gICAgbGV0IHRlbXBsYXRlOiBPbnNob3JlRm9ybVRlbXBsYXRlSXRlbTtcblxuICAgIGlmKGZvcm1UZW1wbGF0ZSkge1xuICAgICAgZm9yKGxldCBpID0gMDsgaSA8IGZvcm1UZW1wbGF0ZT8ubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY29uc3QgaXRlbSA9IGZvcm1UZW1wbGF0ZVtpXTtcbiAgICAgICAgaWYoaXRlbS5uYW1lID09PSBuYW1lKSB7XG4gICAgICAgICAgdGVtcGxhdGUgPSBpdGVtO1xuICAgICAgICAgIGkgPSBmb3JtVGVtcGxhdGUubGVuZ3RoO1xuICAgICAgICB9ZWxzZSBpZihpdGVtLnN1YmZvcm1BcnJheSkge1xuICAgICAgICAgIGNvbnN0IGFycmF5VGVtcGxhdGUgPSB0aGlzLmZvcm1UZW1wbGF0ZShuYW1lLCBpdGVtLnN1YmZvcm1BcnJheSk7XG4gICAgICAgICAgaWYoYXJyYXlUZW1wbGF0ZSkgdGVtcGxhdGUgPSBhcnJheVRlbXBsYXRlO1xuICAgICAgICB9ZWxzZSBpZihpdGVtLnN1YmZvcm1PYmplY3QpIHtcbiAgICAgICAgICBjb25zdCBvYmplY3RUZW1wbGF0ZSA9IHRoaXMuZm9ybVRlbXBsYXRlKG5hbWUsIGl0ZW0uc3ViZm9ybU9iamVjdCk7XG4gICAgICAgICAgaWYob2JqZWN0VGVtcGxhdGUpIHRlbXBsYXRlID0gb2JqZWN0VGVtcGxhdGU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdGVtcGxhdGUhO1xuICB9XG5cbiAgcHVibGljIGZvcm1Db250cm9sKG5hbWU6IHN0cmluZywgZm9ybUdyb3VwOiBGb3JtR3JvdXAgfCBudWxsID0gdGhpcy5fZm9ybSk6IEZvcm1Db250cm9sIHtcbiAgICByZXR1cm4gZm9ybUdyb3VwPy5nZXQobmFtZSkgYXMgRm9ybUNvbnRyb2w7XG4gIH1cblxuICBwdWJsaWMgZm9ybUFycmF5KG5hbWU6IHN0cmluZyk6IEZvcm1BcnJheSB7XG4gICAgcmV0dXJuIHRoaXMuX2Zvcm0/LmdldChuYW1lKSBhcyBGb3JtQXJyYXk7XG4gIH1cblxuICBwdWJsaWMgZm9ybUdyb3VwKGZvcm06IEZvcm1Hcm91cCwgbmFtZTogc3RyaW5nKTogRm9ybUdyb3VwICB7XG4gICAgcmV0dXJuIGZvcm0uZ2V0KG5hbWUpIGFzIEZvcm1Hcm91cDtcbiAgfVxuXG4gIHB1YmxpYyBhZGRGb3JtQXJyYXlJdGVtKG5hbWU6IHN0cmluZywgaXRlbTogT25zaG9yZUZvcm1UZW1wbGF0ZUl0ZW0pIHtcbiAgICBsZXQgZm9ybUNvbnRyb2xzID0gPGFueT57fTtcblxuICAgIGlmKGl0ZW0pIHtcbiAgICAgIGl0ZW0uc3ViZm9ybUFycmF5Py5mb3JFYWNoKChzdWJpdGVtOiBPbnNob3JlRm9ybVRlbXBsYXRlSXRlbSkgPT4ge1xuICAgICAgICBmb3JtQ29udHJvbHNbc3ViaXRlbS5uYW1lXSA9IG5ldyBGb3JtQ29udHJvbChzdWJpdGVtLmRlZmF1bHQgIT09IHVuZGVmaW5lZCA/IHN1Yml0ZW0uZGVmYXVsdCA6ICcnLCB7XG4gICAgICAgICAgdmFsaWRhdG9yczogc3ViaXRlbS52YWxpZGF0b3JzIHx8IFtdLFxuICAgICAgICAgIHVwZGF0ZU9uOiAnY2hhbmdlJ1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGNvbnN0IGZvcm1Hcm91cCA9IG5ldyBGb3JtR3JvdXAoZm9ybUNvbnRyb2xzKTtcbiAgICBmb3JtR3JvdXAuc2V0UGFyZW50KHRoaXMuZm9ybUFycmF5KG5hbWUpKTtcblxuICAgIHRoaXMuZm9ybUFycmF5KG5hbWUpLnB1c2goZm9ybUdyb3VwKTtcblxuICAgIHRoaXMuc3Vic2NyaWJlTmVzdGVkRm9ybUdyb3VwKGZvcm1Hcm91cCk7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlRm9ybUFycmF5SXRlbShmb3JtOiBGb3JtQXJyYXksIGluZGV4OiBudW1iZXIpIHtcbiAgICBmb3JtLnJlbW92ZUF0KGluZGV4KTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRGb3JtVmFsaWRhdGlvbnModmFsaWRhdGlvbnM6IHN0cmluZ1tdID0gW10pIHtcbiAgICB0aGlzLl9mb3JtVmFsaWRhdGlvbnMgPSB2YWxpZGF0aW9ucztcbiAgfVxuXG4gIHB1YmxpYyBlbmFibGUoKSB7XG4gICAgdGhpcy5fZm9ybVRlbXBsYXRlLmZvckVhY2goKGl0ZW06IE9uc2hvcmVGb3JtVGVtcGxhdGVJdGVtKSA9PiB7XG4gICAgICBpdGVtLmVuYWJsZWQgPSB0cnVlO1xuICAgIH0pO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5fZm9ybT8uZW5hYmxlKHtvbmx5U2VsZjogdHJ1ZSwgZW1pdEV2ZW50OiBmYWxzZX0pO1xuICAgIH0sIDEwMCk7XG4gIH1cblxuICBwdWJsaWMgZGlzYWJsZSgpIHtcbiAgICB0aGlzLl9mb3JtVGVtcGxhdGUuZm9yRWFjaCgoaXRlbTogT25zaG9yZUZvcm1UZW1wbGF0ZUl0ZW0pID0+IHtcbiAgICAgIGl0ZW0uZW5hYmxlZCA9IGZhbHNlO1xuICAgIH0pO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5fZm9ybT8uZGlzYWJsZSh7b25seVNlbGY6IHRydWUsIGVtaXRFdmVudDogZmFsc2V9KTtcbiAgICB9LCAxMDApO1xuICB9XG5cbiAgcHVibGljIHNldEVycm9yKGNvbnRyb2w6IHN0cmluZywgZXJyb3I6IE9iamVjdCkge1xuICAgIGNvbnN0IGVycm9ycyA9IHsuLi50aGlzLmZvcm1Db250cm9sKGNvbnRyb2wpLmVycm9ycyA/PyB7fSwgLi4uZXJyb3J9IDtcbiAgICB0aGlzLmZvcm1Db250cm9sKGNvbnRyb2wpLnNldEVycm9ycyhlcnJvcnMpO1xuICB9XG5cbiAgcHVibGljIHNldExvYWRlcihsb2FkZXJzJDogU3ViamVjdDxib29sZWFuPltdKSB7XG4gICAgbG9hZGVycyQuZm9yRWFjaCgkbG9hZGVyID0+IHtcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKCRsb2FkZXIuc3Vic2NyaWJlKGlzTG9hZGluZyA9PiB7XG4gICAgICAgIGlzTG9hZGluZyA/IHRoaXMuZGlzYWJsZSgpIDogdGhpcy5lbmFibGUoKTtcbiAgICAgICAgdGhpcy5pc0xvYWRpbmckLm5leHQoaXNMb2FkaW5nKTtcbiAgICAgIH0pKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBsb2NrKCkge1xuICAgIHRoaXMuX2Zvcm1UZW1wbGF0ZS5mb3JFYWNoKChpdGVtOiBPbnNob3JlRm9ybVRlbXBsYXRlSXRlbSkgPT4ge1xuICAgICAgaXRlbS5sb2NrZWQgPSB0cnVlO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHVubG9jaygpIHtcbiAgICB0aGlzLl9mb3JtVGVtcGxhdGUuZm9yRWFjaCgoaXRlbTogT25zaG9yZUZvcm1UZW1wbGF0ZUl0ZW0pID0+IHtcbiAgICAgIGl0ZW0ubG9ja2VkID0gZmFsc2U7XG4gICAgfSk7XG4gIH1cblxuICBpdGVyYXRlTmVzdGVkRm9ybShmb3JtOiBGb3JtR3JvdXAsIGZvcm1UZW1wbGF0ZTogT25zaG9yZUZvcm1UZW1wbGF0ZUl0ZW1bXSk6IGFueSB7XG4gICAgZm9ybVRlbXBsYXRlLmZvckVhY2goKGl0ZW06IE9uc2hvcmVGb3JtVGVtcGxhdGVJdGVtKSA9PiB7XG4gICAgICBpZihpdGVtLnR5cGUgPT09IE9uc2hvcmVGb3JtVGVtcGxhdGVUeXBlLnN1YmZvcm0pIHtcbiAgICAgICAgaWYoaXRlbS5zdWJmb3JtQXJyYXkpIHtcbiAgICAgICAgICBmb3JtLmNvbnRyb2xzW2l0ZW0ubmFtZV0gPSBuZXcgRm9ybUFycmF5KFtdKTtcbiAgICAgICAgICBmb3JtLmNvbnRyb2xzW2l0ZW0ubmFtZV0uc2V0UGFyZW50KGZvcm0pO1xuICAgICAgICAgIHRoaXMuc3Vic2NyaWJlTmVzdGVkRm9ybUFycmF5KGZvcm0uY29udHJvbHNbaXRlbS5uYW1lXSBhcyBGb3JtQXJyYXkpO1xuICAgICAgICB9XG4gICAgICAgIGlmKGl0ZW0uc3ViZm9ybU9iamVjdCkge1xuICAgICAgICAgIGZvcm0uY29udHJvbHNbaXRlbS5uYW1lXSA9IG5ldyBGb3JtR3JvdXAoe30pO1xuICAgICAgICAgIGZvcm0uY29udHJvbHNbaXRlbS5uYW1lXSA9IHRoaXMuaXRlcmF0ZU5lc3RlZEZvcm0oZm9ybS5jb250cm9sc1tpdGVtLm5hbWVdIGFzIEZvcm1Hcm91cCwgaXRlbS5zdWJmb3JtT2JqZWN0KSBhcyBGb3JtR3JvdXA7XG4gICAgICAgICAgdGhpcy5zdWJzY3JpYmVOZXN0ZWRGb3JtR3JvdXAoZm9ybS5jb250cm9sc1tpdGVtLm5hbWVdIGFzIEZvcm1Hcm91cCk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGZvcm0uYWRkQ29udHJvbChpdGVtLm5hbWUsIG5ldyBGb3JtQ29udHJvbChpdGVtLmRlZmF1bHQgIT09IHVuZGVmaW5lZCA/IGl0ZW0uZGVmYXVsdCA6ICcnLCB7XG4gICAgICAgICAgdmFsaWRhdG9yczogaXRlbS52YWxpZGF0b3JzIHx8IFtdLFxuICAgICAgICAgIHVwZGF0ZU9uOiAnY2hhbmdlJ1xuICAgICAgICB9KSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIGZvcm07XG4gIH1cblxuICBzdWJzY3JpYmVOZXN0ZWRGb3JtQXJyYXkobmVzdGVkRm9ybUl0ZW06IEZvcm1BcnJheSkge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKG5lc3RlZEZvcm1JdGVtLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5mb3JtPy51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KHsgb25seVNlbGY6IHRydWUsIGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgfSkpO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKG5lc3RlZEZvcm1JdGVtLnN0YXR1c0NoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuZm9ybT8udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSh7IG9ubHlTZWxmOiB0cnVlLCBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgIH0pKTtcbiAgfVxuXG4gIHN1YnNjcmliZU5lc3RlZEZvcm1Hcm91cChuZXN0ZWRGb3JtSXRlbTogRm9ybUdyb3VwKSB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2gobmVzdGVkRm9ybUl0ZW0udmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmZvcm0/LnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoeyBvbmx5U2VsZjogdHJ1ZSwgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICB9KSk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2gobmVzdGVkRm9ybUl0ZW0uc3RhdHVzQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5mb3JtPy51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KHsgb25seVNlbGY6IHRydWUsIGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgfSkpO1xuICB9XG5cbn1cbiJdfQ==
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Injectable, Component, ChangeDetectionStrategy, Input, HostListener, Self, Optional, EventEmitter, Output, NgModule } from '@angular/core';
2
+ import { Injectable, Component, ChangeDetectionStrategy, Input, ViewChild, HostListener, Self, Optional, EventEmitter, Output, NgModule } from '@angular/core';
3
3
  import * as i1 from '@angular/forms';
4
4
  import { FormGroup, FormControl, FormArray, FormsModule, ReactiveFormsModule } from '@angular/forms';
5
5
  import { Subject, debounceTime, distinctUntilChanged, skip } from 'rxjs';
@@ -222,6 +222,7 @@ class OnshoreFormsService {
222
222
  if (item.subformArray) {
223
223
  form.controls[item.name] = new FormArray([]);
224
224
  form.controls[item.name].setParent(form);
225
+ this.subscribeNestedFormArray(form.controls[item.name]);
225
226
  }
226
227
  if (item.subformObject) {
227
228
  form.controls[item.name] = new FormGroup({});
@@ -238,6 +239,16 @@ class OnshoreFormsService {
238
239
  });
239
240
  return form;
240
241
  }
242
+ subscribeNestedFormArray(nestedFormItem) {
243
+ this.subscriptions.push(nestedFormItem.valueChanges.subscribe(() => {
244
+ var _a;
245
+ (_a = this.form) === null || _a === void 0 ? void 0 : _a.updateValueAndValidity({ onlySelf: true, emitEvent: false });
246
+ }));
247
+ this.subscriptions.push(nestedFormItem.statusChanges.subscribe(() => {
248
+ var _a;
249
+ (_a = this.form) === null || _a === void 0 ? void 0 : _a.updateValueAndValidity({ onlySelf: true, emitEvent: false });
250
+ }));
251
+ }
241
252
  subscribeNestedFormGroup(nestedFormItem) {
242
253
  this.subscriptions.push(nestedFormItem.valueChanges.subscribe(() => {
243
254
  var _a;
@@ -341,14 +352,16 @@ class OnshoreFormItemContainer {
341
352
  this.cdr.markForCheck();
342
353
  }
343
354
  onWindowResize() {
344
- if (window.innerWidth > 500 && this.formTemplate.layout === OnshoreFormTemplateLayout.auto) {
355
+ var _a;
356
+ const conatinerWidth = (_a = this.formContainer) === null || _a === void 0 ? void 0 : _a.nativeElement.offsetWidth;
357
+ if (conatinerWidth > 500 && this.formTemplate.layout === OnshoreFormTemplateLayout.auto && this.layout !== OnshoreFormTemplateLayout.horizontal) {
345
358
  this.layout = OnshoreFormTemplateLayout.horizontal;
359
+ this.cdr.markForCheck();
346
360
  }
347
- if (window.innerWidth <= 500 && this.formTemplate.layout === OnshoreFormTemplateLayout.auto) {
361
+ if (conatinerWidth <= 500 && this.formTemplate.layout === OnshoreFormTemplateLayout.auto && this.layout !== OnshoreFormTemplateLayout.vertical) {
348
362
  this.layout = OnshoreFormTemplateLayout.vertical;
363
+ this.cdr.markForCheck();
349
364
  }
350
- console.log("resize", window.innerWidth, this.layout);
351
- this.cdr.markForCheck();
352
365
  }
353
366
  ngOnInit() {
354
367
  var _a, _b, _c, _d;
@@ -389,14 +402,17 @@ class OnshoreFormItemContainer {
389
402
  }
390
403
  }
391
404
  OnshoreFormItemContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: OnshoreFormItemContainer, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
392
- OnshoreFormItemContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: OnshoreFormItemContainer, selector: "onshore-form-item-container", inputs: { formTemplate: "formTemplate", ngControl: "ngControl" }, host: { listeners: { "window:resize": "onWindowResize($event)" } }, usesOnChanges: true, ngImport: i0, template: "<div class=\"mb-4\">\n <div class=\"flex w-full\"\n [class.flex-column]=\"layout == OnshoreFormTemplateLayout.vertical\"\n [class.flex-row]=\"layout == OnshoreFormTemplateLayout.horizontal\"\n [class.justify-content-between]=\"layout == OnshoreFormTemplateLayout.horizontal\">\n\n <div #formLabel\n class=\"flex justify-content-between\"\n [style]=\"formTemplate.labelStyle ?? 'min-width: 200px'\">\n\n <b [class.mr-2]=\"layout == OnshoreFormTemplateLayout.horizontal\"\n [class.mb-2]=\"layout == OnshoreFormTemplateLayout.vertical\">\n {{formTemplate.label}}\n <small *ngIf=\"formTemplate.required\" class=\"onshore-color-danger\">*</small>\n </b>\n\n <div *ngIf=\"formTemplate.tooltip && layout == OnshoreFormTemplateLayout.vertical\" [pTooltip]=\"formTemplate.tooltip\" [escape]=\"false\" appendTo=\"body\"><i class=\"fa fa-circle-question onshore-color-gray-5\"></i></div>\n\n </div>\n\n <div class=\"flex w-full\">\n <p-toggleButton\n *ngIf=\"formTemplate.locked\"\n (onChange)=\"lockChanged($event.checked)\"\n onIcon=\"fa fa-lock-open\"\n offIcon=\"fa fa-lock\"\n class=\"mr-2\"\n [style]=\"{height: '36px'}\"\n [disabled]=\"!formTemplate.enabled\">\n </p-toggleButton>\n\n <ng-content></ng-content>\n </div>\n\n <div *ngIf=\"formTemplate.tooltip && layout == OnshoreFormTemplateLayout.horizontal\" class=\"ml-2 align-self-center\" [pTooltip]=\"formTemplate.tooltip\" [escape]=\"false\"><i class=\"fa fa-circle-question onshore-color-gray-5\"></i></div>\n </div>\n\n <div *ngIf=\"ngControl.control.touched\" [style]=\"{'margin-left': layout == OnshoreFormTemplateLayout.horizontal ? formLabel.clientWidth + 'px' : '0px'}\">\n <onshore-form-validation-output\n [validationItems]=\"formTemplate.validationItems\"\n [validationErrors]=\"ngControl.control.errors\">\n </onshore-form-validation-output>\n </div>\n\n <div [style]=\"{'margin-left': layout == OnshoreFormTemplateLayout.horizontal ? formLabel.clientWidth + 'px' : '0px'}\">\n <small *ngIf=\"formTemplate.description\" class=\"mt-2 onshore-color-gray-5\"><i class=\"fa fa-info-circle\"></i> {{formTemplate.description}}</small>\n </div>\n\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "fitContent", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "component", type: i3$1.ToggleButton, selector: "p-toggleButton", inputs: ["onLabel", "offLabel", "onIcon", "offIcon", "ariaLabelledBy", "disabled", "style", "styleClass", "inputId", "tabindex", "iconPos"], outputs: ["onChange"] }, { kind: "component", type: OnshoreFormValidationOutputComponent, selector: "onshore-form-validation-output", inputs: ["validationErrors", "validationItems"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
405
+ OnshoreFormItemContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: OnshoreFormItemContainer, selector: "onshore-form-item-container", inputs: { formTemplate: "formTemplate", ngControl: "ngControl" }, host: { listeners: { "window:resize": "onWindowResize($event)" } }, viewQueries: [{ propertyName: "formContainer", first: true, predicate: ["formContainer"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"mb-4\" #formContainer>\n <div class=\"flex w-full\"\n [class.flex-column]=\"layout == OnshoreFormTemplateLayout.vertical\"\n [class.flex-row]=\"layout == OnshoreFormTemplateLayout.horizontal\"\n [class.justify-content-between]=\"layout == OnshoreFormTemplateLayout.horizontal\">\n\n <div #formLabel\n class=\"flex justify-content-between\"\n [style]=\"formTemplate.labelStyle ?? 'min-width: 200px'\">\n\n <b [class.mr-2]=\"layout == OnshoreFormTemplateLayout.horizontal\"\n [class.mb-2]=\"layout == OnshoreFormTemplateLayout.vertical\">\n {{formTemplate.label}}\n <small *ngIf=\"formTemplate.required\" class=\"onshore-color-danger\">*</small>\n </b>\n\n <div *ngIf=\"formTemplate.tooltip && layout == OnshoreFormTemplateLayout.vertical\" [pTooltip]=\"formTemplate.tooltip\" [escape]=\"false\" appendTo=\"body\"><i class=\"fa fa-circle-question onshore-color-gray-5\"></i></div>\n\n </div>\n\n <div class=\"flex w-full\">\n <p-toggleButton\n *ngIf=\"formTemplate.locked\"\n (onChange)=\"lockChanged($event.checked)\"\n onIcon=\"fa fa-lock-open\"\n offIcon=\"fa fa-lock\"\n class=\"mr-2\"\n [style]=\"{height: '36px'}\"\n [disabled]=\"!formTemplate.enabled\">\n </p-toggleButton>\n\n <ng-content></ng-content>\n </div>\n\n <div *ngIf=\"formTemplate.tooltip && layout == OnshoreFormTemplateLayout.horizontal\" class=\"ml-2 align-self-center\" [pTooltip]=\"formTemplate.tooltip\" [escape]=\"false\"><i class=\"fa fa-circle-question onshore-color-gray-5\"></i></div>\n </div>\n\n <div *ngIf=\"ngControl.control.dirty\" [style]=\"{'margin-left': layout == OnshoreFormTemplateLayout.horizontal ? formLabel.clientWidth + 'px' : '0px'}\">\n <onshore-form-validation-output\n [validationItems]=\"formTemplate.validationItems\"\n [validationErrors]=\"ngControl.control.errors\">\n </onshore-form-validation-output>\n </div>\n\n <div [style]=\"{'margin-left': layout == OnshoreFormTemplateLayout.horizontal ? formLabel.clientWidth + 'px' : '0px'}\">\n <small *ngIf=\"formTemplate.description\" class=\"mt-2 onshore-color-gray-5\"><i class=\"fa fa-info-circle\"></i> {{formTemplate.description}}</small>\n </div>\n\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "fitContent", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "component", type: i3$1.ToggleButton, selector: "p-toggleButton", inputs: ["onLabel", "offLabel", "onIcon", "offIcon", "ariaLabelledBy", "disabled", "style", "styleClass", "inputId", "tabindex", "iconPos"], outputs: ["onChange"] }, { kind: "component", type: OnshoreFormValidationOutputComponent, selector: "onshore-form-validation-output", inputs: ["validationErrors", "validationItems"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
393
406
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: OnshoreFormItemContainer, decorators: [{
394
407
  type: Component,
395
- args: [{ selector: 'onshore-form-item-container', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"mb-4\">\n <div class=\"flex w-full\"\n [class.flex-column]=\"layout == OnshoreFormTemplateLayout.vertical\"\n [class.flex-row]=\"layout == OnshoreFormTemplateLayout.horizontal\"\n [class.justify-content-between]=\"layout == OnshoreFormTemplateLayout.horizontal\">\n\n <div #formLabel\n class=\"flex justify-content-between\"\n [style]=\"formTemplate.labelStyle ?? 'min-width: 200px'\">\n\n <b [class.mr-2]=\"layout == OnshoreFormTemplateLayout.horizontal\"\n [class.mb-2]=\"layout == OnshoreFormTemplateLayout.vertical\">\n {{formTemplate.label}}\n <small *ngIf=\"formTemplate.required\" class=\"onshore-color-danger\">*</small>\n </b>\n\n <div *ngIf=\"formTemplate.tooltip && layout == OnshoreFormTemplateLayout.vertical\" [pTooltip]=\"formTemplate.tooltip\" [escape]=\"false\" appendTo=\"body\"><i class=\"fa fa-circle-question onshore-color-gray-5\"></i></div>\n\n </div>\n\n <div class=\"flex w-full\">\n <p-toggleButton\n *ngIf=\"formTemplate.locked\"\n (onChange)=\"lockChanged($event.checked)\"\n onIcon=\"fa fa-lock-open\"\n offIcon=\"fa fa-lock\"\n class=\"mr-2\"\n [style]=\"{height: '36px'}\"\n [disabled]=\"!formTemplate.enabled\">\n </p-toggleButton>\n\n <ng-content></ng-content>\n </div>\n\n <div *ngIf=\"formTemplate.tooltip && layout == OnshoreFormTemplateLayout.horizontal\" class=\"ml-2 align-self-center\" [pTooltip]=\"formTemplate.tooltip\" [escape]=\"false\"><i class=\"fa fa-circle-question onshore-color-gray-5\"></i></div>\n </div>\n\n <div *ngIf=\"ngControl.control.touched\" [style]=\"{'margin-left': layout == OnshoreFormTemplateLayout.horizontal ? formLabel.clientWidth + 'px' : '0px'}\">\n <onshore-form-validation-output\n [validationItems]=\"formTemplate.validationItems\"\n [validationErrors]=\"ngControl.control.errors\">\n </onshore-form-validation-output>\n </div>\n\n <div [style]=\"{'margin-left': layout == OnshoreFormTemplateLayout.horizontal ? formLabel.clientWidth + 'px' : '0px'}\">\n <small *ngIf=\"formTemplate.description\" class=\"mt-2 onshore-color-gray-5\"><i class=\"fa fa-info-circle\"></i> {{formTemplate.description}}</small>\n </div>\n\n</div>\n" }]
408
+ args: [{ selector: 'onshore-form-item-container', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"mb-4\" #formContainer>\n <div class=\"flex w-full\"\n [class.flex-column]=\"layout == OnshoreFormTemplateLayout.vertical\"\n [class.flex-row]=\"layout == OnshoreFormTemplateLayout.horizontal\"\n [class.justify-content-between]=\"layout == OnshoreFormTemplateLayout.horizontal\">\n\n <div #formLabel\n class=\"flex justify-content-between\"\n [style]=\"formTemplate.labelStyle ?? 'min-width: 200px'\">\n\n <b [class.mr-2]=\"layout == OnshoreFormTemplateLayout.horizontal\"\n [class.mb-2]=\"layout == OnshoreFormTemplateLayout.vertical\">\n {{formTemplate.label}}\n <small *ngIf=\"formTemplate.required\" class=\"onshore-color-danger\">*</small>\n </b>\n\n <div *ngIf=\"formTemplate.tooltip && layout == OnshoreFormTemplateLayout.vertical\" [pTooltip]=\"formTemplate.tooltip\" [escape]=\"false\" appendTo=\"body\"><i class=\"fa fa-circle-question onshore-color-gray-5\"></i></div>\n\n </div>\n\n <div class=\"flex w-full\">\n <p-toggleButton\n *ngIf=\"formTemplate.locked\"\n (onChange)=\"lockChanged($event.checked)\"\n onIcon=\"fa fa-lock-open\"\n offIcon=\"fa fa-lock\"\n class=\"mr-2\"\n [style]=\"{height: '36px'}\"\n [disabled]=\"!formTemplate.enabled\">\n </p-toggleButton>\n\n <ng-content></ng-content>\n </div>\n\n <div *ngIf=\"formTemplate.tooltip && layout == OnshoreFormTemplateLayout.horizontal\" class=\"ml-2 align-self-center\" [pTooltip]=\"formTemplate.tooltip\" [escape]=\"false\"><i class=\"fa fa-circle-question onshore-color-gray-5\"></i></div>\n </div>\n\n <div *ngIf=\"ngControl.control.dirty\" [style]=\"{'margin-left': layout == OnshoreFormTemplateLayout.horizontal ? formLabel.clientWidth + 'px' : '0px'}\">\n <onshore-form-validation-output\n [validationItems]=\"formTemplate.validationItems\"\n [validationErrors]=\"ngControl.control.errors\">\n </onshore-form-validation-output>\n </div>\n\n <div [style]=\"{'margin-left': layout == OnshoreFormTemplateLayout.horizontal ? formLabel.clientWidth + 'px' : '0px'}\">\n <small *ngIf=\"formTemplate.description\" class=\"mt-2 onshore-color-gray-5\"><i class=\"fa fa-info-circle\"></i> {{formTemplate.description}}</small>\n </div>\n\n</div>\n" }]
396
409
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { formTemplate: [{
397
410
  type: Input
398
411
  }], ngControl: [{
399
412
  type: Input
413
+ }], formContainer: [{
414
+ type: ViewChild,
415
+ args: ['formContainer']
400
416
  }], onWindowResize: [{
401
417
  type: HostListener,
402
418
  args: ['window:resize', ['$event']]
@@ -439,10 +455,10 @@ class OnshoreFormInputItemComponent {
439
455
  }
440
456
  }
441
457
  OnshoreFormInputItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: OnshoreFormInputItemComponent, deps: [{ token: i1.NgControl, optional: true, self: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
442
- OnshoreFormInputItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: OnshoreFormInputItemComponent, selector: "onshore-form-input-item", inputs: { formTemplate: "formTemplate", step: "step", min: "min", max: "max", minLength: "minLength", maxLength: "maxLength" }, usesOnChanges: true, ngImport: i0, template: "<onshore-form-item-container [formTemplate]=\"formTemplate\" [ngControl]=\"ngControl\">\n <span class=\"p-inputgroup w-full\">\n\n <textarea *ngIf=\"formTemplate.type == OnshoreFormTemplateType.textarea\"\n class=\"w-full\"\n [name]=\"formTemplate.name\"\n [placeholder]=\"formTemplate.placeholder ?? ''\"\n [disabled]=\"disabled\"\n [rows]=\"3\"\n [cols]=\"30\"\n pInputTextarea\n [autoResize]=\"true\"\n [formControl]=\"ngControl.control\"\n [class.p-invalid]=\"ngControl.control?.touched && ngControl.control?.invalid\"\n [minLength]=\"minLength\"\n [maxLength]=\"maxLength\"></textarea>\n\n <input *ngIf=\"formTemplate.type == OnshoreFormTemplateType.text || formTemplate.type == OnshoreFormTemplateType.email || formTemplate.type == OnshoreFormTemplateType.phone\"\n class=\"w-full\"\n [type]=\"formTemplate.type\"\n [name]=\"formTemplate.name\"\n [placeholder]=\"formTemplate.placeholder ?? ''\"\n [disabled]=\"disabled\"\n pInputText\n [formControl]=\"ngControl.control\"\n [autocomplete]=\"'prevent-template-' + formTemplate.name\"\n [minLength]=\"minLength\"\n [maxLength]=\"maxLength\"/>\n\n <input *ngIf=\"formTemplate.type == OnshoreFormTemplateType.password\"\n class=\"w-full\"\n [type]=\"passwordVisible ? 'text' : formTemplate.type\"\n [name]=\"formTemplate.name\"\n [placeholder]=\"formTemplate.placeholder ?? ''\"\n [disabled]=\"disabled\"\n pInputText\n [formControl]=\"ngControl.control\"\n [autocomplete]=\"'prevent-template-' + formTemplate.name\"\n [minLength]=\"minLength\"\n [maxLength]=\"maxLength\"/>\n\n <p-inputNumber *ngIf=\"formTemplate.type == OnshoreFormTemplateType.number\"\n class=\"w-full\"\n [name]=\"formTemplate.name\"\n [placeholder]=\"formTemplate.placeholder ?? 0\"\n [disabled]=\"disabled\"\n [formControl]=\"ngControl.control\"\n [autocomplete]=\"'prevent-template-' + formTemplate.name\"\n [showButtons]=\"true\"\n [step]=\"step ?? 1\"\n [min]=\"min\"\n [max]=\"max\">\n </p-inputNumber>\n\n <span class=\"p-inputgroup-addon\" *ngIf=\"!disabled\">\n <i class=\"fa\"\n [class.fa-check]=\"formTemplate.required && (ngControl.control.valid || ngControl.control.untouched)\"\n [class.fa-exclamation-triangle]=\"ngControl.control.touched && ngControl.control.invalid\"\n [class.onshore-color-gray-3]=\"ngControl.control.untouched\"\n [class.onshore-color-success]=\"ngControl.control.touched && ngControl.control.valid\"\n [class.onshore-color-danger]=\"ngControl.control.touched && ngControl.control.invalid\">\n </i>\n </span>\n\n <span *ngIf=\"formTemplate.type == OnshoreFormTemplateType.password\"\n (click)=\"passwordVisible = !passwordVisible\"\n class=\"p-inputgroup-addon cursor-pointer\">\n <i class=\"fa\"\n [class.fa-eye-slash]=\"passwordVisible\"\n [class.fa-eye]=\"!passwordVisible\"\n ></i>\n </span>\n\n </span>\n</onshore-form-item-container>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i3$2.InputNumber, selector: "p-inputNumber", inputs: ["showButtons", "format", "buttonLayout", "inputId", "styleClass", "style", "placeholder", "size", "maxlength", "tabindex", "title", "ariaLabel", "ariaRequired", "name", "required", "autocomplete", "min", "max", "incrementButtonClass", "decrementButtonClass", "incrementButtonIcon", "decrementButtonIcon", "readonly", "step", "allowEmpty", "locale", "localeMatcher", "mode", "currency", "currencyDisplay", "useGrouping", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "inputStyle", "inputStyleClass", "showClear", "disabled"], outputs: ["onInput", "onFocus", "onBlur", "onKeyDown", "onClear"] }, { kind: "directive", type: i4.InputText, selector: "[pInputText]" }, { kind: "directive", type: i5.InputTextarea, selector: "[pInputTextarea]", inputs: ["autoResize"], outputs: ["onResize"] }, { kind: "component", type: OnshoreFormItemContainer, selector: "onshore-form-item-container", inputs: ["formTemplate", "ngControl"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
458
+ OnshoreFormInputItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: OnshoreFormInputItemComponent, selector: "onshore-form-input-item", inputs: { formTemplate: "formTemplate", step: "step", min: "min", max: "max", minLength: "minLength", maxLength: "maxLength" }, usesOnChanges: true, ngImport: i0, template: "<onshore-form-item-container [formTemplate]=\"formTemplate\" [ngControl]=\"ngControl\">\n <span class=\"p-inputgroup w-full\">\n\n <textarea *ngIf=\"formTemplate.type == OnshoreFormTemplateType.textarea\"\n class=\"w-full\"\n [name]=\"formTemplate.name\"\n [placeholder]=\"formTemplate.placeholder ?? ''\"\n [disabled]=\"disabled\"\n [rows]=\"3\"\n [cols]=\"30\"\n pInputTextarea\n [autoResize]=\"true\"\n [formControl]=\"ngControl.control\"\n [class.p-invalid]=\"ngControl.control?.touched && ngControl.control?.invalid\"\n [minLength]=\"minLength\"\n [maxLength]=\"maxLength\"></textarea>\n\n <input *ngIf=\"formTemplate.type == OnshoreFormTemplateType.text || formTemplate.type == OnshoreFormTemplateType.email || formTemplate.type == OnshoreFormTemplateType.phone\"\n class=\"w-full\"\n [type]=\"formTemplate.type\"\n [name]=\"formTemplate.name\"\n [placeholder]=\"formTemplate.placeholder ?? ''\"\n [disabled]=\"disabled\"\n pInputText\n [formControl]=\"ngControl.control\"\n [autocomplete]=\"'prevent-template-' + formTemplate.name\"\n [minLength]=\"minLength\"\n [maxLength]=\"maxLength\"/>\n\n <input *ngIf=\"formTemplate.type == OnshoreFormTemplateType.password\"\n class=\"w-full\"\n [type]=\"passwordVisible ? 'text' : formTemplate.type\"\n [name]=\"formTemplate.name\"\n [placeholder]=\"formTemplate.placeholder ?? ''\"\n [disabled]=\"disabled\"\n pInputText\n [formControl]=\"ngControl.control\"\n [autocomplete]=\"'prevent-template-' + formTemplate.name\"\n [minLength]=\"minLength\"\n [maxLength]=\"maxLength\"/>\n\n <p-inputNumber *ngIf=\"formTemplate.type == OnshoreFormTemplateType.number\"\n class=\"w-full\"\n [name]=\"formTemplate.name\"\n [placeholder]=\"formTemplate.placeholder ?? 0\"\n [disabled]=\"disabled\"\n [formControl]=\"ngControl.control\"\n [autocomplete]=\"'prevent-template-' + formTemplate.name\"\n [showButtons]=\"true\"\n [step]=\"step ?? 1\"\n [min]=\"min\"\n [max]=\"max\">\n </p-inputNumber>\n\n <span class=\"p-inputgroup-addon\" *ngIf=\"!disabled\">\n <i class=\"fa\"\n [class.fa-check]=\"formTemplate.required && (ngControl.control.valid || !ngControl.control.dirty)\"\n [class.fa-exclamation-triangle]=\"ngControl.control.dirty && ngControl.control.invalid\"\n [class.onshore-color-gray-3]=\"!ngControl.control.dirty\"\n [class.onshore-color-success]=\"ngControl.control.dirty && ngControl.control.valid\"\n [class.onshore-color-danger]=\"ngControl.control.dirty && ngControl.control.invalid\">\n </i>\n </span>\n\n <span *ngIf=\"formTemplate.type == OnshoreFormTemplateType.password\"\n (click)=\"passwordVisible = !passwordVisible\"\n class=\"p-inputgroup-addon cursor-pointer\">\n <i class=\"fa\"\n [class.fa-eye-slash]=\"passwordVisible\"\n [class.fa-eye]=\"!passwordVisible\"\n ></i>\n </span>\n\n </span>\n</onshore-form-item-container>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i3$2.InputNumber, selector: "p-inputNumber", inputs: ["showButtons", "format", "buttonLayout", "inputId", "styleClass", "style", "placeholder", "size", "maxlength", "tabindex", "title", "ariaLabel", "ariaRequired", "name", "required", "autocomplete", "min", "max", "incrementButtonClass", "decrementButtonClass", "incrementButtonIcon", "decrementButtonIcon", "readonly", "step", "allowEmpty", "locale", "localeMatcher", "mode", "currency", "currencyDisplay", "useGrouping", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "inputStyle", "inputStyleClass", "showClear", "disabled"], outputs: ["onInput", "onFocus", "onBlur", "onKeyDown", "onClear"] }, { kind: "directive", type: i4.InputText, selector: "[pInputText]" }, { kind: "directive", type: i5.InputTextarea, selector: "[pInputTextarea]", inputs: ["autoResize"], outputs: ["onResize"] }, { kind: "component", type: OnshoreFormItemContainer, selector: "onshore-form-item-container", inputs: ["formTemplate", "ngControl"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
443
459
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: OnshoreFormInputItemComponent, decorators: [{
444
460
  type: Component,
445
- args: [{ selector: 'onshore-form-input-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<onshore-form-item-container [formTemplate]=\"formTemplate\" [ngControl]=\"ngControl\">\n <span class=\"p-inputgroup w-full\">\n\n <textarea *ngIf=\"formTemplate.type == OnshoreFormTemplateType.textarea\"\n class=\"w-full\"\n [name]=\"formTemplate.name\"\n [placeholder]=\"formTemplate.placeholder ?? ''\"\n [disabled]=\"disabled\"\n [rows]=\"3\"\n [cols]=\"30\"\n pInputTextarea\n [autoResize]=\"true\"\n [formControl]=\"ngControl.control\"\n [class.p-invalid]=\"ngControl.control?.touched && ngControl.control?.invalid\"\n [minLength]=\"minLength\"\n [maxLength]=\"maxLength\"></textarea>\n\n <input *ngIf=\"formTemplate.type == OnshoreFormTemplateType.text || formTemplate.type == OnshoreFormTemplateType.email || formTemplate.type == OnshoreFormTemplateType.phone\"\n class=\"w-full\"\n [type]=\"formTemplate.type\"\n [name]=\"formTemplate.name\"\n [placeholder]=\"formTemplate.placeholder ?? ''\"\n [disabled]=\"disabled\"\n pInputText\n [formControl]=\"ngControl.control\"\n [autocomplete]=\"'prevent-template-' + formTemplate.name\"\n [minLength]=\"minLength\"\n [maxLength]=\"maxLength\"/>\n\n <input *ngIf=\"formTemplate.type == OnshoreFormTemplateType.password\"\n class=\"w-full\"\n [type]=\"passwordVisible ? 'text' : formTemplate.type\"\n [name]=\"formTemplate.name\"\n [placeholder]=\"formTemplate.placeholder ?? ''\"\n [disabled]=\"disabled\"\n pInputText\n [formControl]=\"ngControl.control\"\n [autocomplete]=\"'prevent-template-' + formTemplate.name\"\n [minLength]=\"minLength\"\n [maxLength]=\"maxLength\"/>\n\n <p-inputNumber *ngIf=\"formTemplate.type == OnshoreFormTemplateType.number\"\n class=\"w-full\"\n [name]=\"formTemplate.name\"\n [placeholder]=\"formTemplate.placeholder ?? 0\"\n [disabled]=\"disabled\"\n [formControl]=\"ngControl.control\"\n [autocomplete]=\"'prevent-template-' + formTemplate.name\"\n [showButtons]=\"true\"\n [step]=\"step ?? 1\"\n [min]=\"min\"\n [max]=\"max\">\n </p-inputNumber>\n\n <span class=\"p-inputgroup-addon\" *ngIf=\"!disabled\">\n <i class=\"fa\"\n [class.fa-check]=\"formTemplate.required && (ngControl.control.valid || ngControl.control.untouched)\"\n [class.fa-exclamation-triangle]=\"ngControl.control.touched && ngControl.control.invalid\"\n [class.onshore-color-gray-3]=\"ngControl.control.untouched\"\n [class.onshore-color-success]=\"ngControl.control.touched && ngControl.control.valid\"\n [class.onshore-color-danger]=\"ngControl.control.touched && ngControl.control.invalid\">\n </i>\n </span>\n\n <span *ngIf=\"formTemplate.type == OnshoreFormTemplateType.password\"\n (click)=\"passwordVisible = !passwordVisible\"\n class=\"p-inputgroup-addon cursor-pointer\">\n <i class=\"fa\"\n [class.fa-eye-slash]=\"passwordVisible\"\n [class.fa-eye]=\"!passwordVisible\"\n ></i>\n </span>\n\n </span>\n</onshore-form-item-container>\n" }]
461
+ args: [{ selector: 'onshore-form-input-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<onshore-form-item-container [formTemplate]=\"formTemplate\" [ngControl]=\"ngControl\">\n <span class=\"p-inputgroup w-full\">\n\n <textarea *ngIf=\"formTemplate.type == OnshoreFormTemplateType.textarea\"\n class=\"w-full\"\n [name]=\"formTemplate.name\"\n [placeholder]=\"formTemplate.placeholder ?? ''\"\n [disabled]=\"disabled\"\n [rows]=\"3\"\n [cols]=\"30\"\n pInputTextarea\n [autoResize]=\"true\"\n [formControl]=\"ngControl.control\"\n [class.p-invalid]=\"ngControl.control?.touched && ngControl.control?.invalid\"\n [minLength]=\"minLength\"\n [maxLength]=\"maxLength\"></textarea>\n\n <input *ngIf=\"formTemplate.type == OnshoreFormTemplateType.text || formTemplate.type == OnshoreFormTemplateType.email || formTemplate.type == OnshoreFormTemplateType.phone\"\n class=\"w-full\"\n [type]=\"formTemplate.type\"\n [name]=\"formTemplate.name\"\n [placeholder]=\"formTemplate.placeholder ?? ''\"\n [disabled]=\"disabled\"\n pInputText\n [formControl]=\"ngControl.control\"\n [autocomplete]=\"'prevent-template-' + formTemplate.name\"\n [minLength]=\"minLength\"\n [maxLength]=\"maxLength\"/>\n\n <input *ngIf=\"formTemplate.type == OnshoreFormTemplateType.password\"\n class=\"w-full\"\n [type]=\"passwordVisible ? 'text' : formTemplate.type\"\n [name]=\"formTemplate.name\"\n [placeholder]=\"formTemplate.placeholder ?? ''\"\n [disabled]=\"disabled\"\n pInputText\n [formControl]=\"ngControl.control\"\n [autocomplete]=\"'prevent-template-' + formTemplate.name\"\n [minLength]=\"minLength\"\n [maxLength]=\"maxLength\"/>\n\n <p-inputNumber *ngIf=\"formTemplate.type == OnshoreFormTemplateType.number\"\n class=\"w-full\"\n [name]=\"formTemplate.name\"\n [placeholder]=\"formTemplate.placeholder ?? 0\"\n [disabled]=\"disabled\"\n [formControl]=\"ngControl.control\"\n [autocomplete]=\"'prevent-template-' + formTemplate.name\"\n [showButtons]=\"true\"\n [step]=\"step ?? 1\"\n [min]=\"min\"\n [max]=\"max\">\n </p-inputNumber>\n\n <span class=\"p-inputgroup-addon\" *ngIf=\"!disabled\">\n <i class=\"fa\"\n [class.fa-check]=\"formTemplate.required && (ngControl.control.valid || !ngControl.control.dirty)\"\n [class.fa-exclamation-triangle]=\"ngControl.control.dirty && ngControl.control.invalid\"\n [class.onshore-color-gray-3]=\"!ngControl.control.dirty\"\n [class.onshore-color-success]=\"ngControl.control.dirty && ngControl.control.valid\"\n [class.onshore-color-danger]=\"ngControl.control.dirty && ngControl.control.invalid\">\n </i>\n </span>\n\n <span *ngIf=\"formTemplate.type == OnshoreFormTemplateType.password\"\n (click)=\"passwordVisible = !passwordVisible\"\n class=\"p-inputgroup-addon cursor-pointer\">\n <i class=\"fa\"\n [class.fa-eye-slash]=\"passwordVisible\"\n [class.fa-eye]=\"!passwordVisible\"\n ></i>\n </span>\n\n </span>\n</onshore-form-item-container>\n" }]
446
462
  }], ctorParameters: function () {
447
463
  return [{ type: i1.NgControl, decorators: [{
448
464
  type: Self