survey-angular-ui 1.11.5 → 1.11.6

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.
@@ -11,7 +11,7 @@ export class ActionBarItemComponent extends BaseAngular {
11
11
  }
12
12
  }
13
13
  ActionBarItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ActionBarItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
14
- ActionBarItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ActionBarItemComponent, selector: "sv-action-bar-item", inputs: { model: "model" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <button type=\"button\" (click)=\"model.action(model, model.getIsTrusted($event))\" [key2click]=\"{ processEsc: false, disableTabStop: model.disableTabStop }\" [class]=\"model.getActionBarItemCss()\" [attr.title]=\"model.tooltip || model.title\" [attr.aria-checked]=\"model.ariaChecked\" [attr.aria-expanded]=\"model.ariaExpanded\" [attr.role]=\"model.ariaRole\" [disabled]=\"model.disabled\">\n <svg *ngIf=\"model.iconName\" [iconName]=\"model.iconName\" [size]=\"model.iconSize\" [title]=\"model.tooltip || model.title\" [class]=\"model.cssClasses.itemIcon\" sv-ng-svg-icon></svg>\n <span *ngIf=\"model.hasTitle\" [class]=\"model.getActionBarItemTitleCss()\">{{ model.title }}</span>\n </button>\n<ng-template>", styles: [":host{display:none}\n"], components: [{ type: i1.SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }], directives: [{ type: i2.Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
14
+ ActionBarItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ActionBarItemComponent, selector: "sv-action-bar-item", inputs: { model: "model" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <button type=\"button\" (click)=\"model.doAction($event)\" (mousedown)=\"model.doMouseDown()\" (focus)=\"model.doFocus($event)\" [key2click]=\"{ processEsc: false, disableTabStop: model.disableTabStop }\" [class]=\"model.getActionBarItemCss()\" [attr.title]=\"model.tooltip || model.title\" [attr.aria-checked]=\"model.ariaChecked\" [attr.aria-expanded]=\"model.ariaExpanded\" [attr.role]=\"model.ariaRole\" [disabled]=\"model.disabled\">\n <svg *ngIf=\"model.iconName\" [iconName]=\"model.iconName\" [size]=\"model.iconSize\" [title]=\"model.tooltip || model.title\" [class]=\"model.cssClasses.itemIcon\" sv-ng-svg-icon></svg>\n <span *ngIf=\"model.hasTitle\" [class]=\"model.getActionBarItemTitleCss()\">{{ model.title }}</span>\n </button>\n<ng-template>", styles: [":host{display:none}\n"], components: [{ type: i1.SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }], directives: [{ type: i2.Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
15
15
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ActionBarItemComponent, decorators: [{
16
16
  type: Component,
17
17
  args: [{
@@ -23,4 +23,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
23
23
  type: Input
24
24
  }] } });
25
25
  AngularComponentFactory.Instance.registerComponent("sv-action-bar-item", ActionBarItemComponent);
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWJhci1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2FjdGlvbi1iYXIvYWN0aW9uLWJhci1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2FjdGlvbi1iYXIvYWN0aW9uLWJhci1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7QUFPbEUsTUFBTSxPQUFPLHNCQUF1QixTQUFRLFdBQVc7SUFHckQsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDOztvSEFMVSxzQkFBc0I7d0dBQXRCLHNCQUFzQiw2R0NUbkMsNHVCQUthOzRGRElBLHNCQUFzQjtrQkFMbEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixXQUFXLEVBQUUsa0NBQWtDO29CQUMvQyxTQUFTLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztpQkFDcEM7OEJBRVUsS0FBSztzQkFBYixLQUFLOztBQU9SLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxvQkFBb0IsRUFBRSxzQkFBc0IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBCYXNlQW5ndWxhciB9IGZyb20gXCIuLi8uLi9iYXNlLWFuZ3VsYXJcIjtcbmltcG9ydCB7IEFuZ3VsYXJDb21wb25lbnRGYWN0b3J5IH0gZnJvbSBcIi4uLy4uL2NvbXBvbmVudC1mYWN0b3J5XCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJzdi1hY3Rpb24tYmFyLWl0ZW1cIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9hY3Rpb24tYmFyLWl0ZW0uY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbXCIuLi8uLi9oaWRlLWhvc3Quc2Nzc1wiXVxufSlcbmV4cG9ydCBjbGFzcyBBY3Rpb25CYXJJdGVtQ29tcG9uZW50IGV4dGVuZHMgQmFzZUFuZ3VsYXIge1xuICBASW5wdXQoKSBtb2RlbDogYW55O1xuXG4gIGdldE1vZGVsKCkge1xuICAgIHJldHVybiB0aGlzLm1vZGVsO1xuICB9XG59XG5cbkFuZ3VsYXJDb21wb25lbnRGYWN0b3J5Lkluc3RhbmNlLnJlZ2lzdGVyQ29tcG9uZW50KFwic3YtYWN0aW9uLWJhci1pdGVtXCIsIEFjdGlvbkJhckl0ZW1Db21wb25lbnQpOyIsIjxuZy10ZW1wbGF0ZSAjdGVtcGxhdGU+XG4gIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJtb2RlbC5hY3Rpb24obW9kZWwsIG1vZGVsLmdldElzVHJ1c3RlZCgkZXZlbnQpKVwiIFtrZXkyY2xpY2tdPVwieyBwcm9jZXNzRXNjOiBmYWxzZSwgZGlzYWJsZVRhYlN0b3A6IG1vZGVsLmRpc2FibGVUYWJTdG9wIH1cIiBbY2xhc3NdPVwibW9kZWwuZ2V0QWN0aW9uQmFySXRlbUNzcygpXCIgW2F0dHIudGl0bGVdPVwibW9kZWwudG9vbHRpcCB8fCBtb2RlbC50aXRsZVwiIFthdHRyLmFyaWEtY2hlY2tlZF09XCJtb2RlbC5hcmlhQ2hlY2tlZFwiIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwibW9kZWwuYXJpYUV4cGFuZGVkXCIgW2F0dHIucm9sZV09XCJtb2RlbC5hcmlhUm9sZVwiIFtkaXNhYmxlZF09XCJtb2RlbC5kaXNhYmxlZFwiPlxuICAgIDxzdmcgKm5nSWY9XCJtb2RlbC5pY29uTmFtZVwiIFtpY29uTmFtZV09XCJtb2RlbC5pY29uTmFtZVwiIFtzaXplXT1cIm1vZGVsLmljb25TaXplXCIgW3RpdGxlXT1cIm1vZGVsLnRvb2x0aXAgfHwgbW9kZWwudGl0bGVcIiBbY2xhc3NdPVwibW9kZWwuY3NzQ2xhc3Nlcy5pdGVtSWNvblwiIHN2LW5nLXN2Zy1pY29uPjwvc3ZnPlxuICAgIDxzcGFuICpuZ0lmPVwibW9kZWwuaGFzVGl0bGVcIiBbY2xhc3NdPVwibW9kZWwuZ2V0QWN0aW9uQmFySXRlbVRpdGxlQ3NzKClcIj57eyBtb2RlbC50aXRsZSB9fTwvc3Bhbj5cbiAgPC9idXR0b24+XG48bmctdGVtcGxhdGU+Il19
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWJhci1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2FjdGlvbi1iYXIvYWN0aW9uLWJhci1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2FjdGlvbi1iYXIvYWN0aW9uLWJhci1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7QUFPbEUsTUFBTSxPQUFPLHNCQUF1QixTQUFRLFdBQVc7SUFHckQsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDOztvSEFMVSxzQkFBc0I7d0dBQXRCLHNCQUFzQiw2R0NUbkMseXhCQUthOzRGRElBLHNCQUFzQjtrQkFMbEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixXQUFXLEVBQUUsa0NBQWtDO29CQUMvQyxTQUFTLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztpQkFDcEM7OEJBRVUsS0FBSztzQkFBYixLQUFLOztBQU9SLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxvQkFBb0IsRUFBRSxzQkFBc0IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBCYXNlQW5ndWxhciB9IGZyb20gXCIuLi8uLi9iYXNlLWFuZ3VsYXJcIjtcbmltcG9ydCB7IEFuZ3VsYXJDb21wb25lbnRGYWN0b3J5IH0gZnJvbSBcIi4uLy4uL2NvbXBvbmVudC1mYWN0b3J5XCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJzdi1hY3Rpb24tYmFyLWl0ZW1cIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9hY3Rpb24tYmFyLWl0ZW0uY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbXCIuLi8uLi9oaWRlLWhvc3Quc2Nzc1wiXVxufSlcbmV4cG9ydCBjbGFzcyBBY3Rpb25CYXJJdGVtQ29tcG9uZW50IGV4dGVuZHMgQmFzZUFuZ3VsYXIge1xuICBASW5wdXQoKSBtb2RlbDogYW55O1xuXG4gIGdldE1vZGVsKCkge1xuICAgIHJldHVybiB0aGlzLm1vZGVsO1xuICB9XG59XG5cbkFuZ3VsYXJDb21wb25lbnRGYWN0b3J5Lkluc3RhbmNlLnJlZ2lzdGVyQ29tcG9uZW50KFwic3YtYWN0aW9uLWJhci1pdGVtXCIsIEFjdGlvbkJhckl0ZW1Db21wb25lbnQpOyIsIjxuZy10ZW1wbGF0ZSAjdGVtcGxhdGU+XG4gIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJtb2RlbC5kb0FjdGlvbigkZXZlbnQpXCIgKG1vdXNlZG93bik9XCJtb2RlbC5kb01vdXNlRG93bigpXCIgKGZvY3VzKT1cIm1vZGVsLmRvRm9jdXMoJGV2ZW50KVwiIFtrZXkyY2xpY2tdPVwieyBwcm9jZXNzRXNjOiBmYWxzZSwgZGlzYWJsZVRhYlN0b3A6IG1vZGVsLmRpc2FibGVUYWJTdG9wIH1cIiBbY2xhc3NdPVwibW9kZWwuZ2V0QWN0aW9uQmFySXRlbUNzcygpXCIgW2F0dHIudGl0bGVdPVwibW9kZWwudG9vbHRpcCB8fCBtb2RlbC50aXRsZVwiIFthdHRyLmFyaWEtY2hlY2tlZF09XCJtb2RlbC5hcmlhQ2hlY2tlZFwiIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwibW9kZWwuYXJpYUV4cGFuZGVkXCIgW2F0dHIucm9sZV09XCJtb2RlbC5hcmlhUm9sZVwiIFtkaXNhYmxlZF09XCJtb2RlbC5kaXNhYmxlZFwiPlxuICAgIDxzdmcgKm5nSWY9XCJtb2RlbC5pY29uTmFtZVwiIFtpY29uTmFtZV09XCJtb2RlbC5pY29uTmFtZVwiIFtzaXplXT1cIm1vZGVsLmljb25TaXplXCIgW3RpdGxlXT1cIm1vZGVsLnRvb2x0aXAgfHwgbW9kZWwudGl0bGVcIiBbY2xhc3NdPVwibW9kZWwuY3NzQ2xhc3Nlcy5pdGVtSWNvblwiIHN2LW5nLXN2Zy1pY29uPjwvc3ZnPlxuICAgIDxzcGFuICpuZ0lmPVwibW9kZWwuaGFzVGl0bGVcIiBbY2xhc3NdPVwibW9kZWwuZ2V0QWN0aW9uQmFySXRlbVRpdGxlQ3NzKClcIj57eyBtb2RlbC50aXRsZSB9fTwvc3Bhbj5cbiAgPC9idXR0b24+XG48bmctdGVtcGxhdGU+Il19
@@ -1,5 +1,6 @@
1
- import { Component } from "@angular/core";
1
+ import { Component, ViewChild } from "@angular/core";
2
2
  import { QuestionAngular } from "../question";
3
+ import { Helpers } from "survey-core";
3
4
  import { AngularComponentFactory } from "../component-factory";
4
5
  import * as i0 from "@angular/core";
5
6
  import * as i1 from "../components/character-counter/character-counter.component";
@@ -10,9 +11,22 @@ export class TextQuestionComponent extends QuestionAngular {
10
11
  var _a;
11
12
  return (_a = this.model.inputValue) !== null && _a !== void 0 ? _a : "";
12
13
  }
14
+ blur(event) {
15
+ this.model.onBlur(event);
16
+ this.updateInputDomElement();
17
+ }
18
+ updateInputDomElement() {
19
+ var _a;
20
+ if (!!((_a = this.inputElementRef) === null || _a === void 0 ? void 0 : _a.nativeElement)) {
21
+ const control = this.inputElementRef.nativeElement;
22
+ if (!Helpers.isTwoValueEquals(this.value, control.value, false, true, false)) {
23
+ control.value = this.value;
24
+ }
25
+ }
26
+ }
13
27
  }
14
28
  TextQuestionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TextQuestionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
15
- TextQuestionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TextQuestionComponent, selector: "sv-ng-text-question", usesInheritance: true, ngImport: i0, template: " <ng-container [ngTemplateOutlet]=\"input\" *ngIf=\"!model.dataListId && !model.isReadOnlyRenderDiv()\"></ng-container>\n <div *ngIf=\"model.dataListId && !model.isReadOnlyRenderDiv()\">\n <ng-container [ngTemplateOutlet]=\"input\"></ng-container>\n <datalist [id]=\"model.dataListId\">\n <option *ngFor=\"let dataListItem of model.dataList\" [value]=\"dataListItem\"></option>\n </datalist>\n </div>\n <div *ngIf=\"model.isReadOnlyRenderDiv()\" #contentElement>{{ value }}</div>\n <ng-template #input>\n <input [style]=\"model.inputStyle\" [class]=\"model.getControlClass()\" [attr.list]=\"model.dataListId\"\n (change)=\"model.onChange($event)\" [value]=\"value\" [disabled]=\"model.isDisabledAttr\" [type]=\"model.inputType\" [id]=\"model.inputId\" [attr.placeholder]=\"model.renderedPlaceholder || ''\"\n (keyup)=\"model.onKeyUp($event)\" (keydown)=\"model.onKeyDown($event)\" (blur)=\"model.onBlur($event)\" (focus)=\"model.onFocus($event)\" (compositionupdate)=\"model.onCompositionUpdate($event)\" \n [attr.size] = \"model.renderedInputSize\" [attr.maxlength]= \"model.getMaxLength()\" [attr.min]=\"model.renderedMin\" [readonly]=\"model.isReadOnlyAttr\"\n [attr.max]=\"model.renderedMax\" [attr.step]=\"model.renderedStep\" [attr.max]=\"model.renderedMax\" [attr.aria-required]=\"model.a11y_input_ariaRequired\"\n [attr.aria-label]=\"model.a11y_input_ariaLabel\" [attr.aria-labelledby]=\"model.a11y_input_ariaLabelledBy\" [attr.aria-describedby]=\"model.a11y_input_ariaDescribedBy\"[attr.aria-invalid]=\"model.a11y_input_ariaInvalid\" [attr.aria-errormessage]=\"model.a11y_input_ariaErrormessage\" [attr.autocomplete]=\"model.autocomplete\" #contentElement/>\n <sv-ng-character-counter *ngIf=\"model.getMaxLength()\" \n [counter]=\"model.characterCounter\"\n [remainingCharacterCounter]=\"model.cssClasses.remainingCharacterCounter\">\n </sv-ng-character-counter>\n </ng-template>", styles: [""], components: [{ type: i1.CharacterCounterComponent, selector: "sv-ng-character-counter", inputs: ["counter", "remainingCharacterCounter"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i3.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }] });
29
+ TextQuestionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TextQuestionComponent, selector: "sv-ng-text-question", viewQueries: [{ propertyName: "inputElementRef", first: true, predicate: ["inputElement"], descendants: true }], usesInheritance: true, ngImport: i0, template: " <ng-container [ngTemplateOutlet]=\"input\" *ngIf=\"!model.dataListId && !model.isReadOnlyRenderDiv()\"></ng-container>\n <div *ngIf=\"model.dataListId && !model.isReadOnlyRenderDiv()\">\n <ng-container [ngTemplateOutlet]=\"input\"></ng-container>\n <datalist [id]=\"model.dataListId\">\n <option *ngFor=\"let dataListItem of model.dataList\" [value]=\"dataListItem\"></option>\n </datalist>\n </div>\n <div *ngIf=\"model.isReadOnlyRenderDiv()\" #contentElement>{{ value }}</div>\n <ng-template #input>\n <input #inputElement [style]=\"model.inputStyle\" [class]=\"model.getControlClass()\" [attr.list]=\"model.dataListId\"\n (change)=\"model.onChange($event)\" [value]=\"value\" [disabled]=\"model.isDisabledAttr\" [type]=\"model.inputType\" [id]=\"model.inputId\" [attr.placeholder]=\"model.renderedPlaceholder || ''\"\n (keyup)=\"model.onKeyUp($event)\" (keydown)=\"model.onKeyDown($event)\" (blur)=\"blur($event)\" (focus)=\"model.onFocus($event)\" (compositionupdate)=\"model.onCompositionUpdate($event)\" \n [attr.size] = \"model.renderedInputSize\" [attr.maxlength]= \"model.getMaxLength()\" [attr.min]=\"model.renderedMin\" [readonly]=\"model.isReadOnlyAttr\"\n [attr.max]=\"model.renderedMax\" [attr.step]=\"model.renderedStep\" [attr.max]=\"model.renderedMax\" [attr.aria-required]=\"model.a11y_input_ariaRequired\"\n [attr.aria-label]=\"model.a11y_input_ariaLabel\" [attr.aria-labelledby]=\"model.a11y_input_ariaLabelledBy\" [attr.aria-describedby]=\"model.a11y_input_ariaDescribedBy\"[attr.aria-invalid]=\"model.a11y_input_ariaInvalid\" [attr.aria-errormessage]=\"model.a11y_input_ariaErrormessage\" [attr.autocomplete]=\"model.autocomplete\" #contentElement/>\n <sv-ng-character-counter *ngIf=\"model.getMaxLength()\" \n [counter]=\"model.characterCounter\"\n [remainingCharacterCounter]=\"model.cssClasses.remainingCharacterCounter\">\n </sv-ng-character-counter>\n </ng-template>", styles: [""], components: [{ type: i1.CharacterCounterComponent, selector: "sv-ng-character-counter", inputs: ["counter", "remainingCharacterCounter"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i3.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }] });
16
30
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TextQuestionComponent, decorators: [{
17
31
  type: Component,
18
32
  args: [{
@@ -20,6 +34,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
20
34
  templateUrl: "./text.component.html",
21
35
  styleUrls: ["./text.component.scss"]
22
36
  }]
23
- }] });
37
+ }], propDecorators: { inputElementRef: [{
38
+ type: ViewChild,
39
+ args: ["inputElement"]
40
+ }] } });
24
41
  AngularComponentFactory.Instance.registerComponent("text-question", TextQuestionComponent);
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcXVlc3Rpb25zL3RleHQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vc3JjL3F1ZXN0aW9ucy90ZXh0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU5QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7QUFPL0QsTUFBTSxPQUFPLHFCQUFzQixTQUFRLGVBQWtDO0lBQzNFLElBQUksS0FBSzs7UUFDUCxPQUFPLE1BQUEsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLG1DQUFJLEVBQUUsQ0FBQztJQUNyQyxDQUFDOzttSEFIVSxxQkFBcUI7dUdBQXJCLHFCQUFxQixrRkNWbEMsazVEQW1CZ0I7NEZEVEgscUJBQXFCO2tCQUxqQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFdBQVcsRUFBRSx1QkFBdUI7b0JBQ3BDLFNBQVMsRUFBRSxDQUFDLHVCQUF1QixDQUFDO2lCQUNyQzs7QUFPRCx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsZUFBZSxFQUFFLHFCQUFxQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgUXVlc3Rpb25Bbmd1bGFyIH0gZnJvbSBcIi4uL3F1ZXN0aW9uXCI7XG5pbXBvcnQgeyBRdWVzdGlvblRleHRNb2RlbCB9IGZyb20gXCJzdXJ2ZXktY29yZVwiO1xuaW1wb3J0IHsgQW5ndWxhckNvbXBvbmVudEZhY3RvcnkgfSBmcm9tIFwiLi4vY29tcG9uZW50LWZhY3RvcnlcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcInN2LW5nLXRleHQtcXVlc3Rpb25cIixcbiAgdGVtcGxhdGVVcmw6IFwiLi90ZXh0LmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1wiLi90ZXh0LmNvbXBvbmVudC5zY3NzXCJdXG59KVxuZXhwb3J0IGNsYXNzIFRleHRRdWVzdGlvbkNvbXBvbmVudCBleHRlbmRzIFF1ZXN0aW9uQW5ndWxhcjxRdWVzdGlvblRleHRNb2RlbD4ge1xuICBnZXQgdmFsdWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5tb2RlbC5pbnB1dFZhbHVlID8/IFwiXCI7XG4gIH1cbn1cblxuQW5ndWxhckNvbXBvbmVudEZhY3RvcnkuSW5zdGFuY2UucmVnaXN0ZXJDb21wb25lbnQoXCJ0ZXh0LXF1ZXN0aW9uXCIsIFRleHRRdWVzdGlvbkNvbXBvbmVudCk7IiwiICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImlucHV0XCIgKm5nSWY9XCIhbW9kZWwuZGF0YUxpc3RJZCAmJiAhbW9kZWwuaXNSZWFkT25seVJlbmRlckRpdigpXCI+PC9uZy1jb250YWluZXI+XG4gIDxkaXYgKm5nSWY9XCJtb2RlbC5kYXRhTGlzdElkICYmICFtb2RlbC5pc1JlYWRPbmx5UmVuZGVyRGl2KClcIj5cbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImlucHV0XCI+PC9uZy1jb250YWluZXI+XG4gICAgPGRhdGFsaXN0IFtpZF09XCJtb2RlbC5kYXRhTGlzdElkXCI+XG4gICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBkYXRhTGlzdEl0ZW0gb2YgbW9kZWwuZGF0YUxpc3RcIiBbdmFsdWVdPVwiZGF0YUxpc3RJdGVtXCI+PC9vcHRpb24+XG4gICAgPC9kYXRhbGlzdD5cbiAgPC9kaXY+XG4gIDxkaXYgKm5nSWY9XCJtb2RlbC5pc1JlYWRPbmx5UmVuZGVyRGl2KClcIiAjY29udGVudEVsZW1lbnQ+e3sgdmFsdWUgfX08L2Rpdj5cbiAgPG5nLXRlbXBsYXRlICNpbnB1dD5cbiAgICA8aW5wdXQgW3N0eWxlXT1cIm1vZGVsLmlucHV0U3R5bGVcIiBbY2xhc3NdPVwibW9kZWwuZ2V0Q29udHJvbENsYXNzKClcIiBbYXR0ci5saXN0XT1cIm1vZGVsLmRhdGFMaXN0SWRcIlxuICAgIChjaGFuZ2UpPVwibW9kZWwub25DaGFuZ2UoJGV2ZW50KVwiIFt2YWx1ZV09XCJ2YWx1ZVwiIFtkaXNhYmxlZF09XCJtb2RlbC5pc0Rpc2FibGVkQXR0clwiIFt0eXBlXT1cIm1vZGVsLmlucHV0VHlwZVwiIFtpZF09XCJtb2RlbC5pbnB1dElkXCIgW2F0dHIucGxhY2Vob2xkZXJdPVwibW9kZWwucmVuZGVyZWRQbGFjZWhvbGRlciB8fCAnJ1wiXG4gICAgKGtleXVwKT1cIm1vZGVsLm9uS2V5VXAoJGV2ZW50KVwiIChrZXlkb3duKT1cIm1vZGVsLm9uS2V5RG93bigkZXZlbnQpXCIgKGJsdXIpPVwibW9kZWwub25CbHVyKCRldmVudClcIiAoZm9jdXMpPVwibW9kZWwub25Gb2N1cygkZXZlbnQpXCIgKGNvbXBvc2l0aW9udXBkYXRlKT1cIm1vZGVsLm9uQ29tcG9zaXRpb25VcGRhdGUoJGV2ZW50KVwiIFxuICAgIFthdHRyLnNpemVdID0gXCJtb2RlbC5yZW5kZXJlZElucHV0U2l6ZVwiIFthdHRyLm1heGxlbmd0aF09IFwibW9kZWwuZ2V0TWF4TGVuZ3RoKClcIiBbYXR0ci5taW5dPVwibW9kZWwucmVuZGVyZWRNaW5cIiBbcmVhZG9ubHldPVwibW9kZWwuaXNSZWFkT25seUF0dHJcIlxuICAgIFthdHRyLm1heF09XCJtb2RlbC5yZW5kZXJlZE1heFwiIFthdHRyLnN0ZXBdPVwibW9kZWwucmVuZGVyZWRTdGVwXCIgW2F0dHIubWF4XT1cIm1vZGVsLnJlbmRlcmVkTWF4XCIgW2F0dHIuYXJpYS1yZXF1aXJlZF09XCJtb2RlbC5hMTF5X2lucHV0X2FyaWFSZXF1aXJlZFwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbF09XCJtb2RlbC5hMTF5X2lucHV0X2FyaWFMYWJlbFwiIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJtb2RlbC5hMTF5X2lucHV0X2FyaWFMYWJlbGxlZEJ5XCIgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJtb2RlbC5hMTF5X2lucHV0X2FyaWFEZXNjcmliZWRCeVwiW2F0dHIuYXJpYS1pbnZhbGlkXT1cIm1vZGVsLmExMXlfaW5wdXRfYXJpYUludmFsaWRcIiBbYXR0ci5hcmlhLWVycm9ybWVzc2FnZV09XCJtb2RlbC5hMTF5X2lucHV0X2FyaWFFcnJvcm1lc3NhZ2VcIiBbYXR0ci5hdXRvY29tcGxldGVdPVwibW9kZWwuYXV0b2NvbXBsZXRlXCIgI2NvbnRlbnRFbGVtZW50Lz5cbiAgICA8c3YtbmctY2hhcmFjdGVyLWNvdW50ZXIgKm5nSWY9XCJtb2RlbC5nZXRNYXhMZW5ndGgoKVwiIFxuICAgIFtjb3VudGVyXT1cIm1vZGVsLmNoYXJhY3RlckNvdW50ZXJcIlxuICAgIFtyZW1haW5pbmdDaGFyYWN0ZXJDb3VudGVyXT1cIm1vZGVsLmNzc0NsYXNzZXMucmVtYWluaW5nQ2hhcmFjdGVyQ291bnRlclwiPlxuICA8L3N2LW5nLWNoYXJhY3Rlci1jb3VudGVyPlxuICA8L25nLXRlbXBsYXRlPiJdfQ==
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcXVlc3Rpb25zL3RleHQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vc3JjL3F1ZXN0aW9ucy90ZXh0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDOUMsT0FBTyxFQUFFLE9BQU8sRUFBcUIsTUFBTSxhQUFhLENBQUM7QUFDekQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7O0FBTy9ELE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxlQUFrQztJQUczRSxJQUFJLEtBQUs7O1FBQ1AsT0FBTyxNQUFBLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxtQ0FBSSxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVELElBQUksQ0FBQyxLQUFVO1FBQ2IsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVELHFCQUFxQjs7UUFDbkIsSUFBSSxDQUFDLENBQUMsQ0FBQSxNQUFBLElBQUksQ0FBQyxlQUFlLDBDQUFFLGFBQWEsQ0FBQSxFQUFFO1lBQ3pDLE1BQU0sT0FBTyxHQUFRLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDO1lBQ3hELElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLEVBQUU7Z0JBQzVFLE9BQU8sQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQzthQUM1QjtTQUNGO0lBQ0gsQ0FBQzs7bUhBbkJVLHFCQUFxQjt1R0FBckIscUJBQXFCLG1NQ1ZsQyx3NURBbUJnQjs0RkRUSCxxQkFBcUI7a0JBTGpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsV0FBVyxFQUFFLHVCQUF1QjtvQkFDcEMsU0FBUyxFQUFFLENBQUMsdUJBQXVCLENBQUM7aUJBQ3JDOzhCQUU0QixlQUFlO3NCQUF6QyxTQUFTO3VCQUFDLGNBQWM7O0FBcUIzQix1QkFBdUIsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsZUFBZSxFQUFFLHFCQUFxQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIFZpZXdDaGlsZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBRdWVzdGlvbkFuZ3VsYXIgfSBmcm9tIFwiLi4vcXVlc3Rpb25cIjtcbmltcG9ydCB7IEhlbHBlcnMsIFF1ZXN0aW9uVGV4dE1vZGVsIH0gZnJvbSBcInN1cnZleS1jb3JlXCI7XG5pbXBvcnQgeyBBbmd1bGFyQ29tcG9uZW50RmFjdG9yeSB9IGZyb20gXCIuLi9jb21wb25lbnQtZmFjdG9yeVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwic3YtbmctdGV4dC1xdWVzdGlvblwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL3RleHQuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbXCIuL3RleHQuY29tcG9uZW50LnNjc3NcIl1cbn0pXG5leHBvcnQgY2xhc3MgVGV4dFF1ZXN0aW9uQ29tcG9uZW50IGV4dGVuZHMgUXVlc3Rpb25Bbmd1bGFyPFF1ZXN0aW9uVGV4dE1vZGVsPiB7XG4gIEBWaWV3Q2hpbGQoXCJpbnB1dEVsZW1lbnRcIikgaW5wdXRFbGVtZW50UmVmITogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG5cbiAgZ2V0IHZhbHVlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMubW9kZWwuaW5wdXRWYWx1ZSA/PyBcIlwiO1xuICB9XG5cbiAgYmx1cihldmVudDogYW55KTogdm9pZCB7XG4gICAgdGhpcy5tb2RlbC5vbkJsdXIoZXZlbnQpO1xuICAgIHRoaXMudXBkYXRlSW5wdXREb21FbGVtZW50KCk7XG4gIH1cblxuICB1cGRhdGVJbnB1dERvbUVsZW1lbnQoKTogdm9pZCB7XG4gICAgaWYgKCEhdGhpcy5pbnB1dEVsZW1lbnRSZWY/Lm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgIGNvbnN0IGNvbnRyb2w6IGFueSA9IHRoaXMuaW5wdXRFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICBpZiAoIUhlbHBlcnMuaXNUd29WYWx1ZUVxdWFscyh0aGlzLnZhbHVlLCBjb250cm9sLnZhbHVlLCBmYWxzZSwgdHJ1ZSwgZmFsc2UpKSB7XG4gICAgICAgIGNvbnRyb2wudmFsdWUgPSB0aGlzLnZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5Bbmd1bGFyQ29tcG9uZW50RmFjdG9yeS5JbnN0YW5jZS5yZWdpc3RlckNvbXBvbmVudChcInRleHQtcXVlc3Rpb25cIiwgVGV4dFF1ZXN0aW9uQ29tcG9uZW50KTsiLCIgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiaW5wdXRcIiAqbmdJZj1cIiFtb2RlbC5kYXRhTGlzdElkICYmICFtb2RlbC5pc1JlYWRPbmx5UmVuZGVyRGl2KClcIj48L25nLWNvbnRhaW5lcj5cbiAgPGRpdiAqbmdJZj1cIm1vZGVsLmRhdGFMaXN0SWQgJiYgIW1vZGVsLmlzUmVhZE9ubHlSZW5kZXJEaXYoKVwiPlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiaW5wdXRcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8ZGF0YWxpc3QgW2lkXT1cIm1vZGVsLmRhdGFMaXN0SWRcIj5cbiAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IGRhdGFMaXN0SXRlbSBvZiBtb2RlbC5kYXRhTGlzdFwiIFt2YWx1ZV09XCJkYXRhTGlzdEl0ZW1cIj48L29wdGlvbj5cbiAgICA8L2RhdGFsaXN0PlxuICA8L2Rpdj5cbiAgPGRpdiAqbmdJZj1cIm1vZGVsLmlzUmVhZE9ubHlSZW5kZXJEaXYoKVwiICNjb250ZW50RWxlbWVudD57eyB2YWx1ZSB9fTwvZGl2PlxuICA8bmctdGVtcGxhdGUgI2lucHV0PlxuICAgIDxpbnB1dCAjaW5wdXRFbGVtZW50IFtzdHlsZV09XCJtb2RlbC5pbnB1dFN0eWxlXCIgW2NsYXNzXT1cIm1vZGVsLmdldENvbnRyb2xDbGFzcygpXCIgW2F0dHIubGlzdF09XCJtb2RlbC5kYXRhTGlzdElkXCJcbiAgICAoY2hhbmdlKT1cIm1vZGVsLm9uQ2hhbmdlKCRldmVudClcIiBbdmFsdWVdPVwidmFsdWVcIiBbZGlzYWJsZWRdPVwibW9kZWwuaXNEaXNhYmxlZEF0dHJcIiBbdHlwZV09XCJtb2RlbC5pbnB1dFR5cGVcIiBbaWRdPVwibW9kZWwuaW5wdXRJZFwiIFthdHRyLnBsYWNlaG9sZGVyXT1cIm1vZGVsLnJlbmRlcmVkUGxhY2Vob2xkZXIgfHwgJydcIlxuICAgIChrZXl1cCk9XCJtb2RlbC5vbktleVVwKCRldmVudClcIiAoa2V5ZG93bik9XCJtb2RlbC5vbktleURvd24oJGV2ZW50KVwiIChibHVyKT1cImJsdXIoJGV2ZW50KVwiIChmb2N1cyk9XCJtb2RlbC5vbkZvY3VzKCRldmVudClcIiAoY29tcG9zaXRpb251cGRhdGUpPVwibW9kZWwub25Db21wb3NpdGlvblVwZGF0ZSgkZXZlbnQpXCIgXG4gICAgW2F0dHIuc2l6ZV0gPSBcIm1vZGVsLnJlbmRlcmVkSW5wdXRTaXplXCIgW2F0dHIubWF4bGVuZ3RoXT0gXCJtb2RlbC5nZXRNYXhMZW5ndGgoKVwiIFthdHRyLm1pbl09XCJtb2RlbC5yZW5kZXJlZE1pblwiIFtyZWFkb25seV09XCJtb2RlbC5pc1JlYWRPbmx5QXR0clwiXG4gICAgW2F0dHIubWF4XT1cIm1vZGVsLnJlbmRlcmVkTWF4XCIgW2F0dHIuc3RlcF09XCJtb2RlbC5yZW5kZXJlZFN0ZXBcIiBbYXR0ci5tYXhdPVwibW9kZWwucmVuZGVyZWRNYXhcIiBbYXR0ci5hcmlhLXJlcXVpcmVkXT1cIm1vZGVsLmExMXlfaW5wdXRfYXJpYVJlcXVpcmVkXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIm1vZGVsLmExMXlfaW5wdXRfYXJpYUxhYmVsXCIgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cIm1vZGVsLmExMXlfaW5wdXRfYXJpYUxhYmVsbGVkQnlcIiBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cIm1vZGVsLmExMXlfaW5wdXRfYXJpYURlc2NyaWJlZEJ5XCJbYXR0ci5hcmlhLWludmFsaWRdPVwibW9kZWwuYTExeV9pbnB1dF9hcmlhSW52YWxpZFwiIFthdHRyLmFyaWEtZXJyb3JtZXNzYWdlXT1cIm1vZGVsLmExMXlfaW5wdXRfYXJpYUVycm9ybWVzc2FnZVwiIFthdHRyLmF1dG9jb21wbGV0ZV09XCJtb2RlbC5hdXRvY29tcGxldGVcIiAjY29udGVudEVsZW1lbnQvPlxuICAgIDxzdi1uZy1jaGFyYWN0ZXItY291bnRlciAqbmdJZj1cIm1vZGVsLmdldE1heExlbmd0aCgpXCIgXG4gICAgW2NvdW50ZXJdPVwibW9kZWwuY2hhcmFjdGVyQ291bnRlclwiXG4gICAgW3JlbWFpbmluZ0NoYXJhY3RlckNvdW50ZXJdPVwibW9kZWwuY3NzQ2xhc3Nlcy5yZW1haW5pbmdDaGFyYWN0ZXJDb3VudGVyXCI+XG4gIDwvc3YtbmctY2hhcmFjdGVyLWNvdW50ZXI+XG4gIDwvbmctdGVtcGxhdGU+Il19
@@ -1636,9 +1636,22 @@ class TextQuestionComponent extends QuestionAngular {
1636
1636
  var _a;
1637
1637
  return (_a = this.model.inputValue) !== null && _a !== void 0 ? _a : "";
1638
1638
  }
