survey-angular-ui 1.9.79 → 1.9.80

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/README.md CHANGED
@@ -14,7 +14,17 @@
14
14
 
15
15
  A free and open-source MIT-licensed JavaScript form builder library that allows you to design dynamic, data-driven, multi-language survey forms and run them in your Angular applications.
16
16
 
17
- > **NOTE**: This package requires Angular v13.0.0 or newer. With earlier Angular versions, you can use an [obsolete Knockout-dependent SurveyJS Angular Form Library version](https://www.npmjs.com/package/survey-angular).
17
+ > **NOTE**: SurveyJS for Angular requires Angular v12.0.0 or newer and depends on the `@angular/cdk` package. If your project does not include it yet, run the following command:
18
+ >
19
+ > ```cmd
20
+ > npm install @angular/cdk@^12.0.0 --save
21
+ > ```
22
+ >
23
+ > Earlier Angular versions are supported by the [`survey-angular`](https://www.npmjs.com/package/survey-angular) package. It depends on Knockout and is now obsolete. However, you can use it in your Angular v8–v11 projects. Refer to the following examples on GitHub for more information:
24
+ >
25
+ > - [Add SurveyJS Form Library to an Angular v8–v11 Application](https://github.com/surveyjs/code-examples/tree/main/legacy-angular/form-library)
26
+ > - [Add Survey Creator to an Angular v8–v11 Application](https://github.com/surveyjs/code-examples/tree/main/legacy-angular/survey-creator).
27
+
18
28
 
19
29
  ## Features
20
30
 
package/angular-ui.d.ts CHANGED
@@ -50,6 +50,7 @@ export * from "./components/list/list.component";
50
50
  export * from "./components/list/list-item.component";
51
51
  export * from "./components/rating/rating-item.component";
52
52
  export * from "./components/rating/rating-item-star.component";
53
+ export * from "./components/rating/rating-item-smiley.component";
53
54
  export * from "./row.component";
54
55
  export * from "./components/renderAs/rating-dropdown/rating-dropdown.component";
55
56
  export * from "./components/renderAs/boolean-checkbox/boolean-checkbox.component";
@@ -34,80 +34,81 @@ import * as i32 from "./components/list/list.component";
34
34
  import * as i33 from "./components/list/list-item.component";
35
35
  import * as i34 from "./components/rating/rating-item.component";
36
36
  import * as i35 from "./components/rating/rating-item-star.component";
37
- import * as i36 from "./components/tagbox/tagbox-filter.component";
38
- import * as i37 from "./components/tagbox/tagbox.component";
39
- import * as i38 from "./questions/tagbox.component";
40
- import * as i39 from "./components/tagbox/tagbox-item.component";
41
- import * as i40 from "./components/action-bar/action-bar.component";
42
- import * as i41 from "./components/action-bar/action.component";
43
- import * as i42 from "./components/action-bar/action-bar-item.component";
44
- import * as i43 from "./components/action-bar/action-bar-item-dropdown.component";
45
- import * as i44 from "./questions/html.component";
46
- import * as i45 from "./questions/selectbase-item";
47
- import * as i46 from "./questions/selectbase.component";
48
- import * as i47 from "./comment.component";
49
- import * as i48 from "./comment-other.component";
50
- import * as i49 from "./components/element-header/element-header.component";
51
- import * as i50 from "./components/element-title/title-actions.component";
52
- import * as i51 from "./components/element-title/element-title.component";
53
- import * as i52 from "./components/element-title/dynamic-head.component";
54
- import * as i53 from "./row.component";
55
- import * as i54 from "./questions/rating.component";
56
- import * as i55 from "./components/renderAs/rating-dropdown/rating-dropdown.component";
57
- import * as i56 from "./questions/boolean.component";
58
- import * as i57 from "./components/renderAs/boolean-checkbox/boolean-checkbox.component";
59
- import * as i58 from "./components/renderAs/boolean-radio/boolean-radio.component";
60
- import * as i59 from "./components/renderAs/boolean-radio/boolean-radio-item.component";
61
- import * as i60 from "./questions/imagepicker-item.component";
62
- import * as i61 from "./questions/imagepicker.component";
63
- import * as i62 from "./questions/image.component";
64
- import * as i63 from "./components/survey-header/survey-header.component";
65
- import * as i64 from "./components/progress/default/progress.component";
66
- import * as i65 from "./components/progress/buttons/progress.component";
67
- import * as i66 from "./components/progress/toc/progress.component";
68
- import * as i67 from "./components/survey-actions/survey-nav-btn.component";
69
- import * as i68 from "./questions/matrix.component";
70
- import * as i69 from "./components/svg-icon/svg-icon.component";
71
- import * as i70 from "./questions/file.component";
72
- import * as i71 from "./utils/safe-url.pipe";
73
- import * as i72 from "./utils/safe-html.pipe";
74
- import * as i73 from "./questions/comment.component";
75
- import * as i74 from "./questions/signature.component";
76
- import * as i75 from "./errors.component";
77
- import * as i76 from "./questions/multipletext.component";
78
- import * as i77 from "./questions/multipletextitem.component";
79
- import * as i78 from "./utils/dynamic.directive";
80
- import * as i79 from "./questions/ranking.component";
81
- import * as i80 from "./questions/ranking-item.component";
82
- import * as i81 from "./questions/paneldynamic.component";
83
- import * as i82 from "./embedded-view-content.component";
84
- import * as i83 from "./questions/customwidget.component";
85
- import * as i84 from "./questions/matrixcell.component";
86
- import * as i85 from "./questions/matrixtable.component";
87
- import * as i86 from "./questions/matrixdropdown.component";
88
- import * as i87 from "./questions/matrixdynamic.component";
89
- import * as i88 from "./components/matrix-actions/detail-button/detail-button.component";
90
- import * as i89 from "./components/matrix-actions/remove-button/remove-button.component";
91
- import * as i90 from "./components/matrix-actions/drag-drop-icon/drag-drop-icon";
92
- import * as i91 from "./questions/matrixrequiredheader.component";
93
- import * as i92 from "./questions/expression.component";
94
- import * as i93 from "./components/brand-info/brand-info.component";
95
- import * as i94 from "./questions/custom.component";
96
- import * as i95 from "./questions/composite.component";
97
- import * as i96 from "./questions/button-group/button-group-item.component";
98
- import * as i97 from "./questions/button-group/button-group.component";
99
- import * as i98 from "./questions/matrix-row.component";
100
- import * as i99 from "./components/popup/modal-container.component";
101
- import * as i100 from "./components/survey-header/logo-image.component";
102
- import * as i101 from "./components/skeleton/skeleton.component";
103
- import * as i102 from "./components/timer-panel/timer-panel.component";
104
- import * as i103 from "./components/paneldynamic-actions/paneldynamic-remove-btn.component";
105
- import * as i104 from "./components/notifier/notifier.component";
106
- import * as i105 from "./components-container.component";
107
- import * as i106 from "@angular/common";
108
- import * as i107 from "@angular/forms";
37
+ import * as i36 from "./components/rating/rating-item-smiley.component";
38
+ import * as i37 from "./components/tagbox/tagbox-filter.component";
39
+ import * as i38 from "./components/tagbox/tagbox.component";
40
+ import * as i39 from "./questions/tagbox.component";
41
+ import * as i40 from "./components/tagbox/tagbox-item.component";
42
+ import * as i41 from "./components/action-bar/action-bar.component";
43
+ import * as i42 from "./components/action-bar/action.component";
44
+ import * as i43 from "./components/action-bar/action-bar-item.component";
45
+ import * as i44 from "./components/action-bar/action-bar-item-dropdown.component";
46
+ import * as i45 from "./questions/html.component";
47
+ import * as i46 from "./questions/selectbase-item";
48
+ import * as i47 from "./questions/selectbase.component";
49
+ import * as i48 from "./comment.component";
50
+ import * as i49 from "./comment-other.component";
51
+ import * as i50 from "./components/element-header/element-header.component";
52
+ import * as i51 from "./components/element-title/title-actions.component";
53
+ import * as i52 from "./components/element-title/element-title.component";
54
+ import * as i53 from "./components/element-title/dynamic-head.component";
55
+ import * as i54 from "./row.component";
56
+ import * as i55 from "./questions/rating.component";
57
+ import * as i56 from "./components/renderAs/rating-dropdown/rating-dropdown.component";
58
+ import * as i57 from "./questions/boolean.component";
59
+ import * as i58 from "./components/renderAs/boolean-checkbox/boolean-checkbox.component";
60
+ import * as i59 from "./components/renderAs/boolean-radio/boolean-radio.component";
61
+ import * as i60 from "./components/renderAs/boolean-radio/boolean-radio-item.component";
62
+ import * as i61 from "./questions/imagepicker-item.component";
63
+ import * as i62 from "./questions/imagepicker.component";
64
+ import * as i63 from "./questions/image.component";
65
+ import * as i64 from "./components/survey-header/survey-header.component";
66
+ import * as i65 from "./components/progress/default/progress.component";
67
+ import * as i66 from "./components/progress/buttons/progress.component";
68
+ import * as i67 from "./components/progress/toc/progress.component";
69
+ import * as i68 from "./components/survey-actions/survey-nav-btn.component";
70
+ import * as i69 from "./questions/matrix.component";
71
+ import * as i70 from "./components/svg-icon/svg-icon.component";
72
+ import * as i71 from "./questions/file.component";
73
+ import * as i72 from "./utils/safe-url.pipe";
74
+ import * as i73 from "./utils/safe-html.pipe";
75
+ import * as i74 from "./questions/comment.component";
76
+ import * as i75 from "./questions/signature.component";
77
+ import * as i76 from "./errors.component";
78
+ import * as i77 from "./questions/multipletext.component";
79
+ import * as i78 from "./questions/multipletextitem.component";
80
+ import * as i79 from "./utils/dynamic.directive";
81
+ import * as i80 from "./questions/ranking.component";
82
+ import * as i81 from "./questions/ranking-item.component";
83
+ import * as i82 from "./questions/paneldynamic.component";
84
+ import * as i83 from "./embedded-view-content.component";
85
+ import * as i84 from "./questions/customwidget.component";
86
+ import * as i85 from "./questions/matrixcell.component";
87
+ import * as i86 from "./questions/matrixtable.component";
88
+ import * as i87 from "./questions/matrixdropdown.component";
89
+ import * as i88 from "./questions/matrixdynamic.component";
90
+ import * as i89 from "./components/matrix-actions/detail-button/detail-button.component";
91
+ import * as i90 from "./components/matrix-actions/remove-button/remove-button.component";
92
+ import * as i91 from "./components/matrix-actions/drag-drop-icon/drag-drop-icon";
93
+ import * as i92 from "./questions/matrixrequiredheader.component";
94
+ import * as i93 from "./questions/expression.component";
95
+ import * as i94 from "./components/brand-info/brand-info.component";
96
+ import * as i95 from "./questions/custom.component";
97
+ import * as i96 from "./questions/composite.component";
98
+ import * as i97 from "./questions/button-group/button-group-item.component";
99
+ import * as i98 from "./questions/button-group/button-group.component";
100
+ import * as i99 from "./questions/matrix-row.component";
101
+ import * as i100 from "./components/popup/modal-container.component";
102
+ import * as i101 from "./components/survey-header/logo-image.component";
103
+ import * as i102 from "./components/skeleton/skeleton.component";
104
+ import * as i103 from "./components/timer-panel/timer-panel.component";
105
+ import * as i104 from "./components/paneldynamic-actions/paneldynamic-remove-btn.component";
106
+ import * as i105 from "./components/notifier/notifier.component";
107
+ import * as i106 from "./components-container.component";
108
+ import * as i107 from "@angular/common";
109
+ import * as i108 from "@angular/forms";
109
110
  export declare class SurveyModule {
110
111
  static ɵfac: i0.ɵɵFactoryDeclaration<SurveyModule, never>;
111
- 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.TagboxFilterComponent, typeof i37.TagboxComponent, typeof i38.TagboxQuestionComponent, typeof i39.TagboxItemComponent, typeof i40.ActionBarComponent, typeof i41.ActionComponent, typeof i42.ActionBarItemComponent, typeof i43.ActionBarItemDropdownComponent, typeof i44.HtmlQuestionComponent, typeof i45.SelectBaseItemComponent, typeof i46.SelectBaseComponent, typeof i47.SurveyCommentComponent, typeof i48.SurveyCommentOtherComponent, typeof i49.ElementHeaderComponent, typeof i50.ElementTitleActionsComponent, typeof i51.ElementTitleComponent, typeof i52.DynamicHeadComponent, typeof i53.RowComponent, typeof i54.RatingQuestionComponent, typeof i55.RatingDropdownComponent, typeof i56.BooleanQuestionComponent, typeof i57.BooleanCheckboxComponent, typeof i58.BooleanRadioComponent, typeof i59.BooleanRadioItemComponent, typeof i60.ImagePickerItemComponent, typeof i61.ImagePickerQuestionComponent, typeof i62.ImageQuestionComponent, typeof i63.SurveyHeaderComponent, typeof i64.ProgressDefaultComponent, typeof i65.ProgressButtonsComponent, typeof i66.ProgressTocComponent, typeof i67.SurveyNavigationButton, typeof i68.MatrixQuestionComponent, typeof i69.SvgIconComponent, typeof i70.FileQuestionComponent, typeof i71.SafeUrlPipe, typeof i72.SafeHtmlPipe, typeof i73.CommentQuestionComponent, typeof i74.SignaturePadQuestionComponent, typeof i75.ErrorsComponent, typeof i76.MultipleTextComponent, typeof i77.MultipleTextItemComponent, typeof i78.DynamicComponentDirective, typeof i79.RankingQuestionComponent, typeof i80.RankingItemComponent, typeof i81.PanelDynamicQuestionComponent, typeof i82.EmbeddedViewContentComponent, typeof i83.CustomWidgetComponent, typeof i84.MatrixCellComponent, typeof i85.MatrixTableComponent, typeof i86.MatrixDropdownComponent, typeof i87.MatrixDynamicComponent, typeof i88.MatrixDetailButtonComponent, typeof i89.MatrixDynamicRemoveButtonComponent, typeof i90.MatrixDynamicDragDropIconComponent, typeof i91.MatrixRequiredHeader, typeof i92.ExpressionComponent, typeof i71.SafeResourceUrlPipe, typeof i93.BrandInfoComponent, typeof i94.CustomQuestionComponent, typeof i95.CompositeQuestionComponent, typeof i96.ButtonGroupItemComponent, typeof i97.ButtonGroupQuestionComponent, typeof i98.MatrixRowComponent, typeof i99.ModalComponent, typeof i100.LogoImageComponent, typeof i101.SkeletonComponent, typeof i102.TimerPanelComponent, typeof i103.PaneldynamicRemoveButtonComponent, typeof i104.NotifierComponent, typeof i105.ComponentsContainerComponent], [typeof i106.CommonModule, typeof i107.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.TagboxFilterComponent, typeof i37.TagboxComponent, typeof i38.TagboxQuestionComponent, typeof i39.TagboxItemComponent, typeof i40.ActionBarComponent, typeof i41.ActionComponent, typeof i42.ActionBarItemComponent, typeof i43.ActionBarItemDropdownComponent, typeof i44.HtmlQuestionComponent, typeof i45.SelectBaseItemComponent, typeof i46.SelectBaseComponent, typeof i47.SurveyCommentComponent, typeof i48.SurveyCommentOtherComponent, typeof i49.ElementHeaderComponent, typeof i51.ElementTitleComponent, typeof i52.DynamicHeadComponent, typeof i53.RowComponent, typeof i54.RatingQuestionComponent, typeof i55.RatingDropdownComponent, typeof i56.BooleanQuestionComponent, typeof i57.BooleanCheckboxComponent, typeof i58.BooleanRadioComponent, typeof i59.BooleanRadioItemComponent, typeof i60.ImagePickerItemComponent, typeof i61.ImagePickerQuestionComponent, typeof i62.ImageQuestionComponent, typeof i63.SurveyHeaderComponent, typeof i64.ProgressDefaultComponent, typeof i65.ProgressButtonsComponent, typeof i67.SurveyNavigationButton, typeof i68.MatrixQuestionComponent, typeof i69.SvgIconComponent, typeof i70.FileQuestionComponent, typeof i71.SafeUrlPipe, typeof i72.SafeHtmlPipe, typeof i73.CommentQuestionComponent, typeof i74.SignaturePadQuestionComponent, typeof i75.ErrorsComponent, typeof i76.MultipleTextComponent, typeof i77.MultipleTextItemComponent, typeof i78.DynamicComponentDirective, typeof i79.RankingQuestionComponent, typeof i80.RankingItemComponent, typeof i81.PanelDynamicQuestionComponent, typeof i82.EmbeddedViewContentComponent, typeof i83.CustomWidgetComponent, typeof i84.MatrixCellComponent, typeof i85.MatrixTableComponent, typeof i86.MatrixDropdownComponent, typeof i87.MatrixDynamicComponent, typeof i88.MatrixDetailButtonComponent, typeof i89.MatrixDynamicRemoveButtonComponent, typeof i90.MatrixDynamicDragDropIconComponent, typeof i91.MatrixRequiredHeader, typeof i92.ExpressionComponent, typeof i71.SafeResourceUrlPipe, typeof i94.CustomQuestionComponent, typeof i95.CompositeQuestionComponent, typeof i97.ButtonGroupQuestionComponent, typeof i99.ModalComponent, typeof i100.LogoImageComponent, typeof i101.SkeletonComponent, typeof i102.TimerPanelComponent, typeof i103.PaneldynamicRemoveButtonComponent, typeof i104.NotifierComponent, typeof i105.ComponentsContainerComponent]>;
112
+ 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.RatingDropdownComponent, typeof i57.BooleanQuestionComponent, typeof i58.BooleanCheckboxComponent, typeof i59.BooleanRadioComponent, typeof i60.BooleanRadioItemComponent, typeof i61.ImagePickerItemComponent, typeof i62.ImagePickerQuestionComponent, typeof i63.ImageQuestionComponent, typeof i64.SurveyHeaderComponent, typeof i65.ProgressDefaultComponent, typeof i66.ProgressButtonsComponent, typeof i67.ProgressTocComponent, typeof i68.SurveyNavigationButton, typeof i69.MatrixQuestionComponent, typeof i70.SvgIconComponent, typeof i71.FileQuestionComponent, typeof i72.SafeUrlPipe, typeof i73.SafeHtmlPipe, typeof i74.CommentQuestionComponent, typeof i75.SignaturePadQuestionComponent, typeof i76.ErrorsComponent, typeof i77.MultipleTextComponent, typeof i78.MultipleTextItemComponent, typeof i79.DynamicComponentDirective, typeof i80.RankingQuestionComponent, typeof i81.RankingItemComponent, typeof i82.PanelDynamicQuestionComponent, typeof i83.EmbeddedViewContentComponent, typeof i84.CustomWidgetComponent, typeof i85.MatrixCellComponent, typeof i86.MatrixTableComponent, typeof i87.MatrixDropdownComponent, typeof i88.MatrixDynamicComponent, typeof i89.MatrixDetailButtonComponent, typeof i90.MatrixDynamicRemoveButtonComponent, typeof i91.MatrixDynamicDragDropIconComponent, typeof i92.MatrixRequiredHeader, typeof i93.ExpressionComponent, typeof i72.SafeResourceUrlPipe, typeof i94.BrandInfoComponent, typeof i95.CustomQuestionComponent, typeof i96.CompositeQuestionComponent, typeof i97.ButtonGroupItemComponent, typeof i98.ButtonGroupQuestionComponent, typeof i99.MatrixRowComponent, typeof i100.ModalComponent, typeof i101.LogoImageComponent, typeof i102.SkeletonComponent, typeof i103.TimerPanelComponent, typeof i104.PaneldynamicRemoveButtonComponent, typeof i105.NotifierComponent, typeof i106.ComponentsContainerComponent], [typeof i107.CommonModule, typeof i108.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.RatingDropdownComponent, typeof i57.BooleanQuestionComponent, typeof i58.BooleanCheckboxComponent, typeof i59.BooleanRadioComponent, typeof i60.BooleanRadioItemComponent, typeof i61.ImagePickerItemComponent, typeof i62.ImagePickerQuestionComponent, typeof i63.ImageQuestionComponent, typeof i64.SurveyHeaderComponent, typeof i65.ProgressDefaultComponent, typeof i66.ProgressButtonsComponent, typeof i68.SurveyNavigationButton, typeof i69.MatrixQuestionComponent, typeof i70.SvgIconComponent, typeof i71.FileQuestionComponent, typeof i72.SafeUrlPipe, typeof i73.SafeHtmlPipe, typeof i74.CommentQuestionComponent, typeof i75.SignaturePadQuestionComponent, typeof i76.ErrorsComponent, typeof i77.MultipleTextComponent, typeof i78.MultipleTextItemComponent, typeof i79.DynamicComponentDirective, typeof i80.RankingQuestionComponent, typeof i81.RankingItemComponent, typeof i82.PanelDynamicQuestionComponent, typeof i83.EmbeddedViewContentComponent, typeof i84.CustomWidgetComponent, typeof i85.MatrixCellComponent, typeof i86.MatrixTableComponent, typeof i87.MatrixDropdownComponent, typeof i88.MatrixDynamicComponent, typeof i89.MatrixDetailButtonComponent, typeof i90.MatrixDynamicRemoveButtonComponent, typeof i91.MatrixDynamicDragDropIconComponent, typeof i92.MatrixRequiredHeader, typeof i93.ExpressionComponent, typeof i72.SafeResourceUrlPipe, typeof i95.CustomQuestionComponent, typeof i96.CompositeQuestionComponent, typeof i98.ButtonGroupQuestionComponent, typeof i100.ModalComponent, typeof i101.LogoImageComponent, typeof i102.SkeletonComponent, typeof i103.TimerPanelComponent, typeof i104.PaneldynamicRemoveButtonComponent, typeof i105.NotifierComponent, typeof i106.ComponentsContainerComponent]>;
112
113
  static ɵinj: i0.ɵɵInjectorDeclaration<SurveyModule>;
113
114
  }
@@ -1262,7 +1262,7 @@
1262
1262
  return SurveyContentComponent;
1263
1263
  }(BaseAngular));
