survey-angular-ui 2.2.5 → 2.3.0

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.
Files changed (31) hide show
  1. package/angular-ui.d.ts +1 -1
  2. package/angular-ui.module.d.ts +2 -2
  3. package/bundles/survey-angular-ui.umd.js +60 -54
  4. package/bundles/survey-angular-ui.umd.js.map +1 -1
  5. package/comment-choice.component.d.ts +11 -0
  6. package/errors.component.d.ts +0 -2
  7. package/esm2015/angular-ui.js +2 -2
  8. package/esm2015/angular-ui.module.js +6 -6
  9. package/esm2015/comment-choice.component.js +28 -0
  10. package/esm2015/components/popup/popup.service.js +11 -3
  11. package/esm2015/components/renderAs/dropdown-select/dropdown-select.component.js +3 -3
  12. package/esm2015/errors.component.js +2 -14
  13. package/esm2015/questions/checkbox.component.js +4 -5
  14. package/esm2015/questions/dropdown.component.js +3 -3
  15. package/esm2015/questions/expression.component.js +3 -3
  16. package/esm2015/questions/imagepicker-item.component.js +2 -2
  17. package/esm2015/questions/matrix.component.js +2 -2
  18. package/esm2015/questions/matrixcell.component.js +5 -2
  19. package/esm2015/questions/matrixdropdowncell.component.js +3 -3
  20. package/esm2015/questions/radiogroup-item.component.js +8 -2
  21. package/esm2015/questions/radiogroup.component.js +4 -5
  22. package/esm2015/questions/selectbase-item.js +4 -3
  23. package/esm2015/questions/selectbase.component.js +4 -5
  24. package/esm2015/questions/tagbox.component.js +3 -3
  25. package/fesm2015/survey-angular-ui.js +50 -44
  26. package/fesm2015/survey-angular-ui.js.map +1 -1
  27. package/package.json +5 -2
  28. package/questions/matrixcell.component.d.ts +1 -0
  29. package/questions/radiogroup-item.component.d.ts +2 -0
  30. package/comment-other.component.d.ts +0 -10
  31. package/esm2015/comment-other.component.js +0 -27
package/angular-ui.d.ts CHANGED
@@ -41,7 +41,7 @@ export * from "./components/action-bar/action-bar-item-dropdown.component";
41
41
  export * from "./questions/selectbase-item";
42
42
  export * from "./questions/selectbase.component";
43
43
  export * from "./comment.component";
44
- export * from "./comment-other.component";
44
+ export * from "./comment-choice.component";
45
45
  export * from "./components/element-header/element-header.component";
46
46
  export * from "./components/element-title/element-title.component";
47
47
  export * from "./components/survey-header/survey-header.component";
@@ -51,7 +51,7 @@ import * as i49 from "./questions/html.component";
51
51
  import * as i50 from "./questions/selectbase-item";
52
52
  import * as i51 from "./questions/selectbase.component";
53
53
  import * as i52 from "./comment.component";
54
- import * as i53 from "./comment-other.component";
54
+ import * as i53 from "./comment-choice.component";
55
55
  import * as i54 from "./components/element-header/element-header.component";
56
56
  import * as i55 from "./components/element-title/title-actions.component";
57
57
  import * as i56 from "./components/element-title/element-title.component";
@@ -134,6 +134,6 @@ import * as i132 from "@angular/common";
134
134
  import * as i133 from "@angular/forms";
