survey-angular-ui 1.9.50 → 1.9.51

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,11 +11,11 @@ export class SurveyCommentComponent {
11
11
  }
12
12
  }
13
13
  SurveyCommentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: SurveyCommentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
14
- SurveyCommentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: SurveyCommentComponent, selector: "sv-ng-comment, '[sv-ng-comment]'", inputs: { question: "question" }, ngImport: i0, template: "<textarea *ngIf=\"!question.isReadOnlyRenderDiv()\" [attr.max-length]=\"question.getOthersMaxLength()\" [attr.aria-required]=\"question.ariaRequired\" [attr.aria-label]=\"question.ariaLabel\" [attr.placeholder]=\"question.commentOrOtherPlaceHolder\" \n [value]=\"comment\"\n [style.resize]=\"question.resizeStyle\"\n [disabled]=\"question.isInputReadOnly\"\n (change)=\"question.onCommentChange($event)\"\n (input)=\"question.onCommentInput($event)\"\n [class]=\"question.cssClasses.other\">\n</textarea>\n<div *ngIf=\"question.isReadOnlyRenderDiv()\">{{ question.comment }}</div>\n", directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
14
+ SurveyCommentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: SurveyCommentComponent, selector: "sv-ng-comment, '[sv-ng-comment]'", inputs: { question: "question" }, ngImport: i0, template: "<textarea *ngIf=\"!question.isReadOnlyRenderDiv()\" [attr.max-length]=\"question.getOthersMaxLength()\" [attr.aria-required]=\"question.ariaRequired\" [attr.aria-label]=\"question.ariaLabel\" [attr.placeholder]=\"question.commentOrOtherPlaceholder\" \n [value]=\"comment\"\n [style.resize]=\"question.resizeStyle\"\n [disabled]=\"question.isInputReadOnly\"\n (change)=\"question.onCommentChange($event)\"\n (input)=\"question.onCommentInput($event)\"\n [class]=\"question.cssClasses.other\">\n</textarea>\n<div *ngIf=\"question.isReadOnlyRenderDiv()\">{{ question.comment }}</div>\n", directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
15
15
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: SurveyCommentComponent, decorators: [{
16
16
  type: Component,
17
- args: [{ selector: "sv-ng-comment, '[sv-ng-comment]'", template: "<textarea *ngIf=\"!question.isReadOnlyRenderDiv()\" [attr.max-length]=\"question.getOthersMaxLength()\" [attr.aria-required]=\"question.ariaRequired\" [attr.aria-label]=\"question.ariaLabel\" [attr.placeholder]=\"question.commentOrOtherPlaceHolder\" \n [value]=\"comment\"\n [style.resize]=\"question.resizeStyle\"\n [disabled]=\"question.isInputReadOnly\"\n (change)=\"question.onCommentChange($event)\"\n (input)=\"question.onCommentInput($event)\"\n [class]=\"question.cssClasses.other\">\n</textarea>\n<div *ngIf=\"question.isReadOnlyRenderDiv()\">{{ question.comment }}</div>\n" }]
17
+ args: [{ selector: "sv-ng-comment, '[sv-ng-comment]'", template: "<textarea *ngIf=\"!question.isReadOnlyRenderDiv()\" [attr.max-length]=\"question.getOthersMaxLength()\" [attr.aria-required]=\"question.ariaRequired\" [attr.aria-label]=\"question.ariaLabel\" [attr.placeholder]=\"question.commentOrOtherPlaceholder\" \n [value]=\"comment\"\n [style.resize]=\"question.resizeStyle\"\n [disabled]=\"question.isInputReadOnly\"\n (change)=\"question.onCommentChange($event)\"\n (input)=\"question.onCommentInput($event)\"\n [class]=\"question.cssClasses.other\">\n</textarea>\n<div *ngIf=\"question.isReadOnlyRenderDiv()\">{{ question.comment }}</div>\n" }]
18
18
  }], ctorParameters: function () { return []; }, propDecorators: { question: [{
19
19
  type: Input
20
20
  }] } });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wYWNrYWdlcy9zdXJ2ZXktYW5ndWxhci11aS9zcmMvY29tbWVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi9wYWNrYWdlcy9zdXJ2ZXktYW5ndWxhci11aS9zcmMvY29tbWVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBT2pELE1BQU0sT0FBTyxzQkFBc0I7SUFFakM7SUFDQSxDQUFDO0lBQ0QsSUFBVyxPQUFPO1FBQ2hCLElBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU87WUFBRSxPQUFPLEVBQUUsQ0FBQztRQUNyQyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDO0lBQy9CLENBQUM7O21IQVBVLHNCQUFzQjt1R0FBdEIsc0JBQXNCLDBHQ1BuQywra0JBU0E7MkZERmEsc0JBQXNCO2tCQUpsQyxTQUFTOytCQUNFLGtDQUFrQzswRUFJbkMsUUFBUTtzQkFBaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgUXVlc3Rpb24gfSBmcm9tIFwic3VydmV5LWNvcmVcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcInN2LW5nLWNvbW1lbnQsICdbc3YtbmctY29tbWVudF0nXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vY29tbWVudC5jb21wb25lbnQuaHRtbFwiLFxufSlcbmV4cG9ydCBjbGFzcyBTdXJ2ZXlDb21tZW50Q29tcG9uZW50IHtcbiAgQElucHV0KCkgcXVlc3Rpb24hOiBRdWVzdGlvbjtcbiAgY29uc3RydWN0b3IoKSB7XG4gIH1cbiAgcHVibGljIGdldCBjb21tZW50KCk6IHN0cmluZyB7XG4gICAgaWYoIXRoaXMucXVlc3Rpb24uY29tbWVudCkgcmV0dXJuIFwiXCI7XG4gICAgcmV0dXJuIHRoaXMucXVlc3Rpb24uY29tbWVudDtcbiAgfVxufSIsIjx0ZXh0YXJlYSAqbmdJZj1cIiFxdWVzdGlvbi5pc1JlYWRPbmx5UmVuZGVyRGl2KClcIiBbYXR0ci5tYXgtbGVuZ3RoXT1cInF1ZXN0aW9uLmdldE90aGVyc01heExlbmd0aCgpXCIgIFthdHRyLmFyaWEtcmVxdWlyZWRdPVwicXVlc3Rpb24uYXJpYVJlcXVpcmVkXCIgW2F0dHIuYXJpYS1sYWJlbF09XCJxdWVzdGlvbi5hcmlhTGFiZWxcIiBbYXR0ci5wbGFjZWhvbGRlcl09XCJxdWVzdGlvbi5jb21tZW50T3JPdGhlclBsYWNlSG9sZGVyXCIgXG4gIFt2YWx1ZV09XCJjb21tZW50XCJcbiAgW3N0eWxlLnJlc2l6ZV09XCJxdWVzdGlvbi5yZXNpemVTdHlsZVwiXG4gIFtkaXNhYmxlZF09XCJxdWVzdGlvbi5pc0lucHV0UmVhZE9ubHlcIlxuICAoY2hhbmdlKT1cInF1ZXN0aW9uLm9uQ29tbWVudENoYW5nZSgkZXZlbnQpXCJcbiAgKGlucHV0KT1cInF1ZXN0aW9uLm9uQ29tbWVudElucHV0KCRldmVudClcIlxuICBbY2xhc3NdPVwicXVlc3Rpb24uY3NzQ2xhc3Nlcy5vdGhlclwiPlxuPC90ZXh0YXJlYT5cbjxkaXYgKm5nSWY9XCJxdWVzdGlvbi5pc1JlYWRPbmx5UmVuZGVyRGl2KClcIj57eyBxdWVzdGlvbi5jb21tZW50IH19PC9kaXY+XG4iXX0=
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wYWNrYWdlcy9zdXJ2ZXktYW5ndWxhci11aS9zcmMvY29tbWVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi9wYWNrYWdlcy9zdXJ2ZXktYW5ndWxhci11aS9zcmMvY29tbWVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBT2pELE1BQU0sT0FBTyxzQkFBc0I7SUFFakM7SUFDQSxDQUFDO0lBQ0QsSUFBVyxPQUFPO1FBQ2hCLElBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU87WUFBRSxPQUFPLEVBQUUsQ0FBQztRQUNyQyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDO0lBQy9CLENBQUM7O21IQVBVLHNCQUFzQjt1R0FBdEIsc0JBQXNCLDBHQ1BuQywra0JBU0E7MkZERmEsc0JBQXNCO2tCQUpsQyxTQUFTOytCQUNFLGtDQUFrQzswRUFJbkMsUUFBUTtzQkFBaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgUXVlc3Rpb24gfSBmcm9tIFwic3VydmV5LWNvcmVcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcInN2LW5nLWNvbW1lbnQsICdbc3YtbmctY29tbWVudF0nXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vY29tbWVudC5jb21wb25lbnQuaHRtbFwiLFxufSlcbmV4cG9ydCBjbGFzcyBTdXJ2ZXlDb21tZW50Q29tcG9uZW50IHtcbiAgQElucHV0KCkgcXVlc3Rpb24hOiBRdWVzdGlvbjtcbiAgY29uc3RydWN0b3IoKSB7XG4gIH1cbiAgcHVibGljIGdldCBjb21tZW50KCk6IHN0cmluZyB7XG4gICAgaWYoIXRoaXMucXVlc3Rpb24uY29tbWVudCkgcmV0dXJuIFwiXCI7XG4gICAgcmV0dXJuIHRoaXMucXVlc3Rpb24uY29tbWVudDtcbiAgfVxufSIsIjx0ZXh0YXJlYSAqbmdJZj1cIiFxdWVzdGlvbi5pc1JlYWRPbmx5UmVuZGVyRGl2KClcIiBbYXR0ci5tYXgtbGVuZ3RoXT1cInF1ZXN0aW9uLmdldE90aGVyc01heExlbmd0aCgpXCIgIFthdHRyLmFyaWEtcmVxdWlyZWRdPVwicXVlc3Rpb24uYXJpYVJlcXVpcmVkXCIgW2F0dHIuYXJpYS1sYWJlbF09XCJxdWVzdGlvbi5hcmlhTGFiZWxcIiBbYXR0ci5wbGFjZWhvbGRlcl09XCJxdWVzdGlvbi5jb21tZW50T3JPdGhlclBsYWNlaG9sZGVyXCIgXG4gIFt2YWx1ZV09XCJjb21tZW50XCJcbiAgW3N0eWxlLnJlc2l6ZV09XCJxdWVzdGlvbi5yZXNpemVTdHlsZVwiXG4gIFtkaXNhYmxlZF09XCJxdWVzdGlvbi5pc0lucHV0UmVhZE9ubHlcIlxuICAoY2hhbmdlKT1cInF1ZXN0aW9uLm9uQ29tbWVudENoYW5nZSgkZXZlbnQpXCJcbiAgKGlucHV0KT1cInF1ZXN0aW9uLm9uQ29tbWVudElucHV0KCRldmVudClcIlxuICBbY2xhc3NdPVwicXVlc3Rpb24uY3NzQ2xhc3Nlcy5vdGhlclwiPlxuPC90ZXh0YXJlYT5cbjxkaXYgKm5nSWY9XCJxdWVzdGlvbi5pc1JlYWRPbmx5UmVuZGVyRGl2KClcIj57eyBxdWVzdGlvbi5jb21tZW50IH19PC9kaXY+XG4iXX0=
@@ -2,11 +2,12 @@ import { Component, Input, ViewChild } from "@angular/core";
2
2
  import { DropdownListModel, Helpers } from "survey-core";
3
3
  import { BaseAngular } from "../../base-angular";
4
4
  import * as i0 from "@angular/core";
