survey-angular-ui 1.9.76 → 1.9.78

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/angular-ui.d.ts +3 -0
  2. package/angular-ui.module.d.ts +82 -79
  3. package/bundles/survey-angular-ui.umd.js +262 -141
  4. package/bundles/survey-angular-ui.umd.js.map +1 -1
  5. package/components/list/list.component.d.ts +1 -0
  6. package/components/progress/toc/progress.component.d.ts +14 -0
  7. package/components/rating/rating-item-star.component.d.ts +13 -0
  8. package/components/rating/rating-item.component.d.ts +1 -1
  9. package/components/renderAs/dropdown-select/dropdown-option-item.component.d.ts +1 -0
  10. package/components/timer-panel/timer-panel.component.d.ts +1 -1
  11. package/components-container.component.d.ts +12 -0
  12. package/esm2015/angular-ui.js +4 -1
  13. package/esm2015/angular-ui.module.js +16 -13
  14. package/esm2015/components/list/list.component.js +5 -2
  15. package/esm2015/components/progress/default/progress.component.js +3 -3
  16. package/esm2015/components/progress/toc/progress.component.js +36 -0
  17. package/esm2015/components/rating/rating-item-star.component.js +34 -0
  18. package/esm2015/components/rating/rating-item.component.js +2 -2
  19. package/esm2015/components/renderAs/dropdown-select/dropdown-option-item.component.js +8 -1
  20. package/esm2015/components/timer-panel/timer-panel.component.js +5 -3
  21. package/esm2015/components-container.component.js +32 -0
  22. package/esm2015/questions/checkbox-item.component.js +2 -2
  23. package/esm2015/questions/image.component.js +5 -4
  24. package/esm2015/questions/imagepicker-item.component.js +2 -2
  25. package/esm2015/questions/rating.component.js +2 -2
  26. package/esm2015/questions/signature.component.js +2 -2
  27. package/esm2015/questions/text.component.js +2 -2
  28. package/esm2015/survey-content.component.js +8 -10
  29. package/fesm2015/survey-angular-ui.js +216 -120
  30. package/fesm2015/survey-angular-ui.js.map +1 -1
  31. package/package.json +1 -1
@@ -1000,125 +1000,6 @@
1000
1000
  type: i0.Input
1001
1001
  }] } });
1002
1002
 
1003
- var SvgIconComponent = /** @class */ (function () {
1004
- function SvgIconComponent(viewContaierRef) {
1005
- this.viewContaierRef = viewContaierRef;
1006
- }
1007
- SvgIconComponent.prototype.createSvg = function () {
1008
- if (!!this.iconName) {
1009
- Survey__namespace.createSvg(this.size, this.width, this.height, this.iconName, this.viewContaierRef.element.nativeElement, this.title);
1010
- }
1011
- };
1012
- Object.defineProperty(SvgIconComponent.prototype, "rootClass", {
1013
- get: function () {
1014
- var className = "sv-svg-icon";
1015
- if (!this.css && !!this.partCss) {
1016
- className += " " + this.partCss;
1017
- }
1018
- else if (!!this.css) {
1019
- className = this.css;
1020
- }
1021
- return className;
1022
- },
1023
- enumerable: false,
1024
- configurable: true
1025
- });
1026
- Object.defineProperty(SvgIconComponent.prototype, "rootRole", {
1027
- get: function () {
1028
- return "img";
1029
- },
1030
- enumerable: false,
1031
- configurable: true
1032
- });
1033
- Object.defineProperty(SvgIconComponent.prototype, "ariaLabel", {
1034
- get: function () {
1035
- return this.title;
1036
- },
1037
- enumerable: false,
1038
- configurable: true
1039
- });
1040
- SvgIconComponent.prototype.ngOnChanges = function () {
1041
- var el = this.viewContaierRef.element.nativeElement;
1042
- el.innerHTML = "";
1043
- el.appendChild(document.createElementNS("http://www.w3.org/2000/svg", "use"));
1044
- this.createSvg();
1045
- };
1046
- return SvgIconComponent;
1047
- }());
1048
- SvgIconComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SvgIconComponent, deps: [{ token: i0__namespace.ViewContainerRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
1049
- SvgIconComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: { size: "size", width: "width", height: "height", iconName: "iconName", partCss: "partCss", css: "css", title: "title" }, host: { properties: { "class": "this.rootClass", "[attr.role]": "this.rootRole", "[attr.aria-label]": "this.ariaLabel" } }, usesOnChanges: true, ngImport: i0__namespace, template: "", isInline: true });
1050
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SvgIconComponent, decorators: [{
1051
- type: i0.Component,
1052
- args: [{
1053
- selector: "'[sv-ng-svg-icon]'",
1054
- template: ""
1055
- }]
1056
- }], ctorParameters: function () { return [{ type: i0__namespace.ViewContainerRef }]; }, propDecorators: { size: [{
1057
- type: i0.Input
1058
- }], width: [{
1059
- type: i0.Input
1060
- }], height: [{
1061
- type: i0.Input
1062
- }], iconName: [{
1063
- type: i0.Input
1064
- }], partCss: [{
1065
- type: i0.Input
1066
- }], css: [{
1067
- type: i0.Input
1068
- }], title: [{
1069
- type: i0.Input
1070
- }], rootClass: [{
1071
- type: i0.HostBinding,
1072
- args: ["class"]
1073
- }], rootRole: [{
1074
- type: i0.HostBinding,
1075
- args: ["[attr.role]"]
1076
- }], ariaLabel: [{
1077
- type: i0.HostBinding,
1078
- args: ["[attr.aria-label]"]
1079
- }] } });
1080
-
1081
- var TimerPanelComponent = /** @class */ (function (_super) {
1082
- __extends(TimerPanelComponent, _super);
1083
- function TimerPanelComponent() {
1084
- var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
1085
- _this.circleLengthValue = 440;
1086
- return _this;
1087
- }
1088
- TimerPanelComponent.prototype.getStateElement = function () {
1089
- return this.model;
1090
- };
1091
- TimerPanelComponent.prototype.getModel = function () {
1092
- return this.model;
1093
- };
1094
- Object.defineProperty(TimerPanelComponent.prototype, "circleLength", {
1095
- get: function () {
1096
- return this.circleLengthValue;
1097
- },
1098
- enumerable: false,
1099
- configurable: true
1100
- });
1101
- Object.defineProperty(TimerPanelComponent.prototype, "progress", {
1102
- get: function () {
1103
- return -this.model.progress * this.circleLength;
1104
- },
1105
- enumerable: false,
1106
- configurable: true
1107
- });
1108
- return TimerPanelComponent;
1109
- }(BaseAngular));
1110
- TimerPanelComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TimerPanelComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
1111
- TimerPanelComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TimerPanelComponent, selector: "sv-timer-panel", inputs: { model: "model" }, usesInheritance: true, ngImport: i0__namespace, template: "<div *ngIf=\"model.showTimerAsClock\" [class]=\"model.rootCss\">\n <svg *ngIf=\"model.showProgress\" [class]=\"model.getProgressCss()\" [style.stroke-dasharray]=\"circleLength\" [style.stroke-dashoffset]=\"progress\" [size]=\"'auto'\" [iconName]=\"'icon-timercircle'\" sv-ng-svg-icon></svg>\n <div [class]=\"model.textContainerCss\">\n <span [class]=\"model.majorTextCss\">{{ model.clockMajorText }}</span>\n <span *ngIf=\"model.clockMinorText\" [class]=\"model.minorTextCss\">{{ model.clockMinorText }}</span>\n </div>\n</div>\n<div *ngIf=\"!model.showTimerAsClock\" [class]='model.survey.getCss().timerRoot'>{{model.text}}</div>", components: [{ type: SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
1112
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TimerPanelComponent, decorators: [{
1113
- type: i0.Component,
1114
- args: [{
1115
- selector: "sv-timer-panel",
1116
- templateUrl: "./timer-panel.component.html",
1117
- }]
1118
- }], propDecorators: { model: [{
1119
- type: i0.Input
1120
- }] } });
1121
-
1122
1003
  var ElementComponent = /** @class */ (function (_super) {
1123
1004
  __extends(ElementComponent, _super);
1124
1005
  function ElementComponent() {
@@ -1381,7 +1262,7 @@
1381
1262
  return SurveyContentComponent;
1382
1263
  }(BaseAngular));
1383
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 });
1384
- 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-container *ngIf=\"model.isTimerPanelShowingOnTop && !model.isShowStartingPage\">\n <sv-timer-panel [model]=\"model.timerModel\"></sv-timer-panel>\n </ng-container>\n <ng-container *ngIf=\"model.isShowProgressBarOnTop && !model.isShowStartingPage\">\n <ng-template [component]='{ name: \"sv-progress-\" + this.model.progressBarType, data: { model } }'></ng-template>\n </ng-container>\n <div *ngIf=\"model.isShowingPage\" [class]=\"model.bodyCss\" [style.maxWidth]=\"model.renderedWidth\" [id]=\"model.activePage ? model.activePage.id : ''\">\n <sv-action-bar *ngIf=\"model.isNavigationButtonsShowingOnTop\" [model]=\"model.navigationBar\"></sv-action-bar>\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-container *ngIf=\"model.isShowProgressBarOnBottom && !model.isShowStartingPage\">\n <ng-template [component]='{ name: \"sv-progress-\" + this.model.progressBarType, data: { model } }'></ng-template>\n </ng-container>\n <sv-action-bar *ngIf=\"model.isNavigationButtonsShowingOnBottom\" [model]=\"model.navigationBar\"></sv-action-bar> \n </div>\n <ng-container *ngIf=\"model.isTimerPanelShowingOnBottom && !model.isShowStartingPage\">\n <sv-timer-panel [model]=\"model.timerModel\"></sv-timer-panel>\n </ng-container>\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: TimerPanelComponent, selector: "sv-timer-panel", inputs: ["model"] }, { type: ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }, { 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 [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"] }] });
1385
1266
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SurveyContentComponent, decorators: [{
1386
1267
  type: i0.Component,
1387
1268
  args: [{
@@ -1788,6 +1669,84 @@
1788
1669
  }] } });