135
135
  export declare class SurveyModule {
136
136
  static ɵfac: i0.ɵɵFactoryDeclaration<SurveyModule, never>;
137
- static ɵmod: i0.ɵɵNgModuleDeclaration<SurveyModule, [typeof i1.VisibleDirective, typeof i2.Key2ClickDirective, typeof i3.PanelDynamicAddBtn, typeof i4.PanelDynamicNextBtn, typeof i5.PanelDynamicPrevBtn, typeof i6.PanelDynamicProgressText, typeof i7.ElementComponent, typeof i8.TemplateRendererComponent, typeof i9.SurveyComponent, typeof i10.SurveyContentComponent, typeof i11.PopupSurveyComponent, typeof i12.PageComponent, typeof i13.PanelComponent, typeof i14.QuestionComponent, typeof i15.StringViewerComponent, typeof i16.SurveyStringComponent, typeof i17.StringEditorComponent, typeof i18.TextAreaComponent, typeof i19.QuestionSkeletonComponent, typeof i20.ScrollComponent, typeof i21.TextQuestionComponent, typeof i22.RadiogroupComponent, typeof i23.RadiogroupItemComponent, typeof i24.CheckboxComponent, typeof i25.CheckboxItemComponent, typeof i26.DropdownComponent, typeof i27.DropdownQuestionComponent, typeof i28.DropdownSelectComponent, typeof i29.DropdownOptionItemComponent, typeof i30.PopupComponent, typeof i31.PopupBaseContainerComponent, typeof i32.PopupPointerComponent, typeof i33.CharacterCounterComponent, typeof i34.ListComponent, typeof i35.ListItemComponent, typeof i36.ListItemContentComponent, typeof i37.ListItemGroupComponent, typeof i38.RatingItemComponent, typeof i39.RatingItemStarComponent, typeof i40.RatingItemSmileyComponent, typeof i41.TagboxFilterComponent, typeof i42.TagboxComponent, typeof i43.TagboxQuestionComponent, typeof i44.TagboxItemComponent, typeof i45.ActionBarComponent, typeof i46.ActionComponent, typeof i47.ActionBarItemComponent, typeof i48.ActionBarItemDropdownComponent, typeof i49.HtmlQuestionComponent, typeof i50.SelectBaseItemComponent, typeof i51.SelectBaseComponent, typeof i52.SurveyCommentComponent, typeof i53.SurveyCommentOtherComponent, typeof i54.ElementHeaderComponent, typeof i55.ElementTitleActionsComponent, typeof i56.ElementTitleComponent, typeof i57.DynamicHeadComponent, typeof i58.RowComponent, typeof i59.RatingQuestionComponent, typeof i60.SliderQuestionComponent, typeof i61.SliderLabelItemComponent, typeof i62.RatingDropdownItemComponent, typeof i63.RatingDropdownComponent, typeof i64.ButtonGroupDropdownComponent, typeof i65.BooleanQuestionComponent, typeof i66.BooleanCheckboxComponent, typeof i67.BooleanRadioComponent, typeof i68.BooleanRadioItemComponent, typeof i69.ImagePickerItemComponent, typeof i70.ImagePickerQuestionComponent, typeof i71.ImageQuestionComponent, typeof i72.SurveyHeaderComponent, typeof i73.ProgressDefaultComponent, typeof i74.ProgressButtonsComponent, typeof i75.ProgressTocComponent, typeof i76.SurveyNavigationButton, typeof i77.MatrixQuestionComponent, typeof i78.SvgIconComponent, typeof i79.FileQuestionComponent, typeof i80.SafeUrlPipe, typeof i81.SafeHtmlPipe, typeof i82.CommentQuestionComponent, typeof i83.SignaturePadQuestionComponent, typeof i84.ErrorsComponent, typeof i85.MultipleTextComponent, typeof i86.MultipleTextItemComponent, typeof i87.DynamicComponentDirective, typeof i88.RankingQuestionComponent, typeof i89.RankingItemComponent, typeof i90.RankingItemContentComponent, typeof i91.PanelDynamicQuestionComponent, typeof i92.EmbeddedViewContentComponent, typeof i93.CustomWidgetComponent, typeof i94.MatrixCellComponent, typeof i95.MatrixDropdownCellComponent, typeof i96.MatrixTableComponent, typeof i97.MatrixDropdownComponent, typeof i98.MatrixDynamicComponent, typeof i99.MatrixDetailButtonComponent, typeof i100.MatrixDynamicRemoveButtonComponent, typeof i101.MatrixDynamicDragDropIconComponent, typeof i102.MatrixRequiredHeader, typeof i103.ExpressionComponent, typeof i80.SafeResourceUrlPipe, typeof i104.BrandInfoComponent, typeof i105.QuestionErrorComponent, typeof i106.CustomQuestionComponent, typeof i107.CompositeQuestionComponent, typeof i108.ButtonGroupItemComponent, typeof i109.ButtonGroupQuestionComponent, typeof i110.MatrixRowComponent, typeof i111.ModalComponent, typeof i112.LogoImageComponent, typeof i113.SkeletonComponent, typeof i114.TimerPanelComponent, typeof i115.PaneldynamicRemoveButtonComponent, typeof i116.NotifierComponent, typeof i117.ComponentsContainerComponent, typeof i118.MultipleTextRowComponent, typeof i119.LoadingIndicatorComponent, typeof i120.HeaderComponent, typeof i121.HeaderCellComponent, typeof i122.HeaderMobileComponent, typeof i123.ChooseFileBtn, typeof i124.FilePreviewComponent, typeof i125.SvgBundleComponent, typeof i126.FileItemComponent, typeof i127.FilePageComponent, typeof i128.BreadcrumbsComponent, typeof i129.SingleInputSummaryComponent, typeof i130.MatrixDynamicPlaceholderComponent, typeof i131.PanelDynamicPlaceholderComponent], [typeof i132.CommonModule, typeof i133.FormsModule], [typeof i1.VisibleDirective, typeof i2.Key2ClickDirective, typeof i3.PanelDynamicAddBtn, typeof i4.PanelDynamicNextBtn, typeof i5.PanelDynamicPrevBtn, typeof i6.PanelDynamicProgressText, typeof i7.ElementComponent, typeof i8.TemplateRendererComponent, typeof i9.SurveyComponent, typeof i10.SurveyContentComponent, typeof i11.PopupSurveyComponent, typeof i12.PageComponent, typeof i13.PanelComponent, typeof i14.QuestionComponent, typeof i15.StringViewerComponent, typeof i16.SurveyStringComponent, typeof i17.StringEditorComponent, typeof i18.TextAreaComponent, typeof i19.QuestionSkeletonComponent, typeof i20.ScrollComponent, typeof i21.TextQuestionComponent, typeof i22.RadiogroupComponent, typeof i23.RadiogroupItemComponent, typeof i24.CheckboxComponent, typeof i25.CheckboxItemComponent, typeof i33.CharacterCounterComponent, typeof i26.DropdownComponent, typeof i27.DropdownQuestionComponent, typeof i28.DropdownSelectComponent, typeof i29.DropdownOptionItemComponent, typeof i30.PopupComponent, typeof i31.PopupBaseContainerComponent, typeof i32.PopupPointerComponent, typeof i33.CharacterCounterComponent, typeof i34.ListComponent, typeof i35.ListItemComponent, typeof i36.ListItemContentComponent, typeof i37.ListItemGroupComponent, typeof i38.RatingItemComponent, typeof i39.RatingItemStarComponent, typeof i40.RatingItemSmileyComponent, typeof i41.TagboxFilterComponent, typeof i42.TagboxComponent, typeof i43.TagboxQuestionComponent, typeof i44.TagboxItemComponent, typeof i45.ActionBarComponent, typeof i46.ActionComponent, typeof i47.ActionBarItemComponent, typeof i48.ActionBarItemDropdownComponent, typeof i49.HtmlQuestionComponent, typeof i50.SelectBaseItemComponent, typeof i51.SelectBaseComponent, typeof i52.SurveyCommentComponent, typeof i53.SurveyCommentOtherComponent, typeof i54.ElementHeaderComponent, typeof i56.ElementTitleComponent, typeof i57.DynamicHeadComponent, typeof i58.RowComponent, typeof i59.RatingQuestionComponent, typeof i60.SliderQuestionComponent, typeof i61.SliderLabelItemComponent, typeof i62.RatingDropdownItemComponent, typeof i63.RatingDropdownComponent, typeof i64.ButtonGroupDropdownComponent, typeof i65.BooleanQuestionComponent, typeof i66.BooleanCheckboxComponent, typeof i67.BooleanRadioComponent, typeof i68.BooleanRadioItemComponent, typeof i69.ImagePickerItemComponent, typeof i70.ImagePickerQuestionComponent, typeof i71.ImageQuestionComponent, typeof i72.SurveyHeaderComponent, typeof i73.ProgressDefaultComponent, typeof i74.ProgressButtonsComponent, typeof i76.SurveyNavigationButton, typeof i77.MatrixQuestionComponent, typeof i78.SvgIconComponent, typeof i79.FileQuestionComponent, typeof i80.SafeUrlPipe, typeof i81.SafeHtmlPipe, typeof i82.CommentQuestionComponent, typeof i83.SignaturePadQuestionComponent, typeof i84.ErrorsComponent, typeof i85.MultipleTextComponent, typeof i86.MultipleTextItemComponent, typeof i87.DynamicComponentDirective, typeof i88.RankingQuestionComponent, typeof i89.RankingItemComponent, typeof i90.RankingItemContentComponent, typeof i91.PanelDynamicQuestionComponent, typeof i92.EmbeddedViewContentComponent, typeof i93.CustomWidgetComponent, typeof i94.MatrixCellComponent, typeof i95.MatrixDropdownCellComponent, typeof i96.MatrixTableComponent, typeof i97.MatrixDropdownComponent, typeof i98.MatrixDynamicComponent, typeof i99.MatrixDetailButtonComponent, typeof i100.MatrixDynamicRemoveButtonComponent, typeof i101.MatrixDynamicDragDropIconComponent, typeof i102.MatrixRequiredHeader, typeof i103.ExpressionComponent, typeof i80.SafeResourceUrlPipe, typeof i106.CustomQuestionComponent, typeof i107.CompositeQuestionComponent, typeof i109.ButtonGroupQuestionComponent, typeof i111.ModalComponent, typeof i112.LogoImageComponent, typeof i113.SkeletonComponent, typeof i114.TimerPanelComponent, typeof i115.PaneldynamicRemoveButtonComponent, typeof i116.NotifierComponent, typeof i117.ComponentsContainerComponent, typeof i118.MultipleTextRowComponent, typeof i119.LoadingIndicatorComponent, typeof i120.HeaderComponent, typeof i121.HeaderCellComponent, typeof i122.HeaderMobileComponent, typeof i124.FilePreviewComponent, typeof i125.SvgBundleComponent, typeof i126.FileItemComponent, typeof i127.FilePageComponent, typeof i128.BreadcrumbsComponent, typeof i129.SingleInputSummaryComponent, typeof i130.MatrixDynamicPlaceholderComponent, typeof i131.PanelDynamicPlaceholderComponent]>;
137
+ static ɵmod: i0.ɵɵNgModuleDeclaration<SurveyModule, [typeof i1.VisibleDirective, typeof i2.Key2ClickDirective, typeof i3.PanelDynamicAddBtn, typeof i4.PanelDynamicNextBtn, typeof i5.PanelDynamicPrevBtn, typeof i6.PanelDynamicProgressText, typeof i7.ElementComponent, typeof i8.TemplateRendererComponent, typeof i9.SurveyComponent, typeof i10.SurveyContentComponent, typeof i11.PopupSurveyComponent, typeof i12.PageComponent, typeof i13.PanelComponent, typeof i14.QuestionComponent, typeof i15.StringViewerComponent, typeof i16.SurveyStringComponent, typeof i17.StringEditorComponent, typeof i18.TextAreaComponent, typeof i19.QuestionSkeletonComponent, typeof i20.ScrollComponent, typeof i21.TextQuestionComponent, typeof i22.RadiogroupComponent, typeof i23.RadiogroupItemComponent, typeof i24.CheckboxComponent, typeof i25.CheckboxItemComponent, typeof i26.DropdownComponent, typeof i27.DropdownQuestionComponent, typeof i28.DropdownSelectComponent, typeof i29.DropdownOptionItemComponent, typeof i30.PopupComponent, typeof i31.PopupBaseContainerComponent, typeof i32.PopupPointerComponent, typeof i33.CharacterCounterComponent, typeof i34.ListComponent, typeof i35.ListItemComponent, typeof i36.ListItemContentComponent, typeof i37.ListItemGroupComponent, typeof i38.RatingItemComponent, typeof i39.RatingItemStarComponent, typeof i40.RatingItemSmileyComponent, typeof i41.TagboxFilterComponent, typeof i42.TagboxComponent, typeof i43.TagboxQuestionComponent, typeof i44.TagboxItemComponent, typeof i45.ActionBarComponent, typeof i46.ActionComponent, typeof i47.ActionBarItemComponent, typeof i48.ActionBarItemDropdownComponent, typeof i49.HtmlQuestionComponent, typeof i50.SelectBaseItemComponent, typeof i51.SelectBaseComponent, typeof i52.SurveyCommentComponent, typeof i53.SurveyCommentChoiceComponent, typeof i54.ElementHeaderComponent, typeof i55.ElementTitleActionsComponent, typeof i56.ElementTitleComponent, typeof i57.DynamicHeadComponent, typeof i58.RowComponent, typeof i59.RatingQuestionComponent, typeof i60.SliderQuestionComponent, typeof i61.SliderLabelItemComponent, typeof i62.RatingDropdownItemComponent, typeof i63.RatingDropdownComponent, typeof i64.ButtonGroupDropdownComponent, typeof i65.BooleanQuestionComponent, typeof i66.BooleanCheckboxComponent, typeof i67.BooleanRadioComponent, typeof i68.BooleanRadioItemComponent, typeof i69.ImagePickerItemComponent, typeof i70.ImagePickerQuestionComponent, typeof i71.ImageQuestionComponent, typeof i72.SurveyHeaderComponent, typeof i73.ProgressDefaultComponent, typeof i74.ProgressButtonsComponent, typeof i75.ProgressTocComponent, typeof i76.SurveyNavigationButton, typeof i77.MatrixQuestionComponent, typeof i78.SvgIconComponent, typeof i79.FileQuestionComponent, typeof i80.SafeUrlPipe, typeof i81.SafeHtmlPipe, typeof i82.CommentQuestionComponent, typeof i83.SignaturePadQuestionComponent, typeof i84.ErrorsComponent, typeof i85.MultipleTextComponent, typeof i86.MultipleTextItemComponent, typeof i87.DynamicComponentDirective, typeof i88.RankingQuestionComponent, typeof i89.RankingItemComponent, typeof i90.RankingItemContentComponent, typeof i91.PanelDynamicQuestionComponent, typeof i92.EmbeddedViewContentComponent, typeof i93.CustomWidgetComponent, typeof i94.MatrixCellComponent, typeof i95.MatrixDropdownCellComponent, typeof i96.MatrixTableComponent, typeof i97.MatrixDropdownComponent, typeof i98.MatrixDynamicComponent, typeof i99.MatrixDetailButtonComponent, typeof i100.MatrixDynamicRemoveButtonComponent, typeof i101.MatrixDynamicDragDropIconComponent, typeof i102.MatrixRequiredHeader, typeof i103.ExpressionComponent, typeof i80.SafeResourceUrlPipe, typeof i104.BrandInfoComponent, typeof i105.QuestionErrorComponent, typeof i106.CustomQuestionComponent, typeof i107.CompositeQuestionComponent, typeof i108.ButtonGroupItemComponent, typeof i109.ButtonGroupQuestionComponent, typeof i110.MatrixRowComponent, typeof i111.ModalComponent, typeof i112.LogoImageComponent, typeof i113.SkeletonComponent, typeof i114.TimerPanelComponent, typeof i115.PaneldynamicRemoveButtonComponent, typeof i116.NotifierComponent, typeof i117.ComponentsContainerComponent, typeof i118.MultipleTextRowComponent, typeof i119.LoadingIndicatorComponent, typeof i120.HeaderComponent, typeof i121.HeaderCellComponent, typeof i122.HeaderMobileComponent, typeof i123.ChooseFileBtn, typeof i124.FilePreviewComponent, typeof i125.SvgBundleComponent, typeof i126.FileItemComponent, typeof i127.FilePageComponent, typeof i128.BreadcrumbsComponent, typeof i129.SingleInputSummaryComponent, typeof i130.MatrixDynamicPlaceholderComponent, typeof i131.PanelDynamicPlaceholderComponent], [typeof i132.CommonModule, typeof i133.FormsModule], [typeof i1.VisibleDirective, typeof i2.Key2ClickDirective, typeof i3.PanelDynamicAddBtn, typeof i4.PanelDynamicNextBtn, typeof i5.PanelDynamicPrevBtn, typeof i6.PanelDynamicProgressText, typeof i7.ElementComponent, typeof i8.TemplateRendererComponent, typeof i9.SurveyComponent, typeof i10.SurveyContentComponent, typeof i11.PopupSurveyComponent, typeof i12.PageComponent, typeof i13.PanelComponent, typeof i14.QuestionComponent, typeof i15.StringViewerComponent, typeof i16.SurveyStringComponent, typeof i17.StringEditorComponent, typeof i18.TextAreaComponent, typeof i19.QuestionSkeletonComponent, typeof i20.ScrollComponent, typeof i21.TextQuestionComponent, typeof i22.RadiogroupComponent, typeof i23.RadiogroupItemComponent, typeof i24.CheckboxComponent, typeof i25.CheckboxItemComponent, typeof i33.CharacterCounterComponent, typeof i26.DropdownComponent, typeof i27.DropdownQuestionComponent, typeof i28.DropdownSelectComponent, typeof i29.DropdownOptionItemComponent, typeof i30.PopupComponent, typeof i31.PopupBaseContainerComponent, typeof i32.PopupPointerComponent, typeof i33.CharacterCounterComponent, typeof i34.ListComponent, typeof i35.ListItemComponent, typeof i36.ListItemContentComponent, typeof i37.ListItemGroupComponent, typeof i38.RatingItemComponent, typeof i39.RatingItemStarComponent, typeof i40.RatingItemSmileyComponent, typeof i41.TagboxFilterComponent, typeof i42.TagboxComponent, typeof i43.TagboxQuestionComponent, typeof i44.TagboxItemComponent, typeof i45.ActionBarComponent, typeof i46.ActionComponent, typeof i47.ActionBarItemComponent, typeof i48.ActionBarItemDropdownComponent, typeof i49.HtmlQuestionComponent, typeof i50.SelectBaseItemComponent, typeof i51.SelectBaseComponent, typeof i52.SurveyCommentComponent, typeof i53.SurveyCommentChoiceComponent, typeof i54.ElementHeaderComponent, typeof i56.ElementTitleComponent, typeof i57.DynamicHeadComponent, typeof i58.RowComponent, typeof i59.RatingQuestionComponent, typeof i60.SliderQuestionComponent, typeof i61.SliderLabelItemComponent, typeof i62.RatingDropdownItemComponent, typeof i63.RatingDropdownComponent, typeof i64.ButtonGroupDropdownComponent, typeof i65.BooleanQuestionComponent, typeof i66.BooleanCheckboxComponent, typeof i67.BooleanRadioComponent, typeof i68.BooleanRadioItemComponent, typeof i69.ImagePickerItemComponent, typeof i70.ImagePickerQuestionComponent, typeof i71.ImageQuestionComponent, typeof i72.SurveyHeaderComponent, typeof i73.ProgressDefaultComponent, typeof i74.ProgressButtonsComponent, typeof i76.SurveyNavigationButton, typeof i77.MatrixQuestionComponent, typeof i78.SvgIconComponent, typeof i79.FileQuestionComponent, typeof i80.SafeUrlPipe, typeof i81.SafeHtmlPipe, typeof i82.CommentQuestionComponent, typeof i83.SignaturePadQuestionComponent, typeof i84.ErrorsComponent, typeof i85.MultipleTextComponent, typeof i86.MultipleTextItemComponent, typeof i87.DynamicComponentDirective, typeof i88.RankingQuestionComponent, typeof i89.RankingItemComponent, typeof i90.RankingItemContentComponent, typeof i91.PanelDynamicQuestionComponent, typeof i92.EmbeddedViewContentComponent, typeof i93.CustomWidgetComponent, typeof i94.MatrixCellComponent, typeof i95.MatrixDropdownCellComponent, typeof i96.MatrixTableComponent, typeof i97.MatrixDropdownComponent, typeof i98.MatrixDynamicComponent, typeof i99.MatrixDetailButtonComponent, typeof i100.MatrixDynamicRemoveButtonComponent, typeof i101.MatrixDynamicDragDropIconComponent, typeof i102.MatrixRequiredHeader, typeof i103.ExpressionComponent, typeof i80.SafeResourceUrlPipe, typeof i106.CustomQuestionComponent, typeof i107.CompositeQuestionComponent, typeof i109.ButtonGroupQuestionComponent, typeof i111.ModalComponent, typeof i112.LogoImageComponent, typeof i113.SkeletonComponent, typeof i114.TimerPanelComponent, typeof i115.PaneldynamicRemoveButtonComponent, typeof i116.NotifierComponent, typeof i117.ComponentsContainerComponent, typeof i118.MultipleTextRowComponent, typeof i119.LoadingIndicatorComponent, typeof i120.HeaderComponent, typeof i121.HeaderCellComponent, typeof i122.HeaderMobileComponent, typeof i124.FilePreviewComponent, typeof i125.SvgBundleComponent, typeof i126.FileItemComponent, typeof i127.FilePageComponent, typeof i128.BreadcrumbsComponent, typeof i129.SingleInputSummaryComponent, typeof i130.MatrixDynamicPlaceholderComponent, typeof i131.PanelDynamicPlaceholderComponent]>;
138
138
  static ɵinj: i0.ɵɵInjectorDeclaration<SurveyModule>;
139
139
  }