5
- import * as i1 from "../svg-icon/svg-icon.component";
6
- import * as i2 from "../popup/popup.component";
7
- import * as i3 from "@angular/common";
8
- import * as i4 from "@angular/forms";
9
- import * as i5 from "../../utils/ng-show.directive";
5
+ import * as i1 from "../../survey-string.component";
6
+ import * as i2 from "../svg-icon/svg-icon.component";
7
+ import * as i3 from "../popup/popup.component";
8
+ import * as i4 from "@angular/common";
9
+ import * as i5 from "@angular/forms";
10
+ import * as i6 from "../../utils/ng-show.directive";
10
11
  export class DropdownComponent extends BaseAngular {
11
12
  get dropdownModel() {
12
13
  return this.dropdownListModel;
@@ -49,14 +50,14 @@ export class DropdownComponent extends BaseAngular {
49
50
  }
50
51
  }
51
52
  DropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: DropdownComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
52
- DropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: DropdownComponent, selector: "sv-ng-dropdown, '[sv-ng-dropdown]'", inputs: { model: "model" }, viewQueries: [{ propertyName: "inputElementRef", first: true, predicate: ["inputElement"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div [class]=\"model.cssClasses.selectWrapper\">\n <div *ngIf=\"!model.isReadOnly\" [attr.tabindex]=\"dropdownModel.inputReadOnly ? null : 0\" [class]=\"model.getControlClass()\"\n [attr.disabled]=\"model.isInputReadOnly ? true : null\" (click)=\"click($event)\" (blur)=\"blur($event)\"\n (keydown)=\"keyhandler($event)\" [attr.id]=\"model.inputId\" [attr.aria-required]=\"model.ariaRequired\"\n [attr.aria-label]=\"model.ariaLabel\" [attr.aria-invalid]=\"model.ariaInvalid\"\n [attr.aria-describedby]=\"model.ariaDescribedBy\" [attr.role]=\"model.ariaRole\">\n <div [class]=\"model.cssClasses.controlValue\">\n <input #inputElement type=\"text\" autocomplete=\"off\" [(ngModel)]=\"dropdownModel.filterString\" [class]=\"model.cssClasses.filterStringInput\"\n [attr.id]=\"model.getInputId()\"\n [attr.tabindex]=\"dropdownModel.inputReadOnly ? null : -1\"\n [attr.disabled]=\"model.isInputReadOnly ? true : null\"\n [attr.placeholder]=\"model.readOnlyText\" [attr.readonly]=\"!dropdownModel.searchEnabled ? true : null\" \n (change)=\"inputChange($event)\" (blur)=\"blur($event)\" />\n </div>\n <div *ngIf=\"(model.allowClear && model.cssClasses.cleanButtonIconId)\"\n [class]=\"model.cssClasses.cleanButton\" (click)=\"clear($event)\" [visible]=\"!model.isEmpty()\">\n <!-- ko component: { name: 'sv-svg-icon', params: { css: model.cssClasses.cleanButtonSvg, iconName: model.cssClasses.cleanButtonIconId, size: 'auto' } } -->\n <!-- /ko -->\n <svg [iconName]=\"model.cssClasses.cleanButtonIconId\" [partCss]=\"model.cssClasses.cleanButtonSvg\" [title]=\"model.cleanButtonCaption\"\n [size]=\"'auto'\" sv-ng-svg-icon></svg>\n </div>\n </div>\n <sv-ng-popup *ngIf=\"!model.isReadOnly\" [popupModel]=\"dropdownModel.popupModel\"></sv-ng-popup>\n <div disabled *ngIf=\"model.isReadOnly\" [class]=\"model.getControlClass()\" [attr.id]=\"model.inputId\">{{ model.readOnlyText }}</div>\n</div>", components: [{ type: i1.SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: i2.PopupComponent, selector: "sv-ng-popup, '[sv-ng-popup]'", inputs: ["popupModel"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i5.VisibleDirective, selector: "[visible]", inputs: ["visible"] }] });
53
+ DropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: DropdownComponent, selector: "sv-ng-dropdown, '[sv-ng-dropdown]'", inputs: { model: "model" }, viewQueries: [{ propertyName: "inputElementRef", first: true, predicate: ["inputElement"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div [class]=\"model.cssClasses.selectWrapper\">\n <div *ngIf=\"!model.isReadOnly\" [attr.tabindex]=\"dropdownModel.inputReadOnly ? null : 0\" [class]=\"model.getControlClass()\"\n [attr.disabled]=\"model.isInputReadOnly ? true : null\" (click)=\"click($event)\" (blur)=\"blur($event)\"\n (keydown)=\"keyhandler($event)\" [attr.id]=\"model.inputId\" [attr.aria-required]=\"model.ariaRequired\"\n [attr.aria-label]=\"model.ariaLabel\" [attr.aria-invalid]=\"model.ariaInvalid\"\n [attr.aria-describedby]=\"model.ariaDescribedBy\" [attr.role]=\"model.ariaRole\">\n <div [class]=\"model.cssClasses.controlValue\">\n <sv-ng-string *ngIf=\"model.selectedItemLocText && !model.inputHasValue\" [model]=\"model.selectedItemLocText\"></sv-ng-string>\n <input #inputElement type=\"text\" autocomplete=\"off\" [(ngModel)]=\"dropdownModel.filterString\" [class]=\"model.cssClasses.filterStringInput\"\n [attr.id]=\"model.getInputId()\"\n [attr.tabindex]=\"dropdownModel.inputReadOnly ? null : -1\"\n [attr.disabled]=\"model.isInputReadOnly ? true : null\"\n [attr.placeholder]=\"model.readOnlyText\" [attr.readonly]=\"!dropdownModel.searchEnabled ? true : null\" \n (change)=\"inputChange($event)\" (blur)=\"blur($event)\" />\n </div>\n <div *ngIf=\"(model.allowClear && model.cssClasses.cleanButtonIconId)\"\n [class]=\"model.cssClasses.cleanButton\" (click)=\"clear($event)\" [visible]=\"!model.isEmpty()\">\n <!-- ko component: { name: 'sv-svg-icon', params: { css: model.cssClasses.cleanButtonSvg, iconName: model.cssClasses.cleanButtonIconId, size: 'auto' } } -->\n <!-- /ko -->\n <svg [iconName]=\"model.cssClasses.cleanButtonIconId\" [partCss]=\"model.cssClasses.cleanButtonSvg\" [title]=\"model.cleanButtonCaption\"\n [size]=\"'auto'\" sv-ng-svg-icon></svg>\n </div>\n </div>\n <sv-ng-popup *ngIf=\"!model.isReadOnly\" [popupModel]=\"dropdownModel.popupModel\"></sv-ng-popup>\n <div disabled *ngIf=\"model.isReadOnly\" [class]=\"model.getControlClass()\" [attr.id]=\"model.inputId\">\n <sv-ng-string *ngIf=\"model.selectedItemLocText\" [model]=\"model.selectedItemLocText\"></sv-ng-string>\n <div>{{ model.readOnlyText }}</div>\n </div>\n</div>", components: [{ type: i1.SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }, { type: i2.SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: i3.PopupComponent, selector: "sv-ng-popup, '[sv-ng-popup]'", inputs: ["popupModel"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i6.VisibleDirective, selector: "[visible]", inputs: ["visible"] }] });
53
54
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: DropdownComponent, decorators: [{
54
55
  type: Component,
55
- args: [{ selector: "sv-ng-dropdown, '[sv-ng-dropdown]'", template: "<div [class]=\"model.cssClasses.selectWrapper\">\n <div *ngIf=\"!model.isReadOnly\" [attr.tabindex]=\"dropdownModel.inputReadOnly ? null : 0\" [class]=\"model.getControlClass()\"\n [attr.disabled]=\"model.isInputReadOnly ? true : null\" (click)=\"click($event)\" (blur)=\"blur($event)\"\n (keydown)=\"keyhandler($event)\" [attr.id]=\"model.inputId\" [attr.aria-required]=\"model.ariaRequired\"\n [attr.aria-label]=\"model.ariaLabel\" [attr.aria-invalid]=\"model.ariaInvalid\"\n [attr.aria-describedby]=\"model.ariaDescribedBy\" [attr.role]=\"model.ariaRole\">\n <div [class]=\"model.cssClasses.controlValue\">\n <input #inputElement type=\"text\" autocomplete=\"off\" [(ngModel)]=\"dropdownModel.filterString\" [class]=\"model.cssClasses.filterStringInput\"\n [attr.id]=\"model.getInputId()\"\n [attr.tabindex]=\"dropdownModel.inputReadOnly ? null : -1\"\n [attr.disabled]=\"model.isInputReadOnly ? true : null\"\n [attr.placeholder]=\"model.readOnlyText\" [attr.readonly]=\"!dropdownModel.searchEnabled ? true : null\" \n (change)=\"inputChange($event)\" (blur)=\"blur($event)\" />\n </div>\n <div *ngIf=\"(model.allowClear && model.cssClasses.cleanButtonIconId)\"\n [class]=\"model.cssClasses.cleanButton\" (click)=\"clear($event)\" [visible]=\"!model.isEmpty()\">\n <!-- ko component: { name: 'sv-svg-icon', params: { css: model.cssClasses.cleanButtonSvg, iconName: model.cssClasses.cleanButtonIconId, size: 'auto' } } -->\n <!-- /ko -->\n <svg [iconName]=\"model.cssClasses.cleanButtonIconId\" [partCss]=\"model.cssClasses.cleanButtonSvg\" [title]=\"model.cleanButtonCaption\"\n [size]=\"'auto'\" sv-ng-svg-icon></svg>\n </div>\n </div>\n <sv-ng-popup *ngIf=\"!model.isReadOnly\" [popupModel]=\"dropdownModel.popupModel\"></sv-ng-popup>\n <div disabled *ngIf=\"model.isReadOnly\" [class]=\"model.getControlClass()\" [attr.id]=\"model.inputId\">{{ model.readOnlyText }}</div>\n</div>" }]
56
+ args: [{ selector: "sv-ng-dropdown, '[sv-ng-dropdown]'", template: "<div [class]=\"model.cssClasses.selectWrapper\">\n <div *ngIf=\"!model.isReadOnly\" [attr.tabindex]=\"dropdownModel.inputReadOnly ? null : 0\" [class]=\"model.getControlClass()\"\n [attr.disabled]=\"model.isInputReadOnly ? true : null\" (click)=\"click($event)\" (blur)=\"blur($event)\"\n (keydown)=\"keyhandler($event)\" [attr.id]=\"model.inputId\" [attr.aria-required]=\"model.ariaRequired\"\n [attr.aria-label]=\"model.ariaLabel\" [attr.aria-invalid]=\"model.ariaInvalid\"\n [attr.aria-describedby]=\"model.ariaDescribedBy\" [attr.role]=\"model.ariaRole\">\n <div [class]=\"model.cssClasses.controlValue\">\n <sv-ng-string *ngIf=\"model.selectedItemLocText && !model.inputHasValue\" [model]=\"model.selectedItemLocText\"></sv-ng-string>\n <input #inputElement type=\"text\" autocomplete=\"off\" [(ngModel)]=\"dropdownModel.filterString\" [class]=\"model.cssClasses.filterStringInput\"\n [attr.id]=\"model.getInputId()\"\n [attr.tabindex]=\"dropdownModel.inputReadOnly ? null : -1\"\n [attr.disabled]=\"model.isInputReadOnly ? true : null\"\n [attr.placeholder]=\"model.readOnlyText\" [attr.readonly]=\"!dropdownModel.searchEnabled ? true : null\" \n (change)=\"inputChange($event)\" (blur)=\"blur($event)\" />\n </div>\n <div *ngIf=\"(model.allowClear && model.cssClasses.cleanButtonIconId)\"\n [class]=\"model.cssClasses.cleanButton\" (click)=\"clear($event)\" [visible]=\"!model.isEmpty()\">\n <!-- ko component: { name: 'sv-svg-icon', params: { css: model.cssClasses.cleanButtonSvg, iconName: model.cssClasses.cleanButtonIconId, size: 'auto' } } -->\n <!-- /ko -->\n <svg [iconName]=\"model.cssClasses.cleanButtonIconId\" [partCss]=\"model.cssClasses.cleanButtonSvg\" [title]=\"model.cleanButtonCaption\"\n [size]=\"'auto'\" sv-ng-svg-icon></svg>\n </div>\n </div>\n <sv-ng-popup *ngIf=\"!model.isReadOnly\" [popupModel]=\"dropdownModel.popupModel\"></sv-ng-popup>\n <div disabled *ngIf=\"model.isReadOnly\" [class]=\"model.getControlClass()\" [attr.id]=\"model.inputId\">\n <sv-ng-string *ngIf=\"model.selectedItemLocText\" [model]=\"model.selectedItemLocText\"></sv-ng-string>\n <div>{{ model.readOnlyText }}</div>\n </div>\n</div>" }]
56
57
  }], propDecorators: { model: [{
57
58
  type: Input
58
59
  }], inputElementRef: [{
59
60
  type: ViewChild,
60
61
  args: ["inputElement"]
61
62
  }] } });
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3VydmV5LWFuZ3VsYXItdWkvc3JjL2NvbXBvbmVudHMvZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3VydmV5LWFuZ3VsYXItdWkvc3JjL2NvbXBvbmVudHMvZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQXFCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsT0FBTyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7Ozs7OztBQU1qRCxNQUFNLE9BQU8saUJBQWtCLFNBQVEsV0FBVztJQU05QyxJQUFJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztJQUNoQyxDQUFDO0lBQ1MsUUFBUTtRQUNoQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUVRLFFBQVE7UUFDZixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQWlCLElBQUksSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0YsQ0FBQztJQUVRLFdBQVc7UUFDbEIsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxPQUFPLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRUQsS0FBSyxDQUFDLEtBQVU7UUFDZCxJQUFJLENBQUMsaUJBQWlCLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFDRCxLQUFLLENBQUMsS0FBVTtRQUNkLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUNELFVBQVUsQ0FBQyxLQUFVO1FBQ25CLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUNELElBQUksQ0FBQyxLQUFVO1FBQ2IsSUFBSSxDQUFDLGlCQUFpQixFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBQ0QsV0FBVyxDQUFDLEtBQVU7UUFDcEIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFDRCxxQkFBcUI7UUFDbkIsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxhQUFhLEVBQUU7WUFDekMsTUFBTSxPQUFPLEdBQVEsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUM7WUFDeEQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUM7WUFDekMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUN0RCxPQUFPLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxJQUFJLEVBQUUsQ0FBQzthQUMvQztTQUNGO0lBQ0gsQ0FBQzs7OEdBL0NRLGlCQUFpQjtrR0FBakIsaUJBQWlCLDhPQ1I5QixpaUVBd0JNOzJGRGhCTyxpQkFBaUI7a0JBSjdCLFNBQVM7K0JBQ0Usb0NBQW9DOzhCQUluQyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ3FCLGVBQWU7c0JBQXpDLFNBQVM7dUJBQUMsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRHJvcGRvd25MaXN0TW9kZWwsIEhlbHBlcnMgfSBmcm9tIFwic3VydmV5LWNvcmVcIjtcbmltcG9ydCB7IEJhc2VBbmd1bGFyIH0gZnJvbSBcIi4uLy4uL2Jhc2UtYW5ndWxhclwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwic3YtbmctZHJvcGRvd24sICdbc3YtbmctZHJvcGRvd25dJ1wiLFxuICB0ZW1wbGF0ZVVybDogXCIuL2Ryb3Bkb3duLmNvbXBvbmVudC5odG1sXCJcbn0pXG5leHBvcnQgY2xhc3MgRHJvcGRvd25Db21wb25lbnQgZXh0ZW5kcyBCYXNlQW5ndWxhciBpbXBsZW1lbnRzIE9uRGVzdHJveSwgT25Jbml0IHtcbiAgICBASW5wdXQoKSBtb2RlbDogYW55O1xuICAgIEBWaWV3Q2hpbGQoXCJpbnB1dEVsZW1lbnRcIikgaW5wdXRFbGVtZW50UmVmITogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG5cbiAgICBwcml2YXRlIGRyb3Bkb3duTGlzdE1vZGVsITogRHJvcGRvd25MaXN0TW9kZWw7XG5cbiAgICBnZXQgZHJvcGRvd25Nb2RlbCgpOiBEcm9wZG93bkxpc3RNb2RlbCB7XG4gICAgICByZXR1cm4gdGhpcy5kcm9wZG93bkxpc3RNb2RlbDtcbiAgICB9XG4gICAgcHJvdGVjdGVkIGdldE1vZGVsKCkge1xuICAgICAgcmV0dXJuIHRoaXMubW9kZWw7XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgdGhpcy5kcm9wZG93bkxpc3RNb2RlbCA9IHRoaXMubW9kZWwuZHJvcGRvd25MaXN0TW9kZWwgfHwgbmV3IERyb3Bkb3duTGlzdE1vZGVsKHRoaXMubW9kZWwpO1xuICAgIH1cblxuICAgIG92ZXJyaWRlIG5nT25EZXN0cm95KCkge1xuICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICAgIHRoaXMuZHJvcGRvd25MaXN0TW9kZWw/LmRpc3Bvc2UoKTtcbiAgICB9XG5cbiAgICBjbGljayhldmVudDogYW55KSB7XG4gICAgICB0aGlzLmRyb3Bkb3duTGlzdE1vZGVsPy5vbkNsaWNrKGV2ZW50KTtcbiAgICB9XG4gICAgY2xlYXIoZXZlbnQ6IGFueSkge1xuICAgICAgdGhpcy5kcm9wZG93bkxpc3RNb2RlbD8ub25DbGVhcihldmVudCk7XG4gICAgfVxuICAgIGtleWhhbmRsZXIoZXZlbnQ6IGFueSkge1xuICAgICAgdGhpcy5kcm9wZG93bkxpc3RNb2RlbD8ua2V5SGFuZGxlcihldmVudCk7XG4gICAgfVxuICAgIGJsdXIoZXZlbnQ6IGFueSkge1xuICAgICAgdGhpcy5kcm9wZG93bkxpc3RNb2RlbD8ub25CbHVyKGV2ZW50KTtcbiAgICAgIHRoaXMudXBkYXRlSW5wdXREb21FbGVtZW50KCk7XG4gICAgfVxuICAgIGlucHV0Q2hhbmdlKGV2ZW50OiBhbnkpIHtcbiAgICAgIHRoaXMuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbiAgICB1cGRhdGVJbnB1dERvbUVsZW1lbnQoKSB7XG4gICAgICBpZiAoISF0aGlzLmlucHV0RWxlbWVudFJlZj8ubmF0aXZlRWxlbWVudCkge1xuICAgICAgICBjb25zdCBjb250cm9sOiBhbnkgPSB0aGlzLmlucHV0RWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IHRoaXMubW9kZWwuZmlsdGVyU3RyaW5nO1xuICAgICAgICBpZiAoIUhlbHBlcnMuaXNUd29WYWx1ZUVxdWFscyhuZXdWYWx1ZSwgY29udHJvbC52YWx1ZSkpIHtcbiAgICAgICAgICBjb250cm9sLnZhbHVlID0gdGhpcy5tb2RlbC5maWx0ZXJTdHJpbmcgfHwgXCJcIjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbn0iLCI8ZGl2IFtjbGFzc109XCJtb2RlbC5jc3NDbGFzc2VzLnNlbGVjdFdyYXBwZXJcIj5cbiAgICA8ZGl2ICpuZ0lmPVwiIW1vZGVsLmlzUmVhZE9ubHlcIiBbYXR0ci50YWJpbmRleF09XCJkcm9wZG93bk1vZGVsLmlucHV0UmVhZE9ubHkgPyBudWxsIDogMFwiIFtjbGFzc109XCJtb2RlbC5nZXRDb250cm9sQ2xhc3MoKVwiXG4gICAgICAgIFthdHRyLmRpc2FibGVkXT1cIm1vZGVsLmlzSW5wdXRSZWFkT25seSA/IHRydWUgOiBudWxsXCIgKGNsaWNrKT1cImNsaWNrKCRldmVudClcIiAoYmx1cik9XCJibHVyKCRldmVudClcIlxuICAgICAgICAoa2V5ZG93bik9XCJrZXloYW5kbGVyKCRldmVudClcIiBbYXR0ci5pZF09XCJtb2RlbC5pbnB1dElkXCIgW2F0dHIuYXJpYS1yZXF1aXJlZF09XCJtb2RlbC5hcmlhUmVxdWlyZWRcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIm1vZGVsLmFyaWFMYWJlbFwiIFthdHRyLmFyaWEtaW52YWxpZF09XCJtb2RlbC5hcmlhSW52YWxpZFwiXG4gICAgICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwibW9kZWwuYXJpYURlc2NyaWJlZEJ5XCIgW2F0dHIucm9sZV09XCJtb2RlbC5hcmlhUm9sZVwiPlxuICAgICAgICA8ZGl2IFtjbGFzc109XCJtb2RlbC5jc3NDbGFzc2VzLmNvbnRyb2xWYWx1ZVwiPlxuICAgICAgICAgICAgPGlucHV0ICNpbnB1dEVsZW1lbnQgdHlwZT1cInRleHRcIiBhdXRvY29tcGxldGU9XCJvZmZcIiBbKG5nTW9kZWwpXT1cImRyb3Bkb3duTW9kZWwuZmlsdGVyU3RyaW5nXCIgW2NsYXNzXT1cIm1vZGVsLmNzc0NsYXNzZXMuZmlsdGVyU3RyaW5nSW5wdXRcIlxuICAgICAgICAgICAgW2F0dHIuaWRdPVwibW9kZWwuZ2V0SW5wdXRJZCgpXCJcbiAgICAgICAgICAgIFthdHRyLnRhYmluZGV4XT1cImRyb3Bkb3duTW9kZWwuaW5wdXRSZWFkT25seSA/IG51bGwgOiAtMVwiXG4gICAgICAgICAgICBbYXR0ci5kaXNhYmxlZF09XCJtb2RlbC5pc0lucHV0UmVhZE9ubHkgPyB0cnVlIDogbnVsbFwiXG4gICAgICAgICAgICBbYXR0ci5wbGFjZWhvbGRlcl09XCJtb2RlbC5yZWFkT25seVRleHRcIiBbYXR0ci5yZWFkb25seV09XCIhZHJvcGRvd25Nb2RlbC5zZWFyY2hFbmFibGVkID8gdHJ1ZSA6IG51bGxcIiBcbiAgICAgICAgICAgIChjaGFuZ2UpPVwiaW5wdXRDaGFuZ2UoJGV2ZW50KVwiIChibHVyKT1cImJsdXIoJGV2ZW50KVwiIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2ICpuZ0lmPVwiKG1vZGVsLmFsbG93Q2xlYXIgJiYgbW9kZWwuY3NzQ2xhc3Nlcy5jbGVhbkJ1dHRvbkljb25JZClcIlxuICAgICAgICAgICAgW2NsYXNzXT1cIm1vZGVsLmNzc0NsYXNzZXMuY2xlYW5CdXR0b25cIiAoY2xpY2spPVwiY2xlYXIoJGV2ZW50KVwiIFt2aXNpYmxlXT1cIiFtb2RlbC5pc0VtcHR5KClcIj5cbiAgICAgICAgICAgIDwhLS0ga28gY29tcG9uZW50OiB7IG5hbWU6ICdzdi1zdmctaWNvbicsIHBhcmFtczogeyBjc3M6IG1vZGVsLmNzc0NsYXNzZXMuY2xlYW5CdXR0b25TdmcsIGljb25OYW1lOiBtb2RlbC5jc3NDbGFzc2VzLmNsZWFuQnV0dG9uSWNvbklkLCBzaXplOiAnYXV0bycgfSB9IC0tPlxuICAgICAgICAgICAgPCEtLSAva28gLS0+XG4gICAgICAgICAgICA8c3ZnIFtpY29uTmFtZV09XCJtb2RlbC5jc3NDbGFzc2VzLmNsZWFuQnV0dG9uSWNvbklkXCIgW3BhcnRDc3NdPVwibW9kZWwuY3NzQ2xhc3Nlcy5jbGVhbkJ1dHRvblN2Z1wiIFt0aXRsZV09XCJtb2RlbC5jbGVhbkJ1dHRvbkNhcHRpb25cIlxuICAgICAgICAgICAgICAgIFtzaXplXT1cIidhdXRvJ1wiIHN2LW5nLXN2Zy1pY29uPjwvc3ZnPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8c3YtbmctcG9wdXAgKm5nSWY9XCIhbW9kZWwuaXNSZWFkT25seVwiIFtwb3B1cE1vZGVsXT1cImRyb3Bkb3duTW9kZWwucG9wdXBNb2RlbFwiPjwvc3YtbmctcG9wdXA+XG4gICAgPGRpdiBkaXNhYmxlZCAqbmdJZj1cIm1vZGVsLmlzUmVhZE9ubHlcIiBbY2xhc3NdPVwibW9kZWwuZ2V0Q29udHJvbENsYXNzKClcIiBbYXR0ci5pZF09XCJtb2RlbC5pbnB1dElkXCI+e3sgbW9kZWwucmVhZE9ubHlUZXh0IH19PC9kaXY+XG48L2Rpdj4iXX0=
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3VydmV5LWFuZ3VsYXItdWkvc3JjL2NvbXBvbmVudHMvZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3VydmV5LWFuZ3VsYXItdWkvc3JjL2NvbXBvbmVudHMvZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQXFCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsT0FBTyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7Ozs7Ozs7QUFNakQsTUFBTSxPQUFPLGlCQUFrQixTQUFRLFdBQVc7SUFNOUMsSUFBSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFDaEMsQ0FBQztJQUNTLFFBQVE7UUFDaEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFUSxRQUFRO1FBQ2YsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixJQUFJLElBQUksaUJBQWlCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdGLENBQUM7SUFFUSxXQUFXO1FBQ2xCLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsaUJBQWlCLEVBQUUsT0FBTyxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVELEtBQUssQ0FBQyxLQUFVO1FBQ2QsSUFBSSxDQUFDLGlCQUFpQixFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBQ0QsS0FBSyxDQUFDLEtBQVU7UUFDZCxJQUFJLENBQUMsaUJBQWlCLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFDRCxVQUFVLENBQUMsS0FBVTtRQUNuQixJQUFJLENBQUMsaUJBQWlCLEVBQUUsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFDRCxJQUFJLENBQUMsS0FBVTtRQUNiLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUNELFdBQVcsQ0FBQyxLQUFVO1FBQ3BCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBQ0QscUJBQXFCO1FBQ25CLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsYUFBYSxFQUFFO1lBQ3pDLE1BQU0sT0FBTyxHQUFRLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDO1lBQ3hELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDO1lBQ3pDLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDdEQsT0FBTyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksSUFBSSxFQUFFLENBQUM7YUFDL0M7U0FDRjtJQUNILENBQUM7OzhHQS9DUSxpQkFBaUI7a0dBQWpCLGlCQUFpQiw4T0NSOUIsMHpFQTRCTTsyRkRwQk8saUJBQWlCO2tCQUo3QixTQUFTOytCQUNFLG9DQUFvQzs4QkFJbkMsS0FBSztzQkFBYixLQUFLO2dCQUNxQixlQUFlO3NCQUF6QyxTQUFTO3VCQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IERyb3Bkb3duTGlzdE1vZGVsLCBIZWxwZXJzIH0gZnJvbSBcInN1cnZleS1jb3JlXCI7XG5pbXBvcnQgeyBCYXNlQW5ndWxhciB9IGZyb20gXCIuLi8uLi9iYXNlLWFuZ3VsYXJcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcInN2LW5nLWRyb3Bkb3duLCAnW3N2LW5nLWRyb3Bkb3duXSdcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9kcm9wZG93bi5jb21wb25lbnQuaHRtbFwiXG59KVxuZXhwb3J0IGNsYXNzIERyb3Bkb3duQ29tcG9uZW50IGV4dGVuZHMgQmFzZUFuZ3VsYXIgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uSW5pdCB7XG4gICAgQElucHV0KCkgbW9kZWw6IGFueTtcbiAgICBAVmlld0NoaWxkKFwiaW5wdXRFbGVtZW50XCIpIGlucHV0RWxlbWVudFJlZiE6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuXG4gICAgcHJpdmF0ZSBkcm9wZG93bkxpc3RNb2RlbCE6IERyb3Bkb3duTGlzdE1vZGVsO1xuXG4gICAgZ2V0IGRyb3Bkb3duTW9kZWwoKTogRHJvcGRvd25MaXN0TW9kZWwge1xuICAgICAgcmV0dXJuIHRoaXMuZHJvcGRvd25MaXN0TW9kZWw7XG4gICAgfVxuICAgIHByb3RlY3RlZCBnZXRNb2RlbCgpIHtcbiAgICAgIHJldHVybiB0aGlzLm1vZGVsO1xuICAgIH1cblxuICAgIG92ZXJyaWRlIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgIHRoaXMuZHJvcGRvd25MaXN0TW9kZWwgPSB0aGlzLm1vZGVsLmRyb3Bkb3duTGlzdE1vZGVsIHx8IG5ldyBEcm9wZG93bkxpc3RNb2RlbCh0aGlzLm1vZGVsKTtcbiAgICB9XG5cbiAgICBvdmVycmlkZSBuZ09uRGVzdHJveSgpIHtcbiAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgICB0aGlzLmRyb3Bkb3duTGlzdE1vZGVsPy5kaXNwb3NlKCk7XG4gICAgfVxuXG4gICAgY2xpY2soZXZlbnQ6IGFueSkge1xuICAgICAgdGhpcy5kcm9wZG93bkxpc3RNb2RlbD8ub25DbGljayhldmVudCk7XG4gICAgfVxuICAgIGNsZWFyKGV2ZW50OiBhbnkpIHtcbiAgICAgIHRoaXMuZHJvcGRvd25MaXN0TW9kZWw/Lm9uQ2xlYXIoZXZlbnQpO1xuICAgIH1cbiAgICBrZXloYW5kbGVyKGV2ZW50OiBhbnkpIHtcbiAgICAgIHRoaXMuZHJvcGRvd25MaXN0TW9kZWw/LmtleUhhbmRsZXIoZXZlbnQpO1xuICAgIH1cbiAgICBibHVyKGV2ZW50OiBhbnkpIHtcbiAgICAgIHRoaXMuZHJvcGRvd25MaXN0TW9kZWw/Lm9uQmx1cihldmVudCk7XG4gICAgICB0aGlzLnVwZGF0ZUlucHV0RG9tRWxlbWVudCgpO1xuICAgIH1cbiAgICBpbnB1dENoYW5nZShldmVudDogYW55KSB7XG4gICAgICB0aGlzLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG4gICAgdXBkYXRlSW5wdXREb21FbGVtZW50KCkge1xuICAgICAgaWYgKCEhdGhpcy5pbnB1dEVsZW1lbnRSZWY/Lm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgY29uc3QgY29udHJvbDogYW55ID0gdGhpcy5pbnB1dEVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICAgICAgY29uc3QgbmV3VmFsdWUgPSB0aGlzLm1vZGVsLmZpbHRlclN0cmluZztcbiAgICAgICAgaWYgKCFIZWxwZXJzLmlzVHdvVmFsdWVFcXVhbHMobmV3VmFsdWUsIGNvbnRyb2wudmFsdWUpKSB7XG4gICAgICAgICAgY29udHJvbC52YWx1ZSA9IHRoaXMubW9kZWwuZmlsdGVyU3RyaW5nIHx8IFwiXCI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG59IiwiPGRpdiBbY2xhc3NdPVwibW9kZWwuY3NzQ2xhc3Nlcy5zZWxlY3RXcmFwcGVyXCI+XG4gICAgPGRpdiAqbmdJZj1cIiFtb2RlbC5pc1JlYWRPbmx5XCIgW2F0dHIudGFiaW5kZXhdPVwiZHJvcGRvd25Nb2RlbC5pbnB1dFJlYWRPbmx5ID8gbnVsbCA6IDBcIiBbY2xhc3NdPVwibW9kZWwuZ2V0Q29udHJvbENsYXNzKClcIlxuICAgICAgICBbYXR0ci5kaXNhYmxlZF09XCJtb2RlbC5pc0lucHV0UmVhZE9ubHkgPyB0cnVlIDogbnVsbFwiIChjbGljayk9XCJjbGljaygkZXZlbnQpXCIgKGJsdXIpPVwiYmx1cigkZXZlbnQpXCJcbiAgICAgICAgKGtleWRvd24pPVwia2V5aGFuZGxlcigkZXZlbnQpXCIgW2F0dHIuaWRdPVwibW9kZWwuaW5wdXRJZFwiIFthdHRyLmFyaWEtcmVxdWlyZWRdPVwibW9kZWwuYXJpYVJlcXVpcmVkXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJtb2RlbC5hcmlhTGFiZWxcIiBbYXR0ci5hcmlhLWludmFsaWRdPVwibW9kZWwuYXJpYUludmFsaWRcIlxuICAgICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cIm1vZGVsLmFyaWFEZXNjcmliZWRCeVwiIFthdHRyLnJvbGVdPVwibW9kZWwuYXJpYVJvbGVcIj5cbiAgICAgICAgPGRpdiBbY2xhc3NdPVwibW9kZWwuY3NzQ2xhc3Nlcy5jb250cm9sVmFsdWVcIj5cbiAgICAgICAgICAgIDxzdi1uZy1zdHJpbmcgKm5nSWY9XCJtb2RlbC5zZWxlY3RlZEl0ZW1Mb2NUZXh0ICYmICFtb2RlbC5pbnB1dEhhc1ZhbHVlXCIgW21vZGVsXT1cIm1vZGVsLnNlbGVjdGVkSXRlbUxvY1RleHRcIj48L3N2LW5nLXN0cmluZz5cbiAgICAgICAgICAgIDxpbnB1dCAjaW5wdXRFbGVtZW50IHR5cGU9XCJ0ZXh0XCIgYXV0b2NvbXBsZXRlPVwib2ZmXCIgWyhuZ01vZGVsKV09XCJkcm9wZG93bk1vZGVsLmZpbHRlclN0cmluZ1wiIFtjbGFzc109XCJtb2RlbC5jc3NDbGFzc2VzLmZpbHRlclN0cmluZ0lucHV0XCJcbiAgICAgICAgICAgIFthdHRyLmlkXT1cIm1vZGVsLmdldElucHV0SWQoKVwiXG4gICAgICAgICAgICBbYXR0ci50YWJpbmRleF09XCJkcm9wZG93bk1vZGVsLmlucHV0UmVhZE9ubHkgPyBudWxsIDogLTFcIlxuICAgICAgICAgICAgW2F0dHIuZGlzYWJsZWRdPVwibW9kZWwuaXNJbnB1dFJlYWRPbmx5ID8gdHJ1ZSA6IG51bGxcIlxuICAgICAgICAgICAgW2F0dHIucGxhY2Vob2xkZXJdPVwibW9kZWwucmVhZE9ubHlUZXh0XCIgW2F0dHIucmVhZG9ubHldPVwiIWRyb3Bkb3duTW9kZWwuc2VhcmNoRW5hYmxlZCA/IHRydWUgOiBudWxsXCIgXG4gICAgICAgICAgICAoY2hhbmdlKT1cImlucHV0Q2hhbmdlKCRldmVudClcIiAoYmx1cik9XCJibHVyKCRldmVudClcIiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiAqbmdJZj1cIihtb2RlbC5hbGxvd0NsZWFyICYmIG1vZGVsLmNzc0NsYXNzZXMuY2xlYW5CdXR0b25JY29uSWQpXCJcbiAgICAgICAgICAgIFtjbGFzc109XCJtb2RlbC5jc3NDbGFzc2VzLmNsZWFuQnV0dG9uXCIgKGNsaWNrKT1cImNsZWFyKCRldmVudClcIiBbdmlzaWJsZV09XCIhbW9kZWwuaXNFbXB0eSgpXCI+XG4gICAgICAgICAgICA8IS0tIGtvIGNvbXBvbmVudDogeyBuYW1lOiAnc3Ytc3ZnLWljb24nLCBwYXJhbXM6IHsgY3NzOiBtb2RlbC5jc3NDbGFzc2VzLmNsZWFuQnV0dG9uU3ZnLCBpY29uTmFtZTogbW9kZWwuY3NzQ2xhc3Nlcy5jbGVhbkJ1dHRvbkljb25JZCwgc2l6ZTogJ2F1dG8nIH0gfSAtLT5cbiAgICAgICAgICAgIDwhLS0gL2tvIC0tPlxuICAgICAgICAgICAgPHN2ZyBbaWNvbk5hbWVdPVwibW9kZWwuY3NzQ2xhc3Nlcy5jbGVhbkJ1dHRvbkljb25JZFwiIFtwYXJ0Q3NzXT1cIm1vZGVsLmNzc0NsYXNzZXMuY2xlYW5CdXR0b25TdmdcIiBbdGl0bGVdPVwibW9kZWwuY2xlYW5CdXR0b25DYXB0aW9uXCJcbiAgICAgICAgICAgICAgICBbc2l6ZV09XCInYXV0bydcIiBzdi1uZy1zdmctaWNvbj48L3N2Zz5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPHN2LW5nLXBvcHVwICpuZ0lmPVwiIW1vZGVsLmlzUmVhZE9ubHlcIiBbcG9wdXBNb2RlbF09XCJkcm9wZG93bk1vZGVsLnBvcHVwTW9kZWxcIj48L3N2LW5nLXBvcHVwPlxuICAgIDxkaXYgZGlzYWJsZWQgKm5nSWY9XCJtb2RlbC5pc1JlYWRPbmx5XCIgW2NsYXNzXT1cIm1vZGVsLmdldENvbnRyb2xDbGFzcygpXCIgW2F0dHIuaWRdPVwibW9kZWwuaW5wdXRJZFwiPlxuICAgICAgICA8c3Ytbmctc3RyaW5nICpuZ0lmPVwibW9kZWwuc2VsZWN0ZWRJdGVtTG9jVGV4dFwiIFttb2RlbF09XCJtb2RlbC5zZWxlY3RlZEl0ZW1Mb2NUZXh0XCI+PC9zdi1uZy1zdHJpbmc+XG4gICAgICAgIDxkaXY+e3sgbW9kZWwucmVhZE9ubHlUZXh0IH19PC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj4iXX0=
@@ -34,11 +34,11 @@ export class TagboxComponent {
34
34
  }
35
35
  }
36
36
  TagboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TagboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
37
- TagboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: TagboxComponent, selector: "sv-ng-tagbox, '[sv-ng-tagbox]'", inputs: { model: "model" }, ngImport: i0, template: "<div [class]=\"model.cssClasses.selectWrapper\">\n <div *ngIf=\"!model.isReadOnly\" [attr.tabindex]=\"dropdownModel.inputReadOnly ? null : 0\" [class]=\"model.getControlClass()\"\n [attr.disabled]=\"model.isInputReadOnly ? true : null\" (click)=\"click($event)\" (blur)=\"blur($event)\"\n (keydown)=\"keyhandler($event)\" [attr.id]=\"model.inputId\" [attr.aria-required]=\"model.ariaRequired\"\n [attr.aria-label]=\"model.ariaLabel\" [attr.aria-invalid]=\"model.ariaInvalid\"\n [attr.aria-describedby]=\"model.ariaDescribedBy\" [attr.role]=\"model.ariaRole\">\n <div [class]=\"model.cssClasses.controlValue\">\n <ng-container *ngIf=\"!model.isEmpty()\">\n <sv-ng-tagbox-item *ngFor=\"let item of model.selectedItems\" [item]=\"item\" [question]=\"model\">\n </sv-ng-tagbox-item>\n </ng-container>\n <ng-template [component]=\"{ name: 'sv-tagbox-filter', data: { model: dropdownModel, question: model } }\"></ng-template>\n </div>\n <div *ngIf=\"(model.allowClear && model.cssClasses.cleanButtonIconId)\" [class]=\"model.cssClasses.cleanButton\"\n (click)=\"clear($event)\" [visible]=\"!model.isEmpty()\">\n <!-- ko component: { name: 'sv-svg-icon', params: { css: model.cssClasses.cleanButtonSvg, iconName: model.cssClasses.cleanButtonIconId, size: 'auto' } } -->\n <!-- /ko -->\n <svg [iconName]=\"model.cssClasses.cleanButtonIconId\" [partCss]=\"model.cssClasses.cleanButtonSvg\" [title]=\"model.cleanButtonCaption\"\n [size]=\"'auto'\" sv-ng-svg-icon></svg>\n </div>\n </div>\n <sv-ng-popup *ngIf=\"!model.isReadOnly\" [popupModel]=\"model.popupModel\"></sv-ng-popup>\n <div disabled *ngIf=\"model.isReadOnly\" [class]=\"model.getControlClass()\" [attr.id]=\"model.inputId\">{{ model.readOnlyText }}</div>\n</div>", components: [{ type: i1.TagboxItemComponent, selector: "sv-ng-tagbox-item, '[sv-ng-tagbox-item]'", inputs: ["item", "question"] }, { type: i2.SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: i3.PopupComponent, selector: "sv-ng-popup, '[sv-ng-popup]'", inputs: ["popupModel"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }, { type: i6.VisibleDirective, selector: "[visible]", inputs: ["visible"] }] });
37
+ TagboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: TagboxComponent, selector: "sv-ng-tagbox, '[sv-ng-tagbox]'", inputs: { model: "model" }, ngImport: i0, template: "<div [class]=\"model.cssClasses.selectWrapper\">\n <div *ngIf=\"!model.isReadOnly\" [attr.tabindex]=\"dropdownModel.inputReadOnly ? null : 0\" [class]=\"model.getControlClass()\"\n [attr.disabled]=\"model.isInputReadOnly ? true : null\" (click)=\"click($event)\" (blur)=\"blur($event)\"\n (keydown)=\"keyhandler($event)\" [attr.id]=\"model.inputId\" [attr.aria-required]=\"model.ariaRequired\"\n [attr.aria-label]=\"model.ariaLabel\" [attr.aria-invalid]=\"model.ariaInvalid\"\n [attr.aria-describedby]=\"model.ariaDescribedBy\" [attr.role]=\"model.ariaRole\">\n <div [class]=\"model.cssClasses.controlValue\">\n <ng-container *ngIf=\"!model.isEmpty()\">\n <sv-ng-tagbox-item *ngFor=\"let item of model.selectedItems\" [item]=\"item\" [question]=\"model\">\n </sv-ng-tagbox-item>\n </ng-container>\n <ng-template [component]=\"{ name: 'sv-tagbox-filter', data: { model: dropdownModel, question: model } }\"></ng-template>\n </div>\n <div *ngIf=\"(model.allowClear && model.cssClasses.cleanButtonIconId)\" [class]=\"model.cssClasses.cleanButton\"\n (click)=\"clear($event)\" [visible]=\"!model.isEmpty()\">\n <!-- ko component: { name: 'sv-svg-icon', params: { css: model.cssClasses.cleanButtonSvg, iconName: model.cssClasses.cleanButtonIconId, size: 'auto' } } -->\n <!-- /ko -->\n <svg [iconName]=\"model.cssClasses.cleanButtonIconId\" [partCss]=\"model.cssClasses.cleanButtonSvg\" [title]=\"model.cleanButtonCaption\"\n [size]=\"'auto'\" sv-ng-svg-icon></svg>\n </div>\n </div>\n <sv-ng-popup *ngIf=\"!model.isReadOnly\" [popupModel]=\"model.popupModel\"></sv-ng-popup>\n <div disabled *ngIf=\"model.isReadOnly\" [class]=\"model.getControlClass()\" [attr.id]=\"model.inputId\">\n <div>{{ model.readOnlyText }}</div>\n </div>\n</div>", components: [{ type: i1.TagboxItemComponent, selector: "sv-ng-tagbox-item, '[sv-ng-tagbox-item]'", inputs: ["item", "question"] }, { type: i2.SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: i3.PopupComponent, selector: "sv-ng-popup, '[sv-ng-popup]'", inputs: ["popupModel"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }, { type: i6.VisibleDirective, selector: "[visible]", inputs: ["visible"] }] });
38
38
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TagboxComponent, decorators: [{
39
39
  type: Component,
40
- args: [{ selector: "sv-ng-tagbox, '[sv-ng-tagbox]'", template: "<div [class]=\"model.cssClasses.selectWrapper\">\n <div *ngIf=\"!model.isReadOnly\" [attr.tabindex]=\"dropdownModel.inputReadOnly ? null : 0\" [class]=\"model.getControlClass()\"\n [attr.disabled]=\"model.isInputReadOnly ? true : null\" (click)=\"click($event)\" (blur)=\"blur($event)\"\n (keydown)=\"keyhandler($event)\" [attr.id]=\"model.inputId\" [attr.aria-required]=\"model.ariaRequired\"\n [attr.aria-label]=\"model.ariaLabel\" [attr.aria-invalid]=\"model.ariaInvalid\"\n [attr.aria-describedby]=\"model.ariaDescribedBy\" [attr.role]=\"model.ariaRole\">\n <div [class]=\"model.cssClasses.controlValue\">\n <ng-container *ngIf=\"!model.isEmpty()\">\n <sv-ng-tagbox-item *ngFor=\"let item of model.selectedItems\" [item]=\"item\" [question]=\"model\">\n </sv-ng-tagbox-item>\n </ng-container>\n <ng-template [component]=\"{ name: 'sv-tagbox-filter', data: { model: dropdownModel, question: model } }\"></ng-template>\n </div>\n <div *ngIf=\"(model.allowClear && model.cssClasses.cleanButtonIconId)\" [class]=\"model.cssClasses.cleanButton\"\n (click)=\"clear($event)\" [visible]=\"!model.isEmpty()\">\n <!-- ko component: { name: 'sv-svg-icon', params: { css: model.cssClasses.cleanButtonSvg, iconName: model.cssClasses.cleanButtonIconId, size: 'auto' } } -->\n <!-- /ko -->\n <svg [iconName]=\"model.cssClasses.cleanButtonIconId\" [partCss]=\"model.cssClasses.cleanButtonSvg\" [title]=\"model.cleanButtonCaption\"\n [size]=\"'auto'\" sv-ng-svg-icon></svg>\n </div>\n </div>\n <sv-ng-popup *ngIf=\"!model.isReadOnly\" [popupModel]=\"model.popupModel\"></sv-ng-popup>\n <div disabled *ngIf=\"model.isReadOnly\" [class]=\"model.getControlClass()\" [attr.id]=\"model.inputId\">{{ model.readOnlyText }}</div>\n</div>" }]
40
+ args: [{ selector: "sv-ng-tagbox, '[sv-ng-tagbox]'", template: "<div [class]=\"model.cssClasses.selectWrapper\">\n <div *ngIf=\"!model.isReadOnly\" [attr.tabindex]=\"dropdownModel.inputReadOnly ? null : 0\" [class]=\"model.getControlClass()\"\n [attr.disabled]=\"model.isInputReadOnly ? true : null\" (click)=\"click($event)\" (blur)=\"blur($event)\"\n (keydown)=\"keyhandler($event)\" [attr.id]=\"model.inputId\" [attr.aria-required]=\"model.ariaRequired\"\n [attr.aria-label]=\"model.ariaLabel\" [attr.aria-invalid]=\"model.ariaInvalid\"\n [attr.aria-describedby]=\"model.ariaDescribedBy\" [attr.role]=\"model.ariaRole\">\n <div [class]=\"model.cssClasses.controlValue\">\n <ng-container *ngIf=\"!model.isEmpty()\">\n <sv-ng-tagbox-item *ngFor=\"let item of model.selectedItems\" [item]=\"item\" [question]=\"model\">\n </sv-ng-tagbox-item>\n </ng-container>\n <ng-template [component]=\"{ name: 'sv-tagbox-filter', data: { model: dropdownModel, question: model } }\"></ng-template>\n </div>\n <div *ngIf=\"(model.allowClear && model.cssClasses.cleanButtonIconId)\" [class]=\"model.cssClasses.cleanButton\"\n (click)=\"clear($event)\" [visible]=\"!model.isEmpty()\">\n <!-- ko component: { name: 'sv-svg-icon', params: { css: model.cssClasses.cleanButtonSvg, iconName: model.cssClasses.cleanButtonIconId, size: 'auto' } } -->\n <!-- /ko -->\n <svg [iconName]=\"model.cssClasses.cleanButtonIconId\" [partCss]=\"model.cssClasses.cleanButtonSvg\" [title]=\"model.cleanButtonCaption\"\n [size]=\"'auto'\" sv-ng-svg-icon></svg>\n </div>\n </div>\n <sv-ng-popup *ngIf=\"!model.isReadOnly\" [popupModel]=\"model.popupModel\"></sv-ng-popup>\n <div disabled *ngIf=\"model.isReadOnly\" [class]=\"model.getControlClass()\" [attr.id]=\"model.inputId\">\n <div>{{ model.readOnlyText }}</div>\n </div>\n</div>" }]
41
41
  }], propDecorators: { model: [{
42
42
  type: Input
43
43
  }] } });
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnYm94LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N1cnZleS1hbmd1bGFyLXVpL3NyYy9jb21wb25lbnRzL3RhZ2JveC90YWdib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3VydmV5LWFuZ3VsYXItdWkvc3JjL2NvbXBvbmVudHMvdGFnYm94L3RhZ2JveC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sYUFBYSxDQUFDOzs7Ozs7OztBQU0zRCxNQUFNLE9BQU8sZUFBZTtJQUl4QixJQUFJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztJQUNoQyxDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixJQUFJLElBQUksNEJBQTRCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hHLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGlCQUFpQixFQUFFLE9BQU8sRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxLQUFLLENBQUMsS0FBVTtRQUNkLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUNELEtBQUssQ0FBQyxLQUFVO1FBQ2QsSUFBSSxDQUFDLGlCQUFpQixFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBQ0QsVUFBVSxDQUFDLEtBQVU7UUFDbkIsSUFBSSxDQUFDLGlCQUFpQixFQUFFLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBQ0QsSUFBSSxDQUFDLEtBQVU7UUFDYixJQUFJLENBQUMsaUJBQWlCLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hDLENBQUM7OzRHQS9CUSxlQUFlO2dHQUFmLGVBQWUsa0dDUDVCLG8zREF1Qk07MkZEaEJPLGVBQWU7a0JBSjNCLFNBQVM7K0JBQ0UsZ0NBQWdDOzhCQUkvQixLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBEcm9wZG93bk11bHRpU2VsZWN0TGlzdE1vZGVsIH0gZnJvbSBcInN1cnZleS1jb3JlXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJzdi1uZy10YWdib3gsICdbc3YtbmctdGFnYm94XSdcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi90YWdib3guY29tcG9uZW50Lmh0bWxcIlxufSlcbmV4cG9ydCBjbGFzcyBUYWdib3hDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uSW5pdCB7XG4gICAgQElucHV0KCkgbW9kZWw6IGFueTtcbiAgICBwcml2YXRlIGRyb3Bkb3duTGlzdE1vZGVsITogRHJvcGRvd25NdWx0aVNlbGVjdExpc3RNb2RlbDtcblxuICAgIGdldCBkcm9wZG93bk1vZGVsKCk6IERyb3Bkb3duTXVsdGlTZWxlY3RMaXN0TW9kZWwge1xuICAgICAgcmV0dXJuIHRoaXMuZHJvcGRvd25MaXN0TW9kZWw7XG4gICAgfVxuXG4gICAgZ2V0TW9kZWwoKSB7XG4gICAgICByZXR1cm4gdGhpcy5tb2RlbDtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgIHRoaXMuZHJvcGRvd25MaXN0TW9kZWwgPSB0aGlzLm1vZGVsLmRyb3Bkb3duTGlzdE1vZGVsIHx8IG5ldyBEcm9wZG93bk11bHRpU2VsZWN0TGlzdE1vZGVsKHRoaXMubW9kZWwpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgdGhpcy5kcm9wZG93bkxpc3RNb2RlbD8uZGlzcG9zZSgpO1xuICAgIH1cblxuICAgIGNsaWNrKGV2ZW50OiBhbnkpIHtcbiAgICAgIHRoaXMuZHJvcGRvd25MaXN0TW9kZWw/Lm9uQ2xpY2soZXZlbnQpO1xuICAgIH1cbiAgICBjbGVhcihldmVudDogYW55KSB7XG4gICAgICB0aGlzLmRyb3Bkb3duTGlzdE1vZGVsPy5vbkNsZWFyKGV2ZW50KTtcbiAgICB9XG4gICAga2V5aGFuZGxlcihldmVudDogYW55KSB7XG4gICAgICB0aGlzLmRyb3Bkb3duTGlzdE1vZGVsPy5rZXlIYW5kbGVyKGV2ZW50KTtcbiAgICB9XG4gICAgYmx1cihldmVudDogYW55KSB7XG4gICAgICB0aGlzLmRyb3Bkb3duTGlzdE1vZGVsPy5vbkJsdXIoZXZlbnQpO1xuICAgIH1cbn0iLCI8ZGl2IFtjbGFzc109XCJtb2RlbC5jc3NDbGFzc2VzLnNlbGVjdFdyYXBwZXJcIj5cbiAgICA8ZGl2ICpuZ0lmPVwiIW1vZGVsLmlzUmVhZE9ubHlcIiBbYXR0ci50YWJpbmRleF09XCJkcm9wZG93bk1vZGVsLmlucHV0UmVhZE9ubHkgPyBudWxsIDogMFwiIFtjbGFzc109XCJtb2RlbC5nZXRDb250cm9sQ2xhc3MoKVwiXG4gICAgICAgIFthdHRyLmRpc2FibGVkXT1cIm1vZGVsLmlzSW5wdXRSZWFkT25seSA/IHRydWUgOiBudWxsXCIgKGNsaWNrKT1cImNsaWNrKCRldmVudClcIiAoYmx1cik9XCJibHVyKCRldmVudClcIlxuICAgICAgICAoa2V5ZG93bik9XCJrZXloYW5kbGVyKCRldmVudClcIiBbYXR0ci5pZF09XCJtb2RlbC5pbnB1dElkXCIgW2F0dHIuYXJpYS1yZXF1aXJlZF09XCJtb2RlbC5hcmlhUmVxdWlyZWRcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIm1vZGVsLmFyaWFMYWJlbFwiIFthdHRyLmFyaWEtaW52YWxpZF09XCJtb2RlbC5hcmlhSW52YWxpZFwiXG4gICAgICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwibW9kZWwuYXJpYURlc2NyaWJlZEJ5XCIgW2F0dHIucm9sZV09XCJtb2RlbC5hcmlhUm9sZVwiPlxuICAgICAgICA8ZGl2IFtjbGFzc109XCJtb2RlbC5jc3NDbGFzc2VzLmNvbnRyb2xWYWx1ZVwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFtb2RlbC5pc0VtcHR5KClcIj5cbiAgICAgICAgICAgICAgICA8c3YtbmctdGFnYm94LWl0ZW0gKm5nRm9yPVwibGV0IGl0ZW0gb2YgbW9kZWwuc2VsZWN0ZWRJdGVtc1wiIFtpdGVtXT1cIml0ZW1cIiBbcXVlc3Rpb25dPVwibW9kZWxcIj5cbiAgICAgICAgICAgICAgICA8L3N2LW5nLXRhZ2JveC1pdGVtPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgW2NvbXBvbmVudF09XCJ7IG5hbWU6ICdzdi10YWdib3gtZmlsdGVyJywgZGF0YTogeyBtb2RlbDogZHJvcGRvd25Nb2RlbCwgcXVlc3Rpb246IG1vZGVsIH0gfVwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2ICpuZ0lmPVwiKG1vZGVsLmFsbG93Q2xlYXIgJiYgbW9kZWwuY3NzQ2xhc3Nlcy5jbGVhbkJ1dHRvbkljb25JZClcIiBbY2xhc3NdPVwibW9kZWwuY3NzQ2xhc3Nlcy5jbGVhbkJ1dHRvblwiXG4gICAgICAgICAgICAoY2xpY2spPVwiY2xlYXIoJGV2ZW50KVwiIFt2aXNpYmxlXT1cIiFtb2RlbC5pc0VtcHR5KClcIj5cbiAgICAgICAgICAgIDwhLS0ga28gY29tcG9uZW50OiB7IG5hbWU6ICdzdi1zdmctaWNvbicsIHBhcmFtczogeyBjc3M6IG1vZGVsLmNzc0NsYXNzZXMuY2xlYW5CdXR0b25TdmcsIGljb25OYW1lOiBtb2RlbC5jc3NDbGFzc2VzLmNsZWFuQnV0dG9uSWNvbklkLCBzaXplOiAnYXV0bycgfSB9IC0tPlxuICAgICAgICAgICAgPCEtLSAva28gLS0+XG4gICAgICAgICAgICA8c3ZnIFtpY29uTmFtZV09XCJtb2RlbC5jc3NDbGFzc2VzLmNsZWFuQnV0dG9uSWNvbklkXCIgW3BhcnRDc3NdPVwibW9kZWwuY3NzQ2xhc3Nlcy5jbGVhbkJ1dHRvblN2Z1wiIFt0aXRsZV09XCJtb2RlbC5jbGVhbkJ1dHRvbkNhcHRpb25cIlxuICAgICAgICAgICAgICAgIFtzaXplXT1cIidhdXRvJ1wiIHN2LW5nLXN2Zy1pY29uPjwvc3ZnPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8c3YtbmctcG9wdXAgKm5nSWY9XCIhbW9kZWwuaXNSZWFkT25seVwiIFtwb3B1cE1vZGVsXT1cIm1vZGVsLnBvcHVwTW9kZWxcIj48L3N2LW5nLXBvcHVwPlxuICAgIDxkaXYgZGlzYWJsZWQgKm5nSWY9XCJtb2RlbC5pc1JlYWRPbmx5XCIgW2NsYXNzXT1cIm1vZGVsLmdldENvbnRyb2xDbGFzcygpXCIgW2F0dHIuaWRdPVwibW9kZWwuaW5wdXRJZFwiPnt7IG1vZGVsLnJlYWRPbmx5VGV4dCB9fTwvZGl2PlxuPC9kaXY+Il19
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnYm94LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N1cnZleS1hbmd1bGFyLXVpL3NyYy9jb21wb25lbnRzL3RhZ2JveC90YWdib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3VydmV5LWFuZ3VsYXItdWkvc3JjL2NvbXBvbmVudHMvdGFnYm94L3RhZ2JveC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sYUFBYSxDQUFDOzs7Ozs7OztBQU0zRCxNQUFNLE9BQU8sZUFBZTtJQUl4QixJQUFJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztJQUNoQyxDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixJQUFJLElBQUksNEJBQTRCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hHLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGlCQUFpQixFQUFFLE9BQU8sRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxLQUFLLENBQUMsS0FBVTtRQUNkLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUNELEtBQUssQ0FBQyxLQUFVO1FBQ2QsSUFBSSxDQUFDLGlCQUFpQixFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBQ0QsVUFBVSxDQUFDLEtBQVU7UUFDbkIsSUFBSSxDQUFDLGlCQUFpQixFQUFFLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBQ0QsSUFBSSxDQUFDLEtBQVU7UUFDYixJQUFJLENBQUMsaUJBQWlCLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hDLENBQUM7OzRHQS9CUSxlQUFlO2dHQUFmLGVBQWUsa0dDUDVCLCs0REF5Qk07MkZEbEJPLGVBQWU7a0JBSjNCLFNBQVM7K0JBQ0UsZ0NBQWdDOzhCQUkvQixLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBEcm9wZG93bk11bHRpU2VsZWN0TGlzdE1vZGVsIH0gZnJvbSBcInN1cnZleS1jb3JlXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJzdi1uZy10YWdib3gsICdbc3YtbmctdGFnYm94XSdcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi90YWdib3guY29tcG9uZW50Lmh0bWxcIlxufSlcbmV4cG9ydCBjbGFzcyBUYWdib3hDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uSW5pdCB7XG4gICAgQElucHV0KCkgbW9kZWw6IGFueTtcbiAgICBwcml2YXRlIGRyb3Bkb3duTGlzdE1vZGVsITogRHJvcGRvd25NdWx0aVNlbGVjdExpc3RNb2RlbDtcblxuICAgIGdldCBkcm9wZG93bk1vZGVsKCk6IERyb3Bkb3duTXVsdGlTZWxlY3RMaXN0TW9kZWwge1xuICAgICAgcmV0dXJuIHRoaXMuZHJvcGRvd25MaXN0TW9kZWw7XG4gICAgfVxuXG4gICAgZ2V0TW9kZWwoKSB7XG4gICAgICByZXR1cm4gdGhpcy5tb2RlbDtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgIHRoaXMuZHJvcGRvd25MaXN0TW9kZWwgPSB0aGlzLm1vZGVsLmRyb3Bkb3duTGlzdE1vZGVsIHx8IG5ldyBEcm9wZG93bk11bHRpU2VsZWN0TGlzdE1vZGVsKHRoaXMubW9kZWwpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgdGhpcy5kcm9wZG93bkxpc3RNb2RlbD8uZGlzcG9zZSgpO1xuICAgIH1cblxuICAgIGNsaWNrKGV2ZW50OiBhbnkpIHtcbiAgICAgIHRoaXMuZHJvcGRvd25MaXN0TW9kZWw/Lm9uQ2xpY2soZXZlbnQpO1xuICAgIH1cbiAgICBjbGVhcihldmVudDogYW55KSB7XG4gICAgICB0aGlzLmRyb3Bkb3duTGlzdE1vZGVsPy5vbkNsZWFyKGV2ZW50KTtcbiAgICB9XG4gICAga2V5aGFuZGxlcihldmVudDogYW55KSB7XG4gICAgICB0aGlzLmRyb3Bkb3duTGlzdE1vZGVsPy5rZXlIYW5kbGVyKGV2ZW50KTtcbiAgICB9XG4gICAgYmx1cihldmVudDogYW55KSB7XG4gICAgICB0aGlzLmRyb3Bkb3duTGlzdE1vZGVsPy5vbkJsdXIoZXZlbnQpO1xuICAgIH1cbn0iLCI8ZGl2IFtjbGFzc109XCJtb2RlbC5jc3NDbGFzc2VzLnNlbGVjdFdyYXBwZXJcIj5cbiAgICA8ZGl2ICpuZ0lmPVwiIW1vZGVsLmlzUmVhZE9ubHlcIiBbYXR0ci50YWJpbmRleF09XCJkcm9wZG93bk1vZGVsLmlucHV0UmVhZE9ubHkgPyBudWxsIDogMFwiIFtjbGFzc109XCJtb2RlbC5nZXRDb250cm9sQ2xhc3MoKVwiXG4gICAgICAgIFthdHRyLmRpc2FibGVkXT1cIm1vZGVsLmlzSW5wdXRSZWFkT25seSA/IHRydWUgOiBudWxsXCIgKGNsaWNrKT1cImNsaWNrKCRldmVudClcIiAoYmx1cik9XCJibHVyKCRldmVudClcIlxuICAgICAgICAoa2V5ZG93bik9XCJrZXloYW5kbGVyKCRldmVudClcIiBbYXR0ci5pZF09XCJtb2RlbC5pbnB1dElkXCIgW2F0dHIuYXJpYS1yZXF1aXJlZF09XCJtb2RlbC5hcmlhUmVxdWlyZWRcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIm1vZGVsLmFyaWFMYWJlbFwiIFthdHRyLmFyaWEtaW52YWxpZF09XCJtb2RlbC5hcmlhSW52YWxpZFwiXG4gICAgICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwibW9kZWwuYXJpYURlc2NyaWJlZEJ5XCIgW2F0dHIucm9sZV09XCJtb2RlbC5hcmlhUm9sZVwiPlxuICAgICAgICA8ZGl2IFtjbGFzc109XCJtb2RlbC5jc3NDbGFzc2VzLmNvbnRyb2xWYWx1ZVwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFtb2RlbC5pc0VtcHR5KClcIj5cbiAgICAgICAgICAgICAgICA8c3YtbmctdGFnYm94LWl0ZW0gKm5nRm9yPVwibGV0IGl0ZW0gb2YgbW9kZWwuc2VsZWN0ZWRJdGVtc1wiIFtpdGVtXT1cIml0ZW1cIiBbcXVlc3Rpb25dPVwibW9kZWxcIj5cbiAgICAgICAgICAgICAgICA8L3N2LW5nLXRhZ2JveC1pdGVtPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgW2NvbXBvbmVudF09XCJ7IG5hbWU6ICdzdi10YWdib3gtZmlsdGVyJywgZGF0YTogeyBtb2RlbDogZHJvcGRvd25Nb2RlbCwgcXVlc3Rpb246IG1vZGVsIH0gfVwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2ICpuZ0lmPVwiKG1vZGVsLmFsbG93Q2xlYXIgJiYgbW9kZWwuY3NzQ2xhc3Nlcy5jbGVhbkJ1dHRvbkljb25JZClcIiBbY2xhc3NdPVwibW9kZWwuY3NzQ2xhc3Nlcy5jbGVhbkJ1dHRvblwiXG4gICAgICAgICAgICAoY2xpY2spPVwiY2xlYXIoJGV2ZW50KVwiIFt2aXNpYmxlXT1cIiFtb2RlbC5pc0VtcHR5KClcIj5cbiAgICAgICAgICAgIDwhLS0ga28gY29tcG9uZW50OiB7IG5hbWU6ICdzdi1zdmctaWNvbicsIHBhcmFtczogeyBjc3M6IG1vZGVsLmNzc0NsYXNzZXMuY2xlYW5CdXR0b25TdmcsIGljb25OYW1lOiBtb2RlbC5jc3NDbGFzc2VzLmNsZWFuQnV0dG9uSWNvbklkLCBzaXplOiAnYXV0bycgfSB9IC0tPlxuICAgICAgICAgICAgPCEtLSAva28gLS0+XG4gICAgICAgICAgICA8c3ZnIFtpY29uTmFtZV09XCJtb2RlbC5jc3NDbGFzc2VzLmNsZWFuQnV0dG9uSWNvbklkXCIgW3BhcnRDc3NdPVwibW9kZWwuY3NzQ2xhc3Nlcy5jbGVhbkJ1dHRvblN2Z1wiIFt0aXRsZV09XCJtb2RlbC5jbGVhbkJ1dHRvbkNhcHRpb25cIlxuICAgICAgICAgICAgICAgIFtzaXplXT1cIidhdXRvJ1wiIHN2LW5nLXN2Zy1pY29uPjwvc3ZnPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8c3YtbmctcG9wdXAgKm5nSWY9XCIhbW9kZWwuaXNSZWFkT25seVwiIFtwb3B1cE1vZGVsXT1cIm1vZGVsLnBvcHVwTW9kZWxcIj48L3N2LW5nLXBvcHVwPlxuICAgIDxkaXYgZGlzYWJsZWQgKm5nSWY9XCJtb2RlbC5pc1JlYWRPbmx5XCIgW2NsYXNzXT1cIm1vZGVsLmdldENvbnRyb2xDbGFzcygpXCIgW2F0dHIuaWRdPVwibW9kZWwuaW5wdXRJZFwiPlxuICAgICAgICA8ZGl2Pnt7IG1vZGVsLnJlYWRPbmx5VGV4dCB9fTwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+Il19
@@ -35,11 +35,11 @@ export class ElementComponent extends BaseAngular {
35
35
  }