1789
1670
  AngularComponentFactory.Instance.registerComponent("skeleton-question", QuestionSkeletonComponent);
1790
1671
 
1672
+ var SvgIconComponent = /** @class */ (function () {
1673
+ function SvgIconComponent(viewContaierRef) {
1674
+ this.viewContaierRef = viewContaierRef;
1675
+ }
1676
+ SvgIconComponent.prototype.createSvg = function () {
1677
+ if (!!this.iconName) {
1678
+ Survey__namespace.createSvg(this.size, this.width, this.height, this.iconName, this.viewContaierRef.element.nativeElement, this.title);
1679
+ }
1680
+ };
1681
+ Object.defineProperty(SvgIconComponent.prototype, "rootClass", {
1682
+ get: function () {
1683
+ var className = "sv-svg-icon";
1684
+ if (!this.css && !!this.partCss) {
1685
+ className += " " + this.partCss;
1686
+ }
1687
+ else if (!!this.css) {
1688
+ className = this.css;
1689
+ }
1690
+ return className;
1691
+ },
1692
+ enumerable: false,
1693
+ configurable: true
1694
+ });
1695
+ Object.defineProperty(SvgIconComponent.prototype, "rootRole", {
1696
+ get: function () {
1697
+ return "img";
1698
+ },
1699
+ enumerable: false,
1700
+ configurable: true
1701
+ });
1702
+ Object.defineProperty(SvgIconComponent.prototype, "ariaLabel", {
1703
+ get: function () {
1704
+ return this.title;
1705
+ },
1706
+ enumerable: false,
1707
+ configurable: true
1708
+ });
1709
+ SvgIconComponent.prototype.ngOnChanges = function () {
1710
+ var el = this.viewContaierRef.element.nativeElement;
1711
+ el.innerHTML = "";
1712
+ el.appendChild(document.createElementNS("http://www.w3.org/2000/svg", "use"));
1713
+ this.createSvg();
1714
+ };
1715
+ return SvgIconComponent;
1716
+ }());
1717
+ SvgIconComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SvgIconComponent, deps: [{ token: i0__namespace.ViewContainerRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
1718
+ SvgIconComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: { size: "size", width: "width", height: "height", iconName: "iconName", partCss: "partCss", css: "css", title: "title" }, host: { properties: { "class": "this.rootClass", "[attr.role]": "this.rootRole", "[attr.aria-label]": "this.ariaLabel" } }, usesOnChanges: true, ngImport: i0__namespace, template: "", isInline: true });
1719
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SvgIconComponent, decorators: [{
1720
+ type: i0.Component,
1721
+ args: [{
1722
+ selector: "'[sv-ng-svg-icon]'",
1723
+ template: ""
1724
+ }]
1725
+ }], ctorParameters: function () { return [{ type: i0__namespace.ViewContainerRef }]; }, propDecorators: { size: [{
1726
+ type: i0.Input
1727
+ }], width: [{
1728
+ type: i0.Input
1729
+ }], height: [{
1730
+ type: i0.Input
1731
+ }], iconName: [{
1732
+ type: i0.Input
1733
+ }], partCss: [{
1734
+ type: i0.Input
1735
+ }], css: [{
1736
+ type: i0.Input
1737
+ }], title: [{
1738
+ type: i0.Input
1739
+ }], rootClass: [{
1740
+ type: i0.HostBinding,
1741
+ args: ["class"]
1742
+ }], rootRole: [{
1743
+ type: i0.HostBinding,
1744
+ args: ["[attr.role]"]
1745
+ }], ariaLabel: [{
1746
+ type: i0.HostBinding,
1747
+ args: ["[attr.aria-label]"]
1748
+ }] } });
1749
+
1791
1750
  var DropdownComponent = /** @class */ (function (_super) {
1792
1751
  __extends(DropdownComponent, _super);
1793
1752
  function DropdownComponent() {
@@ -1972,6 +1931,14 @@
1972
1931
  function DropdownOptionItemComponent() {
1973
1932
  return _super !== null && _super.apply(this, arguments) || this;
1974
1933
  }
1934
+ DropdownOptionItemComponent.prototype.onModelChanged = function () {
1935
+ var _this = this;
1936
+ if (!this.item.locText)
1937
+ return;
1938
+ this.item.locText.onChanged = function () {
1939
+ _this.detectChanges();
1940
+ };
1941
+ };
1975
1942
  DropdownOptionItemComponent.prototype.getModel = function () {
1976
1943
  return this.item;
1977
1944
  };
@@ -2206,7 +2173,7 @@
2206
2173
  return TextQuestionComponent;
2207
2174
  }(QuestionAngular));
2208
2175
  TextQuestionComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TextQuestionComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
2209
- TextQuestionComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TextQuestionComponent, selector: "sv-ng-text-question", usesInheritance: true, ngImport: i0__namespace, template: " <ng-container [ngTemplateOutlet]=\"input\" *ngIf=\"!model.dataListId && !model.isReadOnlyRenderDiv()\"></ng-container>\n <div *ngIf=\"model.dataListId && !model.isReadOnlyRenderDiv()\">\n <ng-container [ngTemplateOutlet]=\"input\"></ng-container>\n <datalist [id]=\"model.dataListId\">\n <option *ngFor=\"let dataListItem of model.dataList\" [value]=\"dataListItem\"></option>\n </datalist>\n </div>\n <div *ngIf=\"model.isReadOnlyRenderDiv()\" #contentElement>{{ model.value }}</div>\n <ng-template #input>\n <input [style]=\"model.inputStyle\" [class]=\"model.getControlClass()\" [attr.list]=\"model.dataListId\"\n (change)=\"model.onChange($event)\" [attr.value]=\"model.value\" [disabled]=\"model.isInputReadOnly\" name=\"user\" [type]=\"model.inputType\" [id]=\"model.inputId\" [attr.placeholder]=\"model.renderedPlaceholder || ''\"\n (keyup)=\"model.onKeyUp($event)\" (keydown)=\"model.onKeyDown($event)\" (blur)=\"model.onBlur($event)\" (compositionupdate)=\"model.onCompositionUpdate($event)\" \n [attr.size] = \"model.renderedInputSize\" [attr.maxlength]= \"model.getMaxLength()\" [attr.min]=\"model.renderedMin\"\n [attr.max]=\"model.renderedMax\" [attr.step]=\"model.renderedStep\" [attr.max]=\"model.renderedMax\" [attr.aria-required]=\"model.ariaRequired\"\n [attr.aria-label]=\"model.ariaLabel\" [attr.aria-invalid]=\"model.ariaInvalid\" [attr.aria-describedby]=\"model.ariaDescribedBy\" [attr.autocomplete]=\"model.autocomplete\"\n [attr.ar] #contentElement/>\n <sv-ng-character-counter *ngIf=\"model.getMaxLength()\" \n [counter]=\"model.characterCounter\"\n [remainingCharacterCounter]=\"model.cssClasses.remainingCharacterCounter\">\n </sv-ng-character-counter>\n </ng-template>", styles: [""], components: [{ type: CharacterCounterComponent, selector: "sv-ng-character-counter", inputs: ["counter", "remainingCharacterCounter"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3__namespace.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i3__namespace.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }] });
2176
+ TextQuestionComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TextQuestionComponent, selector: "sv-ng-text-question", usesInheritance: true, ngImport: i0__namespace, template: " <ng-container [ngTemplateOutlet]=\"input\" *ngIf=\"!model.dataListId && !model.isReadOnlyRenderDiv()\"></ng-container>\n <div *ngIf=\"model.dataListId && !model.isReadOnlyRenderDiv()\">\n <ng-container [ngTemplateOutlet]=\"input\"></ng-container>\n <datalist [id]=\"model.dataListId\">\n <option *ngFor=\"let dataListItem of model.dataList\" [value]=\"dataListItem\"></option>\n </datalist>\n </div>\n <div *ngIf=\"model.isReadOnlyRenderDiv()\" #contentElement>{{ model.value }}</div>\n <ng-template #input>\n <input [style]=\"model.inputStyle\" [class]=\"model.getControlClass()\" [attr.list]=\"model.dataListId\"\n (change)=\"model.onChange($event)\" [attr.value]=\"model.value\" [disabled]=\"model.isInputReadOnly\" name=\"user\" [type]=\"model.inputType\" [id]=\"model.inputId\" [attr.placeholder]=\"model.renderedPlaceholder || ''\"\n (keyup)=\"model.onKeyUp($event)\" (keydown)=\"model.onKeyDown($event)\" (blur)=\"model.onBlur($event)\" (focus)=\"model.onFocus($event)\" (compositionupdate)=\"model.onCompositionUpdate($event)\" \n [attr.size] = \"model.renderedInputSize\" [attr.maxlength]= \"model.getMaxLength()\" [attr.min]=\"model.renderedMin\"\n [attr.max]=\"model.renderedMax\" [attr.step]=\"model.renderedStep\" [attr.max]=\"model.renderedMax\" [attr.aria-required]=\"model.ariaRequired\"\n [attr.aria-label]=\"model.ariaLabel\" [attr.aria-invalid]=\"model.ariaInvalid\" [attr.aria-describedby]=\"model.ariaDescribedBy\" [attr.autocomplete]=\"model.autocomplete\"\n [attr.ar] #contentElement/>\n <sv-ng-character-counter *ngIf=\"model.getMaxLength()\" \n [counter]=\"model.characterCounter\"\n [remainingCharacterCounter]=\"model.cssClasses.remainingCharacterCounter\">\n </sv-ng-character-counter>\n </ng-template>", styles: [""], components: [{ type: CharacterCounterComponent, selector: "sv-ng-character-counter", inputs: ["counter", "remainingCharacterCounter"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3__namespace.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i3__namespace.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }] });
2210
2177
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TextQuestionComponent, decorators: [{
2211
2178
  type: i0.Component,
2212
2179
  args: [{
@@ -2377,7 +2344,7 @@
2377
2344
  function CheckboxItemComponent() {
2378
2345
  }
2379
2346
  CheckboxItemComponent.prototype.onChange = function (event) {
2380
- this.question.clickItemHandler(this.model, event.target.checked);
2347
+ this.question["clickItemHandler"](this.model, event.target.checked);
2381
2348
  };
2382
2349
  CheckboxItemComponent.prototype.onSelectAllChange = function (event) {
2383
2350
  this.question.toggleSelectAll();
@@ -2450,7 +2417,7 @@
2450
2417
  return RatingQuestionComponent;
2451
2418
  }(QuestionAngular));
2452
2419
  RatingQuestionComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: RatingQuestionComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
2453
- RatingQuestionComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: RatingQuestionComponent, selector: "sv-ng-rating-question", usesInheritance: true, ngImport: i0__namespace, template: " <div [class]=\"model.ratingRootCss\" #contentElement>\n <fieldset role=\"radiogroup\">\n <legend role=\"presentation\" class=\"sv-hidden\"></legend>\n <span *ngIf=\"model.hasMinLabel\" [class]=\"model.cssClasses.minText\" [model]=\"model.locMinRateDescription\" sv-ng-string>\n </span>\n <ng-template *ngFor=\"let item of model.renderedRateItems; index as index; trackBy: trackByFn\" [component]=\"{ name: 'sv-rating-item', data: {model: model, item: item, index: index }}\"></ng-template>\n <span *ngIf=\"model.hasMaxLabel\" [class]=\"model.cssClasses.maxText\" [model]=\"model.locMaxRateDescription\" sv-ng-string></span>\n </fieldset>\n </div>\n", components: [{ type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
2420
+ RatingQuestionComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: RatingQuestionComponent, selector: "sv-ng-rating-question", usesInheritance: true, ngImport: i0__namespace, template: " <div [class]=\"model.ratingRootCss\" #contentElement>\n <fieldset role=\"radiogroup\">\n <legend role=\"presentation\" class=\"sv-hidden\"></legend>\n <span *ngIf=\"model.hasMinLabel\" [class]=\"model.cssClasses.minText\" [model]=\"model.locMinRateDescription\" sv-ng-string>\n </span>\n <ng-template *ngFor=\"let item of model.renderedRateItems; index as index; trackBy: trackByFn\" [component]=\"{ name: model.itemComponentName, data: {model: model, item: item, index: index }}\"></ng-template>\n <span *ngIf=\"model.hasMaxLabel\" [class]=\"model.cssClasses.maxText\" [model]=\"model.locMaxRateDescription\" sv-ng-string></span>\n </fieldset>\n </div>\n", components: [{ type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
2454
2421
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: RatingQuestionComponent, decorators: [{
2455
2422
  type: i0.Component,
2456
2423
  args: [{
@@ -2517,7 +2484,7 @@
2517
2484
  return ImagePickerItemComponent;
2518
2485
  }(BaseAngular));
2519
2486
  ImagePickerItemComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ImagePickerItemComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
2520
- ImagePickerItemComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ImagePickerItemComponent, selector: "sv-ng-imagepicker-item", inputs: { question: "question", model: "model" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <div [class]=\"question.getItemClass(model)\">\n <label [class]=\"question.cssClasses.label\">\n <input [type]=\"question.inputType\" [attr.name]=\"question.questionName\" [attr.value]=\"model.value\" [id]=\"question.getItemId(model)\" [attr.aria-required]=\"question.ariaRequired\" [attr.aria-label]=\"question.ariaLabel\" [attr.aria-invalid]=\"question.ariaInvalid\" [attr.aria-describedby]=\"question.ariaDescribedBy\"\n (change)=\"onChange($event)\" [checked]=\"question.isItemSelected(model)\" [disabled]=\"!question.getItemEnabled(model)\" [class]=\"question.cssClasses.itemControl\"\n />\n <div [class]=\"question.cssClasses.itemDecorator\">\n <div [class]=\"question.cssClasses.imageContainer\">\n <span *ngIf=\"question.cssClasses.checkedItemDecorator\" [class]=\"question.cssClasses.checkedItemDecorator\">\n <svg *ngIf=\"question.cssClasses.checkedItemSvgIconId\" [class]=\"question.cssClasses.checkedItemSvgIcon\" [iconName]=\"question.cssClasses.checkedItemSvgIconId\" [size]=\"'auto'\" sv-ng-svg-icon></svg>\n </span>\n <img *ngIf=\"model.locImageLink.renderedHtml && question.contentMode === 'image'\" [class]=\"question.cssClasses.image\" [attr.src]=\"model.locImageLink.renderedHtml\" [attr.width]=\"question.renderedImageWidth\" [attr.height]=\"question.renderedImageHeight\" [attr.alt]=\"model.locText.renderedHtml\" [style.objectFit]=\"question.imageFit\" (load)=\"question.onContentLoaded(model, $event)\"/>\n <video *ngIf=\"model.locImageLink.renderedHtml && question.contentMode === 'video'\" controls [class]=\"question.cssClasses.image\" [attr.src]=\"model.locImageLink.renderedHtml\" [attr.width]=\"question.renderedImageWidth\" [attr.height]=\"question.renderedImageHeight\" [style.objectFit]=\"question.imageFit\" (loadedmetadata)=\"question.onContentLoaded(model, $event)\"></video>\n <div *ngIf=\"!model.locImageLink.renderedHtml\" [class]=\"question.cssClasses.itemNoImage\" [style.width]=\"question.renderedImageWidth\" [style.height]=\"question.renderedImageHeight\" [style.objectFit]=\"question.imageFit\">\n <svg [class]=\"question.cssClasses.itemNoImageSvgIcon\" *ngIf=\"question.cssClasses.itemNoImageSvgIcon\">\n <use [attr.xlink:href]=\"question.cssClasses.itemNoImageSvgIconId\"></use>\n </svg>\n </div>\n </div>\n <span *ngIf=\"question.showLabel\" [class]=\"question.cssClasses.itemText\" [model]=\"model.locText\" sv-ng-string></span>\n </div>\n </label>\n </div>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
2487
+ ImagePickerItemComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ImagePickerItemComponent, selector: "sv-ng-imagepicker-item", inputs: { question: "question", model: "model" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <div [class]=\"question.getItemClass(model)\">\n <label [class]=\"question.cssClasses.label\">\n <input [type]=\"question.inputType\" [attr.name]=\"question.questionName\" [attr.value]=\"model.value\" [id]=\"question.getItemId(model)\" [attr.aria-required]=\"question.ariaRequired\" [attr.aria-label]=\"question.ariaLabel\" [attr.aria-invalid]=\"question.ariaInvalid\" [attr.aria-describedby]=\"question.ariaDescribedBy\"\n (change)=\"onChange($event)\" [checked]=\"question.isItemSelected(model)\" [disabled]=\"!question.getItemEnabled(model)\" [class]=\"question.cssClasses.itemControl\"\n />\n <div [class]=\"question.cssClasses.itemDecorator\">\n <div [class]=\"question.cssClasses.imageContainer\">\n <span *ngIf=\"question.cssClasses.checkedItemDecorator\" [class]=\"question.cssClasses.checkedItemDecorator\">\n <svg *ngIf=\"question.cssClasses.checkedItemSvgIconId\" [class]=\"question.cssClasses.checkedItemSvgIcon\" [iconName]=\"question.cssClasses.checkedItemSvgIconId\" [size]=\"'auto'\" sv-ng-svg-icon></svg>\n </span>\n <img *ngIf=\"model.locImageLink.renderedHtml && !model.contentNotLoaded && question.contentMode === 'image'\" [class]=\"question.cssClasses.image\" [attr.src]=\"model.locImageLink.renderedHtml\" [attr.width]=\"question.renderedImageWidth\" [attr.height]=\"question.renderedImageHeight\" [attr.alt]=\"model.locText.renderedHtml\" [style.objectFit]=\"question.imageFit\" (load)=\"question.onContentLoaded(model, $event)\" (error)=\"model.onErrorHandler()\"/>\n <video *ngIf=\"model.locImageLink.renderedHtml && !model.contentNotLoaded && question.contentMode === 'video'\" controls [class]=\"question.cssClasses.image\" [attr.src]=\"model.locImageLink.renderedHtml\" [attr.width]=\"question.renderedImageWidth\" [attr.height]=\"question.renderedImageHeight\" [style.objectFit]=\"question.imageFit\" (loadedmetadata)=\"question.onContentLoaded(model, $event)\" (error)=\"model.onErrorHandler()\"></video>\n <div *ngIf=\"!model.locImageLink.renderedHtml || model.contentNotLoaded\" [class]=\"question.cssClasses.itemNoImage\" [style.width]=\"question.renderedImageWidth\" [style.height]=\"question.renderedImageHeight\" [style.objectFit]=\"question.imageFit\">\n <svg *ngIf=\"question.cssClasses.itemNoImageSvgIconId\" [class]=\"question.cssClasses.itemNoImageSvgIcon\" [iconName]=\"question.cssClasses.itemNoImageSvgIconId\" [size]=\"48\" sv-ng-svg-icon></svg>\n </div>\n </div>\n <span *ngIf=\"question.showLabel\" [class]=\"question.cssClasses.itemText\" [model]=\"model.locText\" sv-ng-string></span>\n </div>\n </label>\n </div>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
2521
2488
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ImagePickerItemComponent, decorators: [{
2522
2489
  type: i0.Component,
2523
2490
  args: [{
@@ -2610,6 +2577,45 @@
2610
2577
  }]
2611
2578
  }] });
2612
2579
 
2580
+ var ComponentsContainerComponent = /** @class */ (function (_super) {
2581
+ __extends(ComponentsContainerComponent, _super);
2582
+ function ComponentsContainerComponent() {
2583
+ return _super !== null && _super.apply(this, arguments) || this;
2584
+ }
2585
+ Object.defineProperty(ComponentsContainerComponent.prototype, "components", {
2586
+ get: function () {
2587
+ return this.survey.getContainerContent(this.container);
2588
+ },
2589
+ enumerable: false,
2590
+ configurable: true
2591
+ });
2592
+ Object.defineProperty(ComponentsContainerComponent.prototype, "isNeedRenderWrapper", {
2593
+ get: function () {
2594
+ return this.needRenderWrapper === false ? false : true;
2595
+ },
2596
+ enumerable: false,
2597
+ configurable: true
2598
+ });
2599
+ return ComponentsContainerComponent;
2600
+ }(EmbeddedViewContentComponent));
2601
+ ComponentsContainerComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ComponentsContainerComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
2602
+ ComponentsContainerComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ComponentsContainerComponent, selector: "sv-components-container, [sv-components-container], sv-ng-components-container", inputs: { survey: "survey", container: "container", needRenderWrapper: "needRenderWrapper" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <ng-container *ngIf=\"isNeedRenderWrapper\">\n <div *ngIf=\"components.length > 0\" class=\"sv-components-column\">\n <ng-container *ngFor=\"let component of components\">\n <ng-template [component]=\"{ name: component.component, data: { survey: survey, model: component.data } }\"></ng-template>\n </ng-container>\n </div>\n </ng-container>\n <ng-container *ngIf=\"!isNeedRenderWrapper && components.length > 0\">\n <ng-container *ngFor=\"let component of components\">\n <ng-template [component]=\"{ name: component.component, data: { survey: survey, model: component.data } }\"></ng-template>\n </ng-container>\n </ng-container>\n</ng-template>", styles: [":host{display:none}\n"], 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"] }] });
2603
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ComponentsContainerComponent, decorators: [{
2604
+ type: i0.Component,
2605
+ args: [{
2606
+ selector: "sv-components-container, [sv-components-container], sv-ng-components-container",
2607
+ templateUrl: "./components-container.component.html",
2608
+ styleUrls: ["./hide-host.scss"]
2609
+ }]
2610
+ }], propDecorators: { survey: [{
2611
+ type: i0.Input
2612
+ }], container: [{
2613
+ type: i0.Input
2614
+ }], needRenderWrapper: [{
2615
+ type: i0.Input
2616
+ }] } });
2617
+ AngularComponentFactory.Instance.registerComponent("sv-components-container", ComponentsContainerComponent);
2618
+
2613
2619
  var Key2ClickDirective = /** @class */ (function () {
2614
2620
  function Key2ClickDirective(el) {
2615
2621
  var _this = this;
@@ -2791,6 +2797,48 @@
2791
2797
  }] } });
2792
2798
  AngularComponentFactory.Instance.registerComponent("sv-skeleton", SkeletonComponent);
2793
2799
 
2800
+ var TimerPanelComponent = /** @class */ (function (_super) {
2801
+ __extends(TimerPanelComponent, _super);
2802
+ function TimerPanelComponent() {
2803
+ var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
2804
+ _this.circleLengthValue = 440;
2805
+ return _this;
2806
+ }
2807
+ TimerPanelComponent.prototype.getStateElement = function () {
2808
+ return this.model;
2809
+ };
2810
+ TimerPanelComponent.prototype.getModel = function () {
2811
+ return this.model;
2812
+ };
2813
+ Object.defineProperty(TimerPanelComponent.prototype, "circleLength", {
2814
+ get: function () {
2815
+ return this.circleLengthValue;
2816
+ },
2817
+ enumerable: false,
2818
+ configurable: true
2819
+ });
2820
+ Object.defineProperty(TimerPanelComponent.prototype, "progress", {
2821
+ get: function () {
2822
+ return -this.model.progress * this.circleLength;
2823
+ },
2824
+ enumerable: false,
2825
+ configurable: true
2826
+ });
2827
+ return TimerPanelComponent;
2828
+ }(BaseAngular));
2829
+ TimerPanelComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TimerPanelComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
2830
+ TimerPanelComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TimerPanelComponent, selector: "sv-timerpanel", inputs: { model: "model" }, usesInheritance: true, ngImport: i0__namespace, template: "<div *ngIf=\"model.isRunning && model.showTimerAsClock\" [class]=\"model.rootCss\">\n <svg *ngIf=\"model.showProgress\" [class]=\"model.getProgressCss()\" [style.stroke-dasharray]=\"circleLength\" [style.stroke-dashoffset]=\"progress\" [size]=\"'auto'\" [iconName]=\"'icon-timercircle'\" sv-ng-svg-icon></svg>\n <div [class]=\"model.textContainerCss\">\n <span [class]=\"model.majorTextCss\">{{ model.clockMajorText }}</span>\n <span *ngIf=\"model.clockMinorText\" [class]=\"model.minorTextCss\">{{ model.clockMinorText }}</span>\n </div>\n</div>\n<div *ngIf=\"model.isRunning && !model.showTimerAsClock\" [class]='model.survey.getCss().timerRoot'>{{model.text}}</div>", components: [{ type: SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
2831
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TimerPanelComponent, decorators: [{
2832
+ type: i0.Component,
2833
+ args: [{
2834
+ selector: "sv-timerpanel",
2835
+ templateUrl: "./timer-panel.component.html",
2836
+ }]
2837
+ }], propDecorators: { model: [{
2838
+ type: i0.Input
2839
+ }] } });
2840
+ AngularComponentFactory.Instance.registerComponent("sv-timerpanel", TimerPanelComponent);
2841
+
2794
2842
  var ListItemComponent = /** @class */ (function (_super) {
2795
2843
  __extends(ListItemComponent, _super);
2796
2844
  function ListItemComponent() {
@@ -2874,6 +2922,9 @@
2874
2922
  ListComponent.prototype.onMouseMove = function (event) {
2875
2923
  this.model.onMouseMove(event);
2876
2924
  };
2925
+ ListComponent.prototype.getPropertiesToUpdateSync = function () {
2926
+ return ["renderElements"];
2927
+ };
2877
2928
  ListComponent.prototype.ngAfterViewInit = function () {
2878
2929
  var _a;
2879
2930
  if (!!((_a = this.listContainerElement) === null || _a === void 0 ? void 0 : _a.nativeElement)) {
@@ -2883,7 +2934,7 @@
2883
2934
  return ListComponent;
2884
2935
  }(BaseAngular));
2885
2936
  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 });
2886
- 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 [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"] }] });
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"] }] });
2887
2938
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ListComponent, decorators: [{
2888
2939
  type: i0.Component,
2889
2940
  args: [{
@@ -2909,7 +2960,7 @@
2909
2960
  event.stopPropagation();
2910
2961
  };
2911
2962
  RatingItemComponent.prototype.getModel = function () {
2912
- return this.model;
2963
+ return this.item;
2913
2964
  };
2914
2965
  return RatingItemComponent;
2915
2966
  }(BaseAngular));
@@ -2933,6 +2984,40 @@
2933
2984
  }] } });
2934
2985
  AngularComponentFactory.Instance.registerComponent("sv-rating-item", RatingItemComponent);
2935
2986
 
2987
+ var RatingItemStarComponent = /** @class */ (function (_super) {
2988
+ __extends(RatingItemStarComponent, _super);
2989
+ function RatingItemStarComponent() {
2990
+ return _super !== null && _super.apply(this, arguments) || this;
2991
+ }
2992
+ RatingItemStarComponent.prototype.onClick = function (event) {
2993
+ this.model.setValueFromClick(event.target.value);
2994
+ event.stopPropagation();
2995
+ };
2996
+ RatingItemStarComponent.prototype.getModel = function () {
2997
+ return this.item;
2998
+ };
2999
+ return RatingItemStarComponent;
3000
+ }(BaseAngular));
3001
+ 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"] }] });
3003
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: RatingItemStarComponent, decorators: [{
3004
+ type: i0.Component,
3005
+ args: [{
3006
+ selector: "sv-ng-rating-item-star",
3007
+ templateUrl: "./rating-item-star.component.html",
3008
+ styleUrls: ["../../hide-host.scss"],
3009
+ }]
3010
+ }], propDecorators: { element: [{
3011
+ type: i0.Input
3012
+ }], model: [{
3013
+ type: i0.Input
3014
+ }], item: [{
3015
+ type: i0.Input
3016
+ }], index: [{
3017
+ type: i0.Input
3018
+ }] } });
3019
+ AngularComponentFactory.Instance.registerComponent("sv-rating-item-star", RatingItemStarComponent);
3020
+
2936
3021
  var RatingDropdownComponent = /** @class */ (function () {
2937
3022
  function RatingDropdownComponent() {
2938
3023
  }
@@ -3038,8 +3123,8 @@
3038
3123
  AngularComponentFactory.Instance.registerComponent("sv-progress-progress", ProgressDefaultComponent);
3039
3124
  AngularComponentFactory.Instance.registerComponent("sv-progress-pages", ProgressDefaultComponent);
3040
3125
  AngularComponentFactory.Instance.registerComponent("sv-progress-questions", ProgressDefaultComponent);
3041
- AngularComponentFactory.Instance.registerComponent("sv-progress-correctQuestions", ProgressDefaultComponent);
3042
- AngularComponentFactory.Instance.registerComponent("sv-progress-requiredQuestions", ProgressDefaultComponent);
3126
+ AngularComponentFactory.Instance.registerComponent("sv-progress-correctquestions", ProgressDefaultComponent);
3127
+ AngularComponentFactory.Instance.registerComponent("sv-progress-requiredquestions", ProgressDefaultComponent);
3043
3128
 
3044
3129
  var ProgressButtonsComponent = /** @class */ (function () {
3045
3130
  function ProgressButtonsComponent(changeDetectorRef) {
@@ -3109,6 +3194,39 @@
3109
3194
  }] } });
3110
3195
  AngularComponentFactory.Instance.registerComponent("sv-progress-buttons", ProgressButtonsComponent);
3111
3196
 
3197
+ var ProgressTocComponent = /** @class */ (function (_super) {
3198
+ __extends(ProgressTocComponent, _super);
3199
+ function ProgressTocComponent() {
3200
+ var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
3201
+ _this.containerCss = "sv_progress-toc";
3202
+ return _this;
3203
+ }
3204
+ ProgressTocComponent.prototype.createProgressTOCModel = function () {
3205
+ this.listModel = Survey.createTOCListModel(this.model);
3206
+ };
3207
+ ProgressTocComponent.prototype.ngOnInit = function () {
3208
+ _super.prototype.ngOnInit.call(this);
3209
+ this.createProgressTOCModel();
3210
+ };
3211
+ ProgressTocComponent.prototype.ngOnChanges = function (changes) {
3212
+ this.createProgressTOCModel();
3213
+ };
3214
+ return ProgressTocComponent;
3215
+ }(EmbeddedViewContentComponent));
3216
+ ProgressTocComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ProgressTocComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
3217
+ ProgressTocComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ProgressTocComponent, selector: "sv-progress-toc, sv-ng-progress-toc", inputs: { model: "model" }, usesInheritance: true, usesOnChanges: true, ngImport: i0__namespace, template: "<ng-template #template>\n <div [class]=\"containerCss\">\n <sv-ng-list [model]=\"listModel\"></sv-ng-list>\n </div>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: ListComponent, selector: "sv-ng-list, '[sv-ng-list]'", inputs: ["model"] }] });
3218
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ProgressTocComponent, decorators: [{
3219
+ type: i0.Component,
3220
+ args: [{
3221
+ selector: "sv-progress-toc, sv-ng-progress-toc",
3222
+ templateUrl: "./progress.component.html",
3223
+ styles: [":host { display: none; }"]
3224
+ }]
3225
+ }], propDecorators: { model: [{
3226
+ type: i0.Input
3227
+ }] } });
3228
+ AngularComponentFactory.Instance.registerComponent("sv-progress-toc", ProgressTocComponent);
3229
+
3112
3230
  var PanelComponent = /** @class */ (function (_super) {
3113
3231
  __extends(PanelComponent, _super);
3114
3232
  function PanelComponent() {
@@ -4071,7 +4189,7 @@
4071
4189
  return ImageQuestionComponent;
4072
4190
  }(QuestionAngular));
4073
4191
  ImageQuestionComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ImageQuestionComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
4074
- ImageQuestionComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ImageQuestionComponent, selector: "sv-ng-image-question", usesInheritance: true, ngImport: i0__namespace, template: "<div [class]=\"model.cssClasses.root\" #contentElement>\n <img\n *ngIf=\"model.renderedMode === 'image'\"\n [class]=\"model.getImageCss()\"\n [attr.src]=\"model.locImageLink.renderedHtml\"\n [attr.alt]=\"model.altText || model.title\"\n [attr.width]=\"model.renderedWidth\"\n [attr.height]=\"model.renderedHeight\"\n [style]=\"{ objectFit: model.imageFit }\"\n /><video\n controls\n *ngIf=\"model.renderedMode === 'video'\"\n [class]=\"model.getImageCss()\"\n [attr.src]=\"model.locImageLink.renderedHtml\"\n [attr.width]=\"model.renderedWidth\"\n [attr.height]=\"model.renderedHeight\"\n [style]=\"{ objectFit: model.imageFit }\"\n ></video>\n <iframe\n *ngIf=\"model.renderedMode === 'youtube'\"\n [class]=\"model.getImageCss()\"\n [attr.src]=\"model.locImageLink.renderedHtml | safeResourceUrl\"\n [attr.width]=\"model.renderedWidth\"\n [attr.height]=\"model.renderedHeight\"\n [style]=\"{ objectFit: model.imageFit }\"\n ></iframe>\n</div>", directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "safeResourceUrl": SafeResourceUrlPipe } });
4192
+ ImageQuestionComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ImageQuestionComponent, selector: "sv-ng-image-question", usesInheritance: true, ngImport: i0__namespace, template: "<div [class]=\"model.cssClasses.root\" #contentElement>\n <img\n *ngIf=\"model.renderedMode === 'image'\"\n [class]=\"model.getImageCss()\"\n [attr.src]=\"model.locImageLink.renderedHtml\"\n [attr.alt]=\"model.altText || model.title\"\n [attr.width]=\"model.renderedWidth\"\n [attr.height]=\"model.renderedHeight\"\n [style]=\"{ objectFit: model.imageFit }\"\n (loadedmetadata)=\"model.onLoadHandler()\"\n (error)=\"model.onErrorHandler()\"\n /><video\n controls\n *ngIf=\"model.renderedMode === 'video'\"\n [class]=\"model.getImageCss()\"\n [attr.src]=\"model.locImageLink.renderedHtml\"\n [attr.width]=\"model.renderedWidth\"\n [attr.height]=\"model.renderedHeight\"\n [style]=\"{ objectFit: model.imageFit }\"\n (loadedmetadata)=\"model.onLoadHandler()\"\n (error)=\"model.onErrorHandler()\"\n ></video>\n <iframe\n *ngIf=\"model.renderedMode === 'youtube'\"\n [class]=\"model.getImageCss()\"\n [attr.src]=\"model.locImageLink.renderedHtml | safeResourceUrl\"\n [attr.width]=\"model.renderedWidth\"\n [attr.height]=\"model.renderedHeight\"\n [style]=\"{ objectFit: model.imageFit }\"\n ></iframe>\n <div *ngIf=\"!model.imageLink || model.contentNotLoaded\" [class]=\"model.cssClasses.noImage\">\n <svg [iconName]=\"model.cssClasses.noImageSvgIconId\" [size]=\"48\" sv-ng-svg-icon></svg>\n </div>\n</div>", components: [{ type: SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "safeResourceUrl": SafeResourceUrlPipe } });
4075
4193
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ImageQuestionComponent, decorators: [{
4076
4194
  type: i0.Component,
4077
4195
  args: [{
@@ -4146,24 +4264,24 @@
4146
4264
  SurveyModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SurveyModule, declarations: [VisibleDirective, Key2ClickDirective, PanelDynamicAddBtn, PanelDynamicNextBtn, PanelDynamicPrevBtn, PanelDynamicProgressText, ElementComponent, TemplateRendererComponent,
4147
4265
  SurveyComponent, SurveyContentComponent, PopupSurveyComponent, PageComponent, PanelComponent, QuestionComponent, StringViewerComponent, SurveyStringComponent, StringEditorComponent,
4148
4266
  QuestionSkeletonComponent, TextQuestionComponent, RadiogroupComponent, RadiogroupItemComponent, CheckboxComponent, CheckboxItemComponent,
4149
- CharacterCounterComponent,
4150
4267
  DropdownComponent, DropdownQuestionComponent, DropdownSelectComponent, DropdownOptionItemComponent,
4151
4268
  PopupComponent, PopupBaseContainerComponent, PopupPointerComponent,
4152
- ListComponent, ListItemComponent, RatingItemComponent,
4269
+ CharacterCounterComponent, ListComponent, ListItemComponent, RatingItemComponent, RatingItemStarComponent,
4153
4270
  TagboxFilterComponent, TagboxComponent, TagboxQuestionComponent, TagboxItemComponent,
4154
4271
  ActionBarComponent, ActionComponent, ActionBarItemComponent, ActionBarItemDropdownComponent, HtmlQuestionComponent,
4155
4272
  SelectBaseItemComponent, SelectBaseComponent, SurveyCommentComponent, SurveyCommentOtherComponent, ElementHeaderComponent, ElementTitleActionsComponent, ElementTitleComponent, DynamicHeadComponent, RowComponent,
4156
4273
  RatingQuestionComponent, RatingDropdownComponent, BooleanQuestionComponent, BooleanCheckboxComponent, BooleanRadioComponent, BooleanRadioItemComponent, ImagePickerItemComponent, ImagePickerQuestionComponent, ImageQuestionComponent,
4157
- SurveyHeaderComponent, ProgressDefaultComponent, ProgressButtonsComponent, SurveyNavigationButton, MatrixQuestionComponent, SvgIconComponent, FileQuestionComponent, SafeUrlPipe, SafeHtmlPipe, CommentQuestionComponent, SignaturePadQuestionComponent, ErrorsComponent,
4274
+ SurveyHeaderComponent, ProgressDefaultComponent, ProgressButtonsComponent, ProgressTocComponent, SurveyNavigationButton, MatrixQuestionComponent, SvgIconComponent, FileQuestionComponent, SafeUrlPipe, SafeHtmlPipe, CommentQuestionComponent, SignaturePadQuestionComponent, ErrorsComponent,
4158
4275
  MultipleTextComponent, MultipleTextItemComponent, DynamicComponentDirective, RankingQuestionComponent, RankingItemComponent, PanelDynamicQuestionComponent, EmbeddedViewContentComponent, CustomWidgetComponent, MatrixCellComponent, MatrixTableComponent, MatrixDropdownComponent,
4159
4276
  MatrixDynamicComponent, MatrixDetailButtonComponent, MatrixDynamicRemoveButtonComponent, MatrixDynamicDragDropIconComponent, MatrixRequiredHeader, ExpressionComponent, SafeResourceUrlPipe, BrandInfoComponent,
4160
4277
  CustomQuestionComponent, CompositeQuestionComponent, ButtonGroupItemComponent, ButtonGroupQuestionComponent, MatrixRowComponent, ModalComponent, LogoImageComponent, SkeletonComponent, TimerPanelComponent, PaneldynamicRemoveButtonComponent,
4161
- NotifierComponent], imports: [i2.CommonModule, i3.FormsModule], exports: [VisibleDirective, Key2ClickDirective, PanelDynamicAddBtn, PanelDynamicNextBtn, PanelDynamicPrevBtn, PanelDynamicProgressText, ElementComponent, TemplateRendererComponent,
4278
+ NotifierComponent, ComponentsContainerComponent], imports: [i2.CommonModule, i3.FormsModule], exports: [VisibleDirective, Key2ClickDirective, PanelDynamicAddBtn, PanelDynamicNextBtn, PanelDynamicPrevBtn, PanelDynamicProgressText, ElementComponent, TemplateRendererComponent,
4162
4279
  SurveyComponent, SurveyContentComponent, PopupSurveyComponent, PageComponent, PanelComponent, QuestionComponent, StringViewerComponent, SurveyStringComponent, StringEditorComponent,
4163
4280
  QuestionSkeletonComponent, TextQuestionComponent, RadiogroupComponent, RadiogroupItemComponent, CheckboxComponent, CheckboxItemComponent,
4281
+ CharacterCounterComponent,
4164
4282
  DropdownComponent, DropdownQuestionComponent, DropdownSelectComponent, DropdownOptionItemComponent,
4165
4283
  PopupComponent, PopupBaseContainerComponent, PopupPointerComponent,
4166
- ListComponent, ListItemComponent, RatingItemComponent,
4284
+ CharacterCounterComponent, ListComponent, ListItemComponent, RatingItemComponent, RatingItemStarComponent,
4167
4285
  TagboxFilterComponent, TagboxComponent, TagboxQuestionComponent, TagboxItemComponent,
4168
4286
  ActionBarComponent, ActionComponent, ActionBarItemComponent, ActionBarItemDropdownComponent, HtmlQuestionComponent,
4169
4287
  SelectBaseItemComponent, SelectBaseComponent, SurveyCommentComponent, SurveyCommentOtherComponent, ElementHeaderComponent, ElementTitleComponent, DynamicHeadComponent, RowComponent,
@@ -4172,7 +4290,7 @@
4172
4290
  MultipleTextComponent, MultipleTextItemComponent, DynamicComponentDirective, RankingQuestionComponent, RankingItemComponent, PanelDynamicQuestionComponent, EmbeddedViewContentComponent, CustomWidgetComponent, MatrixCellComponent, MatrixTableComponent, MatrixDropdownComponent,
4173
4291
  MatrixDynamicComponent, MatrixDetailButtonComponent, MatrixDynamicRemoveButtonComponent, MatrixDynamicDragDropIconComponent, MatrixRequiredHeader, ExpressionComponent, SafeResourceUrlPipe,
4174
4292
  CustomQuestionComponent, CompositeQuestionComponent, ButtonGroupQuestionComponent, ModalComponent, LogoImageComponent, SkeletonComponent, TimerPanelComponent, PaneldynamicRemoveButtonComponent,
4175
- NotifierComponent] });
4293
+ NotifierComponent, ComponentsContainerComponent] });
4176
4294
  SurveyModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SurveyModule, providers: [PopupService], imports: [[
4177
4295
  i2.CommonModule, i3.FormsModule
4178
4296
  ]] });
