survey-angular-ui 1.9.139 → 1.10.2

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.
package/angular-ui.d.ts CHANGED
@@ -105,6 +105,7 @@ export * from "./questions/matrixrequiredheader.component";
105
105
  export * from "./questions/expression.component";
106
106
  export * from "./questions/image.component";
107
107
  export * from "./components/brand-info/brand-info.component";
108
+ export * from "./components/question-error/question-error.component";
108
109
  export * from "./questions/custom.component";
109
110
  export * from "./questions/composite.component";
110
111
  export * from "./base-angular";
@@ -95,30 +95,31 @@ import * as i93 from "./components/matrix-actions/drag-drop-icon/drag-drop-icon"
95
95
  import * as i94 from "./questions/matrixrequiredheader.component";
96
96
  import * as i95 from "./questions/expression.component";
97
97
  import * as i96 from "./components/brand-info/brand-info.component";
98
- import * as i97 from "./questions/custom.component";
99
- import * as i98 from "./questions/composite.component";
100
- import * as i99 from "./questions/button-group/button-group-item.component";
101
- import * as i100 from "./questions/button-group/button-group.component";
102
- import * as i101 from "./questions/matrix-row.component";
103
- import * as i102 from "./components/popup/modal-container.component";
104
- import * as i103 from "./components/survey-header/logo-image.component";
105
- import * as i104 from "./components/skeleton/skeleton.component";
106
- import * as i105 from "./components/timer-panel/timer-panel.component";
107
- import * as i106 from "./components/paneldynamic-actions/paneldynamic-remove-btn.component";
108
- import * as i107 from "./components/notifier/notifier.component";
109
- import * as i108 from "./components-container.component";
110
- import * as i109 from "./questions/multipletextrow.component";
111
- import * as i110 from "./components/loading-indicator/loading-indicator.component";
112
- import * as i111 from "./components/header/header.component";
113
- import * as i112 from "./components/header/header-cell.component";
114
- import * as i113 from "./components/header/header-mobile.component";
115
- import * as i114 from "./components/file/choose-file.component";
116
- import * as i115 from "./components/file/file-preview.component";
117
- import * as i116 from "./svgbundle.component";
118
- import * as i117 from "@angular/common";
119
- import * as i118 from "@angular/forms";
98
+ import * as i97 from "./components/question-error/question-error.component";
99
+ import * as i98 from "./questions/custom.component";
100
+ import * as i99 from "./questions/composite.component";
101
+ import * as i100 from "./questions/button-group/button-group-item.component";
102
+ import * as i101 from "./questions/button-group/button-group.component";
103
+ import * as i102 from "./questions/matrix-row.component";
104
+ import * as i103 from "./components/popup/modal-container.component";
105
+ import * as i104 from "./components/survey-header/logo-image.component";
106
+ import * as i105 from "./components/skeleton/skeleton.component";
107
+ import * as i106 from "./components/timer-panel/timer-panel.component";
108
+ import * as i107 from "./components/paneldynamic-actions/paneldynamic-remove-btn.component";
109
+ import * as i108 from "./components/notifier/notifier.component";
110
+ import * as i109 from "./components-container.component";
111
+ import * as i110 from "./questions/multipletextrow.component";
112
+ import * as i111 from "./components/loading-indicator/loading-indicator.component";
113
+ import * as i112 from "./components/header/header.component";
114
+ import * as i113 from "./components/header/header-cell.component";
115
+ import * as i114 from "./components/header/header-mobile.component";
116
+ import * as i115 from "./components/file/choose-file.component";
117
+ import * as i116 from "./components/file/file-preview.component";
118
+ import * as i117 from "./svgbundle.component";
119
+ import * as i118 from "@angular/common";
120
+ import * as i119 from "@angular/forms";
120
121
  export declare class SurveyModule {
121
122
  static ɵfac: i0.ɵɵFactoryDeclaration<SurveyModule, never>;
122
- 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.QuestionSkeletonComponent, typeof i19.TextQuestionComponent, typeof i20.RadiogroupComponent, typeof i21.RadiogroupItemComponent, typeof i22.CheckboxComponent, typeof i23.CheckboxItemComponent, typeof i24.DropdownComponent, typeof i25.DropdownQuestionComponent, typeof i26.DropdownSelectComponent, typeof i27.DropdownOptionItemComponent, typeof i28.PopupComponent, typeof i29.PopupBaseContainerComponent, typeof i30.PopupPointerComponent, typeof i31.CharacterCounterComponent, typeof i32.ListComponent, typeof i33.ListItemComponent, typeof i34.RatingItemComponent, typeof i35.RatingItemStarComponent, typeof i36.RatingItemSmileyComponent, typeof i37.TagboxFilterComponent, typeof i38.TagboxComponent, typeof i39.TagboxQuestionComponent, typeof i40.TagboxItemComponent, typeof i41.ActionBarComponent, typeof i42.ActionComponent, typeof i43.ActionBarItemComponent, typeof i44.ActionBarItemDropdownComponent, typeof i45.HtmlQuestionComponent, typeof i46.SelectBaseItemComponent, typeof i47.SelectBaseComponent, typeof i48.SurveyCommentComponent, typeof i49.SurveyCommentOtherComponent, typeof i50.ElementHeaderComponent, typeof i51.ElementTitleActionsComponent, typeof i52.ElementTitleComponent, typeof i53.DynamicHeadComponent, typeof i54.RowComponent, typeof i55.RatingQuestionComponent, typeof i56.RatingDropdownItemComponent, typeof i57.RatingDropdownComponent, typeof i58.BooleanQuestionComponent, typeof i59.BooleanCheckboxComponent, typeof i60.BooleanRadioComponent, typeof i61.BooleanRadioItemComponent, typeof i62.ImagePickerItemComponent, typeof i63.ImagePickerQuestionComponent, typeof i64.ImageQuestionComponent, typeof i65.SurveyHeaderComponent, typeof i66.ProgressDefaultComponent, typeof i67.ProgressButtonsComponent, typeof i68.ProgressTocComponent, typeof i69.SurveyNavigationButton, typeof i70.MatrixQuestionComponent, typeof i71.SvgIconComponent, typeof i72.FileQuestionComponent, typeof i73.SafeUrlPipe, typeof i74.SafeHtmlPipe, typeof i75.CommentQuestionComponent, typeof i76.SignaturePadQuestionComponent, typeof i77.ErrorsComponent, typeof i78.MultipleTextComponent, typeof i79.MultipleTextItemComponent, typeof i80.DynamicComponentDirective, typeof i81.RankingQuestionComponent, typeof i82.RankingItemComponent, typeof i83.PanelDynamicQuestionComponent, typeof i84.EmbeddedViewContentComponent, typeof i85.CustomWidgetComponent, typeof i86.MatrixCellComponent, typeof i87.MatrixDropdownCellComponent, typeof i88.MatrixTableComponent, typeof i89.MatrixDropdownComponent, typeof i90.MatrixDynamicComponent, typeof i91.MatrixDetailButtonComponent, typeof i92.MatrixDynamicRemoveButtonComponent, typeof i93.MatrixDynamicDragDropIconComponent, typeof i94.MatrixRequiredHeader, typeof i95.ExpressionComponent, typeof i73.SafeResourceUrlPipe, typeof i96.BrandInfoComponent, typeof i97.CustomQuestionComponent, typeof i98.CompositeQuestionComponent, typeof i99.ButtonGroupItemComponent, typeof i100.ButtonGroupQuestionComponent, typeof i101.MatrixRowComponent, typeof i102.ModalComponent, typeof i103.LogoImageComponent, typeof i104.SkeletonComponent, typeof i105.TimerPanelComponent, typeof i106.PaneldynamicRemoveButtonComponent, typeof i107.NotifierComponent, typeof i108.ComponentsContainerComponent, typeof i109.MultipleTextRowComponent, typeof i110.LoadingIndicatorComponent, typeof i111.HeaderComponent, typeof i112.HeaderCellComponent, typeof i113.HeaderMobileComponent, typeof i114.ChooseFileBtn, typeof i115.FilePreviewComponent, typeof i116.SvgBundleComponent], [typeof i117.CommonModule, typeof i118.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.QuestionSkeletonComponent, typeof i19.TextQuestionComponent, typeof i20.RadiogroupComponent, typeof i21.RadiogroupItemComponent, typeof i22.CheckboxComponent, typeof i23.CheckboxItemComponent, typeof i31.CharacterCounterComponent, typeof i24.DropdownComponent, typeof i25.DropdownQuestionComponent, typeof i26.DropdownSelectComponent, typeof i27.DropdownOptionItemComponent, typeof i28.PopupComponent, typeof i29.PopupBaseContainerComponent, typeof i30.PopupPointerComponent, typeof i31.CharacterCounterComponent, typeof i32.ListComponent, typeof i33.ListItemComponent, typeof i34.RatingItemComponent, typeof i35.RatingItemStarComponent, typeof i36.RatingItemSmileyComponent, typeof i37.TagboxFilterComponent, typeof i38.TagboxComponent, typeof i39.TagboxQuestionComponent, typeof i40.TagboxItemComponent, typeof i41.ActionBarComponent, typeof i42.ActionComponent, typeof i43.ActionBarItemComponent, typeof i44.ActionBarItemDropdownComponent, typeof i45.HtmlQuestionComponent, typeof i46.SelectBaseItemComponent, typeof i47.SelectBaseComponent, typeof i48.SurveyCommentComponent, typeof i49.SurveyCommentOtherComponent, typeof i50.ElementHeaderComponent, typeof i52.ElementTitleComponent, typeof i53.DynamicHeadComponent, typeof i54.RowComponent, typeof i55.RatingQuestionComponent, typeof i56.RatingDropdownItemComponent, typeof i57.RatingDropdownComponent, typeof i58.BooleanQuestionComponent, typeof i59.BooleanCheckboxComponent, typeof i60.BooleanRadioComponent, typeof i61.BooleanRadioItemComponent, typeof i62.ImagePickerItemComponent, typeof i63.ImagePickerQuestionComponent, typeof i64.ImageQuestionComponent, typeof i65.SurveyHeaderComponent, typeof i66.ProgressDefaultComponent, typeof i67.ProgressButtonsComponent, typeof i69.SurveyNavigationButton, typeof i70.MatrixQuestionComponent, typeof i71.SvgIconComponent, typeof i72.FileQuestionComponent, typeof i73.SafeUrlPipe, typeof i74.SafeHtmlPipe, typeof i75.CommentQuestionComponent, typeof i76.SignaturePadQuestionComponent, typeof i77.ErrorsComponent, typeof i78.MultipleTextComponent, typeof i79.MultipleTextItemComponent, typeof i80.DynamicComponentDirective, typeof i81.RankingQuestionComponent, typeof i82.RankingItemComponent, typeof i83.PanelDynamicQuestionComponent, typeof i84.EmbeddedViewContentComponent, typeof i85.CustomWidgetComponent, typeof i86.MatrixCellComponent, typeof i87.MatrixDropdownCellComponent, typeof i88.MatrixTableComponent, typeof i89.MatrixDropdownComponent, typeof i90.MatrixDynamicComponent, typeof i91.MatrixDetailButtonComponent, typeof i92.MatrixDynamicRemoveButtonComponent, typeof i93.MatrixDynamicDragDropIconComponent, typeof i94.MatrixRequiredHeader, typeof i95.ExpressionComponent, typeof i73.SafeResourceUrlPipe, typeof i97.CustomQuestionComponent, typeof i98.CompositeQuestionComponent, typeof i100.ButtonGroupQuestionComponent, typeof i102.ModalComponent, typeof i103.LogoImageComponent, typeof i104.SkeletonComponent, typeof i105.TimerPanelComponent, typeof i106.PaneldynamicRemoveButtonComponent, typeof i107.NotifierComponent, typeof i108.ComponentsContainerComponent, typeof i109.MultipleTextRowComponent, typeof i110.LoadingIndicatorComponent, typeof i111.HeaderComponent, typeof i112.HeaderCellComponent, typeof i113.HeaderMobileComponent, typeof i115.FilePreviewComponent, typeof i116.SvgBundleComponent]>;
123
+ 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.QuestionSkeletonComponent, typeof i19.TextQuestionComponent, typeof i20.RadiogroupComponent, typeof i21.RadiogroupItemComponent, typeof i22.CheckboxComponent, typeof i23.CheckboxItemComponent, typeof i24.DropdownComponent, typeof i25.DropdownQuestionComponent, typeof i26.DropdownSelectComponent, typeof i27.DropdownOptionItemComponent, typeof i28.PopupComponent, typeof i29.PopupBaseContainerComponent, typeof i30.PopupPointerComponent, typeof i31.CharacterCounterComponent, typeof i32.ListComponent, typeof i33.ListItemComponent, typeof i34.RatingItemComponent, typeof i35.RatingItemStarComponent, typeof i36.RatingItemSmileyComponent, typeof i37.TagboxFilterComponent, typeof i38.TagboxComponent, typeof i39.TagboxQuestionComponent, typeof i40.TagboxItemComponent, typeof i41.ActionBarComponent, typeof i42.ActionComponent, typeof i43.ActionBarItemComponent, typeof i44.ActionBarItemDropdownComponent, typeof i45.HtmlQuestionComponent, typeof i46.SelectBaseItemComponent, typeof i47.SelectBaseComponent, typeof i48.SurveyCommentComponent, typeof i49.SurveyCommentOtherComponent, typeof i50.ElementHeaderComponent, typeof i51.ElementTitleActionsComponent, typeof i52.ElementTitleComponent, typeof i53.DynamicHeadComponent, typeof i54.RowComponent, typeof i55.RatingQuestionComponent, typeof i56.RatingDropdownItemComponent, typeof i57.RatingDropdownComponent, typeof i58.BooleanQuestionComponent, typeof i59.BooleanCheckboxComponent, typeof i60.BooleanRadioComponent, typeof i61.BooleanRadioItemComponent, typeof i62.ImagePickerItemComponent, typeof i63.ImagePickerQuestionComponent, typeof i64.ImageQuestionComponent, typeof i65.SurveyHeaderComponent, typeof i66.ProgressDefaultComponent, typeof i67.ProgressButtonsComponent, typeof i68.ProgressTocComponent, typeof i69.SurveyNavigationButton, typeof i70.MatrixQuestionComponent, typeof i71.SvgIconComponent, typeof i72.FileQuestionComponent, typeof i73.SafeUrlPipe, typeof i74.SafeHtmlPipe, typeof i75.CommentQuestionComponent, typeof i76.SignaturePadQuestionComponent, typeof i77.ErrorsComponent, typeof i78.MultipleTextComponent, typeof i79.MultipleTextItemComponent, typeof i80.DynamicComponentDirective, typeof i81.RankingQuestionComponent, typeof i82.RankingItemComponent, typeof i83.PanelDynamicQuestionComponent, typeof i84.EmbeddedViewContentComponent, typeof i85.CustomWidgetComponent, typeof i86.MatrixCellComponent, typeof i87.MatrixDropdownCellComponent, typeof i88.MatrixTableComponent, typeof i89.MatrixDropdownComponent, typeof i90.MatrixDynamicComponent, typeof i91.MatrixDetailButtonComponent, typeof i92.MatrixDynamicRemoveButtonComponent, typeof i93.MatrixDynamicDragDropIconComponent, typeof i94.MatrixRequiredHeader, typeof i95.ExpressionComponent, typeof i73.SafeResourceUrlPipe, typeof i96.BrandInfoComponent, typeof i97.QuestionErrorComponent, typeof i98.CustomQuestionComponent, typeof i99.CompositeQuestionComponent, typeof i100.ButtonGroupItemComponent, typeof i101.ButtonGroupQuestionComponent, typeof i102.MatrixRowComponent, typeof i103.ModalComponent, typeof i104.LogoImageComponent, typeof i105.SkeletonComponent, typeof i106.TimerPanelComponent, typeof i107.PaneldynamicRemoveButtonComponent, typeof i108.NotifierComponent, typeof i109.ComponentsContainerComponent, typeof i110.MultipleTextRowComponent, typeof i111.LoadingIndicatorComponent, typeof i112.HeaderComponent, typeof i113.HeaderCellComponent, typeof i114.HeaderMobileComponent, typeof i115.ChooseFileBtn, typeof i116.FilePreviewComponent, typeof i117.SvgBundleComponent], [typeof i118.CommonModule, typeof i119.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.QuestionSkeletonComponent, typeof i19.TextQuestionComponent, typeof i20.RadiogroupComponent, typeof i21.RadiogroupItemComponent, typeof i22.CheckboxComponent, typeof i23.CheckboxItemComponent, typeof i31.CharacterCounterComponent, typeof i24.DropdownComponent, typeof i25.DropdownQuestionComponent, typeof i26.DropdownSelectComponent, typeof i27.DropdownOptionItemComponent, typeof i28.PopupComponent, typeof i29.PopupBaseContainerComponent, typeof i30.PopupPointerComponent, typeof i31.CharacterCounterComponent, typeof i32.ListComponent, typeof i33.ListItemComponent, typeof i34.RatingItemComponent, typeof i35.RatingItemStarComponent, typeof i36.RatingItemSmileyComponent, typeof i37.TagboxFilterComponent, typeof i38.TagboxComponent, typeof i39.TagboxQuestionComponent, typeof i40.TagboxItemComponent, typeof i41.ActionBarComponent, typeof i42.ActionComponent, typeof i43.ActionBarItemComponent, typeof i44.ActionBarItemDropdownComponent, typeof i45.HtmlQuestionComponent, typeof i46.SelectBaseItemComponent, typeof i47.SelectBaseComponent, typeof i48.SurveyCommentComponent, typeof i49.SurveyCommentOtherComponent, typeof i50.ElementHeaderComponent, typeof i52.ElementTitleComponent, typeof i53.DynamicHeadComponent, typeof i54.RowComponent, typeof i55.RatingQuestionComponent, typeof i56.RatingDropdownItemComponent, typeof i57.RatingDropdownComponent, typeof i58.BooleanQuestionComponent, typeof i59.BooleanCheckboxComponent, typeof i60.BooleanRadioComponent, typeof i61.BooleanRadioItemComponent, typeof i62.ImagePickerItemComponent, typeof i63.ImagePickerQuestionComponent, typeof i64.ImageQuestionComponent, typeof i65.SurveyHeaderComponent, typeof i66.ProgressDefaultComponent, typeof i67.ProgressButtonsComponent, typeof i69.SurveyNavigationButton, typeof i70.MatrixQuestionComponent, typeof i71.SvgIconComponent, typeof i72.FileQuestionComponent, typeof i73.SafeUrlPipe, typeof i74.SafeHtmlPipe, typeof i75.CommentQuestionComponent, typeof i76.SignaturePadQuestionComponent, typeof i77.ErrorsComponent, typeof i78.MultipleTextComponent, typeof i79.MultipleTextItemComponent, typeof i80.DynamicComponentDirective, typeof i81.RankingQuestionComponent, typeof i82.RankingItemComponent, typeof i83.PanelDynamicQuestionComponent, typeof i84.EmbeddedViewContentComponent, typeof i85.CustomWidgetComponent, typeof i86.MatrixCellComponent, typeof i87.MatrixDropdownCellComponent, typeof i88.MatrixTableComponent, typeof i89.MatrixDropdownComponent, typeof i90.MatrixDynamicComponent, typeof i91.MatrixDetailButtonComponent, typeof i92.MatrixDynamicRemoveButtonComponent, typeof i93.MatrixDynamicDragDropIconComponent, typeof i94.MatrixRequiredHeader, typeof i95.ExpressionComponent, typeof i73.SafeResourceUrlPipe, typeof i98.CustomQuestionComponent, typeof i99.CompositeQuestionComponent, typeof i101.ButtonGroupQuestionComponent, typeof i103.ModalComponent, typeof i104.LogoImageComponent, typeof i105.SkeletonComponent, typeof i106.TimerPanelComponent, typeof i107.PaneldynamicRemoveButtonComponent, typeof i108.NotifierComponent, typeof i109.ComponentsContainerComponent, typeof i110.MultipleTextRowComponent, typeof i111.LoadingIndicatorComponent, typeof i112.HeaderComponent, typeof i113.HeaderCellComponent, typeof i114.HeaderMobileComponent, typeof i116.FilePreviewComponent, typeof i117.SvgBundleComponent]>;
123
124
  static ɵinj: i0.ɵɵInjectorDeclaration<SurveyModule>;
