survey-creator-angular 1.9.74 → 1.9.76

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 (116) hide show
  1. package/README.md +14 -205
  2. package/bundles/survey-creator-angular.umd.js +2536 -0
  3. package/bundles/survey-creator-angular.umd.js.map +1 -0
  4. package/esm2015/adorners/cell-question-dropdown.component.js +34 -0
  5. package/esm2015/adorners/cell-question.component.js +28 -0
  6. package/esm2015/adorners/image-item-value.component.js +64 -0
  7. package/esm2015/adorners/item-value.component.js +48 -0
  8. package/esm2015/adorners/matrix-cell.component.js +50 -0
  9. package/esm2015/adorners/question-dropdown.component.js +62 -0
  10. package/esm2015/adorners/question-image.component.js +54 -0
  11. package/esm2015/adorners/question-rating.component.js +54 -0
  12. package/esm2015/angular-ui.js +53 -0
  13. package/esm2015/angular-ui.module.js +92 -0
  14. package/esm2015/components/action-button.component.js +48 -0
  15. package/esm2015/creator-model.component.js +40 -0
  16. package/esm2015/creator.component.js +52 -0
  17. package/esm2015/header/logo-image.component.js +44 -0
  18. package/esm2015/page-navigator/page-navigator-item.component.js +29 -0
  19. package/esm2015/page-navigator/page-navigator.component.js +59 -0
  20. package/esm2015/page.component.js +54 -0
  21. package/esm2015/panel.component.js +20 -0
  22. package/esm2015/property-panel/object-selector.component.js +24 -0
  23. package/esm2015/property-panel/property-grid.component.js +28 -0
  24. package/esm2015/question-editor.component.js +49 -0
  25. package/esm2015/question-widget.component.js +26 -0
  26. package/esm2015/question.component.js +55 -0
  27. package/esm2015/questions/logic-operator.component.js +40 -0
  28. package/esm2015/questions/question-embedded-survey.component.js +30 -0
  29. package/esm2015/questions/question-link-value.component.js +23 -0
  30. package/esm2015/row.component.js +36 -0
  31. package/esm2015/side-bar/side-bar-tab.component.js +23 -0
  32. package/esm2015/side-bar/side-bar.component.js +34 -0
  33. package/esm2015/string-editor.component.js +105 -0
  34. package/esm2015/survey-creator-angular.js +5 -0
  35. package/esm2015/svg-bundle.component.js +22 -0
  36. package/esm2015/tabbed-menu/tabbed-menu/tabbed-menu-item-wrapper.component.js +22 -0
  37. package/esm2015/tabbed-menu/tabbed-menu/tabbed-menu-item.component.js +23 -0
  38. package/esm2015/tabbed-menu/tabbed-menu/tabbed-menu.component.js +35 -0
  39. package/esm2015/tabs/designer/designer-pages.component.js +28 -0
  40. package/esm2015/tabs/designer/designer-survey.component.js +32 -0
  41. package/esm2015/tabs/designer/designer.component.js +33 -0
  42. package/esm2015/tabs/json/json-editor-ace.component.js +29 -0
  43. package/esm2015/tabs/json/json-editor-textarea.component.js +28 -0
  44. package/esm2015/tabs/logic/logic-add-btn.component.js +26 -0
  45. package/esm2015/tabs/logic/logic.component.js +25 -0
  46. package/esm2015/tabs/preview/simulator.component.js +36 -0
  47. package/esm2015/tabs/preview/survey-results-row.component.js +23 -0
  48. package/esm2015/tabs/preview/survey-results.component.js +34 -0
  49. package/esm2015/tabs/preview/test-again.component.js +22 -0
  50. package/esm2015/tabs/preview/test.component.js +27 -0
  51. package/esm2015/tabs/translation/translation-line-skeleton.component.js +17 -0
  52. package/esm2015/tabs/translation/translation.component.js +24 -0
  53. package/esm2015/toolbox/adaptive-toolbox.component.js +40 -0
  54. package/esm2015/toolbox/toolbox-category.component.js +26 -0
  55. package/esm2015/toolbox/toolbox-item.component.js +41 -0
  56. package/esm2015/toolbox/toolbox-tool.component.js +41 -0
  57. package/esm2015/toolbox/toolbox.component.js +28 -0
  58. package/esm2020/adorners/cell-question-dropdown.component.mjs +29 -29
  59. package/esm2020/adorners/cell-question.component.mjs +23 -23
  60. package/esm2020/adorners/image-item-value.component.mjs +59 -59
  61. package/esm2020/adorners/item-value.component.mjs +43 -43
  62. package/esm2020/adorners/matrix-cell.component.mjs +45 -45
  63. package/esm2020/adorners/question-dropdown.component.mjs +53 -53
  64. package/esm2020/adorners/question-image.component.mjs +44 -44
  65. package/esm2020/adorners/question-rating.component.mjs +45 -45
  66. package/esm2020/angular-ui.mjs +52 -52
  67. package/esm2020/angular-ui.module.mjs +91 -91
  68. package/esm2020/components/action-button.component.mjs +43 -43
  69. package/esm2020/creator-model.component.mjs +39 -39
  70. package/esm2020/creator.component.mjs +48 -48
  71. package/esm2020/header/logo-image.component.mjs +39 -39
  72. package/esm2020/page-navigator/page-navigator-item.component.mjs +24 -24
  73. package/esm2020/page-navigator/page-navigator.component.mjs +52 -52
  74. package/esm2020/page.component.mjs +48 -48
  75. package/esm2020/panel.component.mjs +15 -15
  76. package/esm2020/property-panel/object-selector.component.mjs +19 -19
  77. package/esm2020/property-panel/property-grid.component.mjs +23 -23
  78. package/esm2020/question-editor.component.mjs +45 -45
  79. package/esm2020/question-widget.component.mjs +21 -21
  80. package/esm2020/question.component.mjs +49 -49
  81. package/esm2020/questions/logic-operator.component.mjs +32 -32
  82. package/esm2020/questions/question-embedded-survey.component.mjs +25 -25
  83. package/esm2020/questions/question-link-value.component.mjs +18 -18
  84. package/esm2020/row.component.mjs +32 -32
  85. package/esm2020/side-bar/side-bar-tab.component.mjs +18 -18
  86. package/esm2020/side-bar/side-bar.component.mjs +29 -29
  87. package/esm2020/string-editor.component.mjs +98 -98
  88. package/esm2020/survey-creator-angular.mjs +4 -4
  89. package/esm2020/svg-bundle.component.mjs +21 -21
  90. package/esm2020/tabbed-menu/tabbed-menu/tabbed-menu-item-wrapper.component.mjs +17 -17
  91. package/esm2020/tabbed-menu/tabbed-menu/tabbed-menu-item.component.mjs +18 -18
  92. package/esm2020/tabbed-menu/tabbed-menu/tabbed-menu.component.mjs +30 -30
  93. package/esm2020/tabs/designer/designer-pages.component.mjs +23 -23
  94. package/esm2020/tabs/designer/designer-survey.component.mjs +27 -27
  95. package/esm2020/tabs/designer/designer.component.mjs +28 -28
  96. package/esm2020/tabs/json/json-editor-ace.component.mjs +24 -24
  97. package/esm2020/tabs/json/json-editor-textarea.component.mjs +23 -23
  98. package/esm2020/tabs/logic/logic-add-btn.component.mjs +21 -21
  99. package/esm2020/tabs/logic/logic.component.mjs +20 -20
  100. package/esm2020/tabs/preview/simulator.component.mjs +31 -31
  101. package/esm2020/tabs/preview/survey-results-row.component.mjs +18 -18
  102. package/esm2020/tabs/preview/survey-results.component.mjs +29 -29
  103. package/esm2020/tabs/preview/test-again.component.mjs +17 -17
  104. package/esm2020/tabs/preview/test.component.mjs +22 -22
  105. package/esm2020/tabs/translation/translation-line-skeleton.component.mjs +12 -12
  106. package/esm2020/tabs/translation/translation.component.mjs +19 -19
  107. package/esm2020/toolbox/adaptive-toolbox.component.mjs +34 -34
  108. package/esm2020/toolbox/toolbox-category.component.mjs +21 -21
  109. package/esm2020/toolbox/toolbox-item.component.mjs +36 -36
  110. package/esm2020/toolbox/toolbox-tool.component.mjs +36 -36
  111. package/esm2020/toolbox/toolbox.component.mjs +23 -23
  112. package/fesm2015/survey-creator-angular.js +1635 -0
  113. package/fesm2015/survey-creator-angular.js.map +1 -0
  114. package/fesm2015/survey-creator-angular.mjs +1430 -1430
  115. package/fesm2020/survey-creator-angular.mjs +1419 -1419
  116. package/package.json +10 -18