@@ -4183,19 +4301,18 @@
4183
4301
  VisibleDirective, Key2ClickDirective, PanelDynamicAddBtn, PanelDynamicNextBtn, PanelDynamicPrevBtn, PanelDynamicProgressText, ElementComponent, TemplateRendererComponent,
4184
4302
  SurveyComponent, SurveyContentComponent, PopupSurveyComponent, PageComponent, PanelComponent, QuestionComponent, StringViewerComponent, SurveyStringComponent, StringEditorComponent,
4185
4303
  QuestionSkeletonComponent, TextQuestionComponent, RadiogroupComponent, RadiogroupItemComponent, CheckboxComponent, CheckboxItemComponent,
4186
- CharacterCounterComponent,
4187
4304
  DropdownComponent, DropdownQuestionComponent, DropdownSelectComponent, DropdownOptionItemComponent,
4188
4305
  PopupComponent, PopupBaseContainerComponent, PopupPointerComponent,
4189
- ListComponent, ListItemComponent, RatingItemComponent,
4306
+ CharacterCounterComponent, ListComponent, ListItemComponent, RatingItemComponent, RatingItemStarComponent,
4190
4307
  TagboxFilterComponent, TagboxComponent, TagboxQuestionComponent, TagboxItemComponent,
4191
4308
  ActionBarComponent, ActionComponent, ActionBarItemComponent, ActionBarItemDropdownComponent, HtmlQuestionComponent,