124
125
  }
@@ -850,7 +850,6 @@
850
850
  __extends(PopupBaseContainerComponent, _super);
851
851
  function PopupBaseContainerComponent(changeDetectorRef) {
852
852
  var _this = _super.call(this, changeDetectorRef) || this;
853
- _this.prevIsVisible = false;
854
853
  _this.changeDetectorRef.detach();
855
854
  return _this;
856
855
  }
@@ -886,12 +885,9 @@
886
885
  if (isSync === void 0) { isSync = false; }
887
886
  _super.prototype.afterUpdate.call(this, isSync);
888
887
  if (!isSync) {
889
- if (!this.prevIsVisible && this.model.isVisible) {
888
+ if (!this.model.isPositionSet && this.model.isVisible) {
890
889
  this.model.updateOnShowing();
891
890
  }
892
- if (this.prevIsVisible !== this.model.isVisible) {
893
- this.prevIsVisible = this.model.isVisible;
894
- }
895
891
  }
896
892
  };
897
893
  PopupBaseContainerComponent.prototype.clickInside = function (event) {
@@ -1167,7 +1163,7 @@
1167
1163
  return ErrorsComponent;
1168
1164
  }());
1169
1165
  ErrorsComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ErrorsComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
1170
- 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: "<div *ngFor=\"let error of element.errors;\">\n <span\n [class]=\"element.cssClasses ? element.cssClasses.error.icon : 'panel-error-icon'\"\n aria-hidden=\"true\"\n ></span>\n <span [class]=\"element.cssClasses ? element.cssClasses.error.item : 'panel-error-item'\" [model]=\"error.locText\" sv-ng-string>\n </span>\n</div>", components: [{ type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }], directives: [{ type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
1166
+ 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"] }] });
1171
1167
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ErrorsComponent, decorators: [{
1172
1168
  type: i0.Component,
1173
1169
  args: [{
@@ -1742,7 +1738,7 @@
1742
1738
  return ElementHeaderComponent;
1743
1739
  }());
1744
1740
  ElementHeaderComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ElementHeaderComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
1745
- ElementHeaderComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ElementHeaderComponent, selector: "'[sv-ng-element-header]'", inputs: { element: "element" }, host: { listeners: { "click": "click($event)" }, properties: { "class": "this.rootClass" } }, ngImport: i0__namespace, template: "<sv-ng-element-title [element]=\"element\"></sv-ng-element-title>\n<div *ngIf=\"element.hasDescriptionUnderTitle\" [class]=\"element.cssDescription\" [model]=\"element.locDescription\" [attr.id]=\"element.ariaDescriptionId\" [style.display]=\"element.hasDescription ? '': 'none' \" sv-ng-string></div>\n<ng-container *ngIf=\"!!element.additionalTitleToolbar\">\n<sv-ng-action-bar [model]=\"element.additionalTitleToolbar\"></sv-ng-action-bar>\n</ng-container>", components: [{ type: ElementTitleComponent, selector: "sv-ng-element-title", inputs: ["element"] }, { type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }, { type: ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
1741
+ ElementHeaderComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ElementHeaderComponent, selector: "'[sv-ng-element-header]'", inputs: { element: "element" }, host: { listeners: { "click": "click($event)" }, properties: { "class": "this.rootClass" } }, ngImport: i0__namespace, template: "<sv-ng-element-title [element]=\"element\"></sv-ng-element-title>\n<div *ngIf=\"element.hasDescriptionUnderTitle\" [class]=\"element.cssDescription\" [model]=\"element.locDescription\" [attr.id]=\"element.ariaDescriptionId\" [style.display]=\"element.hasDescription ? '': 'none' \" sv-ng-string></div>\n<ng-container *ngIf=\"element.hasAdditionalTitleToolbar\">\n<sv-ng-action-bar [model]=\"element.additionalTitleToolbar\"></sv-ng-action-bar>\n</ng-container>", components: [{ type: ElementTitleComponent, selector: "sv-ng-element-title", inputs: ["element"] }, { type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }, { type: ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
1746
1742
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ElementHeaderComponent, decorators: [{
1747
1743
  type: i0.Component,
1748
1744
  args: [{
@@ -3166,7 +3162,7 @@
3166
3162
  return RatingItemComponent;
3167
3163
  }(BaseAngular));
3168
3164
  RatingItemComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: RatingItemComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
3169
- RatingItemComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: RatingItemComponent, selector: "sv-ng-rating-item", inputs: { element: "element", model: "model", item: "item", index: "index" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <label [class]=\"model.getItemClassByText(item.itemValue, item.text)\" (mousedown)=\"model.onMouseDown()\">\n <input type=\"radio\"\n class=\"sv-visuallyhidden\"\n [attr.name]=\"model.name\" [attr.id]=\"model.getInputId(index)\" [value]=\"item.value\" [attr.aria-required]=\"model.ariaRequired\" [attr.aria-label]=\"model.ariaLabel\" [attr.aria-invalid]=\"model.ariaInvalid\" [attr.aria-errormessage]=\"model.ariaErrormessage\"\n [disabled]=\"model.isInputReadOnly\" [checked]=\"model.value === item.value\" (click)=\"onClick($event)\"\n />\n <span [class]=\"model.cssClasses.itemText\" [model]=\"item.locText\" sv-ng-string></span>\n </label>\n</ng-template>", styles: [":host{display:none}\n"], components: [{ type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }] });
3165
+ RatingItemComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: RatingItemComponent, selector: "sv-ng-rating-item", inputs: { element: "element", model: "model", item: "item", index: "index" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <label [class]=\"model.getItemClassByText(item.itemValue, item.text)\" (mousedown)=\"model.onMouseDown()\">\n <input type=\"radio\"\n class=\"sv-visuallyhidden\"\n [attr.name]=\"model.questionName\" [attr.id]=\"model.getInputId(index)\" [value]=\"item.value\" [attr.aria-required]=\"model.ariaRequired\" [attr.aria-label]=\"model.ariaLabel\" [attr.aria-invalid]=\"model.ariaInvalid\" [attr.aria-errormessage]=\"model.ariaErrormessage\"\n [disabled]=\"model.isInputReadOnly\" [checked]=\"model.value === item.value\" (click)=\"onClick($event)\"\n />\n <span [class]=\"model.cssClasses.itemText\" [model]=\"item.locText\" sv-ng-string></span>\n </label>\n</ng-template>", styles: [":host{display:none}\n"], components: [{ type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }] });
3170
3166
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: RatingItemComponent, decorators: [{
3171
3167
  type: i0.Component,
3172
3168
  args: [{
@@ -3200,7 +3196,7 @@
3200
3196
  return RatingItemStarComponent;
3201
3197
  }(BaseAngular));
3202
3198
  RatingItemStarComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: RatingItemStarComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
3203
- RatingItemStarComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: RatingItemStarComponent, selector: "sv-ng-rating-item-star", inputs: { element: "element", model: "model", item: "item", index: "index" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <label [class]=\"model.getItemClass(item.itemValue, item.highlight)\" (mouseover)=\"model.onItemMouseIn(item)\" (mouseout)=\"model.onItemMouseOut(item)\" (mousedown)=\"model.onMouseDown()\">\n <input type=\"radio\"\n class=\"sv-visuallyhidden\"\n [attr.name]=\"model.name\" [attr.id]=\"model.getInputId(index)\" [value]=\"item.value\" [attr.aria-required]=\"model.ariaRequired\" [attr.aria-label]=\"model.ariaLabel\" [attr.aria-invalid]=\"model.ariaInvalid\" [attr.aria-errormessage]=\"model.ariaErrormessage\"\n [disabled]=\"model.isInputReadOnly\" [checked]=\"model.value === item.value\" (click)=\"onClick($event)\"\n />\n <svg [iconName]=\"model.itemStarIcon\" [size]=\"'auto'\" [title]=\"item.text\" [class]=\"'sv-star'\" sv-ng-svg-icon></svg>\n <svg [iconName]=\"model.itemStarIconAlt\" [size]=\"'auto'\" [title]=\"item.text\" [class]=\"'sv-star-2'\" sv-ng-svg-icon></svg>\n </label>\n</ng-template>", styles: [":host{display:none}\n"], components: [{ type: SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }] });
3199
+ RatingItemStarComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: RatingItemStarComponent, selector: "sv-ng-rating-item-star", inputs: { element: "element", model: "model", item: "item", index: "index" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <label [class]=\"model.getItemClass(item.itemValue, item.highlight)\" (mouseover)=\"model.onItemMouseIn(item)\" (mouseout)=\"model.onItemMouseOut(item)\" (mousedown)=\"model.onMouseDown()\">\n <input type=\"radio\"\n class=\"sv-visuallyhidden\"\n [attr.name]=\"model.questionName\" [attr.id]=\"model.getInputId(index)\" [value]=\"item.value\" [attr.aria-required]=\"model.ariaRequired\" [attr.aria-label]=\"model.ariaLabel\" [attr.aria-invalid]=\"model.ariaInvalid\" [attr.aria-errormessage]=\"model.ariaErrormessage\"\n [disabled]=\"model.isInputReadOnly\" [checked]=\"model.value === item.value\" (click)=\"onClick($event)\"\n />\n <svg [iconName]=\"model.itemStarIcon\" [size]=\"'auto'\" [title]=\"item.text\" [class]=\"'sv-star'\" sv-ng-svg-icon></svg>\n <svg [iconName]=\"model.itemStarIconAlt\" [size]=\"'auto'\" [title]=\"item.text\" [class]=\"'sv-star-2'\" sv-ng-svg-icon></svg>\n </label>\n</ng-template>", styles: [":host{display:none}\n"], components: [{ type: SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }] });
3204
3200
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: RatingItemStarComponent, decorators: [{
3205
3201
  type: i0.Component,
3206
3202
  args: [{
@@ -3234,7 +3230,7 @@
3234
3230
  return RatingItemSmileyComponent;
3235
3231
  }(BaseAngular));
3236
3232
  RatingItemSmileyComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: RatingItemSmileyComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
3237
- RatingItemSmileyComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: RatingItemSmileyComponent, selector: "sv-ng-rating-item-smiley", inputs: { element: "element", model: "model", item: "item", index: "index" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <label [style]=\"model.getItemStyle(item.itemValue, item.highlight)\" [class]=\"model.getItemClass(item.itemValue, item.highlight)\" (mouseover)=\"model.onItemMouseIn(item)\" (mouseout)=\"model.onItemMouseOut(item)\" (mousedown)=\"model.onMouseDown()\">\n <input type=\"radio\"\n class=\"sv-visuallyhidden\"\n [attr.name]=\"model.name\" [attr.id]=\"model.getInputId(index)\" [value]=\"item.value\" [attr.aria-required]=\"model.ariaRequired\" [attr.aria-label]=\"model.ariaLabel\" [attr.aria-invalid]=\"model.ariaInvalid\" [attr.aria-errormessage]=\"model.ariaErrormessage\"\n [disabled]=\"model.isInputReadOnly\" [checked]=\"model.value === item.value\" (click)=\"onClick($event)\"\n />\n <svg [iconName]=\"model.getItemSmileyIconName(item.itemValue)\" [size]=\"'auto'\" [title]=\"item.text\" sv-ng-svg-icon></svg>\n </label>\n</ng-template>", styles: [":host{display:none}\n"], components: [{ type: SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }] });
3233
+ RatingItemSmileyComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: RatingItemSmileyComponent, selector: "sv-ng-rating-item-smiley", inputs: { element: "element", model: "model", item: "item", index: "index" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <label [style]=\"model.getItemStyle(item.itemValue, item.highlight)\" [class]=\"model.getItemClass(item.itemValue, item.highlight)\" (mouseover)=\"model.onItemMouseIn(item)\" (mouseout)=\"model.onItemMouseOut(item)\" (mousedown)=\"model.onMouseDown()\">\n <input type=\"radio\"\n class=\"sv-visuallyhidden\"\n [attr.name]=\"model.questionName\" [attr.id]=\"model.getInputId(index)\" [value]=\"item.value\" [attr.aria-required]=\"model.ariaRequired\" [attr.aria-label]=\"model.ariaLabel\" [attr.aria-invalid]=\"model.ariaInvalid\" [attr.aria-errormessage]=\"model.ariaErrormessage\"\n [disabled]=\"model.isInputReadOnly\" [checked]=\"model.value === item.value\" (click)=\"onClick($event)\"\n />\n <svg [iconName]=\"model.getItemSmileyIconName(item.itemValue)\" [size]=\"'auto'\" [title]=\"item.text\" sv-ng-svg-icon></svg>\n </label>\n</ng-template>", styles: [":host{display:none}\n"], components: [{ type: SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }] });
3238
3234
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: RatingItemSmileyComponent, decorators: [{
3239
3235
  type: i0.Component,
3240
3236
  args: [{
@@ -3434,7 +3430,7 @@
3434
3430
  return ProgressButtonsComponent;
3435
3431
  }());
3436
3432
  ProgressButtonsComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ProgressButtonsComponent, deps: [{ token: i0__namespace.ChangeDetectorRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
3437
- ProgressButtonsComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ProgressButtonsComponent, selector: "sv-ng-progress-buttons", inputs: { model: "model", survey: "survey", container: "container" }, viewQueries: [{ propertyName: "progressButtonsListContainer", first: true, predicate: ["progressButtonsListContainer"], descendants: true }], usesOnChanges: true, ngImport: i0__namespace, template: "<div [class]=\"model.getRootCss(container)\" [style.maxWidth]=\"model.progressWidth\" role=\"progressbar\" aria-valuemin=\"0\" aria-valuemax=\"100\" aria-label=\"progress\">\n <div *ngIf=\"canShowHeader\" [class]=\"survey.css.progressButtonsHeader\">\n <div [class]=\"survey.css.progressButtonsPageTitle\" [title]=\"model.headerText\">{{ model.headerText }}</div>\n </div>\n <div [class]=\"survey.css.progressButtonsContainer\">\n <div\n [class]=\"model.getScrollButtonCss(hasScroller, true)\"\n (click)=\"clickScrollButton(true)\"\n role=\"button\"\n ></div>\n <div\n [class]=\"survey.css.progressButtonsListContainer\" #progressButtonsListContainer>\n <ul [class]=\"survey.css.progressButtonsList\">\n <li\n *ngFor=\"let page of survey.visiblePages; index as index\"\n [class]=\"model.getListElementCss(index)\"\n (click)=\"model.isListElementClickable(index) ? model.clickListElement(page) : null\"\n [attr.data-page-number]=\"model.getItemNumber(page)\">\n <div [class]=\"survey.css.progressButtonsConnector\"></div>\n <div *ngIf=\"canShowItemTitles\"\n [class]=\"survey.css.progressButtonsPageTitle\"\n [title]=\"page.renderedNavigationTitle\"\n >\n {{ page.renderedNavigationTitle }}\n </div>\n <div *ngIf=\"canShowItemTitles\"\n [class]=\"survey.css.progressButtonsPageDescription\"\n [title]=\"page.locNavigationDescription.renderedHtml\"\n >\n {{ page.locNavigationDescription.renderedHtml }}\n </div>\n <div [class]=\"survey.css.progressButtonsButton\"><div [class]=\"survey.css.progressButtonsButtonBackground\"></div><div [class]=\"survey.css.progressButtonsButtonContent\"></div><span>{{model.getItemNumber(page)}}</span></div>\n </li>\n </ul>\n </div>\n <div\n [class]=\"model.getScrollButtonCss(hasScroller, false)\"\n (click)=\"clickScrollButton(false)\"\n role=\"button\"\n ></div>\n </div>\n <div *ngIf=\"canShowFooter\" [class]=\"survey.css.progressButtonsFooter\">\n <div [class]=\"survey.css.progressButtonsPageTitle\" [title]=\"model.footerText\">{{ model.footerText }}</div>\n </div>\n</div>", directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
3433
+ ProgressButtonsComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ProgressButtonsComponent, selector: "sv-ng-progress-buttons", inputs: { model: "model", survey: "survey", container: "container" }, viewQueries: [{ propertyName: "progressButtonsListContainer", first: true, predicate: ["progressButtonsListContainer"], descendants: true }], usesOnChanges: true, ngImport: i0__namespace, template: "<div [class]=\"model.getRootCss(container)\" [style.maxWidth]=\"model.progressWidth\" role=\"progressbar\" aria-valuemin=\"0\" aria-valuemax=\"100\" aria-label=\"progress\">\n <div *ngIf=\"canShowHeader\" [class]=\"survey.css.progressButtonsHeader\">\n <div [class]=\"survey.css.progressButtonsPageTitle\" [title]=\"model.headerText\">{{ model.headerText }}</div>\n </div>\n <div [class]=\"survey.css.progressButtonsContainer\">\n <div\n [class]=\"model.getScrollButtonCss(hasScroller, true)\"\n (click)=\"clickScrollButton(true)\"\n role=\"button\"\n ></div>\n <div\n [class]=\"survey.css.progressButtonsListContainer\" #progressButtonsListContainer>\n <ul [class]=\"survey.css.progressButtonsList\">\n <li\n *ngFor=\"let page of survey.visiblePages; index as index\"\n [class]=\"model.getListElementCss(index)\"\n (click)=\"model.isListElementClickable(index) ? model.clickListElement(page) : null\"\n [attr.data-page-number]=\"model.getItemNumber(page)\">\n <div [class]=\"survey.css.progressButtonsConnector\"></div>\n <div *ngIf=\"canShowItemTitles\"\n [class]=\"survey.css.progressButtonsPageTitle\"\n [title]=\"page.renderedNavigationTitle\"\n >\n <sv-ng-string [model]=\"page.locNavigationTitle\"></sv-ng-string>\n </div>\n <div *ngIf=\"canShowItemTitles\"\n [class]=\"survey.css.progressButtonsPageDescription\"\n [title]=\"page.locNavigationDescription.renderedHtml\"\n >\n {{ page.locNavigationDescription.renderedHtml }}\n </div>\n <div [class]=\"survey.css.progressButtonsButton\"><div [class]=\"survey.css.progressButtonsButtonBackground\"></div><div [class]=\"survey.css.progressButtonsButtonContent\"></div><span>{{model.getItemNumber(page)}}</span></div>\n </li>\n </ul>\n </div>\n <div\n [class]=\"model.getScrollButtonCss(hasScroller, false)\"\n (click)=\"clickScrollButton(false)\"\n role=\"button\"\n ></div>\n </div>\n <div *ngIf=\"canShowFooter\" [class]=\"survey.css.progressButtonsFooter\">\n <div [class]=\"survey.css.progressButtonsPageTitle\" [title]=\"model.footerText\">{{ model.footerText }}</div>\n </div>\n</div>", components: [{ type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
3438
3434
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ProgressButtonsComponent, decorators: [{
3439
3435
  type: i0.Component,
3440
3436
  args: [{
@@ -3861,7 +3857,7 @@
3861
3857
  return RankingItemComponent;
3862
3858
  }(BaseAngular));
3863
3859
  RankingItemComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: RankingItemComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
3864
- RankingItemComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: RankingItemComponent, selector: "sv-ng-ranking-item", inputs: { question: "question", model: "model", index: "index", unrankedItem: "unrankedItem" }, usesInheritance: true, ngImport: i0__namespace, template: "\n\n\n<div [attr.tabindex]=\"question.getItemTabIndex(model)\" [attr.data-sv-drop-target-ranking-item]=\"index\" \n [class]=\"question.getItemClass(model)\"\n (keydown)=\"question.handleKeydown($event, model)\"\n (pointerdown)=\"question.handlePointerDown($event, model, $any($event.currentTarget))\">\n <div tabindex=\"-1\" style=\"outline: none;\">\n <div [class]=\"question.cssClasses.itemGhostNode\"></div>\n <div [class]=\"question.cssClasses.itemContent\">\n <div [class]=\"question.cssClasses.itemIconContainer\">\n <svg [class]=\"question.getIconHoverCss()\">\n <use [attr.xlink:href]=\"question.dragDropSvgIcon\"></use>\n </svg> \n <svg [class]=\"question.getIconFocusCss()\">\n <use [attr.xlink:href]=\"question.arrowsSvgIcon\"></use>\n </svg> \n </div>\n\n <div *ngIf=\"!unrankedItem && question.getNumberByIndex(index); else elseBlock\" [class]=\"question.getItemIndexClasses(model)\">{{ question.getNumberByIndex(index) }}</div>\n <ng-template #elseBlock><div [class]=\"question.getItemIndexClasses(model)\">\n <svg>\n <use [attr.xlink:href]=\"question.dashSvgIcon\"></use>\n </svg> \n </div></ng-template>\n <div [class]=\"question.cssClasses.controlLabel\">\n <sv-ng-string [model]=\"model.locText\"></sv-ng-string>\n </div>\n </div>\n </div>\n</div>", components: [{ type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
3860
+ RankingItemComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: RankingItemComponent, selector: "sv-ng-ranking-item", inputs: { question: "question", model: "model", index: "index", unrankedItem: "unrankedItem" }, usesInheritance: true, ngImport: i0__namespace, template: "\n\n\n<div [attr.tabindex]=\"question.getItemTabIndex(model)\" [attr.data-sv-drop-target-ranking-item]=\"index\" \n [class]=\"question.getItemClass(model)\"\n (keydown)=\"question.handleKeydown($event, model)\"\n (pointerdown)=\"question.handlePointerDown($event, model, $any($event.currentTarget))\"\n (pointerup)=\"question.handlePointerUp($event, model, $any($event.currentTarget))\">\n <div tabindex=\"-1\" style=\"outline: none;\">\n <div [class]=\"question.cssClasses.itemGhostNode\"></div>\n <div [class]=\"question.cssClasses.itemContent\">\n <div [class]=\"question.cssClasses.itemIconContainer\">\n <svg [class]=\"question.getIconHoverCss()\">\n <use [attr.xlink:href]=\"question.dragDropSvgIcon\"></use>\n </svg> \n <svg [class]=\"question.getIconFocusCss()\">\n <use [attr.xlink:href]=\"question.arrowsSvgIcon\"></use>\n </svg> \n </div>\n\n <div *ngIf=\"!unrankedItem && question.getNumberByIndex(index); else elseBlock\" [class]=\"question.getItemIndexClasses(model)\">{{ question.getNumberByIndex(index) }}</div>\n <ng-template #elseBlock><div [class]=\"question.getItemIndexClasses(model)\">\n <svg>\n <use [attr.xlink:href]=\"question.dashSvgIcon\"></use>\n </svg> \n </div></ng-template>\n <div [class]=\"question.cssClasses.controlLabel\">\n <sv-ng-string [model]=\"model.locText\"></sv-ng-string>\n </div>\n </div>\n </div>\n</div>", components: [{ type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
3865
3861
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: RankingItemComponent, decorators: [{
3866
3862
  type: i0.Component,
3867
3863
  args: [{
@@ -4041,19 +4037,9 @@
4041
4037
  function PanelDynamicQuestionComponent() {
4042
4038
  return _super !== null && _super.apply(this, arguments) || this;
4043
4039
  }
4044
- Object.defineProperty(PanelDynamicQuestionComponent.prototype, "renderedPanels", {
4045
- get: function () {
4046
- if (this.model.isRenderModeList)
4047
- return this.model.visiblePanels;
4048
- var panels = [];
4049
- if (this.model.currentPanel) {
4050
- panels.push(this.model.currentPanel);
4051
- }
4052
- return panels;
4053
- },
4054
- enumerable: false,
4055
- configurable: true
4056
- });
4040
+ PanelDynamicQuestionComponent.prototype.trackPanelBy = function (_, panel) {
4041
+ return panel.id;
4042
+ };
4057
4043
  PanelDynamicQuestionComponent.prototype.onModelChanged = function () {
4058
4044
  var _this = this;
4059
4045
  _super.prototype.onModelChanged.call(this);
@@ -4109,7 +4095,7 @@
4109
4095
  return PanelDynamicQuestionComponent;
4110
4096
  }(QuestionAngular));
4111
4097
  PanelDynamicQuestionComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PanelDynamicQuestionComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
4112
- PanelDynamicQuestionComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PanelDynamicQuestionComponent, selector: "sv-ng-paneldynamic-question", usesInheritance: true, ngImport: i0__namespace, template: "<div [class]=\"model.cssClasses.root\" #contentElement>\n <div *ngIf=\"model.getShowNoEntriesPlaceholder()\" [class]=\"model.cssClasses.noEntriesPlaceholder\">\n <span [model]=\"model.locNoEntriesText\" sv-ng-string></span>\n <sv-ng-paneldynamic-add-btn *ngIf=\"model.canAddPanel\" [data]=\"{ question: model }\"></sv-ng-paneldynamic-add-btn>\n </div>\n <div [class]=\"model.cssClasses.progress\" *ngIf=\"!model.showLegacyNavigation && model.isProgressTopShowing && model.isRangeShowing\">\n <div\n [class]=\"model.cssClasses.progressBar\"\n [style]=\"{ width: model.progress }\"\n role=\"progressbar\"\n ></div>\n </div>\n <ng-container [ngTemplateOutlet]=\"progress\" *ngIf=\"model.showLegacyNavigation && model.isProgressTopShowing\"></ng-container>\n <!-- add track by [key]=\"panel.id\" -->\n <ng-container *ngFor=\"let panel of renderedPanels; index as index\"> \n <div [class]=\"model.getPanelWrapperCss(panel)\">\n <ng-template [component]=\"{ name: getPanelComponentName(panel), data: getPanelComponentData(panel) }\"></ng-template>\n <ng-container *ngIf=\"model.panelRemoveButtonLocation ==='right' && model.canRemovePanel && panel.state != 'collapsed'\">\n <ng-template [component]=\"{ name: 'sv-paneldynamic-remove-btn', data: { data: { panel, question: model }}}\"></ng-template>\n </ng-container>\n </div>\n <!-- add track by [key]=\"'separator' + panel.id\" -->\n <hr [class]=\"model.cssClasses.separator\" *ngIf=\"model.showSeparator(index)\"/>\n </ng-container>\n <ng-container [ngTemplateOutlet]=\"progress\" *ngIf=\"model.showLegacyNavigation && model.isProgressBottomShowing\"></ng-container>\n <sv-ng-paneldynamic-add-btn *ngIf=\"model.showLegacyNavigation && model.isRenderModeList\" [data]=\"{ question: model }\"></sv-ng-paneldynamic-add-btn>\n <ng-container [ngTemplateOutlet]=\"progressV2\" *ngIf=\"model.showNavigation\"></ng-container>\n</div>\n\n<ng-template #progressV2>\n <div [class]=\"model.cssClasses.footer\" *ngIf=\"!!model.cssClasses.footer\">\n <hr [class]=\"model.cssClasses.separator\"/>\n <div [class]=\"model.cssClasses.progress\" *ngIf=\"model.isRangeShowing && model.isProgressBottomShowing\">\n <div\n [class]=\"model.cssClasses.progressBar\"\n [style]=\"{ width: model.progress }\"\n role=\"progressbar\"\n ></div>\n </div>\n <div *ngIf=\"model.footerToolbar.visibleActions.length\" [class]=\"model.cssClasses.footerButtonsContainer\">\n <sv-ng-action-bar [model]=\"model.footerToolbar\"></sv-ng-action-bar>\n </div>\n </div>\n</ng-template>\n<ng-template #progress>\n <div [class]=\"this.progressCssClass\">\n <div style=\"clear: both\" [class]=\"this.progressCssClass\">\n <div [class]=\"model.cssClasses.progressContainer\">\n <sv-ng-paneldynamic-prev-btn [data]=\"{ question: model }\"></sv-ng-paneldynamic-prev-btn>\n <div [class]=\"model.cssClasses.progress\" *ngIf=\"model.isRangeShowing\">\n <div\n [class]=\"model.cssClasses.progressBar\"\n [style]=\"{ width: model.progress }\"\n role=\"progressbar\"\n ></div>\n </div>\n <sv-ng-paneldynamic-next-btn [data]=\"{ question: model }\"></sv-ng-paneldynamic-next-btn>\n </div>\n <sv-ng-paneldynamic-add-btn [data]=\"{ question: model }\"></sv-ng-paneldynamic-add-btn>\n <sv-ng-paneldynamic-progress-text [data]=\"{ question: model }\"></sv-ng-paneldynamic-progress-text>\n </div>\n </div>\n</ng-template>", components: [{ type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }, { type: PanelDynamicAddBtn, selector: "sv-ng-paneldynamic-add-btn" }, { type: ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }, { type: PanelDynamicPrevBtn, selector: "sv-ng-paneldynamic-prev-btn" }, { type: PanelDynamicNextBtn, selector: "sv-ng-paneldynamic-next-btn" }, { type: PanelDynamicProgressText, selector: "sv-ng-paneldynamic-progress-text" }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
4098
+ PanelDynamicQuestionComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PanelDynamicQuestionComponent, selector: "sv-ng-paneldynamic-question", usesInheritance: true, ngImport: i0__namespace, template: "<div [class]=\"model.cssClasses.root\" #contentElement>\n <div *ngIf=\"model.getShowNoEntriesPlaceholder()\" [class]=\"model.cssClasses.noEntriesPlaceholder\">\n <span [model]=\"model.locNoEntriesText\" sv-ng-string></span>\n <sv-ng-paneldynamic-add-btn *ngIf=\"model.canAddPanel\" [data]=\"{ question: model }\"></sv-ng-paneldynamic-add-btn>\n </div>\n <div [class]=\"model.cssClasses.progress\"\n *ngIf=\"!model.showLegacyNavigation && model.isProgressTopShowing && model.isRangeShowing\">\n <div [class]=\"model.cssClasses.progressBar\" [style]=\"{ width: model.progress }\" role=\"progressbar\"></div>\n </div>\n <ng-container [ngTemplateOutlet]=\"progress\"\n *ngIf=\"model.showLegacyNavigation && model.isProgressTopShowing\"></ng-container>\n <div [class]=\"model.cssClasses.panelsContainer\">\n <ng-container *ngFor=\"let panel of model.renderedPanels; index as index; trackBy: trackPanelBy\">\n <div [class]=\"model.getPanelWrapperCss(panel)\">\n <ng-template\n [component]=\"{ name: getPanelComponentName(panel), data: getPanelComponentData(panel) }\"></ng-template>\n <ng-container\n *ngIf=\"model.panelRemoveButtonLocation ==='right' && model.canRemovePanel && panel.state != 'collapsed'\">\n <ng-template\n [component]=\"{ name: 'sv-paneldynamic-remove-btn', data: { data: { panel, question: model }}}\"></ng-template>\n </ng-container>\n </div>\n <hr [class]=\"model.cssClasses.separator\" *ngIf=\"model.showSeparator(index)\" />\n </ng-container>\n </div>\n <ng-container [ngTemplateOutlet]=\"progress\"\n *ngIf=\"model.showLegacyNavigation && model.isProgressBottomShowing\"></ng-container>\n <sv-ng-paneldynamic-add-btn *ngIf=\"model.showLegacyNavigation && model.isRenderModeList\"\n [data]=\"{ question: model }\"></sv-ng-paneldynamic-add-btn>\n <ng-container [ngTemplateOutlet]=\"progressV2\" *ngIf=\"model.showNavigation\"></ng-container>\n</div>\n\n<ng-template #progressV2>\n <div [class]=\"model.cssClasses.footer\" *ngIf=\"!!model.cssClasses.footer\">\n <hr [class]=\"model.cssClasses.separator\" />\n <div [class]=\"model.cssClasses.progress\" *ngIf=\"model.isRangeShowing && model.isProgressBottomShowing\">\n <div [class]=\"model.cssClasses.progressBar\" [style]=\"{ width: model.progress }\" role=\"progressbar\"></div>\n </div>\n <div *ngIf=\"model.footerToolbar.visibleActions.length\" [class]=\"model.cssClasses.footerButtonsContainer\">\n <sv-ng-action-bar [model]=\"model.footerToolbar\"></sv-ng-action-bar>\n </div>\n </div>\n</ng-template>\n<ng-template #progress>\n <div [class]=\"this.progressCssClass\">\n <div style=\"clear: both\" [class]=\"this.progressCssClass\">\n <div [class]=\"model.cssClasses.progressContainer\">\n <sv-ng-paneldynamic-prev-btn [data]=\"{ question: model }\"></sv-ng-paneldynamic-prev-btn>\n <div [class]=\"model.cssClasses.progress\" *ngIf=\"model.isRangeShowing\">\n <div [class]=\"model.cssClasses.progressBar\" [style]=\"{ width: model.progress }\" role=\"progressbar\"></div>\n </div>\n <sv-ng-paneldynamic-next-btn [data]=\"{ question: model }\"></sv-ng-paneldynamic-next-btn>\n </div>\n <sv-ng-paneldynamic-add-btn [data]=\"{ question: model }\"></sv-ng-paneldynamic-add-btn>\n <sv-ng-paneldynamic-progress-text [data]=\"{ question: model }\"></sv-ng-paneldynamic-progress-text>\n </div>\n </div>\n</ng-template>", components: [{ type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }, { type: PanelDynamicAddBtn, selector: "sv-ng-paneldynamic-add-btn" }, { type: ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }, { type: PanelDynamicPrevBtn, selector: "sv-ng-paneldynamic-prev-btn" }, { type: PanelDynamicNextBtn, selector: "sv-ng-paneldynamic-next-btn" }, { type: PanelDynamicProgressText, selector: "sv-ng-paneldynamic-progress-text" }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
4113
4099
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PanelDynamicQuestionComponent, decorators: [{
4114
4100
  type: i0.Component,
4115
4101
  args: [{
@@ -4450,10 +4436,30 @@
4450
4436
  MatrixRowComponent.prototype.trackCellBy = function (_, cell) {
4451
4437
  return cell.id;
4452
4438
  };
4439
+ MatrixRowComponent.prototype.onModelChanged = function () {
4440
+ var _a;
4441
+ _super.prototype.onModelChanged.call(this);
4442
+ if (this.previousModel) {
4443
+ this.previousModel.setRootElement(undefined);
4444
+ }
4445
+ if (this.model && ((_a = this.container) === null || _a === void 0 ? void 0 : _a.nativeElement)) {
4446
+ this.model.setRootElement(this.container.nativeElement);
4447
+ }
4448
+ };
4449
+ MatrixRowComponent.prototype.ngAfterViewInit = function () {
4450
+ var _a;
4451
+ if (this.model && ((_a = this.container) === null || _a === void 0 ? void 0 : _a.nativeElement)) {
4452
+ this.model.setRootElement(this.container.nativeElement);
4453
+ }
4454
+ };
4455
+ MatrixRowComponent.prototype.ngOnDestroy = function () {
4456
+ _super.prototype.ngOnDestroy.call(this);
4457
+ this.model.setRootElement(undefined);
4458
+ };
4453
4459
  return MatrixRowComponent;
4454
4460
  }(BaseAngular));
4455
4461
  MatrixRowComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MatrixRowComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
4456
- MatrixRowComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MatrixRowComponent, selector: "sv-ng-matrix-row", inputs: { model: "model", question: "question" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <tr *ngIf=\"model.visible\" [class]=\"model.className\" (pointerdown)=\"question.onPointerDown($event, row)\"\n [attr.data-sv-drop-target-matrix-row]=\"row && row.id\">\n <sv-ng-matrixdropdown-cell [cell]=\"cell\" [question]=\"question\"\n *ngFor=\"let cell of model.cells; trackBy: trackCellBy\"></sv-ng-matrixdropdown-cell>\n </tr>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: MatrixDropdownCellComponent, selector: "sv-ng-matrixdropdown-cell", inputs: ["question", "cell"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
4462
+ MatrixRowComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MatrixRowComponent, selector: "sv-ng-matrix-row", inputs: { model: "model", question: "question" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true, read: i0.ElementRef }], usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <tr *ngIf=\"model.visible\" [class]=\"model.className\" (pointerdown)=\"question.onPointerDown($event, row)\"\n [attr.data-sv-drop-target-matrix-row]=\"row && row.id\" #container>\n <sv-ng-matrixdropdown-cell [cell]=\"cell\" [question]=\"question\"\n *ngFor=\"let cell of model.cells; trackBy: trackCellBy\"></sv-ng-matrixdropdown-cell>\n </tr>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: MatrixDropdownCellComponent, selector: "sv-ng-matrixdropdown-cell", inputs: ["question", "cell"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
4457
4463
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MatrixRowComponent, decorators: [{
4458
4464
  type: i0.Component,
4459
4465
  args: [{
@@ -4465,6 +4471,9 @@
4465
4471
  type: i0.Input
4466
4472
  }], question: [{
4467
4473
  type: i0.Input
4474
+ }], container: [{
4475
+ type: i0.ViewChild,
4476
+ args: ["container", { static: false, read: i0.ElementRef }]
4468
4477
  }] } });
4469
4478
 
4470
4479
  var MatrixTableComponent = /** @class */ (function (_super) {
@@ -4484,7 +4493,7 @@
4484
4493
  return MatrixTableComponent;
4485
4494
  }(BaseAngular));
4486
4495
  MatrixTableComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MatrixTableComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
4487
- MatrixTableComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MatrixTableComponent, selector: "sv-ng-matrix-table", inputs: { question: "question", table: "table" }, usesInheritance: true, ngImport: i0__namespace, template: "<div [style]=\"{ overflowX: question.showHorizontalScroll ? 'scroll' : '' }\" #contentElement [class]=\"question.cssClasses.tableWrapper\">\n <table [class]=\"question.getTableCss()\">\n <thead *ngIf=\"table.showHeader\">\n <tr>\n <ng-container\n *ngFor=\"let cell of table.headerRow.cells; trackBy: trackCellBy\"\n >\n <th *ngIf=\"cell.hasTitle\" [class]=\"cell.className\" [style]=\"{ minWidth: cell.minWidth, width: cell.width }\">\n <ng-template [component]=\"{ name: question.getColumnHeaderWrapperComponentName($any(cell)), data: { componentData: question.getColumnHeaderWrapperComponentData($any(cell)) } }\">\n <sv-ng-string [model]=\"cell.locTitle\"></sv-ng-string>\n <sv-ng-matrixheaderrequired *ngIf=\"!!cell.column\" [column]=\"cell.column\" [question]=\"question\">\n </sv-ng-matrixheaderrequired>\n </ng-template>\n </th>\n \n <td *ngIf=\"!cell.hasTitle\" [class]=\"cell.className\" [style]=\"{ minWidth: cell.minWidth, width: cell.width }\"></td>\n </ng-container>\n </tr>\n </thead>\n <tbody>\n <ng-container *ngFor=\"let row of table.rows; trackBy: trackRowBy\">\n <sv-ng-matrix-row [model]=\"row\" [question]=\"question\"></sv-ng-matrix-row>\n </ng-container>\n </tbody>\n <tfoot *ngIf=\"table.showFooter\">\n <tr>\n <sv-ng-matrixdropdown-cell [cell]=\"cell\" [question]=\"question\" *ngFor=\"let cell of table.footerRow.cells; trackBy: trackCellBy\">\n </sv-ng-matrixdropdown-cell>\n </tr>\n </tfoot>\n </table>\n</div>", components: [{ type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }, { type: MatrixRequiredHeader, selector: "sv-ng-matrixheaderrequired", inputs: ["column", "question"] }, { type: MatrixRowComponent, selector: "sv-ng-matrix-row", inputs: ["model", "question"] }, { type: MatrixDropdownCellComponent, selector: "sv-ng-matrixdropdown-cell", inputs: ["question", "cell"] }], 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"] }] });
4496
+ MatrixTableComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MatrixTableComponent, selector: "sv-ng-matrix-table", inputs: { question: "question", table: "table" }, usesInheritance: true, ngImport: i0__namespace, template: "<div [style]=\"{ overflowX: question.showHorizontalScroll ? 'scroll' : '' }\" #contentElement\n [class]=\"question.cssClasses.tableWrapper\">\n <table [class]=\"question.getTableCss()\">\n <thead *ngIf=\"table.showHeader\">\n <tr>\n <ng-container *ngFor=\"let cell of table.headerRow.cells; trackBy: trackCellBy\">\n <th *ngIf=\"cell.hasTitle\" [class]=\"cell.className\" [style]=\"{ minWidth: cell.minWidth, width: cell.width }\">\n <ng-template\n [component]=\"{ name: question.getColumnHeaderWrapperComponentName($any(cell)), data: { componentData: question.getColumnHeaderWrapperComponentData($any(cell)) } }\">\n <sv-ng-string [model]=\"cell.locTitle\"></sv-ng-string>\n <sv-ng-matrixheaderrequired *ngIf=\"!!cell.column\" [column]=\"cell.column\" [question]=\"question\">\n </sv-ng-matrixheaderrequired>\n </ng-template>\n </th>\n\n <td *ngIf=\"!cell.hasTitle\" [class]=\"cell.className\" [style]=\"{ minWidth: cell.minWidth, width: cell.width }\">\n </td>\n </ng-container>\n </tr>\n </thead>\n <tbody>\n <ng-container *ngFor=\"let row of table.renderedRows; trackBy: trackRowBy\">\n <sv-ng-matrix-row [model]=\"row\" [question]=\"question\"></sv-ng-matrix-row>\n </ng-container>\n </tbody>\n <tfoot *ngIf=\"table.showFooter\">\n <tr>\n <sv-ng-matrixdropdown-cell [cell]=\"cell\" [question]=\"question\"\n *ngFor=\"let cell of table.footerRow.cells; trackBy: trackCellBy\">\n </sv-ng-matrixdropdown-cell>\n </tr>\n </tfoot>\n </table>\n</div>", components: [{ type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }, { type: MatrixRequiredHeader, selector: "sv-ng-matrixheaderrequired", inputs: ["column", "question"] }, { type: MatrixRowComponent, selector: "sv-ng-matrix-row", inputs: ["model", "question"] }, { type: MatrixDropdownCellComponent, selector: "sv-ng-matrixdropdown-cell", inputs: ["question", "cell"] }], 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"] }] });
4488
4497
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MatrixTableComponent, decorators: [{
4489
4498
  type: i0.Component,
4490
4499
  args: [{
@@ -4650,6 +4659,28 @@
4650
4659
  }] });
4651
4660
  AngularComponentFactory.Instance.registerComponent("image-question", ImageQuestionComponent);
4652
4661
 
4662
+ var QuestionErrorComponent = /** @class */ (function () {
4663
+ function QuestionErrorComponent() {
4664
+ }
4665
+ return QuestionErrorComponent;
4666
+ }());
4667
+ QuestionErrorComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: QuestionErrorComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
4668
+ QuestionErrorComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: QuestionErrorComponent, selector: "sv-question-error", inputs: { error: "error", cssClasses: "cssClasses", element: "element" }, ngImport: i0__namespace, template: "<div>\n <span\n [class]=\"cssClasses ? cssClasses.error.icon : 'panel-error-icon'\"\n aria-hidden=\"true\"\n ></span>\n <span [class]=\"cssClasses ? cssClasses.error.item : 'panel-error-item'\" [model]=\"error.locText\" sv-ng-string>\n </span>\n</div>", components: [{ type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }] });
4669
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: QuestionErrorComponent, decorators: [{
4670
+ type: i0.Component,
4671
+ args: [{
4672
+ selector: "sv-question-error",
4673
+ templateUrl: "./question-error.component.html"
4674
+ }]
4675
+ }], propDecorators: { error: [{
4676
+ type: i0.Input
4677
+ }], cssClasses: [{
4678
+ type: i0.Input
4679
+ }], element: [{
4680
+ type: i0.Input
4681
+ }] } });
4682
+ AngularComponentFactory.Instance.registerComponent("sv-question-error", QuestionErrorComponent);
4683
+
4653
4684
  var CustomQuestionComponent = /** @class */ (function (_super) {
4654
4685
  __extends(CustomQuestionComponent, _super);
4655
4686
  function CustomQuestionComponent() {
@@ -4798,7 +4829,7 @@
4798
4829
  SurveyHeaderComponent, ProgressDefaultComponent, ProgressButtonsComponent, ProgressTocComponent, SurveyNavigationButton, MatrixQuestionComponent, SvgIconComponent, FileQuestionComponent, SafeUrlPipe, SafeHtmlPipe, CommentQuestionComponent, SignaturePadQuestionComponent, ErrorsComponent,
4799
4830
  MultipleTextComponent, MultipleTextItemComponent, DynamicComponentDirective, RankingQuestionComponent, RankingItemComponent, PanelDynamicQuestionComponent, EmbeddedViewContentComponent, CustomWidgetComponent,
4800
4831
  MatrixCellComponent, MatrixDropdownCellComponent, MatrixTableComponent, MatrixDropdownComponent,
4801
- MatrixDynamicComponent, MatrixDetailButtonComponent, MatrixDynamicRemoveButtonComponent, MatrixDynamicDragDropIconComponent, MatrixRequiredHeader, ExpressionComponent, SafeResourceUrlPipe, BrandInfoComponent,
4832
+ MatrixDynamicComponent, MatrixDetailButtonComponent, MatrixDynamicRemoveButtonComponent, MatrixDynamicDragDropIconComponent, MatrixRequiredHeader, ExpressionComponent, SafeResourceUrlPipe, BrandInfoComponent, QuestionErrorComponent,
4802
4833
  CustomQuestionComponent, CompositeQuestionComponent, ButtonGroupItemComponent, ButtonGroupQuestionComponent, MatrixRowComponent, ModalComponent, LogoImageComponent, SkeletonComponent, TimerPanelComponent, PaneldynamicRemoveButtonComponent,
4803
4834
  NotifierComponent, ComponentsContainerComponent, MultipleTextRowComponent, LoadingIndicatorComponent, HeaderComponent, HeaderCellComponent, HeaderMobileComponent, ChooseFileBtn, FilePreviewComponent, SvgBundleComponent], imports: [i2.CommonModule, i2$1.FormsModule], exports: [VisibleDirective, Key2ClickDirective, PanelDynamicAddBtn, PanelDynamicNextBtn, PanelDynamicPrevBtn, PanelDynamicProgressText, ElementComponent, TemplateRendererComponent,
4804
4835
  SurveyComponent, SurveyContentComponent, PopupSurveyComponent, PageComponent, PanelComponent, QuestionComponent, StringViewerComponent, SurveyStringComponent, StringEditorComponent,
@@ -4837,7 +4868,7 @@
4837
4868
  SurveyHeaderComponent, ProgressDefaultComponent, ProgressButtonsComponent, ProgressTocComponent, SurveyNavigationButton, MatrixQuestionComponent, SvgIconComponent, FileQuestionComponent, SafeUrlPipe, SafeHtmlPipe, CommentQuestionComponent, SignaturePadQuestionComponent, ErrorsComponent,
4838
4869
  MultipleTextComponent, MultipleTextItemComponent, DynamicComponentDirective, RankingQuestionComponent, RankingItemComponent, PanelDynamicQuestionComponent, EmbeddedViewContentComponent, CustomWidgetComponent,
4839
4870
  MatrixCellComponent, MatrixDropdownCellComponent, MatrixTableComponent, MatrixDropdownComponent,
4840
- MatrixDynamicComponent, MatrixDetailButtonComponent, MatrixDynamicRemoveButtonComponent, MatrixDynamicDragDropIconComponent, MatrixRequiredHeader, ExpressionComponent, SafeResourceUrlPipe, BrandInfoComponent,
4871
+ MatrixDynamicComponent, MatrixDetailButtonComponent, MatrixDynamicRemoveButtonComponent, MatrixDynamicDragDropIconComponent, MatrixRequiredHeader, ExpressionComponent, SafeResourceUrlPipe, BrandInfoComponent, QuestionErrorComponent,
4841
4872
  CustomQuestionComponent, CompositeQuestionComponent, ButtonGroupItemComponent, ButtonGroupQuestionComponent, MatrixRowComponent, ModalComponent, LogoImageComponent, SkeletonComponent, TimerPanelComponent, PaneldynamicRemoveButtonComponent,
4842
4873
  NotifierComponent, ComponentsContainerComponent, MultipleTextRowComponent, LoadingIndicatorComponent, HeaderComponent, HeaderCellComponent, HeaderMobileComponent, ChooseFileBtn, FilePreviewComponent, SvgBundleComponent
4843
4874
  ],
@@ -4951,6 +4982,7 @@
4951
4982
  exports.ProgressTocComponent = ProgressTocComponent;
4952
4983
  exports.QuestionAngular = QuestionAngular;
4953
4984
  exports.QuestionComponent = QuestionComponent;
4985
+ exports.QuestionErrorComponent = QuestionErrorComponent;
4954
4986
  exports.QuestionSkeletonComponent = QuestionSkeletonComponent;
4955
4987
  exports.RadiogroupComponent = RadiogroupComponent;
4956
4988
  exports.RadiogroupItemComponent = RadiogroupItemComponent;