36
36
  }
37
37
  ElementComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ElementComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
38
- ElementComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: ElementComponent, selector: "sv-ng-element", inputs: { model: "model" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div [class]=\"model.cssClasses.questionWrapper\" [style]=\"model.rootStyle\">\n <ng-template [component]=\"{ name: componentName, data: componentData }\"></ng-template>\n </div>\n</ng-template>", directives: [{ type: i1.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
38
+ ElementComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: ElementComponent, selector: "sv-ng-element", inputs: { model: "model" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div [class]=\"model.cssClasses.questionWrapper\" [style]=\"model.rootStyle\" (focusin)=\"model.focusIn()\">\n <ng-template [component]=\"{ name: componentName, data: componentData }\"></ng-template>\n </div>\n</ng-template>", styles: [":host{display:none}\n"], directives: [{ type: i1.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
39
39
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ElementComponent, decorators: [{
40
40
  type: Component,
41
- args: [{ selector: "sv-ng-element", template: "<ng-template #template>\n <div [class]=\"model.cssClasses.questionWrapper\" [style]=\"model.rootStyle\">\n <ng-template [component]=\"{ name: componentName, data: componentData }\"></ng-template>\n </div>\n</ng-template>" }]
41
+ args: [{ selector: "sv-ng-element", template: "<ng-template #template>\n <div [class]=\"model.cssClasses.questionWrapper\" [style]=\"model.rootStyle\" (focusin)=\"model.focusIn()\">\n <ng-template [component]=\"{ name: componentName, data: componentData }\"></ng-template>\n </div>\n</ng-template>", styles: [":host{display:none}\n"] }]
42
42
  }], propDecorators: { model: [{
43
43
  type: Input
44
44
  }] } });
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wYWNrYWdlcy9zdXJ2ZXktYW5ndWxhci11aS9zcmMvZWxlbWVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi9wYWNrYWdlcy9zdXJ2ZXktYW5ndWxhci11aS9zcmMvZWxlbWVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBRSxLQUFLLEVBQW9CLE1BQU0sZUFBZSxDQUFDO0FBRXRGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBTTdDLE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxXQUFrQztJQUU1RCxRQUFRO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBQ0QsSUFBYyxvQkFBb0I7UUFDaEMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFBLENBQUMsQ0FBQyxVQUFVLENBQUM7SUFDbEQsQ0FBQztJQUNELElBQVcsYUFBYTtRQUN0QixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsV0FBMEIsQ0FBQztRQUMvQyxJQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUU7WUFDWCxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsOEJBQThCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQy9ELElBQUcsQ0FBQyxDQUFDLElBQUksRUFBRTtnQkFDVCxPQUFPLElBQUksQ0FBQzthQUNiO1NBQ0Y7UUFDRCxPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQztJQUNuQyxDQUFDO0lBQ0QsSUFBVyxhQUFhO1FBQ3RCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxXQUEwQixDQUFDO1FBQy9DLElBQUksSUFBUyxDQUFDO1FBQ2QsSUFBRyxDQUFDLENBQUMsTUFBTSxFQUFFO1lBQ1gsSUFBSSxHQUFHLE1BQU0sQ0FBQyw4QkFBOEIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDMUQ7UUFDRCxPQUFPO1lBQ0wsYUFBYSxFQUFFLElBQUksQ0FBQyxvQkFBb0I7WUFDeEMsYUFBYSxFQUFFO2dCQUNiLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztnQkFDakIsSUFBSSxFQUFFLElBQUk7YUFDWDtTQUNGLENBQUM7SUFDSixDQUFDOzs2R0EvQlUsZ0JBQWdCO2lHQUFoQixnQkFBZ0Isd0dDUjdCLDJPQUljOzJGRElELGdCQUFnQjtrQkFKNUIsU0FBUzsrQkFDRSxlQUFlOzhCQUloQixLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbnB1dCwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBCdXR0b25Hcm91cEl0ZW1Nb2RlbCwgUGFuZWxNb2RlbCwgUXVlc3Rpb24sIFN1cnZleU1vZGVsIH0gZnJvbSBcInN1cnZleS1jb3JlXCI7XG5pbXBvcnQgeyBCYXNlQW5ndWxhciB9IGZyb20gXCIuL2Jhc2UtYW5ndWxhclwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwic3YtbmctZWxlbWVudFwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL2VsZW1lbnQuY29tcG9uZW50Lmh0bWxcIlxufSlcbmV4cG9ydCBjbGFzcyBFbGVtZW50Q29tcG9uZW50IGV4dGVuZHMgQmFzZUFuZ3VsYXI8UGFuZWxNb2RlbCB8IFF1ZXN0aW9uPiB7XG4gIEBJbnB1dCgpIG1vZGVsITogUGFuZWxNb2RlbCB8IFF1ZXN0aW9uO1xuICBwcm90ZWN0ZWQgZ2V0TW9kZWwoKTogUGFuZWxNb2RlbCB8IFF1ZXN0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5tb2RlbDtcbiAgfVxuICBwcm90ZWN0ZWQgZ2V0IGVsZW1lbnRDb21wb25lbnROYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMubW9kZWwuaXNQYW5lbCA/IFwicGFuZWxcIjogXCJxdWVzdGlvblwiO1xuICB9XG4gIHB1YmxpYyBnZXQgY29tcG9uZW50TmFtZSgpOiBzdHJpbmcge1xuICAgIGNvbnN0IHN1cnZleSA9IHRoaXMuc3VydmV5TW9kZWwgYXMgU3VydmV5TW9kZWw7XG4gICAgaWYoISFzdXJ2ZXkpIHtcbiAgICAgIGNvbnN0IG5hbWUgPSBzdXJ2ZXkuZ2V0RWxlbWVudFdyYXBwZXJDb21wb25lbnROYW1lKHRoaXMubW9kZWwpO1xuICAgICAgaWYoISFuYW1lKSB7XG4gICAgICAgIHJldHVybiBuYW1lO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdGhpcy5lbGVtZW50Q29tcG9uZW50TmFtZTtcbiAgfVxuICBwdWJsaWMgZ2V0IGNvbXBvbmVudERhdGEoKTogYW55IHtcbiAgICBjb25zdCBzdXJ2ZXkgPSB0aGlzLnN1cnZleU1vZGVsIGFzIFN1cnZleU1vZGVsO1xuICAgIGxldCBkYXRhOiBhbnk7XG4gICAgaWYoISFzdXJ2ZXkpIHtcbiAgICAgIGRhdGEgPSBzdXJ2ZXkuZ2V0RWxlbWVudFdyYXBwZXJDb21wb25lbnREYXRhKHRoaXMubW9kZWwpO1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgY29tcG9uZW50TmFtZTogdGhpcy5lbGVtZW50Q29tcG9uZW50TmFtZSxcbiAgICAgIGNvbXBvbmVudERhdGE6IHtcbiAgICAgICAgbW9kZWw6IHRoaXMubW9kZWwsXG4gICAgICAgIGRhdGE6IGRhdGFcbiAgICAgIH1cbiAgICB9O1xuICB9XG59IiwiPG5nLXRlbXBsYXRlICN0ZW1wbGF0ZT5cbiAgICA8ZGl2IFtjbGFzc109XCJtb2RlbC5jc3NDbGFzc2VzLnF1ZXN0aW9uV3JhcHBlclwiIFtzdHlsZV09XCJtb2RlbC5yb290U3R5bGVcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIFtjb21wb25lbnRdPVwieyBuYW1lOiBjb21wb25lbnROYW1lLCBkYXRhOiBjb21wb25lbnREYXRhIH1cIj48L25nLXRlbXBsYXRlPlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT4iXX0=
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wYWNrYWdlcy9zdXJ2ZXktYW5ndWxhci11aS9zcmMvZWxlbWVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi9wYWNrYWdlcy9zdXJ2ZXktYW5ndWxhci11aS9zcmMvZWxlbWVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQU83QyxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsV0FBa0M7SUFFNUQsUUFBUTtRQUNoQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUNELElBQWMsb0JBQW9CO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQSxDQUFDLENBQUMsVUFBVSxDQUFDO0lBQ2xELENBQUM7SUFDRCxJQUFXLGFBQWE7UUFDdEIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFdBQTBCLENBQUM7UUFDL0MsSUFBRyxDQUFDLENBQUMsTUFBTSxFQUFFO1lBQ1gsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLDhCQUE4QixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMvRCxJQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUU7Z0JBQ1QsT0FBTyxJQUFJLENBQUM7YUFDYjtTQUNGO1FBQ0QsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUM7SUFDbkMsQ0FBQztJQUNELElBQVcsYUFBYTtRQUN0QixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsV0FBMEIsQ0FBQztRQUMvQyxJQUFJLElBQVMsQ0FBQztRQUNkLElBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRTtZQUNYLElBQUksR0FBRyxNQUFNLENBQUMsOEJBQThCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzFEO1FBQ0QsT0FBTztZQUNMLGFBQWEsRUFBRSxJQUFJLENBQUMsb0JBQW9CO1lBQ3hDLGFBQWEsRUFBRTtnQkFDYixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7Z0JBQ2pCLElBQUksRUFBRSxJQUFJO2FBQ1g7U0FDRixDQUFDO0lBQ0osQ0FBQzs7NkdBL0JVLGdCQUFnQjtpR0FBaEIsZ0JBQWdCLHdHQ1Q3Qix5UUFJYzsyRkRLRCxnQkFBZ0I7a0JBTDVCLFNBQVM7K0JBQ0UsZUFBZTs4QkFLaEIsS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBQYW5lbE1vZGVsLCBRdWVzdGlvbiwgU3VydmV5TW9kZWwgfSBmcm9tIFwic3VydmV5LWNvcmVcIjtcbmltcG9ydCB7IEJhc2VBbmd1bGFyIH0gZnJvbSBcIi4vYmFzZS1hbmd1bGFyXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJzdi1uZy1lbGVtZW50XCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vZWxlbWVudC5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFtcIi4vaGlkZS1ob3N0LnNjc3NcIl1cbn0pXG5leHBvcnQgY2xhc3MgRWxlbWVudENvbXBvbmVudCBleHRlbmRzIEJhc2VBbmd1bGFyPFBhbmVsTW9kZWwgfCBRdWVzdGlvbj4ge1xuICBASW5wdXQoKSBtb2RlbCE6IFBhbmVsTW9kZWwgfCBRdWVzdGlvbjtcbiAgcHJvdGVjdGVkIGdldE1vZGVsKCk6IFBhbmVsTW9kZWwgfCBRdWVzdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMubW9kZWw7XG4gIH1cbiAgcHJvdGVjdGVkIGdldCBlbGVtZW50Q29tcG9uZW50TmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLm1vZGVsLmlzUGFuZWwgPyBcInBhbmVsXCI6IFwicXVlc3Rpb25cIjtcbiAgfVxuICBwdWJsaWMgZ2V0IGNvbXBvbmVudE5hbWUoKTogc3RyaW5nIHtcbiAgICBjb25zdCBzdXJ2ZXkgPSB0aGlzLnN1cnZleU1vZGVsIGFzIFN1cnZleU1vZGVsO1xuICAgIGlmKCEhc3VydmV5KSB7XG4gICAgICBjb25zdCBuYW1lID0gc3VydmV5LmdldEVsZW1lbnRXcmFwcGVyQ29tcG9uZW50TmFtZSh0aGlzLm1vZGVsKTtcbiAgICAgIGlmKCEhbmFtZSkge1xuICAgICAgICByZXR1cm4gbmFtZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudENvbXBvbmVudE5hbWU7XG4gIH1cbiAgcHVibGljIGdldCBjb21wb25lbnREYXRhKCk6IGFueSB7XG4gICAgY29uc3Qgc3VydmV5ID0gdGhpcy5zdXJ2ZXlNb2RlbCBhcyBTdXJ2ZXlNb2RlbDtcbiAgICBsZXQgZGF0YTogYW55O1xuICAgIGlmKCEhc3VydmV5KSB7XG4gICAgICBkYXRhID0gc3VydmV5LmdldEVsZW1lbnRXcmFwcGVyQ29tcG9uZW50RGF0YSh0aGlzLm1vZGVsKTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbXBvbmVudE5hbWU6IHRoaXMuZWxlbWVudENvbXBvbmVudE5hbWUsXG4gICAgICBjb21wb25lbnREYXRhOiB7XG4gICAgICAgIG1vZGVsOiB0aGlzLm1vZGVsLFxuICAgICAgICBkYXRhOiBkYXRhXG4gICAgICB9XG4gICAgfTtcbiAgfVxufSIsIjxuZy10ZW1wbGF0ZSAjdGVtcGxhdGU+XG4gICAgPGRpdiBbY2xhc3NdPVwibW9kZWwuY3NzQ2xhc3Nlcy5xdWVzdGlvbldyYXBwZXJcIiBbc3R5bGVdPVwibW9kZWwucm9vdFN0eWxlXCIgKGZvY3VzaW4pPVwibW9kZWwuZm9jdXNJbigpXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbY29tcG9uZW50XT1cInsgbmFtZTogY29tcG9uZW50TmFtZSwgZGF0YTogY29tcG9uZW50RGF0YSB9XCI+PC9uZy10ZW1wbGF0ZT5cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+Il19
@@ -5,13 +5,14 @@ import * as i1 from "./components/element-title/element-title.component";
5
5
  import * as i2 from "./survey-string.component";
6
6
  import * as i3 from "./row.component";
7
7
  import * as i4 from "@angular/common";
8
+ import * as i5 from "./utils/dynamic.directive";
8
9
  export class PageComponent extends BaseAngular {
9
10
  getModel() {
10
11
  return this.model;
11
12
  }
12
- ngOnChanges(changes) {
13
- if (changes["model"].previousValue !== undefined) {
14
- this.model.survey.afterRenderPage(this.pageContainerRef?.nativeElement);
13
+ onModelChanged() {
14
+ if (!!this.pageContainerRef && this.pageContainerRef.nativeElement) {
15
+ this.model.survey.afterRenderPage(this.pageContainerRef.nativeElement);
15
16
  }
16
17
  }
17
18
  ngAfterViewInit() {
@@ -19,10 +20,10 @@ export class PageComponent extends BaseAngular {
19
20
  }
20
21
  }
21
22
  PageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: PageComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
22
- PageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: PageComponent, selector: "page", inputs: { model: "model", survey: "survey" }, viewQueries: [{ propertyName: "pageContainerRef", first: true, predicate: ["pageContainer"], descendants: true, read: ElementRef }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"!!this.survey && !!this.model && this.model.isVisible && !!this.model.survey\">\n <div [class]=\"model.cssRoot\" #pageContainer>\n <sv-ng-element-title [element]=\"model\"></sv-ng-element-title>\n <div *ngIf=\"model._showDescription\" [class]=\"model.cssClasses.page.description\">\n <sv-ng-string [model]=\"model.locDescription\"></sv-ng-string>\n </div>\n <ng-container *ngFor=\"let row of model.rows\">\n <sv-ng-row [row]=\"row\" style=\"display: contents;\"></sv-ng-row>\n </ng-container>\n </div>\n</ng-container>", styles: [""], components: [{ type: i1.ElementTitleComponent, selector: "sv-ng-element-title", inputs: ["element"] }, { type: i2.SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }, { type: i3.RowComponent, selector: "sv-ng-row", inputs: ["row"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
23
+ PageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: PageComponent, selector: "page", inputs: { model: "model", survey: "survey" }, viewQueries: [{ propertyName: "pageContainerRef", first: true, predicate: ["pageContainer"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"!!this.survey && !!this.model && this.model.isVisible && !!this.model.survey\">\n <div [class]=\"model.cssRoot\" #pageContainer>\n <sv-ng-element-title [element]=\"model\"></sv-ng-element-title>\n <div *ngIf=\"model._showDescription\" [class]=\"model.cssClasses.page.description\">\n <sv-ng-string [model]=\"model.locDescription\"></sv-ng-string>\n </div>\n <ng-container *ngFor=\"let row of model.rows\">\n <ng-template [component]=\"{ name: $any(model.survey).getRowWrapperComponentName(row), data: { componentData: $any(model.survey).getRowWrapperComponentData(row) } }\">\n <sv-ng-row [row]=\"row\"></sv-ng-row>\n </ng-template>\n </ng-container>\n </div>\n</ng-container>", styles: [""], components: [{ type: i1.ElementTitleComponent, selector: "sv-ng-element-title", inputs: ["element"] }, { type: i2.SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }, { type: i3.RowComponent, selector: "sv-ng-row", inputs: ["row"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
23
24
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: PageComponent, decorators: [{
24
25
  type: Component,
25
- args: [{ selector: "page", template: "<ng-container *ngIf=\"!!this.survey && !!this.model && this.model.isVisible && !!this.model.survey\">\n <div [class]=\"model.cssRoot\" #pageContainer>\n <sv-ng-element-title [element]=\"model\"></sv-ng-element-title>\n <div *ngIf=\"model._showDescription\" [class]=\"model.cssClasses.page.description\">\n <sv-ng-string [model]=\"model.locDescription\"></sv-ng-string>\n </div>\n <ng-container *ngFor=\"let row of model.rows\">\n <sv-ng-row [row]=\"row\" style=\"display: contents;\"></sv-ng-row>\n </ng-container>\n </div>\n</ng-container>", styles: [""] }]
26
+ args: [{ selector: "page", template: "<ng-container *ngIf=\"!!this.survey && !!this.model && this.model.isVisible && !!this.model.survey\">\n <div [class]=\"model.cssRoot\" #pageContainer>\n <sv-ng-element-title [element]=\"model\"></sv-ng-element-title>\n <div *ngIf=\"model._showDescription\" [class]=\"model.cssClasses.page.description\">\n <sv-ng-string [model]=\"model.locDescription\"></sv-ng-string>\n </div>\n <ng-container *ngFor=\"let row of model.rows\">\n <ng-template [component]=\"{ name: $any(model.survey).getRowWrapperComponentName(row), data: { componentData: $any(model.survey).getRowWrapperComponentData(row) } }\">\n <sv-ng-row [row]=\"row\"></sv-ng-row>\n </ng-template>\n </ng-container>\n </div>\n</ng-container>", styles: [""] }]
26
27
  }], propDecorators: { model: [{
27
28
  type: Input
28
29
  }], survey: [{
@@ -31,4 +32,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
31
32
  type: ViewChild,
32
33
  args: ["pageContainer", { static: false, read: ElementRef }]
33
34
  }] } });
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wYWNrYWdlcy9zdXJ2ZXktYW5ndWxhci11aS9zcmMvcGFnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi9wYWNrYWdlcy9zdXJ2ZXktYW5ndWxhci11aS9zcmMvcGFnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUE0QixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakgsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7QUFNN0MsTUFBTSxPQUFPLGFBQWMsU0FBUSxXQUFzQjtJQUk3QyxRQUFRO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBQ0QsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLGFBQWEsS0FBSyxTQUFTLEVBQUU7WUFDL0MsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxhQUFhLENBQUMsQ0FBQztTQUN6RTtJQUNILENBQUM7SUFDRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsZUFBZSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUMzRSxDQUFDOzswR0FkVSxhQUFhOzhGQUFiLGFBQWEsd0xBRzJCLFVBQVUseUVDWC9ELHlqQkFVZTsyRkRGRixhQUFhO2tCQUx6QixTQUFTOytCQUNFLE1BQU07OEJBS1AsS0FBSztzQkFBYixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDMkQsZ0JBQWdCO3NCQUFoRixTQUFTO3VCQUFDLGVBQWUsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcywgVmlld0NoaWxkIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFBhZ2VNb2RlbCwgU3VydmV5TW9kZWwgfSBmcm9tIFwic3VydmV5LWNvcmVcIjtcbmltcG9ydCB7IEJhc2VBbmd1bGFyIH0gZnJvbSBcIi4vYmFzZS1hbmd1bGFyXCI7XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwicGFnZVwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL3BhZ2UuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbXCIuL3BhZ2UuY29tcG9uZW50LnNjc3NcIl1cbn0pXG5leHBvcnQgY2xhc3MgUGFnZUNvbXBvbmVudCBleHRlbmRzIEJhc2VBbmd1bGFyPFBhZ2VNb2RlbD4gaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBtb2RlbCE6IFBhZ2VNb2RlbDtcbiAgQElucHV0KCkgc3VydmV5PzogU3VydmV5TW9kZWw7XG4gIEBWaWV3Q2hpbGQoXCJwYWdlQ29udGFpbmVyXCIsIHsgc3RhdGljOiBmYWxzZSwgcmVhZDogRWxlbWVudFJlZiB9KSBwYWdlQ29udGFpbmVyUmVmITogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG4gIHByb3RlY3RlZCBnZXRNb2RlbCgpOiBQYWdlTW9kZWwge1xuICAgIHJldHVybiB0aGlzLm1vZGVsO1xuICB9XG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZihjaGFuZ2VzW1wibW9kZWxcIl0ucHJldmlvdXNWYWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLm1vZGVsLnN1cnZleS5hZnRlclJlbmRlclBhZ2UodGhpcy5wYWdlQ29udGFpbmVyUmVmPy5uYXRpdmVFbGVtZW50KTtcbiAgICB9XG4gIH1cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMubW9kZWwuc3VydmV5Py5hZnRlclJlbmRlclBhZ2UodGhpcy5wYWdlQ29udGFpbmVyUmVmPy5uYXRpdmVFbGVtZW50KTtcbiAgfVxufSIsIjxuZy1jb250YWluZXIgKm5nSWY9XCIhIXRoaXMuc3VydmV5ICYmICEhdGhpcy5tb2RlbCAmJiB0aGlzLm1vZGVsLmlzVmlzaWJsZSAmJiAhIXRoaXMubW9kZWwuc3VydmV5XCI+XG4gIDxkaXYgW2NsYXNzXT1cIm1vZGVsLmNzc1Jvb3RcIiAjcGFnZUNvbnRhaW5lcj5cbiAgICA8c3YtbmctZWxlbWVudC10aXRsZSBbZWxlbWVudF09XCJtb2RlbFwiPjwvc3YtbmctZWxlbWVudC10aXRsZT5cbiAgICA8ZGl2ICpuZ0lmPVwibW9kZWwuX3Nob3dEZXNjcmlwdGlvblwiIFtjbGFzc109XCJtb2RlbC5jc3NDbGFzc2VzLnBhZ2UuZGVzY3JpcHRpb25cIj5cbiAgICAgIDxzdi1uZy1zdHJpbmcgW21vZGVsXT1cIm1vZGVsLmxvY0Rlc2NyaXB0aW9uXCI+PC9zdi1uZy1zdHJpbmc+XG4gICAgPC9kaXY+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcm93IG9mIG1vZGVsLnJvd3NcIj5cbiAgICAgIDxzdi1uZy1yb3cgW3Jvd109XCJyb3dcIiBzdHlsZT1cImRpc3BsYXk6IGNvbnRlbnRzO1wiPjwvc3Ytbmctcm93PlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPiJdfQ==
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wYWNrYWdlcy9zdXJ2ZXktYW5ndWxhci11aS9zcmMvcGFnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi9wYWNrYWdlcy9zdXJ2ZXktYW5ndWxhci11aS9zcmMvcGFnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUE0QixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakgsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7O0FBTTdDLE1BQU0sT0FBTyxhQUFjLFNBQVEsV0FBc0I7SUFJN0MsUUFBUTtRQUNoQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUNrQixjQUFjO1FBQy9CLElBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxFQUFFO1lBQ2pFLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDeEU7SUFDSCxDQUFDO0lBQ0QsZUFBZTtRQUNiLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLGVBQWUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDM0UsQ0FBQzs7MEdBZFUsYUFBYTs4RkFBYixhQUFhLHdMQUcyQixVQUFVLG9EQ1gvRCxtdUJBWWU7MkZESkYsYUFBYTtrQkFMekIsU0FBUzsrQkFDRSxNQUFNOzhCQUtQLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQzJELGdCQUFnQjtzQkFBaEYsU0FBUzt1QkFBQyxlQUFlLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIElucHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMsIFZpZXdDaGlsZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBQYWdlTW9kZWwsIFN1cnZleU1vZGVsIH0gZnJvbSBcInN1cnZleS1jb3JlXCI7XG5pbXBvcnQgeyBCYXNlQW5ndWxhciB9IGZyb20gXCIuL2Jhc2UtYW5ndWxhclwiO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcInBhZ2VcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9wYWdlLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1wiLi9wYWdlLmNvbXBvbmVudC5zY3NzXCJdXG59KVxuZXhwb3J0IGNsYXNzIFBhZ2VDb21wb25lbnQgZXh0ZW5kcyBCYXNlQW5ndWxhcjxQYWdlTW9kZWw+IHtcbiAgQElucHV0KCkgbW9kZWwhOiBQYWdlTW9kZWw7XG4gIEBJbnB1dCgpIHN1cnZleT86IFN1cnZleU1vZGVsO1xuICBAVmlld0NoaWxkKFwicGFnZUNvbnRhaW5lclwiLCB7IHN0YXRpYzogZmFsc2UsIHJlYWQ6IEVsZW1lbnRSZWYgfSkgcGFnZUNvbnRhaW5lclJlZiE6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuICBwcm90ZWN0ZWQgZ2V0TW9kZWwoKTogUGFnZU1vZGVsIHtcbiAgICByZXR1cm4gdGhpcy5tb2RlbDtcbiAgfVxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgb25Nb2RlbENoYW5nZWQoKTogdm9pZCB7XG4gICAgaWYoISF0aGlzLnBhZ2VDb250YWluZXJSZWYgJiYgdGhpcy5wYWdlQ29udGFpbmVyUmVmLm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgIHRoaXMubW9kZWwuc3VydmV5LmFmdGVyUmVuZGVyUGFnZSh0aGlzLnBhZ2VDb250YWluZXJSZWYubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuICB9XG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLm1vZGVsLnN1cnZleT8uYWZ0ZXJSZW5kZXJQYWdlKHRoaXMucGFnZUNvbnRhaW5lclJlZj8ubmF0aXZlRWxlbWVudCk7XG4gIH1cbn0iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiISF0aGlzLnN1cnZleSAmJiAhIXRoaXMubW9kZWwgJiYgdGhpcy5tb2RlbC5pc1Zpc2libGUgJiYgISF0aGlzLm1vZGVsLnN1cnZleVwiPlxuICA8ZGl2IFtjbGFzc109XCJtb2RlbC5jc3NSb290XCIgI3BhZ2VDb250YWluZXI+XG4gICAgPHN2LW5nLWVsZW1lbnQtdGl0bGUgW2VsZW1lbnRdPVwibW9kZWxcIj48L3N2LW5nLWVsZW1lbnQtdGl0bGU+XG4gICAgPGRpdiAqbmdJZj1cIm1vZGVsLl9zaG93RGVzY3JpcHRpb25cIiBbY2xhc3NdPVwibW9kZWwuY3NzQ2xhc3Nlcy5wYWdlLmRlc2NyaXB0aW9uXCI+XG4gICAgICA8c3Ytbmctc3RyaW5nIFttb2RlbF09XCJtb2RlbC5sb2NEZXNjcmlwdGlvblwiPjwvc3Ytbmctc3RyaW5nPlxuICAgIDwvZGl2PlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHJvdyBvZiBtb2RlbC5yb3dzXCI+XG4gICAgICA8bmctdGVtcGxhdGUgW2NvbXBvbmVudF09XCJ7IG5hbWU6ICRhbnkobW9kZWwuc3VydmV5KS5nZXRSb3dXcmFwcGVyQ29tcG9uZW50TmFtZShyb3cpLCBkYXRhOiB7IGNvbXBvbmVudERhdGE6ICRhbnkobW9kZWwuc3VydmV5KS5nZXRSb3dXcmFwcGVyQ29tcG9uZW50RGF0YShyb3cpIH0gfVwiPlxuICAgICAgICA8c3Ytbmctcm93IFtyb3ddPVwicm93XCI+PC9zdi1uZy1yb3c+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPiJdfQ==
@@ -6,6 +6,7 @@ import * as i1 from "./components/element-header/element-header.component";
6
6
  import * as i2 from "./row.component";
7
7
  import * as i3 from "./components/action-bar/action-bar.component";
8
8
  import * as i4 from "@angular/common";
9
+ import * as i5 from "./utils/dynamic.directive";
9
10
  export class PanelComponent extends BaseAngular {
10
11
  constructor() {
11
12
  super(...arguments);
@@ -23,10 +24,10 @@ export class PanelComponent extends BaseAngular {
23
24
  }
24
25
  }
25
26
  PanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: PanelComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
26
- PanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: PanelComponent, selector: "sv-ng-panel, '[sv-ng-panel]'", inputs: { model: "model" }, viewQueries: [{ propertyName: "panelContainerRef", first: true, predicate: ["panelContainer"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div *ngIf=\"model.isVisible\" [attr.id]=\"model.id\" [class]=\"model.getContainerCss()\" (focusin)=\"model.focusIn()\" #panelContainer>\n <div *ngIf=\"model.hasDescription || model.hasTitle\" [element]=\"model\" sv-ng-element-header></div>\n <!-- ko template: { name: 'survey-question-errors', data: $data } -->\n <!-- /ko -->\n <div *ngIf=\"!model.isCollapsed\" [style.paddingLeft]=\"model.innerPaddingLeft\" [class]=\"model.cssClasses.panel.content\" [attr.id]=\"model.contentId\">\n <ng-container *ngFor=\"let row of model.rows; trackBy: trackRowBy\">\n <sv-ng-row [row]=\"row\" style=\"display: contents;\"></sv-ng-row>\n </ng-container>\n <sv-ng-action-bar [model]=\"model.getFooterToolbar()\"></sv-ng-action-bar>\n </div>\n </div>\n</ng-template>", components: [{ type: i1.ElementHeaderComponent, selector: "'[sv-ng-element-header]'", inputs: ["element"] }, { type: i2.RowComponent, selector: "sv-ng-row", inputs: ["row"] }, { type: i3.ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
27
+ PanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: PanelComponent, selector: "sv-ng-panel, '[sv-ng-panel]'", inputs: { model: "model" }, viewQueries: [{ propertyName: "panelContainerRef", first: true, predicate: ["panelContainer"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div *ngIf=\"model.isVisible\" [attr.id]=\"model.id\" [class]=\"model.getContainerCss()\" (focusin)=\"model.focusIn()\" #panelContainer>\n <div *ngIf=\"model.hasDescription || model.hasTitle\" [element]=\"model\" sv-ng-element-header></div>\n <!-- ko template: { name: 'survey-question-errors', data: $data } -->\n <!-- /ko -->\n <div *ngIf=\"!model.isCollapsed\" [style.paddingLeft]=\"model.innerPaddingLeft\" [class]=\"model.cssClasses.panel.content\" [attr.id]=\"model.contentId\">\n <ng-container *ngFor=\"let row of model.rows; trackBy: trackRowBy\">\n <ng-template [component]=\"{ name: $any(model.survey).getRowWrapperComponentName(row), data: { componentData: $any(model.survey).getRowWrapperComponentData(row) } }\">\n <sv-ng-row [row]=\"row\"></sv-ng-row>\n </ng-template>\n </ng-container>\n <sv-ng-action-bar [model]=\"model.getFooterToolbar()\"></sv-ng-action-bar>\n </div>\n </div>\n</ng-template>", components: [{ type: i1.ElementHeaderComponent, selector: "'[sv-ng-element-header]'", inputs: ["element"] }, { type: i2.RowComponent, selector: "sv-ng-row", inputs: ["row"] }, { type: i3.ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
27
28
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: PanelComponent, decorators: [{
28
29
  type: Component,
29
- args: [{ selector: "sv-ng-panel, '[sv-ng-panel]'", template: "<ng-template #template>\n <div *ngIf=\"model.isVisible\" [attr.id]=\"model.id\" [class]=\"model.getContainerCss()\" (focusin)=\"model.focusIn()\" #panelContainer>\n <div *ngIf=\"model.hasDescription || model.hasTitle\" [element]=\"model\" sv-ng-element-header></div>\n <!-- ko template: { name: 'survey-question-errors', data: $data } -->\n <!-- /ko -->\n <div *ngIf=\"!model.isCollapsed\" [style.paddingLeft]=\"model.innerPaddingLeft\" [class]=\"model.cssClasses.panel.content\" [attr.id]=\"model.contentId\">\n <ng-container *ngFor=\"let row of model.rows; trackBy: trackRowBy\">\n <sv-ng-row [row]=\"row\" style=\"display: contents;\"></sv-ng-row>\n </ng-container>\n <sv-ng-action-bar [model]=\"model.getFooterToolbar()\"></sv-ng-action-bar>\n </div>\n </div>\n</ng-template>" }]
30
+ args: [{ selector: "sv-ng-panel, '[sv-ng-panel]'", template: "<ng-template #template>\n <div *ngIf=\"model.isVisible\" [attr.id]=\"model.id\" [class]=\"model.getContainerCss()\" (focusin)=\"model.focusIn()\" #panelContainer>\n <div *ngIf=\"model.hasDescription || model.hasTitle\" [element]=\"model\" sv-ng-element-header></div>\n <!-- ko template: { name: 'survey-question-errors', data: $data } -->\n <!-- /ko -->\n <div *ngIf=\"!model.isCollapsed\" [style.paddingLeft]=\"model.innerPaddingLeft\" [class]=\"model.cssClasses.panel.content\" [attr.id]=\"model.contentId\">\n <ng-container *ngFor=\"let row of model.rows; trackBy: trackRowBy\">\n <ng-template [component]=\"{ name: $any(model.survey).getRowWrapperComponentName(row), data: { componentData: $any(model.survey).getRowWrapperComponentData(row) } }\">\n <sv-ng-row [row]=\"row\"></sv-ng-row>\n </ng-template>\n </ng-container>\n <sv-ng-action-bar [model]=\"model.getFooterToolbar()\"></sv-ng-action-bar>\n </div>\n </div>\n</ng-template>" }]
30
31
  }], propDecorators: { model: [{
31
32
  type: Input
32
33
  }], panelContainerRef: [{
@@ -34,4 +35,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
34
35
  args: ["panelContainer", { static: false, read: ElementRef }]
35
36
  }] } });
36
37
  AngularComponentFactory.Instance.registerComponent("panel", PanelComponent);
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFuZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGFja2FnZXMvc3VydmV5LWFuZ3VsYXItdWkvc3JjL3BhbmVsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL3BhY2thZ2VzL3N1cnZleS1hbmd1bGFyLXVpL3NyYy9wYW5lbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2RixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7OztBQUs5RCxNQUFNLE9BQU8sY0FBZSxTQUFRLFdBQXVCO0lBSjNEOztRQWVFLGVBQVUsR0FBRyxDQUFDLENBQU0sRUFBRSxHQUFRLEVBQUUsRUFBRTtZQUNoQyxPQUFPLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDaEIsQ0FBQyxDQUFBO0tBQ0Y7SUFYVyxRQUFRO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBQ0QsZUFBZTtRQUNiLElBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxhQUFhLEVBQUU7WUFDMUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDdkY7SUFDSCxDQUFDOzsyR0FWVSxjQUFjOytGQUFkLGNBQWMsZ01BRTJCLFVBQVUsb0RDVmhFLG96QkFZYzsyRkRKRCxjQUFjO2tCQUoxQixTQUFTOytCQUNFLDhCQUE4Qjs4QkFJL0IsS0FBSztzQkFBYixLQUFLO2dCQUM0RCxpQkFBaUI7c0JBQWxGLFNBQVM7dUJBQUMsZ0JBQWdCLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7O0FBYWxFLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsY0FBYyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIElucHV0LCBWaWV3Q2hpbGQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgUGFuZWxNb2RlbCB9IGZyb20gXCJzdXJ2ZXktY29yZVwiO1xuaW1wb3J0IHsgQmFzZUFuZ3VsYXIgfSBmcm9tIFwiLi9iYXNlLWFuZ3VsYXJcIjtcbmltcG9ydCB7IEFuZ3VsYXJDb21wb25lbnRGYWN0b3J5IH0gZnJvbSBcIi4vY29tcG9uZW50LWZhY3RvcnlcIjtcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJzdi1uZy1wYW5lbCwgJ1tzdi1uZy1wYW5lbF0nXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vcGFuZWwuY29tcG9uZW50Lmh0bWxcIixcbn0pXG5leHBvcnQgY2xhc3MgUGFuZWxDb21wb25lbnQgZXh0ZW5kcyBCYXNlQW5ndWxhcjxQYW5lbE1vZGVsPiBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICBASW5wdXQoKSBtb2RlbCE6IFBhbmVsTW9kZWw7XG4gIEBWaWV3Q2hpbGQoXCJwYW5lbENvbnRhaW5lclwiLCB7IHN0YXRpYzogZmFsc2UsIHJlYWQ6IEVsZW1lbnRSZWYgfSkgcGFuZWxDb250YWluZXJSZWYhOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcbiAgcHJvdGVjdGVkIGdldE1vZGVsKCk6IFBhbmVsTW9kZWwge1xuICAgIHJldHVybiB0aGlzLm1vZGVsO1xuICB9XG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBpZighIXRoaXMucGFuZWxDb250YWluZXJSZWY/Lm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgIHRoaXMubW9kZWwuc3VydmV5Py5hZnRlclJlbmRlclBhbmVsKHRoaXMubW9kZWwsIHRoaXMucGFuZWxDb250YWluZXJSZWYubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuICB9XG4gIHRyYWNrUm93QnkgPSAoXzogYW55LCByb3c6IGFueSkgPT4ge1xuICAgIHJldHVybiByb3cuaWQ7XG4gIH1cbn1cbkFuZ3VsYXJDb21wb25lbnRGYWN0b3J5Lkluc3RhbmNlLnJlZ2lzdGVyQ29tcG9uZW50KFwicGFuZWxcIiwgUGFuZWxDb21wb25lbnQpOyIsIjxuZy10ZW1wbGF0ZSAjdGVtcGxhdGU+XG4gIDxkaXYgKm5nSWY9XCJtb2RlbC5pc1Zpc2libGVcIiBbYXR0ci5pZF09XCJtb2RlbC5pZFwiIFtjbGFzc109XCJtb2RlbC5nZXRDb250YWluZXJDc3MoKVwiIChmb2N1c2luKT1cIm1vZGVsLmZvY3VzSW4oKVwiICNwYW5lbENvbnRhaW5lcj5cbiAgICA8ZGl2ICpuZ0lmPVwibW9kZWwuaGFzRGVzY3JpcHRpb24gfHwgbW9kZWwuaGFzVGl0bGVcIiBbZWxlbWVudF09XCJtb2RlbFwiIHN2LW5nLWVsZW1lbnQtaGVhZGVyPjwvZGl2PlxuICAgIDwhLS0ga28gdGVtcGxhdGU6IHsgbmFtZTogJ3N1cnZleS1xdWVzdGlvbi1lcnJvcnMnLCBkYXRhOiAkZGF0YSB9IC0tPlxuICAgIDwhLS0gL2tvIC0tPlxuICAgIDxkaXYgKm5nSWY9XCIhbW9kZWwuaXNDb2xsYXBzZWRcIiBbc3R5bGUucGFkZGluZ0xlZnRdPVwibW9kZWwuaW5uZXJQYWRkaW5nTGVmdFwiIFtjbGFzc109XCJtb2RlbC5jc3NDbGFzc2VzLnBhbmVsLmNvbnRlbnRcIiBbYXR0ci5pZF09XCJtb2RlbC5jb250ZW50SWRcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHJvdyBvZiBtb2RlbC5yb3dzOyB0cmFja0J5OiB0cmFja1Jvd0J5XCI+XG4gICAgICAgIDxzdi1uZy1yb3cgW3Jvd109XCJyb3dcIiBzdHlsZT1cImRpc3BsYXk6IGNvbnRlbnRzO1wiPjwvc3Ytbmctcm93PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8c3YtbmctYWN0aW9uLWJhciBbbW9kZWxdPVwibW9kZWwuZ2V0Rm9vdGVyVG9vbGJhcigpXCI+PC9zdi1uZy1hY3Rpb24tYmFyPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+Il19
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFuZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGFja2FnZXMvc3VydmV5LWFuZ3VsYXItdWkvc3JjL3BhbmVsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL3BhY2thZ2VzL3N1cnZleS1hbmd1bGFyLXVpL3NyYy9wYW5lbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2RixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7Ozs7QUFLOUQsTUFBTSxPQUFPLGNBQWUsU0FBUSxXQUF1QjtJQUozRDs7UUFlRSxlQUFVLEdBQUcsQ0FBQyxDQUFNLEVBQUUsR0FBUSxFQUFFLEVBQUU7WUFDaEMsT0FBTyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ2hCLENBQUMsQ0FBQTtLQUNGO0lBWFcsUUFBUTtRQUNoQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUNELGVBQWU7UUFDYixJQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsYUFBYSxFQUFFO1lBQzFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQ3ZGO0lBQ0gsQ0FBQzs7MkdBVlUsY0FBYzsrRkFBZCxjQUFjLGdNQUUyQixVQUFVLG9EQ1ZoRSxrK0JBY2M7MkZETkQsY0FBYztrQkFKMUIsU0FBUzsrQkFDRSw4QkFBOEI7OEJBSS9CLEtBQUs7c0JBQWIsS0FBSztnQkFDNEQsaUJBQWlCO3NCQUFsRixTQUFTO3VCQUFDLGdCQUFnQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFOztBQWFsRSx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsT0FBTyxFQUFFLGNBQWMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgVmlld0NoaWxkIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFBhbmVsTW9kZWwgfSBmcm9tIFwic3VydmV5LWNvcmVcIjtcbmltcG9ydCB7IEJhc2VBbmd1bGFyIH0gZnJvbSBcIi4vYmFzZS1hbmd1bGFyXCI7XG5pbXBvcnQgeyBBbmd1bGFyQ29tcG9uZW50RmFjdG9yeSB9IGZyb20gXCIuL2NvbXBvbmVudC1mYWN0b3J5XCI7XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwic3YtbmctcGFuZWwsICdbc3YtbmctcGFuZWxdJ1wiLFxuICB0ZW1wbGF0ZVVybDogXCIuL3BhbmVsLmNvbXBvbmVudC5odG1sXCIsXG59KVxuZXhwb3J0IGNsYXNzIFBhbmVsQ29tcG9uZW50IGV4dGVuZHMgQmFzZUFuZ3VsYXI8UGFuZWxNb2RlbD4gaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgQElucHV0KCkgbW9kZWwhOiBQYW5lbE1vZGVsO1xuICBAVmlld0NoaWxkKFwicGFuZWxDb250YWluZXJcIiwgeyBzdGF0aWM6IGZhbHNlLCByZWFkOiBFbGVtZW50UmVmIH0pIHBhbmVsQ29udGFpbmVyUmVmITogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG4gIHByb3RlY3RlZCBnZXRNb2RlbCgpOiBQYW5lbE1vZGVsIHtcbiAgICByZXR1cm4gdGhpcy5tb2RlbDtcbiAgfVxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgaWYoISF0aGlzLnBhbmVsQ29udGFpbmVyUmVmPy5uYXRpdmVFbGVtZW50KSB7XG4gICAgICB0aGlzLm1vZGVsLnN1cnZleT8uYWZ0ZXJSZW5kZXJQYW5lbCh0aGlzLm1vZGVsLCB0aGlzLnBhbmVsQ29udGFpbmVyUmVmLm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cbiAgfVxuICB0cmFja1Jvd0J5ID0gKF86IGFueSwgcm93OiBhbnkpID0+IHtcbiAgICByZXR1cm4gcm93LmlkO1xuICB9XG59XG5Bbmd1bGFyQ29tcG9uZW50RmFjdG9yeS5JbnN0YW5jZS5yZWdpc3RlckNvbXBvbmVudChcInBhbmVsXCIsIFBhbmVsQ29tcG9uZW50KTsiLCI8bmctdGVtcGxhdGUgI3RlbXBsYXRlPlxuICA8ZGl2ICpuZ0lmPVwibW9kZWwuaXNWaXNpYmxlXCIgW2F0dHIuaWRdPVwibW9kZWwuaWRcIiBbY2xhc3NdPVwibW9kZWwuZ2V0Q29udGFpbmVyQ3NzKClcIiAoZm9jdXNpbik9XCJtb2RlbC5mb2N1c0luKClcIiAjcGFuZWxDb250YWluZXI+XG4gICAgPGRpdiAqbmdJZj1cIm1vZGVsLmhhc0Rlc2NyaXB0aW9uIHx8IG1vZGVsLmhhc1RpdGxlXCIgW2VsZW1lbnRdPVwibW9kZWxcIiBzdi1uZy1lbGVtZW50LWhlYWRlcj48L2Rpdj5cbiAgICA8IS0tIGtvIHRlbXBsYXRlOiB7IG5hbWU6ICdzdXJ2ZXktcXVlc3Rpb24tZXJyb3JzJywgZGF0YTogJGRhdGEgfSAtLT5cbiAgICA8IS0tIC9rbyAtLT5cbiAgICA8ZGl2ICpuZ0lmPVwiIW1vZGVsLmlzQ29sbGFwc2VkXCIgW3N0eWxlLnBhZGRpbmdMZWZ0XT1cIm1vZGVsLmlubmVyUGFkZGluZ0xlZnRcIiBbY2xhc3NdPVwibW9kZWwuY3NzQ2xhc3Nlcy5wYW5lbC5jb250ZW50XCIgW2F0dHIuaWRdPVwibW9kZWwuY29udGVudElkXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCByb3cgb2YgbW9kZWwucm93czsgdHJhY2tCeTogdHJhY2tSb3dCeVwiPlxuICAgICAgICA8bmctdGVtcGxhdGUgW2NvbXBvbmVudF09XCJ7IG5hbWU6ICRhbnkobW9kZWwuc3VydmV5KS5nZXRSb3dXcmFwcGVyQ29tcG9uZW50TmFtZShyb3cpLCBkYXRhOiB7IGNvbXBvbmVudERhdGE6ICRhbnkobW9kZWwuc3VydmV5KS5nZXRSb3dXcmFwcGVyQ29tcG9uZW50RGF0YShyb3cpIH0gfVwiPlxuICAgICAgICAgIDxzdi1uZy1yb3cgW3Jvd109XCJyb3dcIj48L3N2LW5nLXJvdz5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPHN2LW5nLWFjdGlvbi1iYXIgW21vZGVsXT1cIm1vZGVsLmdldEZvb3RlclRvb2xiYXIoKVwiPjwvc3YtbmctYWN0aW9uLWJhcj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPiJdfQ==
@@ -5,6 +5,16 @@ import * as i0 from "@angular/core";
5
5
  import * as i1 from "@angular/common";
6
6
  import * as i2 from "../utils/safe-url.pipe";
7
7
  export class ImageQuestionComponent extends QuestionAngular {
8
+ ngAfterViewInit() {
9
+ this.model.locImageLink.onChanged = () => {
10
+ this.detectChanges();
11
+ };
12
+ super.ngAfterViewInit();
13
+ }
14
+ ngOnDestroy() {
15
+ this.model.locImageLink.onChanged = () => { };
16
+ super.ngOnDestroy();
17
+ }
8
18
  }
9
19
  ImageQuestionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ImageQuestionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
10
20
  ImageQuestionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: ImageQuestionComponent, selector: "sv-ng-image-question", usesInheritance: true, ngImport: i0, template: "<div [class]=\"model.cssClasses.root\" #contentElement>\n <img\n *ngIf=\"model.renderedMode === 'image'\"\n [class]=\"model.getImageCss()\"\n [attr.src]=\"model.locImageLink.renderedHtml\"\n [attr.alt]=\"model.text || model.title\"\n [attr.width]=\"model.renderedWidth\"\n [attr.height]=\"model.renderedHeight\"\n [style]=\"{ objectFit: model.imageFit }\"\n /><video\n controls\n *ngIf=\"model.renderedMode === 'video'\"\n [class]=\"model.getImageCss()\"\n [attr.src]=\"model.locImageLink.renderedHtml\"\n [attr.width]=\"model.renderedWidth\"\n [attr.height]=\"model.renderedHeight\"\n [style]=\"{ objectFit: model.imageFit }\"\n ></video>\n <iframe\n *ngIf=\"model.renderedMode === 'youtube'\"\n [class]=\"model.getImageCss()\"\n [attr.src]=\"model.locImageLink.renderedHtml | safeResourceUrl\"\n [attr.width]=\"model.renderedWidth\"\n [attr.height]=\"model.renderedHeight\"\n [style]=\"{ objectFit: model.imageFit }\"\n ></iframe>\n</div>", directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "safeResourceUrl": i2.SafeResourceUrlPipe } });
@@ -13,4 +23,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
13
23
  args: [{ selector: "sv-ng-image-question", template: "<div [class]=\"model.cssClasses.root\" #contentElement>\n <img\n *ngIf=\"model.renderedMode === 'image'\"\n [class]=\"model.getImageCss()\"\n [attr.src]=\"model.locImageLink.renderedHtml\"\n [attr.alt]=\"model.text || model.title\"\n [attr.width]=\"model.renderedWidth\"\n [attr.height]=\"model.renderedHeight\"\n [style]=\"{ objectFit: model.imageFit }\"\n /><video\n controls\n *ngIf=\"model.renderedMode === 'video'\"\n [class]=\"model.getImageCss()\"\n [attr.src]=\"model.locImageLink.renderedHtml\"\n [attr.width]=\"model.renderedWidth\"\n [attr.height]=\"model.renderedHeight\"\n [style]=\"{ objectFit: model.imageFit }\"\n ></video>\n <iframe\n *ngIf=\"model.renderedMode === 'youtube'\"\n [class]=\"model.getImageCss()\"\n [attr.src]=\"model.locImageLink.renderedHtml | safeResourceUrl\"\n [attr.width]=\"model.renderedWidth\"\n [attr.height]=\"model.renderedHeight\"\n [style]=\"{ objectFit: model.imageFit }\"\n ></iframe>\n</div>" }]
14
24
  }] });
15
25
  AngularComponentFactory.Instance.registerComponent("image-question", ImageQuestionComponent);
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvc3VydmV5LWFuZ3VsYXItdWkvc3JjL3F1ZXN0aW9ucy9pbWFnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zdXJ2ZXktYW5ndWxhci11aS9zcmMvcXVlc3Rpb25zL2ltYWdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU5QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7OztBQU0vRCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsZUFBbUM7O21IQUFsRSxzQkFBc0I7dUdBQXRCLHNCQUFzQixtRkNUbkMsKytCQTBCTTsyRkRqQk8sc0JBQXNCO2tCQUpsQyxTQUFTOytCQUNFLHNCQUFzQjs7QUFLbEMsdUJBQXVCLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLGdCQUFnQixFQUFFLHNCQUFzQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgUXVlc3Rpb25Bbmd1bGFyIH0gZnJvbSBcIi4uL3F1ZXN0aW9uXCI7XG5pbXBvcnQgeyBRdWVzdGlvbkltYWdlTW9kZWwgfSBmcm9tIFwic3VydmV5LWNvcmVcIjtcbmltcG9ydCB7IEFuZ3VsYXJDb21wb25lbnRGYWN0b3J5IH0gZnJvbSBcIi4uL2NvbXBvbmVudC1mYWN0b3J5XCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJzdi1uZy1pbWFnZS1xdWVzdGlvblwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL2ltYWdlLmNvbXBvbmVudC5odG1sXCJcbn0pXG5leHBvcnQgY2xhc3MgSW1hZ2VRdWVzdGlvbkNvbXBvbmVudCBleHRlbmRzIFF1ZXN0aW9uQW5ndWxhcjxRdWVzdGlvbkltYWdlTW9kZWw+IHt9XG5cbkFuZ3VsYXJDb21wb25lbnRGYWN0b3J5Lkluc3RhbmNlLnJlZ2lzdGVyQ29tcG9uZW50KFwiaW1hZ2UtcXVlc3Rpb25cIiwgSW1hZ2VRdWVzdGlvbkNvbXBvbmVudCk7IiwiPGRpdiBbY2xhc3NdPVwibW9kZWwuY3NzQ2xhc3Nlcy5yb290XCIgI2NvbnRlbnRFbGVtZW50PlxuICA8aW1nXG4gICAgKm5nSWY9XCJtb2RlbC5yZW5kZXJlZE1vZGUgPT09ICdpbWFnZSdcIlxuICAgIFtjbGFzc109XCJtb2RlbC5nZXRJbWFnZUNzcygpXCJcbiAgICBbYXR0ci5zcmNdPVwibW9kZWwubG9jSW1hZ2VMaW5rLnJlbmRlcmVkSHRtbFwiXG4gICAgW2F0dHIuYWx0XT1cIm1vZGVsLnRleHQgfHwgbW9kZWwudGl0bGVcIlxuICAgIFthdHRyLndpZHRoXT1cIm1vZGVsLnJlbmRlcmVkV2lkdGhcIlxuICAgIFthdHRyLmhlaWdodF09XCJtb2RlbC5yZW5kZXJlZEhlaWdodFwiXG4gICAgW3N0eWxlXT1cInsgb2JqZWN0Rml0OiBtb2RlbC5pbWFnZUZpdCB9XCJcbiAgLz48dmlkZW9cbiAgICBjb250cm9sc1xuICAgICpuZ0lmPVwibW9kZWwucmVuZGVyZWRNb2RlID09PSAndmlkZW8nXCJcbiAgICBbY2xhc3NdPVwibW9kZWwuZ2V0SW1hZ2VDc3MoKVwiXG4gICAgW2F0dHIuc3JjXT1cIm1vZGVsLmxvY0ltYWdlTGluay5yZW5kZXJlZEh0bWxcIlxuICAgIFthdHRyLndpZHRoXT1cIm1vZGVsLnJlbmRlcmVkV2lkdGhcIlxuICAgIFthdHRyLmhlaWdodF09XCJtb2RlbC5yZW5kZXJlZEhlaWdodFwiXG4gICAgW3N0eWxlXT1cInsgb2JqZWN0Rml0OiBtb2RlbC5pbWFnZUZpdCB9XCJcbiAgPjwvdmlkZW8+XG4gIDxpZnJhbWVcbiAgICAqbmdJZj1cIm1vZGVsLnJlbmRlcmVkTW9kZSA9PT0gJ3lvdXR1YmUnXCJcbiAgICBbY2xhc3NdPVwibW9kZWwuZ2V0SW1hZ2VDc3MoKVwiXG4gICAgW2F0dHIuc3JjXT1cIm1vZGVsLmxvY0ltYWdlTGluay5yZW5kZXJlZEh0bWwgfCBzYWZlUmVzb3VyY2VVcmxcIlxuICAgIFthdHRyLndpZHRoXT1cIm1vZGVsLnJlbmRlcmVkV2lkdGhcIlxuICAgIFthdHRyLmhlaWdodF09XCJtb2RlbC5yZW5kZXJlZEhlaWdodFwiXG4gICAgW3N0eWxlXT1cInsgb2JqZWN0Rml0OiBtb2RlbC5pbWFnZUZpdCB9XCJcbiAgPjwvaWZyYW1lPlxuPC9kaXY+Il19
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvc3VydmV5LWFuZ3VsYXItdWkvc3JjL3F1ZXN0aW9ucy9pbWFnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zdXJ2ZXktYW5ndWxhci11aS9zcmMvcXVlc3Rpb25zL2ltYWdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU5QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7OztBQU0vRCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsZUFBbUM7SUFDcEUsZUFBZTtRQUN0QixJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxTQUFTLEdBQUcsR0FBRyxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN2QixDQUFDLENBQUM7UUFDRixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUNRLFdBQVc7UUFDbEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsU0FBUyxHQUFHLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztRQUM3QyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDdEIsQ0FBQzs7bUhBVlUsc0JBQXNCO3VHQUF0QixzQkFBc0IsbUZDVG5DLCsrQkEwQk07MkZEakJPLHNCQUFzQjtrQkFKbEMsU0FBUzsrQkFDRSxzQkFBc0I7O0FBZ0JsQyx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsZ0JBQWdCLEVBQUUsc0JBQXNCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBRdWVzdGlvbkFuZ3VsYXIgfSBmcm9tIFwiLi4vcXVlc3Rpb25cIjtcbmltcG9ydCB7IFF1ZXN0aW9uSW1hZ2VNb2RlbCB9IGZyb20gXCJzdXJ2ZXktY29yZVwiO1xuaW1wb3J0IHsgQW5ndWxhckNvbXBvbmVudEZhY3RvcnkgfSBmcm9tIFwiLi4vY29tcG9uZW50LWZhY3RvcnlcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcInN2LW5nLWltYWdlLXF1ZXN0aW9uXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vaW1hZ2UuY29tcG9uZW50Lmh0bWxcIlxufSlcbmV4cG9ydCBjbGFzcyBJbWFnZVF1ZXN0aW9uQ29tcG9uZW50IGV4dGVuZHMgUXVlc3Rpb25Bbmd1bGFyPFF1ZXN0aW9uSW1hZ2VNb2RlbD4ge1xuICBvdmVycmlkZSBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5tb2RlbC5sb2NJbWFnZUxpbmsub25DaGFuZ2VkID0gKCkgPT4ge1xuICAgICAgdGhpcy5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfTtcbiAgICBzdXBlci5uZ0FmdGVyVmlld0luaXQoKTtcbiAgfVxuICBvdmVycmlkZSBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLm1vZGVsLmxvY0ltYWdlTGluay5vbkNoYW5nZWQgPSAoKSA9PiB7fTtcbiAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICB9XG59XG5cbkFuZ3VsYXJDb21wb25lbnRGYWN0b3J5Lkluc3RhbmNlLnJlZ2lzdGVyQ29tcG9uZW50KFwiaW1hZ2UtcXVlc3Rpb25cIiwgSW1hZ2VRdWVzdGlvbkNvbXBvbmVudCk7IiwiPGRpdiBbY2xhc3NdPVwibW9kZWwuY3NzQ2xhc3Nlcy5yb290XCIgI2NvbnRlbnRFbGVtZW50PlxuICA8aW1nXG4gICAgKm5nSWY9XCJtb2RlbC5yZW5kZXJlZE1vZGUgPT09ICdpbWFnZSdcIlxuICAgIFtjbGFzc109XCJtb2RlbC5nZXRJbWFnZUNzcygpXCJcbiAgICBbYXR0ci5zcmNdPVwibW9kZWwubG9jSW1hZ2VMaW5rLnJlbmRlcmVkSHRtbFwiXG4gICAgW2F0dHIuYWx0XT1cIm1vZGVsLnRleHQgfHwgbW9kZWwudGl0bGVcIlxuICAgIFthdHRyLndpZHRoXT1cIm1vZGVsLnJlbmRlcmVkV2lkdGhcIlxuICAgIFthdHRyLmhlaWdodF09XCJtb2RlbC5yZW5kZXJlZEhlaWdodFwiXG4gICAgW3N0eWxlXT1cInsgb2JqZWN0Rml0OiBtb2RlbC5pbWFnZUZpdCB9XCJcbiAgLz48dmlkZW9cbiAgICBjb250cm9sc1xuICAgICpuZ0lmPVwibW9kZWwucmVuZGVyZWRNb2RlID09PSAndmlkZW8nXCJcbiAgICBbY2xhc3NdPVwibW9kZWwuZ2V0SW1hZ2VDc3MoKVwiXG4gICAgW2F0dHIuc3JjXT1cIm1vZGVsLmxvY0ltYWdlTGluay5yZW5kZXJlZEh0bWxcIlxuICAgIFthdHRyLndpZHRoXT1cIm1vZGVsLnJlbmRlcmVkV2lkdGhcIlxuICAgIFthdHRyLmhlaWdodF09XCJtb2RlbC5yZW5kZXJlZEhlaWdodFwiXG4gICAgW3N0eWxlXT1cInsgb2JqZWN0Rml0OiBtb2RlbC5pbWFnZUZpdCB9XCJcbiAgPjwvdmlkZW8+XG4gIDxpZnJhbWVcbiAgICAqbmdJZj1cIm1vZGVsLnJlbmRlcmVkTW9kZSA9PT0gJ3lvdXR1YmUnXCJcbiAgICBbY2xhc3NdPVwibW9kZWwuZ2V0SW1hZ2VDc3MoKVwiXG4gICAgW2F0dHIuc3JjXT1cIm1vZGVsLmxvY0ltYWdlTGluay5yZW5kZXJlZEh0bWwgfCBzYWZlUmVzb3VyY2VVcmxcIlxuICAgIFthdHRyLndpZHRoXT1cIm1vZGVsLnJlbmRlcmVkV2lkdGhcIlxuICAgIFthdHRyLmhlaWdodF09XCJtb2RlbC5yZW5kZXJlZEhlaWdodFwiXG4gICAgW3N0eWxlXT1cInsgb2JqZWN0Rml0OiBtb2RlbC5pbWFnZUZpdCB9XCJcbiAgPjwvaWZyYW1lPlxuPC9kaXY+Il19
@@ -5,6 +5,7 @@ import * as i0 from "@angular/core";
5
5
  import * as i1 from "../survey-string.component";
6
6
  import * as i2 from "@angular/common";
7
7
  import * as i3 from "../utils/ng-show.directive";
8
+ import * as i4 from "../utils/dynamic.directive";
8
9
  export class MatrixQuestionComponent extends QuestionAngular {
9
10
  ngOnInit() {
10
11
  this.model.visibleRowsChangedCallback = () => {
@@ -26,10 +27,10 @@ export class MatrixQuestionComponent extends QuestionAngular {
26
27
  }
27
28
  }
28
29
  MatrixQuestionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: MatrixQuestionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
29
- MatrixQuestionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: MatrixQuestionComponent, selector: "sv-ng-matrix-question", usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div [class]=\"model.cssClasses.tableWrapper\" #contentElement>\n <fieldset>\n <legend [attr.aria-label]=\"model.locTitle.renderedHtml\"></legend>\n <table [class]=\"model.getTableCss()\">\n <thead *ngIf=\"model.showHeader\">\n <tr>\n <td [visible]=\"model.hasRows\"></td>\n <th\n *ngFor=\"let column of model.visibleColumns\" [class]=\"model.cssClasses.headerCell\" \n [model]=\"column.locText\" sv-ng-string>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let row of model.visibleRows; trackBy: trackRowByFn \" [class]=\"row.rowClasses || undefined\">\n <td [class]=\"model.cssClasses.rowTextCell\" *ngIf=\"model.hasRows\" [model]=\"row.locText\" sv-ng-string></td>\n <ng-container *ngIf=\"model.hasCellText\">\n <td *ngFor=\"let column of model.visibleColumns\"\n [class]=\"model.getItemClass(row, column)\"\n (click)=\"onChange(row, column)\" [model]=\"model.getCellDisplayLocText(row.name, column)\" sv-ng-string>\n </td>\n </ng-container>\n <ng-container *ngIf=\"!model.hasCellText\">\n <td\n *ngFor=\"let column of model.visibleColumns; index as columnIndex; trackBy: trackColumnByFn\"\n [attr.data-responsive-title]=\"column.locText.renderedHtml\"\n [class]=\"model.cssClasses.cell\">\n <label [class]=\"model.getItemClass(row, column)\">\n <input\n type=\"radio\"\n [class]=\"model.cssClasses.itemValue\"\n [name]=\"row.fullName\"\n [value]=\"column.value\"\n [checked]=\"row.value === column.value\"\n [disabled]=\"model.isInputReadOnly\"\n [attr.id]=\"model.inputId + '_' + row.name + '_' + columnIndex\"\n (change)=\"onChange(row, column)\"\n [attr.aria-required]=\"model.ariaRequired\"\n [attr.aria-label]=\"column.locText.renderedHtml\"\n [attr.aria-invalid]=\"model.ariaInvalid\"\n [attr.aria-describedby]=\"model.ariaDescribedBy\"\n />\n <span [class]=\"model.cssClasses.materialDecorator\">\n <svg *ngIf=\"model.itemSvgIcon\" [class]=\"model.cssClasses.itemDecorator\">\n <use [attr.xlink:href]=\"model.itemSvgIcon\"></use>\n </svg> \n </span>\n <span [visible]=\"model.isMobile\" [class]=\"model.cssClasses.cellResponsiveTitle\" [model]=\"column.locText\" sv-ng-string></span>\n </label>\n </td>\n </ng-container>\n </tr>\n </tbody>\n </table>\n </fieldset>\n </div>\n</ng-template>", styles: [":host{display:none}\n"], components: [{ type: i1.SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.VisibleDirective, selector: "[visible]", inputs: ["visible"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
30
+ MatrixQuestionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: MatrixQuestionComponent, selector: "sv-ng-matrix-question", usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div [class]=\"model.cssClasses.tableWrapper\" #contentElement>\n <fieldset>\n <legend [attr.aria-label]=\"model.locTitle.renderedHtml\"></legend>\n <table [class]=\"model.getTableCss()\">\n <thead *ngIf=\"model.showHeader\">\n <tr>\n <td [visible]=\"model.hasRows\"></td>\n <th\n *ngFor=\"let column of model.visibleColumns\" [class]=\"model.cssClasses.headerCell\">\n <ng-template [component]=\"{ name: model.getColumnHeaderWrapperComponentName(column), data: { componentData: model.getColumnHeaderWrapperComponentData(column) } }\">\n <sv-ng-string [model]=\"column.locText\"></sv-ng-string>\n </ng-template>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let row of model.visibleRows; trackBy: trackRowByFn \" [class]=\"row.rowClasses || undefined\">\n <td [class]=\"model.cssClasses.rowTextCell\" *ngIf=\"model.hasRows\" [model]=\"row.locText\" sv-ng-string></td>\n <ng-container *ngIf=\"model.hasCellText\">\n <td *ngFor=\"let column of model.visibleColumns\"\n [class]=\"model.getItemClass(row, column)\"\n (click)=\"onChange(row, column)\" [model]=\"model.getCellDisplayLocText(row.name, column)\" sv-ng-string>\n </td>\n </ng-container>\n <ng-container *ngIf=\"!model.hasCellText\">\n <td\n *ngFor=\"let column of model.visibleColumns; index as columnIndex; trackBy: trackColumnByFn\"\n [attr.data-responsive-title]=\"column.locText.renderedHtml\"\n [class]=\"model.cssClasses.cell\">\n <label [class]=\"model.getItemClass(row, column)\">\n <input\n type=\"radio\"\n [class]=\"model.cssClasses.itemValue\"\n [name]=\"row.fullName\"\n [value]=\"column.value\"\n [checked]=\"row.value === column.value\"\n [disabled]=\"model.isInputReadOnly\"\n [attr.id]=\"model.inputId + '_' + row.name + '_' + columnIndex\"\n (change)=\"onChange(row, column)\"\n [attr.aria-required]=\"model.ariaRequired\"\n [attr.aria-label]=\"column.locText.renderedHtml\"\n [attr.aria-invalid]=\"model.ariaInvalid\"\n [attr.aria-describedby]=\"model.ariaDescribedBy\"\n />\n <span [class]=\"model.cssClasses.materialDecorator\">\n <svg *ngIf=\"model.itemSvgIcon\" [class]=\"model.cssClasses.itemDecorator\">\n <use [attr.xlink:href]=\"model.itemSvgIcon\"></use>\n </svg> \n </span>\n <span [visible]=\"model.isMobile\" [class]=\"model.cssClasses.cellResponsiveTitle\" [model]=\"column.locText\" sv-ng-string></span>\n </label>\n </td>\n </ng-container>\n </tr>\n </tbody>\n </table>\n </fieldset>\n </div>\n</ng-template>", styles: [":host{display:none}\n"], components: [{ type: i1.SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.VisibleDirective, selector: "[visible]", inputs: ["visible"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
30
31
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: MatrixQuestionComponent, decorators: [{
31
32
  type: Component,
32
- args: [{ selector: "sv-ng-matrix-question", template: "<ng-template #template>\n <div [class]=\"model.cssClasses.tableWrapper\" #contentElement>\n <fieldset>\n <legend [attr.aria-label]=\"model.locTitle.renderedHtml\"></legend>\n <table [class]=\"model.getTableCss()\">\n <thead *ngIf=\"model.showHeader\">\n <tr>\n <td [visible]=\"model.hasRows\"></td>\n <th\n *ngFor=\"let column of model.visibleColumns\" [class]=\"model.cssClasses.headerCell\" \n [model]=\"column.locText\" sv-ng-string>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let row of model.visibleRows; trackBy: trackRowByFn \" [class]=\"row.rowClasses || undefined\">\n <td [class]=\"model.cssClasses.rowTextCell\" *ngIf=\"model.hasRows\" [model]=\"row.locText\" sv-ng-string></td>\n <ng-container *ngIf=\"model.hasCellText\">\n <td *ngFor=\"let column of model.visibleColumns\"\n [class]=\"model.getItemClass(row, column)\"\n (click)=\"onChange(row, column)\" [model]=\"model.getCellDisplayLocText(row.name, column)\" sv-ng-string>\n </td>\n </ng-container>\n <ng-container *ngIf=\"!model.hasCellText\">\n <td\n *ngFor=\"let column of model.visibleColumns; index as columnIndex; trackBy: trackColumnByFn\"\n [attr.data-responsive-title]=\"column.locText.renderedHtml\"\n [class]=\"model.cssClasses.cell\">\n <label [class]=\"model.getItemClass(row, column)\">\n <input\n type=\"radio\"\n [class]=\"model.cssClasses.itemValue\"\n [name]=\"row.fullName\"\n [value]=\"column.value\"\n [checked]=\"row.value === column.value\"\n [disabled]=\"model.isInputReadOnly\"\n [attr.id]=\"model.inputId + '_' + row.name + '_' + columnIndex\"\n (change)=\"onChange(row, column)\"\n [attr.aria-required]=\"model.ariaRequired\"\n [attr.aria-label]=\"column.locText.renderedHtml\"\n [attr.aria-invalid]=\"model.ariaInvalid\"\n [attr.aria-describedby]=\"model.ariaDescribedBy\"\n />\n <span [class]=\"model.cssClasses.materialDecorator\">\n <svg *ngIf=\"model.itemSvgIcon\" [class]=\"model.cssClasses.itemDecorator\">\n <use [attr.xlink:href]=\"model.itemSvgIcon\"></use>\n </svg> \n </span>\n <span [visible]=\"model.isMobile\" [class]=\"model.cssClasses.cellResponsiveTitle\" [model]=\"column.locText\" sv-ng-string></span>\n </label>\n </td>\n </ng-container>\n </tr>\n </tbody>\n </table>\n </fieldset>\n </div>\n</ng-template>", styles: [":host{display:none}\n"] }]
33
+ args: [{ selector: "sv-ng-matrix-question", template: "<ng-template #template>\n <div [class]=\"model.cssClasses.tableWrapper\" #contentElement>\n <fieldset>\n <legend [attr.aria-label]=\"model.locTitle.renderedHtml\"></legend>\n <table [class]=\"model.getTableCss()\">\n <thead *ngIf=\"model.showHeader\">\n <tr>\n <td [visible]=\"model.hasRows\"></td>\n <th\n *ngFor=\"let column of model.visibleColumns\" [class]=\"model.cssClasses.headerCell\">\n <ng-template [component]=\"{ name: model.getColumnHeaderWrapperComponentName(column), data: { componentData: model.getColumnHeaderWrapperComponentData(column) } }\">\n <sv-ng-string [model]=\"column.locText\"></sv-ng-string>\n </ng-template>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let row of model.visibleRows; trackBy: trackRowByFn \" [class]=\"row.rowClasses || undefined\">\n <td [class]=\"model.cssClasses.rowTextCell\" *ngIf=\"model.hasRows\" [model]=\"row.locText\" sv-ng-string></td>\n <ng-container *ngIf=\"model.hasCellText\">\n <td *ngFor=\"let column of model.visibleColumns\"\n [class]=\"model.getItemClass(row, column)\"\n (click)=\"onChange(row, column)\" [model]=\"model.getCellDisplayLocText(row.name, column)\" sv-ng-string>\n </td>\n </ng-container>\n <ng-container *ngIf=\"!model.hasCellText\">\n <td\n *ngFor=\"let column of model.visibleColumns; index as columnIndex; trackBy: trackColumnByFn\"\n [attr.data-responsive-title]=\"column.locText.renderedHtml\"\n [class]=\"model.cssClasses.cell\">\n <label [class]=\"model.getItemClass(row, column)\">\n <input\n type=\"radio\"\n [class]=\"model.cssClasses.itemValue\"\n [name]=\"row.fullName\"\n [value]=\"column.value\"\n [checked]=\"row.value === column.value\"\n [disabled]=\"model.isInputReadOnly\"\n [attr.id]=\"model.inputId + '_' + row.name + '_' + columnIndex\"\n (change)=\"onChange(row, column)\"\n [attr.aria-required]=\"model.ariaRequired\"\n [attr.aria-label]=\"column.locText.renderedHtml\"\n [attr.aria-invalid]=\"model.ariaInvalid\"\n [attr.aria-describedby]=\"model.ariaDescribedBy\"\n />\n <span [class]=\"model.cssClasses.materialDecorator\">\n <svg *ngIf=\"model.itemSvgIcon\" [class]=\"model.cssClasses.itemDecorator\">\n <use [attr.xlink:href]=\"model.itemSvgIcon\"></use>\n </svg> \n </span>\n <span [visible]=\"model.isMobile\" [class]=\"model.cssClasses.cellResponsiveTitle\" [model]=\"column.locText\" sv-ng-string></span>\n </label>\n </td>\n </ng-container>\n </tr>\n </tbody>\n </table>\n </fieldset>\n </div>\n</ng-template>", styles: [":host{display:none}\n"] }]
33
34
  }] });
34
35
  AngularComponentFactory.Instance.registerComponent("matrix-question", MatrixQuestionComponent);
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0cml4LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3N1cnZleS1hbmd1bGFyLXVpL3NyYy9xdWVzdGlvbnMvbWF0cml4LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3N1cnZleS1hbmd1bGFyLXVpL3NyYy9xdWVzdGlvbnMvbWF0cml4LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU5QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7QUFPL0QsTUFBTSxPQUFPLHVCQUF3QixTQUFRLGVBQW9DO0lBQ3RFLFFBQVE7UUFDZixJQUFJLENBQUMsS0FBSyxDQUFDLDBCQUEwQixHQUFHLEdBQUcsRUFBRTtZQUMzQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDdkIsQ0FBQyxDQUFDO1FBQ0YsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFDTSxRQUFRLENBQUMsR0FBUSxFQUFFLE1BQVc7UUFDbkMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWU7WUFBRSxPQUFPO1FBQ3ZDLEdBQUcsQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUN6QixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUNELFlBQVksQ0FBQyxDQUFTLEVBQUUsR0FBUTtRQUM5QixPQUFPLFNBQVMsR0FBRyxHQUFHLENBQUMsSUFBSSxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUNELGVBQWUsQ0FBQyxDQUFTLEVBQUUsTUFBVztRQUNwQyxPQUFPLFNBQVMsR0FBRyxNQUFNLENBQUMsS0FBSyxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUM7SUFDNUMsQ0FBQzs7b0hBakJVLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLG9GQ1ZwQyw2NEZBeURjOzJGRC9DRCx1QkFBdUI7a0JBTG5DLFNBQVM7K0JBQ0UsdUJBQXVCOztBQXdCbkMsdUJBQXVCLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLGlCQUFpQixFQUFFLHVCQUF1QixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgUXVlc3Rpb25Bbmd1bGFyIH0gZnJvbSBcIi4uL3F1ZXN0aW9uXCI7XG5pbXBvcnQgeyBRdWVzdGlvbk1hdHJpeE1vZGVsIH0gZnJvbSBcInN1cnZleS1jb3JlXCI7XG5pbXBvcnQgeyBBbmd1bGFyQ29tcG9uZW50RmFjdG9yeSB9IGZyb20gXCIuLi9jb21wb25lbnQtZmFjdG9yeVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwic3YtbmctbWF0cml4LXF1ZXN0aW9uXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vbWF0cml4LmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1wiLi4vaGlkZS1ob3N0LnNjc3NcIl1cbn0pXG5leHBvcnQgY2xhc3MgTWF0cml4UXVlc3Rpb25Db21wb25lbnQgZXh0ZW5kcyBRdWVzdGlvbkFuZ3VsYXI8UXVlc3Rpb25NYXRyaXhNb2RlbD4ge1xuICBvdmVycmlkZSBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLm1vZGVsLnZpc2libGVSb3dzQ2hhbmdlZENhbGxiYWNrID0gKCkgPT4ge1xuICAgICAgdGhpcy5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfTtcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xuICB9XG4gIHB1YmxpYyBvbkNoYW5nZShyb3c6IGFueSwgY29sdW1uOiBhbnkpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5tb2RlbC5pc0lucHV0UmVhZE9ubHkpIHJldHVybjtcbiAgICByb3cudmFsdWUgPSBjb2x1bW4udmFsdWU7XG4gICAgdGhpcy5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cbiAgdHJhY2tSb3dCeUZuKGk6IG51bWJlciwgcm93OiBhbnkpOiBzdHJpbmcge1xuICAgIHJldHVybiBcImNvbHVtbi1cIiArIHJvdy5uYW1lICsgXCItXCIgKyBpO1xuICB9XG4gIHRyYWNrQ29sdW1uQnlGbihpOiBudW1iZXIsIGNvbHVtbjogYW55KTogc3RyaW5nIHtcbiAgICByZXR1cm4gXCJjb2x1bW4tXCIgKyBjb2x1bW4udmFsdWUgKyBcIi1cIiArIGk7XG4gIH1cbn1cblxuQW5ndWxhckNvbXBvbmVudEZhY3RvcnkuSW5zdGFuY2UucmVnaXN0ZXJDb21wb25lbnQoXCJtYXRyaXgtcXVlc3Rpb25cIiwgTWF0cml4UXVlc3Rpb25Db21wb25lbnQpOyIsIjxuZy10ZW1wbGF0ZSAjdGVtcGxhdGU+XG4gIDxkaXYgW2NsYXNzXT1cIm1vZGVsLmNzc0NsYXNzZXMudGFibGVXcmFwcGVyXCIgI2NvbnRlbnRFbGVtZW50PlxuICAgIDxmaWVsZHNldD5cbiAgICAgIDxsZWdlbmQgW2F0dHIuYXJpYS1sYWJlbF09XCJtb2RlbC5sb2NUaXRsZS5yZW5kZXJlZEh0bWxcIj48L2xlZ2VuZD5cbiAgICAgIDx0YWJsZSBbY2xhc3NdPVwibW9kZWwuZ2V0VGFibGVDc3MoKVwiPlxuICAgICAgICA8dGhlYWQgKm5nSWY9XCJtb2RlbC5zaG93SGVhZGVyXCI+XG4gICAgICAgICAgPHRyPlxuICAgICAgICAgICAgPHRkIFt2aXNpYmxlXT1cIm1vZGVsLmhhc1Jvd3NcIj48L3RkPlxuICAgICAgICAgICAgPHRoXG4gICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgbW9kZWwudmlzaWJsZUNvbHVtbnNcIiBbY2xhc3NdPVwibW9kZWwuY3NzQ2xhc3Nlcy5oZWFkZXJDZWxsXCIgXG4gICAgICAgICAgICAgIFttb2RlbF09XCJjb2x1bW4ubG9jVGV4dFwiIHN2LW5nLXN0cmluZz5cbiAgICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgPC90cj5cbiAgICAgICAgPC90aGVhZD5cbiAgICAgICAgPHRib2R5PlxuICAgICAgICAgIDx0ciAqbmdGb3I9XCJsZXQgcm93IG9mIG1vZGVsLnZpc2libGVSb3dzOyB0cmFja0J5OiB0cmFja1Jvd0J5Rm4gXCIgW2NsYXNzXT1cInJvdy5yb3dDbGFzc2VzIHx8IHVuZGVmaW5lZFwiPlxuICAgICAgICAgICAgPHRkIFtjbGFzc109XCJtb2RlbC5jc3NDbGFzc2VzLnJvd1RleHRDZWxsXCIgKm5nSWY9XCJtb2RlbC5oYXNSb3dzXCIgW21vZGVsXT1cInJvdy5sb2NUZXh0XCIgc3Ytbmctc3RyaW5nPjwvdGQ+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibW9kZWwuaGFzQ2VsbFRleHRcIj5cbiAgICAgICAgICAgICAgPHRkICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgbW9kZWwudmlzaWJsZUNvbHVtbnNcIlxuICAgICAgICAgICAgICAgIFtjbGFzc109XCJtb2RlbC5nZXRJdGVtQ2xhc3Mocm93LCBjb2x1bW4pXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib25DaGFuZ2Uocm93LCBjb2x1bW4pXCIgW21vZGVsXT1cIm1vZGVsLmdldENlbGxEaXNwbGF5TG9jVGV4dChyb3cubmFtZSwgY29sdW1uKVwiIHN2LW5nLXN0cmluZz5cbiAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFtb2RlbC5oYXNDZWxsVGV4dFwiPlxuICAgICAgICAgICAgICA8dGRcbiAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBtb2RlbC52aXNpYmxlQ29sdW1uczsgaW5kZXggYXMgY29sdW1uSW5kZXg7IHRyYWNrQnk6IHRyYWNrQ29sdW1uQnlGblwiXG4gICAgICAgICAgICAgIFthdHRyLmRhdGEtcmVzcG9uc2l2ZS10aXRsZV09XCJjb2x1bW4ubG9jVGV4dC5yZW5kZXJlZEh0bWxcIlxuICAgICAgICAgICAgICBbY2xhc3NdPVwibW9kZWwuY3NzQ2xhc3Nlcy5jZWxsXCI+XG4gICAgICAgICAgICAgICAgPGxhYmVsIFtjbGFzc109XCJtb2RlbC5nZXRJdGVtQ2xhc3Mocm93LCBjb2x1bW4pXCI+XG4gICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cInJhZGlvXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzXT1cIm1vZGVsLmNzc0NsYXNzZXMuaXRlbVZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgW25hbWVdPVwicm93LmZ1bGxOYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cImNvbHVtbi52YWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cInJvdy52YWx1ZSA9PT0gY29sdW1uLnZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIm1vZGVsLmlzSW5wdXRSZWFkT25seVwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmlkXT1cIm1vZGVsLmlucHV0SWQgKyAnXycgKyByb3cubmFtZSArICdfJyArIGNvbHVtbkluZGV4XCJcbiAgICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJvbkNoYW5nZShyb3csIGNvbHVtbilcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLXJlcXVpcmVkXT1cIm1vZGVsLmFyaWFSZXF1aXJlZFwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiY29sdW1uLmxvY1RleHQucmVuZGVyZWRIdG1sXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1pbnZhbGlkXT1cIm1vZGVsLmFyaWFJbnZhbGlkXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJtb2RlbC5hcmlhRGVzY3JpYmVkQnlcIlxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIFtjbGFzc109XCJtb2RlbC5jc3NDbGFzc2VzLm1hdGVyaWFsRGVjb3JhdG9yXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzdmcgKm5nSWY9XCJtb2RlbC5pdGVtU3ZnSWNvblwiIFtjbGFzc109XCJtb2RlbC5jc3NDbGFzc2VzLml0ZW1EZWNvcmF0b3JcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8dXNlIFthdHRyLnhsaW5rOmhyZWZdPVwibW9kZWwuaXRlbVN2Z0ljb25cIj48L3VzZT5cbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+IFxuICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPHNwYW4gW3Zpc2libGVdPVwibW9kZWwuaXNNb2JpbGVcIiBbY2xhc3NdPVwibW9kZWwuY3NzQ2xhc3Nlcy5jZWxsUmVzcG9uc2l2ZVRpdGxlXCIgW21vZGVsXT1cImNvbHVtbi5sb2NUZXh0XCIgc3Ytbmctc3RyaW5nPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC90cj5cbiAgICAgICAgPC90Ym9keT5cbiAgICAgIDwvdGFibGU+XG4gICAgPC9maWVsZHNldD5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPiJdfQ==
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0cml4LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3N1cnZleS1hbmd1bGFyLXVpL3NyYy9xdWVzdGlvbnMvbWF0cml4LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3N1cnZleS1hbmd1bGFyLXVpL3NyYy9xdWVzdGlvbnMvbWF0cml4LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU5QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7O0FBTy9ELE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxlQUFvQztJQUN0RSxRQUFRO1FBQ2YsSUFBSSxDQUFDLEtBQUssQ0FBQywwQkFBMEIsR0FBRyxHQUFHLEVBQUU7WUFDM0MsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3ZCLENBQUMsQ0FBQztRQUNGLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBQ00sUUFBUSxDQUFDLEdBQVEsRUFBRSxNQUFXO1FBQ25DLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlO1lBQUUsT0FBTztRQUN2QyxHQUFHLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFDekIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFDRCxZQUFZLENBQUMsQ0FBUyxFQUFFLEdBQVE7UUFDOUIsT0FBTyxTQUFTLEdBQUcsR0FBRyxDQUFDLElBQUksR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFDRCxlQUFlLENBQUMsQ0FBUyxFQUFFLE1BQVc7UUFDcEMsT0FBTyxTQUFTLEdBQUcsTUFBTSxDQUFDLEtBQUssR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUFDO0lBQzVDLENBQUM7O29IQWpCVSx1QkFBdUI7d0dBQXZCLHVCQUF1QixvRkNWcEMsa25HQTJEYzsyRkRqREQsdUJBQXVCO2tCQUxuQyxTQUFTOytCQUNFLHVCQUF1Qjs7QUF3Qm5DLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxpQkFBaUIsRUFBRSx1QkFBdUIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFF1ZXN0aW9uQW5ndWxhciB9IGZyb20gXCIuLi9xdWVzdGlvblwiO1xuaW1wb3J0IHsgUXVlc3Rpb25NYXRyaXhNb2RlbCB9IGZyb20gXCJzdXJ2ZXktY29yZVwiO1xuaW1wb3J0IHsgQW5ndWxhckNvbXBvbmVudEZhY3RvcnkgfSBmcm9tIFwiLi4vY29tcG9uZW50LWZhY3RvcnlcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcInN2LW5nLW1hdHJpeC1xdWVzdGlvblwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL21hdHJpeC5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFtcIi4uL2hpZGUtaG9zdC5zY3NzXCJdXG59KVxuZXhwb3J0IGNsYXNzIE1hdHJpeFF1ZXN0aW9uQ29tcG9uZW50IGV4dGVuZHMgUXVlc3Rpb25Bbmd1bGFyPFF1ZXN0aW9uTWF0cml4TW9kZWw+IHtcbiAgb3ZlcnJpZGUgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5tb2RlbC52aXNpYmxlUm93c0NoYW5nZWRDYWxsYmFjayA9ICgpID0+IHtcbiAgICAgIHRoaXMuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH07XG4gICAgc3VwZXIubmdPbkluaXQoKTtcbiAgfVxuICBwdWJsaWMgb25DaGFuZ2Uocm93OiBhbnksIGNvbHVtbjogYW55KTogdm9pZCB7XG4gICAgaWYgKHRoaXMubW9kZWwuaXNJbnB1dFJlYWRPbmx5KSByZXR1cm47XG4gICAgcm93LnZhbHVlID0gY29sdW1uLnZhbHVlO1xuICAgIHRoaXMuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG4gIHRyYWNrUm93QnlGbihpOiBudW1iZXIsIHJvdzogYW55KTogc3RyaW5nIHtcbiAgICByZXR1cm4gXCJjb2x1bW4tXCIgKyByb3cubmFtZSArIFwiLVwiICsgaTtcbiAgfVxuICB0cmFja0NvbHVtbkJ5Rm4oaTogbnVtYmVyLCBjb2x1bW46IGFueSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFwiY29sdW1uLVwiICsgY29sdW1uLnZhbHVlICsgXCItXCIgKyBpO1xuICB9XG59XG5cbkFuZ3VsYXJDb21wb25lbnRGYWN0b3J5Lkluc3RhbmNlLnJlZ2lzdGVyQ29tcG9uZW50KFwibWF0cml4LXF1ZXN0aW9uXCIsIE1hdHJpeFF1ZXN0aW9uQ29tcG9uZW50KTsiLCI8bmctdGVtcGxhdGUgI3RlbXBsYXRlPlxuICA8ZGl2IFtjbGFzc109XCJtb2RlbC5jc3NDbGFzc2VzLnRhYmxlV3JhcHBlclwiICNjb250ZW50RWxlbWVudD5cbiAgICA8ZmllbGRzZXQ+XG4gICAgICA8bGVnZW5kIFthdHRyLmFyaWEtbGFiZWxdPVwibW9kZWwubG9jVGl0bGUucmVuZGVyZWRIdG1sXCI+PC9sZWdlbmQ+XG4gICAgICA8dGFibGUgW2NsYXNzXT1cIm1vZGVsLmdldFRhYmxlQ3NzKClcIj5cbiAgICAgICAgPHRoZWFkICpuZ0lmPVwibW9kZWwuc2hvd0hlYWRlclwiPlxuICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgIDx0ZCBbdmlzaWJsZV09XCJtb2RlbC5oYXNSb3dzXCI+PC90ZD5cbiAgICAgICAgICAgIDx0aFxuICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIG1vZGVsLnZpc2libGVDb2x1bW5zXCIgW2NsYXNzXT1cIm1vZGVsLmNzc0NsYXNzZXMuaGVhZGVyQ2VsbFwiPlxuICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW2NvbXBvbmVudF09XCJ7IG5hbWU6IG1vZGVsLmdldENvbHVtbkhlYWRlcldyYXBwZXJDb21wb25lbnROYW1lKGNvbHVtbiksIGRhdGE6IHsgY29tcG9uZW50RGF0YTogbW9kZWwuZ2V0Q29sdW1uSGVhZGVyV3JhcHBlckNvbXBvbmVudERhdGEoY29sdW1uKSB9IH1cIj5cbiAgICAgICAgICAgICAgICA8c3Ytbmctc3RyaW5nIFttb2RlbF09XCJjb2x1bW4ubG9jVGV4dFwiPjwvc3Ytbmctc3RyaW5nPlxuICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC90aD5cbiAgICAgICAgICA8L3RyPlxuICAgICAgICA8L3RoZWFkPlxuICAgICAgICA8dGJvZHk+XG4gICAgICAgICAgPHRyICpuZ0Zvcj1cImxldCByb3cgb2YgbW9kZWwudmlzaWJsZVJvd3M7IHRyYWNrQnk6IHRyYWNrUm93QnlGbiBcIiBbY2xhc3NdPVwicm93LnJvd0NsYXNzZXMgfHwgdW5kZWZpbmVkXCI+XG4gICAgICAgICAgICA8dGQgW2NsYXNzXT1cIm1vZGVsLmNzc0NsYXNzZXMucm93VGV4dENlbGxcIiAqbmdJZj1cIm1vZGVsLmhhc1Jvd3NcIiBbbW9kZWxdPVwicm93LmxvY1RleHRcIiBzdi1uZy1zdHJpbmc+PC90ZD5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJtb2RlbC5oYXNDZWxsVGV4dFwiPlxuICAgICAgICAgICAgICA8dGQgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBtb2RlbC52aXNpYmxlQ29sdW1uc1wiXG4gICAgICAgICAgICAgICAgW2NsYXNzXT1cIm1vZGVsLmdldEl0ZW1DbGFzcyhyb3csIGNvbHVtbilcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkNoYW5nZShyb3csIGNvbHVtbilcIiBbbW9kZWxdPVwibW9kZWwuZ2V0Q2VsbERpc3BsYXlMb2NUZXh0KHJvdy5uYW1lLCBjb2x1bW4pXCIgc3Ytbmctc3RyaW5nPlxuICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIW1vZGVsLmhhc0NlbGxUZXh0XCI+XG4gICAgICAgICAgICAgIDx0ZFxuICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIG1vZGVsLnZpc2libGVDb2x1bW5zOyBpbmRleCBhcyBjb2x1bW5JbmRleDsgdHJhY2tCeTogdHJhY2tDb2x1bW5CeUZuXCJcbiAgICAgICAgICAgICAgW2F0dHIuZGF0YS1yZXNwb25zaXZlLXRpdGxlXT1cImNvbHVtbi5sb2NUZXh0LnJlbmRlcmVkSHRtbFwiXG4gICAgICAgICAgICAgIFtjbGFzc109XCJtb2RlbC5jc3NDbGFzc2VzLmNlbGxcIj5cbiAgICAgICAgICAgICAgICA8bGFiZWwgW2NsYXNzXT1cIm1vZGVsLmdldEl0ZW1DbGFzcyhyb3csIGNvbHVtbilcIj5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwicmFkaW9cIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3NdPVwibW9kZWwuY3NzQ2xhc3Nlcy5pdGVtVmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICBbbmFtZV09XCJyb3cuZnVsbE5hbWVcIlxuICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiY29sdW1uLnZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgW2NoZWNrZWRdPVwicm93LnZhbHVlID09PSBjb2x1bW4udmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwibW9kZWwuaXNJbnB1dFJlYWRPbmx5XCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuaWRdPVwibW9kZWwuaW5wdXRJZCArICdfJyArIHJvdy5uYW1lICsgJ18nICsgY29sdW1uSW5kZXhcIlxuICAgICAgICAgICAgICAgICAgICAoY2hhbmdlKT1cIm9uQ2hhbmdlKHJvdywgY29sdW1uKVwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtcmVxdWlyZWRdPVwibW9kZWwuYXJpYVJlcXVpcmVkXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJjb2x1bW4ubG9jVGV4dC5yZW5kZXJlZEh0bWxcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWludmFsaWRdPVwibW9kZWwuYXJpYUludmFsaWRcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cIm1vZGVsLmFyaWFEZXNjcmliZWRCeVwiXG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPHNwYW4gW2NsYXNzXT1cIm1vZGVsLmNzc0NsYXNzZXMubWF0ZXJpYWxEZWNvcmF0b3JcIj5cbiAgICAgICAgICAgICAgICAgICAgPHN2ZyAqbmdJZj1cIm1vZGVsLml0ZW1TdmdJY29uXCIgW2NsYXNzXT1cIm1vZGVsLmNzc0NsYXNzZXMuaXRlbURlY29yYXRvclwiPlxuICAgICAgICAgICAgICAgICAgICAgIDx1c2UgW2F0dHIueGxpbms6aHJlZl09XCJtb2RlbC5pdGVtU3ZnSWNvblwiPjwvdXNlPlxuICAgICAgICAgICAgICAgICAgICA8L3N2Zz4gXG4gICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8c3BhbiBbdmlzaWJsZV09XCJtb2RlbC5pc01vYmlsZVwiIFtjbGFzc109XCJtb2RlbC5jc3NDbGFzc2VzLmNlbGxSZXNwb25zaXZlVGl0bGVcIiBbbW9kZWxdPVwiY29sdW1uLmxvY1RleHRcIiBzdi1uZy1zdHJpbmc+PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L3RyPlxuICAgICAgICA8L3Rib2R5PlxuICAgICAgPC90YWJsZT5cbiAgICA8L2ZpZWxkc2V0PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+Il19