4192
4309
  SelectBaseItemComponent, SelectBaseComponent, SurveyCommentComponent, SurveyCommentOtherComponent, ElementHeaderComponent, ElementTitleActionsComponent, ElementTitleComponent, DynamicHeadComponent, RowComponent,
4193
4310
  RatingQuestionComponent, RatingDropdownComponent, BooleanQuestionComponent, BooleanCheckboxComponent, BooleanRadioComponent, BooleanRadioItemComponent, ImagePickerItemComponent, ImagePickerQuestionComponent, ImageQuestionComponent,
4194
- SurveyHeaderComponent, ProgressDefaultComponent, ProgressButtonsComponent, SurveyNavigationButton, MatrixQuestionComponent, SvgIconComponent, FileQuestionComponent, SafeUrlPipe, SafeHtmlPipe, CommentQuestionComponent, SignaturePadQuestionComponent, ErrorsComponent,
4311
+ SurveyHeaderComponent, ProgressDefaultComponent, ProgressButtonsComponent, ProgressTocComponent, SurveyNavigationButton, MatrixQuestionComponent, SvgIconComponent, FileQuestionComponent, SafeUrlPipe, SafeHtmlPipe, CommentQuestionComponent, SignaturePadQuestionComponent, ErrorsComponent,
4195
4312
  MultipleTextComponent, MultipleTextItemComponent, DynamicComponentDirective, RankingQuestionComponent, RankingItemComponent, PanelDynamicQuestionComponent, EmbeddedViewContentComponent, CustomWidgetComponent, MatrixCellComponent, MatrixTableComponent, MatrixDropdownComponent,
