survey-angular-ui 1.9.78 → 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
  }
@@ -1203,7 +1203,7 @@
1203
1203
  return NotifierComponent;
1204
1204
  }(BaseAngular));
1205
1205
  NotifierComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NotifierComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
1206
- NotifierComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: NotifierComponent, selector: "sv-notifier", inputs: { notifier: "notifier" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <div [visible]=\"notifier.active\" [class]=\"notifier.css\">\n <span>{{notifier.message}}</span>\n <sv-action-bar [model]=\"notifier.actionBar\"></sv-action-bar> \n </div>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }], directives: [{ type: VisibleDirective, selector: "[visible]", inputs: ["visible"] }] });
1206
+ NotifierComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: NotifierComponent, selector: "sv-notifier", inputs: { notifier: "notifier" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <ng-container *ngIf=\"notifier.isDisplayed\">\n <div [class]=\"notifier.css\" [style]=\"{ visibility: notifier.active ? 'visible' : 'hidden' }\">\n <span>{{notifier.message}}</span>\n <sv-action-bar [model]=\"notifier.actionBar\"></sv-action-bar> \n </div>\n </ng-container>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
1207
1207
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NotifierComponent, decorators: [{
1208
1208
  type: i0.Component,
1209
1209
  args: [{
@@ -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: [{
@@ -1761,7 +1761,7 @@
1761
1761
  configurable: true
1762
1762
  });
1763
1763
  DropdownComponent.prototype.getModel = function () {
1764
- return this.model;
1764
+ return this.model.dropdownListModel;
1765
1765
  };
1766
1766
  DropdownComponent.prototype.ngOnInit = function () {
1767
1767
  _super.prototype.ngOnInit.call(this);
@@ -1791,6 +1791,10 @@
1791
1791
  (_a = this.dropdownModel) === null || _a === void 0 ? void 0 : _a.onBlur(event);
1792
1792
  this.updateInputDomElement();
1793
1793
  };
1794
+ DropdownComponent.prototype.focus = function (event) {
1795
+ var _a;
1796
+ (_a = this.dropdownModel) === null || _a === void 0 ? void 0 : _a.onFocus(event);
1797
+ };
1794
1798
  DropdownComponent.prototype.inputChange = function (event) {
1795
1799
  this.detectChanges();
1796
1800
  };
@@ -1798,16 +1802,16 @@
1798
1802
  var _a;
1799
1803
  if (!!((_a = this.inputElementRef) === null || _a === void 0 ? void 0 : _a.nativeElement)) {
1800
1804
  var control = this.inputElementRef.nativeElement;
1801
- var newValue = this.model.filterString;
1805
+ var newValue = this.model.inputStringRendered;
1802
1806
  if (!Survey.Helpers.isTwoValueEquals(newValue, control.value)) {
1803
- control.value = this.model.filterString || "";
1807
+ control.value = this.model.inputStringRendered || "";
1804
1808
  }
1805
1809
  }
1806
1810
  };
1807
1811
  return DropdownComponent;
1808
1812
  }(BaseAngular));
1809
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 });
1810
- 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 [class]=\"model.cssClasses.controlValue\">\n <ng-container *ngIf=\"model.showInputFieldComponent\">\n <ng-template [component]=\"{ name: model.inputFieldComponentName, data: { model: dropdownModel.getSelectedAction(), question: model } }\"></ng-template>\n </ng-container>\n <sv-ng-string *ngIf=\"model.showSelectedItemLocText\" [model]=\"model.selectedItemLocText\"></sv-ng-string>\n <input #inputElement type=\"text\" autocomplete=\"off\" [(ngModel)]=\"dropdownModel.filterString\" [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]=\"model.readOnlyText\" [attr.readonly]=\"!dropdownModel.searchEnabled ? true : null\" \n (change)=\"inputChange($event)\" (blur)=\"blur($event)\" />\n </div>\n <div *ngIf=\"(model.allowClear && model.cssClasses.cleanButtonIconId)\"\n [class]=\"model.cssClasses.cleanButton\" (click)=\"clear($event)\" [visible]=\"!model.isEmpty()\">\n <!-- ko component: { name: 'sv-svg-icon', params: { css: model.cssClasses.cleanButtonSvg, iconName: model.cssClasses.cleanButtonIconId, size: 'auto' } } -->\n <!-- /ko -->\n <svg [iconName]=\"model.cssClasses.cleanButtonIconId\" [partCss]=\"model.cssClasses.cleanButtonSvg\" [title]=\"model.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"] }] });
1811
1815
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DropdownComponent, decorators: [{
1812
1816
  type: i0.Component,
1813
1817
  args: [{
@@ -1832,7 +1836,7 @@
1832
1836
  return TagboxFilterComponent;
1833
1837
  }(BaseAngular));
1834
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 });
1835
- 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.filterString\"\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.filterString ? 1 : null\"\n [attr.aria-label]=\"question.placeholder\"\n [attr.placeholder]=\"model.filterStringPlaceholder\"\n (keydown)=\"model.inputKeyHandler($event)\"\n (blur)=\"model.onBlur($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"] }] });
1836
1840
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TagboxFilterComponent, decorators: [{
1837
1841
  type: i0.Component,
1838
1842
  args: [{
@@ -1915,7 +1919,7 @@
1915
1919
  return TagboxComponent;
1916
1920
  }());
1917
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 });
1918
- 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"] }] });
1919
1923
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TagboxComponent, decorators: [{
1920
1924
  type: i0.Component,
1921
1925
  args: [{
@@ -2844,6 +2848,14 @@
2844
2848
  function ListItemComponent() {
2845
2849
  return _super !== null && _super.apply(this, arguments) || this;
2846
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
+ });
2847
2859
  Object.defineProperty(ListItemComponent.prototype, "ariaSelected", {
2848
2860
  get: function () {
2849
2861
  return this.listModel.isItemSelected(this.model) || "";
@@ -2881,7 +2893,7 @@
2881
2893
  return ListItemComponent;
2882
2894
  }(BaseAngular));
2883
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 });
2884
- 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"] }] });
2885
2897
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ListItemComponent, decorators: [{
2886
2898
  type: i0.Component,
2887
2899
  args: [{
@@ -2934,7 +2946,7 @@
2934
2946
  return ListComponent;
2935
2947
  }(BaseAngular));
2936
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 });
2937
- 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"] }] });
2938
2950
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ListComponent, decorators: [{
2939
2951
  type: i0.Component,
2940
2952
  args: [{
@@ -2999,7 +3011,7 @@
2999
3011
  return RatingItemStarComponent;
3000
3012
  }(BaseAngular));
3001
3013
  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 });
3002
- 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)\">\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]=\"'icon-rating-star'\" [size]=\"48\" [title]=\"item.text\" [class]=\"'sv-star'\" sv-ng-svg-icon></svg>\n <svg [iconName]=\"'icon-rating-star-2'\" [size]=\"48\" [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"] }] });
3014
+ 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)\">\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]=\"'icon-rating-star'\" [size]=\"'auto'\" [title]=\"item.text\" [class]=\"'sv-star'\" sv-ng-svg-icon></svg>\n <svg [iconName]=\"'icon-rating-star-2'\" [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"] }] });
3003
3015
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: RatingItemStarComponent, decorators: [{
3004
3016
  type: i0.Component,
3005
3017
  args: [{
@@ -3018,6 +3030,40 @@
3018
3030
  }] } });