@@ -1016,7 +1016,15 @@
1016
1016
  this.componentFactoryResolver = componentFactoryResolver;
1017
1017
  }
1018
1018
  PopupService.prototype.createComponent = function (popupViewModel) {
1019
- var portalHost = new portal.DomPortalOutlet(popupViewModel.container, this.componentFactoryResolver, this.applicationRef, this.injector);
1019
+ var portalHost;
1020
+ if (Number.parseInt(i0.VERSION.major) > 18) {
1021
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
1022
+ //@ts-ignore
1023
+ portalHost = new portal.DomPortalOutlet(popupViewModel.container, this.applicationRef, this.injector);
1024
+ }
1025
+ else {
1026
+ portalHost = new portal.DomPortalOutlet(popupViewModel.container, this.componentFactoryResolver, this.applicationRef, this.injector);
1027
+ }
1020
1028
  var portal$1 = new portal.ComponentPortal(PopupBaseContainerComponent);
1021
1029
  var componentRef = portalHost.attach(portal$1);
1022
1030
  popupViewModel.setComponentElement(popupViewModel.container.children[0]);
@@ -1350,13 +1358,6 @@
1350
1358
  var ErrorsComponent = /** @class */ (function () {
1351
1359
  function ErrorsComponent() {
1352
1360
  }
1353
- Object.defineProperty(ErrorsComponent.prototype, "role", {
1354
- get: function () {
1355
- return "alert";
1356
- },
1357
- enumerable: false,
1358
- configurable: true
1359
- });
1360
1361
  Object.defineProperty(ErrorsComponent.prototype, "id", {
1361
1362
  get: function () {
1362
1363
  return this.element.id + "_errors";
@@ -1364,13 +1365,6 @@
1364
1365
  enumerable: false,
1365
1366
  configurable: true
1366
1367
  });
1367
- Object.defineProperty(ErrorsComponent.prototype, "ariaLive", {
1368
- get: function () {
1369
- return "polite";
1370
- },
1371
- enumerable: false,
1372
- configurable: true
1373
- });
1374
1368
  Object.defineProperty(ErrorsComponent.prototype, "class", {
1375
1369
  get: function () {
1376
1370
  return this.element.cssError;
@@ -1381,7 +1375,7 @@
1381
1375
  return ErrorsComponent;
1382
1376
  }());
1383
1377
  ErrorsComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ErrorsComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
1384
- ErrorsComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ErrorsComponent, selector: "'[sv-ng-errors]'", inputs: { element: "element", location: "location" }, host: { properties: { "attr.role": "this.role", "id": "this.id", "attr.aria-live": "this.ariaLive", "class": "this.class" } }, ngImport: i0__namespace, template: "<ng-container *ngFor=\"let error of element.errors;\">\n <ng-template [component]=\"{ name: element.survey.questionErrorComponent, data: { element: element, cssClasses: element.cssClasses, error: error } }\"></ng-template>\n</ng-container>\n", directives: [{ type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
1378
+ ErrorsComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ErrorsComponent, selector: "'[sv-ng-errors]'", inputs: { element: "element", location: "location" }, host: { properties: { "id": "this.id", "class": "this.class" } }, ngImport: i0__namespace, template: "<ng-container *ngFor=\"let error of element.errors;\">\n <ng-template [component]=\"{ name: element.survey.questionErrorComponent, data: { element: element, cssClasses: element.cssClasses, error: error } }\"></ng-template>\n</ng-container>\n", directives: [{ type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
1385
1379
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ErrorsComponent, decorators: [{
1386
1380
  type: i0.Component,
1387
1381
  args: [{
@@ -1392,15 +1386,9 @@
1392
1386
  type: i0.Input
1393
1387
  }], location: [{
1394
1388
  type: i0.Input
1395
- }], role: [{
1396
- type: i0.HostBinding,
1397
- args: ["attr.role"]
1398
1389
  }], id: [{
1399
1390
  type: i0.HostBinding,
1400
1391
  args: ["id"]
1401
- }], ariaLive: [{
1402
- type: i0.HostBinding,
1403
- args: ["attr.aria-live"]
1404
1392
  }], class: [{
1405
1393
  type: i0.HostBinding,
1406
1394
  args: ["class"]
@@ -2467,36 +2455,37 @@
2467
2455
  }] } });
2468
2456
  AngularComponentFactory.Instance.registerComponent("sv-dropdown-option-item", DropdownOptionItemComponent);
2469
2457
 
2470
- var SurveyCommentOtherComponent = /** @class */ (function () {
2471
- function SurveyCommentOtherComponent() {
2458
+ var SurveyCommentChoiceComponent = /** @class */ (function () {
2459
+ function SurveyCommentChoiceComponent() {
2472
2460
  }
2473
- Object.defineProperty(SurveyCommentOtherComponent.prototype, "otherValue", {
2461
+ Object.defineProperty(SurveyCommentChoiceComponent.prototype, "commentValue", {
2474
2462
  get: function () {
2475
- var val = this.question.otherValue;
2476
- return !!val ? val : "";
2463
+ return this.question.getCommentValue(this.item);
2477
2464
  },
2478
2465
  enumerable: false,
2479
2466
  configurable: true
2480
2467
  });
2481
- Object.defineProperty(SurveyCommentOtherComponent.prototype, "textAreaModel", {
2468
+ Object.defineProperty(SurveyCommentChoiceComponent.prototype, "textAreaModel", {
2482
2469
  get: function () {
2483
- return this.question.otherTextAreaModel;
2470
+ return this.question.getCommentTextAreaModel(this.item);
2484
2471
  },
2485
2472
  enumerable: false,
2486
2473
  configurable: true
2487
2474
  });
2488
- return SurveyCommentOtherComponent;
2475
+ return SurveyCommentChoiceComponent;
2489
2476
  }());
2490
- SurveyCommentOtherComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SurveyCommentOtherComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
2491
- SurveyCommentOtherComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: SurveyCommentOtherComponent, selector: "sv-ng-comment-other, '[sv-ng-comment-other]'", inputs: { question: "question" }, ngImport: i0__namespace, template: "<ng-container *ngIf=\"!question.isReadOnlyRenderDiv()\">\n <ng-template [component]=\"{ name: 'sv-text-area', data: { model: textAreaModel } }\"></ng-template>\n</ng-container>\n<div *ngIf=\"question.isReadOnlyRenderDiv()\">{{ otherValue }}</div>\n", directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
2492
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SurveyCommentOtherComponent, decorators: [{
2477
+ SurveyCommentChoiceComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SurveyCommentChoiceComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
2478
+ SurveyCommentChoiceComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: SurveyCommentChoiceComponent, selector: "sv-ng-comment-choice, '[sv-ng-comment-choice]'", inputs: { question: "question", item: "item" }, ngImport: i0__namespace, template: "<ng-container *ngIf=\"!question.isReadOnlyRenderDiv()\">\n <ng-template [component]=\"{ name: 'sv-text-area', data: { model: textAreaModel } }\"></ng-template>\n</ng-container>\n<div *ngIf=\"question.isReadOnlyRenderDiv()\">{{ commentValue }}</div>\n", directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
2479
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SurveyCommentChoiceComponent, decorators: [{
2493
2480
  type: i0.Component,
2494
2481
  args: [{
2495
- selector: "sv-ng-comment-other, '[sv-ng-comment-other]'",
2496
- templateUrl: "./comment-other.component.html",
2482
+ selector: "sv-ng-comment-choice, '[sv-ng-comment-choice]'",
2483
+ templateUrl: "./comment-choice.component.html",
2497
2484
  }]
2498
2485
  }], ctorParameters: function () { return []; }, propDecorators: { question: [{
2499
2486
  type: i0.Input
2487
+ }], item: [{
2488
+ type: i0.Input
2500
2489
  }] } });
2501
2490
 
2502
2491
  var DropdownSelectComponent = /** @class */ (function () {
@@ -2526,7 +2515,7 @@
2526
2515
  return DropdownSelectComponent;
2527
2516
  }());
2528
2517
  DropdownSelectComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DropdownSelectComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
2529
- DropdownSelectComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DropdownSelectComponent, selector: "sv-ng-dropdown-select-question", inputs: { model: "model" }, ngImport: i0__namespace, template: "<div [class]=\"model.renderCssRoot\">\n <div [class]=\"model.cssClasses.selectWrapper\">\n <select *ngIf=\"!model.isReadOnly\" [attr.id]=\"model.inputId\" [(ngModel)]=\"editableValue\"\n [disabled]=\"model.isInputReadOnly\" (click)=\"click($event)\" (keyup)=\"keyup($event)\"\n [class]=\"model.getControlClass()\" [attr.autocomplete]=\"model.autocomplete\" [required]=\"model.isRequired\"\n [attr.aria-required]=\"model.a11y_input_ariaRequired\" [attr.aria-label]=\"model.a11y_input_ariaLabel\"\n [attr.aria-invalid]=\"model.a11y_input_ariaInvalid\" [attr.aria-errormessage]=\"model.a11y_input_ariaErrormessage\">\n <option *ngIf=\"model.allowClear\" value=\"\">{{ model.placeholder }}</option>\n <ng-template *ngFor=\"let item of model.visibleChoices\"\n [component]=\"{ name: 'sv-dropdown-option-item', data: { item } }\"></ng-template>\n </select>\n <div *ngIf=\"model.isReadOnly\" disabled [class]=\"model.getControlClass()\" [attr.id]=\"model.inputId\">{{\n model.readOnlyText }}</div>\n <div *ngIf=\"model.cssClasses.chevronButtonIconId\" [class]=\"model.cssClasses.chevronButton\" aria-hidden=\"true\">\n <svg [iconName]=\"model.cssClasses.chevronButtonIconId\" [partCss]=\"model.cssClasses.chevronButtonSvg\"\n [size]=\"'auto'\" sv-ng-svg-icon></svg>\n </div>\n </div>\n <div *ngIf=\"model.isOtherSelected\" [class]=\"model.getCommentAreaCss(true)\"\n [style.display]=\"model.isFlowLayout ? 'inline': '' \" [question]=\"model\" sv-ng-comment-other></div>\n</div>", components: [{ type: SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: SurveyCommentOtherComponent, selector: "sv-ng-comment-other, '[sv-ng-comment-other]'", inputs: ["question"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace$1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { type: i2__namespace$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2__namespace$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i2__namespace$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i2__namespace$1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i2__namespace$1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
2518
+ DropdownSelectComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DropdownSelectComponent, selector: "sv-ng-dropdown-select-question", inputs: { model: "model" }, ngImport: i0__namespace, template: "<div [class]=\"model.renderCssRoot\">\n <div [class]=\"model.cssClasses.selectWrapper\">\n <select *ngIf=\"!model.isReadOnly\" [attr.id]=\"model.inputId\" [(ngModel)]=\"editableValue\"\n [disabled]=\"model.isInputReadOnly\" (click)=\"click($event)\" (keyup)=\"keyup($event)\"\n [class]=\"model.getControlClass()\" [attr.autocomplete]=\"model.autocomplete\" [required]=\"model.isRequired\"\n [attr.aria-required]=\"model.a11y_input_ariaRequired\" [attr.aria-label]=\"model.a11y_input_ariaLabel\"\n [attr.aria-invalid]=\"model.a11y_input_ariaInvalid\" [attr.aria-errormessage]=\"model.a11y_input_ariaErrormessage\">\n <option *ngIf=\"model.allowClear\" value=\"\">{{ model.placeholder }}</option>\n <ng-template *ngFor=\"let item of model.visibleChoices\"\n [component]=\"{ name: 'sv-dropdown-option-item', data: { item } }\"></ng-template>\n </select>\n <div *ngIf=\"model.isReadOnly\" disabled [class]=\"model.getControlClass()\" [attr.id]=\"model.inputId\">{{\n model.readOnlyText }}</div>\n <div *ngIf=\"model.cssClasses.chevronButtonIconId\" [class]=\"model.cssClasses.chevronButton\" aria-hidden=\"true\">\n <svg [iconName]=\"model.cssClasses.chevronButtonIconId\" [partCss]=\"model.cssClasses.chevronButtonSvg\"\n [size]=\"'auto'\" sv-ng-svg-icon></svg>\n </div>\n </div>\n <div *ngIf=\"model.isShowingChoiceComment\" [class]=\"model.getCommentAreaCss(true)\"\n [style.display]=\"model.isFlowLayout ? 'inline': '' \" [question]=\"model\" [item]=\"model.selectedItem\" sv-ng-comment-choice></div>\n</div>", components: [{ type: SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: SurveyCommentChoiceComponent, selector: "sv-ng-comment-choice, '[sv-ng-comment-choice]'", inputs: ["question", "item"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace$1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { type: i2__namespace$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2__namespace$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i2__namespace$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i2__namespace$1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i2__namespace$1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
2530
2519
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DropdownSelectComponent, decorators: [{
2531
2520
  type: i0.Component,
2532
2521
  args: [{
@@ -2735,7 +2724,7 @@
2735
2724
  return SelectBaseComponent;
2736
2725
  }(QuestionAngular));
2737
2726
  SelectBaseComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SelectBaseComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
2738
- SelectBaseComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: SelectBaseComponent, selector: "['sv-ng-selectbase']", inputs: { model: "model" }, usesInheritance: true, ngImport: i0__namespace, template: "<fieldset [class]=\"model.getSelectBaseRootCss()\" #contentElement \n [attr.role]=\"model.a11y_input_ariaRole\"\n [attr.aria-required]=\"model.a11y_input_ariaRequired\"\n [attr.aria-label]=\"model.a11y_input_ariaLabel\"\n [attr.aria-labelledby]=\"model.a11y_input_ariaLabelledBy\"\n [attr.aria-describedby]=\"model.a11y_input_ariaDescribedBy\"\n [attr.aria-invalid]=\"model.a11y_input_ariaInvalid\"\n [attr.aria-errormessage]=\"model.a11y_input_ariaErrormessage\"\n>\n <legend *ngIf=\"showLegend\" class=\"sv-hidden\">{{model.locTitle.renderedHtml}}</legend>\n <ng-container *ngIf=\"model.hasHeadItems\">\n <ng-container *ngFor=\"let item of model.headItems; trackBy: trackItemBy\">\n <ng-template [component]=\"{ name: getItemValueComponentName(item), data: getItemValueComponentData(item) }\"></ng-template>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!model.hasColumns && !model.blockedRow\">\n <ng-container *ngFor=\"let item of model.bodyItems; trackBy: trackItemBy\" >\n <ng-template [component]=\"{ name: getItemValueComponentName(item), data: getItemValueComponentData(item) }\"></ng-template>\n </ng-container>\n </ng-container>\n <div [class]=\"model.cssClasses.rootRow\" *ngIf=\"!model.hasColumns && model.blockedRow\">\n <ng-container *ngFor=\"let item of model.dataChoices; trackBy: trackItemBy\">\n <ng-template [component]=\"{ name: getItemValueComponentName(item), data: getItemValueComponentData(item) }\"></ng-template>\n </ng-container>\n </div>\n <ng-container *ngIf=\"model.hasColumns\">\n <div [class]=\"model.cssClasses.rootMultiColumn\">\n <div [class]=\"model.getColumnClass()\" *ngFor=\"let column of model.columns; trackBy: trackColumnBy\" role=\"presentation\">\n <ng-container *ngFor=\"let item of column; trackBy: trackItemBy\">\n <ng-template [component]=\"{ name: getItemValueComponentName(item), data: getItemValueComponentData(item) }\"></ng-template>\n </ng-container>\n </div>\n </div>\n </ng-container>\n <ng-container *ngIf=\"model.hasFootItems\">\n <ng-container *ngFor=\"let item of model.footItems; trackBy: trackItemBy\">\n <ng-template [component]=\"{ name: getItemValueComponentName(item), data: getItemValueComponentData(item) }\"></ng-template>\n </ng-container>\n </ng-container>\n <div *ngIf=\"model.isOtherSelected\" [class]=\"model.getCommentAreaCss(true)\" [question]=\"model\" sv-ng-comment-other></div>\n <div *ngIf=\"model.showClearButtonInContent\">\n <input\n type=\"button\"\n (click)=\"model.clearValue(true)\"\n [value]=\"model.clearButtonCaption\"\n [class]=\"model.cssClasses.clearButton\"\n />\n </div>\n</fieldset>", components: [{ type: SurveyCommentOtherComponent, selector: "sv-ng-comment-other, '[sv-ng-comment-other]'", inputs: ["question"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
2727
+ SelectBaseComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: SelectBaseComponent, selector: "['sv-ng-selectbase']", inputs: { model: "model" }, usesInheritance: true, ngImport: i0__namespace, template: "<fieldset [class]=\"model.getSelectBaseRootCss()\" #contentElement \n [attr.role]=\"model.a11y_input_ariaRole\"\n [attr.aria-required]=\"model.a11y_input_ariaRequired\"\n [attr.aria-label]=\"model.a11y_input_ariaLabel\"\n [attr.aria-labelledby]=\"model.a11y_input_ariaLabelledBy\"\n [attr.aria-describedby]=\"model.a11y_input_ariaDescribedBy\"\n [attr.aria-invalid]=\"model.a11y_input_ariaInvalid\"\n [attr.aria-errormessage]=\"model.a11y_input_ariaErrormessage\"\n>\n <legend *ngIf=\"showLegend\" class=\"sv-hidden\">{{model.locTitle.renderedHtml}}</legend>\n <ng-container *ngIf=\"model.hasHeadItems\">\n <ng-container *ngFor=\"let item of model.headItems; trackBy: trackItemBy\">\n <ng-template [component]=\"{ name: getItemValueComponentName(item), data: getItemValueComponentData(item) }\"></ng-template>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!model.hasColumns && !model.blockedRow\">\n <ng-container *ngFor=\"let item of model.bodyItems; trackBy: trackItemBy\" >\n <ng-template [component]=\"{ name: getItemValueComponentName(item), data: getItemValueComponentData(item) }\"></ng-template>\n </ng-container>\n </ng-container>\n <div [class]=\"model.cssClasses.rootRow\" *ngIf=\"!model.hasColumns && model.blockedRow\">\n <ng-container *ngFor=\"let item of model.dataChoices; trackBy: trackItemBy\">\n <ng-template [component]=\"{ name: getItemValueComponentName(item), data: getItemValueComponentData(item) }\"></ng-template>\n </ng-container>\n </div>\n <ng-container *ngIf=\"model.hasColumns\">\n <div [class]=\"model.cssClasses.rootMultiColumn\">\n <div [class]=\"model.getColumnClass()\" *ngFor=\"let column of model.columns; trackBy: trackColumnBy\" role=\"presentation\">\n <ng-container *ngFor=\"let item of column; trackBy: trackItemBy\">\n <ng-template [component]=\"{ name: getItemValueComponentName(item), data: getItemValueComponentData(item) }\"></ng-template>\n </ng-container>\n </div>\n </div>\n </ng-container>\n <ng-container *ngIf=\"model.hasFootItems\">\n <ng-container *ngFor=\"let item of model.footItems; trackBy: trackItemBy\">\n <ng-template [component]=\"{ name: getItemValueComponentName(item), data: getItemValueComponentData(item) }\"></ng-template>\n </ng-container>\n </ng-container>\n <div *ngIf=\"model.showClearButtonInContent\">\n <input\n type=\"button\"\n (click)=\"model.clearValue(true)\"\n [value]=\"model.clearButtonCaption\"\n [class]=\"model.cssClasses.clearButton\"\n />\n </div>\n</fieldset>", directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
2739
2728
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SelectBaseComponent, decorators: [{
2740
2729
  type: i0.Component,
2741
2730
  args: [{
@@ -2760,7 +2749,7 @@
2760
2749
  return RadiogroupComponent;
2761
2750
  }(SelectBaseComponent));
2762
2751
  RadiogroupComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: RadiogroupComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
2763
- RadiogroupComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: RadiogroupComponent, selector: "sv-ng-radiogroup-question", usesInheritance: true, ngImport: i0__namespace, template: "<fieldset [class]=\"model.getSelectBaseRootCss()\" #contentElement \n [attr.role]=\"model.a11y_input_ariaRole\"\n [attr.aria-required]=\"model.a11y_input_ariaRequired\"\n [attr.aria-label]=\"model.a11y_input_ariaLabel\"\n [attr.aria-labelledby]=\"model.a11y_input_ariaLabelledBy\"\n [attr.aria-describedby]=\"model.a11y_input_ariaDescribedBy\"\n [attr.aria-invalid]=\"model.a11y_input_ariaInvalid\"\n [attr.aria-errormessage]=\"model.a11y_input_ariaErrormessage\"\n>\n <legend *ngIf=\"showLegend\" class=\"sv-hidden\">{{model.locTitle.renderedHtml}}</legend>\n <ng-container *ngIf=\"model.hasHeadItems\">\n <ng-container *ngFor=\"let item of model.headItems; trackBy: trackItemBy\">\n <ng-template [component]=\"{ name: getItemValueComponentName(item), data: getItemValueComponentData(item) }\"></ng-template>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!model.hasColumns && !model.blockedRow\">\n <ng-container *ngFor=\"let item of model.bodyItems; trackBy: trackItemBy\" >\n <ng-template [component]=\"{ name: getItemValueComponentName(item), data: getItemValueComponentData(item) }\"></ng-template>\n </ng-container>\n </ng-container>\n <div [class]=\"model.cssClasses.rootRow\" *ngIf=\"!model.hasColumns && model.blockedRow\">\n <ng-container *ngFor=\"let item of model.dataChoices; trackBy: trackItemBy\">\n <ng-template [component]=\"{ name: getItemValueComponentName(item), data: getItemValueComponentData(item) }\"></ng-template>\n </ng-container>\n </div>\n <ng-container *ngIf=\"model.hasColumns\">\n <div [class]=\"model.cssClasses.rootMultiColumn\">\n <div [class]=\"model.getColumnClass()\" *ngFor=\"let column of model.columns; trackBy: trackColumnBy\" role=\"presentation\">\n <ng-container *ngFor=\"let item of column; trackBy: trackItemBy\">\n <ng-template [component]=\"{ name: getItemValueComponentName(item), data: getItemValueComponentData(item) }\"></ng-template>\n </ng-container>\n </div>\n </div>\n </ng-container>\n <ng-container *ngIf=\"model.hasFootItems\">\n <ng-container *ngFor=\"let item of model.footItems; trackBy: trackItemBy\">\n <ng-template [component]=\"{ name: getItemValueComponentName(item), data: getItemValueComponentData(item) }\"></ng-template>\n </ng-container>\n </ng-container>\n <div *ngIf=\"model.isOtherSelected\" [class]=\"model.getCommentAreaCss(true)\" [question]=\"model\" sv-ng-comment-other></div>\n <div *ngIf=\"model.showClearButtonInContent\">\n <input\n type=\"button\"\n (click)=\"model.clearValue(true)\"\n [value]=\"model.clearButtonCaption\"\n [class]=\"model.cssClasses.clearButton\"\n />\n </div>\n</fieldset>", components: [{ type: SurveyCommentOtherComponent, selector: "sv-ng-comment-other, '[sv-ng-comment-other]'", inputs: ["question"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
2752
+ RadiogroupComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: RadiogroupComponent, selector: "sv-ng-radiogroup-question", usesInheritance: true, ngImport: i0__namespace, template: "<fieldset [class]=\"model.getSelectBaseRootCss()\" #contentElement \n [attr.role]=\"model.a11y_input_ariaRole\"\n [attr.aria-required]=\"model.a11y_input_ariaRequired\"\n [attr.aria-label]=\"model.a11y_input_ariaLabel\"\n [attr.aria-labelledby]=\"model.a11y_input_ariaLabelledBy\"\n [attr.aria-describedby]=\"model.a11y_input_ariaDescribedBy\"\n [attr.aria-invalid]=\"model.a11y_input_ariaInvalid\"\n [attr.aria-errormessage]=\"model.a11y_input_ariaErrormessage\"\n>\n <legend *ngIf=\"showLegend\" class=\"sv-hidden\">{{model.locTitle.renderedHtml}}</legend>\n <ng-container *ngIf=\"model.hasHeadItems\">\n <ng-container *ngFor=\"let item of model.headItems; trackBy: trackItemBy\">\n <ng-template [component]=\"{ name: getItemValueComponentName(item), data: getItemValueComponentData(item) }\"></ng-template>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!model.hasColumns && !model.blockedRow\">\n <ng-container *ngFor=\"let item of model.bodyItems; trackBy: trackItemBy\" >\n <ng-template [component]=\"{ name: getItemValueComponentName(item), data: getItemValueComponentData(item) }\"></ng-template>\n </ng-container>\n </ng-container>\n <div [class]=\"model.cssClasses.rootRow\" *ngIf=\"!model.hasColumns && model.blockedRow\">\n <ng-container *ngFor=\"let item of model.dataChoices; trackBy: trackItemBy\">\n <ng-template [component]=\"{ name: getItemValueComponentName(item), data: getItemValueComponentData(item) }\"></ng-template>\n </ng-container>\n </div>\n <ng-container *ngIf=\"model.hasColumns\">\n <div [class]=\"model.cssClasses.rootMultiColumn\">\n <div [class]=\"model.getColumnClass()\" *ngFor=\"let column of model.columns; trackBy: trackColumnBy\" role=\"presentation\">\n <ng-container *ngFor=\"let item of column; trackBy: trackItemBy\">\n <ng-template [component]=\"{ name: getItemValueComponentName(item), data: getItemValueComponentData(item) }\"></ng-template>\n </ng-container>\n </div>\n </div>\n </ng-container>\n <ng-container *ngIf=\"model.hasFootItems\">\n <ng-container *ngFor=\"let item of model.footItems; trackBy: trackItemBy\">\n <ng-template [component]=\"{ name: getItemValueComponentName(item), data: getItemValueComponentData(item) }\"></ng-template>\n </ng-container>\n </ng-container>\n <div *ngIf=\"model.showClearButtonInContent\">\n <input\n type=\"button\"\n (click)=\"model.clearValue(true)\"\n [value]=\"model.clearButtonCaption\"\n [class]=\"model.cssClasses.clearButton\"\n />\n </div>\n</fieldset>", directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
2764
2753
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: RadiogroupComponent, decorators: [{
2765
2754
  type: i0.Component,
2766
2755
  args: [{
@@ -2773,10 +2762,20 @@
2773
2762
  var RadiogroupItemComponent = /** @class */ (function () {
2774
2763
  function RadiogroupItemComponent() {
2775
2764
  }
2765
+ Object.defineProperty(RadiogroupItemComponent.prototype, "renderedValue", {
2766
+ get: function () {
2767
+ return this.question.renderedValue;
2768
+ },
2769
+ set: function (val) {
2770
+ this.question.clickItemHandler(this.model);
2771
+ },
2772
+ enumerable: false,
2773
+ configurable: true
2774
+ });
2776
2775
  return RadiogroupItemComponent;
2777
2776
  }());
2778
2777
  RadiogroupItemComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: RadiogroupItemComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
2779
- RadiogroupItemComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: RadiogroupItemComponent, selector: "sv-ng-radiogroup-item, '[sv-ng-radiogroup-item]'", inputs: { question: "question", model: "model", ariaLabel: "ariaLabel" }, ngImport: i0__namespace, template: "<input type=\"radio\" [name]=\"question.questionName\" [attr.name]=\"question.questionName\" [id]=\"question.getItemId(model)\" [attr.aria-errormessage]=\"question.ariaErrormessage\" [class]=\"question.cssClasses.itemControl\"\n [disabled]=\"!question.getItemEnabled(model)\" [readonly]=\"question.isReadOnlyAttr\" [(ngModel)]=\"question.renderedValue\" [attr.value]=\"model.value\" [value]=\"model.value\" [attr.aria-label]=\"ariaLabel\"\n/>\n<ng-content></ng-content>", styles: [""], directives: [{ type: i2__namespace$1.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { type: i2__namespace$1.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: i2__namespace$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2__namespace$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
2778
+ RadiogroupItemComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: RadiogroupItemComponent, selector: "sv-ng-radiogroup-item, '[sv-ng-radiogroup-item]'", inputs: { question: "question", model: "model", ariaLabel: "ariaLabel" }, ngImport: i0__namespace, template: "<input type=\"radio\" [name]=\"question.questionName\" [attr.name]=\"question.questionName\" [id]=\"question.getItemId(model)\" [attr.aria-errormessage]=\"question.ariaErrormessage\" [class]=\"question.cssClasses.itemControl\"\n [disabled]=\"!question.getItemEnabled(model)\" [readonly]=\"question.isReadOnlyAttr\" [(ngModel)]=\"renderedValue\" [attr.value]=\"model.value\" [value]=\"model.value\" [attr.aria-label]=\"ariaLabel\"\n/>\n<ng-content></ng-content>", styles: [""], directives: [{ type: i2__namespace$1.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { type: i2__namespace$1.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: i2__namespace$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2__namespace$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
2780
2779
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: RadiogroupItemComponent, decorators: [{
2781
2780
  type: i0.Component,
2782
2781
  args: [{
@@ -2800,7 +2799,7 @@
2800
2799
  return CheckboxComponent;
2801
2800
  }(SelectBaseComponent));
2802
2801
  CheckboxComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CheckboxComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
2803
- CheckboxComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CheckboxComponent, selector: "sv-ng-checkbox-question", usesInheritance: true, ngImport: i0__namespace, template: "<fieldset [class]=\"model.getSelectBaseRootCss()\" #contentElement \n [attr.role]=\"model.a11y_input_ariaRole\"\n [attr.aria-required]=\"model.a11y_input_ariaRequired\"\n [attr.aria-label]=\"model.a11y_input_ariaLabel\"\n [attr.aria-labelledby]=\"model.a11y_input_ariaLabelledBy\"\n [attr.aria-describedby]=\"model.a11y_input_ariaDescribedBy\"\n [attr.aria-invalid]=\"model.a11y_input_ariaInvalid\"\n [attr.aria-errormessage]=\"model.a11y_input_ariaErrormessage\"\n>\n <legend *ngIf=\"showLegend\" class=\"sv-hidden\">{{model.locTitle.renderedHtml}}</legend>\n <ng-container *ngIf=\"model.hasHeadItems\">\n <ng-container *ngFor=\"let item of model.headItems; trackBy: trackItemBy\">\n <ng-template [component]=\"{ name: getItemValueComponentName(item), data: getItemValueComponentData(item) }\"></ng-template>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!model.hasColumns && !model.blockedRow\">\n <ng-container *ngFor=\"let item of model.bodyItems; trackBy: trackItemBy\" >\n <ng-template [component]=\"{ name: getItemValueComponentName(item), data: getItemValueComponentData(item) }\"></ng-template>\n </ng-container>\n </ng-container>\n <div [class]=\"model.cssClasses.rootRow\" *ngIf=\"!model.hasColumns && model.blockedRow\">\n <ng-container *ngFor=\"let item of model.dataChoices; trackBy: trackItemBy\">\n <ng-template [component]=\"{ name: getItemValueComponentName(item), data: getItemValueComponentData(item) }\"></ng-template>\n </ng-container>\n </div>\n <ng-container *ngIf=\"model.hasColumns\">\n <div [class]=\"model.cssClasses.rootMultiColumn\">\n <div [class]=\"model.getColumnClass()\" *ngFor=\"let column of model.columns; trackBy: trackColumnBy\" role=\"presentation\">\n <ng-container *ngFor=\"let item of column; trackBy: trackItemBy\">\n <ng-template [component]=\"{ name: getItemValueComponentName(item), data: getItemValueComponentData(item) }\"></ng-template>\n </ng-container>\n </div>\n </div>\n </ng-container>\n <ng-container *ngIf=\"model.hasFootItems\">\n <ng-container *ngFor=\"let item of model.footItems; trackBy: trackItemBy\">\n <ng-template [component]=\"{ name: getItemValueComponentName(item), data: getItemValueComponentData(item) }\"></ng-template>\n </ng-container>\n </ng-container>\n <div *ngIf=\"model.isOtherSelected\" [class]=\"model.getCommentAreaCss(true)\" [question]=\"model\" sv-ng-comment-other></div>\n <div *ngIf=\"model.showClearButtonInContent\">\n <input\n type=\"button\"\n (click)=\"model.clearValue(true)\"\n [value]=\"model.clearButtonCaption\"\n [class]=\"model.cssClasses.clearButton\"\n />\n </div>\n</fieldset>", components: [{ type: SurveyCommentOtherComponent, selector: "sv-ng-comment-other, '[sv-ng-comment-other]'", inputs: ["question"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
2802
+ CheckboxComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CheckboxComponent, selector: "sv-ng-checkbox-question", usesInheritance: true, ngImport: i0__namespace, template: "<fieldset [class]=\"model.getSelectBaseRootCss()\" #contentElement \n [attr.role]=\"model.a11y_input_ariaRole\"\n [attr.aria-required]=\"model.a11y_input_ariaRequired\"\n [attr.aria-label]=\"model.a11y_input_ariaLabel\"\n [attr.aria-labelledby]=\"model.a11y_input_ariaLabelledBy\"\n [attr.aria-describedby]=\"model.a11y_input_ariaDescribedBy\"\n [attr.aria-invalid]=\"model.a11y_input_ariaInvalid\"\n [attr.aria-errormessage]=\"model.a11y_input_ariaErrormessage\"\n>\n <legend *ngIf=\"showLegend\" class=\"sv-hidden\">{{model.locTitle.renderedHtml}}</legend>\n <ng-container *ngIf=\"model.hasHeadItems\">\n <ng-container *ngFor=\"let item of model.headItems; trackBy: trackItemBy\">\n <ng-template [component]=\"{ name: getItemValueComponentName(item), data: getItemValueComponentData(item) }\"></ng-template>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!model.hasColumns && !model.blockedRow\">\n <ng-container *ngFor=\"let item of model.bodyItems; trackBy: trackItemBy\" >\n <ng-template [component]=\"{ name: getItemValueComponentName(item), data: getItemValueComponentData(item) }\"></ng-template>\n </ng-container>\n </ng-container>\n <div [class]=\"model.cssClasses.rootRow\" *ngIf=\"!model.hasColumns && model.blockedRow\">\n <ng-container *ngFor=\"let item of model.dataChoices; trackBy: trackItemBy\">\n <ng-template [component]=\"{ name: getItemValueComponentName(item), data: getItemValueComponentData(item) }\"></ng-template>\n </ng-container>\n </div>\n <ng-container *ngIf=\"model.hasColumns\">\n <div [class]=\"model.cssClasses.rootMultiColumn\">\n <div [class]=\"model.getColumnClass()\" *ngFor=\"let column of model.columns; trackBy: trackColumnBy\" role=\"presentation\">\n <ng-container *ngFor=\"let item of column; trackBy: trackItemBy\">\n <ng-template [component]=\"{ name: getItemValueComponentName(item), data: getItemValueComponentData(item) }\"></ng-template>\n </ng-container>\n </div>\n </div>\n </ng-container>\n <ng-container *ngIf=\"model.hasFootItems\">\n <ng-container *ngFor=\"let item of model.footItems; trackBy: trackItemBy\">\n <ng-template [component]=\"{ name: getItemValueComponentName(item), data: getItemValueComponentData(item) }\"></ng-template>\n </ng-container>\n </ng-container>\n <div *ngIf=\"model.showClearButtonInContent\">\n <input\n type=\"button\"\n (click)=\"model.clearValue(true)\"\n [value]=\"model.clearButtonCaption\"\n [class]=\"model.cssClasses.clearButton\"\n />\n </div>\n</fieldset>", directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
2804
2803
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CheckboxComponent, decorators: [{
2805
2804
  type: i0.Component,
2806
2805
  args: [{
@@ -2846,7 +2845,7 @@
2846
2845
  return DropdownQuestionComponent;
2847
2846
  }(QuestionAngular));
2848
2847
  DropdownQuestionComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DropdownQuestionComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
2849
- DropdownQuestionComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DropdownQuestionComponent, selector: "sv-ng-dropdown-question", usesInheritance: true, ngImport: i0__namespace, template: "<div [class]=\"model.renderCssRoot\" #contentElement>\n <sv-ng-dropdown [model]=\"model\"></sv-ng-dropdown>\n <div *ngIf=\"model.isOtherSelected\" [class]=\"model.getCommentAreaCss(true)\" [question]=\"model\" sv-ng-comment-other></div>\n</div>", components: [{ type: DropdownComponent, selector: "sv-ng-dropdown, '[sv-ng-dropdown]'", inputs: ["model"] }, { type: SurveyCommentOtherComponent, selector: "sv-ng-comment-other, '[sv-ng-comment-other]'", inputs: ["question"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
2848
+ DropdownQuestionComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DropdownQuestionComponent, selector: "sv-ng-dropdown-question", usesInheritance: true, ngImport: i0__namespace, template: "<div [class]=\"model.renderCssRoot\" #contentElement>\n <sv-ng-dropdown [model]=\"model\"></sv-ng-dropdown>\n <div *ngIf=\"model.isShowingChoiceComment\" [class]=\"model.getCommentAreaCss(true)\" [question]=\"model\" [item]=\"model.selectedItem\" sv-ng-comment-choice></div>\n</div>", components: [{ type: DropdownComponent, selector: "sv-ng-dropdown, '[sv-ng-dropdown]'", inputs: ["model"] }, { type: SurveyCommentChoiceComponent, selector: "sv-ng-comment-choice, '[sv-ng-comment-choice]'", inputs: ["question", "item"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
2850
2849
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DropdownQuestionComponent, decorators: [{
2851
2850
  type: i0.Component,
2852
2851
  args: [{
@@ -2864,7 +2863,7 @@
2864
2863
  return TagboxQuestionComponent;
2865
2864
  }(QuestionAngular));
2866
2865
  TagboxQuestionComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TagboxQuestionComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
2867
- TagboxQuestionComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TagboxQuestionComponent, selector: "sv-ng-tagbox-question", usesInheritance: true, ngImport: i0__namespace, template: "<div [class]=\"model.renderCssRoot\" #contentElement>\n <sv-ng-tagbox [model]=\"model\"></sv-ng-tagbox>\n <div *ngIf=\"model.isOtherSelected\" [class]=\"model.getCommentAreaCss(true)\" [question]=\"model\" sv-ng-comment-other></div>\n</div>", components: [{ type: TagboxComponent, selector: "sv-ng-tagbox, '[sv-ng-tagbox]'", inputs: ["model"] }, { type: SurveyCommentOtherComponent, selector: "sv-ng-comment-other, '[sv-ng-comment-other]'", inputs: ["question"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
2866
+ TagboxQuestionComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TagboxQuestionComponent, selector: "sv-ng-tagbox-question", usesInheritance: true, ngImport: i0__namespace, template: "<div [class]=\"model.renderCssRoot\" #contentElement>\n <sv-ng-tagbox [model]=\"model\"></sv-ng-tagbox>\n <div *ngIf=\"model.isOtherSelected\" [class]=\"model.getCommentAreaCss(true)\" [question]=\"model\" [item]=\"model.otherItem\" sv-ng-comment-choice></div>\n</div>", components: [{ type: TagboxComponent, selector: "sv-ng-tagbox, '[sv-ng-tagbox]'", inputs: ["model"] }, { type: SurveyCommentChoiceComponent, selector: "sv-ng-comment-choice, '[sv-ng-comment-choice]'", inputs: ["question", "item"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
2868
2867
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TagboxQuestionComponent, decorators: [{
2869
2868
  type: i0.Component,
2870
2869
  args: [{
@@ -2958,7 +2957,7 @@
2958
2957
  return ImagePickerItemComponent;
2959
2958
  }(BaseAngular));
2960
2959
  ImagePickerItemComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ImagePickerItemComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
2961
- ImagePickerItemComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ImagePickerItemComponent, selector: "sv-ng-imagepicker-item", inputs: { question: "question", model: "model" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <div [class]=\"question.getItemClass(model)\">\n <label [class]=\"question.cssClasses.label\">\n <input [type]=\"question.inputType\" [attr.name]=\"question.questionName\" [attr.value]=\"model.value\" [id]=\"question.getItemId(model)\" [attr.aria-required]=\"question.ariaRequired\" [attr.aria-label]=\"model.locText.renderedHtml\" [attr.aria-invalid]=\"question.ariaInvalid\" [attr.aria-errormessage]=\"question.ariaErrormessage\"\n (change)=\"onChange($event)\" [checked]=\"question.isItemSelected(model)\" [disabled]=\"!question.getItemEnabled(model)\" [readonly]=\"question.isReadOnlyAttr\" [class]=\"question.cssClasses.itemControl\"\n />\n <div [class]=\"question.cssClasses.itemDecorator\">\n <div [class]=\"question.cssClasses.imageContainer\">\n <span *ngIf=\"question.cssClasses.checkedItemDecorator\" [class]=\"question.cssClasses.checkedItemDecorator\" aria-hidden=\"true\">\n <svg *ngIf=\"question.cssClasses.checkedItemSvgIconId\" [class]=\"question.cssClasses.checkedItemSvgIcon\" [iconName]=\"question.cssClasses.checkedItemSvgIconId\" [size]=\"'auto'\" sv-ng-svg-icon></svg>\n </span>\n <img *ngIf=\"model.locImageLink.renderedHtml && !model.contentNotLoaded && question.contentMode === 'image'\" [class]=\"question.cssClasses.image\" [attr.src]=\"model.locImageLink.renderedHtml\" [attr.width]=\"question.renderedImageWidth\" [attr.height]=\"question.renderedImageHeight\" [attr.alt]=\"model.locText.renderedHtml\" [style.objectFit]=\"question.imageFit\" (load)=\"question.onContentLoaded(model, $event)\" (error)=\"model.onErrorHandler()\"/>\n <video *ngIf=\"model.locImageLink.renderedHtml && !model.contentNotLoaded && question.contentMode === 'video'\" controls [class]=\"question.cssClasses.image\" [attr.src]=\"model.locImageLink.renderedHtml\" [attr.width]=\"question.renderedImageWidth\" [attr.height]=\"question.renderedImageHeight\" [style.objectFit]=\"question.imageFit\" (loadedmetadata)=\"question.onContentLoaded(model, $event)\" (error)=\"model.onErrorHandler()\"></video>\n <div *ngIf=\"!model.locImageLink.renderedHtml || model.contentNotLoaded\" [class]=\"question.cssClasses.itemNoImage\" [style.width]=\"question.renderedImageWidth + 'px'\" [style.height]=\"question.renderedImageHeight + 'px'\" [style.objectFit]=\"question.imageFit\">\n <svg *ngIf=\"question.cssClasses.itemNoImageSvgIconId\" [class]=\"question.cssClasses.itemNoImageSvgIcon\" [iconName]=\"question.cssClasses.itemNoImageSvgIconId\" [size]=\"48\" sv-ng-svg-icon></svg>\n </div>\n </div>\n <span *ngIf=\"question.showLabel\" [class]=\"question.cssClasses.itemText\" [model]=\"model.locText\" sv-ng-string></span>\n </div>\n </label>\n </div>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
2960
+ ImagePickerItemComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ImagePickerItemComponent, selector: "sv-ng-imagepicker-item", inputs: { question: "question", model: "model" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <div [class]=\"question.getItemClass(model)\">\n <label [class]=\"question.cssClasses.label\">\n <input [type]=\"question.inputType\" [attr.name]=\"question.questionName\" [attr.value]=\"model.value\" [id]=\"question.getItemId(model)\" [required]=\"question.inputRequiredAttribute\" [attr.aria-label]=\"model.locText.renderedHtml\" [attr.aria-invalid]=\"question.ariaInvalid\" [attr.aria-errormessage]=\"question.ariaErrormessage\"\n (change)=\"onChange($event)\" [checked]=\"question.isItemSelected(model)\" [disabled]=\"!question.getItemEnabled(model)\" [readonly]=\"question.isReadOnlyAttr\" [class]=\"question.cssClasses.itemControl\"\n />\n <div [class]=\"question.cssClasses.itemDecorator\">\n <div [class]=\"question.cssClasses.imageContainer\">\n <span *ngIf=\"question.cssClasses.checkedItemDecorator\" [class]=\"question.cssClasses.checkedItemDecorator\" aria-hidden=\"true\">\n <svg *ngIf=\"question.cssClasses.checkedItemSvgIconId\" [class]=\"question.cssClasses.checkedItemSvgIcon\" [iconName]=\"question.cssClasses.checkedItemSvgIconId\" [size]=\"'auto'\" sv-ng-svg-icon></svg>\n </span>\n <img *ngIf=\"model.locImageLink.renderedHtml && !model.contentNotLoaded && question.contentMode === 'image'\" [class]=\"question.cssClasses.image\" [attr.src]=\"model.locImageLink.renderedHtml\" [attr.width]=\"question.renderedImageWidth\" [attr.height]=\"question.renderedImageHeight\" [attr.alt]=\"model.locText.renderedHtml\" [style.objectFit]=\"question.imageFit\" (load)=\"question.onContentLoaded(model, $event)\" (error)=\"model.onErrorHandler()\"/>\n <video *ngIf=\"model.locImageLink.renderedHtml && !model.contentNotLoaded && question.contentMode === 'video'\" controls [class]=\"question.cssClasses.image\" [attr.src]=\"model.locImageLink.renderedHtml\" [attr.width]=\"question.renderedImageWidth\" [attr.height]=\"question.renderedImageHeight\" [style.objectFit]=\"question.imageFit\" (loadedmetadata)=\"question.onContentLoaded(model, $event)\" (error)=\"model.onErrorHandler()\"></video>\n <div *ngIf=\"!model.locImageLink.renderedHtml || model.contentNotLoaded\" [class]=\"question.cssClasses.itemNoImage\" [style.width]=\"question.renderedImageWidth + 'px'\" [style.height]=\"question.renderedImageHeight + 'px'\" [style.objectFit]=\"question.imageFit\">\n <svg *ngIf=\"question.cssClasses.itemNoImageSvgIconId\" [class]=\"question.cssClasses.itemNoImageSvgIcon\" [iconName]=\"question.cssClasses.itemNoImageSvgIconId\" [size]=\"48\" sv-ng-svg-icon></svg>\n </div>\n </div>\n <span *ngIf=\"question.showLabel\" [class]=\"question.cssClasses.itemText\" [model]=\"model.locText\" sv-ng-string></span>\n </div>\n </label>\n </div>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
2962
2961
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ImagePickerItemComponent, decorators: [{
2963
2962
  type: i0.Component,
2964
2963
  args: [{
@@ -3352,7 +3351,7 @@
3352
3351
  return SelectBaseItemComponent;
3353
3352
  }(BaseAngular));
3354
3353
  SelectBaseItemComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SelectBaseItemComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
3355
- SelectBaseItemComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: SelectBaseItemComponent, selector: "['sv-ng-selectbase-item'], sv-ng-selebase-item", inputs: { question: "question", model: "model", inputType: "inputType", showLabel: "showLabel", ariaLabel: "ariaLabel" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true, read: i0.ElementRef }], usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <div role=\"presentation\" [class]=\"question.getItemClass(model)\" #container>\n <ng-container [ngSwitch]=\"inputType\">\n <label *ngSwitchCase=\"'checkbox'\" [class]=\"question.getLabelClass(model)\" [model]=\"model\" [question]=\"question\"\n sv-ng-checkbox-item [ariaLabel]=\"ariaLabel\">\n <ng-container *ngTemplateOutlet=\"itemDecorator\"></ng-container>\n </label>\n <label *ngSwitchCase=\"'radio'\" (mousedown)=\"question.onMouseDown()\" [class]=\"question.getLabelClass(model)\"\n [model]=\"model\" [question]=\"question\" sv-ng-radiogroup-item [ariaLabel]=\"ariaLabel\">\n <ng-container *ngTemplateOutlet=\"itemDecorator\"></ng-container>\n </label>\n </ng-container>\n <ng-template #itemDecorator>\n <span *ngIf=\"question.cssClasses.materialDecorator\" [class]=\"question.cssClasses.materialDecorator\">\n <svg *ngIf=\"question.itemSvgIcon\" [class]=\"question.cssClasses.itemDecorator\">\n <use [attr.xlink:href]=\"question.itemSvgIcon\"></use>\n </svg>\n </span>\n <span [class]=\"question.getControlLabelClass(model)\" *ngIf=\"!model.hideCaption\">\n <sv-ng-string [model]=\"model.locText\"></sv-ng-string>\n </span>\n </ng-template>\n </div>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: CheckboxItemComponent, selector: "sv-ng-checkbox-item, '[sv-ng-checkbox-item]'", inputs: ["question", "model", "ariaLabel"] }, { type: RadiogroupItemComponent, selector: "sv-ng-radiogroup-item, '[sv-ng-radiogroup-item]'", inputs: ["question", "model", "ariaLabel"] }, { type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }], directives: [{ type: i2__namespace.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i2__namespace.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i2__namespace.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
3354
+ SelectBaseItemComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: SelectBaseItemComponent, selector: "['sv-ng-selectbase-item'], sv-ng-selebase-item", inputs: { question: "question", model: "model", inputType: "inputType", showLabel: "showLabel", ariaLabel: "ariaLabel" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true, read: i0.ElementRef }], usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <div role=\"presentation\" [class]=\"question.getItemClass(model)\" #container>\n <ng-container [ngSwitch]=\"inputType\">\n <label *ngSwitchCase=\"'checkbox'\" [class]=\"question.getLabelClass(model)\" [model]=\"model\" [question]=\"question\"\n sv-ng-checkbox-item [ariaLabel]=\"ariaLabel\">\n <ng-container *ngTemplateOutlet=\"itemDecorator\"></ng-container>\n </label>\n <label *ngSwitchCase=\"'radio'\" (mousedown)=\"question.onMouseDown()\" [class]=\"question.getLabelClass(model)\"\n [model]=\"model\" [question]=\"question\" sv-ng-radiogroup-item [ariaLabel]=\"ariaLabel\">\n <ng-container *ngTemplateOutlet=\"itemDecorator\"></ng-container>\n </label>\n </ng-container>\n <ng-template #itemDecorator>\n <span *ngIf=\"question.cssClasses.materialDecorator\" [class]=\"question.cssClasses.materialDecorator\">\n <svg *ngIf=\"question.itemSvgIcon\" [class]=\"question.cssClasses.itemDecorator\">\n <use [attr.xlink:href]=\"question.itemSvgIcon\"></use>\n </svg>\n </span>\n <span [class]=\"question.getControlLabelClass(model)\" *ngIf=\"!model.hideCaption\">\n <sv-ng-string [model]=\"model.locText\"></sv-ng-string>\n </span>\n </ng-template>\n </div>\n <div *ngIf=\"model.isCommentShowing\" [class]=\"question.getCommentAreaCss(true)\" [question]=\"question\" [item]=\"model\" sv-ng-comment-choice></div>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: CheckboxItemComponent, selector: "sv-ng-checkbox-item, '[sv-ng-checkbox-item]'", inputs: ["question", "model", "ariaLabel"] }, { type: RadiogroupItemComponent, selector: "sv-ng-radiogroup-item, '[sv-ng-radiogroup-item]'", inputs: ["question", "model", "ariaLabel"] }, { type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }, { type: SurveyCommentChoiceComponent, selector: "sv-ng-comment-choice, '[sv-ng-comment-choice]'", inputs: ["question", "item"] }], directives: [{ type: i2__namespace.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i2__namespace.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i2__namespace.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
3356
3355
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SelectBaseItemComponent, decorators: [{
3357
3356
  type: i0.Component,
3358
3357
  args: [{
@@ -4139,7 +4138,7 @@
4139
4138
  _super.prototype.ngOnInit.call(this);
4140
4139
  };
4141
4140
  MatrixQuestionComponent.prototype.onCellChanged = function (row, column) {
4142
- row.value = column.value;
4141
+ row.cellClick(column);
4143
4142
  this.detectChanges();
4144
4143
  };
4145
4144
  MatrixQuestionComponent.prototype.trackRowByFn = function (i, row) {
@@ -4791,10 +4790,17 @@
4791
4790
  MatrixCellComponent.prototype.onChange = function () {
4792
4791
  this.cellChangedOwner.onCellChanged(this.row, this.column);
4793
4792
  };
4793
+ Object.defineProperty(MatrixCellComponent.prototype, "itemSvgIcon", {
4794
+ get: function () {
4795
+ return this.question.getItemSvgIcon(this.row, this.column);
4796
+ },
4797
+ enumerable: false,
4798
+ configurable: true
4799
+ });
4794
4800
  return MatrixCellComponent;
4795
4801
  }(BaseAngular));
4796
4802
  MatrixCellComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MatrixCellComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
4797
- MatrixCellComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MatrixCellComponent, selector: "sv-ng-matrix-cell, '[sv-ng-matrix-cell]'", inputs: { question: "question", column: "column", row: "row", columnIndex: "columnIndex", cellChangedOwner: "cellChangedOwner" }, usesInheritance: true, ngImport: i0__namespace, template: "<label (mousedown)=\"question.onMouseDown()\" [class]=\"question.getItemClass(row, column)\">\n <input\n type=\"radio\"\n [class]=\"question.cssClasses.itemValue\"\n [name]=\"row.fullName\"\n [value]=\"column.value\"\n [checked]=\"row.value === column.value\"\n [readonly]=\"row.isReadOnlyAttr\"\n [disabled]=\"row.isDisabledAttr\"\n [attr.id]=\"question.inputId + '_' + row.name + '_' + columnIndex\"\n (change)=\"onChange()\"\n [attr.aria-required]=\"question.a11y_input_ariaRequired\"\n [attr.aria-label]=\"question.getCellAriaLabel(row, column)\"\n [attr.aria-invalid]=\"question.a11y_input_ariaInvalid\"\n [attr.aria-errormessage]=\"question.a11y_input_ariaErrormessage\"\n />\n <span [class]=\"question.cssClasses.materialDecorator\">\n <svg *ngIf=\"question.itemSvgIcon\" [class]=\"question.cssClasses.itemDecorator\">\n <use [attr.xlink:href]=\"question.itemSvgIcon\"></use>\n </svg> \n </span>\n <span *ngIf=\"question.isMobile\" [class]=\"question.cssClasses.cellResponsiveTitle\" [model]=\"column.locText\" sv-ng-string></span>\n</label>\n<ng-content></ng-content>", components: [{ type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
4803
+ MatrixCellComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MatrixCellComponent, selector: "sv-ng-matrix-cell, '[sv-ng-matrix-cell]'", inputs: { question: "question", column: "column", row: "row", columnIndex: "columnIndex", cellChangedOwner: "cellChangedOwner" }, usesInheritance: true, ngImport: i0__namespace, template: "<label (mousedown)=\"question.onMouseDown()\" [class]=\"question.getItemClass(row, column)\">\n <input\n [type]=\"question.checkType\"\n [class]=\"question.cssItemValue\"\n [name]=\"row.fullName\"\n [value]=\"column.value\"\n [checked]=\"row.isChecked(column)\"\n [readonly]=\"row.isReadOnlyAttr\"\n [disabled]=\"row.isDisabledAttr\"\n [attr.id]=\"question.inputId + '_' + row.name + '_' + columnIndex\"\n (change)=\"onChange()\"\n [attr.aria-required]=\"question.a11y_input_ariaRequired\"\n [attr.aria-label]=\"question.getCellAriaLabel(row, column)\"\n [attr.aria-invalid]=\"question.a11y_input_ariaInvalid\"\n [attr.aria-errormessage]=\"question.a11y_input_ariaErrormessage\"\n />\n <span [class]=\"question.cssMaterialDecorator\">\n <svg *ngIf=\"itemSvgIcon\" [class]=\"question.cssItemDecorator\">\n <use [attr.xlink:href]=\"itemSvgIcon\"></use>\n </svg> \n </span>\n <span *ngIf=\"question.isMobile\" [class]=\"question.cssClasses.cellResponsiveTitle\" [model]=\"column.locText\" sv-ng-string></span>\n</label>\n<ng-content></ng-content>", components: [{ type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
4798
4804
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MatrixCellComponent, decorators: [{
4799
4805
  type: i0.Component,
4800
4806
  args: [{
@@ -4987,7 +4993,7 @@
4987
4993
  return MatrixDropdownCellComponent;
4988
4994
  }(BaseAngular));
4989
4995
  MatrixDropdownCellComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MatrixDropdownCellComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
4990
- MatrixDropdownCellComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MatrixDropdownCellComponent, selector: "sv-ng-matrixdropdown-cell", inputs: { question: "question", cell: "cell" }, viewQueries: [{ propertyName: "cellContainer", first: true, predicate: ["cellContainer"], descendants: true }], usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <td [class]=\"cell.className\" *ngIf=\"canRender\" [title]=\"cell.getTitle()\"\n [style]=\"getCellStyle()\" [attr.colspan]=\"cell.colSpans\" (focusin)=\"cell.focusIn()\" #cellContainer>\n <sv-ng-matrix-drag-drop-icon *ngIf=\"cell.isDragHandlerCell\"\n [model]=\"$any({ data: { row: row, question: question } })\"></sv-ng-matrix-drag-drop-icon>\n <sv-action-bar *ngIf=\"cell.isActionsCell\" [model]=\"cell.item.getData()\" [handleClick]=\"false\"></sv-action-bar>\n <ng-container *ngIf=\"cell.hasPanel\">\n <ng-template [component]=\"{ name: panelComponentName, data: panelComponentData }\"></ng-template>\n </ng-container>\n <div *ngIf=\"cell.isErrorsCell && cell.question?.hasVisibleErrors\" [element]=\"cell.question\" sv-ng-errors></div>\n <span *ngIf=\"cell.showResponsiveTitle\" [class]=\"cell.responsiveTitleCss\">\n <sv-ng-string [model]=\"cell.responsiveLocTitle\"></sv-ng-string>\n <sv-ng-matrixheaderrequired [column]=\"cell.column\" [question]=\"cell.matrix\">\n </sv-ng-matrixheaderrequired>\n </span>\n <div *ngIf=\"cell.hasQuestion\" [class]=\"cell.cellQuestionWrapperClassName\"\n [visible]=\"cell.question.isVisible\">\n <ng-container *ngIf=\"!cell.isChoice && cell.question.isDefaultRendering()\">\n <ng-template\n [component]=\"{ name: question.getCellWrapperComponentName(cell.cell), data: { componentData: question.getCellWrapperComponentData(cell.cell)} }\">\n <ng-template\n [component]=\"{ name: getComponentName(cell.question), data: { model: cell.question } }\"></ng-template>\n </ng-template>\n </ng-container>\n <ng-template *ngIf=\"!cell.isChoice && !cell.question.isDefaultRendering()\"\n [component]=\"{ name: cell.question.getComponentName(), data: { model: cell.question } }\">\n </ng-template>\n <ng-container *ngIf=\"cell.isItemChoice\">\n <ng-template\n [component]=\"{ name: question.getCellWrapperComponentName(cell.cell), data: { componentData: question.getCellWrapperComponentData(cell.cell)} }\">\n <sv-ng-selebase-item [showLabel]=\"false\" [inputType]=\"cell.isCheckbox ? 'checkbox': 'radio'\" [ariaLabel]=\"ariaLabel\"\n [question]=\"cell.question\" [model]=\"cell.item\"></sv-ng-selebase-item>\n </ng-template>\n </ng-container>\n <div *ngIf=\"cell.isOtherChoice\" [class]=\"cell.question.getCommentAreaCss(true)\" [question]=\"cell.question\"\n sv-ng-comment-other></div>\n </div>\n <ng-container *ngIf=\"cell.hasTitle\">\n <ng-template\n [component]=\"{ name: question.getCellWrapperComponentName($any(cell)), data: { componentData: question.getCellWrapperComponentData($any(cell))} }\">\n <sv-ng-string [model]=\"cell.locTitle\"></sv-ng-string>\n <span *ngIf=\"isRequiredCell\" [class]=\"question.cssClasses.cellRequiredMark\">{{ cell.requiredMark }}</span>\n </ng-template>\n </ng-container>\n </td>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: MatrixDynamicDragDropIconComponent, selector: "sv-ng-matrix-drag-drop-icon", inputs: ["model"] }, { type: ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }, { type: ErrorsComponent, selector: "'[sv-ng-errors]'", inputs: ["element", "location"] }, { type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }, { type: MatrixRequiredHeader, selector: "sv-ng-matrixheaderrequired", inputs: ["column", "question"] }, { type: SelectBaseItemComponent, selector: "['sv-ng-selectbase-item'], sv-ng-selebase-item", inputs: ["question", "model", "inputType", "showLabel", "ariaLabel"] }, { type: SurveyCommentOtherComponent, selector: "sv-ng-comment-other, '[sv-ng-comment-other]'", inputs: ["question"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }, { type: VisibleDirective, selector: "[visible]", inputs: ["visible"] }] });
4996
+ MatrixDropdownCellComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MatrixDropdownCellComponent, selector: "sv-ng-matrixdropdown-cell", inputs: { question: "question", cell: "cell" }, viewQueries: [{ propertyName: "cellContainer", first: true, predicate: ["cellContainer"], descendants: true }], usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <td [class]=\"cell.className\" *ngIf=\"canRender\" [title]=\"cell.getTitle()\"\n [style]=\"getCellStyle()\" [attr.colspan]=\"cell.colSpans\" (focusin)=\"cell.focusIn()\" #cellContainer>\n <sv-ng-matrix-drag-drop-icon *ngIf=\"cell.isDragHandlerCell\"\n [model]=\"$any({ data: { row: row, question: question } })\"></sv-ng-matrix-drag-drop-icon>\n <sv-action-bar *ngIf=\"cell.isActionsCell\" [model]=\"cell.item.getData()\" [handleClick]=\"false\"></sv-action-bar>\n <ng-container *ngIf=\"cell.hasPanel\">\n <ng-template [component]=\"{ name: panelComponentName, data: panelComponentData }\"></ng-template>\n </ng-container>\n <div *ngIf=\"cell.isErrorsCell && cell.question?.hasVisibleErrors\" [element]=\"cell.question\" sv-ng-errors></div>\n <span *ngIf=\"cell.showResponsiveTitle\" [class]=\"cell.responsiveTitleCss\">\n <sv-ng-string [model]=\"cell.responsiveLocTitle\"></sv-ng-string>\n <sv-ng-matrixheaderrequired [column]=\"cell.column\" [question]=\"cell.matrix\">\n </sv-ng-matrixheaderrequired>\n </span>\n <div *ngIf=\"cell.hasQuestion\" [class]=\"cell.cellQuestionWrapperClassName\"\n [visible]=\"cell.question.isVisible\">\n <ng-container *ngIf=\"!cell.isChoice && cell.question.isDefaultRendering()\">\n <ng-template\n [component]=\"{ name: question.getCellWrapperComponentName(cell.cell), data: { componentData: question.getCellWrapperComponentData(cell.cell)} }\">\n <ng-template\n [component]=\"{ name: getComponentName(cell.question), data: { model: cell.question } }\"></ng-template>\n </ng-template>\n </ng-container>\n <ng-template *ngIf=\"!cell.isChoice && !cell.question.isDefaultRendering()\"\n [component]=\"{ name: cell.question.getComponentName(), data: { model: cell.question } }\">\n </ng-template>\n <ng-container *ngIf=\"cell.isItemChoice\">\n <ng-template\n [component]=\"{ name: question.getCellWrapperComponentName(cell.cell), data: { componentData: question.getCellWrapperComponentData(cell.cell)} }\">\n <sv-ng-selebase-item [showLabel]=\"false\" [inputType]=\"cell.isCheckbox ? 'checkbox': 'radio'\" [ariaLabel]=\"ariaLabel\"\n [question]=\"cell.question\" [model]=\"cell.item\"></sv-ng-selebase-item>\n </ng-template>\n </ng-container>\n <div *ngIf=\"cell.isOtherChoice\" [class]=\"cell.question.getCommentAreaCss(true)\" [question]=\"cell.question\" [item]=\"cell.question.otherItem\"\n sv-ng-comment-choice></div>\n </div>\n <ng-container *ngIf=\"cell.hasTitle\">\n <ng-template\n [component]=\"{ name: question.getCellWrapperComponentName($any(cell)), data: { componentData: question.getCellWrapperComponentData($any(cell))} }\">\n <sv-ng-string [model]=\"cell.locTitle\"></sv-ng-string>\n <span *ngIf=\"isRequiredCell\" [class]=\"question.cssClasses.cellRequiredMark\">{{ cell.requiredMark }}</span>\n </ng-template>\n </ng-container>\n </td>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: MatrixDynamicDragDropIconComponent, selector: "sv-ng-matrix-drag-drop-icon", inputs: ["model"] }, { type: ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }, { type: ErrorsComponent, selector: "'[sv-ng-errors]'", inputs: ["element", "location"] }, { type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }, { type: MatrixRequiredHeader, selector: "sv-ng-matrixheaderrequired", inputs: ["column", "question"] }, { type: SelectBaseItemComponent, selector: "['sv-ng-selectbase-item'], sv-ng-selebase-item", inputs: ["question", "model", "inputType", "showLabel", "ariaLabel"] }, { type: SurveyCommentChoiceComponent, selector: "sv-ng-comment-choice, '[sv-ng-comment-choice]'", inputs: ["question", "item"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }, { type: VisibleDirective, selector: "[visible]", inputs: ["visible"] }] });
4991
4997
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MatrixDropdownCellComponent, decorators: [{
4992
4998
  type: i0.Component,
4993
4999
  args: [{
@@ -5227,12 +5233,12 @@
5227
5233
  return ExpressionComponent;
5228
5234
  }(QuestionAngular));
5229
5235
  ExpressionComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ExpressionComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
5230
- ExpressionComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ExpressionComponent, selector: "sv-ng-expression", usesInheritance: true, ngImport: i0__namespace, template: "<div [class]='model.cssClasses.root' #contentElement>{{ model.formatedValue }}</div>", isInline: true });
5236
+ ExpressionComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ExpressionComponent, selector: "sv-ng-expression", usesInheritance: true, ngImport: i0__namespace, template: "<div [class]='model.cssClasses.root' #contentElement [attr.aria-label]='model.formatedValue' aria-live='polite' >{{ model.formatedValue }}</div>", isInline: true });
5231
5237
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ExpressionComponent, decorators: [{
5232
5238
  type: i0.Component,
5233
5239
  args: [{
5234
5240
  selector: "sv-ng-expression",
5235
- template: "<div [class]='model.cssClasses.root' #contentElement>{{ model.formatedValue }}</div>"
5241
+ template: "<div [class]='model.cssClasses.root' #contentElement [attr.aria-label]='model.formatedValue' aria-live='polite' >{{ model.formatedValue }}</div>"
5236
5242
  }]
5237
5243
  }] });
5238
5244
  AngularComponentFactory.Instance.registerComponent("expression-question", ExpressionComponent);
@@ -5461,7 +5467,7 @@
5461
5467
  CharacterCounterComponent, ListComponent, ListItemComponent, ListItemContentComponent, ListItemGroupComponent, RatingItemComponent, RatingItemStarComponent, RatingItemSmileyComponent,
5462
5468
  TagboxFilterComponent, TagboxComponent, TagboxQuestionComponent, TagboxItemComponent,
5463
5469
  ActionBarComponent, ActionComponent, ActionBarItemComponent, ActionBarItemDropdownComponent, HtmlQuestionComponent,
5464
- SelectBaseItemComponent, SelectBaseComponent, SurveyCommentComponent, SurveyCommentOtherComponent, ElementHeaderComponent, ElementTitleActionsComponent, ElementTitleComponent, DynamicHeadComponent, RowComponent,
5470
+ SelectBaseItemComponent, SelectBaseComponent, SurveyCommentComponent, SurveyCommentChoiceComponent, ElementHeaderComponent, ElementTitleActionsComponent, ElementTitleComponent, DynamicHeadComponent, RowComponent,
5465
5471
  RatingQuestionComponent, SliderQuestionComponent, SliderLabelItemComponent, RatingDropdownItemComponent, RatingDropdownComponent, ButtonGroupDropdownComponent, BooleanQuestionComponent, BooleanCheckboxComponent, BooleanRadioComponent, BooleanRadioItemComponent, ImagePickerItemComponent, ImagePickerQuestionComponent, ImageQuestionComponent,
5466
5472
  SurveyHeaderComponent, ProgressDefaultComponent, ProgressButtonsComponent, ProgressTocComponent, SurveyNavigationButton, MatrixQuestionComponent, SvgIconComponent, FileQuestionComponent, SafeUrlPipe, SafeHtmlPipe, CommentQuestionComponent, SignaturePadQuestionComponent, ErrorsComponent,
5467
5473
  MultipleTextComponent, MultipleTextItemComponent, DynamicComponentDirective, RankingQuestionComponent, RankingItemComponent, RankingItemContentComponent, PanelDynamicQuestionComponent, EmbeddedViewContentComponent, CustomWidgetComponent,
@@ -5479,7 +5485,7 @@
5479
5485
  CharacterCounterComponent, ListComponent, ListItemComponent, ListItemContentComponent, ListItemGroupComponent, RatingItemComponent, RatingItemStarComponent, RatingItemSmileyComponent,
5480
5486
  TagboxFilterComponent, TagboxComponent, TagboxQuestionComponent, TagboxItemComponent,
5481
5487
  ActionBarComponent, ActionComponent, ActionBarItemComponent, ActionBarItemDropdownComponent, HtmlQuestionComponent,
5482
- SelectBaseItemComponent, SelectBaseComponent, SurveyCommentComponent, SurveyCommentOtherComponent, ElementHeaderComponent, ElementTitleComponent, DynamicHeadComponent, RowComponent,
5488
+ SelectBaseItemComponent, SelectBaseComponent, SurveyCommentComponent, SurveyCommentChoiceComponent, ElementHeaderComponent, ElementTitleComponent, DynamicHeadComponent, RowComponent,
5483
5489
  RatingQuestionComponent, SliderQuestionComponent, SliderLabelItemComponent, RatingDropdownItemComponent, RatingDropdownComponent, ButtonGroupDropdownComponent, BooleanQuestionComponent, BooleanCheckboxComponent, BooleanRadioComponent, BooleanRadioItemComponent, ImagePickerItemComponent, ImagePickerQuestionComponent, ImageQuestionComponent,
5484
5490
  SurveyHeaderComponent, ProgressDefaultComponent, ProgressButtonsComponent, SurveyNavigationButton, MatrixQuestionComponent, SvgIconComponent, FileQuestionComponent, SafeUrlPipe, SafeHtmlPipe, CommentQuestionComponent, SignaturePadQuestionComponent, ErrorsComponent,
5485
5491
  MultipleTextComponent, MultipleTextItemComponent, DynamicComponentDirective, RankingQuestionComponent, RankingItemComponent, RankingItemContentComponent, PanelDynamicQuestionComponent, EmbeddedViewContentComponent, CustomWidgetComponent,
@@ -5504,7 +5510,7 @@
5504
5510
  CharacterCounterComponent, ListComponent, ListItemComponent, ListItemContentComponent, ListItemGroupComponent, RatingItemComponent, RatingItemStarComponent, RatingItemSmileyComponent,
5505
5511
  TagboxFilterComponent, TagboxComponent, TagboxQuestionComponent, TagboxItemComponent,
5506
5512
  ActionBarComponent, ActionComponent, ActionBarItemComponent, ActionBarItemDropdownComponent, HtmlQuestionComponent,
5507
- SelectBaseItemComponent, SelectBaseComponent, SurveyCommentComponent, SurveyCommentOtherComponent, ElementHeaderComponent, ElementTitleActionsComponent, ElementTitleComponent, DynamicHeadComponent, RowComponent,
5513
+ SelectBaseItemComponent, SelectBaseComponent, SurveyCommentComponent, SurveyCommentChoiceComponent, ElementHeaderComponent, ElementTitleActionsComponent, ElementTitleComponent, DynamicHeadComponent, RowComponent,
5508
5514
  RatingQuestionComponent, SliderQuestionComponent, SliderLabelItemComponent, RatingDropdownItemComponent, RatingDropdownComponent, ButtonGroupDropdownComponent, BooleanQuestionComponent, BooleanCheckboxComponent, BooleanRadioComponent, BooleanRadioItemComponent, ImagePickerItemComponent, ImagePickerQuestionComponent, ImageQuestionComponent,
5509
5515
  SurveyHeaderComponent, ProgressDefaultComponent, ProgressButtonsComponent, ProgressTocComponent, SurveyNavigationButton, MatrixQuestionComponent, SvgIconComponent, FileQuestionComponent, SafeUrlPipe, SafeHtmlPipe, CommentQuestionComponent, SignaturePadQuestionComponent, ErrorsComponent,
5510
5516
  MultipleTextComponent, MultipleTextItemComponent, DynamicComponentDirective, RankingQuestionComponent, RankingItemComponent, RankingItemContentComponent, PanelDynamicQuestionComponent, EmbeddedViewContentComponent, CustomWidgetComponent,
@@ -5528,7 +5534,7 @@
5528
5534
  CharacterCounterComponent, ListComponent, ListItemComponent, ListItemContentComponent, ListItemGroupComponent, RatingItemComponent, RatingItemStarComponent, RatingItemSmileyComponent,
5529
5535
  TagboxFilterComponent, TagboxComponent, TagboxQuestionComponent, TagboxItemComponent,
5530
5536
  ActionBarComponent, ActionComponent, ActionBarItemComponent, ActionBarItemDropdownComponent, HtmlQuestionComponent,
5531
- SelectBaseItemComponent, SelectBaseComponent, SurveyCommentComponent, SurveyCommentOtherComponent, ElementHeaderComponent, ElementTitleComponent, DynamicHeadComponent, RowComponent,
5537
+ SelectBaseItemComponent, SelectBaseComponent, SurveyCommentComponent, SurveyCommentChoiceComponent, ElementHeaderComponent, ElementTitleComponent, DynamicHeadComponent, RowComponent,
5532
5538
  RatingQuestionComponent, SliderQuestionComponent, SliderLabelItemComponent, RatingDropdownItemComponent, RatingDropdownComponent, ButtonGroupDropdownComponent, BooleanQuestionComponent, BooleanCheckboxComponent, BooleanRadioComponent, BooleanRadioItemComponent, ImagePickerItemComponent, ImagePickerQuestionComponent, ImageQuestionComponent,
5533
5539
  SurveyHeaderComponent, ProgressDefaultComponent, ProgressButtonsComponent, SurveyNavigationButton, MatrixQuestionComponent, SvgIconComponent, FileQuestionComponent, SafeUrlPipe, SafeHtmlPipe, CommentQuestionComponent, SignaturePadQuestionComponent, ErrorsComponent,
5534
5540
  MultipleTextComponent, MultipleTextItemComponent, DynamicComponentDirective, RankingQuestionComponent, RankingItemComponent, RankingItemContentComponent, PanelDynamicQuestionComponent, EmbeddedViewContentComponent, CustomWidgetComponent,
@@ -5661,8 +5667,8 @@
5661
5667
  exports.SliderQuestionComponent = SliderQuestionComponent;
5662
5668
  exports.StringEditorComponent = StringEditorComponent;
5663
5669
  exports.StringViewerComponent = StringViewerComponent;
5670
+ exports.SurveyCommentChoiceComponent = SurveyCommentChoiceComponent;
5664
5671
  exports.SurveyCommentComponent = SurveyCommentComponent;
5665
- exports.SurveyCommentOtherComponent = SurveyCommentOtherComponent;
5666
5672
  exports.SurveyComponent = SurveyComponent;
5667
5673
  exports.SurveyContentComponent = SurveyContentComponent;
5668
5674
  exports.SurveyHeaderComponent = SurveyHeaderComponent;