4196
4313
  MatrixDynamicComponent, MatrixDetailButtonComponent, MatrixDynamicRemoveButtonComponent, MatrixDynamicDragDropIconComponent, MatrixRequiredHeader, ExpressionComponent, SafeResourceUrlPipe, BrandInfoComponent,
4197
4314
  CustomQuestionComponent, CompositeQuestionComponent, ButtonGroupItemComponent, ButtonGroupQuestionComponent, MatrixRowComponent, ModalComponent, LogoImageComponent, SkeletonComponent, TimerPanelComponent, PaneldynamicRemoveButtonComponent,
4198
- NotifierComponent
4315
+ NotifierComponent, ComponentsContainerComponent
4199
4316
  ],
4200
4317
  imports: [
4201
4318
  i2.CommonModule, i3.FormsModule
@@ -4204,9 +4321,10 @@
4204
4321
  VisibleDirective, Key2ClickDirective, PanelDynamicAddBtn, PanelDynamicNextBtn, PanelDynamicPrevBtn, PanelDynamicProgressText, ElementComponent, TemplateRendererComponent,
4205
4322
  SurveyComponent, SurveyContentComponent, PopupSurveyComponent, PageComponent, PanelComponent, QuestionComponent, StringViewerComponent, SurveyStringComponent, StringEditorComponent,
4206
4323
  QuestionSkeletonComponent, TextQuestionComponent, RadiogroupComponent, RadiogroupItemComponent, CheckboxComponent, CheckboxItemComponent,
4324
+ CharacterCounterComponent,
4207
4325
  DropdownComponent, DropdownQuestionComponent, DropdownSelectComponent, DropdownOptionItemComponent,
4208
4326
  PopupComponent, PopupBaseContainerComponent, PopupPointerComponent,
4209
- ListComponent, ListItemComponent, RatingItemComponent,
4327
+ CharacterCounterComponent, ListComponent, ListItemComponent, RatingItemComponent, RatingItemStarComponent,
4210
4328
  TagboxFilterComponent, TagboxComponent, TagboxQuestionComponent, TagboxItemComponent,
4211
4329
  ActionBarComponent, ActionComponent, ActionBarItemComponent, ActionBarItemDropdownComponent, HtmlQuestionComponent,
4212
4330
  SelectBaseItemComponent, SelectBaseComponent, SurveyCommentComponent, SurveyCommentOtherComponent, ElementHeaderComponent, ElementTitleComponent, DynamicHeadComponent, RowComponent,
@@ -4215,7 +4333,7 @@
4215
4333
  MultipleTextComponent, MultipleTextItemComponent, DynamicComponentDirective, RankingQuestionComponent, RankingItemComponent, PanelDynamicQuestionComponent, EmbeddedViewContentComponent, CustomWidgetComponent, MatrixCellComponent, MatrixTableComponent, MatrixDropdownComponent,
4216
4334
  MatrixDynamicComponent, MatrixDetailButtonComponent, MatrixDynamicRemoveButtonComponent, MatrixDynamicDragDropIconComponent, MatrixRequiredHeader, ExpressionComponent, SafeResourceUrlPipe,
4217
4335
  CustomQuestionComponent, CompositeQuestionComponent, ButtonGroupQuestionComponent, ModalComponent, LogoImageComponent, SkeletonComponent, TimerPanelComponent, PaneldynamicRemoveButtonComponent,
4218
- NotifierComponent
4336
+ NotifierComponent, ComponentsContainerComponent
4219
4337
  ],