1639
+ blur(event) {
1640
+ this.model.onBlur(event);
1641
+ this.updateInputDomElement();
1642
+ }
1643
+ updateInputDomElement() {
1644
+ var _a;
1645
+ if (!!((_a = this.inputElementRef) === null || _a === void 0 ? void 0 : _a.nativeElement)) {
1646
+ const control = this.inputElementRef.nativeElement;
1647
+ if (!Helpers.isTwoValueEquals(this.value, control.value, false, true, false)) {
1648
+ control.value = this.value;
1649
+ }
1650
+ }
1651
+ }
1639
1652
  }
1640
1653
  TextQuestionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TextQuestionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1641
- TextQuestionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TextQuestionComponent, selector: "sv-ng-text-question", usesInheritance: true, ngImport: i0, template: " <ng-container [ngTemplateOutlet]=\"input\" *ngIf=\"!model.dataListId && !model.isReadOnlyRenderDiv()\"></ng-container>\n <div *ngIf=\"model.dataListId && !model.isReadOnlyRenderDiv()\">\n <ng-container [ngTemplateOutlet]=\"input\"></ng-container>\n <datalist [id]=\"model.dataListId\">\n <option *ngFor=\"let dataListItem of model.dataList\" [value]=\"dataListItem\"></option>\n </datalist>\n </div>\n <div *ngIf=\"model.isReadOnlyRenderDiv()\" #contentElement>{{ value }}</div>\n <ng-template #input>\n <input [style]=\"model.inputStyle\" [class]=\"model.getControlClass()\" [attr.list]=\"model.dataListId\"\n (change)=\"model.onChange($event)\" [value]=\"value\" [disabled]=\"model.isDisabledAttr\" [type]=\"model.inputType\" [id]=\"model.inputId\" [attr.placeholder]=\"model.renderedPlaceholder || ''\"\n (keyup)=\"model.onKeyUp($event)\" (keydown)=\"model.onKeyDown($event)\" (blur)=\"model.onBlur($event)\" (focus)=\"model.onFocus($event)\" (compositionupdate)=\"model.onCompositionUpdate($event)\" \n [attr.size] = \"model.renderedInputSize\" [attr.maxlength]= \"model.getMaxLength()\" [attr.min]=\"model.renderedMin\" [readonly]=\"model.isReadOnlyAttr\"\n [attr.max]=\"model.renderedMax\" [attr.step]=\"model.renderedStep\" [attr.max]=\"model.renderedMax\" [attr.aria-required]=\"model.a11y_input_ariaRequired\"\n [attr.aria-label]=\"model.a11y_input_ariaLabel\" [attr.aria-labelledby]=\"model.a11y_input_ariaLabelledBy\" [attr.aria-describedby]=\"model.a11y_input_ariaDescribedBy\"[attr.aria-invalid]=\"model.a11y_input_ariaInvalid\" [attr.aria-errormessage]=\"model.a11y_input_ariaErrormessage\" [attr.autocomplete]=\"model.autocomplete\" #contentElement/>\n <sv-ng-character-counter *ngIf=\"model.getMaxLength()\" \n [counter]=\"model.characterCounter\"\n [remainingCharacterCounter]=\"model.cssClasses.remainingCharacterCounter\">\n </sv-ng-character-counter>\n </ng-template>", styles: [""], components: [{ type: CharacterCounterComponent, selector: "sv-ng-character-counter", inputs: ["counter", "remainingCharacterCounter"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2$1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i2$1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }] });
1654
+ TextQuestionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TextQuestionComponent, selector: "sv-ng-text-question", viewQueries: [{ propertyName: "inputElementRef", first: true, predicate: ["inputElement"], descendants: true }], usesInheritance: true, ngImport: i0, template: " <ng-container [ngTemplateOutlet]=\"input\" *ngIf=\"!model.dataListId && !model.isReadOnlyRenderDiv()\"></ng-container>\n <div *ngIf=\"model.dataListId && !model.isReadOnlyRenderDiv()\">\n <ng-container [ngTemplateOutlet]=\"input\"></ng-container>\n <datalist [id]=\"model.dataListId\">\n <option *ngFor=\"let dataListItem of model.dataList\" [value]=\"dataListItem\"></option>\n </datalist>\n </div>\n <div *ngIf=\"model.isReadOnlyRenderDiv()\" #contentElement>{{ value }}</div>\n <ng-template #input>\n <input #inputElement [style]=\"model.inputStyle\" [class]=\"model.getControlClass()\" [attr.list]=\"model.dataListId\"\n (change)=\"model.onChange($event)\" [value]=\"value\" [disabled]=\"model.isDisabledAttr\" [type]=\"model.inputType\" [id]=\"model.inputId\" [attr.placeholder]=\"model.renderedPlaceholder || ''\"\n (keyup)=\"model.onKeyUp($event)\" (keydown)=\"model.onKeyDown($event)\" (blur)=\"blur($event)\" (focus)=\"model.onFocus($event)\" (compositionupdate)=\"model.onCompositionUpdate($event)\" \n [attr.size] = \"model.renderedInputSize\" [attr.maxlength]= \"model.getMaxLength()\" [attr.min]=\"model.renderedMin\" [readonly]=\"model.isReadOnlyAttr\"\n [attr.max]=\"model.renderedMax\" [attr.step]=\"model.renderedStep\" [attr.max]=\"model.renderedMax\" [attr.aria-required]=\"model.a11y_input_ariaRequired\"\n [attr.aria-label]=\"model.a11y_input_ariaLabel\" [attr.aria-labelledby]=\"model.a11y_input_ariaLabelledBy\" [attr.aria-describedby]=\"model.a11y_input_ariaDescribedBy\"[attr.aria-invalid]=\"model.a11y_input_ariaInvalid\" [attr.aria-errormessage]=\"model.a11y_input_ariaErrormessage\" [attr.autocomplete]=\"model.autocomplete\" #contentElement/>\n <sv-ng-character-counter *ngIf=\"model.getMaxLength()\" \n [counter]=\"model.characterCounter\"\n [remainingCharacterCounter]=\"model.cssClasses.remainingCharacterCounter\">\n </sv-ng-character-counter>\n </ng-template>", styles: [""], components: [{ type: CharacterCounterComponent, selector: "sv-ng-character-counter", inputs: ["counter", "remainingCharacterCounter"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2$1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i2$1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }] });
1642
1655
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TextQuestionComponent, decorators: [{
1643
1656
  type: Component,
1644
1657
  args: [{
@@ -1646,7 +1659,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
1646
1659
  templateUrl: "./text.component.html",
1647
1660
  styleUrls: ["./text.component.scss"]
1648
1661
  }]
1649
- }] });
1662
+ }], propDecorators: { inputElementRef: [{
1663
+ type: ViewChild,
1664
+ args: ["inputElement"]
1665
+ }] } });
1650
1666
  AngularComponentFactory.Instance.registerComponent("text-question", TextQuestionComponent);