1264
1264
  SurveyContentComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SurveyContentComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
1265
- SurveyContentComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: SurveyContentComponent, selector: "survey-content", inputs: { model: "model" }, viewQueries: [{ propertyName: "rootEl", first: true, predicate: ["surveyContainer"], descendants: true }], usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <div #surveyContainer *ngIf=\"!!model\" [class]=\"model.getRootCss()\">\n <form onsubmit=\"return false;\">\n <div class=\"sv_custom_header\" [hidden]=\"model.hasLogo\"></div>\n <div [class]=\"model.css.container\">\n <div *ngIf=\"model.renderedHasHeader\" [class]=\"model.css.header\" [survey]=\"model\" sv-ng-survey-header></div>\n <ng-template [component]=\"{ name: 'sv-components-container', data: { survey: model, container: 'header', needRenderWrapper: false } }\"></ng-template>\n <div [class]=\"model.bodyContainerCss\">\n <ng-template [component]=\"{ name: 'sv-components-container', data: { survey: model, container: 'left' } }\"></ng-template>\n <div *ngIf=\"model.isShowingPage\" [class]=\"model.bodyCss\" [style.maxWidth]=\"model.renderedWidth\" [id]=\"model.activePage ? model.activePage.id : ''\">\n <ng-template [component]=\"{ name: 'sv-components-container', data: { survey: model, container: 'contentTop' } }\"></ng-template>\n <!-- ko if: activePage -->\n <ng-container *ngIf=\"model.activePage\">\n <sv-ng-page [model]=\"model.activePage\" [survey]=\"model\"></sv-ng-page>\n </ng-container>\n <!-- ko if: activePage.rows.length == 0 && $data.emptyPageTemplate -->\n <!-- ko template: { name: emptyPageTemplate, data: $data.emptyPageTemplateData || $data } -->\n <!-- /ko -->\n <!-- /ko -->\n <!-- /ko -->\n <ng-template [component]=\"{ name: 'sv-components-container', data: { survey: model, container: 'contentBottom' } }\"></ng-template>\n </div>\n <ng-template [component]=\"{ name: 'sv-components-container', data: { survey: model, container: 'right' } }\"></ng-template>\n </div>\n <ng-template [component]=\"{ name: 'sv-components-container', data: { survey: model, container: 'footer', needRenderWrapper: false } }\"></ng-template>\n <div *ngIf=\"model.state === 'completed' && model.showCompletedPage\" [class]=\"model.completedCss\"\n [innerHtml]=\"model.processedCompletedHtml\"></div>\n <div *ngIf=\"model.state === 'completedbefore'\" [class]=\"model.css.body\"\n [innerHtml]=\"model.processedCompletedBeforeHtml\"></div>\n <div *ngIf=\"model.state === 'loading'\" [class]=\"model.css.body\" [innerHtml]=\"model.processedLoadingHtml\"></div>\n <div *ngIf=\"model.state === 'empty'\" [class]=\"model.css.bodyEmpty\">{{model.emptySurveyText}}</div>\n </div>\n </form>\n <sv-brand-info *ngIf=\"model.showBrandInfo\"></sv-brand-info>\n <sv-notifier [notifier]=\"model.notifier\"></sv-notifier>\n </div>\n</ng-template>", components: [{ type: SurveyHeaderComponent, selector: "'[sv-ng-survey-header]'", inputs: ["survey"] }, { type: PageComponent, selector: "page, sv-ng-page", inputs: ["model", "survey"] }, { type: BrandInfoComponent, selector: "sv-brand-info" }, { type: NotifierComponent, selector: "sv-notifier", inputs: ["notifier"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3__namespace.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i3__namespace.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i3__namespace.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
1265
+ SurveyContentComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: SurveyContentComponent, selector: "survey-content", inputs: { model: "model" }, viewQueries: [{ propertyName: "rootEl", first: true, predicate: ["surveyContainer"], descendants: true }], usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <div #surveyContainer *ngIf=\"!!model\" [class]=\"model.getRootCss()\">\n <form onsubmit=\"return false;\">\n <div class=\"sv_custom_header\" [hidden]=\"model.hasLogo\"></div>\n <div [class]=\"model.css.container\">\n <div *ngIf=\"model.renderedHasHeader\" [class]=\"model.css.header\" [survey]=\"model\" sv-ng-survey-header></div>\n <ng-template [component]=\"{ name: 'sv-components-container', data: { survey: model, container: 'header', needRenderWrapper: false } }\"></ng-template>\n <div *ngIf=\"model.isShowingPage\" [class]=\"model.bodyContainerCss\">\n <ng-template [component]=\"{ name: 'sv-components-container', data: { survey: model, container: 'left' } }\"></ng-template>\n <div [class]=\"model.bodyCss\" [style.maxWidth]=\"model.renderedWidth\" [id]=\"model.activePage ? model.activePage.id : ''\">\n <ng-template [component]=\"{ name: 'sv-components-container', data: { survey: model, container: 'contentTop' } }\"></ng-template>\n <!-- ko if: activePage -->\n <ng-container *ngIf=\"model.activePage\">\n <sv-ng-page [model]=\"model.activePage\" [survey]=\"model\"></sv-ng-page>\n </ng-container>\n <!-- ko if: activePage.rows.length == 0 && $data.emptyPageTemplate -->\n <!-- ko template: { name: emptyPageTemplate, data: $data.emptyPageTemplateData || $data } -->\n <!-- /ko -->\n <!-- /ko -->\n <!-- /ko -->\n <ng-template [component]=\"{ name: 'sv-components-container', data: { survey: model, container: 'contentBottom' } }\"></ng-template>\n </div>\n <ng-template [component]=\"{ name: 'sv-components-container', data: { survey: model, container: 'right' } }\"></ng-template>\n </div>\n <ng-template [component]=\"{ name: 'sv-components-container', data: { survey: model, container: 'footer', needRenderWrapper: false } }\"></ng-template>\n <div *ngIf=\"model.state === 'completed' && model.showCompletedPage\" [class]=\"model.completedCss\"\n [innerHtml]=\"model.processedCompletedHtml\"></div>\n <div *ngIf=\"model.state === 'completedbefore'\" [class]=\"model.css.body\"\n [innerHtml]=\"model.processedCompletedBeforeHtml\"></div>\n <div *ngIf=\"model.state === 'loading'\" [class]=\"model.css.body\" [innerHtml]=\"model.processedLoadingHtml\"></div>\n <div *ngIf=\"model.state === 'empty'\" [class]=\"model.css.bodyEmpty\">{{model.emptySurveyText}}</div>\n </div>\n </form>\n <sv-brand-info *ngIf=\"model.showBrandInfo\"></sv-brand-info>\n <sv-notifier [notifier]=\"model.notifier\"></sv-notifier>\n </div>\n</ng-template>", components: [{ type: SurveyHeaderComponent, selector: "'[sv-ng-survey-header]'", inputs: ["survey"] }, { type: PageComponent, selector: "page, sv-ng-page", inputs: ["model", "survey"] }, { type: BrandInfoComponent, selector: "sv-brand-info" }, { type: NotifierComponent, selector: "sv-notifier", inputs: ["notifier"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3__namespace.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i3__namespace.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i3__namespace.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
1266
1266
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SurveyContentComponent, decorators: [{
1267
1267
  type: i0.Component,
1268
1268
  args: [{
@@ -1811,7 +1811,7 @@
1811
1811
  return DropdownComponent;
1812
1812
  }(BaseAngular));
1813
1813
  DropdownComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DropdownComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
1814
- DropdownComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DropdownComponent, selector: "sv-ng-dropdown, '[sv-ng-dropdown]'", inputs: { model: "model" }, viewQueries: [{ propertyName: "inputElementRef", first: true, predicate: ["inputElement"], descendants: true }], usesInheritance: true, ngImport: i0__namespace, template: "<div [class]=\"model.cssClasses.selectWrapper\">\n <div *ngIf=\"!model.isReadOnly\" [attr.tabindex]=\"dropdownModel.inputReadOnly ? null : 0\" [class]=\"model.getControlClass()\"\n [attr.disabled]=\"model.isInputReadOnly ? true : null\" (click)=\"click($event)\" (blur)=\"blur($event)\"\n (keydown)=\"keyhandler($event)\" [attr.id]=\"model.inputId\" [attr.aria-required]=\"model.ariaRequired\"\n [attr.aria-label]=\"model.ariaLabel\" [attr.aria-invalid]=\"model.ariaInvalid\"\n [attr.aria-describedby]=\"model.ariaDescribedBy\" [attr.role]=\"model.ariaRole\">\n <div *ngIf=\"dropdownModel.showHintPrefix\" [class]=\"model.cssClasses.hintPrefix\">\n <span>{{ dropdownModel.hintStringPrefix }}</span>\n </div>\n <div [class]=\"model.cssClasses.controlValue\">\n <div *ngIf=\"dropdownModel.showHintString\" [class]=\"model.cssClasses.hintSuffix\">\n <span style=\"visibility: hidden\">{{ dropdownModel.inputStringRendered }}</span>\n <span>{{ dropdownModel.hintStringSuffix }}</span>\n </div>\n <ng-container *ngIf=\"dropdownModel.showInputFieldComponent\">\n <ng-template [component]=\"{ name: model.inputFieldComponentName, data: { model: dropdownModel.getSelectedAction(), question: model } }\"></ng-template>\n </ng-container>\n <sv-ng-string *ngIf=\"dropdownModel.showSelectedItemLocText\" [model]=\"model.selectedItemLocText\"></sv-ng-string>\n <input #inputElement type=\"text\" autocomplete=\"off\" [(ngModel)]=\"dropdownModel.inputStringRendered\" [class]=\"model.cssClasses.filterStringInput\"\n [attr.role]=\"dropdownModel.filterStringEnabled ? model.ariaRole : null\"\n [attr.id]=\"model.getInputId()\"\n [attr.inputmode]=\"dropdownModel.inputMode\"\n [attr.tabindex]=\"dropdownModel.inputReadOnly ? null : -1\"\n [attr.disabled]=\"model.isInputReadOnly ? true : null\"\n [attr.aria-label]=\"model.placeholder\"\n [attr.placeholder]=\"dropdownModel.placeholderRendered\" [attr.readonly]=\"!dropdownModel.searchEnabled ? true : null\" \n (change)=\"inputChange($event)\" (blur)=\"blur($event)\" (focus)=\"focus($event)\"/>\n </div>\n <div *ngIf=\"(model.allowClear && model.cssClasses.cleanButtonIconId)\"\n [class]=\"model.cssClasses.cleanButton\" (click)=\"clear($event)\" [visible]=\"!model.isEmpty()\">\n <!-- ko component: { name: 'sv-svg-icon', params: { css: model.cssClasses.cleanButtonSvg, iconName: model.cssClasses.cleanButtonIconId, size: 'auto' } } -->\n <!-- /ko -->\n <svg [iconName]=\"model.cssClasses.cleanButtonIconId\" [partCss]=\"model.cssClasses.cleanButtonSvg\" [title]=\"model.clearCaption\"\n [size]=\"'auto'\" sv-ng-svg-icon></svg>\n </div>\n </div>\n <sv-ng-popup *ngIf=\"!model.isReadOnly\" [popupModel]=\"dropdownModel.popupModel\"></sv-ng-popup>\n <div disabled *ngIf=\"model.isReadOnly\" [class]=\"model.getControlClass()\" [attr.id]=\"model.inputId\">\n <sv-ng-string *ngIf=\"model.selectedItemLocText\" [model]=\"model.selectedItemLocText\"></sv-ng-string>\n <div>{{ model.readOnlyText }}</div>\n </div>\n</div>", components: [{ type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }, { type: SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: PopupComponent, selector: "sv-ng-popup, '[sv-ng-popup]'", inputs: ["popupModel"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }, { type: i3__namespace.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: i3__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3__namespace.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: VisibleDirective, selector: "[visible]", inputs: ["visible"] }] });
1814
+ DropdownComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DropdownComponent, selector: "sv-ng-dropdown, '[sv-ng-dropdown]'", inputs: { model: "model" }, viewQueries: [{ propertyName: "inputElementRef", first: true, predicate: ["inputElement"], descendants: true }], usesInheritance: true, ngImport: i0__namespace, template: "<div [class]=\"model.cssClasses.selectWrapper\">\n <div *ngIf=\"!model.isReadOnly\" [attr.tabindex]=\"dropdownModel.inputReadOnly ? null : 0\" [class]=\"model.getControlClass()\"\n [attr.disabled]=\"model.isInputReadOnly ? true : null\" (click)=\"click($event)\" (blur)=\"blur($event)\"\n (keydown)=\"keyhandler($event)\" [attr.id]=\"model.inputId\" [attr.aria-required]=\"model.ariaRequired\"\n [attr.aria-label]=\"model.ariaLabel\" [attr.aria-invalid]=\"model.ariaInvalid\"\n [attr.aria-describedby]=\"model.ariaDescribedBy\" [attr.role]=\"model.ariaRole\"\n [attr.aria-controls]=\"dropdownModel.listElementId\"\n [attr.aria-expanded]=\"model.ariaExpanded ? 'true' : 'false'\"\n [attr.aria-activedescendant]=\"dropdownModel.ariaActivedescendant\">\n <div *ngIf=\"dropdownModel.showHintPrefix\" [class]=\"model.cssClasses.hintPrefix\">\n <span>{{ dropdownModel.hintStringPrefix }}</span>\n </div>\n <div [class]=\"model.cssClasses.controlValue\">\n <div *ngIf=\"dropdownModel.showHintString\" [class]=\"model.cssClasses.hintSuffix\">\n <span style=\"visibility: hidden\">{{ dropdownModel.inputStringRendered }}</span>\n <span>{{ dropdownModel.hintStringSuffix }}</span>\n </div>\n <ng-container *ngIf=\"dropdownModel.showInputFieldComponent\">\n <ng-template [component]=\"{ name: model.inputFieldComponentName, data: { model: dropdownModel.getSelectedAction(), question: model } }\"></ng-template>\n </ng-container>\n <sv-ng-string *ngIf=\"dropdownModel.showSelectedItemLocText\" [model]=\"model.selectedItemLocText\"></sv-ng-string>\n <input #inputElement type=\"text\" autocomplete=\"off\" [(ngModel)]=\"dropdownModel.inputStringRendered\" [class]=\"model.cssClasses.filterStringInput\"\n [attr.role]=\"dropdownModel.filterStringEnabled ? model.ariaRole : null\"\n [attr.id]=\"model.getInputId()\"\n [attr.inputmode]=\"dropdownModel.inputMode\"\n [attr.tabindex]=\"dropdownModel.inputReadOnly ? null : -1\"\n [attr.disabled]=\"model.isInputReadOnly ? true : null\"\n [attr.aria-label]=\"model.placeholder\"\n [attr.aria-controls]=\"dropdownModel.listElementId\"\n [attr.aria-expanded]=\"model.ariaExpanded ? 'true' : 'false'\"\n [attr.aria-activedescendant]=\"dropdownModel.ariaActivedescendant\"\n [attr.placeholder]=\"dropdownModel.placeholderRendered\" [attr.readonly]=\"!dropdownModel.searchEnabled ? true : null\" \n (change)=\"inputChange($event)\" (blur)=\"blur($event)\" (focus)=\"focus($event)\"/>\n </div>\n <div *ngIf=\"(model.allowClear && model.cssClasses.cleanButtonIconId)\"\n [class]=\"model.cssClasses.cleanButton\" (click)=\"clear($event)\" [visible]=\"!model.isEmpty()\">\n <!-- ko component: { name: 'sv-svg-icon', params: { css: model.cssClasses.cleanButtonSvg, iconName: model.cssClasses.cleanButtonIconId, size: 'auto' } } -->\n <!-- /ko -->\n <svg [iconName]=\"model.cssClasses.cleanButtonIconId\" [partCss]=\"model.cssClasses.cleanButtonSvg\" [title]=\"model.clearCaption\"\n [size]=\"'auto'\" sv-ng-svg-icon></svg>\n </div>\n </div>\n <sv-ng-popup *ngIf=\"!model.isReadOnly\" [popupModel]=\"dropdownModel.popupModel\"></sv-ng-popup>\n <div disabled *ngIf=\"model.isReadOnly\" [class]=\"model.getControlClass()\" [attr.id]=\"model.inputId\">\n <sv-ng-string *ngIf=\"model.selectedItemLocText\" [model]=\"model.selectedItemLocText\"></sv-ng-string>\n <div>{{ model.readOnlyText }}</div>\n </div>\n</div>", components: [{ type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }, { type: SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: PopupComponent, selector: "sv-ng-popup, '[sv-ng-popup]'", inputs: ["popupModel"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }, { type: i3__namespace.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: i3__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3__namespace.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: VisibleDirective, selector: "[visible]", inputs: ["visible"] }] });
1815
1815
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DropdownComponent, decorators: [{
1816
1816
  type: i0.Component,
1817
1817
  args: [{
@@ -1836,7 +1836,7 @@
1836
1836
  return TagboxFilterComponent;
1837
1837
  }(BaseAngular));
1838
1838
  TagboxFilterComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TagboxFilterComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
1839
- TagboxFilterComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TagboxFilterComponent, selector: "sv-tagbox-filter", inputs: { model: "model", question: "question" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <input\n type=\"text\"\n autocomplete=\"off\"\n [(ngModel)]=\"model.inputStringRendered\"\n [attr.id]=\"question.getInputId()\"\n [class]=\"question.cssClasses.filterStringInput\"\n [attr.inputmode]=\"model.inputMode\"\n [attr.role]=\"model.filterStringEnabled ? question.ariaRole : null\"\n [attr.readonly]=\"!model.searchEnabled ? true : null\"\n [attr.disabled]=\"question.isInputReadOnly ? true : null\"\n [attr.size]=\"!model.inputStringRendered ? 1 : null\"\n [attr.aria-label]=\"question.placeholder\"\n [attr.placeholder]=\"model.filterStringPlaceholder\"\n (keydown)=\"model.inputKeyHandler($event)\"\n (blur)=\"model.onBlur($event)\"\n (focus)=\"model.onFocus($event)\"\n />\n</ng-template>\n", styles: [":host{display:none}\n"], directives: [{ type: i3__namespace.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: i3__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3__namespace.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
1839
+ TagboxFilterComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TagboxFilterComponent, selector: "sv-tagbox-filter", inputs: { model: "model", question: "question" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <input\n type=\"text\"\n autocomplete=\"off\"\n [(ngModel)]=\"model.inputStringRendered\"\n [attr.id]=\"question.getInputId()\"\n [class]=\"question.cssClasses.filterStringInput\"\n [attr.inputmode]=\"model.inputMode\"\n [attr.role]=\"model.filterStringEnabled ? question.ariaRole : null\"\n [attr.readonly]=\"!model.searchEnabled ? true : null\"\n [attr.disabled]=\"question.isInputReadOnly ? true : null\"\n [attr.size]=\"!model.inputStringRendered ? 1 : null\"\n [attr.aria-label]=\"question.placeholder\"\n [attr.aria-controls]=\"model.listElementId\"\n [attr.aria-expanded]=\"question.ariaExpanded ? 'true' : 'false'\"\n [attr.aria-activedescendant]=\"model.ariaActivedescendant\"\n [attr.placeholder]=\"model.filterStringPlaceholder\"\n (keydown)=\"model.inputKeyHandler($event)\"\n (blur)=\"model.onBlur($event)\"\n (focus)=\"model.onFocus($event)\"\n />\n</ng-template>\n", styles: [":host{display:none}\n"], directives: [{ type: i3__namespace.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: i3__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3__namespace.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
1840
1840
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TagboxFilterComponent, decorators: [{
1841
1841
  type: i0.Component,
1842
1842
  args: [{
@@ -1919,7 +1919,7 @@
1919
1919
  return TagboxComponent;
1920
1920
  }());
1921
1921
  TagboxComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TagboxComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
1922
- TagboxComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TagboxComponent, selector: "sv-ng-tagbox, '[sv-ng-tagbox]'", inputs: { model: "model" }, ngImport: i0__namespace, template: "<div [class]=\"model.cssClasses.selectWrapper\">\n <div *ngIf=\"!model.isReadOnly\" [attr.tabindex]=\"dropdownModel.inputReadOnly ? null : 0\" [class]=\"model.getControlClass()\"\n [attr.disabled]=\"model.isInputReadOnly ? true : null\" (click)=\"click($event)\" (blur)=\"blur($event)\"\n (keydown)=\"keyhandler($event)\" [attr.id]=\"model.inputId\" [attr.aria-required]=\"model.ariaRequired\"\n [attr.aria-label]=\"model.ariaLabel\" [attr.aria-invalid]=\"model.ariaInvalid\"\n [attr.aria-describedby]=\"model.ariaDescribedBy\" [attr.role]=\"model.ariaRole\">\n <div [class]=\"model.cssClasses.controlValue\">\n <ng-container *ngIf=\"!model.isEmpty()\">\n <sv-ng-tagbox-item *ngFor=\"let item of model.selectedChoices\" [item]=\"item\" [question]=\"model\">\n </sv-ng-tagbox-item>\n </ng-container>\n <ng-template [component]=\"{ name: 'sv-tagbox-filter', data: { model: dropdownModel, question: model } }\"></ng-template>\n </div>\n <div *ngIf=\"(model.allowClear && model.cssClasses.cleanButtonIconId)\" [class]=\"model.cssClasses.cleanButton\"\n (click)=\"clear($event)\" [visible]=\"!model.isEmpty()\">\n <!-- ko component: { name: 'sv-svg-icon', params: { css: model.cssClasses.cleanButtonSvg, iconName: model.cssClasses.cleanButtonIconId, size: 'auto' } } -->\n <!-- /ko -->\n <svg [iconName]=\"model.cssClasses.cleanButtonIconId\" [partCss]=\"model.cssClasses.cleanButtonSvg\" [title]=\"model.clearCaption\"\n [size]=\"'auto'\" sv-ng-svg-icon></svg>\n </div>\n </div>\n <sv-ng-popup *ngIf=\"!model.isReadOnly\" [popupModel]=\"model.popupModel\"></sv-ng-popup>\n <div disabled *ngIf=\"model.isReadOnly\" [class]=\"model.getControlClass()\" [attr.id]=\"model.inputId\">\n <div>{{ model.readOnlyText }}</div>\n </div>\n</div>", components: [{ type: TagboxItemComponent, selector: "sv-ng-tagbox-item, '[sv-ng-tagbox-item]'", inputs: ["item", "question"] }, { type: SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: PopupComponent, selector: "sv-ng-popup, '[sv-ng-popup]'", inputs: ["popupModel"] }], 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"] }, { type: VisibleDirective, selector: "[visible]", inputs: ["visible"] }] });
1922
+ TagboxComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TagboxComponent, selector: "sv-ng-tagbox, '[sv-ng-tagbox]'", inputs: { model: "model" }, ngImport: i0__namespace, template: "<div [class]=\"model.cssClasses.selectWrapper\">\n <div *ngIf=\"!model.isReadOnly\" [attr.tabindex]=\"dropdownModel.inputReadOnly ? null : 0\" [class]=\"model.getControlClass()\"\n [attr.disabled]=\"model.isInputReadOnly ? true : null\" (click)=\"click($event)\" (blur)=\"blur($event)\"\n (keydown)=\"keyhandler($event)\" [attr.id]=\"model.inputId\" [attr.aria-required]=\"model.ariaRequired\"\n [attr.aria-label]=\"model.ariaLabel\" [attr.aria-invalid]=\"model.ariaInvalid\"\n [attr.aria-describedby]=\"model.ariaDescribedBy\" [attr.role]=\"model.ariaRole\"\n [attr.aria-controls]=\"dropdownModel.listElementId\"\n [attr.aria-expanded]=\"model.ariaExpanded ? 'true' : 'false'\"\n [attr.aria-activedescendant]=\"dropdownModel.ariaActivedescendant\">\n <div [class]=\"model.cssClasses.controlValue\">\n <ng-container *ngIf=\"!model.isEmpty()\">\n <sv-ng-tagbox-item *ngFor=\"let item of model.selectedChoices\" [item]=\"item\" [question]=\"model\">\n </sv-ng-tagbox-item>\n </ng-container>\n <ng-template [component]=\"{ name: 'sv-tagbox-filter', data: { model: dropdownModel, question: model } }\"></ng-template>\n </div>\n <div *ngIf=\"(model.allowClear && model.cssClasses.cleanButtonIconId)\" [class]=\"model.cssClasses.cleanButton\"\n (click)=\"clear($event)\" [visible]=\"!model.isEmpty()\">\n <!-- ko component: { name: 'sv-svg-icon', params: { css: model.cssClasses.cleanButtonSvg, iconName: model.cssClasses.cleanButtonIconId, size: 'auto' } } -->\n <!-- /ko -->\n <svg [iconName]=\"model.cssClasses.cleanButtonIconId\" [partCss]=\"model.cssClasses.cleanButtonSvg\" [title]=\"model.clearCaption\"\n [size]=\"'auto'\" sv-ng-svg-icon></svg>\n </div>\n </div>\n <sv-ng-popup *ngIf=\"!model.isReadOnly\" [popupModel]=\"model.popupModel\"></sv-ng-popup>\n <div disabled *ngIf=\"model.isReadOnly\" [class]=\"model.getControlClass()\" [attr.id]=\"model.inputId\">\n <div>{{ model.readOnlyText }}</div>\n </div>\n</div>", components: [{ type: TagboxItemComponent, selector: "sv-ng-tagbox-item, '[sv-ng-tagbox-item]'", inputs: ["item", "question"] }, { type: SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: PopupComponent, selector: "sv-ng-popup, '[sv-ng-popup]'", inputs: ["popupModel"] }], 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"] }, { type: VisibleDirective, selector: "[visible]", inputs: ["visible"] }] });
1923
1923
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TagboxComponent, decorators: [{
1924
1924
  type: i0.Component,
1925
1925
  args: [{
@@ -2848,6 +2848,14 @@
2848
2848
  function ListItemComponent() {
2849
2849
  return _super !== null && _super.apply(this, arguments) || this;
2850
2850
  }
2851
+ Object.defineProperty(ListItemComponent.prototype, "elementId", {
2852
+ get: function () {
2853
+ var _a;
2854
+ return (_a = this.model) === null || _a === void 0 ? void 0 : _a.elementId;
2855
+ },
2856
+ enumerable: false,
2857
+ configurable: true
2858
+ });
2851
2859
  Object.defineProperty(ListItemComponent.prototype, "ariaSelected", {
2852
2860
  get: function () {
2853
2861
  return this.listModel.isItemSelected(this.model) || "";
@@ -2885,7 +2893,7 @@
2885
2893
  return ListItemComponent;
2886
2894
  }(BaseAngular));
2887
2895
  ListItemComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ListItemComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
2888
- ListItemComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ListItemComponent, selector: "sv-ng-list-item, '[sv-ng-list-item]'", inputs: { element: "element", model: "model", listModel: "listModel" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <li role=\"option\" [key2click] [visible]=\"listModel.isItemVisible(model)\" [class]=\"class\" [attr.aria-selected]=\"ariaSelected\" (click)=\"click($event)\" (pointerdown)=\"pointerdown($event)\">\n <ng-container *ngIf=\"model.needSeparator\">\n <div [class]=\"listModel.cssClasses.itemSeparator\"></div>\n </ng-container>\n <div [class]=\"listModel.cssClasses.itemBody\" [style.paddingInlineStart]=\"paddingLeft\">\n <ng-container *ngIf=\"!model.component\">\n <svg *ngIf=\"model.iconName\" [class]=\"listModel.cssClasses.itemIcon\" [iconName]=\"model.iconName\" [size]=\"24\"\n sv-ng-svg-icon></svg>\n <sv-ng-string [model]=\"model.locTitle\"></sv-ng-string>\n </ng-container>\n <ng-container *ngIf=\"model.component\">\n <ng-template [component]=\"{ name: model.component, data: { model: model } }\"></ng-template>\n </ng-container>\n </div>\n </li>\n</ng-template>", styles: [":host{display:none}\n"], 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: Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }, { type: VisibleDirective, selector: "[visible]", inputs: ["visible"] }, { type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
2896
+ ListItemComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ListItemComponent, selector: "sv-ng-list-item, '[sv-ng-list-item]'", inputs: { element: "element", model: "model", listModel: "listModel" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <li role=\"option\" [key2click] [visible]=\"listModel.isItemVisible(model)\" [class]=\"class\" [attr.id]=\"elementId\" [attr.aria-selected]=\"ariaSelected ? 'true' : 'false'\" (click)=\"click($event)\" (pointerdown)=\"pointerdown($event)\">\n <ng-container *ngIf=\"model.needSeparator\">\n <div [class]=\"listModel.cssClasses.itemSeparator\"></div>\n </ng-container>\n <div [class]=\"listModel.cssClasses.itemBody\" [style.paddingInlineStart]=\"paddingLeft\">\n <ng-container *ngIf=\"!model.component\">\n <svg *ngIf=\"model.iconName\" [class]=\"listModel.cssClasses.itemIcon\" [iconName]=\"model.iconName\" [size]=\"24\"\n sv-ng-svg-icon></svg>\n <sv-ng-string [model]=\"model.locTitle\"></sv-ng-string>\n </ng-container>\n <ng-container *ngIf=\"model.component\">\n <ng-template [component]=\"{ name: model.component, data: { model: model } }\"></ng-template>\n </ng-container>\n </div>\n </li>\n</ng-template>", styles: [":host{display:none}\n"], 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: Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }, { type: VisibleDirective, selector: "[visible]", inputs: ["visible"] }, { type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
2889
2897
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ListItemComponent, decorators: [{
2890
2898
  type: i0.Component,
2891
2899
  args: [{
@@ -2938,7 +2946,7 @@
2938
2946
  return ListComponent;
2939
2947
  }(BaseAngular));
2940
2948
  ListComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ListComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
2941
- ListComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ListComponent, selector: "sv-ng-list, '[sv-ng-list]'", inputs: { model: "model" }, viewQueries: [{ propertyName: "listContainerElement", first: true, predicate: ["listContainerElement"], descendants: true }], usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <div [class]=\"model.cssClasses.root\" #listContainerElement>\n <div *ngIf=\"model.showFilter\" [class]=\"model.cssClasses.filter\">\n <div [class]=\"model.cssClasses.filterIcon\">\n <svg [iconName]=\"'icon-search'\" [size]=\"'auto'\" sv-ng-svg-icon></svg>\n </div>\n <input type=\"text\" [class]=\"model.cssClasses.filterInput\" [(ngModel)]=\"model.filterString\"\n [attr.aria-label]=\"model.filterStringPlaceholder || ''\"\n [attr.placeholder]=\"model.filterStringPlaceholder || ''\" \n (keyup)=\"onGoToItems($event)\" />\n <button *ngIf=\"model.showSearchClearButton && !!model.filterString\" (click)=\"model.onClickSearchClearButton($event)\" [class]=\"model.cssClasses.searchClearButtonIcon\">\n <svg [iconName]=\"'icon-searchclear'\" [size]=\"'auto'\" sv-ng-svg-icon></svg>\n </button>\n </div>\n <div [class]=\"model.cssClasses.emptyContainer\" [visible]=\"model.isEmpty\">\n <div [class]=\"model.cssClasses.emptyText\" [attr.aria-label]=\"model.emptyMessage || ''\">{{ model.emptyMessage }}</div>\n </div>\n <ul *ngIf=\"model.renderElements\" [class]=\"model.cssClasses.itemsContainer\" role=\"listbox\" [visible]=\"!model.isEmpty\" (mousedown)=\"onMouseDown($event)\" (keydown)=\"onKeyDown($event)\" (mousemove)=\"onMouseMove($event)\">\n <sv-ng-list-item *ngFor=\"let item of model.renderedActions; trackBy: trackItemBy\" [listModel]=\"model\" [model]=\"item\"></sv-ng-list-item>\n <!--ko foreach: model.renderedActions -->\n <!-- ko component: { name: 'sv-list-item', params: { item: $data, model: $parent.model } } -->\n <!-- /ko -->\n <!-- /ko -->\n </ul>\n </div>\n</ng-template>", styles: [":host{display:none}\n"], components: [{ type: SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: ListItemComponent, selector: "sv-ng-list-item, '[sv-ng-list-item]'", inputs: ["element", "model", "listModel"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3__namespace.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: i3__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3__namespace.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: VisibleDirective, selector: "[visible]", inputs: ["visible"] }, { type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
2949
+ ListComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ListComponent, selector: "sv-ng-list, '[sv-ng-list]'", inputs: { model: "model" }, viewQueries: [{ propertyName: "listContainerElement", first: true, predicate: ["listContainerElement"], descendants: true }], usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <div [class]=\"model.cssClasses.root\" #listContainerElement>\n <div *ngIf=\"model.showFilter\" [class]=\"model.cssClasses.filter\">\n <div [class]=\"model.cssClasses.filterIcon\">\n <svg [iconName]=\"'icon-search'\" [size]=\"'auto'\" sv-ng-svg-icon></svg>\n </div>\n <input type=\"text\" [class]=\"model.cssClasses.filterInput\" [(ngModel)]=\"model.filterString\"\n [attr.aria-label]=\"model.filterStringPlaceholder || ''\"\n [attr.placeholder]=\"model.filterStringPlaceholder || ''\" \n (keyup)=\"onGoToItems($event)\" />\n <button *ngIf=\"model.showSearchClearButton && !!model.filterString\" (click)=\"model.onClickSearchClearButton($event)\" [class]=\"model.cssClasses.searchClearButtonIcon\">\n <svg [iconName]=\"'icon-searchclear'\" [size]=\"'auto'\" sv-ng-svg-icon></svg>\n </button>\n </div>\n <div [class]=\"model.cssClasses.emptyContainer\" [visible]=\"model.isEmpty\">\n <div [class]=\"model.cssClasses.emptyText\" [attr.aria-label]=\"model.emptyMessage || ''\">{{ model.emptyMessage }}</div>\n </div>\n <ul *ngIf=\"model.renderElements\" [class]=\"model.cssClasses.itemsContainer\" role=\"listbox\" [attr.id]=\"model.elementId\" [visible]=\"!model.isEmpty\" (mousedown)=\"onMouseDown($event)\" (keydown)=\"onKeyDown($event)\" (mousemove)=\"onMouseMove($event)\">\n <sv-ng-list-item *ngFor=\"let item of model.renderedActions; trackBy: trackItemBy\" [listModel]=\"model\" [model]=\"item\"></sv-ng-list-item>\n <!--ko foreach: model.renderedActions -->\n <!-- ko component: { name: 'sv-list-item', params: { item: $data, model: $parent.model } } -->\n <!-- /ko -->\n <!-- /ko -->\n </ul>\n </div>\n</ng-template>", styles: [":host{display:none}\n"], components: [{ type: SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: ListItemComponent, selector: "sv-ng-list-item, '[sv-ng-list-item]'", inputs: ["element", "model", "listModel"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3__namespace.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: i3__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3__namespace.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: VisibleDirective, selector: "[visible]", inputs: ["visible"] }, { type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
2942
2950
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ListComponent, decorators: [{
2943
2951
  type: i0.Component,
2944
2952
  args: [{
@@ -3022,6 +3030,40 @@
3022
3030
  }] } });
3023
3031
  AngularComponentFactory.Instance.registerComponent("sv-rating-item-star", RatingItemStarComponent);
3024
3032
 
3033
+ var RatingItemSmileyComponent = /** @class */ (function (_super) {
3034
+ __extends(RatingItemSmileyComponent, _super);
3035
+ function RatingItemSmileyComponent() {
3036
+ return _super !== null && _super.apply(this, arguments) || this;
3037
+ }
3038
+ RatingItemSmileyComponent.prototype.onClick = function (event) {
3039
+ this.model.setValueFromClick(event.target.value);
3040
+ event.stopPropagation();
3041
+ };
3042
+ RatingItemSmileyComponent.prototype.getModel = function () {
3043
+ return this.item;
3044
+ };
3045
+ return RatingItemSmileyComponent;
3046
+ }(BaseAngular));
3047
+ 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 });
3048
+ 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 [class]=\"model.getItemClass(item.itemValue, item.highlight)\" (mouseover)=\"model.onItemMouseIn(item)\" (mouseout)=\"model.onItemMouseOut(item)\">\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-describedby]=\"model.ariaDescribedBy\"\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"] }] });
3049
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: RatingItemSmileyComponent, decorators: [{
3050
+ type: i0.Component,
3051
+ args: [{
3052
+ selector: "sv-ng-rating-item-smiley",
3053
+ templateUrl: "./rating-item-smiley.component.html",
3054
+ styleUrls: ["../../hide-host.scss"],
3055
+ }]
3056
+ }], propDecorators: { element: [{
3057
+ type: i0.Input
3058
+ }], model: [{
3059
+ type: i0.Input
3060
+ }], item: [{
3061
+ type: i0.Input
3062
+ }], index: [{
3063
+ type: i0.Input
3064
+ }] } });
3065
+ AngularComponentFactory.Instance.registerComponent("sv-rating-item-smiley", RatingItemSmileyComponent);
3066
+
3025
3067
  var RatingDropdownComponent = /** @class */ (function () {
3026
3068
  function RatingDropdownComponent() {
3027
3069
  }
@@ -4270,7 +4312,7 @@
4270
4312
  QuestionSkeletonComponent, TextQuestionComponent, RadiogroupComponent, RadiogroupItemComponent, CheckboxComponent, CheckboxItemComponent,
4271
4313
  DropdownComponent, DropdownQuestionComponent, DropdownSelectComponent, DropdownOptionItemComponent,
4272
4314
  PopupComponent, PopupBaseContainerComponent, PopupPointerComponent,
4273
- CharacterCounterComponent, ListComponent, ListItemComponent, RatingItemComponent, RatingItemStarComponent,
4315
+ CharacterCounterComponent, ListComponent, ListItemComponent, RatingItemComponent, RatingItemStarComponent, RatingItemSmileyComponent,
4274
4316
  TagboxFilterComponent, TagboxComponent, TagboxQuestionComponent, TagboxItemComponent,
4275
4317
  ActionBarComponent, ActionComponent, ActionBarItemComponent, ActionBarItemDropdownComponent, HtmlQuestionComponent,
4276
4318
  SelectBaseItemComponent, SelectBaseComponent, SurveyCommentComponent, SurveyCommentOtherComponent, ElementHeaderComponent, ElementTitleActionsComponent, ElementTitleComponent, DynamicHeadComponent, RowComponent,
@@ -4285,7 +4327,7 @@
4285
4327
  CharacterCounterComponent,
4286
4328
  DropdownComponent, DropdownQuestionComponent, DropdownSelectComponent, DropdownOptionItemComponent,
4287
4329
  PopupComponent, PopupBaseContainerComponent, PopupPointerComponent,
4288
- CharacterCounterComponent, ListComponent, ListItemComponent, RatingItemComponent, RatingItemStarComponent,
4330
+ CharacterCounterComponent, ListComponent, ListItemComponent, RatingItemComponent, RatingItemStarComponent, RatingItemSmileyComponent,
4289
4331
  TagboxFilterComponent, TagboxComponent, TagboxQuestionComponent, TagboxItemComponent,
4290
4332
  ActionBarComponent, ActionComponent, ActionBarItemComponent, ActionBarItemDropdownComponent, HtmlQuestionComponent,
4291
4333
  SelectBaseItemComponent, SelectBaseComponent, SurveyCommentComponent, SurveyCommentOtherComponent, ElementHeaderComponent, ElementTitleComponent, DynamicHeadComponent, RowComponent,
@@ -4307,7 +4349,7 @@
4307
4349
  QuestionSkeletonComponent, TextQuestionComponent, RadiogroupComponent, RadiogroupItemComponent, CheckboxComponent, CheckboxItemComponent,
4308
4350
  DropdownComponent, DropdownQuestionComponent, DropdownSelectComponent, DropdownOptionItemComponent,
4309
4351
  PopupComponent, PopupBaseContainerComponent, PopupPointerComponent,
4310
- CharacterCounterComponent, ListComponent, ListItemComponent, RatingItemComponent, RatingItemStarComponent,
4352
+ CharacterCounterComponent, ListComponent, ListItemComponent, RatingItemComponent, RatingItemStarComponent, RatingItemSmileyComponent,
4311
4353
  TagboxFilterComponent, TagboxComponent, TagboxQuestionComponent, TagboxItemComponent,
4312
4354
  ActionBarComponent, ActionComponent, ActionBarItemComponent, ActionBarItemDropdownComponent, HtmlQuestionComponent,
4313
4355
  SelectBaseItemComponent, SelectBaseComponent, SurveyCommentComponent, SurveyCommentOtherComponent, ElementHeaderComponent, ElementTitleActionsComponent, ElementTitleComponent, DynamicHeadComponent, RowComponent,
@@ -4328,7 +4370,7 @@
4328
4370
  CharacterCounterComponent,
4329
4371
  DropdownComponent, DropdownQuestionComponent, DropdownSelectComponent, DropdownOptionItemComponent,
4330
4372
  PopupComponent, PopupBaseContainerComponent, PopupPointerComponent,
4331
- CharacterCounterComponent, ListComponent, ListItemComponent, RatingItemComponent, RatingItemStarComponent,
4373
+ CharacterCounterComponent, ListComponent, ListItemComponent, RatingItemComponent, RatingItemStarComponent, RatingItemSmileyComponent,
4332
4374
  TagboxFilterComponent, TagboxComponent, TagboxQuestionComponent, TagboxItemComponent,
4333
4375
  ActionBarComponent, ActionComponent, ActionBarItemComponent, ActionBarItemDropdownComponent, HtmlQuestionComponent,
4334
4376
  SelectBaseItemComponent, SelectBaseComponent, SurveyCommentComponent, SurveyCommentOtherComponent, ElementHeaderComponent, ElementTitleComponent, DynamicHeadComponent, RowComponent,
@@ -4427,6 +4469,7 @@
4427
4469
  exports.RankingQuestionComponent = RankingQuestionComponent;
4428
4470
  exports.RatingDropdownComponent = RatingDropdownComponent;
4429
4471
  exports.RatingItemComponent = RatingItemComponent;
4472
+ exports.RatingItemSmileyComponent = RatingItemSmileyComponent;
4430
4473
  exports.RatingItemStarComponent = RatingItemStarComponent;
4431
4474
  exports.RatingQuestionComponent = RatingQuestionComponent;
4432
4475
  exports.RowComponent = RowComponent;