4220
4338
  providers: [PopupService],
4221
4339
  }]
@@ -4241,6 +4359,7 @@
4241
4359
  exports.CheckboxComponent = CheckboxComponent;
4242
4360
  exports.CheckboxItemComponent = CheckboxItemComponent;
4243
4361
  exports.CommentQuestionComponent = CommentQuestionComponent;
4362
+ exports.ComponentsContainerComponent = ComponentsContainerComponent;
4244
4363
  exports.CompositeQuestionComponent = CompositeQuestionComponent;
4245
4364
  exports.CustomQuestionComponent = CustomQuestionComponent;
4246
4365
  exports.CustomWidgetComponent = CustomWidgetComponent;
@@ -4294,6 +4413,7 @@
4294
4413
  exports.PopupSurveyComponent = PopupSurveyComponent;
4295
4414
  exports.ProgressButtonsComponent = ProgressButtonsComponent;
4296
4415
  exports.ProgressDefaultComponent = ProgressDefaultComponent;
4416
+ exports.ProgressTocComponent = ProgressTocComponent;
4297
4417
  exports.QuestionAngular = QuestionAngular;
4298
4418
  exports.QuestionComponent = QuestionComponent;
4299
4419
  exports.QuestionSkeletonComponent = QuestionSkeletonComponent;
@@ -4303,6 +4423,7 @@
4303
4423
  exports.RankingQuestionComponent = RankingQuestionComponent;
4304
4424
  exports.RatingDropdownComponent = RatingDropdownComponent;
4305
4425
  exports.RatingItemComponent = RatingItemComponent;
4426
+ exports.RatingItemStarComponent = RatingItemStarComponent;
4306
4427
  exports.RatingQuestionComponent = RatingQuestionComponent;
4307
4428
  exports.RowComponent = RowComponent;
4308
4429
  exports.SafeHtmlPipe = SafeHtmlPipe;