1651
1667
 
1652
1668
  class HtmlQuestionComponent extends QuestionAngular {
@@ -2064,7 +2080,7 @@ class ActionBarItemComponent extends BaseAngular {
2064
2080
  }
2065
2081
  }
2066
2082
  ActionBarItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ActionBarItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
2067
- ActionBarItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ActionBarItemComponent, selector: "sv-action-bar-item", inputs: { model: "model" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <button type=\"button\" (click)=\"model.action(model, model.getIsTrusted($event))\" [key2click]=\"{ processEsc: false, disableTabStop: model.disableTabStop }\" [class]=\"model.getActionBarItemCss()\" [attr.title]=\"model.tooltip || model.title\" [attr.aria-checked]=\"model.ariaChecked\" [attr.aria-expanded]=\"model.ariaExpanded\" [attr.role]=\"model.ariaRole\" [disabled]=\"model.disabled\">\n <svg *ngIf=\"model.iconName\" [iconName]=\"model.iconName\" [size]=\"model.iconSize\" [title]=\"model.tooltip || model.title\" [class]=\"model.cssClasses.itemIcon\" sv-ng-svg-icon></svg>\n <span *ngIf=\"model.hasTitle\" [class]=\"model.getActionBarItemTitleCss()\">{{ model.title }}</span>\n </button>\n<ng-template>", styles: [":host{display:none}\n"], components: [{ type: SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }], directives: [{ type: Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
2083
+ ActionBarItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ActionBarItemComponent, selector: "sv-action-bar-item", inputs: { model: "model" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <button type=\"button\" (click)=\"model.doAction($event)\" (mousedown)=\"model.doMouseDown()\" (focus)=\"model.doFocus($event)\" [key2click]=\"{ processEsc: false, disableTabStop: model.disableTabStop }\" [class]=\"model.getActionBarItemCss()\" [attr.title]=\"model.tooltip || model.title\" [attr.aria-checked]=\"model.ariaChecked\" [attr.aria-expanded]=\"model.ariaExpanded\" [attr.role]=\"model.ariaRole\" [disabled]=\"model.disabled\">\n <svg *ngIf=\"model.iconName\" [iconName]=\"model.iconName\" [size]=\"model.iconSize\" [title]=\"model.tooltip || model.title\" [class]=\"model.cssClasses.itemIcon\" sv-ng-svg-icon></svg>\n <span *ngIf=\"model.hasTitle\" [class]=\"model.getActionBarItemTitleCss()\">{{ model.title }}</span>\n </button>\n<ng-template>", styles: [":host{display:none}\n"], components: [{ type: SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }], directives: [{ type: Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
2068
2084
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ActionBarItemComponent, decorators: [{
2069
2085
  type: Component,
2070
2086
  args: [{