@@ -0,0 +1,1635 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Component, ViewChild, Input, ElementRef, NgModule } from '@angular/core';
3
+ import * as i2 from '@angular/common';
4
+ import { CommonModule } from '@angular/common';
5
+ import * as i1$1 from '@angular/forms';
6
+ import { FormsModule } from '@angular/forms';
7
+ import * as i1 from 'survey-angular-ui';
8
+ import { BaseAngular, AngularComponentFactory, SurveyContentComponent, ButtonGroupQuestionComponent, EmbeddedViewContentComponent, QuestionAngular, SurveyModule } from 'survey-angular-ui';
9
+ import { SvgRegistry, ResponsivityManager, VerticalResponsivityManager, DropdownListModel, RendererFactory } from 'survey-core';
10
+ import { ToolboxToolViewModel, PageAdorner, PageNavigatorViewModel, editorLocalization, SurveyResultsModel, QuestionAdornerViewModel, ItemValueWrapperViewModel, ImageItemValueWrapperViewModel, QuestionDropdownAdornerViewModel, QuestionImageAdornerViewModel, StringEditorViewModelBase, editableStringRendererName, MatrixCellWrapperViewModel, RowViewModel, QuestionRatingAdornerViewModel, LogoImageViewModel } from 'survey-creator-core';
11
+
12
+ class SvgBundleComponent {
13
+ ngOnInit() {
14
+ this.svgContainer.nativeElement.innerHTML = SvgRegistry.iconsRenderedHtml();
15
+ }
16
+ }
17
+ SvgBundleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SvgBundleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
18
+ SvgBundleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: SvgBundleComponent, selector: "svc-svg-bundle", viewQueries: [{ propertyName: "svgContainer", first: true, predicate: ["svgContainer"], descendants: true, static: true }], ngImport: i0, template: "<svg id='sv-icon-holder-global-container' #svgContainer></svg>", isInline: true, styles: [":host { display: none; }"] });
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SvgBundleComponent, decorators: [{
20
+ type: Component,
21
+ args: [{
22
+ selector: "svc-svg-bundle",
23
+ template: "<svg id='sv-icon-holder-global-container' #svgContainer></svg>",
24
+ styles: [":host { display: none; }"]
25
+ }]
26
+ }], propDecorators: { svgContainer: [{
27
+ type: ViewChild,
28
+ args: ["svgContainer", { static: true }]
29
+ }] } });
30
+
31
+ class TabbedMenuItemWrapperComponent extends BaseAngular {
32
+ getModel() {
33
+ return this.model;
34
+ }
35
+ }
36
+ TabbedMenuItemWrapperComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TabbedMenuItemWrapperComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
37
+ TabbedMenuItemWrapperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TabbedMenuItemWrapperComponent, selector: "svc-tabbed-menu-item-wrapper", inputs: { model: "model" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <span class=\"svc-tabbed-menu-item-container\" [class.sv-action--hidden]=\"!model.isVisible\" [class]=\"model.css\">\n <div class=\"sv-action__content\">\n <ng-template [component]=\"{ name: model.component || 'svc-tabbed-menu-item', data: { model } }\"></ng-template>\n </div>\n </span>\n</ng-template>", styles: [":host { display: none; }"], directives: [{ type: i1.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TabbedMenuItemWrapperComponent, decorators: [{
39
+ type: Component,
40
+ args: [{
41
+ selector: "svc-tabbed-menu-item-wrapper",
42
+ templateUrl: "./tabbed-menu-item-wrapper.component.html",
43
+ styles: [":host { display: none; }"]
44
+ }]
45
+ }], propDecorators: { model: [{
46
+ type: Input
47
+ }] } });
48
+
49
+ class TabbledMenuComponent extends BaseAngular {
50
+ getModel() {
51
+ return this.model;
52
+ }
53
+ ngAfterViewInit() {
54
+ this.responsivityManager = new ResponsivityManager(this.container.nativeElement, this.model, ".svc-tabbed-menu-item-container:not(.sv-dots)>.sv-action__content");
55
+ }
56
+ ngOnDestroy() {
57
+ super.ngOnDestroy();
58
+ this.responsivityManager.dispose();
59
+ }
60
+ }
61
+ TabbledMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TabbledMenuComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
62
+ TabbledMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TabbledMenuComponent, selector: "svc-tabbed-menu", inputs: { model: "model" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div class=\"svc-tabbed-menu\" #container>\n <ng-container *ngFor=\"let action of model.renderedActions\"> \n <svc-tabbed-menu-item-wrapper [model]=\"action\"></svc-tabbed-menu-item-wrapper>\n </ng-container>\n </div>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: TabbedMenuItemWrapperComponent, selector: "svc-tabbed-menu-item-wrapper", inputs: ["model"] }], directives: [{ type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
63
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TabbledMenuComponent, decorators: [{
64
+ type: Component,
65
+ args: [{
66
+ selector: "svc-tabbed-menu",
67
+ templateUrl: "./tabbed-menu.component.html",
68
+ styles: [":host { display: none; }"]
69
+ }]
70
+ }], propDecorators: { model: [{
71
+ type: Input
72
+ }], container: [{
73
+ type: ViewChild,
74
+ args: ["container"]
75
+ }] } });
76
+ AngularComponentFactory.Instance.registerComponent("svc-tabbed-menu", TabbledMenuComponent);
77
+
78
+ class SidebarTabComponent extends BaseAngular {
79
+ getModel() {
80
+ return this.model;
81
+ }
82
+ }
83
+ SidebarTabComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SidebarTabComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
84
+ SidebarTabComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: SidebarTabComponent, selector: "svc-side-bar-tab", inputs: { model: "model" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <ng-container *ngIf=\"model.visible\">\n <ng-template [component]=\"{ name: model.componentName, data: { model: model.model } }\"></ng-template>\n </ng-container>\n</ng-template>", styles: [":host { display: none; }"], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
85
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SidebarTabComponent, decorators: [{
86
+ type: Component,
87
+ args: [{
88
+ selector: "svc-side-bar-tab",
89
+ templateUrl: "./side-bar-tab.component.html",
90
+ styles: [":host { display: none; }"]
91
+ }]
92
+ }], propDecorators: { model: [{
93
+ type: Input
94
+ }] } });
95
+
96
+ class SidebarComponent extends BaseAngular {
97
+ getModel() {
98
+ return this.model;
99
+ }
100
+ ngOnDestroy() {
101
+ this.model.resetResizeManager();
102
+ super.ngOnDestroy();
103
+ }
104
+ ngAfterViewInit() {
105
+ this.model.initResizeManager(this.container.nativeElement);
106
+ }
107
+ }
108
+ SidebarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SidebarComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
109
+ SidebarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: SidebarComponent, selector: "svc-side-bar", inputs: { model: "model" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div class=\"svc-side-bar\" [class.svc-flyout-side-bar]=\"model.flyoutPanelMode\" [visible]=\"model.hasVisibleTabs\">\n <div class=\"svc-side-bar__shadow\" (click)=\"model.collapseSidebar()\"></div>\n <div class=\"svc-flex-column svc-side-bar__wrapper\">\n <div class=\"svc-side-bar__container\" [visible]=\"model.visible\" #container>\n <div class=\"svc-side-bar__container-header\">\n <div class=\"svc-side-bar__container-actions\">\n <sv-action-bar [model]=\"model.toolbar\"></sv-action-bar>\n </div>\n <div *ngIf=\"!!model.headerText\" class=\"svc-side-bar__container-title\">{{model.headerText}}</div>\n </div>\n <div class=\"svc-side-bar__container-content\">\n <ng-container *ngFor=\"let tab of model.tabs\">\n <svc-side-bar-tab [model]=\"tab\"></svc-side-bar-tab> \n </ng-container>\n </div>\n <div class=\"svc-side-bar__container-close\">\n <div class=\"sd-btn sd-btn--action svc-side-bar__container-close-button\"\n (click)=\"model.collapseSidebar()\"> {{ model.closeText }}</div>\n </div>\n </div>\n </div>\n </div>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: i1.ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }, { type: SidebarTabComponent, selector: "svc-side-bar-tab", inputs: ["model"] }], directives: [{ type: i1.VisibleDirective, selector: "[visible]", inputs: ["visible"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
110
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SidebarComponent, decorators: [{
111
+ type: Component,
112
+ args: [{
113
+ selector: "svc-side-bar",
114
+ templateUrl: "./side-bar.component.html",
115
+ styles: [":host { display: none; }"]
116
+ }]
117
+ }], propDecorators: { model: [{
118
+ type: Input
119
+ }], container: [{
120
+ type: ViewChild,
121
+ args: ["container"]
122
+ }] } });
123
+
124
+ class CreatorComponent extends BaseAngular {
125
+ constructor(changeDetectorRef) {
126
+ super(changeDetectorRef);
127
+ changeDetectorRef.detach();
128
+ }
129
+ getModel() {
130
+ return this.model;
131
+ }
132
+ get creator() {
133
+ return this.model;
134
+ }
135
+ getShouldReattachChangeDetector() {
136
+ return false;
137
+ }
138
+ onModelChanged() {
139
+ this.changeDetectorRef.detectChanges();
140
+ }
141
+ ngAfterViewInit() {
142
+ this.creator.initKeyboardShortcuts(this.container.nativeElement);
143
+ this.creator.initResponsivityManager(this.container.nativeElement);
144
+ super.ngOnInit();
145
+ }
146
+ ngOnDestroy() {
147
+ this.creator.removeKeyboardShortcuts(this.container.nativeElement);
148
+ this.creator.resetResponsivityManager();
149
+ super.ngOnDestroy();
150
+ }
151
+ }
152
+ CreatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CreatorComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
153
+ CreatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CreatorComponent, selector: "survey-creator", inputs: { model: "model" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"!creator.isCreatorDisposed\">\n <sv-ng-modal-container></sv-ng-modal-container>\n <div class=\"svc-creator\" [class.svc-creator--mobile]=\"creator.isMobileView\" #container>\n <div>\n <svc-svg-bundle></svc-svg-bundle>\n </div>\n <div class=\"svc-full-container svc-creator__area svc-flex-column\"\n [class.svc-creator__area--with-banner]=\"!creator.haveCommercialLicense\">\n <div class=\"svc-flex-row svc-full-container\"\n [class.svc-creator__side-bar--left]=\"creator.sidebarLocation == 'left'\">\n <div class=\"svc-flex-column svc-flex-row__element svc-flex-row__element--growing\">\n <div class=\"svc-top-bar\">\n <div class=\"svc-tabbed-menu-wrapper\" [visible]=\"creator.showTabs\">\n <svc-tabbed-menu [model]=\"creator.tabbedMenu\"></svc-tabbed-menu>\n </div>\n <div *ngIf=\"creator.showToolbar\" class=\"svc-toolbar-wrapper\" [visible]=\"creator.showToolbar\">\n <sv-action-bar [model]=\"creator.toolbar\"></sv-action-bar>\n </div>\n </div>\n <div class=\"svc-creator__content-wrapper svc-flex-row\"\n [class.svc-creator__content-wrapper--footer-toolbar]=\"creator.isMobileView\">\n <div class=\"svc-creator__content-holder svc-flex-column\">\n <ng-container *ngFor=\"let tab of creator.tabs\">\n <div class=\"svc-creator-tab\" *ngIf=\"creator.viewType == tab.id && tab.visible\"\n [attr.id]=\"'scrollableDiv-' + tab.id\" [class.svc-creator__toolbox--right]=\"creator.toolboxLocation == 'right'\">\n <ng-template [component]=\"{ name: tab.componentContent, data: { model: tab.data.model } }\"></ng-template>\n </div>\n </ng-container>\n </div>\n </div>\n <div *ngIf=\"creator.isMobileView\" class=\"svc-footer-bar\">\n <div class=\"svc-toolbar-wrapper\" [visible]=\"creator.isMobileView\">\n <sv-action-bar [model]=\"creator.footerToolbar\"></sv-action-bar>\n </div>\n </div>\n </div>\n <div *ngIf=\"creator.sidebar\" [class.sv-mobile-side-bar]=\"creator.isMobileView\">\n <svc-side-bar [model]=\"creator.sidebar\"></svc-side-bar>\n </div>\n </div>\n <div class=\"svc-creator__banner\" *ngIf=\"!creator.haveCommercialLicense\">\n <span class=\"svc-creator__non-commercial-text\">\n <a href=\"https://surveyjs.io/buy\">\n {{creator.licenseText}}\n </a>\n </span>\n </div>\n <sv-notifier [notifier]=\"creator.notifier\"></sv-notifier>\n </div>\n </div>\n</ng-container>", components: [{ type: i1.ModalComponent, selector: "sv-ng-modal-container" }, { type: SvgBundleComponent, selector: "svc-svg-bundle" }, { type: TabbledMenuComponent, selector: "svc-tabbed-menu", inputs: ["model"] }, { type: i1.ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }, { type: SidebarComponent, selector: "svc-side-bar", inputs: ["model"] }, { type: i1.NotifierComponent, selector: "sv-notifier", inputs: ["notifier"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.VisibleDirective, selector: "[visible]", inputs: ["visible"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
154
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CreatorComponent, decorators: [{
155
+ type: Component,
156
+ args: [{
157
+ selector: "survey-creator",
158
+ templateUrl: "./creator.component.html"
159
+ }]
160
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { model: [{
161
+ type: Input
162
+ }], container: [{
163
+ type: ViewChild,
164
+ args: ["container", { read: ElementRef }]
165
+ }] } });
166
+ AngularComponentFactory.Instance.registerComponent("survey-widget", SurveyContentComponent);
167
+
168
+ class CreatorModelComponent extends BaseAngular {
169
+ createHash() {
170
+ this.hash = {};
171
+ this.getPropertiesToTrack().forEach((prop) => {
172
+ this.hash[prop] = this[prop];
173
+ });
174
+ }
175
+ ngOnInit() {
176
+ this.createModel();
177
+ this.createHash();
178
+ super.ngOnInit();
179
+ }
180
+ ngDoCheck() {
181
+ if (this.needUpdateModel())
182
+ this.createModel();
183
+ super.ngDoCheck();
184
+ }
185
+ needUpdateModel() {
186
+ let res = false;
187
+ Object.keys(this.hash).forEach(key => {
188
+ if (this.hash[key] != this[key]) {
189
+ this.hash[key] = this[key];
190
+ res = true;
191
+ }
192
+ });
193
+ return res;
194
+ }
195
+ }
196
+ CreatorModelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CreatorModelComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
197
+ CreatorModelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CreatorModelComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "", isInline: true });
198
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CreatorModelComponent, decorators: [{
199
+ type: Component,
200
+ args: [{
201
+ template: ""
202
+ }]
203
+ }] });
204
+
205
+ class ToolboxToolComponent extends CreatorModelComponent {
206
+ constructor() {
207
+ super(...arguments);
208
+ this.isCompact = false;
209
+ }
210
+ createModel() {
211
+ this.model = new ToolboxToolViewModel(this.item, this.creator);
212
+ }
213
+ getPropertiesToTrack() {
214
+ return ["creator", "item"];
215
+ }
216
+ getModel() {
217
+ return this.item;
218
+ }
219
+ getPropertiesToUpdateSync() {
220
+ return ["mode"];
221
+ }
222
+ }
223
+ ToolboxToolComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ToolboxToolComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
224
+ ToolboxToolComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ToolboxToolComponent, selector: "svc-toolbox-tool", inputs: { creator: "creator", item: "item", isCompact: "isCompact" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div class=\"svc-toolbox__tool\"\n [class.sv-action--hidden]=\"!item.isVisible\" [class]=\"item.css\" (pointerdown)=\"model.onPointerDown($event)\">\n <div class=\"sv-action__content\">\n <div class=\"svc-toolbox__category-separator\" *ngIf=\"item.needSeparator && !creator.toolbox.showCategoryTitles\"></div>\n <ng-template [component]=\"{ name: item.component || 'svc-toolbox-item', default: 'svc-toolbox-item', data: { model: item, viewModel: model, creator: creator, isCompact: isCompact } }\"></ng-template>\n </div>\n </div>\n</ng-template>", styles: [":host { display: none; }"], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
225
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ToolboxToolComponent, decorators: [{
226
+ type: Component,
227
+ args: [{
228
+ selector: "svc-toolbox-tool",
229
+ templateUrl: "./toolbox-tool.component.html",
230
+ styles: [":host { display: none; }"]
231
+ }]
232
+ }], propDecorators: { creator: [{
233
+ type: Input
234
+ }], item: [{
235
+ type: Input
236
+ }], isCompact: [{
237
+ type: Input
238
+ }] } });
239
+
240
+ class ToolboxCategoryComponent extends BaseAngular {
241
+ getModel() {
242
+ return this.category;
243
+ }
244
+ }
245
+ ToolboxCategoryComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ToolboxCategoryComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
246
+ ToolboxCategoryComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ToolboxCategoryComponent, selector: "svc-toolbox-category ", inputs: { category: "category", toolbox: "toolbox" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div class=\"svc-toolbox__category\" [class.svc-toolbox__category--collapsed]=\"category.collapsed\">\n <div class=\"svc-toolbox__category-header\"\n (click)=\"category.toggleState()\" [key2click] [class.svc-toolbox__category-header--collapsed]=\"toolbox.canCollapseCategories\">\n <span class=\"svc-toolbox__category-title\">{{category.name}}</span>\n <div *ngIf=\"toolbox.canCollapseCategories\" class=\"svc-toolbox__category-header__controls\">\n <svg [iconName]=\"'icon-arrow-down'\" class=\"svc-toolbox__category-header__button svc-string-editor__button--expand\" [size]=\"24\" sv-ng-svg-icon [visible]=\"category.collapsed\"></svg>\n <svg [iconName]=\"'icon-arrow-up'\" class=\"svc-toolbox__category-header__button svc-string-editor__button--collapse\" [size]=\"24\" sv-ng-svg-icon [visible]=\"!category.collapsed\"></svg>\n </div>\n </div>\n <ng-container *ngFor=\"let item of category.items\">\n <svc-toolbox-tool [item]=\"item\" [creator]=\"toolbox.creator\" [isCompact]=\"false\" ></svc-toolbox-tool>\n </ng-container>\n </div>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: i1.SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: ToolboxToolComponent, selector: "svc-toolbox-tool", inputs: ["creator", "item", "isCompact"] }], directives: [{ type: i1.Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.VisibleDirective, selector: "[visible]", inputs: ["visible"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
247
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ToolboxCategoryComponent, decorators: [{
248
+ type: Component,
249
+ args: [{
250
+ selector: "svc-toolbox-category ",
251
+ templateUrl: "./toolbox-category.component.html",
252
+ styles: [":host { display: none; }"]
253
+ }]
254
+ }], propDecorators: { category: [{
255
+ type: Input
256
+ }], toolbox: [{
257
+ type: Input
258
+ }] } });
259
+
260
+ class AdaptiveToolboxComponent extends BaseAngular {
261
+ get model() {
262
+ return this.creator.toolbox;
263
+ }
264
+ ngAfterViewInit() {
265
+ this.responsivityManager =
266
+ new VerticalResponsivityManager(this.container.nativeElement, this.model, ".svc-toolbox__tool:not(.sv-dots)");
267
+ }
268
+ getModel() {
269
+ return this.model;
270
+ }
271
+ ngOnDestroy() {
272
+ var _a;
273
+ (_a = this.responsivityManager) === null || _a === void 0 ? void 0 : _a.dispose();
274
+ super.ngOnDestroy();
275
+ }
276
+ }
277
+ AdaptiveToolboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AdaptiveToolboxComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
278
+ AdaptiveToolboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: AdaptiveToolboxComponent, selector: "svc-adaptive-toolbox", inputs: { creator: "creator" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div class=\"svc-toolbox\" [class.svc-toolbox--compact]=\"model.isCompact\" #container>\n <div class=\"svc-toolbox__container\">\n <ng-container *ngIf=\"!(model.isCompact || model.categories.length == 1 || !model.showCategoryTitles)\">\n <svc-toolbox-category *ngFor=\"let category of model.categories\" [category]=\"category\" [toolbox]=\"model\"></svc-toolbox-category>\n </ng-container>\n <ng-container *ngIf=\"model.isCompact || model.categories.length == 1 || !model.showCategoryTitles\">\n <div class=\"svc-toolbox__category\">\n <svc-toolbox-tool *ngFor=\"let item of model.renderedActions\" [creator]=\"creator\" [item]=\"item\" [isCompact]=\"model.isCompact\"></svc-toolbox-tool>\n </div>\n </ng-container>\n </div>\n </div>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: ToolboxCategoryComponent, selector: "svc-toolbox-category ", inputs: ["category", "toolbox"] }, { type: ToolboxToolComponent, selector: "svc-toolbox-tool", inputs: ["creator", "item", "isCompact"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
279
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AdaptiveToolboxComponent, decorators: [{
280
+ type: Component,
281
+ args: [{
282
+ selector: "svc-adaptive-toolbox",
283
+ templateUrl: "./adaptive-toolbox.component.html",
284
+ styles: [":host { display: none; }"]
285
+ }]
286
+ }], propDecorators: { creator: [{
287
+ type: Input
288
+ }], container: [{
289
+ type: ViewChild,
290
+ args: ["container"]
291
+ }] } });
292
+
293
+ class PageDesignerComponent extends CreatorModelComponent {
294
+ createModel() {
295
+ var _a;
296
+ if (this.model) {
297
+ (_a = this.previousModel) === null || _a === void 0 ? void 0 : _a.dispose();
298
+ this.adorner = new PageAdorner(this.creator, this.model);
299
+ }
300
+ }
301
+ getModel() {
302
+ return this.adorner;
303
+ }
304
+ getPropertiesToTrack() {
305
+ return ["creator", "model"];
306
+ }
307
+ addNewQuestion(event) {
308
+ event.stopPropagation();
309
+ this.adorner.addNewQuestion(this.adorner, event);
310
+ }
311
+ selectQuestionType(event) {
312
+ event.stopPropagation();
313
+ this.adorner.questionTypeSelectorModel.action();
314
+ }
315
+ ngOnDestroy() {
316
+ super.ngOnDestroy();
317
+ this.adorner.dispose();
318
+ }
319
+ }
320
+ PageDesignerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PageDesignerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
321
+ PageDesignerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PageDesignerComponent, selector: "svc-page", inputs: { model: "model", survey: "survey", creator: "creator", isGhost: "isGhost" }, usesInheritance: true, ngImport: i0, template: "<div *ngIf=\"model && adorner && (isGhost === undefined || isGhost === adorner.isGhost)\" class=\"svc-page__content\" [class]=\"adorner.css\" [key2click]\n (click)=\"adorner.select(adorner, $event)\" (mouseover)=\"adorner.hover($event, $event.currentTarget)\"\n (mouseleave)=\"adorner.hover($event, $event.target)\" [id]=\"adorner.page.id\" data-bind=\"clickBubble: false\">\n <div class=\"svc-page__content-actions\">\n <sv-action-bar [model]=\"adorner.actionContainer\"></sv-action-bar>\n </div>\n <page [model]=\"model\" [survey]=\"survey\"></page>\n <div *ngIf=\"adorner.showAddQuestionButton\" class=\"svc-page__add-new-question svc-btn\" [key2click]\n (click)=\"addNewQuestion($event)\" (mouseover)=\"adorner.hoverStopper($event, $event.currentTarget)\"\n data-bind=\"clickBubble: false\">\n <span class=\"svc-text svc-text--normal svc-text--bold\">\n {{ adorner.addNewQuestionText }}\n </span>\n <!-- ko with: questionTypeSelectorModel -->\n <button type=\"button\" [key2click] (click)=\"selectQuestionType($event)\"\n [attr.title]=\"adorner.questionTypeSelectorModel.title\" [attr.aria-label]=\"adorner.questionTypeSelectorModel.title\"\n class=\"svc-page__question-type-selector\">\n <svg class=\"svc-page__question-type-selector-icon\" [iconName]=\"adorner.questionTypeSelectorModel.iconName\"\n [size]=\"24\" sv-ng-svg-icon></svg>\n <sv-ng-popup [popupModel]=\"adorner.questionTypeSelectorModel.popupModel\"></sv-ng-popup>\n </button>\n <!-- /ko -->\n </div>\n</div>", components: [{ type: i1.ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }, { type: i1.PageComponent, selector: "page, sv-ng-page", inputs: ["model", "survey"] }, { type: i1.SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: i1.PopupComponent, selector: "sv-ng-popup, '[sv-ng-popup]'", inputs: ["popupModel"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }] });
322
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PageDesignerComponent, decorators: [{
323
+ type: Component,
324
+ args: [{
325
+ selector: "svc-page",
326
+ templateUrl: "./page.component.html",
327
+ styles: []
328
+ }]
329
+ }], propDecorators: { model: [{
330
+ type: Input
331
+ }], survey: [{
332
+ type: Input
333
+ }], creator: [{
334
+ type: Input
335
+ }], isGhost: [{
336
+ type: Input
337
+ }] } });
338
+ AngularComponentFactory.Instance.registerComponent("svc-page", PageDesignerComponent);
339
+
340
+ class DesignerPagesComponent extends BaseAngular {
341
+ getModel() {
342
+ return this.model.pagesController;
343
+ }
344
+ get creator() {
345
+ return this.model.creator;
346
+ }
347
+ get survey() {
348
+ return this.creator.survey;
349
+ }
350
+ }
351
+ DesignerPagesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DesignerPagesComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
352
+ DesignerPagesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DesignerPagesComponent, selector: "svc-designer-pages", inputs: { model: "model" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <svc-page class=\"svc-page\" [attr.data-sv-drop-target-survey-element]=\"'newGhostPage'\" [attr.data-sv-drop-target-page]=\"model.pagesController.page2Display.name\" [model]=\"model.pagesController.page2Display\" [survey]=\"survey\" [creator]=\"creator\"></svc-page>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: PageDesignerComponent, selector: "svc-page", inputs: ["model", "survey", "creator", "isGhost"] }] });
353
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DesignerPagesComponent, decorators: [{
354
+ type: Component,
355
+ args: [{
356
+ selector: "svc-designer-pages",
357
+ templateUrl: "./designer-pages.component.html",
358
+ styles: [":host { display: none; }"]
359
+ }]
360
+ }], propDecorators: { model: [{
361
+ type: Input
362
+ }] } });
363
+
364
+ class PageNavigatorItemComponent extends BaseAngular {
365
+ getModel() {
366
+ return this.model;
367
+ }
368
+ get anyModel() {
369
+ return this.model;
370
+ }
371
+ click(event) {
372
+ event.stopPropagation();
373
+ this.getModel().action();
374
+ }
375
+ }
376
+ PageNavigatorItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PageNavigatorItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
377
+ PageNavigatorItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PageNavigatorItemComponent, selector: "svc-page-navigator-item", inputs: { model: "model" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div class=\"svc-page-navigator-item\">\n <div class=\"svc-page-navigator-item-content\" (click)=\"click($event)\" [key2click]\n [class.svc-page-navigator-item--selected]=\"model.active\"\n [class.svc-page-navigator-item--disabled]=\"anyModel.disabled\">\n <div class=\"svc-page-navigator-item__dot\" [attr.title]=\"model.title\"></div>\n\n <div class=\"svc-page-navigator-item__banner svc-item__banner\">\n <span class=\"svc-text svc-text--small svc-text--bold\">{{model.title}}</span>\n <span class=\"svc-page-navigator-item__dot\"></span>\n </div>\n </div>\n </div>\n</ng-template>", styles: [":host { display: none; }"], directives: [{ type: i1.Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }] });
378
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PageNavigatorItemComponent, decorators: [{
379
+ type: Component,
380
+ args: [{
381
+ selector: "svc-page-navigator-item",
382
+ templateUrl: "./page-navigator-item.component.html",
383
+ styles: [":host { display: none; }"]
384
+ }]
385
+ }], propDecorators: { model: [{
386
+ type: Input
387
+ }] } });
388
+
389
+ class PageNavigatorComponent extends CreatorModelComponent {
390
+ createModel() {
391
+ this.model = new PageNavigatorViewModel(this.pagesController, this.pageEditMode);
392
+ }
393
+ getModel() {
394
+ return this.model;
395
+ }
396
+ getPropertiesToTrack() {
397
+ return ["pagesController", "pageEditMode"];
398
+ }
399
+ ngAfterViewInit() {
400
+ var _a, _b;
401
+ if (this.pageEditMode !== "bypage") {
402
+ const el = this.container.nativeElement;
403
+ if (!!el && !!((_b = (_a = el.parentElement) === null || _a === void 0 ? void 0 : _a.parentElement) === null || _b === void 0 ? void 0 : _b.parentElement)) {
404
+ const self = this;
405
+ el.parentElement.parentElement.parentElement.onscroll = function (ev) {
406
+ return self.model.onContainerScroll(ev.currentTarget);
407
+ };
408
+ self.model.setItemsContainer(el.parentElement);
409
+ }
410
+ }
411
+ }
412
+ ngOnDestroy() {
413
+ var _a, _b;
414
+ super.ngOnDestroy();
415
+ const el = this.container.nativeElement;
416
+ if (!!el && !!((_b = (_a = el.parentElement) === null || _a === void 0 ? void 0 : _a.parentElement) === null || _b === void 0 ? void 0 : _b.parentElement)) {
417
+ el.parentElement.parentElement.parentElement.onscroll = undefined;
418
+ }
419
+ this.model.stopItemsContainerHeightObserver();
420
+ this.model.dispose();
421
+ }
422
+ }
423
+ PageNavigatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PageNavigatorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
424
+ PageNavigatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PageNavigatorComponent, selector: "svc-page-navigator", inputs: { pagesController: "pagesController", pageEditMode: "pageEditMode" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div class=\"svc-page-navigator\" #container>\n <ng-container *ngIf=\"model.visible\">\n <div class=\"svc-page-navigator__selector\"\n (click)=\"model.togglePageSelector($event)\" [key2click] [attr.title]=\"model.pageSelectorCaption\" [class.svc-page-navigator__selector--opened]=\"model.isPopupOpened\">\n <svg class=\"svc-page-navigator__navigator-icon\" [iconName]=\"model.icon\" [size]=\"24\" sv-ng-svg-icon></svg>\n <sv-ng-popup [popupModel]=\"model.popupModel\"></sv-ng-popup>\n </div>\n <div>\n <svc-page-navigator-item *ngFor=\"let item of model.visibleItems\" [model]=\"item\"></svc-page-navigator-item>\n </div>\n </ng-container>\n </div>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: i1.SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: i1.PopupComponent, selector: "sv-ng-popup, '[sv-ng-popup]'", inputs: ["popupModel"] }, { type: PageNavigatorItemComponent, selector: "svc-page-navigator-item", inputs: ["model"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
425
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PageNavigatorComponent, decorators: [{
426
+ type: Component,
427
+ args: [{
428
+ selector: "svc-page-navigator",
429
+ templateUrl: "./page-navigator.component.html",
430
+ styles: [":host { display: none; }"]
431
+ }]
432
+ }], propDecorators: { pagesController: [{
433
+ type: Input
434
+ }], pageEditMode: [{
435
+ type: Input
436
+ }], container: [{
437
+ type: ViewChild,
438
+ args: ["container"]
439
+ }] } });
440
+
441
+ class DesignerSurveyComponent extends BaseAngular {
442
+ getModel() {
443
+ return this.model.survey;
444
+ }
445
+ get creator() {
446
+ return this.model.creator;
447
+ }
448
+ get survey() {
449
+ return this.creator.survey;
450
+ }
451
+ }
452
+ DesignerSurveyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DesignerSurveyComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
453
+ DesignerSurveyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DesignerSurveyComponent, selector: "svc-designer-survey", inputs: { model: "model" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div [class]=\"model.designerCss\" [style.maxWidth]=\"survey.renderedWidth\">\n <div *ngIf=\"creator.allowEditSurveyTitle\" class=\"svc-designer-header\">\n <div *ngIf=\"survey.renderedHasHeader\" [class]=\"survey.css.header\" [survey]=\"survey\" sv-ng-survey-header></div>\n </div>\n\n <!-- ko if: survey.isShowProgressBarOnTop -->\n <!-- ko component: { name: 'sv-progress-' + survey.progressBarType, params: { model: survey } } -->\n <!-- /ko -->\n <!-- /ko -->\n <ng-container *ngIf=\"creator.pageEditMode !== 'bypage'\">\n <ng-container *ngFor=\"let page of survey.pages\">\n <svc-page class=\"svc-page\" *ngIf=\"!model.showNewPage || page !== model.newPage\"\n [attr.data-sv-drop-target-survey-element]=\"page.name\" [attr.data-sv-drop-target-page]=\"page.name\"\n [model]=\"page\" [survey]=\"survey\" [creator]=\"creator\"></svc-page>\n </ng-container>\n <svc-page *ngIf=\"model.showNewPage && model.newPage\" class=\"svc-page\"\n [attr.data-sv-drop-target-survey-element]=\"'newGhostPage'\" [model]=\"model.newPage\" [survey]=\"survey\"\n [creator]=\"creator\" [isGhost]=\"true\"></svc-page>\n </ng-container>\n <ng-container *ngIf=\"model.pagesController.page2Display && creator.pageEditMode === 'bypage'\">\n <svc-designer-pages [model]=\"model\"></svc-designer-pages>\n </ng-container>\n\n <!-- ko if: survey.isShowProgressBarOnBottom -->\n <!-- ko component: { name: 'sv-progress-' + survey.progressBarType, params: { model: survey } } -->\n <!-- /ko -->\n <!-- /ko -->\n </div>\n\n <div *ngIf=\"creator.showPageNavigator\" class=\"svc-tab-designer__page-navigator\">\n <svc-page-navigator [pagesController]=\"model.pagesController\" [pageEditMode]=\"creator.pageEditMode\">\n </svc-page-navigator>\n </div>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: i1.SurveyHeaderComponent, selector: "'[sv-ng-survey-header]'", inputs: ["survey"] }, { type: PageDesignerComponent, selector: "svc-page", inputs: ["model", "survey", "creator", "isGhost"] }, { type: DesignerPagesComponent, selector: "svc-designer-pages", inputs: ["model"] }, { type: PageNavigatorComponent, selector: "svc-page-navigator", inputs: ["pagesController", "pageEditMode"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
454
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DesignerSurveyComponent, decorators: [{
455
+ type: Component,
456
+ args: [{
457
+ selector: "svc-designer-survey",
458
+ templateUrl: "./designer-survey.component.html",
459
+ styles: [":host { display: none; }"]
460
+ }]
461
+ }], propDecorators: { model: [{
462
+ type: Input
463
+ }] } });
464
+
465
+ class DesignerTabComponent extends BaseAngular {
466
+ get survey() {
467
+ return this.creator.survey;
468
+ }
469
+ get creator() {
470
+ return this.model.creator;
471
+ }
472
+ getModel() {
473
+ return this.model;
474
+ }
475
+ }
476
+ DesignerTabComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DesignerTabComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
477
+ DesignerTabComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DesignerTabComponent, selector: "svc-tab-designer", inputs: { model: "model" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div class=\"svc-flex-column\">\n <svc-adaptive-toolbox *ngIf=\"model.isToolboxVisible\" [creator]=\"creator\"></svc-adaptive-toolbox>\n </div>\n <div class=\"svc-tab-designer\" [class]=\"model.getRootCss()\" (click)=\"model.clickDesigner()\">\n <div class=\"svc-tab-designer_content\">\n <ng-container *ngIf=\"model.showPlaceholder\">\n <div *ngIf=\"creator.showHeaderInEmptySurvey && creator.allowEditSurveyTitle\" class=\"svc-designer-header\">\n <div *ngIf=\"survey.renderedHasHeader\" [class]=\"survey.css.header\" [survey]=\"survey\" sv-ng-survey-header></div>\n </div>\n <div class=\"svc-designer__placeholder-container\" [attr.data-sv-drop-target-survey-element]=\"'newGhostPage'\">\n <span class=\"svc-designer-placeholder-text svc-text svc-text--normal\">\n {{ model.placeholderText }}\n </span>\n <svc-page class=\"svc-designer-placeholder-page\" [model]=\"model.newPage\" [survey]=\"survey\" [creator]=\"creator\"></svc-page>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"!model.showPlaceholder\">\n <svc-designer-survey [model]=\"model\"></svc-designer-survey>\n </ng-container>\n </div>\n </div>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: AdaptiveToolboxComponent, selector: "svc-adaptive-toolbox", inputs: ["creator"] }, { type: i1.SurveyHeaderComponent, selector: "'[sv-ng-survey-header]'", inputs: ["survey"] }, { type: PageDesignerComponent, selector: "svc-page", inputs: ["model", "survey", "creator", "isGhost"] }, { type: DesignerSurveyComponent, selector: "svc-designer-survey", inputs: ["model"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
478
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DesignerTabComponent, decorators: [{
479
+ type: Component,
480
+ args: [{
481
+ selector: "svc-tab-designer",
482
+ templateUrl: "./designer.component.html",
483
+ styles: [":host { display: none; }"]
484
+ }]
485
+ }], propDecorators: { model: [{
486
+ type: Input
487
+ }] } });
488
+ AngularComponentFactory.Instance.registerComponent("svc-tab-designer", DesignerTabComponent);
489
+
490
+ class TabbedMenuItemComponent extends BaseAngular {
491
+ getModel() {
492
+ return this.model;
493
+ }
494
+ }
495
+ TabbedMenuItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TabbedMenuItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
496
+ TabbedMenuItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TabbedMenuItemComponent, selector: "svc-tabbed-menu-item", inputs: { model: "model" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div\n class=\"svc-tabbed-menu-item\"\n [class.svc-tabbed-menu-item--selected]=\"model.active\"\n [class.svc-tabbed-menu-item--disabled]=\"model.disabled\"\n (click)=\"model.action()\" [key2click]\n >\n <span\n class=\"svc-text svc-text--normal svc-tabbed-menu-item__text\"\n [class.svc-text--bold]=\"model.active\"\n >\n {{model.title}}\n </span>\n </div>\n</ng-template>\n", styles: [":host { display: none; }"], directives: [{ type: i1.Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }] });
497
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TabbedMenuItemComponent, decorators: [{
498
+ type: Component,
499
+ args: [{
500
+ selector: "svc-tabbed-menu-item",
501
+ templateUrl: "./tabbed-menu-item.component.html",
502
+ styles: [":host { display: none; }"]
503
+ }]
504
+ }], propDecorators: { model: [{
505
+ type: Input
506
+ }] } });
507
+ AngularComponentFactory.Instance.registerComponent("svc-tabbed-menu-item", TabbedMenuItemComponent);
508
+
509
+ class ObjectSelectorComponent extends BaseAngular {
510
+ getModel() {
511
+ return this.model;
512
+ }
513
+ }
514
+ ObjectSelectorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ObjectSelectorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
515
+ ObjectSelectorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ObjectSelectorComponent, selector: "svc-object-selector", inputs: { model: "model" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div class=\"svc-object-selector\" *ngIf=\"model.isVisible\">\n <sv-ng-list [model]=\"model.list\"></sv-ng-list>\n </div>\n</ng-template>\n", styles: [":host { display: none; }"], components: [{ type: i1.ListComponent, selector: "sv-ng-list, '[sv-ng-list]'", inputs: ["model"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
516
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ObjectSelectorComponent, decorators: [{
517
+ type: Component,
518
+ args: [{
519
+ selector: "svc-object-selector",
520
+ templateUrl: "./object-selector.component.html",
521
+ styles: [":host { display: none; }"]
522
+ }]
523
+ }], propDecorators: { model: [{
524
+ type: Input
525
+ }] } });
526
+ AngularComponentFactory.Instance.registerComponent("svc-object-selector", ObjectSelectorComponent);
527
+
528
+ class PropertyGridComponent extends BaseAngular {
529
+ getModel() {
530
+ return this.model;
531
+ }
532
+ getPropertiesToUpdateSync() {
533
+ return ["survey"];
534
+ }
535
+ }
536
+ PropertyGridComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PropertyGridComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
537
+ PropertyGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PropertyGridComponent, selector: "svc-property-grid", inputs: { model: "model" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <survey-content *ngIf=\"!!model.survey\" [model]=\"model.survey\"></survey-content>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: i1.SurveyContentComponent, selector: "survey-content", inputs: ["model"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
538
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PropertyGridComponent, decorators: [{
539
+ type: Component,
540
+ args: [{
541
+ selector: "svc-property-grid",
542
+ templateUrl: "./property-grid.component.html",
543
+ styles: [":host { display: none; }"]
544
+ }]
545
+ }], propDecorators: { model: [{
546
+ type: Input
547
+ }] } });
548
+ AngularComponentFactory.Instance.registerComponent("buttongroup-question", ButtonGroupQuestionComponent);
549
+ AngularComponentFactory.Instance.registerComponent("svc-property-grid", PropertyGridComponent);
550
+
551
+ class TextareaJsonEditorComponent extends BaseAngular {
552
+ getModel() {
553
+ return this.model;
554
+ }
555
+ ngOnInit() {
556
+ this.model.canShowErrors = false;
557
+ super.ngOnInit();
558
+ }
559
+ }
560
+ TextareaJsonEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TextareaJsonEditorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
561
+ TextareaJsonEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TextareaJsonEditorComponent, selector: "svc-tab-json-editor-textarea", inputs: { model: "model" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div class=\"svc-creator-tab__content\">\n <div class=\"svc-json-editor-tab__content\">\n <textarea class=\"svc-json-editor-tab__content-area\"\n [attr.aria-label]=\"model.ariaLabel\"\n [disabled]=\"model.readOnly\"\n [(ngModel)]=\"model.text\"\n (keydown)=\"model.checkKey(model, $event)\">\n </textarea>\n <button type=\"button\" *ngIf=\"model.userFriendlyErrors.length !== 0\" class=\"svc-json-editor-tab__errros_button\"\n (click)=\"model.toggleErrors()\">{{model.errorButtonText}}</button>\n <ng-container *ngIf=\"model.canShowErrors\">\n <div class=\"svc-json-editor-tab__content-errors\" *ngFor=\"let error of model.userFriendlyErrors\">\n <span><b>Error:</b></span>\n <span>{{error}}</span>\n </div>\n </ng-container>\n </div>\n </div>\n</ng-template>", styles: [":host { display: none; }"], directives: [{ type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
562
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TextareaJsonEditorComponent, decorators: [{
563
+ type: Component,
564
+ args: [{
565
+ selector: "svc-tab-json-editor-textarea",
566
+ templateUrl: "./json-editor-textarea.component.html",
567
+ styles: [":host { display: none; }"]
568
+ }]
569
+ }], propDecorators: { model: [{
570
+ type: Input
571
+ }] } });
572
+ AngularComponentFactory.Instance.registerComponent("svc-tab-json-editor-textarea", TextareaJsonEditorComponent);
573
+
574
+ class AceJsonEditorComponent extends BaseAngular {
575
+ getModel() {
576
+ return this.model;
577
+ }
578
+ ngAfterViewInit() {
579
+ //todo fix ts
580
+ this.model.init(window.ace.edit(this.inputEl.nativeElement));
581
+ }
582
+ }
583
+ AceJsonEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AceJsonEditorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
584
+ AceJsonEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: AceJsonEditorComponent, selector: "svc-tab-json-editor-ace", inputs: { model: "model" }, viewQueries: [{ propertyName: "inputEl", first: true, predicate: ["inputEl"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div class=\"svc-creator-tab__content\">\n <div class=\"svc-json-editor-tab__content\">\n <div class=\"svc-json-editor-tab__ace-editor\" #inputEl></div>\n </div>\n </div>\n</ng-template>", styles: [":host { display: none; }"] });
585
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AceJsonEditorComponent, decorators: [{
586
+ type: Component,
587
+ args: [{
588
+ selector: "svc-tab-json-editor-ace",
589
+ templateUrl: "./json-editor-ace.component.html",
590
+ styles: [":host { display: none; }"]
591
+ }]
592
+ }], propDecorators: { model: [{
593
+ type: Input
594
+ }], inputEl: [{
595
+ type: ViewChild,
596
+ args: ["inputEl"]
597
+ }] } });
598
+ AngularComponentFactory.Instance.registerComponent("svc-tab-json-editor-ace", AceJsonEditorComponent);
599
+
600
+ class LogicAddButtonComponent extends BaseAngular {
601
+ getModel() {
602
+ return this.model;
603
+ }
604
+ onClick(event) {
605
+ event.stopPropagation();
606
+ this.model.action();
607
+ }
608
+ }
609
+ LogicAddButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LogicAddButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
610
+ LogicAddButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: LogicAddButtonComponent, selector: "svc-tab-logic-add-btn", inputs: { model: "model" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div role=\"button\" class=\"svc-logic-tab__content-action svc-btn\"\n (click)=\"onClick($event)\" [key2click] [class.svc-logic-tab__content-action--disabled]=\"model.enabled !== undefined && !model.enabled\">\n <span class=\"svc-text svc-text--normal svc-text--bold\">\n {{model.title}}\n </span>\n </div>\n</ng-template>", styles: [":host { display: none; }"], directives: [{ type: i1.Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }] });
611
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LogicAddButtonComponent, decorators: [{
612
+ type: Component,
613
+ args: [{
614
+ selector: "svc-tab-logic-add-btn",
615
+ templateUrl: "./logic-add-btn.component.html",
616
+ styles: [":host { display: none; }"]
617
+ }]
618
+ }], propDecorators: { model: [{
619
+ type: Input
620
+ }] } });
621
+
622
+ class LogicTabComponent extends BaseAngular {
623
+ getModel() {
624
+ return this.model;
625
+ }
626
+ }
627
+ LogicTabComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LogicTabComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
628
+ LogicTabComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: LogicTabComponent, selector: "svc-tab-logic", inputs: { model: "model" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div class=\"svc-creator-tab__content\">\n <div class=\"svc-plugin-tab__content svc-logic-tab__content\" [class.svc-logic-tab__empty]=\"!model.hasItems\">\n <survey-content [model]=\"model.itemsSurvey\"></survey-content>\n <div *ngIf=\"!model.hasItems\" class=\"svc-logic-tab__content-empty\">\n <span class=\"svc-text\">{{model.emptyTabPlaceholder}}</span>\n </div>\n <ng-container *ngIf=\"!model.readOnly\">\n <svc-tab-logic-add-btn [model]=\"model.addNewButton\"></svc-tab-logic-add-btn>\n </ng-container>\n </div>\n </div>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: i1.SurveyContentComponent, selector: "survey-content", inputs: ["model"] }, { type: LogicAddButtonComponent, selector: "svc-tab-logic-add-btn", inputs: ["model"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
629
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LogicTabComponent, decorators: [{
630
+ type: Component,
631
+ args: [{
632
+ selector: "svc-tab-logic",
633
+ templateUrl: "./logic.component.html",
634
+ styles: [":host { display: none; }"]
635
+ }]
636
+ }], propDecorators: { model: [{
637
+ type: Input
638
+ }] } });
639
+ AngularComponentFactory.Instance.registerComponent("svc-tab-logic", LogicTabComponent);
640
+
641
+ class ActionButtonComponent extends EmbeddedViewContentComponent {
642
+ constructor() {
643
+ super(...arguments);
644
+ this.classes = "";
645
+ this.selected = false;
646
+ this.disabled = false;
647
+ this.text = "";
648
+ this.title = "";
649
+ this.allowBubble = false;
650
+ }
651
+ onClick(event) {
652
+ this.click();
653
+ if (!this.allowBubble) {
654
+ event.stopPropagation();
655
+ }
656
+ }
657
+ }
658
+ ActionButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ActionButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
659
+ ActionButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ActionButtonComponent, selector: "svc-action-button", inputs: { classes: "classes", click: "click", selected: "selected", disabled: "disabled", text: "text", title: "title", allowBubble: "allowBubble" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <span *ngIf=\"disabled\" class=\"svc-action-button svc-action-button--disabled\"\n [class]=\"classes\" [attr.title]=\"title\">{{text}}</span>\n <span *ngIf=\"!disabled\" role=\"button\" class=\"svc-action-button\"\n (click)=\"onClick($event)\" [key2click] [attr.title]=\"title\" [class.svc-action-button--selected]=\"selected\" [class]=\"classes\">{{text}}</span>\n</ng-template>", styles: [":host { display: none; }"], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }] });
660
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ActionButtonComponent, decorators: [{
661
+ type: Component,
662
+ args: [{
663
+ selector: "svc-action-button",
664
+ templateUrl: "./action-button.component.html",
665
+ styles: [":host { display: none; }"]
666
+ }]
667
+ }], propDecorators: { classes: [{
668
+ type: Input
669
+ }], click: [{
670
+ type: Input
671
+ }], selected: [{
672
+ type: Input
673
+ }], disabled: [{
674
+ type: Input
675
+ }], text: [{
676
+ type: Input
677
+ }], title: [{
678
+ type: Input
679
+ }], allowBubble: [{
680
+ type: Input
681
+ }] } });
682
+ AngularComponentFactory.Instance.registerComponent("svc-action-button", ActionButtonComponent);
683
+
684
+ class LinkValueQuestionComponent extends QuestionAngular {
685
+ get clearCaption() {
686
+ return editorLocalization.getString("pe.clear");
687
+ }
688
+ }
689
+ LinkValueQuestionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LinkValueQuestionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
690
+ LinkValueQuestionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: LinkValueQuestionComponent, selector: "svc-link-value", usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <svc-action-button [text]=\"model.linkValueText\" [click]=\"model.doLinkClick.bind(model)\" [selected]=\"model.isSelected\" [disabled]=\"model.isReadOnly\" [classes]=\"model.linkSetButtonCssClasses\" [title]=\"model.tooltip\">\n </svc-action-button>\n <ng-container *ngIf=\"!model.isReadOnly && model.showClear\">\n <svc-action-button\n [text]=\"clearCaption\" [click]=\"model.doClearClick.bind(model)\" [selected]=\"model.isSelected\" [disabled]=\"false\" [classes]=\"model.linkClearButtonCssClasses\">\n </svc-action-button>\n </ng-container>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: ActionButtonComponent, selector: "svc-action-button", inputs: ["classes", "click", "selected", "disabled", "text", "title", "allowBubble"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
691
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LinkValueQuestionComponent, decorators: [{
692
+ type: Component,
693
+ args: [{
694
+ selector: "svc-link-value",
695
+ templateUrl: "./question-link-value.component.html",
696
+ styles: [":host { display: none; }"]
697
+ }]
698
+ }] });
699
+ AngularComponentFactory.Instance.registerComponent("linkvalue-question", LinkValueQuestionComponent);
700
+
701
+ class EmbeddedSurveyQuestionComponent extends QuestionAngular {
702
+ get survey() {
703
+ return this.model.embeddedSurvey;
704
+ }
705
+ onModelChanged() {
706
+ super.onModelChanged();
707
+ if (!!this.model) {
708
+ this.model.onEmbeddedSurveyValueChanged = () => {
709
+ this.detectChanges();
710
+ };
711
+ }
712
+ }
713
+ }
714
+ EmbeddedSurveyQuestionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: EmbeddedSurveyQuestionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
715
+ EmbeddedSurveyQuestionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: EmbeddedSurveyQuestionComponent, selector: "svc-embeddedsurvey-question", usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <ng-container *ngIf=\"!!model && !!survey && survey.currentPage\">\n <page [model]=\"survey.currentPage\" [survey]=\"survey\"></page>\n </ng-container>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: i1.PageComponent, selector: "page, sv-ng-page", inputs: ["model", "survey"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
716
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: EmbeddedSurveyQuestionComponent, decorators: [{
717
+ type: Component,
718
+ args: [{
719
+ selector: "svc-embeddedsurvey-question",
720
+ templateUrl: "./question-embedded-survey.component.html",
721
+ styles: [":host { display: none; }"]
722
+ }]
723
+ }] });
724
+ AngularComponentFactory.Instance.registerComponent("embeddedsurvey-question", EmbeddedSurveyQuestionComponent);
725
+
726
+ class TranslationTabComponent extends BaseAngular {
727
+ getModel() {
728
+ return this.model;
729
+ }
730
+ }
731
+ TranslationTabComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TranslationTabComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
732
+ TranslationTabComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TranslationTabComponent, selector: "svc-tab-translation", inputs: { model: "model" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div class=\"svc-creator-tab__content svc-translation-tab\">\n <div class=\"st-content\">\n <div *ngIf=\"model.isEmpty\" class=\"st-no-strings\">\n <span>{{model.noStringsText}}</span>\n </div>\n <div *ngIf=\"!model.isEmpty\" class=\"svc-flex-column st-strings-wrapper\">\n <div class=\"svc-flex-row st-strings-header\">\n <survey-content [model]=\"model.stringsHeaderSurvey\"></survey-content>\n </div>\n <div class=\"svc-flex-row svc-plugin-tab__content st-strings\">\n <survey-content [model]=\"model.stringsSurvey\"></survey-content>\n </div>\n </div>\n </div>\n </div>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: i1.SurveyContentComponent, selector: "survey-content", inputs: ["model"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
733
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TranslationTabComponent, decorators: [{
734
+ type: Component,
735
+ args: [{
736
+ selector: "svc-tab-translation",
737
+ templateUrl: "./translation.component.html",
738
+ styles: [":host { display: none; }"]
739
+ }]
740
+ }], propDecorators: { model: [{
741
+ type: Input
742
+ }] } });
743
+ AngularComponentFactory.Instance.registerComponent("svc-tab-translation", TranslationTabComponent);
744
+
745
+ class TranslationSkeletonComponent extends EmbeddedViewContentComponent {
746
+ }
747
+ TranslationSkeletonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TranslationSkeletonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
748
+ TranslationSkeletonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TranslationSkeletonComponent, selector: "sd-translation-line-skeleton", usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div class=\"sd-translation-line-skeleton\"></div>\n</ng-template>", styles: [":host { display: none; }"] });
749
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TranslationSkeletonComponent, decorators: [{
750
+ type: Component,
751
+ args: [{
752
+ selector: "sd-translation-line-skeleton",
753
+ templateUrl: "./translation-line-skeleton.component.html",
754
+ styles: [":host { display: none; }"]
755
+ }]
756
+ }] });
757
+ AngularComponentFactory.Instance.registerComponent("sd-translation-line-skeleton", TranslationSkeletonComponent);
758
+
759
+ class SimulatorComponent extends BaseAngular {
760
+ getModel() {
761
+ return this.model;
762
+ }
763
+ get simulatorFrame() {
764
+ return this.model.simulatorFrame;
765
+ }
766
+ activateZoom() {
767
+ if (this.model.device !== "desktop") {
768
+ this.model.activateZoom();
769
+ }
770
+ }
771
+ deactivateZoom() {
772
+ if (this.model.device !== "desktop") {
773
+ this.model.deactivateZoom();
774
+ }
775
+ }
776
+ }
777
+ SimulatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SimulatorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
778
+ SimulatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: SimulatorComponent, selector: "survey-simulator", inputs: { model: "model" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div [class]=\"model.getRootCss()\" (keydown)=\"model.tryToZoom($event, $event)\" (mouseover)=\"activateZoom()\" (mouseout)=\"deactivateZoom()\">\n <div *ngIf=\"model.hasFrame\" class=\"svd-simulator-wrapper\" id=\"svd-simulator-wrapper\" [style.width]=\"simulatorFrame.frameWidth + 'px'\" [style.height]=\"simulatorFrame.frameHeight + 'px'\">\n <div class=\"svd-simulator-frame\" [style.width]=\"simulatorFrame.landscapedFrameWidth + 'px'\" [style.height]=\"simulatorFrame.landscapedFrameHeight + 'px'\" [class]=\"simulatorFrame.cssClass\"></div>\n <div class=\"svd-simulator\" [style.width]=\"simulatorFrame.deviceWidth + 'px'\" [style.height]=\"simulatorFrame.deviceHeight + 'px'\" [style.transform]=\"'scale(' + simulatorFrame.scale + ') translate(-50%, -50%)'\">\n <div class=\"svd-simulator-content\">\n <ng-template [component]=\"{ name: 'survey-widget', data: { model: model.survey } }\"></ng-template>\n </div>\n </div>\n </div>\n <div *ngIf=\"!model.hasFrame\" class=\"svd-simulator-content\">\n <ng-template [component]=\"{ name: 'survey-widget', data: { model: model.survey } }\"></ng-template>\n </div>\n </div>\n</ng-template>", styles: [":host { display: none; }"], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
779
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SimulatorComponent, decorators: [{
780
+ type: Component,
781
+ args: [{
782
+ selector: "survey-simulator",
783
+ templateUrl: "./simulator.component.html",
784
+ styles: [":host { display: none; }"]
785
+ }]
786
+ }], propDecorators: { model: [{
787
+ type: Input
788
+ }] } });
789
+
790
+ class TestAgainActionComponent extends BaseAngular {
791
+ getModel() {
792
+ return this.model;
793
+ }
794
+ }
795
+ TestAgainActionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TestAgainActionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
796
+ TestAgainActionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TestAgainActionComponent, selector: "survey-test-again", inputs: { model: "model" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div role=\"button\" class=\"svc-preview__test-again svc-btn\" (click)=\"model.action()\" [key2click]>\n <span class=\"svc-text svc-text--normal svc-text--bold\">\n {{model.title}}\n </span>\n </div>\n</ng-template>", styles: [":host { display: none; }"], directives: [{ type: i1.Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }] });
797
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TestAgainActionComponent, decorators: [{
798
+ type: Component,
799
+ args: [{
800
+ selector: "survey-test-again",
801
+ templateUrl: "./test-again.component.html",
802
+ styles: [":host { display: none; }"]
803
+ }]
804
+ }], propDecorators: { model: [{
805
+ type: Input
806
+ }] } });
807
+
808
+ class SurveyResultsTableRowComponent extends BaseAngular {
809
+ getModel() {
810
+ return this.model;
811
+ }
812
+ }
813
+ SurveyResultsTableRowComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SurveyResultsTableRowComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
814
+ SurveyResultsTableRowComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: SurveyResultsTableRowComponent, selector: "survey-results-table-row", inputs: { model: "model" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <tr (click)=\"model.toggle()\" [key2click]>\n <td class=\"svd-dark-border-color\"\n [style.paddingLeft]=\"model.textMargin \">\n <span *ngIf=\"model.isNode\" class=\"svd-test-results__marker\"\n [class.svd-test-results__marker--expanded]=\"!model.collapsed\"\n [style.left]=\"model.markerMargin\">\n <svg [iconName]=\"'icon-expand_16x16'\" [size]=\"16\" sv-ng-svg-icon></svg>\n </span>\n <span >{{model.title}}</span></td>\n <td [class.svd-test-results__node-value]=\"model.isNode\" [class.svd-dark-border-color]=\"!model.isNode\">\n {{model.getString(model.displayValue)}}\n </td>\n </tr>\n <ng-container *ngIf=\"model.isNode && !model.collapsed\">\n <ng-container *ngFor=\"let row of model.data\">\n <survey-results-table-row [model]=\"row\"></survey-results-table-row>\n </ng-container>\n </ng-container>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: i1.SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: SurveyResultsTableRowComponent, selector: "survey-results-table-row", inputs: ["model"] }], directives: [{ type: i1.Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
815
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SurveyResultsTableRowComponent, decorators: [{
816
+ type: Component,
817
+ args: [{
818
+ selector: "survey-results-table-row",
819
+ templateUrl: "./survey-results-row.component.html",
820
+ styles: [":host { display: none; }"]
821
+ }]
822
+ }], propDecorators: { model: [{
823
+ type: Input
824
+ }] } });
825
+
826
+ class SurveyResultsComponent extends CreatorModelComponent {
827
+ createModel() {
828
+ if (!!this.survey) {
829
+ this.model = new SurveyResultsModel(this.survey);
830
+ }
831
+ }
832
+ getModel() {
833
+ return this.model;
834
+ }
835
+ getPropertiesToTrack() {
836
+ return ["survey"];
837
+ }
838
+ }
839
+ SurveyResultsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SurveyResultsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
840
+ SurveyResultsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: SurveyResultsComponent, selector: "survey-results", inputs: { survey: "survey" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n<div class=\"svd-test-results\">\n <div class=\"svd-test-results__header\">\n <div class=\"svd-test-results__header-text\">{{model.surveyResultsText}}</div>\n <div class=\"svd-test-results__header-types\">\n <svc-action-button [text]=\"model.surveyResultsTableText\" [click]=\"model.selectTableClick\" [disabled]=\"false\" [selected]=\"model.isTableSelected\"></svc-action-button>\n <svc-action-button [text]=\"model.surveyResultsJsonText\" [click]=\"model.selectJsonClick\" [disabled]=\"false\" [selected]=\"model.isJsonSelected\"></svc-action-button>\n </div>\n </div>\n <div class=\"svd-test-results__text svd-light-bg-color\" [visible]=\"model.resultViewType === 'text'\">\n <div>{{model.resultText}}</div>\n </div>\n <div class=\"svd-test-results__table svd-light-bg-color\" [visible]=\"model.resultViewType === 'table'\">\n <table>\n <thead>\n <tr class=\"svd-light-background-color\">\n <th class=\"svd-dark-border-color\">{{model.resultsTitle}}</th>\n <th class=\"svd-dark-border-color\">{{model.resultsDisplayValue}}</th>\n </tr>\n </thead>\n <tbody>\n <ng-container *ngFor=\"let row of model.resultData\">\n <survey-results-table-row [model]=\"row\"></survey-results-table-row>\n </ng-container>\n </tbody>\n </table>\n </div>\n</div>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: ActionButtonComponent, selector: "svc-action-button", inputs: ["classes", "click", "selected", "disabled", "text", "title", "allowBubble"] }, { type: SurveyResultsTableRowComponent, selector: "survey-results-table-row", inputs: ["model"] }], directives: [{ type: i1.VisibleDirective, selector: "[visible]", inputs: ["visible"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
841
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SurveyResultsComponent, decorators: [{
842
+ type: Component,
843
+ args: [{
844
+ selector: "survey-results",
845
+ templateUrl: "./survey-results.component.html",
846
+ styles: [":host { display: none; }"]
847
+ }]
848
+ }], propDecorators: { survey: [{
849
+ type: Input
850
+ }] } });
851
+
852
+ class TestTabComponent extends BaseAngular {
853
+ getModel() {
854
+ return this.model;
855
+ }
856
+ }
857
+ TestTabComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TestTabComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
858
+ TestTabComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TestTabComponent, selector: "svc-tab-test", inputs: { model: "model" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div class=\"svc-creator-tab__content svc-test-tab__content\" [class.svc-creator-tab__content--with-toolbar]=\"model.isPageToolbarVisible\">\n <div class=\"svc-plugin-tab__content\">\n <survey-simulator [model]=\"model.simulator\"></survey-simulator>\n <ng-container *ngIf=\"!model.isRunning\">\n <survey-test-again [model]=\"model.testAgainAction\"></survey-test-again>\n <survey-results [survey]=\"model.survey\"></survey-results>\n </ng-container>\n </div>\n <div *ngIf=\"model.isPageToolbarVisible\" class=\"svc-plugin-tab__content-actions svc-test-tab__content-actions\">\n <sv-action-bar [model]=\"model.pages\"></sv-action-bar>\n </div>\n </div>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: SimulatorComponent, selector: "survey-simulator", inputs: ["model"] }, { type: TestAgainActionComponent, selector: "survey-test-again", inputs: ["model"] }, { type: SurveyResultsComponent, selector: "survey-results", inputs: ["survey"] }, { type: i1.ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
859
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TestTabComponent, decorators: [{
860
+ type: Component,
861
+ args: [{
862
+ selector: "svc-tab-test",
863
+ templateUrl: "./test.component.html",
864
+ styles: [":host { display: none; }"]
865
+ }]
866
+ }], propDecorators: { model: [{
867
+ type: Input
868
+ }] } });
869
+ AngularComponentFactory.Instance.registerComponent("svc-tab-test", TestTabComponent);
870
+
871
+ class QuestionDesignerComponent extends CreatorModelComponent {
872
+ constructor() {
873
+ super(...arguments);
874
+ this.adornerComponent = "";
875
+ }
876
+ get creator() {
877
+ return this.componentData.data;
878
+ }
879
+ get model() {
880
+ return this.componentData.model;
881
+ }
882
+ createModel() {
883
+ if (this.componentData) {
884
+ this.adorner = new QuestionAdornerViewModel(this.creator, this.model, null);
885
+ }
886
+ }
887
+ getPropertiesToTrack() {
888
+ return ["model", "creator"];
889
+ }
890
+ getModel() {
891
+ return this.adorner;
892
+ }
893
+ selectQuestionType(event) {
894
+ var _a;
895
+ event.stopPropagation();
896
+ (_a = this.adorner.questionTypeSelectorModel) === null || _a === void 0 ? void 0 : _a.action(this.adorner.questionTypeSelectorModel, event);
897
+ }
898
+ addNewQuestion(event) {
899
+ event.stopPropagation();
900
+ this.adorner.addNewQuestion();
901
+ }
902
+ }
903
+ QuestionDesignerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: QuestionDesignerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
904
+ QuestionDesignerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: QuestionDesignerComponent, selector: "svc-question", inputs: { componentName: "componentName", componentData: "componentData" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div *ngIf=\"adorner\" class=\"svc-question__adorner\" [class]=\"adorner.rootCss()\"\n (mouseover)=\"adorner.hover($event, $event.currentTarget)\" (mouseleave)=\"adorner.hover($event, $event.currentTarget)\"\n [attr.data-sv-drop-target-survey-element]=\"adorner.element.name || null\" #container>\n\n <div *ngIf=\"adorner.element.isInteractiveDesignElement\" class=\"svc-question__content\" [class]=\"adorner.css()\"\n [key2click] (click)=\"adorner.select(adorner, $event)\" data-bind=\"clickBubble: false\">\n <div *ngIf=\"adorner.allowDragging\" class=\"svc-question__drag-area\" (pointerdown)=\"adorner.onPointerDown($event)\">\n <svg class=\"svc-question__drag-element\" [iconName]=\"'icon-drag-area-indicator_24x16'\" [size]=\"24\"\n sv-ng-svg-icon></svg>\n </div>\n\n <ng-template [component]=\"{ name: componentName, data: componentData }\"></ng-template>\n\n <div *ngIf=\"adorner.isEmptyElement\" class=\"svc-panel__placeholder_frame\">\n <div class=\"svc-panel__placeholder\">{{ adorner.placeholderText }}</div>\n <div *ngIf=\"adorner.element.isPanel && adorner.showAddQuestionButton\"\n class=\"svc-panel__add-new-question svc-action-button\" [key2click] (click)=\"addNewQuestion($event)\"\n data-bind=\"clickBubble: false\">\n <span class=\"svc-text svc-text--normal svc-text--bold\">\n {{ adorner.addNewQuestionText }}\n </span>\n </div>\n </div>\n\n <ng-template *ngIf=\"adornerComponent\"\n [component]=\"{ name: adornerComponent, data: { adorner: adorner, question: model } }\">\n </ng-template>\n <!-- ko if: adornerComponent -->\n <!-- ko component: { name: adornerComponent, params: { model: $data } } -->\n <!-- /ko -->\n <!-- /ko -->\n\n <div *ngIf=\"!adorner.isEmptyElement && model.isPanel && adorner.showAddQuestionButton\"\n class=\"svc-panel__add-new-question-container\">\n <div class=\"svc-panel__add-new-question svc-action-button\" [key2click] (click)=\"addNewQuestion($event)\"\n data-bind=\"clickBubble: false\">\n <span class=\"svc-text svc-text--normal svc-text--bold\">\n {{ adorner.addNewQuestionText }}\n </span>\n </div>\n <!-- ko with: questionTypeSelectorModel -->\n <button type=\"button\" [attr.title]=\"adorner.addNewQuestionText\" [key2click] (click)=\"selectQuestionType($event)\"\n class=\"svc-panel__question-type-selector\">\n <svg class=\"svc-panel__question-type-selector-icon\" [iconName]=\"adorner.questionTypeSelectorModel.iconName\"\n [size]=\"24\" sv-ng-svg-icon></svg>\n <sv-ng-popup [popupModel]=\"adorner.questionTypeSelectorModel.popupModel\"></sv-ng-popup>\n </button>\n <!-- /ko -->\n </div>\n\n <div class=\"svc-question__content-actions\">\n <sv-action-bar [model]=\"adorner.actionContainer\" [handleClick]=\"false\"></sv-action-bar>\n </div>\n </div>\n\n <ng-container *ngIf=\"!adorner.element.isInteractiveDesignElement\">\n <ng-template [component]=\"{ name: componentName, data: componentData }\"></ng-template>\n <div *ngIf=\"adorner.isEmptyElement\" class=\"svc-panel__placeholder_frame\">\n <div class=\"svc-panel__placeholder\">{{ adorner.placeholderText }}</div>\n <div *ngIf=\"adorner.showAddQuestionButton\" class=\"svc-panel__add-new-question svc-action-button\" [key2click]\n (click)=\"addNewQuestion($event)\" data-bind=\"clickBubble: false\">\n <span class=\"svc-text svc-text--normal svc-text--bold\">\n {{ adorner.addNewQuestionText }}\n </span>\n </div>\n </div>\n\n <div *ngIf=\"!adorner.isEmptyElement\" class=\"svc-panel__add-new-question-container\">\n <div class=\"svc-panel__add-new-question svc-action-button\" [key2click] (click)=\"addNewQuestion($event)\"\n data-bind=\"clickBubble: false\">\n <span class=\"svc-text svc-text--normal svc-text--bold\">\n {{ adorner.addNewQuestionText }}\n </span>\n </div>\n <!-- ko with: questionTypeSelectorModel -->\n <button type=\"button\" [attr.title]=\"adorner.addNewQuestionText\" [key2click] (click)=\"selectQuestionType($event)\"\n class=\"svc-panel__question-type-selector\">\n <svg class=\"svc-panel__question-type-selector-icon\" [iconName]=\"adorner.questionTypeSelectorModel.iconName\"\n [size]=\"24\" sv-ng-svg-icon></svg>\n <sv-ng-popup [popupModel]=\"adorner.questionTypeSelectorModel.popupModel\"></sv-ng-popup>\n </button>\n <!-- /ko -->\n </div>\n\n </ng-container>\n </div>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: i1.SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: i1.PopupComponent, selector: "sv-ng-popup, '[sv-ng-popup]'", inputs: ["popupModel"] }, { type: i1.ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }, { type: i1.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
905
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: QuestionDesignerComponent, decorators: [{
906
+ type: Component,
907
+ args: [{
908
+ selector: "svc-question",
909
+ templateUrl: "./question.component.html",
910
+ styles: [":host { display: none; }"]
911
+ }]
912
+ }], propDecorators: { componentName: [{
913
+ type: Input
914
+ }], componentData: [{
915
+ type: Input
916
+ }] } });
917
+ AngularComponentFactory.Instance.registerComponent("svc-question", QuestionDesignerComponent);
918
+
919
+ class ItemValueDesignerComponent extends CreatorModelComponent {
920
+ get creator() {
921
+ return this.componentData.data.creator;
922
+ }
923
+ get question() {
924
+ return this.componentData.question;
925
+ }
926
+ get item() {
927
+ return this.componentData.model;
928
+ }
929
+ onBlur(event) {
930
+ this.adorner.onFocusOut(event);
931
+ }
932
+ createModel() {
933
+ if (this.componentData) {
934
+ this.adorner = new ItemValueWrapperViewModel(this.creator, this.question, this.item);
935
+ }
936
+ }
937
+ getPropertiesToTrack() {
938
+ return ["creator", "question", "item"];
939
+ }
940
+ getModel() {
941
+ return this.adorner;
942
+ }
943
+ }
944
+ ItemValueDesignerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ItemValueDesignerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
945
+ ItemValueDesignerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ItemValueDesignerComponent, selector: "svc-item-value", inputs: { componentName: "componentName", componentData: "componentData" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div class=\"svc-item-value-wrapper\" (pointerdown)=\"adorner.onPointerDown($event)\"\n [attr.data-sv-drop-target-item-value]=\"adorner.isDraggable ? item.value : null\"\n [ngClass]=\"{'svc-item-value--new': adorner.isNew, 'svc-item-value--dragging': adorner.isDragging, 'svc-item-value--ghost': adorner.isDragDropGhost, 'svc-item-value--movedown': adorner.isDragDropMoveDown, 'svc-item-value--moveup': adorner.isDragDropMoveUp}\">\n <div class=\"svc-item-value__ghost\"></div>\n <div class=\"svc-item-value-controls\">\n <span *ngIf=\"adorner.isDraggable\" class=\"svc-item-value-controls__button svc-item-value-controls__drag\">\n <svg class=\"svc-item-value-controls__drag-icon\" [iconName]=\"'icon-drag-area-indicator'\" [size]=\"24\"\n [attr.title]=\"adorner.dragTooltip\" sv-ng-svg-icon></svg>\n </span>\n <span *ngIf=\"adorner.allowAdd\" class=\"svc-item-value-controls__button svc-item-value-controls__add\" [key2click]\n (click)=\"adorner.add(adorner)\" [attr.aria-label]=\"undefined\"><svg [iconName]=\"'icon-add_16x16'\" [size]=\"16\"\n [attr.title]=\"undefined\" sv-ng-svg-icon></svg></span>\n <span *ngIf=\"adorner.allowRemove\" class=\"svc-item-value-controls__button svc-item-value-controls__remove\"\n [key2click] (click)=\"adorner.remove(adorner)\" (blur)=\"onBlur($event)\" [attr.aria-label]=\"undefined\"><svg\n [iconName]=\"'icon-remove_16x16'\" [size]=\"16\" [attr.title]=\"undefined\" sv-ng-svg-icon></svg></span>\n </div>\n\n <div class=\"svc-item-value__item\" (click)=\"adorner.select(adorner, $event)\">\n <ng-template [component]=\"{ name: componentName, data: componentData }\"></ng-template>\n </div>\n </div>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: i1.SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }], directives: [{ type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }, { type: i1.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
946
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ItemValueDesignerComponent, decorators: [{
947
+ type: Component,
948
+ args: [{
949
+ selector: "svc-item-value",
950
+ templateUrl: "./item-value.component.html",
951
+ styles: [":host { display: none; }"]
952
+ }]
953
+ }], propDecorators: { componentName: [{
954
+ type: Input
955
+ }], componentData: [{
956
+ type: Input
957
+ }] } });
958
+ AngularComponentFactory.Instance.registerComponent("svc-item-value", ItemValueDesignerComponent);
959
+
960
+ class ImageItemValueDesignerComponent extends CreatorModelComponent {
961
+ get creator() {
962
+ return this.componentData.data.creator;
963
+ }
964
+ get question() {
965
+ return this.componentData.question;
966
+ }
967
+ get item() {
968
+ return this.componentData.model;
969
+ }
970
+ createModel() {
971
+ if (this.componentData) {
972
+ this.adorner = new ImageItemValueWrapperViewModel(this.creator, this.question, this.item, null, null);
973
+ }
974
+ }
975
+ getPropertiesToTrack() {
976
+ return ["creator", "question", "item"];
977
+ }
978
+ getModel() {
979
+ return this.adorner;
980
+ }
981
+ get showDragDropGhostOnTop() {
982
+ return this.adorner.ghostPosition === "top";
983
+ }
984
+ get showDragDropGhostOnBottom() {
985
+ return this.adorner.ghostPosition === "bottom";
986
+ }
987
+ blockEvent(event) {
988
+ event.stopPropagation();
989
+ }
990
+ getNewItemStyle() {
991
+ const needStyle = !this.adorner.getIsNewItemSingle();
992
+ return { width: needStyle ? this.question.renderedImageWidth : undefined, height: needStyle ? this.question.renderedImageHeight : undefined };
993
+ }
994
+ ngAfterViewInit() {
995
+ this.adorner.itemsRoot = this.container.nativeElement;
996
+ }
997
+ }
998
+ ImageItemValueDesignerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ImageItemValueDesignerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
999
+ ImageItemValueDesignerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ImageItemValueDesignerComponent, selector: "svc-image-item-value", inputs: { componentName: "componentName", componentData: "componentData" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div (pointerdown)=\"adorner.onPointerDown($event)\" [class]=\"adorner.getRootCss()\" [attr.data-sv-drop-target-item-value]=\"adorner.isDraggable ? this.item.value : null\" #container>\n <div class=\"svc-image-item-value-wrapper__ghost\" [style]=\"getNewItemStyle()\"></div>\n\n <div class=\"svc-image-item-value-wrapper__content\">\n <input type=\"file\" aria-hidden=\"true\" tabindex=\"-1\" accept=\"image/*\" class=\"svc-choose-file-input\" />\n\n <ng-container *ngIf=\"!adorner.isNew\">\n <div *ngIf=\"!adorner.isNew\" class=\"svc-image-item-value__item\">\n <ng-template [component]=\"{ name: componentName, data: componentData }\"></ng-template>\n </div>\n <span class=\"svc-image-item-value-controls__button svc-image-item-value-controls__drag-area-indicator\" (pointerdown)=\"adorner.onPointerDown($event)\" [attr.title]=\"undefined\" [attr.aria-label]=\"undefined\">\n <svg [iconName]=\"'icon-drag-area-indicator'\" [size]=\"24\" sv-ng-svg-icon></svg>\n </span>\n <div class=\"svc-image-item-value-controls\" data-bind=\"event: { pointerdown: blockEvent }\">\n <ng-container *ngIf=\"adorner.allowRemove\">\n <span class=\"svc-image-item-value-controls__button svc-image-item-value-controls__choose-file\" (click)=\"adorner.chooseFile(adorner)\" [key2click] [attr.title]=\"undefined\" [attr.aria-label]=\"undefined\">\n <svg [iconName]=\"'icon-file'\" [size]=\"24\" sv-ng-svg-icon></svg>\n </span>\n <span class=\"svc-image-item-value-controls__button svc-image-item-value-controls__remove\" (click)=\"adorner.remove(adorner)\" [key2click] [attr.title]=\"undefined\" [attr.aria-label]=\"undefined\">\n <svg [iconName]=\"'icon-delete'\" [size]=\"24\" sv-ng-svg-icon></svg>\n </span>\n </ng-container>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"adorner.isNew\">\n <div class=\"svc-image-item-value__item\"\n data-bind=\"event: { dragover: dragover, drop: drop, dragleave: dragleave }\">\n <div class=\"sd-imagepicker__item sd-imagepicker__item--inline\">\n <label class=\"sd-imagepicker__label\">\n <div [style]=\"getNewItemStyle()\" class=\"sd-imagepicker__image\"></div>\n </label>\n </div>\n </div>\n\n <div class=\"svc-image-item-value-controls\" data-bind=\"event: { pointerdown: blockEvent }\">\n <span class=\"svc-image-item-value-controls__button svc-image-item-value-controls__add\" [key2click] (click)=\"adorner.chooseNewFile(adorner)\" [attr.title]=\"undefined\" [attr.aria-label]=\"undefined\">\n <svg *ngIf=\"adorner.allowAdd\" [iconName]=\"'icon-add-lg'\" [size]=\"24\" sv-ng-svg-icon></svg>\n </span>\n </div>\n </ng-container>\n </div>\n </div>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: i1.SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }, { type: i1.Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }] });
1000
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ImageItemValueDesignerComponent, decorators: [{
1001
+ type: Component,
1002
+ args: [{
1003
+ selector: "svc-image-item-value",
1004
+ templateUrl: "./image-item-value.component.html",
1005
+ styles: [":host { display: none; }"]
1006
+ }]
1007
+ }], propDecorators: { componentName: [{
1008
+ type: Input
1009
+ }], componentData: [{
1010
+ type: Input
1011
+ }], container: [{
1012
+ type: ViewChild,
1013
+ args: ["container", { read: ElementRef }]
1014
+ }] } });
1015
+ AngularComponentFactory.Instance.registerComponent("svc-image-item-value", ImageItemValueDesignerComponent);
1016
+
1017
+ class QuestionDropdownDesignerComponent extends QuestionDesignerComponent {
1018
+ constructor() {
1019
+ super(...arguments);
1020
+ this.adornerComponent = "svc-dropdown-question-adorner";
1021
+ }
1022
+ createModel() {
1023
+ if (this.componentData) {
1024
+ this.adorner = new QuestionDropdownAdornerViewModel(this.creator, this.model, null);
1025
+ }
1026
+ }
1027
+ }
1028
+ QuestionDropdownDesignerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: QuestionDropdownDesignerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1029
+ QuestionDropdownDesignerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: QuestionDropdownDesignerComponent, selector: "svc-dropdown-question", usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div *ngIf=\"adorner\" class=\"svc-question__adorner\" [class]=\"adorner.rootCss()\"\n (mouseover)=\"adorner.hover($event, $event.currentTarget)\" (mouseleave)=\"adorner.hover($event, $event.currentTarget)\"\n [attr.data-sv-drop-target-survey-element]=\"adorner.element.name || null\" #container>\n\n <div *ngIf=\"adorner.element.isInteractiveDesignElement\" class=\"svc-question__content\" [class]=\"adorner.css()\"\n [key2click] (click)=\"adorner.select(adorner, $event)\" data-bind=\"clickBubble: false\">\n <div *ngIf=\"adorner.allowDragging\" class=\"svc-question__drag-area\" (pointerdown)=\"adorner.onPointerDown($event)\">\n <svg class=\"svc-question__drag-element\" [iconName]=\"'icon-drag-area-indicator_24x16'\" [size]=\"24\"\n sv-ng-svg-icon></svg>\n </div>\n\n <ng-template [component]=\"{ name: componentName, data: componentData }\"></ng-template>\n\n <div *ngIf=\"adorner.isEmptyElement\" class=\"svc-panel__placeholder_frame\">\n <div class=\"svc-panel__placeholder\">{{ adorner.placeholderText }}</div>\n <div *ngIf=\"adorner.element.isPanel && adorner.showAddQuestionButton\"\n class=\"svc-panel__add-new-question svc-action-button\" [key2click] (click)=\"addNewQuestion($event)\"\n data-bind=\"clickBubble: false\">\n <span class=\"svc-text svc-text--normal svc-text--bold\">\n {{ adorner.addNewQuestionText }}\n </span>\n </div>\n </div>\n\n <ng-template *ngIf=\"adornerComponent\"\n [component]=\"{ name: adornerComponent, data: { adorner: adorner, question: model } }\">\n </ng-template>\n <!-- ko if: adornerComponent -->\n <!-- ko component: { name: adornerComponent, params: { model: $data } } -->\n <!-- /ko -->\n <!-- /ko -->\n\n <div *ngIf=\"!adorner.isEmptyElement && model.isPanel && adorner.showAddQuestionButton\"\n class=\"svc-panel__add-new-question-container\">\n <div class=\"svc-panel__add-new-question svc-action-button\" [key2click] (click)=\"addNewQuestion($event)\"\n data-bind=\"clickBubble: false\">\n <span class=\"svc-text svc-text--normal svc-text--bold\">\n {{ adorner.addNewQuestionText }}\n </span>\n </div>\n <!-- ko with: questionTypeSelectorModel -->\n <button type=\"button\" [attr.title]=\"adorner.addNewQuestionText\" [key2click] (click)=\"selectQuestionType($event)\"\n class=\"svc-panel__question-type-selector\">\n <svg class=\"svc-panel__question-type-selector-icon\" [iconName]=\"adorner.questionTypeSelectorModel.iconName\"\n [size]=\"24\" sv-ng-svg-icon></svg>\n <sv-ng-popup [popupModel]=\"adorner.questionTypeSelectorModel.popupModel\"></sv-ng-popup>\n </button>\n <!-- /ko -->\n </div>\n\n <div class=\"svc-question__content-actions\">\n <sv-action-bar [model]=\"adorner.actionContainer\" [handleClick]=\"false\"></sv-action-bar>\n </div>\n </div>\n\n <ng-container *ngIf=\"!adorner.element.isInteractiveDesignElement\">\n <ng-template [component]=\"{ name: componentName, data: componentData }\"></ng-template>\n <div *ngIf=\"adorner.isEmptyElement\" class=\"svc-panel__placeholder_frame\">\n <div class=\"svc-panel__placeholder\">{{ adorner.placeholderText }}</div>\n <div *ngIf=\"adorner.showAddQuestionButton\" class=\"svc-panel__add-new-question svc-action-button\" [key2click]\n (click)=\"addNewQuestion($event)\" data-bind=\"clickBubble: false\">\n <span class=\"svc-text svc-text--normal svc-text--bold\">\n {{ adorner.addNewQuestionText }}\n </span>\n </div>\n </div>\n\n <div *ngIf=\"!adorner.isEmptyElement\" class=\"svc-panel__add-new-question-container\">\n <div class=\"svc-panel__add-new-question svc-action-button\" [key2click] (click)=\"addNewQuestion($event)\"\n data-bind=\"clickBubble: false\">\n <span class=\"svc-text svc-text--normal svc-text--bold\">\n {{ adorner.addNewQuestionText }}\n </span>\n </div>\n <!-- ko with: questionTypeSelectorModel -->\n <button type=\"button\" [attr.title]=\"adorner.addNewQuestionText\" [key2click] (click)=\"selectQuestionType($event)\"\n class=\"svc-panel__question-type-selector\">\n <svg class=\"svc-panel__question-type-selector-icon\" [iconName]=\"adorner.questionTypeSelectorModel.iconName\"\n [size]=\"24\" sv-ng-svg-icon></svg>\n <sv-ng-popup [popupModel]=\"adorner.questionTypeSelectorModel.popupModel\"></sv-ng-popup>\n </button>\n <!-- /ko -->\n </div>\n\n </ng-container>\n </div>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: i1.SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: i1.PopupComponent, selector: "sv-ng-popup, '[sv-ng-popup]'", inputs: ["popupModel"] }, { type: i1.ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }, { type: i1.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
1030
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: QuestionDropdownDesignerComponent, decorators: [{
1031
+ type: Component,
1032
+ args: [{
1033
+ selector: "svc-dropdown-question",
1034
+ templateUrl: "../question.component.html",
1035
+ styles: [":host { display: none; }"]
1036
+ }]
1037
+ }] });
1038
+ AngularComponentFactory.Instance.registerComponent("svc-dropdown-question", QuestionDropdownDesignerComponent);
1039
+ class QuestionDropdownAdornerDesignerComponent extends EmbeddedViewContentComponent {
1040
+ getItemValueComponentName(item) {
1041
+ return this.question.getItemValueWrapperComponentName(item) || "sv-ng-selectbase-item";
1042
+ }
1043
+ getItemValueComponentData(item) {
1044
+ return {
1045
+ componentName: "sv-ng-selectbase-item",
1046
+ componentData: {
1047
+ question: this.question,
1048
+ model: item,
1049
+ inputType: "radio",
1050
+ data: this.question.getItemValueWrapperComponentData(item)
1051
+ }
1052
+ };
1053
+ }
1054
+ }
1055
+ QuestionDropdownAdornerDesignerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: QuestionDropdownAdornerDesignerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1056
+ QuestionDropdownAdornerDesignerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: QuestionDropdownAdornerDesignerComponent, selector: "svc-dropdown-question-adorner", inputs: { adorner: "adorner", question: "question" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div class=\"svc-question__dropdown-choices--wrapper\">\n <div class=\"svc-question__dropdown-choices\">\n <div *ngFor=\"let item of adorner.getRenderedItems()\" [class]=\"adorner.getChoiceCss()\"\n data-bind=\"css: $parent.getChoiceCss()\">\n <ng-template [component]=\"{ name: getItemValueComponentName(item), data: getItemValueComponentData(item) }\">\n </ng-template>\n </div>\n </div>\n <svc-action-button *ngIf=\"adorner.needToCollapse\" [text]=\"adorner.getButtonText()\"\n [click]=\"adorner.switchCollapse.bind(adorner)\" [allowBubble]=\"true\"> \n </svc-action-button>\n <!-- ko if: needToCollapse -->\n <!-- <svc-action-button params=\"text: getButtonText(), click: switchCollapse, allowBubble: true\">\n </svc-action-button> -->\n <!-- /ko -->\n </div>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: ActionButtonComponent, selector: "svc-action-button", inputs: ["classes", "click", "selected", "disabled", "text", "title", "allowBubble"] }], directives: [{ type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
1057
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: QuestionDropdownAdornerDesignerComponent, decorators: [{
1058
+ type: Component,
1059
+ args: [{
1060
+ selector: "svc-dropdown-question-adorner",
1061
+ templateUrl: "./question-dropdown.component.html",
1062
+ styles: [":host { display: none; }"]
1063
+ }]
1064
+ }], propDecorators: { adorner: [{
1065
+ type: Input
1066
+ }], question: [{
1067
+ type: Input
1068
+ }] } });
1069
+ AngularComponentFactory.Instance.registerComponent("svc-dropdown-question-adorner", QuestionDropdownAdornerDesignerComponent);
1070
+
1071
+ class QuestionImageDesignerComponent extends QuestionDesignerComponent {
1072
+ constructor() {
1073
+ super(...arguments);
1074
+ this.adornerComponent = "svc-image-question-adorner";
1075
+ }
1076
+ createModel() {
1077
+ var _a;
1078
+ if (this.componentData) {
1079
+ this.adorner = new QuestionImageAdornerViewModel(this.creator, this.model, null, (_a = this.viewContainerRef) === null || _a === void 0 ? void 0 : _a.element.nativeElement.nextSibling);
1080
+ }
1081
+ }
1082
+ ngAfterViewInit() {
1083
+ this.adorner.questionRoot = this.container.nativeElement;
1084
+ }
1085
+ }
1086
+ QuestionImageDesignerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: QuestionImageDesignerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1087
+ QuestionImageDesignerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: QuestionImageDesignerComponent, selector: "svc-image-question", viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div *ngIf=\"adorner\" class=\"svc-question__adorner\" [class]=\"adorner.rootCss()\"\n (mouseover)=\"adorner.hover($event, $event.currentTarget)\" (mouseleave)=\"adorner.hover($event, $event.currentTarget)\"\n [attr.data-sv-drop-target-survey-element]=\"adorner.element.name || null\" #container>\n\n <div *ngIf=\"adorner.element.isInteractiveDesignElement\" class=\"svc-question__content\" [class]=\"adorner.css()\"\n [key2click] (click)=\"adorner.select(adorner, $event)\" data-bind=\"clickBubble: false\">\n <div *ngIf=\"adorner.allowDragging\" class=\"svc-question__drag-area\" (pointerdown)=\"adorner.onPointerDown($event)\">\n <svg class=\"svc-question__drag-element\" [iconName]=\"'icon-drag-area-indicator_24x16'\" [size]=\"24\"\n sv-ng-svg-icon></svg>\n </div>\n\n <ng-template [component]=\"{ name: componentName, data: componentData }\"></ng-template>\n\n <div *ngIf=\"adorner.isEmptyElement\" class=\"svc-panel__placeholder_frame\">\n <div class=\"svc-panel__placeholder\">{{ adorner.placeholderText }}</div>\n <div *ngIf=\"adorner.element.isPanel && adorner.showAddQuestionButton\"\n class=\"svc-panel__add-new-question svc-action-button\" [key2click] (click)=\"addNewQuestion($event)\"\n data-bind=\"clickBubble: false\">\n <span class=\"svc-text svc-text--normal svc-text--bold\">\n {{ adorner.addNewQuestionText }}\n </span>\n </div>\n </div>\n\n <ng-template *ngIf=\"adornerComponent\"\n [component]=\"{ name: adornerComponent, data: { adorner: adorner, question: model } }\">\n </ng-template>\n <!-- ko if: adornerComponent -->\n <!-- ko component: { name: adornerComponent, params: { model: $data } } -->\n <!-- /ko -->\n <!-- /ko -->\n\n <div *ngIf=\"!adorner.isEmptyElement && model.isPanel && adorner.showAddQuestionButton\"\n class=\"svc-panel__add-new-question-container\">\n <div class=\"svc-panel__add-new-question svc-action-button\" [key2click] (click)=\"addNewQuestion($event)\"\n data-bind=\"clickBubble: false\">\n <span class=\"svc-text svc-text--normal svc-text--bold\">\n {{ adorner.addNewQuestionText }}\n </span>\n </div>\n <!-- ko with: questionTypeSelectorModel -->\n <button type=\"button\" [attr.title]=\"adorner.addNewQuestionText\" [key2click] (click)=\"selectQuestionType($event)\"\n class=\"svc-panel__question-type-selector\">\n <svg class=\"svc-panel__question-type-selector-icon\" [iconName]=\"adorner.questionTypeSelectorModel.iconName\"\n [size]=\"24\" sv-ng-svg-icon></svg>\n <sv-ng-popup [popupModel]=\"adorner.questionTypeSelectorModel.popupModel\"></sv-ng-popup>\n </button>\n <!-- /ko -->\n </div>\n\n <div class=\"svc-question__content-actions\">\n <sv-action-bar [model]=\"adorner.actionContainer\" [handleClick]=\"false\"></sv-action-bar>\n </div>\n </div>\n\n <ng-container *ngIf=\"!adorner.element.isInteractiveDesignElement\">\n <ng-template [component]=\"{ name: componentName, data: componentData }\"></ng-template>\n <div *ngIf=\"adorner.isEmptyElement\" class=\"svc-panel__placeholder_frame\">\n <div class=\"svc-panel__placeholder\">{{ adorner.placeholderText }}</div>\n <div *ngIf=\"adorner.showAddQuestionButton\" class=\"svc-panel__add-new-question svc-action-button\" [key2click]\n (click)=\"addNewQuestion($event)\" data-bind=\"clickBubble: false\">\n <span class=\"svc-text svc-text--normal svc-text--bold\">\n {{ adorner.addNewQuestionText }}\n </span>\n </div>\n </div>\n\n <div *ngIf=\"!adorner.isEmptyElement\" class=\"svc-panel__add-new-question-container\">\n <div class=\"svc-panel__add-new-question svc-action-button\" [key2click] (click)=\"addNewQuestion($event)\"\n data-bind=\"clickBubble: false\">\n <span class=\"svc-text svc-text--normal svc-text--bold\">\n {{ adorner.addNewQuestionText }}\n </span>\n </div>\n <!-- ko with: questionTypeSelectorModel -->\n <button type=\"button\" [attr.title]=\"adorner.addNewQuestionText\" [key2click] (click)=\"selectQuestionType($event)\"\n class=\"svc-panel__question-type-selector\">\n <svg class=\"svc-panel__question-type-selector-icon\" [iconName]=\"adorner.questionTypeSelectorModel.iconName\"\n [size]=\"24\" sv-ng-svg-icon></svg>\n <sv-ng-popup [popupModel]=\"adorner.questionTypeSelectorModel.popupModel\"></sv-ng-popup>\n </button>\n <!-- /ko -->\n </div>\n\n </ng-container>\n </div>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: i1.SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: i1.PopupComponent, selector: "sv-ng-popup, '[sv-ng-popup]'", inputs: ["popupModel"] }, { type: i1.ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }, { type: i1.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
1088
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: QuestionImageDesignerComponent, decorators: [{
1089
+ type: Component,
1090
+ args: [{
1091
+ selector: "svc-image-question",
1092
+ templateUrl: "../question.component.html",
1093
+ styles: [":host { display: none; }"]
1094
+ }]
1095
+ }], propDecorators: { container: [{
1096
+ type: ViewChild,
1097
+ args: ["container", { read: ElementRef }]
1098
+ }] } });
1099
+ AngularComponentFactory.Instance.registerComponent("svc-image-question", QuestionImageDesignerComponent);
1100
+ class QuestionImageAdornerDesignerComponent extends EmbeddedViewContentComponent {
1101
+ }
1102
+ QuestionImageAdornerDesignerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: QuestionImageAdornerDesignerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1103
+ QuestionImageAdornerDesignerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: QuestionImageAdornerDesignerComponent, selector: "svc-image-question-adorner", inputs: { adorner: "adorner", question: "question" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div class=\"svc-image-question-controls\">\n <ng-container *ngIf=\"adorner.allowEdit\">\n <input type=\"file\" aria-hidden=\"true\" tabindex=\"-1\" accept=\"image/*\" class=\"svc-choose-file-input\" />\n <span class=\"svc-image-question-controls__button\" [key2click] [attr.title]=\"undefined\" [attr.aria-label]=\"undefined\">\n <svg [iconName]=\"'icon-file'\" [size]=\"24\" (click)=\"adorner.chooseFile(adorner)\" sv-ng-svg-icon></svg>\n </span>\n </ng-container>\n </div>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: i1.SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }] });
1104
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: QuestionImageAdornerDesignerComponent, decorators: [{
1105
+ type: Component,
1106
+ args: [{
1107
+ selector: "svc-image-question-adorner",
1108
+ templateUrl: "./question-image.component.html",
1109
+ styles: [":host { display: none; }"]
1110
+ }]
1111
+ }], propDecorators: { adorner: [{
1112
+ type: Input
1113
+ }], question: [{
1114
+ type: Input
1115
+ }] } });
1116
+ AngularComponentFactory.Instance.registerComponent("svc-image-question-adorner", QuestionImageAdornerDesignerComponent);
1117
+
1118
+ class PanelDesignerComponent extends QuestionDesignerComponent {
1119
+ }
1120
+ PanelDesignerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PanelDesignerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1121
+ PanelDesignerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PanelDesignerComponent, selector: "svc-panel", usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div *ngIf=\"adorner\" class=\"svc-question__adorner\" [class]=\"adorner.rootCss()\"\n (mouseover)=\"adorner.hover($event, $event.currentTarget)\" (mouseleave)=\"adorner.hover($event, $event.currentTarget)\"\n [attr.data-sv-drop-target-survey-element]=\"adorner.element.name || null\" #container>\n\n <div *ngIf=\"adorner.element.isInteractiveDesignElement\" class=\"svc-question__content\" [class]=\"adorner.css()\"\n [key2click] (click)=\"adorner.select(adorner, $event)\" data-bind=\"clickBubble: false\">\n <div *ngIf=\"adorner.allowDragging\" class=\"svc-question__drag-area\" (pointerdown)=\"adorner.onPointerDown($event)\">\n <svg class=\"svc-question__drag-element\" [iconName]=\"'icon-drag-area-indicator_24x16'\" [size]=\"24\"\n sv-ng-svg-icon></svg>\n </div>\n\n <ng-template [component]=\"{ name: componentName, data: componentData }\"></ng-template>\n\n <div *ngIf=\"adorner.isEmptyElement\" class=\"svc-panel__placeholder_frame\">\n <div class=\"svc-panel__placeholder\">{{ adorner.placeholderText }}</div>\n <div *ngIf=\"adorner.element.isPanel && adorner.showAddQuestionButton\"\n class=\"svc-panel__add-new-question svc-action-button\" [key2click] (click)=\"addNewQuestion($event)\"\n data-bind=\"clickBubble: false\">\n <span class=\"svc-text svc-text--normal svc-text--bold\">\n {{ adorner.addNewQuestionText }}\n </span>\n </div>\n </div>\n\n <ng-template *ngIf=\"adornerComponent\"\n [component]=\"{ name: adornerComponent, data: { adorner: adorner, question: model } }\">\n </ng-template>\n <!-- ko if: adornerComponent -->\n <!-- ko component: { name: adornerComponent, params: { model: $data } } -->\n <!-- /ko -->\n <!-- /ko -->\n\n <div *ngIf=\"!adorner.isEmptyElement && model.isPanel && adorner.showAddQuestionButton\"\n class=\"svc-panel__add-new-question-container\">\n <div class=\"svc-panel__add-new-question svc-action-button\" [key2click] (click)=\"addNewQuestion($event)\"\n data-bind=\"clickBubble: false\">\n <span class=\"svc-text svc-text--normal svc-text--bold\">\n {{ adorner.addNewQuestionText }}\n </span>\n </div>\n <!-- ko with: questionTypeSelectorModel -->\n <button type=\"button\" [attr.title]=\"adorner.addNewQuestionText\" [key2click] (click)=\"selectQuestionType($event)\"\n class=\"svc-panel__question-type-selector\">\n <svg class=\"svc-panel__question-type-selector-icon\" [iconName]=\"adorner.questionTypeSelectorModel.iconName\"\n [size]=\"24\" sv-ng-svg-icon></svg>\n <sv-ng-popup [popupModel]=\"adorner.questionTypeSelectorModel.popupModel\"></sv-ng-popup>\n </button>\n <!-- /ko -->\n </div>\n\n <div class=\"svc-question__content-actions\">\n <sv-action-bar [model]=\"adorner.actionContainer\" [handleClick]=\"false\"></sv-action-bar>\n </div>\n </div>\n\n <ng-container *ngIf=\"!adorner.element.isInteractiveDesignElement\">\n <ng-template [component]=\"{ name: componentName, data: componentData }\"></ng-template>\n <div *ngIf=\"adorner.isEmptyElement\" class=\"svc-panel__placeholder_frame\">\n <div class=\"svc-panel__placeholder\">{{ adorner.placeholderText }}</div>\n <div *ngIf=\"adorner.showAddQuestionButton\" class=\"svc-panel__add-new-question svc-action-button\" [key2click]\n (click)=\"addNewQuestion($event)\" data-bind=\"clickBubble: false\">\n <span class=\"svc-text svc-text--normal svc-text--bold\">\n {{ adorner.addNewQuestionText }}\n </span>\n </div>\n </div>\n\n <div *ngIf=\"!adorner.isEmptyElement\" class=\"svc-panel__add-new-question-container\">\n <div class=\"svc-panel__add-new-question svc-action-button\" [key2click] (click)=\"addNewQuestion($event)\"\n data-bind=\"clickBubble: false\">\n <span class=\"svc-text svc-text--normal svc-text--bold\">\n {{ adorner.addNewQuestionText }}\n </span>\n </div>\n <!-- ko with: questionTypeSelectorModel -->\n <button type=\"button\" [attr.title]=\"adorner.addNewQuestionText\" [key2click] (click)=\"selectQuestionType($event)\"\n class=\"svc-panel__question-type-selector\">\n <svg class=\"svc-panel__question-type-selector-icon\" [iconName]=\"adorner.questionTypeSelectorModel.iconName\"\n [size]=\"24\" sv-ng-svg-icon></svg>\n <sv-ng-popup [popupModel]=\"adorner.questionTypeSelectorModel.popupModel\"></sv-ng-popup>\n </button>\n <!-- /ko -->\n </div>\n\n </ng-container>\n </div>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: i1.SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: i1.PopupComponent, selector: "sv-ng-popup, '[sv-ng-popup]'", inputs: ["popupModel"] }, { type: i1.ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }, { type: i1.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
1122
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PanelDesignerComponent, decorators: [{
1123
+ type: Component,
1124
+ args: [{
1125
+ selector: "svc-panel",
1126
+ templateUrl: "./question.component.html",
1127
+ styles: [":host { display: none; }"]
1128
+ }]
1129
+ }] });
1130
+ AngularComponentFactory.Instance.registerComponent("svc-panel", PanelDesignerComponent);
1131
+
1132
+ class ToolboxItemComponent extends BaseAngular {
1133
+ constructor() {
1134
+ super(...arguments);
1135
+ this.isCompact = false;
1136
+ }
1137
+ getModel() {
1138
+ return this.viewModel;
1139
+ }
1140
+ get item() {
1141
+ return this.model;
1142
+ }
1143
+ get ariaLabel() {
1144
+ return this.item.tooltip + " " + editorLocalization.getString("toolbox") + " item";
1145
+ }
1146
+ }
1147
+ ToolboxItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ToolboxItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1148
+ ToolboxItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ToolboxItemComponent, selector: "svc-toolbox-item", inputs: { creator: "creator", model: "model", isCompact: "isCompact", viewModel: "viewModel" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div class=\"svc-toolbox__item\" role=\"button\" [attr.aria-label]=\"ariaLabel\"\n [class]=\"'svc-toolbox__item--' + item.iconName\" (click)=\"viewModel.click($event)\" [key2click]>\n <span class=\"svc-toolbox__item-container\">\n <svg [iconName]=\"item.iconName\" [size]=\"24\" [title]=\"ariaLabel\" sv-ng-svg-icon></svg>\n </span>\n <span *ngIf=\"isCompact\" class=\"svc-toolbox__item-banner svc-item__banner\">\n <svg [iconName]=\"item.iconName\" [size]=\"24\" [title]=\"ariaLabel\" class=\"svc-toolbox__item-icon\" sv-ng-svg-icon></svg>\n <span class=\"svc-toolbox__item-title\">{{item.title}}</span>\n </span>\n <span *ngIf=\"!isCompact\" class=\"svc-toolbox__item-title\">\n {{item.title}}\n </span>\n </div>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: i1.SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }], directives: [{ type: i1.Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
1149
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ToolboxItemComponent, decorators: [{
1150
+ type: Component,
1151
+ args: [{
1152
+ selector: "svc-toolbox-item",
1153
+ templateUrl: "./toolbox-item.component.html",
1154
+ styles: [":host { display: none; }"]
1155
+ }]
1156
+ }], propDecorators: { creator: [{
1157
+ type: Input
1158
+ }], model: [{
1159
+ type: Input
1160
+ }], isCompact: [{
1161
+ type: Input
1162
+ }], viewModel: [{
1163
+ type: Input
1164
+ }] } });
1165
+ AngularComponentFactory.Instance.registerComponent("svc-toolbox-item", ToolboxItemComponent);
1166
+
1167
+ class StringEditorComponent extends CreatorModelComponent {
1168
+ constructor(cdr, vcr, ngZone) {
1169
+ super(cdr, vcr);
1170
+ this.ngZone = ngZone;
1171
+ this.justFocused = false;
1172
+ this.onChangeHandler = () => {
1173
+ this.detectChanges();
1174
+ };
1175
+ }
1176
+ createModel() {
1177
+ this.baseModel = new StringEditorViewModelBase(this.locString, this.creator);
1178
+ this.baseModel.blurEditor = () => {
1179
+ this.container.nativeElement.blur();
1180
+ this.container.nativeElement.spellcheck = false;
1181
+ };
1182
+ this.baseModel.getEditorElement = () => this.container.nativeElement;
1183
+ this.ngZone.runOutsideAngular(() => {
1184
+ setTimeout(() => this.baseModel.afterRender());
1185
+ });
1186
+ }
1187
+ get locString() {
1188
+ return this.model.locStr;
1189
+ }
1190
+ get creator() {
1191
+ return this.model.creator;
1192
+ }
1193
+ getModel() {
1194
+ return this.baseModel;
1195
+ }
1196
+ getPropertiesToTrack() {
1197
+ return ["creator", "locString"];
1198
+ }
1199
+ get placeholder() {
1200
+ return this.baseModel.placeholder;
1201
+ }
1202
+ get contentEditable() {
1203
+ return this.baseModel.contentEditable;
1204
+ }
1205
+ get className() {
1206
+ return this.baseModel.className(this.locString.renderedHtml);
1207
+ }
1208
+ get errorText() {
1209
+ return this.baseModel.errorText;
1210
+ }
1211
+ get editValue() {
1212
+ return this.baseModel.focused && this.baseModel.editAsText && this.locString.text || this.locString.renderedHtml;
1213
+ }
1214
+ onBlur(event) {
1215
+ this.container.nativeElement.spellcheck = false;
1216
+ this.locString.__isEditing = false;
1217
+ this.justFocused = false;
1218
+ this.baseModel.onBlur(event);
1219
+ return this.baseModel.errorText;
1220
+ }
1221
+ onFocus(event) {
1222
+ this.baseModel.onFocus(event);
1223
+ this.justFocused = true;
1224
+ }
1225
+ done(event) {
1226
+ this.baseModel.done(event);
1227
+ this.locString.__isEditing = false;
1228
+ }
1229
+ edit(event) {
1230
+ this.container.nativeElement.focus();
1231
+ this.locString.__isEditing = true;
1232
+ this.baseModel.onClick(event);
1233
+ }
1234
+ ngOnInit() {
1235
+ var _a;
1236
+ super.ngOnInit();
1237
+ if (this.locString.__isEditing) {
1238
+ this.container.nativeElement.focus();
1239
+ }
1240
+ (_a = this.locString) === null || _a === void 0 ? void 0 : _a.onStringChanged.add(this.onChangeHandler);
1241
+ }
1242
+ ngOnDestroy() {
1243
+ var _a;
1244
+ (_a = this.locString) === null || _a === void 0 ? void 0 : _a.onStringChanged.remove(this.onChangeHandler);
1245
+ super.ngOnDestroy();
1246
+ }
1247
+ }
1248
+ StringEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: StringEditorComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ViewContainerRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1249
+ StringEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: StringEditorComponent, selector: "svc-string-edtior", inputs: { model: "model" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <span [class]=\"className\">\n <span class=\"svc-string-editor__content\">\n <div class=\"svc-string-editor__border\">\n <svg [iconName]=\"'icon-arrow-up'\" class=\"svc-string-editor__button svc-string-editor__button--edit\" [size]=\"24\" sv-ng-svg-icon \n (click)=\"edit($event)\" [iconName]=\"'icon-edit'\" [size]=\"16\"></svg>\n </div>\n <span role=\"textbox\" *ngIf=\"!locString.hasHtml\" class=\"sv-string-editor\" spellcheck=\"false\"\n (focus)=\"onFocus($event)\" (blur)=\"onBlur($event)\" (input)=\"baseModel.onInput($event)\" (keydown)=\"baseModel.onKeyDown($event)\" (keyup)=\"baseModel.onKeyUp($event)\" (mouseup)=\"baseModel.onMouseUp($event)\" (click)=\"edit($event)\" [attr.aria-placeholder]=\"placeholder\" [attr.contenteditable]=\"contentEditable\" [innerText]=\"editValue\" #container></span>\n <span role=\"textbox\" *ngIf=\"locString.hasHtml\" class=\"sv-string-editor\" spellcheck=\"false\"\n (focus)=\"onFocus($event)\" (blur)=\"onBlur($event)\" (keydown)=\"baseModel.onKeyDown($event)\" (keyup)=\"baseModel.onKeyUp($event)\" (mouseup)=\"baseModel.onMouseUp($event)\"\n (click)=\"edit($event)\" [attr.aria-placeholder]=\"placeholder\" [attr.contenteditable]=\"contentEditable\" [innerHtml]=\"editValue\" #container></span>\n </span>\n <span *ngIf=\"errorText\" class=\"svc-string-editor__error\">{{errorText}}</span>\n </span>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: i1.SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
1250
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: StringEditorComponent, decorators: [{
1251
+ type: Component,
1252
+ args: [{
1253
+ selector: "svc-string-edtior",
1254
+ templateUrl: "./string-editor.component.html",
1255
+ styles: [":host { display: none; }"]
1256
+ }]
1257
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ViewContainerRef }, { type: i0.NgZone }]; }, propDecorators: { model: [{
1258
+ type: Input
1259
+ }], container: [{
1260
+ type: ViewChild,
1261
+ args: ["container"]
1262
+ }] } });
1263
+ AngularComponentFactory.Instance.registerComponent(editableStringRendererName, StringEditorComponent);
1264
+
1265
+ class LogicOperatorComponent extends QuestionAngular {
1266
+ get dropdownModel() {
1267
+ return this.dropdownListModel;
1268
+ }
1269
+ click(event) {
1270
+ var _a;
1271
+ (_a = this.dropdownListModel) === null || _a === void 0 ? void 0 : _a.onClick(event);
1272
+ }
1273
+ clear(event) {
1274
+ var _a;
1275
+ (_a = this.dropdownListModel) === null || _a === void 0 ? void 0 : _a.onClear(event);
1276
+ }
1277
+ keyup(event) {
1278
+ var _a;
1279
+ (_a = this.dropdownListModel) === null || _a === void 0 ? void 0 : _a.keyHandler(event);
1280
+ }
1281
+ ngOnInit() {
1282
+ super.ngOnInit();
1283
+ this.dropdownListModel = this.model.dropdownListModel || new DropdownListModel(this.model);
1284
+ }
1285
+ }
1286
+ LogicOperatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LogicOperatorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1287
+ LogicOperatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: LogicOperatorComponent, selector: "svc-logic-operator", usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div [class]=\"model.cssClasses.selectWrapper\">\n <ng-container *ngIf=\"!model.isReadOnly\">\n <div [class]=\"model.getControlClass()\" (click)=\"click($event)\" (keyup)=\"keyup($event)\"\n [attr.id]=\"model.inputId\" \n [attr.required]=\"model.isRequired\" \n [attr.tabindex]= \"model.isInputReadOnly ? undefined : 0\"\n [attr.disabled]=\"model.isInputReadOnly\"\n [attr.role]=\"model.ariaRole\"\n [attr.aria-required]=\"model.ariaRequired\" \n [attr.aria-label]=\"model.ariaLabel\" \n [attr.aria-invalid]=\"model.ariaInvalid\" \n [attr.aria-describedby]= \"model.ariaDescribedBy\" \n >\n <div [class]=\"model.cssClasses.controlValue\">\n <sv-ng-string *ngIf=\"model.selectedItemLocText\" [model]=\"model.selectedItemLocText\"></sv-ng-string>\n <div>{{model.readOnlyText}}</div>\n </div>\n <div *ngIf=\"model.allowClear && model.cssClasses.cleanButtonIconId\" [class]=\"model.cssClasses.cleanButton\" (click)=\"clear\" [visible]=\"!model.isEmpty()\">\n <svg [class]=\"model.cssClasses.cleanButtonSvg\" [iconName]=\"model.cssClasses.cleanButtonIconId\" [size]=\"'auto'\" [title]=\"model.clearCaption\" [size]=\"24\" sv-ng-svg-icon></svg>\n </div>\n </div>\n <sv-ng-popup [popupModel]=\"model.popupModel\"></sv-ng-popup>\n </ng-container>\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>\n</ng-template>\n", styles: [":host { display: none; }"], components: [{ type: i1.SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }, { type: i1.SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: i1.PopupComponent, selector: "sv-ng-popup, '[sv-ng-popup]'", inputs: ["popupModel"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.VisibleDirective, selector: "[visible]", inputs: ["visible"] }] });
1288
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LogicOperatorComponent, decorators: [{
1289
+ type: Component,
1290
+ args: [{
1291
+ selector: "svc-logic-operator",
1292
+ templateUrl: "./logic-operator.component.html",
1293
+ styles: [":host { display: none; }"]
1294
+ }]
1295
+ }] });
1296
+ AngularComponentFactory.Instance.registerComponent("sv-logic-operator", LogicOperatorComponent);
1297
+ RendererFactory.Instance.registerRenderer("dropdown", "logicoperator", "sv-logic-operator");
1298
+
1299
+ class MatrixCellComponent extends CreatorModelComponent {
1300
+ get creator() {
1301
+ return this.componentData.creator;
1302
+ }
1303
+ get question() {
1304
+ return this.componentData.question;
1305
+ }
1306
+ get column() {
1307
+ return this.componentData.column;
1308
+ }
1309
+ get row() {
1310
+ return this.componentData.row;
1311
+ }
1312
+ createModel() {
1313
+ if (this.componentData) {
1314
+ this.adorner = new MatrixCellWrapperViewModel(this.creator, null, this.question, this.row, this.column);
1315
+ }
1316
+ }
1317
+ getPropertiesToTrack() {
1318
+ return ["creator", "row", "column", "question"];
1319
+ }
1320
+ getModel() {
1321
+ return this.adorner;
1322
+ }
1323
+ }
1324
+ MatrixCellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MatrixCellComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1325
+ MatrixCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MatrixCellComponent, selector: "svc-matrix-cell", inputs: { componentName: "componentName", componentData: "componentData", contentTempl: "contentTempl" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div tabindex=\"-1\" class=\"svc-matrix-cell\" (click)=\"adorner.selectContext(adorner, $event)\" (mouseover)=\"adorner.hover($event, $event.currentTarget)\" (mouseleave)=\"adorner.hover($event, $event.currentTarget)\">\n <div class=\"svc-matrix-cell--selected\" [class.svc-visible]=\"adorner.isSelected\"></div>\n <ng-container *ngTemplateOutlet=\"contentTempl\"></ng-container>\n <div *ngIf=\"question\" class=\"svc-matrix-cell__question-controls\">\n <span class=\"svc-matrix-cell__question-controls-button\" (click)=\"adorner.editQuestion(adorner)\" [key2click]>\n <svg [iconName]=\"'icon-edit'\" [size]=\"24\" [size]=\"24\" sv-ng-svg-icon></svg>\n </span>\n </div>\n </div>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: i1.SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }], directives: [{ type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }] });
1326
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MatrixCellComponent, decorators: [{
1327
+ type: Component,
1328
+ args: [{
1329
+ selector: "svc-matrix-cell",
1330
+ templateUrl: "./matrix-cell.component.html",
1331
+ styles: [":host { display: none; }"]
1332
+ }]
1333
+ }], propDecorators: { componentName: [{
1334
+ type: Input
1335
+ }], componentData: [{
1336
+ type: Input
1337
+ }], contentTempl: [{
1338
+ type: Input
1339
+ }] } });
1340
+ AngularComponentFactory.Instance.registerComponent("svc-matrix-cell", MatrixCellComponent);
1341
+
1342
+ class QuestionEditorComponent extends EmbeddedViewContentComponent {
1343
+ get question() {
1344
+ return this.survey.getAllQuestions()[0];
1345
+ }
1346
+ get elementComponentName() {
1347
+ return this.question.isPanel ? "panel" : "question";
1348
+ }
1349
+ get componentName() {
1350
+ const survey = this.survey;
1351
+ if (!!survey) {
1352
+ const name = survey.getElementWrapperComponentName(this.question);
1353
+ if (!!name) {
1354
+ return name;
1355
+ }
1356
+ }
1357
+ return this.elementComponentName;
1358
+ }
1359
+ get componentData() {
1360
+ const survey = this.survey;
1361
+ let data;
1362
+ if (!!survey) {
1363
+ data = survey.getElementWrapperComponentData(this.question);
1364
+ }
1365
+ return {
1366
+ componentName: this.elementComponentName,
1367
+ componentData: {
1368
+ model: this.question,
1369
+ data: data
1370
+ }
1371
+ };
1372
+ }
1373
+ }
1374
+ QuestionEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: QuestionEditorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1375
+ QuestionEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: QuestionEditorComponent, selector: "svc-question-editor-content", inputs: { survey: "survey" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <ng-template [component]=\"{ name: componentName, data: componentData }\"></ng-template>\n</ng-template>", directives: [{ type: i1.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
1376
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: QuestionEditorComponent, decorators: [{
1377
+ type: Component,
1378
+ args: [{
1379
+ selector: "svc-question-editor-content",
1380
+ templateUrl: "./question-editor.component.html"
1381
+ }]
1382
+ }], propDecorators: { survey: [{
1383
+ type: Input
1384
+ }] } });
1385
+ AngularComponentFactory.Instance.registerComponent("svc-question-editor-content", QuestionEditorComponent);
1386
+
1387
+ class CellQuestionComponent extends BaseAngular {
1388
+ getModel() {
1389
+ return this.model;
1390
+ }
1391
+ get model() {
1392
+ return this.componentData.model;
1393
+ }
1394
+ }
1395
+ CellQuestionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CellQuestionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1396
+ CellQuestionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CellQuestionComponent, selector: "svc-cell-question", inputs: { componentName: "componentName", componentData: "componentData" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div class=\"svc-question__adorner\">\n <div class=\"svc-question__content svc-question__content--selected-no-border\">\n <ng-template [component]=\"{ name: componentName, data: componentData }\"></ng-template>\n </div>\n </div>\n</ng-template>", styles: [":host { display: none; }"], directives: [{ type: i1.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
1397
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CellQuestionComponent, decorators: [{
1398
+ type: Component,
1399
+ args: [{
1400
+ selector: "svc-cell-question",
1401
+ templateUrl: "./cell-question.component.html",
1402
+ styles: [":host { display: none; }"]
1403
+ }]
1404
+ }], propDecorators: { componentName: [{
1405
+ type: Input
1406
+ }], componentData: [{
1407
+ type: Input
1408
+ }] } });
1409
+ AngularComponentFactory.Instance.registerComponent("svc-cell-question", CellQuestionComponent);
1410
+
1411
+ class CellQuestionDropdownComponent extends CellQuestionComponent {
1412
+ getItemValueComponentName(item) {
1413
+ return this.model.getItemValueWrapperComponentName(item) || "sv-ng-selectbase-item";
1414
+ }
1415
+ getItemValueComponentData(item) {
1416
+ return {
1417
+ componentName: "sv-ng-selectbase-item",
1418
+ componentData: {
1419
+ question: this.model,
1420
+ model: item,
1421
+ inputType: "radio",
1422
+ data: this.model.getItemValueWrapperComponentData(item)
1423
+ }
1424
+ };
1425
+ }
1426
+ }
1427
+ CellQuestionDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CellQuestionDropdownComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1428
+ CellQuestionDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CellQuestionDropdownComponent, selector: "svc-cell-dropdown-question", usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div class=\"svc-question__adorner\">\n <div class=\"svc-question__content svc-question__content--selected-no-border\">\n <ng-template [component]=\"{ name: componentName, data: componentData }\"></ng-template>\n <div class=\"svc-question__dropdown-choices\">\n <div *ngFor=\"let item of model.visibleChoices\"class=\"svc-question__dropdown-choice\">\n <ng-template [component]=\"{ name: getItemValueComponentName(item), data: getItemValueComponentData(item) }\"></ng-template>\n </div>\n </div>\n\n </div>\n </div>\n</ng-template>", styles: [":host { display: none; }"], directives: [{ type: i1.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
1429
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CellQuestionDropdownComponent, decorators: [{
1430
+ type: Component,
1431
+ args: [{
1432
+ selector: "svc-cell-dropdown-question",
1433
+ templateUrl: "./cell-question-dropdown.component.html",
1434
+ styles: [":host { display: none; }"]
1435
+ }]
1436
+ }] });
1437
+ AngularComponentFactory.Instance.registerComponent("svc-cell-dropdown-question", CellQuestionDropdownComponent);
1438
+
1439
+ class CreatorRowComponent extends CreatorModelComponent {
1440
+ get row() {
1441
+ return this.componentData.row;
1442
+ }
1443
+ get creator() {
1444
+ return this.componentData.creator;
1445
+ }
1446
+ getModel() {
1447
+ return this.model;
1448
+ }
1449
+ createModel() {
1450
+ this.model = new RowViewModel(this.creator, this.row, undefined);
1451
+ }
1452
+ getPropertiesToTrack() {
1453
+ return ["creator", "row"];
1454
+ }
1455
+ }
1456
+ CreatorRowComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CreatorRowComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1457
+ CreatorRowComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CreatorRowComponent, selector: "svc-row", inputs: { componentData: "componentData" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div [class]=\"model.cssClasses\">\n <sv-ng-row [row]=\"row\"></sv-ng-row>\n </div>\n</ng-template>", components: [{ type: i1.RowComponent, selector: "sv-ng-row", inputs: ["row"] }] });
1458
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CreatorRowComponent, decorators: [{
1459
+ type: Component,
1460
+ args: [{
1461
+ selector: "svc-row",
1462
+ templateUrl: "./row.component.html"
1463
+ }]
1464
+ }], propDecorators: { componentData: [{
1465
+ type: Input
1466
+ }] } });
1467
+ AngularComponentFactory.Instance.registerComponent("svc-row", CreatorRowComponent);
1468
+
1469
+ class QuestionWidgetDesignerComponent extends QuestionDesignerComponent {
1470
+ createModel() {
1471
+ if (this.componentData) {
1472
+ this.adorner = new QuestionAdornerViewModel(this.creator, this.model, null);
1473
+ }
1474
+ }
1475
+ }
1476
+ QuestionWidgetDesignerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: QuestionWidgetDesignerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1477
+ QuestionWidgetDesignerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: QuestionWidgetDesignerComponent, selector: "svc-widget-question", usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div *ngIf=\"adorner\" class=\"svc-question__adorner\" [class]=\"adorner.rootCss()\" (mouseover)=\"adorner.hover($event, $event.currentTarget)\" (mouseleave)=\"adorner.hover($event, $event.currentTarget)\" [attr.data-sv-drop-target-survey-element]=\"adorner.element.name || null\">\n <div *ngIf=\"adorner.element.isInteractiveDesignElement\" class=\"svc-question__content\" [class]=\"adorner.css()\" [key2click] (click)=\"adorner.select(adorner, $event)\" data-bind=\"clickBubble: false\">\n <div *ngIf=\"adorner.allowDragging\" class=\"svc-question__drag-area\" (pointerdown)=\"adorner.onPointerDown($event)\">\n <svg class=\"svc-question__drag-element\" [iconName]=\"'icon-drag-area-indicator_24x16'\" [size]=\"24\" sv-ng-svg-icon></svg>\n </div>\n <div class=\"svc-widget__content\">\n <ng-template [component]=\"{ name: componentName, data: componentData }\"></ng-template>\n </div>\n <div class=\"svc-panel__placeholder_frame\">\n <div class=\"svc-panel__placeholder\" data-bind=\"text: placeholderText\"></div>\n </div>\n <div class=\"svc-question__content-actions\">\n <sv-action-bar [model]=\"adorner.actionContainer\" [handleClick]=\"false\"></sv-action-bar>\n </div>\n </div>\n\n <ng-container *ngIf=\"!adorner.element.isInteractiveDesignElement\">\n <ng-template [component]=\"{ name: componentName, data: componentData }\"></ng-template>\n <div *ngIf=\"adorner.isEmptyElement\" class=\"svc-panel__placeholder_frame\">\n <div class=\"svc-panel__placeholder\">{{ adorner.placeholderText }}</div>\n </div>\n </ng-container>\n </div>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: i1.SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: i1.ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }, { type: i1.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
1478
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: QuestionWidgetDesignerComponent, decorators: [{
1479
+ type: Component,
1480
+ args: [{
1481
+ selector: "svc-widget-question",
1482
+ templateUrl: "./question-widget.component.html",
1483
+ styles: [":host { display: none; }"]
1484
+ }]
1485
+ }] });
1486
+ AngularComponentFactory.Instance.registerComponent("svc-widget-question", QuestionWidgetDesignerComponent);
1487
+
1488
+ class ToolboxComponent extends BaseAngular {
1489
+ get toolbox() {
1490
+ return this.model.toolbox;
1491
+ }
1492
+ getModel() {
1493
+ return this.toolbox;
1494
+ }
1495
+ }
1496
+ ToolboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ToolboxComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1497
+ ToolboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ToolboxComponent, selector: "svc-toolbox", inputs: { model: "model" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div class=\"svc-toolbox\">\n <div class=\"svc-toolbox__container\">\n <ng-container *ngIf=\"!(toolbox.categories.length == 1 || !toolbox.showCategoryTitles)\">\n <svc-toolbox-category *ngFor=\"let category of toolbox.categories\" [category]=\"category\" [toolbox]=\"toolbox\"></svc-toolbox-category>\n </ng-container>\n <ng-container *ngIf=\"toolbox.categories.length == 1 || !toolbox.showCategoryTitles\">\n <div class=\"svc-toolbox__category\">\n <svc-toolbox-tool *ngFor=\"let item of toolbox.visibleActions\" [creator]=\"model\" [item]=\"item\" [isCompact]=\"toolbox.isCompact\"></svc-toolbox-tool>\n </div>\n </ng-container>\n </div>\n </div>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: ToolboxCategoryComponent, selector: "svc-toolbox-category ", inputs: ["category", "toolbox"] }, { type: ToolboxToolComponent, selector: "svc-toolbox-tool", inputs: ["creator", "item", "isCompact"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
1498
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ToolboxComponent, decorators: [{
1499
+ type: Component,
1500
+ args: [{
1501
+ selector: "svc-toolbox",
1502
+ templateUrl: "./toolbox.component.html",
1503
+ styles: [":host { display: none; }"]
1504
+ }]
1505
+ }], propDecorators: { model: [{
1506
+ type: Input
1507
+ }] } });
1508
+ AngularComponentFactory.Instance.registerComponent("svc-toolbox", ToolboxComponent);
1509
+
1510
+ class QuestionRatingDesignerComponent extends QuestionDesignerComponent {
1511
+ constructor() {
1512
+ super(...arguments);
1513
+ this.adornerComponent = "";
1514
+ }
1515
+ }
1516
+ QuestionRatingDesignerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: QuestionRatingDesignerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1517
+ QuestionRatingDesignerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: QuestionRatingDesignerComponent, selector: "svc-rating-question", usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div *ngIf=\"adorner\" class=\"svc-question__adorner\" [class]=\"adorner.rootCss()\"\n (mouseover)=\"adorner.hover($event, $event.currentTarget)\" (mouseleave)=\"adorner.hover($event, $event.currentTarget)\"\n [attr.data-sv-drop-target-survey-element]=\"adorner.element.name || null\" #container>\n\n <div *ngIf=\"adorner.element.isInteractiveDesignElement\" class=\"svc-question__content\" [class]=\"adorner.css()\"\n [key2click] (click)=\"adorner.select(adorner, $event)\" data-bind=\"clickBubble: false\">\n <div *ngIf=\"adorner.allowDragging\" class=\"svc-question__drag-area\" (pointerdown)=\"adorner.onPointerDown($event)\">\n <svg class=\"svc-question__drag-element\" [iconName]=\"'icon-drag-area-indicator_24x16'\" [size]=\"24\"\n sv-ng-svg-icon></svg>\n </div>\n\n <ng-template [component]=\"{ name: componentName, data: componentData }\"></ng-template>\n\n <div *ngIf=\"adorner.isEmptyElement\" class=\"svc-panel__placeholder_frame\">\n <div class=\"svc-panel__placeholder\">{{ adorner.placeholderText }}</div>\n <div *ngIf=\"adorner.element.isPanel && adorner.showAddQuestionButton\"\n class=\"svc-panel__add-new-question svc-action-button\" [key2click] (click)=\"addNewQuestion($event)\"\n data-bind=\"clickBubble: false\">\n <span class=\"svc-text svc-text--normal svc-text--bold\">\n {{ adorner.addNewQuestionText }}\n </span>\n </div>\n </div>\n\n <ng-template *ngIf=\"adornerComponent\"\n [component]=\"{ name: adornerComponent, data: { adorner: adorner, question: model } }\">\n </ng-template>\n <!-- ko if: adornerComponent -->\n <!-- ko component: { name: adornerComponent, params: { model: $data } } -->\n <!-- /ko -->\n <!-- /ko -->\n\n <div *ngIf=\"!adorner.isEmptyElement && model.isPanel && adorner.showAddQuestionButton\"\n class=\"svc-panel__add-new-question-container\">\n <div class=\"svc-panel__add-new-question svc-action-button\" [key2click] (click)=\"addNewQuestion($event)\"\n data-bind=\"clickBubble: false\">\n <span class=\"svc-text svc-text--normal svc-text--bold\">\n {{ adorner.addNewQuestionText }}\n </span>\n </div>\n <!-- ko with: questionTypeSelectorModel -->\n <button type=\"button\" [attr.title]=\"adorner.addNewQuestionText\" [key2click] (click)=\"selectQuestionType($event)\"\n class=\"svc-panel__question-type-selector\">\n <svg class=\"svc-panel__question-type-selector-icon\" [iconName]=\"adorner.questionTypeSelectorModel.iconName\"\n [size]=\"24\" sv-ng-svg-icon></svg>\n <sv-ng-popup [popupModel]=\"adorner.questionTypeSelectorModel.popupModel\"></sv-ng-popup>\n </button>\n <!-- /ko -->\n </div>\n\n <div class=\"svc-question__content-actions\">\n <sv-action-bar [model]=\"adorner.actionContainer\" [handleClick]=\"false\"></sv-action-bar>\n </div>\n </div>\n\n <ng-container *ngIf=\"!adorner.element.isInteractiveDesignElement\">\n <ng-template [component]=\"{ name: componentName, data: componentData }\"></ng-template>\n <div *ngIf=\"adorner.isEmptyElement\" class=\"svc-panel__placeholder_frame\">\n <div class=\"svc-panel__placeholder\">{{ adorner.placeholderText }}</div>\n <div *ngIf=\"adorner.showAddQuestionButton\" class=\"svc-panel__add-new-question svc-action-button\" [key2click]\n (click)=\"addNewQuestion($event)\" data-bind=\"clickBubble: false\">\n <span class=\"svc-text svc-text--normal svc-text--bold\">\n {{ adorner.addNewQuestionText }}\n </span>\n </div>\n </div>\n\n <div *ngIf=\"!adorner.isEmptyElement\" class=\"svc-panel__add-new-question-container\">\n <div class=\"svc-panel__add-new-question svc-action-button\" [key2click] (click)=\"addNewQuestion($event)\"\n data-bind=\"clickBubble: false\">\n <span class=\"svc-text svc-text--normal svc-text--bold\">\n {{ adorner.addNewQuestionText }}\n </span>\n </div>\n <!-- ko with: questionTypeSelectorModel -->\n <button type=\"button\" [attr.title]=\"adorner.addNewQuestionText\" [key2click] (click)=\"selectQuestionType($event)\"\n class=\"svc-panel__question-type-selector\">\n <svg class=\"svc-panel__question-type-selector-icon\" [iconName]=\"adorner.questionTypeSelectorModel.iconName\"\n [size]=\"24\" sv-ng-svg-icon></svg>\n <sv-ng-popup [popupModel]=\"adorner.questionTypeSelectorModel.popupModel\"></sv-ng-popup>\n </button>\n <!-- /ko -->\n </div>\n\n </ng-container>\n </div>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: i1.SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: i1.PopupComponent, selector: "sv-ng-popup, '[sv-ng-popup]'", inputs: ["popupModel"] }, { type: i1.ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }, { type: i1.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
1518
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: QuestionRatingDesignerComponent, decorators: [{
1519
+ type: Component,
1520
+ args: [{
1521
+ selector: "svc-rating-question",
1522
+ templateUrl: "../question.component.html",
1523
+ styles: [":host { display: none; }"]
1524
+ }]
1525
+ }] });
1526
+ AngularComponentFactory.Instance.registerComponent("svc-rating-question", QuestionRatingDesignerComponent);
1527
+ class QuestionRatingAdornerDesignerComponent extends CreatorModelComponent {
1528
+ createModel() {
1529
+ if (this.componentData) {
1530
+ this.adorner = new QuestionRatingAdornerViewModel(this.componentData.data, this.componentData.model, null);
1531
+ }
1532
+ }
1533
+ getPropertiesToTrack() {
1534
+ return ["model", "creator"];
1535
+ }
1536
+ getModel() {
1537
+ return this.adorner;
1538
+ }
1539
+ }
1540
+ QuestionRatingAdornerDesignerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: QuestionRatingAdornerDesignerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1541
+ QuestionRatingAdornerDesignerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: QuestionRatingAdornerDesignerComponent, selector: "svc-rating-question-content", inputs: { componentName: "componentName", componentData: "componentData" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div class=\"svc-rating-question-content\">\n <div class=\"svc-rating-question-controls svc-item-value-controls\">\n <svg *ngIf=\"adorner.allowRemove\" [iconName]=\"'icon-remove_16x16'\" [size]=\"16\" [key2click] (click)=\"adorner.removeItem(adorner)\"\n class=\"svc-item-value-controls__button svc-item-value-controls__remove\" [attr.title]=\"adorner.removeTooltip\" [attr.aria-label]=\"adorner.removeTooltip\" sv-ng-svg-icon></svg>\n <svg *ngIf=\"adorner.allowAdd\" [iconName]=\"'icon-add_16x16'\" [size]=\"16\" [key2click] (click)=\"adorner.addItem(adorner)\"\n class=\"svc-item-value-controls__button svc-item-value-controls__add\" [attr.title]=\"adorner.addTooltip\" [attr.aria-label]=\"adorner.addTooltip\"sv-ng-svg-icon></svg>\n </div>\n <ng-template [component]=\"{ name: componentName, data: componentData }\"></ng-template>\n </div>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: i1.SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }, { type: i1.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
1542
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: QuestionRatingAdornerDesignerComponent, decorators: [{
1543
+ type: Component,
1544
+ args: [{
1545
+ selector: "svc-rating-question-content",
1546
+ templateUrl: "./question-rating.component.html",
1547
+ styles: [":host { display: none; }"]
1548
+ }]
1549
+ }], propDecorators: { componentName: [{
1550
+ type: Input
1551
+ }], componentData: [{
1552
+ type: Input
1553
+ }] } });
1554
+ AngularComponentFactory.Instance.registerComponent("svc-rating-question-content", QuestionRatingAdornerDesignerComponent);
1555
+
1556
+ class CreatorLogoImageComponent extends CreatorModelComponent {
1557
+ createModel() {
1558
+ this.model = new LogoImageViewModel(this.creator, null);
1559
+ }
1560
+ getModel() {
1561
+ return this.model;
1562
+ }
1563
+ getPropertiesToTrack() {
1564
+ return ["data"];
1565
+ }
1566
+ get creator() {
1567
+ return this.data;
1568
+ }
1569
+ get survey() {
1570
+ return this.creator.survey;
1571
+ }
1572
+ ngAfterViewInit() {
1573
+ this.model.root = this.container.nativeElement;
1574
+ }
1575
+ }
1576
+ CreatorLogoImageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CreatorLogoImageComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1577
+ CreatorLogoImageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CreatorLogoImageComponent, selector: "svc-logo-image", inputs: { data: "data" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div class=\"svc-logo-image\" #container>\n <input type=\"file\" aria-hidden=\"true\" tabindex=\"-1\" accept=\"image/*\" class=\"svc-choose-file-input\" />\n <ng-container *ngIf=\"!survey.locLogo.renderedHtml\">\n <ng-container *ngIf=\"model.allowEdit\">\n <div class=\"svc-logo-image-placeholder\" (click)=\"model.chooseFile(model)\" [key2click]>\n <svg>\n <use xlink:href=\"#icon-logo\"></use>\n </svg>\n </div>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"survey.locLogo.renderedHtml\">\n <div [class]=\"model.containerCss\" (click)=\"model.chooseFile(model)\" [key2click]>\n <sv-logo-image [data]=\"survey\"></sv-logo-image>\n </div>\n </ng-container>\n </div>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: i1.LogoImageComponent, selector: "sv-logo-image", inputs: ["data"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }] });
1578
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CreatorLogoImageComponent, decorators: [{
1579
+ type: Component,
1580
+ args: [{
1581
+ selector: "svc-logo-image",
1582
+ templateUrl: "./logo-image.component.html",
1583
+ styles: [":host { display: none; }"]
1584
+ }]
1585
+ }], propDecorators: { data: [{
1586
+ type: Input
1587
+ }], container: [{
1588
+ type: ViewChild,
1589
+ args: ["container", { read: ElementRef }]
1590
+ }] } });
1591
+ AngularComponentFactory.Instance.registerComponent("svc-logo-image", CreatorLogoImageComponent);
1592
+
1593
+ class SurveyCreatorModule {
1594
+ }
1595
+ SurveyCreatorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SurveyCreatorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1596
+ SurveyCreatorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SurveyCreatorModule, declarations: [CreatorComponent, DesignerTabComponent, PageDesignerComponent, QuestionDesignerComponent, PanelDesignerComponent, SvgBundleComponent, TabbledMenuComponent, TabbedMenuItemComponent, TabbedMenuItemWrapperComponent, SidebarComponent, SidebarTabComponent, ObjectSelectorComponent, PropertyGridComponent, TextareaJsonEditorComponent, AceJsonEditorComponent, LogicTabComponent, LogicAddButtonComponent, ActionButtonComponent, LinkValueQuestionComponent, EmbeddedSurveyQuestionComponent, TranslationTabComponent, TranslationSkeletonComponent, SimulatorComponent, TestTabComponent, TestAgainActionComponent, SurveyResultsComponent, SurveyResultsTableRowComponent,
1597
+ AdaptiveToolboxComponent, ToolboxToolComponent, ToolboxItemComponent, ToolboxCategoryComponent, StringEditorComponent, PageNavigatorComponent, PageNavigatorItemComponent,
1598
+ QuestionDropdownDesignerComponent, QuestionDropdownAdornerDesignerComponent, QuestionImageDesignerComponent, QuestionImageAdornerDesignerComponent,
1599
+ ItemValueDesignerComponent, ImageItemValueDesignerComponent, LogicOperatorComponent, MatrixCellComponent, QuestionEditorComponent, CellQuestionDropdownComponent, CreatorRowComponent, DesignerPagesComponent, DesignerSurveyComponent, CellQuestionComponent, QuestionWidgetDesignerComponent, ToolboxComponent, CreatorLogoImageComponent,
1600
+ QuestionRatingAdornerDesignerComponent, QuestionRatingDesignerComponent], imports: [CommonModule, FormsModule, SurveyModule], exports: [CreatorComponent, DesignerTabComponent, PageDesignerComponent, QuestionDesignerComponent, PanelDesignerComponent, SvgBundleComponent, TabbledMenuComponent, TabbedMenuItemComponent, TabbedMenuItemWrapperComponent, SidebarComponent, SidebarTabComponent, ObjectSelectorComponent, PropertyGridComponent, TextareaJsonEditorComponent, AceJsonEditorComponent, LogicTabComponent, LogicAddButtonComponent, ActionButtonComponent, LinkValueQuestionComponent, EmbeddedSurveyQuestionComponent, TranslationTabComponent, TranslationSkeletonComponent, SimulatorComponent, TestTabComponent, TestAgainActionComponent, SurveyResultsComponent, SurveyResultsTableRowComponent,
1601
+ AdaptiveToolboxComponent, ToolboxToolComponent, ToolboxItemComponent, ToolboxCategoryComponent, StringEditorComponent, PageNavigatorComponent, PageNavigatorItemComponent,
1602
+ QuestionDropdownDesignerComponent, QuestionDropdownAdornerDesignerComponent, QuestionImageDesignerComponent, QuestionImageAdornerDesignerComponent,
1603
+ ItemValueDesignerComponent, ImageItemValueDesignerComponent, LogicOperatorComponent, MatrixCellComponent, QuestionEditorComponent, CellQuestionDropdownComponent, CreatorRowComponent, DesignerPagesComponent, DesignerSurveyComponent, CellQuestionComponent, QuestionWidgetDesignerComponent, ToolboxComponent, CreatorLogoImageComponent,
1604
+ QuestionRatingAdornerDesignerComponent, QuestionRatingDesignerComponent] });
1605
+ SurveyCreatorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SurveyCreatorModule, providers: [], imports: [[
1606
+ CommonModule, FormsModule, SurveyModule
1607
+ ]] });
1608
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SurveyCreatorModule, decorators: [{
1609
+ type: NgModule,
1610
+ args: [{
1611
+ declarations: [CreatorComponent, DesignerTabComponent, PageDesignerComponent, QuestionDesignerComponent, PanelDesignerComponent, SvgBundleComponent, TabbledMenuComponent, TabbedMenuItemComponent, TabbedMenuItemWrapperComponent, SidebarComponent, SidebarTabComponent, ObjectSelectorComponent, PropertyGridComponent, TextareaJsonEditorComponent, AceJsonEditorComponent, LogicTabComponent, LogicAddButtonComponent, ActionButtonComponent, LinkValueQuestionComponent, EmbeddedSurveyQuestionComponent, TranslationTabComponent, TranslationSkeletonComponent, SimulatorComponent, TestTabComponent, TestAgainActionComponent, SurveyResultsComponent, SurveyResultsTableRowComponent,
1612
+ AdaptiveToolboxComponent, ToolboxToolComponent, ToolboxItemComponent, ToolboxCategoryComponent, StringEditorComponent, PageNavigatorComponent, PageNavigatorItemComponent,
1613
+ QuestionDropdownDesignerComponent, QuestionDropdownAdornerDesignerComponent, QuestionImageDesignerComponent, QuestionImageAdornerDesignerComponent,
1614
+ ItemValueDesignerComponent, ImageItemValueDesignerComponent, LogicOperatorComponent, MatrixCellComponent, QuestionEditorComponent, CellQuestionDropdownComponent, CreatorRowComponent, DesignerPagesComponent, DesignerSurveyComponent, CellQuestionComponent, QuestionWidgetDesignerComponent, ToolboxComponent, CreatorLogoImageComponent,
1615
+ QuestionRatingAdornerDesignerComponent, QuestionRatingDesignerComponent],
1616
+ imports: [
1617
+ CommonModule, FormsModule, SurveyModule
1618
+ ],
1619
+ exports: [
1620
+ CreatorComponent, DesignerTabComponent, PageDesignerComponent, QuestionDesignerComponent, PanelDesignerComponent, SvgBundleComponent, TabbledMenuComponent, TabbedMenuItemComponent, TabbedMenuItemWrapperComponent, SidebarComponent, SidebarTabComponent, ObjectSelectorComponent, PropertyGridComponent, TextareaJsonEditorComponent, AceJsonEditorComponent, LogicTabComponent, LogicAddButtonComponent, ActionButtonComponent, LinkValueQuestionComponent, EmbeddedSurveyQuestionComponent, TranslationTabComponent, TranslationSkeletonComponent, SimulatorComponent, TestTabComponent, TestAgainActionComponent, SurveyResultsComponent, SurveyResultsTableRowComponent,
1621
+ AdaptiveToolboxComponent, ToolboxToolComponent, ToolboxItemComponent, ToolboxCategoryComponent, StringEditorComponent, PageNavigatorComponent, PageNavigatorItemComponent,
1622
+ QuestionDropdownDesignerComponent, QuestionDropdownAdornerDesignerComponent, QuestionImageDesignerComponent, QuestionImageAdornerDesignerComponent,
1623
+ ItemValueDesignerComponent, ImageItemValueDesignerComponent, LogicOperatorComponent, MatrixCellComponent, QuestionEditorComponent, CellQuestionDropdownComponent, CreatorRowComponent, DesignerPagesComponent, DesignerSurveyComponent, CellQuestionComponent, QuestionWidgetDesignerComponent, ToolboxComponent, CreatorLogoImageComponent,
1624
+ QuestionRatingAdornerDesignerComponent, QuestionRatingDesignerComponent
1625
+ ],
1626
+ providers: [],
1627
+ }]
1628
+ }] });
1629
+
1630
+ /**
1631
+ * Generated bundle index. Do not edit.
1632
+ */
1633
+
1634
+ export { AceJsonEditorComponent, ActionButtonComponent, AdaptiveToolboxComponent, CellQuestionComponent, CellQuestionDropdownComponent, CreatorComponent, CreatorLogoImageComponent, CreatorRowComponent, DesignerPagesComponent, DesignerSurveyComponent, DesignerTabComponent, EmbeddedSurveyQuestionComponent, ImageItemValueDesignerComponent, ItemValueDesignerComponent, LinkValueQuestionComponent, LogicAddButtonComponent, LogicOperatorComponent, LogicTabComponent, MatrixCellComponent, ObjectSelectorComponent, PageDesignerComponent, PageNavigatorComponent, PageNavigatorItemComponent, PanelDesignerComponent, PropertyGridComponent, QuestionDesignerComponent, QuestionDropdownAdornerDesignerComponent, QuestionDropdownDesignerComponent, QuestionEditorComponent, QuestionImageAdornerDesignerComponent, QuestionImageDesignerComponent, QuestionRatingAdornerDesignerComponent, QuestionRatingDesignerComponent, QuestionWidgetDesignerComponent, SidebarComponent, SidebarTabComponent, SimulatorComponent, StringEditorComponent, SurveyCreatorModule, SurveyResultsComponent, SurveyResultsTableRowComponent, SvgBundleComponent, TabbedMenuItemComponent, TabbedMenuItemWrapperComponent, TabbledMenuComponent, TestAgainActionComponent, TestTabComponent, TextareaJsonEditorComponent, ToolboxCategoryComponent, ToolboxComponent, ToolboxItemComponent, ToolboxToolComponent, TranslationSkeletonComponent, TranslationTabComponent };
1635
+ //# sourceMappingURL=survey-creator-angular.js.map