3019
3031
  AngularComponentFactory.Instance.registerComponent("sv-rating-item-star", RatingItemStarComponent);
3020
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
+
3021
3067
  var RatingDropdownComponent = /** @class */ (function () {
3022
3068
  function RatingDropdownComponent() {
3023
3069
  }
@@ -4266,7 +4312,7 @@
4266
4312
  QuestionSkeletonComponent, TextQuestionComponent, RadiogroupComponent, RadiogroupItemComponent, CheckboxComponent, CheckboxItemComponent,
4267
4313
  DropdownComponent, DropdownQuestionComponent, DropdownSelectComponent, DropdownOptionItemComponent,
4268
4314
  PopupComponent, PopupBaseContainerComponent, PopupPointerComponent,
4269
- CharacterCounterComponent, ListComponent, ListItemComponent, RatingItemComponent, RatingItemStarComponent,
4315
+ CharacterCounterComponent, ListComponent, ListItemComponent, RatingItemComponent, RatingItemStarComponent, RatingItemSmileyComponent,
4270
4316
  TagboxFilterComponent, TagboxComponent, TagboxQuestionComponent, TagboxItemComponent,
4271
4317
  ActionBarComponent, ActionComponent, ActionBarItemComponent, ActionBarItemDropdownComponent, HtmlQuestionComponent,
4272
4318
  SelectBaseItemComponent, SelectBaseComponent, SurveyCommentComponent, SurveyCommentOtherComponent, ElementHeaderComponent, ElementTitleActionsComponent, ElementTitleComponent, DynamicHeadComponent, RowComponent,
@@ -4281,7 +4327,7 @@
4281
4327
  CharacterCounterComponent,
4282
4328
  DropdownComponent, DropdownQuestionComponent, DropdownSelectComponent, DropdownOptionItemComponent,
4283
4329
  PopupComponent, PopupBaseContainerComponent, PopupPointerComponent,
4284
- CharacterCounterComponent, ListComponent, ListItemComponent, RatingItemComponent, RatingItemStarComponent,
4330
+ CharacterCounterComponent, ListComponent, ListItemComponent, RatingItemComponent, RatingItemStarComponent, RatingItemSmileyComponent,
4285
4331
  TagboxFilterComponent, TagboxComponent, TagboxQuestionComponent, TagboxItemComponent,
4286
4332
  ActionBarComponent, ActionComponent, ActionBarItemComponent, ActionBarItemDropdownComponent, HtmlQuestionComponent,
4287
4333
  SelectBaseItemComponent, SelectBaseComponent, SurveyCommentComponent, SurveyCommentOtherComponent, ElementHeaderComponent, ElementTitleComponent, DynamicHeadComponent, RowComponent,
@@ -4303,7 +4349,7 @@
4303
4349
  QuestionSkeletonComponent, TextQuestionComponent, RadiogroupComponent, RadiogroupItemComponent, CheckboxComponent, CheckboxItemComponent,
4304
4350
  DropdownComponent, DropdownQuestionComponent, DropdownSelectComponent, DropdownOptionItemComponent,
4305
4351
  PopupComponent, PopupBaseContainerComponent, PopupPointerComponent,
4306
- CharacterCounterComponent, ListComponent, ListItemComponent, RatingItemComponent, RatingItemStarComponent,
4352
+ CharacterCounterComponent, ListComponent, ListItemComponent, RatingItemComponent, RatingItemStarComponent, RatingItemSmileyComponent,
4307
4353
  TagboxFilterComponent, TagboxComponent, TagboxQuestionComponent, TagboxItemComponent,
4308
4354
  ActionBarComponent, ActionComponent, ActionBarItemComponent, ActionBarItemDropdownComponent, HtmlQuestionComponent,
4309
4355
  SelectBaseItemComponent, SelectBaseComponent, SurveyCommentComponent, SurveyCommentOtherComponent, ElementHeaderComponent, ElementTitleActionsComponent, ElementTitleComponent, DynamicHeadComponent, RowComponent,
@@ -4324,7 +4370,7 @@
4324
4370
  CharacterCounterComponent,
4325
4371
  DropdownComponent, DropdownQuestionComponent, DropdownSelectComponent, DropdownOptionItemComponent,
4326
4372
  PopupComponent, PopupBaseContainerComponent, PopupPointerComponent,
4327
- CharacterCounterComponent, ListComponent, ListItemComponent, RatingItemComponent, RatingItemStarComponent,
4373
+ CharacterCounterComponent, ListComponent, ListItemComponent, RatingItemComponent, RatingItemStarComponent, RatingItemSmileyComponent,
4328
4374
  TagboxFilterComponent, TagboxComponent, TagboxQuestionComponent, TagboxItemComponent,
4329
4375
  ActionBarComponent, ActionComponent, ActionBarItemComponent, ActionBarItemDropdownComponent, HtmlQuestionComponent,
4330
4376
  SelectBaseItemComponent, SelectBaseComponent, SurveyCommentComponent, SurveyCommentOtherComponent, ElementHeaderComponent, ElementTitleComponent, DynamicHeadComponent, RowComponent,
@@ -4423,6 +4469,7 @@
4423
4469
  exports.RankingQuestionComponent = RankingQuestionComponent;
4424
4470
  exports.RatingDropdownComponent = RatingDropdownComponent;
4425
4471
  exports.RatingItemComponent = RatingItemComponent;
4472
+ exports.RatingItemSmileyComponent = RatingItemSmileyComponent;
4426
4473
  exports.RatingItemStarComponent = RatingItemStarComponent;
4427
4474
  exports.RatingQuestionComponent = RatingQuestionComponent;
4428
4475
  exports.RowComponent = RowComponent;