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
@@ -1,1430 +1,1430 @@
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: "13.0.3", ngImport: i0, type: SvgBundleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
18
- SvgBundleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"] });
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", 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: "13.0.3", ngImport: i0, type: TabbedMenuItemWrapperComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
37
- TabbedMenuItemWrapperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], directives: [{ type: i1.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TabbedMenuItemWrapperComponent, decorators: [{
39
- type: Component,
40
- args: [{ selector: "svc-tabbed-menu-item-wrapper", styles: [":host { display: none; }"], 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>" }]
41
- }], propDecorators: { model: [{
42
- type: Input
43
- }] } });
44
-
45
- class TabbledMenuComponent extends BaseAngular {
46
- getModel() {
47
- return this.model;
48
- }
49
- ngAfterViewInit() {
50
- this.responsivityManager = new ResponsivityManager(this.container.nativeElement, this.model, ".svc-tabbed-menu-item-container:not(.sv-dots)>.sv-action__content");
51
- }
52
- ngOnDestroy() {
53
- super.ngOnDestroy();
54
- this.responsivityManager.dispose();
55
- }
56
- }
57
- TabbledMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TabbledMenuComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
58
- TabbledMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], components: [{ type: TabbedMenuItemWrapperComponent, selector: "svc-tabbed-menu-item-wrapper", inputs: ["model"] }], directives: [{ type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
59
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TabbledMenuComponent, decorators: [{
60
- type: Component,
61
- args: [{ selector: "svc-tabbed-menu", styles: [":host { display: none; }"], 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>" }]
62
- }], propDecorators: { model: [{
63
- type: Input
64
- }], container: [{
65
- type: ViewChild,
66
- args: ["container"]
67
- }] } });
68
- AngularComponentFactory.Instance.registerComponent("svc-tabbed-menu", TabbledMenuComponent);
69
-
70
- class SidebarTabComponent extends BaseAngular {
71
- getModel() {
72
- return this.model;
73
- }
74
- }
75
- SidebarTabComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: SidebarTabComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
76
- SidebarTabComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
77
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: SidebarTabComponent, decorators: [{
78
- type: Component,
79
- args: [{ selector: "svc-side-bar-tab", styles: [":host { display: none; }"], 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>" }]
80
- }], propDecorators: { model: [{
81
- type: Input
82
- }] } });
83
-
84
- class SidebarComponent extends BaseAngular {
85
- getModel() {
86
- return this.model;
87
- }
88
- ngOnDestroy() {
89
- this.model.resetResizeManager();
90
- super.ngOnDestroy();
91
- }
92
- ngAfterViewInit() {
93
- this.model.initResizeManager(this.container.nativeElement);
94
- }
95
- }
96
- SidebarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: SidebarComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
97
- SidebarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], 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"] }] });
98
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: SidebarComponent, decorators: [{
99
- type: Component,
100
- args: [{ selector: "svc-side-bar", styles: [":host { display: none; }"], 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>" }]
101
- }], propDecorators: { model: [{
102
- type: Input
103
- }], container: [{
104
- type: ViewChild,
105
- args: ["container"]
106
- }] } });
107
-
108
- class CreatorComponent extends BaseAngular {
109
- constructor(changeDetectorRef) {
110
- super(changeDetectorRef);
111
- changeDetectorRef.detach();
112
- }
113
- getModel() {
114
- return this.model;
115
- }
116
- get creator() {
117
- return this.model;
118
- }
119
- getShouldReattachChangeDetector() {
120
- return false;
121
- }
122
- onModelChanged() {
123
- this.changeDetectorRef.detectChanges();
124
- }
125
- ngAfterViewInit() {
126
- this.creator.initKeyboardShortcuts(this.container.nativeElement);
127
- this.creator.initResponsivityManager(this.container.nativeElement);
128
- super.ngOnInit();
129
- }
130
- ngOnDestroy() {
131
- this.creator.removeKeyboardShortcuts(this.container.nativeElement);
132
- this.creator.resetResponsivityManager();
133
- super.ngOnDestroy();
134
- }
135
- }
136
- CreatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: CreatorComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
137
- CreatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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"] }] });
138
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: CreatorComponent, decorators: [{
139
- type: Component,
140
- args: [{ selector: "survey-creator", 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>" }]
141
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { model: [{
142
- type: Input
143
- }], container: [{
144
- type: ViewChild,
145
- args: ["container", { read: ElementRef }]
146
- }] } });
147
- AngularComponentFactory.Instance.registerComponent("survey-widget", SurveyContentComponent);
148
-
149
- class CreatorModelComponent extends BaseAngular {
150
- createHash() {
151
- this.hash = {};
152
- this.getPropertiesToTrack().forEach((prop) => {
153
- this.hash[prop] = this[prop];
154
- });
155
- }
156
- ngOnInit() {
157
- this.createModel();
158
- this.createHash();
159
- super.ngOnInit();
160
- }
161
- ngDoCheck() {
162
- if (this.needUpdateModel())
163
- this.createModel();
164
- super.ngDoCheck();
165
- }
166
- needUpdateModel() {
167
- let res = false;
168
- Object.keys(this.hash).forEach(key => {
169
- if (this.hash[key] != this[key]) {
170
- this.hash[key] = this[key];
171
- res = true;
172
- }
173
- });
174
- return res;
175
- }
176
- }
177
- CreatorModelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: CreatorModelComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
178
- CreatorModelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: CreatorModelComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "", isInline: true });
179
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: CreatorModelComponent, decorators: [{
180
- type: Component,
181
- args: [{
182
- template: ""
183
- }]
184
- }] });
185
-
186
- class ToolboxToolComponent extends CreatorModelComponent {
187
- constructor() {
188
- super(...arguments);
189
- this.isCompact = false;
190
- }
191
- createModel() {
192
- this.model = new ToolboxToolViewModel(this.item, this.creator);
193
- }
194
- getPropertiesToTrack() {
195
- return ["creator", "item"];
196
- }
197
- getModel() {
198
- return this.item;
199
- }
200
- getPropertiesToUpdateSync() {
201
- return ["mode"];
202
- }
203
- }
204
- ToolboxToolComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ToolboxToolComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
205
- ToolboxToolComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
206
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ToolboxToolComponent, decorators: [{
207
- type: Component,
208
- args: [{ selector: "svc-toolbox-tool", styles: [":host { display: none; }"], 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>" }]
209
- }], propDecorators: { creator: [{
210
- type: Input
211
- }], item: [{
212
- type: Input
213
- }], isCompact: [{
214
- type: Input
215
- }] } });
216
-
217
- class ToolboxCategoryComponent extends BaseAngular {
218
- getModel() {
219
- return this.category;
220
- }
221
- }
222
- ToolboxCategoryComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ToolboxCategoryComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
223
- ToolboxCategoryComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], 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"] }] });
224
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ToolboxCategoryComponent, decorators: [{
225
- type: Component,
226
- args: [{ selector: "svc-toolbox-category ", styles: [":host { display: none; }"], 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>" }]
227
- }], propDecorators: { category: [{
228
- type: Input
229
- }], toolbox: [{
230
- type: Input
231
- }] } });
232
-
233
- class AdaptiveToolboxComponent extends BaseAngular {
234
- get model() {
235
- return this.creator.toolbox;
236
- }
237
- ngAfterViewInit() {
238
- this.responsivityManager =
239
- new VerticalResponsivityManager(this.container.nativeElement, this.model, ".svc-toolbox__tool:not(.sv-dots)");
240
- }
241
- getModel() {
242
- return this.model;
243
- }
244
- ngOnDestroy() {
245
- var _a;
246
- (_a = this.responsivityManager) === null || _a === void 0 ? void 0 : _a.dispose();
247
- super.ngOnDestroy();
248
- }
249
- }
250
- AdaptiveToolboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: AdaptiveToolboxComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
251
- AdaptiveToolboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], 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"] }] });
252
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: AdaptiveToolboxComponent, decorators: [{
253
- type: Component,
254
- args: [{ selector: "svc-adaptive-toolbox", styles: [":host { display: none; }"], 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>" }]
255
- }], propDecorators: { creator: [{
256
- type: Input
257
- }], container: [{
258
- type: ViewChild,
259
- args: ["container"]
260
- }] } });
261
-
262
- class PageDesignerComponent extends CreatorModelComponent {
263
- createModel() {
264
- var _a;
265
- if (this.model) {
266
- (_a = this.previousModel) === null || _a === void 0 ? void 0 : _a.dispose();
267
- this.adorner = new PageAdorner(this.creator, this.model);
268
- }
269
- }
270
- getModel() {
271
- return this.adorner;
272
- }
273
- getPropertiesToTrack() {
274
- return ["creator", "model"];
275
- }
276
- addNewQuestion(event) {
277
- event.stopPropagation();
278
- this.adorner.addNewQuestion(this.adorner, event);
279
- }
280
- selectQuestionType(event) {
281
- event.stopPropagation();
282
- this.adorner.questionTypeSelectorModel.action();
283
- }
284
- ngOnDestroy() {
285
- super.ngOnDestroy();
286
- this.adorner.dispose();
287
- }
288
- }
289
- PageDesignerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: PageDesignerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
290
- PageDesignerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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"] }] });
291
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: PageDesignerComponent, decorators: [{
292
- type: Component,
293
- args: [{ selector: "svc-page", styles: [], 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>" }]
294
- }], propDecorators: { model: [{
295
- type: Input
296
- }], survey: [{
297
- type: Input
298
- }], creator: [{
299
- type: Input
300
- }], isGhost: [{
301
- type: Input
302
- }] } });
303
- AngularComponentFactory.Instance.registerComponent("svc-page", PageDesignerComponent);
304
-
305
- class DesignerPagesComponent extends BaseAngular {
306
- getModel() {
307
- return this.model.pagesController;
308
- }
309
- get creator() {
310
- return this.model.creator;
311
- }
312
- get survey() {
313
- return this.creator.survey;
314
- }
315
- }
316
- DesignerPagesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: DesignerPagesComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
317
- DesignerPagesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], components: [{ type: PageDesignerComponent, selector: "svc-page", inputs: ["model", "survey", "creator", "isGhost"] }] });
318
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: DesignerPagesComponent, decorators: [{
319
- type: Component,
320
- args: [{ selector: "svc-designer-pages", styles: [":host { display: none; }"], 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>" }]
321
- }], propDecorators: { model: [{
322
- type: Input
323
- }] } });
324
-
325
- class PageNavigatorItemComponent extends BaseAngular {
326
- getModel() {
327
- return this.model;
328
- }
329
- get anyModel() {
330
- return this.model;
331
- }
332
- click(event) {
333
- event.stopPropagation();
334
- this.getModel().action();
335
- }
336
- }
337
- PageNavigatorItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: PageNavigatorItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
338
- PageNavigatorItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], directives: [{ type: i1.Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }] });
339
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: PageNavigatorItemComponent, decorators: [{
340
- type: Component,
341
- args: [{ selector: "svc-page-navigator-item", styles: [":host { display: none; }"], 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>" }]
342
- }], propDecorators: { model: [{
343
- type: Input
344
- }] } });
345
-
346
- class PageNavigatorComponent extends CreatorModelComponent {
347
- createModel() {
348
- this.model = new PageNavigatorViewModel(this.pagesController, this.pageEditMode);
349
- }
350
- getModel() {
351
- return this.model;
352
- }
353
- getPropertiesToTrack() {
354
- return ["pagesController", "pageEditMode"];
355
- }
356
- ngAfterViewInit() {
357
- var _a, _b;
358
- if (this.pageEditMode !== "bypage") {
359
- const el = this.container.nativeElement;
360
- if (!!el && !!((_b = (_a = el.parentElement) === null || _a === void 0 ? void 0 : _a.parentElement) === null || _b === void 0 ? void 0 : _b.parentElement)) {
361
- const self = this;
362
- el.parentElement.parentElement.parentElement.onscroll = function (ev) {
363
- return self.model.onContainerScroll(ev.currentTarget);
364
- };
365
- self.model.setItemsContainer(el.parentElement);
366
- }
367
- }
368
- }
369
- ngOnDestroy() {
370
- var _a, _b;
371
- super.ngOnDestroy();
372
- const el = this.container.nativeElement;
373
- if (!!el && !!((_b = (_a = el.parentElement) === null || _a === void 0 ? void 0 : _a.parentElement) === null || _b === void 0 ? void 0 : _b.parentElement)) {
374
- el.parentElement.parentElement.parentElement.onscroll = undefined;
375
- }
376
- this.model.stopItemsContainerHeightObserver();
377
- this.model.dispose();
378
- }
379
- }
380
- PageNavigatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: PageNavigatorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
381
- PageNavigatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], 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"] }] });
382
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: PageNavigatorComponent, decorators: [{
383
- type: Component,
384
- args: [{ selector: "svc-page-navigator", styles: [":host { display: none; }"], 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>" }]
385
- }], propDecorators: { pagesController: [{
386
- type: Input
387
- }], pageEditMode: [{
388
- type: Input
389
- }], container: [{
390
- type: ViewChild,
391
- args: ["container"]
392
- }] } });
393
-
394
- class DesignerSurveyComponent extends BaseAngular {
395
- getModel() {
396
- return this.model.survey;
397
- }
398
- get creator() {
399
- return this.model.creator;
400
- }
401
- get survey() {
402
- return this.creator.survey;
403
- }
404
- }
405
- DesignerSurveyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: DesignerSurveyComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
406
- DesignerSurveyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], 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"] }] });
407
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: DesignerSurveyComponent, decorators: [{
408
- type: Component,
409
- args: [{ selector: "svc-designer-survey", styles: [":host { display: none; }"], 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>" }]
410
- }], propDecorators: { model: [{
411
- type: Input
412
- }] } });
413
-
414
- class DesignerTabComponent extends BaseAngular {
415
- get survey() {
416
- return this.creator.survey;
417
- }
418
- get creator() {
419
- return this.model.creator;
420
- }
421
- getModel() {
422
- return this.model;
423
- }
424
- }
425
- DesignerTabComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: DesignerTabComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
426
- DesignerTabComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], 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"] }] });
427
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: DesignerTabComponent, decorators: [{
428
- type: Component,
429
- args: [{ selector: "svc-tab-designer", styles: [":host { display: none; }"], 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>" }]
430
- }], propDecorators: { model: [{
431
- type: Input
432
- }] } });
433
- AngularComponentFactory.Instance.registerComponent("svc-tab-designer", DesignerTabComponent);
434
-
435
- class TabbedMenuItemComponent extends BaseAngular {
436
- getModel() {
437
- return this.model;
438
- }
439
- }
440
- TabbedMenuItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TabbedMenuItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
441
- TabbedMenuItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], directives: [{ type: i1.Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }] });
442
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TabbedMenuItemComponent, decorators: [{
443
- type: Component,
444
- args: [{ selector: "svc-tabbed-menu-item", styles: [":host { display: none; }"], 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" }]
445
- }], propDecorators: { model: [{
446
- type: Input
447
- }] } });
448
- AngularComponentFactory.Instance.registerComponent("svc-tabbed-menu-item", TabbedMenuItemComponent);
449
-
450
- class ObjectSelectorComponent extends BaseAngular {
451
- getModel() {
452
- return this.model;
453
- }
454
- }
455
- ObjectSelectorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ObjectSelectorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
456
- ObjectSelectorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], components: [{ type: i1.ListComponent, selector: "sv-ng-list, '[sv-ng-list]'", inputs: ["model"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
457
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ObjectSelectorComponent, decorators: [{
458
- type: Component,
459
- args: [{ selector: "svc-object-selector", styles: [":host { display: none; }"], 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" }]
460
- }], propDecorators: { model: [{
461
- type: Input
462
- }] } });
463
- AngularComponentFactory.Instance.registerComponent("svc-object-selector", ObjectSelectorComponent);
464
-
465
- class PropertyGridComponent extends BaseAngular {
466
- getModel() {
467
- return this.model;
468
- }
469
- getPropertiesToUpdateSync() {
470
- return ["survey"];
471
- }
472
- }
473
- PropertyGridComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: PropertyGridComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
474
- PropertyGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], components: [{ type: i1.SurveyContentComponent, selector: "survey-content", inputs: ["model"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
475
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: PropertyGridComponent, decorators: [{
476
- type: Component,
477
- args: [{ selector: "svc-property-grid", styles: [":host { display: none; }"], template: "<ng-template #template>\n <survey-content *ngIf=\"!!model.survey\" [model]=\"model.survey\"></survey-content>\n</ng-template>" }]
478
- }], propDecorators: { model: [{
479
- type: Input
480
- }] } });
481
- AngularComponentFactory.Instance.registerComponent("buttongroup-question", ButtonGroupQuestionComponent);
482
- AngularComponentFactory.Instance.registerComponent("svc-property-grid", PropertyGridComponent);
483
-
484
- class TextareaJsonEditorComponent extends BaseAngular {
485
- getModel() {
486
- return this.model;
487
- }
488
- ngOnInit() {
489
- this.model.canShowErrors = false;
490
- super.ngOnInit();
491
- }
492
- }
493
- TextareaJsonEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TextareaJsonEditorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
494
- TextareaJsonEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], 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"] }] });
495
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TextareaJsonEditorComponent, decorators: [{
496
- type: Component,
497
- args: [{ selector: "svc-tab-json-editor-textarea", styles: [":host { display: none; }"], 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>" }]
498
- }], propDecorators: { model: [{
499
- type: Input
500
- }] } });
501
- AngularComponentFactory.Instance.registerComponent("svc-tab-json-editor-textarea", TextareaJsonEditorComponent);
502
-
503
- class AceJsonEditorComponent extends BaseAngular {
504
- getModel() {
505
- return this.model;
506
- }
507
- ngAfterViewInit() {
508
- //todo fix ts
509
- this.model.init(window.ace.edit(this.inputEl.nativeElement));
510
- }
511
- }
512
- AceJsonEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: AceJsonEditorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
513
- AceJsonEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"] });
514
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: AceJsonEditorComponent, decorators: [{
515
- type: Component,
516
- args: [{ selector: "svc-tab-json-editor-ace", styles: [":host { display: none; }"], 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>" }]
517
- }], propDecorators: { model: [{
518
- type: Input
519
- }], inputEl: [{
520
- type: ViewChild,
521
- args: ["inputEl"]
522
- }] } });
523
- AngularComponentFactory.Instance.registerComponent("svc-tab-json-editor-ace", AceJsonEditorComponent);
524
-
525
- class LogicAddButtonComponent extends BaseAngular {
526
- getModel() {
527
- return this.model;
528
- }
529
- onClick(event) {
530
- event.stopPropagation();
531
- this.model.action();
532
- }
533
- }
534
- LogicAddButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: LogicAddButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
535
- LogicAddButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], directives: [{ type: i1.Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }] });
536
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: LogicAddButtonComponent, decorators: [{
537
- type: Component,
538
- args: [{ selector: "svc-tab-logic-add-btn", styles: [":host { display: none; }"], 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>" }]
539
- }], propDecorators: { model: [{
540
- type: Input
541
- }] } });
542
-
543
- class LogicTabComponent extends BaseAngular {
544
- getModel() {
545
- return this.model;
546
- }
547
- }
548
- LogicTabComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: LogicTabComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
549
- LogicTabComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], 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"] }] });
550
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: LogicTabComponent, decorators: [{
551
- type: Component,
552
- args: [{ selector: "svc-tab-logic", styles: [":host { display: none; }"], 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>" }]
553
- }], propDecorators: { model: [{
554
- type: Input
555
- }] } });
556
- AngularComponentFactory.Instance.registerComponent("svc-tab-logic", LogicTabComponent);
557
-
558
- class ActionButtonComponent extends EmbeddedViewContentComponent {
559
- constructor() {
560
- super(...arguments);
561
- this.classes = "";
562
- this.selected = false;
563
- this.disabled = false;
564
- this.text = "";
565
- this.title = "";
566
- this.allowBubble = false;
567
- }
568
- onClick(event) {
569
- this.click();
570
- if (!this.allowBubble) {
571
- event.stopPropagation();
572
- }
573
- }
574
- }
575
- ActionButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ActionButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
576
- ActionButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }] });
577
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ActionButtonComponent, decorators: [{
578
- type: Component,
579
- args: [{ selector: "svc-action-button", styles: [":host { display: none; }"], 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>" }]
580
- }], propDecorators: { classes: [{
581
- type: Input
582
- }], click: [{
583
- type: Input
584
- }], selected: [{
585
- type: Input
586
- }], disabled: [{
587
- type: Input
588
- }], text: [{
589
- type: Input
590
- }], title: [{
591
- type: Input
592
- }], allowBubble: [{
593
- type: Input
594
- }] } });
595
- AngularComponentFactory.Instance.registerComponent("svc-action-button", ActionButtonComponent);
596
-
597
- class LinkValueQuestionComponent extends QuestionAngular {
598
- get clearCaption() {
599
- return editorLocalization.getString("pe.clear");
600
- }
601
- }
602
- LinkValueQuestionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: LinkValueQuestionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
603
- LinkValueQuestionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], 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"] }] });
604
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: LinkValueQuestionComponent, decorators: [{
605
- type: Component,
606
- args: [{ selector: "svc-link-value", styles: [":host { display: none; }"], 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>" }]
607
- }] });
608
- AngularComponentFactory.Instance.registerComponent("linkvalue-question", LinkValueQuestionComponent);
609
-
610
- class EmbeddedSurveyQuestionComponent extends QuestionAngular {
611
- get survey() {
612
- return this.model.embeddedSurvey;
613
- }
614
- onModelChanged() {
615
- super.onModelChanged();
616
- if (!!this.model) {
617
- this.model.onEmbeddedSurveyValueChanged = () => {
618
- this.detectChanges();
619
- };
620
- }
621
- }
622
- }
623
- EmbeddedSurveyQuestionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: EmbeddedSurveyQuestionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
624
- EmbeddedSurveyQuestionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], components: [{ type: i1.PageComponent, selector: "page, sv-ng-page", inputs: ["model", "survey"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
625
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: EmbeddedSurveyQuestionComponent, decorators: [{
626
- type: Component,
627
- args: [{ selector: "svc-embeddedsurvey-question", styles: [":host { display: none; }"], 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>" }]
628
- }] });
629
- AngularComponentFactory.Instance.registerComponent("embeddedsurvey-question", EmbeddedSurveyQuestionComponent);
630
-
631
- class TranslationTabComponent extends BaseAngular {
632
- getModel() {
633
- return this.model;
634
- }
635
- }
636
- TranslationTabComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TranslationTabComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
637
- TranslationTabComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], components: [{ type: i1.SurveyContentComponent, selector: "survey-content", inputs: ["model"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
638
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TranslationTabComponent, decorators: [{
639
- type: Component,
640
- args: [{ selector: "svc-tab-translation", styles: [":host { display: none; }"], 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>" }]
641
- }], propDecorators: { model: [{
642
- type: Input
643
- }] } });
644
- AngularComponentFactory.Instance.registerComponent("svc-tab-translation", TranslationTabComponent);
645
-
646
- class TranslationSkeletonComponent extends EmbeddedViewContentComponent {
647
- }
648
- TranslationSkeletonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TranslationSkeletonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
649
- TranslationSkeletonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"] });
650
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TranslationSkeletonComponent, decorators: [{
651
- type: Component,
652
- args: [{ selector: "sd-translation-line-skeleton", styles: [":host { display: none; }"], template: "<ng-template #template>\n <div class=\"sd-translation-line-skeleton\"></div>\n</ng-template>" }]
653
- }] });
654
- AngularComponentFactory.Instance.registerComponent("sd-translation-line-skeleton", TranslationSkeletonComponent);
655
-
656
- class SimulatorComponent extends BaseAngular {
657
- getModel() {
658
- return this.model;
659
- }
660
- get simulatorFrame() {
661
- return this.model.simulatorFrame;
662
- }
663
- activateZoom() {
664
- if (this.model.device !== "desktop") {
665
- this.model.activateZoom();
666
- }
667
- }
668
- deactivateZoom() {
669
- if (this.model.device !== "desktop") {
670
- this.model.deactivateZoom();
671
- }
672
- }
673
- }
674
- SimulatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: SimulatorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
675
- SimulatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
676
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: SimulatorComponent, decorators: [{
677
- type: Component,
678
- args: [{ selector: "survey-simulator", styles: [":host { display: none; }"], 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>" }]
679
- }], propDecorators: { model: [{
680
- type: Input
681
- }] } });
682
-
683
- class TestAgainActionComponent extends BaseAngular {
684
- getModel() {
685
- return this.model;
686
- }
687
- }
688
- TestAgainActionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TestAgainActionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
689
- TestAgainActionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], directives: [{ type: i1.Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }] });
690
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TestAgainActionComponent, decorators: [{
691
- type: Component,
692
- args: [{ selector: "survey-test-again", styles: [":host { display: none; }"], 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>" }]
693
- }], propDecorators: { model: [{
694
- type: Input
695
- }] } });
696
-
697
- class SurveyResultsTableRowComponent extends BaseAngular {
698
- getModel() {
699
- return this.model;
700
- }
701
- }
702
- SurveyResultsTableRowComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: SurveyResultsTableRowComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
703
- SurveyResultsTableRowComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], 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"] }] });
704
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: SurveyResultsTableRowComponent, decorators: [{
705
- type: Component,
706
- args: [{ selector: "survey-results-table-row", styles: [":host { display: none; }"], 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>" }]
707
- }], propDecorators: { model: [{
708
- type: Input
709
- }] } });
710
-
711
- class SurveyResultsComponent extends CreatorModelComponent {
712
- createModel() {
713
- if (!!this.survey) {
714
- this.model = new SurveyResultsModel(this.survey);
715
- }
716
- }
717
- getModel() {
718
- return this.model;
719
- }
720
- getPropertiesToTrack() {
721
- return ["survey"];
722
- }
723
- }
724
- SurveyResultsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: SurveyResultsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
725
- SurveyResultsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], 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"] }] });
726
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: SurveyResultsComponent, decorators: [{
727
- type: Component,
728
- args: [{ selector: "survey-results", styles: [":host { display: none; }"], 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>" }]
729
- }], propDecorators: { survey: [{
730
- type: Input
731
- }] } });
732
-
733
- class TestTabComponent extends BaseAngular {
734
- getModel() {
735
- return this.model;
736
- }
737
- }
738
- TestTabComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TestTabComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
739
- TestTabComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], 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"] }] });
740
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TestTabComponent, decorators: [{
741
- type: Component,
742
- args: [{ selector: "svc-tab-test", styles: [":host { display: none; }"], 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>" }]
743
- }], propDecorators: { model: [{
744
- type: Input
745
- }] } });
746
- AngularComponentFactory.Instance.registerComponent("svc-tab-test", TestTabComponent);
747
-
748
- class QuestionDesignerComponent extends CreatorModelComponent {
749
- constructor() {
750
- super(...arguments);
751
- this.adornerComponent = "";
752
- }
753
- get creator() {
754
- return this.componentData.data;
755
- }
756
- get model() {
757
- return this.componentData.model;
758
- }
759
- createModel() {
760
- if (this.componentData) {
761
- this.adorner = new QuestionAdornerViewModel(this.creator, this.model, null);
762
- }
763
- }
764
- getPropertiesToTrack() {
765
- return ["model", "creator"];
766
- }
767
- getModel() {
768
- return this.adorner;
769
- }
770
- selectQuestionType(event) {
771
- var _a;
772
- event.stopPropagation();
773
- (_a = this.adorner.questionTypeSelectorModel) === null || _a === void 0 ? void 0 : _a.action(this.adorner.questionTypeSelectorModel, event);
774
- }
775
- addNewQuestion(event) {
776
- event.stopPropagation();
777
- this.adorner.addNewQuestion();
778
- }
779
- }
780
- QuestionDesignerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: QuestionDesignerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
781
- QuestionDesignerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], 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"] }] });
782
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: QuestionDesignerComponent, decorators: [{
783
- type: Component,
784
- args: [{ selector: "svc-question", styles: [":host { display: none; }"], 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>" }]
785
- }], propDecorators: { componentName: [{
786
- type: Input
787
- }], componentData: [{
788
- type: Input
789
- }] } });
790
- AngularComponentFactory.Instance.registerComponent("svc-question", QuestionDesignerComponent);
791
-
792
- class ItemValueDesignerComponent extends CreatorModelComponent {
793
- get creator() {
794
- return this.componentData.data.creator;
795
- }
796
- get question() {
797
- return this.componentData.question;
798
- }
799
- get item() {
800
- return this.componentData.model;
801
- }
802
- onBlur(event) {
803
- this.adorner.onFocusOut(event);
804
- }
805
- createModel() {
806
- if (this.componentData) {
807
- this.adorner = new ItemValueWrapperViewModel(this.creator, this.question, this.item);
808
- }
809
- }
810
- getPropertiesToTrack() {
811
- return ["creator", "question", "item"];
812
- }
813
- getModel() {
814
- return this.adorner;
815
- }
816
- }
817
- ItemValueDesignerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ItemValueDesignerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
818
- ItemValueDesignerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], 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"] }] });
819
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ItemValueDesignerComponent, decorators: [{
820
- type: Component,
821
- args: [{ selector: "svc-item-value", styles: [":host { display: none; }"], 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>" }]
822
- }], propDecorators: { componentName: [{
823
- type: Input
824
- }], componentData: [{
825
- type: Input
826
- }] } });
827
- AngularComponentFactory.Instance.registerComponent("svc-item-value", ItemValueDesignerComponent);
828
-
829
- class ImageItemValueDesignerComponent extends CreatorModelComponent {
830
- get creator() {
831
- return this.componentData.data.creator;
832
- }
833
- get question() {
834
- return this.componentData.question;
835
- }
836
- get item() {
837
- return this.componentData.model;
838
- }
839
- createModel() {
840
- if (this.componentData) {
841
- this.adorner = new ImageItemValueWrapperViewModel(this.creator, this.question, this.item, null, null);
842
- }
843
- }
844
- getPropertiesToTrack() {
845
- return ["creator", "question", "item"];
846
- }
847
- getModel() {
848
- return this.adorner;
849
- }
850
- get showDragDropGhostOnTop() {
851
- return this.adorner.ghostPosition === "top";
852
- }
853
- get showDragDropGhostOnBottom() {
854
- return this.adorner.ghostPosition === "bottom";
855
- }
856
- blockEvent(event) {
857
- event.stopPropagation();
858
- }
859
- getNewItemStyle() {
860
- const needStyle = !this.adorner.getIsNewItemSingle();
861
- return { width: needStyle ? this.question.renderedImageWidth : undefined, height: needStyle ? this.question.renderedImageHeight : undefined };
862
- }
863
- ngAfterViewInit() {
864
- this.adorner.itemsRoot = this.container.nativeElement;
865
- }
866
- }
867
- ImageItemValueDesignerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ImageItemValueDesignerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
868
- ImageItemValueDesignerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], 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"] }] });
869
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ImageItemValueDesignerComponent, decorators: [{
870
- type: Component,
871
- args: [{ selector: "svc-image-item-value", styles: [":host { display: none; }"], 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>" }]
872
- }], propDecorators: { componentName: [{
873
- type: Input
874
- }], componentData: [{
875
- type: Input
876
- }], container: [{
877
- type: ViewChild,
878
- args: ["container", { read: ElementRef }]
879
- }] } });
880
- AngularComponentFactory.Instance.registerComponent("svc-image-item-value", ImageItemValueDesignerComponent);
881
-
882
- class QuestionDropdownDesignerComponent extends QuestionDesignerComponent {
883
- constructor() {
884
- super(...arguments);
885
- this.adornerComponent = "svc-dropdown-question-adorner";
886
- }
887
- createModel() {
888
- if (this.componentData) {
889
- this.adorner = new QuestionDropdownAdornerViewModel(this.creator, this.model, null);
890
- }
891
- }
892
- }
893
- QuestionDropdownDesignerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: QuestionDropdownDesignerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
894
- QuestionDropdownDesignerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], 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"] }] });
895
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: QuestionDropdownDesignerComponent, decorators: [{
896
- type: Component,
897
- args: [{ selector: "svc-dropdown-question", styles: [":host { display: none; }"], 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>" }]
898
- }] });
899
- AngularComponentFactory.Instance.registerComponent("svc-dropdown-question", QuestionDropdownDesignerComponent);
900
- class QuestionDropdownAdornerDesignerComponent extends EmbeddedViewContentComponent {
901
- getItemValueComponentName(item) {
902
- return this.question.getItemValueWrapperComponentName(item) || "sv-ng-selectbase-item";
903
- }
904
- getItemValueComponentData(item) {
905
- return {
906
- componentName: "sv-ng-selectbase-item",
907
- componentData: {
908
- question: this.question,
909
- model: item,
910
- inputType: "radio",
911
- data: this.question.getItemValueWrapperComponentData(item)
912
- }
913
- };
914
- }
915
- }
916
- QuestionDropdownAdornerDesignerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: QuestionDropdownAdornerDesignerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
917
- QuestionDropdownAdornerDesignerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], 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"] }] });
918
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: QuestionDropdownAdornerDesignerComponent, decorators: [{
919
- type: Component,
920
- args: [{ selector: "svc-dropdown-question-adorner", styles: [":host { display: none; }"], 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>" }]
921
- }], propDecorators: { adorner: [{
922
- type: Input
923
- }], question: [{
924
- type: Input
925
- }] } });
926
- AngularComponentFactory.Instance.registerComponent("svc-dropdown-question-adorner", QuestionDropdownAdornerDesignerComponent);
927
-
928
- class QuestionImageDesignerComponent extends QuestionDesignerComponent {
929
- constructor() {
930
- super(...arguments);
931
- this.adornerComponent = "svc-image-question-adorner";
932
- }
933
- createModel() {
934
- var _a;
935
- if (this.componentData) {
936
- this.adorner = new QuestionImageAdornerViewModel(this.creator, this.model, null, (_a = this.viewContainerRef) === null || _a === void 0 ? void 0 : _a.element.nativeElement.nextSibling);
937
- }
938
- }
939
- ngAfterViewInit() {
940
- this.adorner.questionRoot = this.container.nativeElement;
941
- }
942
- }
943
- QuestionImageDesignerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: QuestionImageDesignerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
944
- QuestionImageDesignerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], 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"] }] });
945
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: QuestionImageDesignerComponent, decorators: [{
946
- type: Component,
947
- args: [{ selector: "svc-image-question", styles: [":host { display: none; }"], 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>" }]
948
- }], propDecorators: { container: [{
949
- type: ViewChild,
950
- args: ["container", { read: ElementRef }]
951
- }] } });
952
- AngularComponentFactory.Instance.registerComponent("svc-image-question", QuestionImageDesignerComponent);
953
- class QuestionImageAdornerDesignerComponent extends EmbeddedViewContentComponent {
954
- }
955
- QuestionImageAdornerDesignerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: QuestionImageAdornerDesignerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
956
- QuestionImageAdornerDesignerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], 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"] }] });
957
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: QuestionImageAdornerDesignerComponent, decorators: [{
958
- type: Component,
959
- args: [{ selector: "svc-image-question-adorner", styles: [":host { display: none; }"], 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>" }]
960
- }], propDecorators: { adorner: [{
961
- type: Input
962
- }], question: [{
963
- type: Input
964
- }] } });
965
- AngularComponentFactory.Instance.registerComponent("svc-image-question-adorner", QuestionImageAdornerDesignerComponent);
966
-
967
- class PanelDesignerComponent extends QuestionDesignerComponent {
968
- }
969
- PanelDesignerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: PanelDesignerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
970
- PanelDesignerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], 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"] }] });
971
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: PanelDesignerComponent, decorators: [{
972
- type: Component,
973
- args: [{ selector: "svc-panel", styles: [":host { display: none; }"], 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>" }]
974
- }] });
975
- AngularComponentFactory.Instance.registerComponent("svc-panel", PanelDesignerComponent);
976
-
977
- class ToolboxItemComponent extends BaseAngular {
978
- constructor() {
979
- super(...arguments);
980
- this.isCompact = false;
981
- }
982
- getModel() {
983
- return this.viewModel;
984
- }
985
- get item() {
986
- return this.model;
987
- }
988
- get ariaLabel() {
989
- return this.item.tooltip + " " + editorLocalization.getString("toolbox") + " item";
990
- }
991
- }
992
- ToolboxItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ToolboxItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
993
- ToolboxItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], 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"] }] });
994
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ToolboxItemComponent, decorators: [{
995
- type: Component,
996
- args: [{ selector: "svc-toolbox-item", styles: [":host { display: none; }"], 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>" }]
997
- }], propDecorators: { creator: [{
998
- type: Input
999
- }], model: [{
1000
- type: Input
1001
- }], isCompact: [{
1002
- type: Input
1003
- }], viewModel: [{
1004
- type: Input
1005
- }] } });
1006
- AngularComponentFactory.Instance.registerComponent("svc-toolbox-item", ToolboxItemComponent);
1007
-
1008
- class StringEditorComponent extends CreatorModelComponent {
1009
- constructor(cdr, vcr, ngZone) {
1010
- super(cdr, vcr);
1011
- this.ngZone = ngZone;
1012
- this.justFocused = false;
1013
- this.onChangeHandler = () => {
1014
- this.detectChanges();
1015
- };
1016
- }
1017
- createModel() {
1018
- this.baseModel = new StringEditorViewModelBase(this.locString, this.creator);
1019
- this.baseModel.blurEditor = () => {
1020
- this.container.nativeElement.blur();
1021
- this.container.nativeElement.spellcheck = false;
1022
- };
1023
- this.baseModel.getEditorElement = () => this.container.nativeElement;
1024
- this.ngZone.runOutsideAngular(() => {
1025
- setTimeout(() => this.baseModel.afterRender());
1026
- });
1027
- }
1028
- get locString() {
1029
- return this.model.locStr;
1030
- }
1031
- get creator() {
1032
- return this.model.creator;
1033
- }
1034
- getModel() {
1035
- return this.baseModel;
1036
- }
1037
- getPropertiesToTrack() {
1038
- return ["creator", "locString"];
1039
- }
1040
- get placeholder() {
1041
- return this.baseModel.placeholder;
1042
- }
1043
- get contentEditable() {
1044
- return this.baseModel.contentEditable;
1045
- }
1046
- get className() {
1047
- return this.baseModel.className(this.locString.renderedHtml);
1048
- }
1049
- get errorText() {
1050
- return this.baseModel.errorText;
1051
- }
1052
- get editValue() {
1053
- return this.baseModel.focused && this.baseModel.editAsText && this.locString.text || this.locString.renderedHtml;
1054
- }
1055
- onBlur(event) {
1056
- this.container.nativeElement.spellcheck = false;
1057
- this.locString.__isEditing = false;
1058
- this.justFocused = false;
1059
- this.baseModel.onBlur(event);
1060
- return this.baseModel.errorText;
1061
- }
1062
- onFocus(event) {
1063
- this.baseModel.onFocus(event);
1064
- this.justFocused = true;
1065
- }
1066
- done(event) {
1067
- this.baseModel.done(event);
1068
- this.locString.__isEditing = false;
1069
- }
1070
- edit(event) {
1071
- this.container.nativeElement.focus();
1072
- this.locString.__isEditing = true;
1073
- this.baseModel.onClick(event);
1074
- }
1075
- ngOnInit() {
1076
- var _a;
1077
- super.ngOnInit();
1078
- if (this.locString.__isEditing) {
1079
- this.container.nativeElement.focus();
1080
- }
1081
- (_a = this.locString) === null || _a === void 0 ? void 0 : _a.onStringChanged.add(this.onChangeHandler);
1082
- }
1083
- ngOnDestroy() {
1084
- var _a;
1085
- (_a = this.locString) === null || _a === void 0 ? void 0 : _a.onStringChanged.remove(this.onChangeHandler);
1086
- super.ngOnDestroy();
1087
- }
1088
- }
1089
- StringEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: StringEditorComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ViewContainerRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1090
- StringEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], 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"] }] });
1091
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: StringEditorComponent, decorators: [{
1092
- type: Component,
1093
- args: [{ selector: "svc-string-edtior", styles: [":host { display: none; }"], 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>" }]
1094
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ViewContainerRef }, { type: i0.NgZone }]; }, propDecorators: { model: [{
1095
- type: Input
1096
- }], container: [{
1097
- type: ViewChild,
1098
- args: ["container"]
1099
- }] } });
1100
- AngularComponentFactory.Instance.registerComponent(editableStringRendererName, StringEditorComponent);
1101
-
1102
- class LogicOperatorComponent extends QuestionAngular {
1103
- get dropdownModel() {
1104
- return this.dropdownListModel;
1105
- }
1106
- click(event) {
1107
- var _a;
1108
- (_a = this.dropdownListModel) === null || _a === void 0 ? void 0 : _a.onClick(event);
1109
- }
1110
- clear(event) {
1111
- var _a;
1112
- (_a = this.dropdownListModel) === null || _a === void 0 ? void 0 : _a.onClear(event);
1113
- }
1114
- keyup(event) {
1115
- var _a;
1116
- (_a = this.dropdownListModel) === null || _a === void 0 ? void 0 : _a.keyHandler(event);
1117
- }
1118
- ngOnInit() {
1119
- super.ngOnInit();
1120
- this.dropdownListModel = this.model.dropdownListModel || new DropdownListModel(this.model);
1121
- }
1122
- }
1123
- LogicOperatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: LogicOperatorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1124
- LogicOperatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], 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"] }] });
1125
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: LogicOperatorComponent, decorators: [{
1126
- type: Component,
1127
- args: [{ selector: "svc-logic-operator", styles: [":host { display: none; }"], 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" }]
1128
- }] });
1129
- AngularComponentFactory.Instance.registerComponent("sv-logic-operator", LogicOperatorComponent);
1130
- RendererFactory.Instance.registerRenderer("dropdown", "logicoperator", "sv-logic-operator");
1131
-
1132
- class MatrixCellComponent extends CreatorModelComponent {
1133
- get creator() {
1134
- return this.componentData.creator;
1135
- }
1136
- get question() {
1137
- return this.componentData.question;
1138
- }
1139
- get column() {
1140
- return this.componentData.column;
1141
- }
1142
- get row() {
1143
- return this.componentData.row;
1144
- }
1145
- createModel() {
1146
- if (this.componentData) {
1147
- this.adorner = new MatrixCellWrapperViewModel(this.creator, null, this.question, this.row, this.column);
1148
- }
1149
- }
1150
- getPropertiesToTrack() {
1151
- return ["creator", "row", "column", "question"];
1152
- }
1153
- getModel() {
1154
- return this.adorner;
1155
- }
1156
- }
1157
- MatrixCellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: MatrixCellComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1158
- MatrixCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], 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"] }] });
1159
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: MatrixCellComponent, decorators: [{
1160
- type: Component,
1161
- args: [{ selector: "svc-matrix-cell", styles: [":host { display: none; }"], 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>" }]
1162
- }], propDecorators: { componentName: [{
1163
- type: Input
1164
- }], componentData: [{
1165
- type: Input
1166
- }], contentTempl: [{
1167
- type: Input
1168
- }] } });
1169
- AngularComponentFactory.Instance.registerComponent("svc-matrix-cell", MatrixCellComponent);
1170
-
1171
- class QuestionEditorComponent extends EmbeddedViewContentComponent {
1172
- get question() {
1173
- return this.survey.getAllQuestions()[0];
1174
- }
1175
- get elementComponentName() {
1176
- return this.question.isPanel ? "panel" : "question";
1177
- }
1178
- get componentName() {
1179
- const survey = this.survey;
1180
- if (!!survey) {
1181
- const name = survey.getElementWrapperComponentName(this.question);
1182
- if (!!name) {
1183
- return name;
1184
- }
1185
- }
1186
- return this.elementComponentName;
1187
- }
1188
- get componentData() {
1189
- const survey = this.survey;
1190
- let data;
1191
- if (!!survey) {
1192
- data = survey.getElementWrapperComponentData(this.question);
1193
- }
1194
- return {
1195
- componentName: this.elementComponentName,
1196
- componentData: {
1197
- model: this.question,
1198
- data: data
1199
- }
1200
- };
1201
- }
1202
- }
1203
- QuestionEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: QuestionEditorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1204
- QuestionEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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"] }] });
1205
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: QuestionEditorComponent, decorators: [{
1206
- type: Component,
1207
- args: [{ selector: "svc-question-editor-content", template: "<ng-template #template>\n <ng-template [component]=\"{ name: componentName, data: componentData }\"></ng-template>\n</ng-template>" }]
1208
- }], propDecorators: { survey: [{
1209
- type: Input
1210
- }] } });
1211
- AngularComponentFactory.Instance.registerComponent("svc-question-editor-content", QuestionEditorComponent);
1212
-
1213
- class CellQuestionComponent extends BaseAngular {
1214
- getModel() {
1215
- return this.model;
1216
- }
1217
- get model() {
1218
- return this.componentData.model;
1219
- }
1220
- }
1221
- CellQuestionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: CellQuestionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1222
- CellQuestionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], directives: [{ type: i1.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
1223
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: CellQuestionComponent, decorators: [{
1224
- type: Component,
1225
- args: [{ selector: "svc-cell-question", styles: [":host { display: none; }"], 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>" }]
1226
- }], propDecorators: { componentName: [{
1227
- type: Input
1228
- }], componentData: [{
1229
- type: Input
1230
- }] } });
1231
- AngularComponentFactory.Instance.registerComponent("svc-cell-question", CellQuestionComponent);
1232
-
1233
- class CellQuestionDropdownComponent extends CellQuestionComponent {
1234
- getItemValueComponentName(item) {
1235
- return this.model.getItemValueWrapperComponentName(item) || "sv-ng-selectbase-item";
1236
- }
1237
- getItemValueComponentData(item) {
1238
- return {
1239
- componentName: "sv-ng-selectbase-item",
1240
- componentData: {
1241
- question: this.model,
1242
- model: item,
1243
- inputType: "radio",
1244
- data: this.model.getItemValueWrapperComponentData(item)
1245
- }
1246
- };
1247
- }
1248
- }
1249
- CellQuestionDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: CellQuestionDropdownComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1250
- CellQuestionDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], directives: [{ type: i1.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
1251
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: CellQuestionDropdownComponent, decorators: [{
1252
- type: Component,
1253
- args: [{ selector: "svc-cell-dropdown-question", styles: [":host { display: none; }"], 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>" }]
1254
- }] });
1255
- AngularComponentFactory.Instance.registerComponent("svc-cell-dropdown-question", CellQuestionDropdownComponent);
1256
-
1257
- class CreatorRowComponent extends CreatorModelComponent {
1258
- get row() {
1259
- return this.componentData.row;
1260
- }
1261
- get creator() {
1262
- return this.componentData.creator;
1263
- }
1264
- getModel() {
1265
- return this.model;
1266
- }
1267
- createModel() {
1268
- this.model = new RowViewModel(this.creator, this.row, undefined);
1269
- }
1270
- getPropertiesToTrack() {
1271
- return ["creator", "row"];
1272
- }
1273
- }
1274
- CreatorRowComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: CreatorRowComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1275
- CreatorRowComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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"] }] });
1276
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: CreatorRowComponent, decorators: [{
1277
- type: Component,
1278
- args: [{ selector: "svc-row", template: "<ng-template #template>\n <div [class]=\"model.cssClasses\">\n <sv-ng-row [row]=\"row\"></sv-ng-row>\n </div>\n</ng-template>" }]
1279
- }], propDecorators: { componentData: [{
1280
- type: Input
1281
- }] } });
1282
- AngularComponentFactory.Instance.registerComponent("svc-row", CreatorRowComponent);
1283
-
1284
- class QuestionWidgetDesignerComponent extends QuestionDesignerComponent {
1285
- createModel() {
1286
- if (this.componentData) {
1287
- this.adorner = new QuestionAdornerViewModel(this.creator, this.model, null);
1288
- }
1289
- }
1290
- }
1291
- QuestionWidgetDesignerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: QuestionWidgetDesignerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1292
- QuestionWidgetDesignerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], 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"] }] });
1293
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: QuestionWidgetDesignerComponent, decorators: [{
1294
- type: Component,
1295
- args: [{ selector: "svc-widget-question", styles: [":host { display: none; }"], 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>" }]
1296
- }] });
1297
- AngularComponentFactory.Instance.registerComponent("svc-widget-question", QuestionWidgetDesignerComponent);
1298
-
1299
- class ToolboxComponent extends BaseAngular {
1300
- get toolbox() {
1301
- return this.model.toolbox;
1302
- }
1303
- getModel() {
1304
- return this.toolbox;
1305
- }
1306
- }
1307
- ToolboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ToolboxComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1308
- ToolboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], 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"] }] });
1309
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ToolboxComponent, decorators: [{
1310
- type: Component,
1311
- args: [{ selector: "svc-toolbox", styles: [":host { display: none; }"], 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>" }]
1312
- }], propDecorators: { model: [{
1313
- type: Input
1314
- }] } });
1315
- AngularComponentFactory.Instance.registerComponent("svc-toolbox", ToolboxComponent);
1316
-
1317
- class QuestionRatingDesignerComponent extends QuestionDesignerComponent {
1318
- constructor() {
1319
- super(...arguments);
1320
- this.adornerComponent = "";
1321
- }
1322
- }
1323
- QuestionRatingDesignerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: QuestionRatingDesignerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1324
- QuestionRatingDesignerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], 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"] }] });
1325
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: QuestionRatingDesignerComponent, decorators: [{
1326
- type: Component,
1327
- args: [{ selector: "svc-rating-question", styles: [":host { display: none; }"], 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>" }]
1328
- }] });
1329
- AngularComponentFactory.Instance.registerComponent("svc-rating-question", QuestionRatingDesignerComponent);
1330
- class QuestionRatingAdornerDesignerComponent extends CreatorModelComponent {
1331
- createModel() {
1332
- if (this.componentData) {
1333
- this.adorner = new QuestionRatingAdornerViewModel(this.componentData.data, this.componentData.model, null);
1334
- }
1335
- }
1336
- getPropertiesToTrack() {
1337
- return ["model", "creator"];
1338
- }
1339
- getModel() {
1340
- return this.adorner;
1341
- }
1342
- }
1343
- QuestionRatingAdornerDesignerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: QuestionRatingAdornerDesignerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1344
- QuestionRatingAdornerDesignerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], 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"] }] });
1345
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: QuestionRatingAdornerDesignerComponent, decorators: [{
1346
- type: Component,
1347
- args: [{ selector: "svc-rating-question-content", styles: [":host { display: none; }"], 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>" }]
1348
- }], propDecorators: { componentName: [{
1349
- type: Input
1350
- }], componentData: [{
1351
- type: Input
1352
- }] } });
1353
- AngularComponentFactory.Instance.registerComponent("svc-rating-question-content", QuestionRatingAdornerDesignerComponent);
1354
-
1355
- class CreatorLogoImageComponent extends CreatorModelComponent {
1356
- createModel() {
1357
- this.model = new LogoImageViewModel(this.creator, null);
1358
- }
1359
- getModel() {
1360
- return this.model;
1361
- }
1362
- getPropertiesToTrack() {
1363
- return ["data"];
1364
- }
1365
- get creator() {
1366
- return this.data;
1367
- }
1368
- get survey() {
1369
- return this.creator.survey;
1370
- }
1371
- ngAfterViewInit() {
1372
- this.model.root = this.container.nativeElement;
1373
- }
1374
- }
1375
- CreatorLogoImageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: CreatorLogoImageComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1376
- CreatorLogoImageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], 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"] }] });
1377
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: CreatorLogoImageComponent, decorators: [{
1378
- type: Component,
1379
- args: [{ selector: "svc-logo-image", styles: [":host { display: none; }"], 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>" }]
1380
- }], propDecorators: { data: [{
1381
- type: Input
1382
- }], container: [{
1383
- type: ViewChild,
1384
- args: ["container", { read: ElementRef }]
1385
- }] } });
1386
- AngularComponentFactory.Instance.registerComponent("svc-logo-image", CreatorLogoImageComponent);
1387
-
1388
- class SurveyCreatorModule {
1389
- }
1390
- SurveyCreatorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: SurveyCreatorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1391
- SurveyCreatorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.3", 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,
1392
- AdaptiveToolboxComponent, ToolboxToolComponent, ToolboxItemComponent, ToolboxCategoryComponent, StringEditorComponent, PageNavigatorComponent, PageNavigatorItemComponent,
1393
- QuestionDropdownDesignerComponent, QuestionDropdownAdornerDesignerComponent, QuestionImageDesignerComponent, QuestionImageAdornerDesignerComponent,
1394
- ItemValueDesignerComponent, ImageItemValueDesignerComponent, LogicOperatorComponent, MatrixCellComponent, QuestionEditorComponent, CellQuestionDropdownComponent, CreatorRowComponent, DesignerPagesComponent, DesignerSurveyComponent, CellQuestionComponent, QuestionWidgetDesignerComponent, ToolboxComponent, CreatorLogoImageComponent,
1395
- 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,
1396
- AdaptiveToolboxComponent, ToolboxToolComponent, ToolboxItemComponent, ToolboxCategoryComponent, StringEditorComponent, PageNavigatorComponent, PageNavigatorItemComponent,
1397
- QuestionDropdownDesignerComponent, QuestionDropdownAdornerDesignerComponent, QuestionImageDesignerComponent, QuestionImageAdornerDesignerComponent,
1398
- ItemValueDesignerComponent, ImageItemValueDesignerComponent, LogicOperatorComponent, MatrixCellComponent, QuestionEditorComponent, CellQuestionDropdownComponent, CreatorRowComponent, DesignerPagesComponent, DesignerSurveyComponent, CellQuestionComponent, QuestionWidgetDesignerComponent, ToolboxComponent, CreatorLogoImageComponent,
1399
- QuestionRatingAdornerDesignerComponent, QuestionRatingDesignerComponent] });
1400
- SurveyCreatorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: SurveyCreatorModule, providers: [], imports: [[
1401
- CommonModule, FormsModule, SurveyModule
1402
- ]] });
1403
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: SurveyCreatorModule, decorators: [{
1404
- type: NgModule,
1405
- args: [{
1406
- 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,
1407
- AdaptiveToolboxComponent, ToolboxToolComponent, ToolboxItemComponent, ToolboxCategoryComponent, StringEditorComponent, PageNavigatorComponent, PageNavigatorItemComponent,
1408
- QuestionDropdownDesignerComponent, QuestionDropdownAdornerDesignerComponent, QuestionImageDesignerComponent, QuestionImageAdornerDesignerComponent,
1409
- ItemValueDesignerComponent, ImageItemValueDesignerComponent, LogicOperatorComponent, MatrixCellComponent, QuestionEditorComponent, CellQuestionDropdownComponent, CreatorRowComponent, DesignerPagesComponent, DesignerSurveyComponent, CellQuestionComponent, QuestionWidgetDesignerComponent, ToolboxComponent, CreatorLogoImageComponent,
1410
- QuestionRatingAdornerDesignerComponent, QuestionRatingDesignerComponent],
1411
- imports: [
1412
- CommonModule, FormsModule, SurveyModule
1413
- ],
1414
- exports: [
1415
- 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,
1416
- AdaptiveToolboxComponent, ToolboxToolComponent, ToolboxItemComponent, ToolboxCategoryComponent, StringEditorComponent, PageNavigatorComponent, PageNavigatorItemComponent,
1417
- QuestionDropdownDesignerComponent, QuestionDropdownAdornerDesignerComponent, QuestionImageDesignerComponent, QuestionImageAdornerDesignerComponent,
1418
- ItemValueDesignerComponent, ImageItemValueDesignerComponent, LogicOperatorComponent, MatrixCellComponent, QuestionEditorComponent, CellQuestionDropdownComponent, CreatorRowComponent, DesignerPagesComponent, DesignerSurveyComponent, CellQuestionComponent, QuestionWidgetDesignerComponent, ToolboxComponent, CreatorLogoImageComponent,
1419
- QuestionRatingAdornerDesignerComponent, QuestionRatingDesignerComponent
1420
- ],
1421
- providers: [],
1422
- }]
1423
- }] });
1424
-
1425
- /**
1426
- * Generated bundle index. Do not edit.
1427
- */
1428
-
1429
- 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 };
1430
- //# sourceMappingURL=survey-creator-angular.mjs.map
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: "13.0.3", ngImport: i0, type: SvgBundleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
18
+ SvgBundleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"] });
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", 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: "13.0.3", ngImport: i0, type: TabbedMenuItemWrapperComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
37
+ TabbedMenuItemWrapperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], directives: [{ type: i1.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TabbedMenuItemWrapperComponent, decorators: [{
39
+ type: Component,
40
+ args: [{ selector: "svc-tabbed-menu-item-wrapper", styles: [":host { display: none; }"], 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>" }]
41
+ }], propDecorators: { model: [{
42
+ type: Input
43
+ }] } });
44
+
45
+ class TabbledMenuComponent extends BaseAngular {
46
+ getModel() {
47
+ return this.model;
48
+ }
49
+ ngAfterViewInit() {
50
+ this.responsivityManager = new ResponsivityManager(this.container.nativeElement, this.model, ".svc-tabbed-menu-item-container:not(.sv-dots)>.sv-action__content");
51
+ }
52
+ ngOnDestroy() {
53
+ super.ngOnDestroy();
54
+ this.responsivityManager.dispose();
55
+ }
56
+ }
57
+ TabbledMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TabbledMenuComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
58
+ TabbledMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], components: [{ type: TabbedMenuItemWrapperComponent, selector: "svc-tabbed-menu-item-wrapper", inputs: ["model"] }], directives: [{ type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
59
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TabbledMenuComponent, decorators: [{
60
+ type: Component,
61
+ args: [{ selector: "svc-tabbed-menu", styles: [":host { display: none; }"], 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>" }]
62
+ }], propDecorators: { model: [{
63
+ type: Input
64
+ }], container: [{
65
+ type: ViewChild,
66
+ args: ["container"]
67
+ }] } });
68
+ AngularComponentFactory.Instance.registerComponent("svc-tabbed-menu", TabbledMenuComponent);
69
+
70
+ class SidebarTabComponent extends BaseAngular {
71
+ getModel() {
72
+ return this.model;
73
+ }
74
+ }
75
+ SidebarTabComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: SidebarTabComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
76
+ SidebarTabComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
77
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: SidebarTabComponent, decorators: [{
78
+ type: Component,
79
+ args: [{ selector: "svc-side-bar-tab", styles: [":host { display: none; }"], 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>" }]
80
+ }], propDecorators: { model: [{
81
+ type: Input
82
+ }] } });
83
+
84
+ class SidebarComponent extends BaseAngular {
85
+ getModel() {
86
+ return this.model;
87
+ }
88
+ ngOnDestroy() {
89
+ this.model.resetResizeManager();
90
+ super.ngOnDestroy();
91
+ }
92
+ ngAfterViewInit() {
93
+ this.model.initResizeManager(this.container.nativeElement);
94
+ }
95
+ }
96
+ SidebarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: SidebarComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
97
+ SidebarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], 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"] }] });
98
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: SidebarComponent, decorators: [{
99
+ type: Component,
100
+ args: [{ selector: "svc-side-bar", styles: [":host { display: none; }"], 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>" }]
101
+ }], propDecorators: { model: [{
102
+ type: Input
103
+ }], container: [{
104
+ type: ViewChild,
105
+ args: ["container"]
106
+ }] } });
107
+
108
+ class CreatorComponent extends BaseAngular {
109
+ constructor(changeDetectorRef) {
110
+ super(changeDetectorRef);
111
+ changeDetectorRef.detach();
112
+ }
113
+ getModel() {
114
+ return this.model;
115
+ }
116
+ get creator() {
117
+ return this.model;
118
+ }
119
+ getShouldReattachChangeDetector() {
120
+ return false;
121
+ }
122
+ onModelChanged() {
123
+ this.changeDetectorRef.detectChanges();
124
+ }
125
+ ngAfterViewInit() {
126
+ this.creator.initKeyboardShortcuts(this.container.nativeElement);
127
+ this.creator.initResponsivityManager(this.container.nativeElement);
128
+ super.ngOnInit();
129
+ }
130
+ ngOnDestroy() {
131
+ this.creator.removeKeyboardShortcuts(this.container.nativeElement);
132
+ this.creator.resetResponsivityManager();
133
+ super.ngOnDestroy();
134
+ }
135
+ }
136
+ CreatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: CreatorComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
137
+ CreatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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"] }] });
138
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: CreatorComponent, decorators: [{
139
+ type: Component,
140
+ args: [{ selector: "survey-creator", 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>" }]
141
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { model: [{
142
+ type: Input
143
+ }], container: [{
144
+ type: ViewChild,
145
+ args: ["container", { read: ElementRef }]
146
+ }] } });
147
+ AngularComponentFactory.Instance.registerComponent("survey-widget", SurveyContentComponent);
148
+
149
+ class CreatorModelComponent extends BaseAngular {
150
+ createHash() {
151
+ this.hash = {};
152
+ this.getPropertiesToTrack().forEach((prop) => {
153
+ this.hash[prop] = this[prop];
154
+ });
155
+ }
156
+ ngOnInit() {
157
+ this.createModel();
158
+ this.createHash();
159
+ super.ngOnInit();
160
+ }
161
+ ngDoCheck() {
162
+ if (this.needUpdateModel())
163
+ this.createModel();
164
+ super.ngDoCheck();
165
+ }
166
+ needUpdateModel() {
167
+ let res = false;
168
+ Object.keys(this.hash).forEach(key => {
169
+ if (this.hash[key] != this[key]) {
170
+ this.hash[key] = this[key];
171
+ res = true;
172
+ }
173
+ });
174
+ return res;
175
+ }
176
+ }
177
+ CreatorModelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: CreatorModelComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
178
+ CreatorModelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: CreatorModelComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "", isInline: true });
179
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: CreatorModelComponent, decorators: [{
180
+ type: Component,
181
+ args: [{
182
+ template: ""
183
+ }]
184
+ }] });
185
+
186
+ class ToolboxToolComponent extends CreatorModelComponent {
187
+ constructor() {
188
+ super(...arguments);
189
+ this.isCompact = false;
190
+ }
191
+ createModel() {
192
+ this.model = new ToolboxToolViewModel(this.item, this.creator);
193
+ }
194
+ getPropertiesToTrack() {
195
+ return ["creator", "item"];
196
+ }
197
+ getModel() {
198
+ return this.item;
199
+ }
200
+ getPropertiesToUpdateSync() {
201
+ return ["mode"];
202
+ }
203
+ }
204
+ ToolboxToolComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ToolboxToolComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
205
+ ToolboxToolComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
206
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ToolboxToolComponent, decorators: [{
207
+ type: Component,
208
+ args: [{ selector: "svc-toolbox-tool", styles: [":host { display: none; }"], 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>" }]
209
+ }], propDecorators: { creator: [{
210
+ type: Input
211
+ }], item: [{
212
+ type: Input
213
+ }], isCompact: [{
214
+ type: Input
215
+ }] } });
216
+
217
+ class ToolboxCategoryComponent extends BaseAngular {
218
+ getModel() {
219
+ return this.category;
220
+ }
221
+ }
222
+ ToolboxCategoryComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ToolboxCategoryComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
223
+ ToolboxCategoryComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], 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"] }] });
224
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ToolboxCategoryComponent, decorators: [{
225
+ type: Component,
226
+ args: [{ selector: "svc-toolbox-category ", styles: [":host { display: none; }"], 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>" }]
227
+ }], propDecorators: { category: [{
228
+ type: Input
229
+ }], toolbox: [{
230
+ type: Input
231
+ }] } });
232
+
233
+ class AdaptiveToolboxComponent extends BaseAngular {
234
+ get model() {
235
+ return this.creator.toolbox;
236
+ }
237
+ ngAfterViewInit() {
238
+ this.responsivityManager =
239
+ new VerticalResponsivityManager(this.container.nativeElement, this.model, ".svc-toolbox__tool:not(.sv-dots)");
240
+ }
241
+ getModel() {
242
+ return this.model;
243
+ }
244
+ ngOnDestroy() {
245
+ var _a;
246
+ (_a = this.responsivityManager) === null || _a === void 0 ? void 0 : _a.dispose();
247
+ super.ngOnDestroy();
248
+ }
249
+ }
250
+ AdaptiveToolboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: AdaptiveToolboxComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
251
+ AdaptiveToolboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], 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"] }] });
252
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: AdaptiveToolboxComponent, decorators: [{
253
+ type: Component,
254
+ args: [{ selector: "svc-adaptive-toolbox", styles: [":host { display: none; }"], 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>" }]
255
+ }], propDecorators: { creator: [{
256
+ type: Input
257
+ }], container: [{
258
+ type: ViewChild,
259
+ args: ["container"]
260
+ }] } });
261
+
262
+ class PageDesignerComponent extends CreatorModelComponent {
263
+ createModel() {
264
+ var _a;
265
+ if (this.model) {
266
+ (_a = this.previousModel) === null || _a === void 0 ? void 0 : _a.dispose();
267
+ this.adorner = new PageAdorner(this.creator, this.model);
268
+ }
269
+ }
270
+ getModel() {
271
+ return this.adorner;
272
+ }
273
+ getPropertiesToTrack() {
274
+ return ["creator", "model"];
275
+ }
276
+ addNewQuestion(event) {
277
+ event.stopPropagation();
278
+ this.adorner.addNewQuestion(this.adorner, event);
279
+ }
280
+ selectQuestionType(event) {
281
+ event.stopPropagation();
282
+ this.adorner.questionTypeSelectorModel.action();
283
+ }
284
+ ngOnDestroy() {
285
+ super.ngOnDestroy();
286
+ this.adorner.dispose();
287
+ }
288
+ }
289
+ PageDesignerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: PageDesignerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
290
+ PageDesignerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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"] }] });
291
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: PageDesignerComponent, decorators: [{
292
+ type: Component,
293
+ args: [{ selector: "svc-page", styles: [], 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>" }]
294
+ }], propDecorators: { model: [{
295
+ type: Input
296
+ }], survey: [{
297
+ type: Input
298
+ }], creator: [{
299
+ type: Input
300
+ }], isGhost: [{
301
+ type: Input
302
+ }] } });
303
+ AngularComponentFactory.Instance.registerComponent("svc-page", PageDesignerComponent);
304
+
305
+ class DesignerPagesComponent extends BaseAngular {
306
+ getModel() {
307
+ return this.model.pagesController;
308
+ }
309
+ get creator() {
310
+ return this.model.creator;
311
+ }
312
+ get survey() {
313
+ return this.creator.survey;
314
+ }
315
+ }
316
+ DesignerPagesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: DesignerPagesComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
317
+ DesignerPagesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], components: [{ type: PageDesignerComponent, selector: "svc-page", inputs: ["model", "survey", "creator", "isGhost"] }] });
318
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: DesignerPagesComponent, decorators: [{
319
+ type: Component,
320
+ args: [{ selector: "svc-designer-pages", styles: [":host { display: none; }"], 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>" }]
321
+ }], propDecorators: { model: [{
322
+ type: Input
323
+ }] } });
324
+
325
+ class PageNavigatorItemComponent extends BaseAngular {
326
+ getModel() {
327
+ return this.model;
328
+ }
329
+ get anyModel() {
330
+ return this.model;
331
+ }
332
+ click(event) {
333
+ event.stopPropagation();
334
+ this.getModel().action();
335
+ }
336
+ }
337
+ PageNavigatorItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: PageNavigatorItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
338
+ PageNavigatorItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], directives: [{ type: i1.Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }] });
339
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: PageNavigatorItemComponent, decorators: [{
340
+ type: Component,
341
+ args: [{ selector: "svc-page-navigator-item", styles: [":host { display: none; }"], 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>" }]
342
+ }], propDecorators: { model: [{
343
+ type: Input
344
+ }] } });
345
+
346
+ class PageNavigatorComponent extends CreatorModelComponent {
347
+ createModel() {
348
+ this.model = new PageNavigatorViewModel(this.pagesController, this.pageEditMode);
349
+ }
350
+ getModel() {
351
+ return this.model;
352
+ }
353
+ getPropertiesToTrack() {
354
+ return ["pagesController", "pageEditMode"];
355
+ }
356
+ ngAfterViewInit() {
357
+ var _a, _b;
358
+ if (this.pageEditMode !== "bypage") {
359
+ const el = this.container.nativeElement;
360
+ if (!!el && !!((_b = (_a = el.parentElement) === null || _a === void 0 ? void 0 : _a.parentElement) === null || _b === void 0 ? void 0 : _b.parentElement)) {
361
+ const self = this;
362
+ el.parentElement.parentElement.parentElement.onscroll = function (ev) {
363
+ return self.model.onContainerScroll(ev.currentTarget);
364
+ };
365
+ self.model.setItemsContainer(el.parentElement);
366
+ }
367
+ }
368
+ }
369
+ ngOnDestroy() {
370
+ var _a, _b;
371
+ super.ngOnDestroy();
372
+ const el = this.container.nativeElement;
373
+ if (!!el && !!((_b = (_a = el.parentElement) === null || _a === void 0 ? void 0 : _a.parentElement) === null || _b === void 0 ? void 0 : _b.parentElement)) {
374
+ el.parentElement.parentElement.parentElement.onscroll = undefined;
375
+ }
376
+ this.model.stopItemsContainerHeightObserver();
377
+ this.model.dispose();
378
+ }
379
+ }
380
+ PageNavigatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: PageNavigatorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
381
+ PageNavigatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], 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"] }] });
382
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: PageNavigatorComponent, decorators: [{
383
+ type: Component,
384
+ args: [{ selector: "svc-page-navigator", styles: [":host { display: none; }"], 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>" }]
385
+ }], propDecorators: { pagesController: [{
386
+ type: Input
387
+ }], pageEditMode: [{
388
+ type: Input
389
+ }], container: [{
390
+ type: ViewChild,
391
+ args: ["container"]
392
+ }] } });
393
+
394
+ class DesignerSurveyComponent extends BaseAngular {
395
+ getModel() {
396
+ return this.model.survey;
397
+ }
398
+ get creator() {
399
+ return this.model.creator;
400
+ }
401
+ get survey() {
402
+ return this.creator.survey;
403
+ }
404
+ }
405
+ DesignerSurveyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: DesignerSurveyComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
406
+ DesignerSurveyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], 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"] }] });
407
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: DesignerSurveyComponent, decorators: [{
408
+ type: Component,
409
+ args: [{ selector: "svc-designer-survey", styles: [":host { display: none; }"], 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>" }]
410
+ }], propDecorators: { model: [{
411
+ type: Input
412
+ }] } });
413
+
414
+ class DesignerTabComponent extends BaseAngular {
415
+ get survey() {
416
+ return this.creator.survey;
417
+ }
418
+ get creator() {
419
+ return this.model.creator;
420
+ }
421
+ getModel() {
422
+ return this.model;
423
+ }
424
+ }
425
+ DesignerTabComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: DesignerTabComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
426
+ DesignerTabComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], 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"] }] });
427
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: DesignerTabComponent, decorators: [{
428
+ type: Component,
429
+ args: [{ selector: "svc-tab-designer", styles: [":host { display: none; }"], 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>" }]
430
+ }], propDecorators: { model: [{
431
+ type: Input
432
+ }] } });
433
+ AngularComponentFactory.Instance.registerComponent("svc-tab-designer", DesignerTabComponent);
434
+
435
+ class TabbedMenuItemComponent extends BaseAngular {
436
+ getModel() {
437
+ return this.model;
438
+ }
439
+ }
440
+ TabbedMenuItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TabbedMenuItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
441
+ TabbedMenuItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], directives: [{ type: i1.Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }] });
442
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TabbedMenuItemComponent, decorators: [{
443
+ type: Component,
444
+ args: [{ selector: "svc-tabbed-menu-item", styles: [":host { display: none; }"], 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" }]
445
+ }], propDecorators: { model: [{
446
+ type: Input
447
+ }] } });
448
+ AngularComponentFactory.Instance.registerComponent("svc-tabbed-menu-item", TabbedMenuItemComponent);
449
+
450
+ class ObjectSelectorComponent extends BaseAngular {
451
+ getModel() {
452
+ return this.model;
453
+ }
454
+ }
455
+ ObjectSelectorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ObjectSelectorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
456
+ ObjectSelectorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], components: [{ type: i1.ListComponent, selector: "sv-ng-list, '[sv-ng-list]'", inputs: ["model"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
457
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ObjectSelectorComponent, decorators: [{
458
+ type: Component,
459
+ args: [{ selector: "svc-object-selector", styles: [":host { display: none; }"], 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" }]
460
+ }], propDecorators: { model: [{
461
+ type: Input
462
+ }] } });
463
+ AngularComponentFactory.Instance.registerComponent("svc-object-selector", ObjectSelectorComponent);
464
+
465
+ class PropertyGridComponent extends BaseAngular {
466
+ getModel() {
467
+ return this.model;
468
+ }
469
+ getPropertiesToUpdateSync() {
470
+ return ["survey"];
471
+ }
472
+ }
473
+ PropertyGridComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: PropertyGridComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
474
+ PropertyGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], components: [{ type: i1.SurveyContentComponent, selector: "survey-content", inputs: ["model"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
475
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: PropertyGridComponent, decorators: [{
476
+ type: Component,
477
+ args: [{ selector: "svc-property-grid", styles: [":host { display: none; }"], template: "<ng-template #template>\n <survey-content *ngIf=\"!!model.survey\" [model]=\"model.survey\"></survey-content>\n</ng-template>" }]
478
+ }], propDecorators: { model: [{
479
+ type: Input
480
+ }] } });
481
+ AngularComponentFactory.Instance.registerComponent("buttongroup-question", ButtonGroupQuestionComponent);
482
+ AngularComponentFactory.Instance.registerComponent("svc-property-grid", PropertyGridComponent);
483
+
484
+ class TextareaJsonEditorComponent extends BaseAngular {
485
+ getModel() {
486
+ return this.model;
487
+ }
488
+ ngOnInit() {
489
+ this.model.canShowErrors = false;
490
+ super.ngOnInit();
491
+ }
492
+ }
493
+ TextareaJsonEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TextareaJsonEditorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
494
+ TextareaJsonEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], 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"] }] });
495
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TextareaJsonEditorComponent, decorators: [{
496
+ type: Component,
497
+ args: [{ selector: "svc-tab-json-editor-textarea", styles: [":host { display: none; }"], 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>" }]
498
+ }], propDecorators: { model: [{
499
+ type: Input
500
+ }] } });
501
+ AngularComponentFactory.Instance.registerComponent("svc-tab-json-editor-textarea", TextareaJsonEditorComponent);
502
+
503
+ class AceJsonEditorComponent extends BaseAngular {
504
+ getModel() {
505
+ return this.model;
506
+ }
507
+ ngAfterViewInit() {
508
+ //todo fix ts
509
+ this.model.init(window.ace.edit(this.inputEl.nativeElement));
510
+ }
511
+ }
512
+ AceJsonEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: AceJsonEditorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
513
+ AceJsonEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"] });
514
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: AceJsonEditorComponent, decorators: [{
515
+ type: Component,
516
+ args: [{ selector: "svc-tab-json-editor-ace", styles: [":host { display: none; }"], 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>" }]
517
+ }], propDecorators: { model: [{
518
+ type: Input
519
+ }], inputEl: [{
520
+ type: ViewChild,
521
+ args: ["inputEl"]
522
+ }] } });
523
+ AngularComponentFactory.Instance.registerComponent("svc-tab-json-editor-ace", AceJsonEditorComponent);
524
+
525
+ class LogicAddButtonComponent extends BaseAngular {
526
+ getModel() {
527
+ return this.model;
528
+ }
529
+ onClick(event) {
530
+ event.stopPropagation();
531
+ this.model.action();
532
+ }
533
+ }
534
+ LogicAddButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: LogicAddButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
535
+ LogicAddButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], directives: [{ type: i1.Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }] });
536
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: LogicAddButtonComponent, decorators: [{
537
+ type: Component,
538
+ args: [{ selector: "svc-tab-logic-add-btn", styles: [":host { display: none; }"], 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>" }]
539
+ }], propDecorators: { model: [{
540
+ type: Input
541
+ }] } });
542
+
543
+ class LogicTabComponent extends BaseAngular {
544
+ getModel() {
545
+ return this.model;
546
+ }
547
+ }
548
+ LogicTabComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: LogicTabComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
549
+ LogicTabComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], 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"] }] });
550
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: LogicTabComponent, decorators: [{
551
+ type: Component,
552
+ args: [{ selector: "svc-tab-logic", styles: [":host { display: none; }"], 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>" }]
553
+ }], propDecorators: { model: [{
554
+ type: Input
555
+ }] } });
556
+ AngularComponentFactory.Instance.registerComponent("svc-tab-logic", LogicTabComponent);
557
+
558
+ class ActionButtonComponent extends EmbeddedViewContentComponent {
559
+ constructor() {
560
+ super(...arguments);
561
+ this.classes = "";
562
+ this.selected = false;
563
+ this.disabled = false;
564
+ this.text = "";
565
+ this.title = "";
566
+ this.allowBubble = false;
567
+ }
568
+ onClick(event) {
569
+ this.click();
570
+ if (!this.allowBubble) {
571
+ event.stopPropagation();
572
+ }
573
+ }
574
+ }
575
+ ActionButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ActionButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
576
+ ActionButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }] });
577
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ActionButtonComponent, decorators: [{
578
+ type: Component,
579
+ args: [{ selector: "svc-action-button", styles: [":host { display: none; }"], 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>" }]
580
+ }], propDecorators: { classes: [{
581
+ type: Input
582
+ }], click: [{
583
+ type: Input
584
+ }], selected: [{
585
+ type: Input
586
+ }], disabled: [{
587
+ type: Input
588
+ }], text: [{
589
+ type: Input
590
+ }], title: [{
591
+ type: Input
592
+ }], allowBubble: [{
593
+ type: Input
594
+ }] } });
595
+ AngularComponentFactory.Instance.registerComponent("svc-action-button", ActionButtonComponent);
596
+
597
+ class LinkValueQuestionComponent extends QuestionAngular {
598
+ get clearCaption() {
599
+ return editorLocalization.getString("pe.clear");
600
+ }
601
+ }
602
+ LinkValueQuestionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: LinkValueQuestionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
603
+ LinkValueQuestionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], 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"] }] });
604
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: LinkValueQuestionComponent, decorators: [{
605
+ type: Component,
606
+ args: [{ selector: "svc-link-value", styles: [":host { display: none; }"], 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>" }]
607
+ }] });
608
+ AngularComponentFactory.Instance.registerComponent("linkvalue-question", LinkValueQuestionComponent);
609
+
610
+ class EmbeddedSurveyQuestionComponent extends QuestionAngular {
611
+ get survey() {
612
+ return this.model.embeddedSurvey;
613
+ }
614
+ onModelChanged() {
615
+ super.onModelChanged();
616
+ if (!!this.model) {
617
+ this.model.onEmbeddedSurveyValueChanged = () => {
618
+ this.detectChanges();
619
+ };
620
+ }
621
+ }
622
+ }
623
+ EmbeddedSurveyQuestionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: EmbeddedSurveyQuestionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
624
+ EmbeddedSurveyQuestionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], components: [{ type: i1.PageComponent, selector: "page, sv-ng-page", inputs: ["model", "survey"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
625
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: EmbeddedSurveyQuestionComponent, decorators: [{
626
+ type: Component,
627
+ args: [{ selector: "svc-embeddedsurvey-question", styles: [":host { display: none; }"], 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>" }]
628
+ }] });
629
+ AngularComponentFactory.Instance.registerComponent("embeddedsurvey-question", EmbeddedSurveyQuestionComponent);
630
+
631
+ class TranslationTabComponent extends BaseAngular {
632
+ getModel() {
633
+ return this.model;
634
+ }
635
+ }
636
+ TranslationTabComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TranslationTabComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
637
+ TranslationTabComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], components: [{ type: i1.SurveyContentComponent, selector: "survey-content", inputs: ["model"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
638
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TranslationTabComponent, decorators: [{
639
+ type: Component,
640
+ args: [{ selector: "svc-tab-translation", styles: [":host { display: none; }"], 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>" }]
641
+ }], propDecorators: { model: [{
642
+ type: Input
643
+ }] } });
644
+ AngularComponentFactory.Instance.registerComponent("svc-tab-translation", TranslationTabComponent);
645
+
646
+ class TranslationSkeletonComponent extends EmbeddedViewContentComponent {
647
+ }
648
+ TranslationSkeletonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TranslationSkeletonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
649
+ TranslationSkeletonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"] });
650
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TranslationSkeletonComponent, decorators: [{
651
+ type: Component,
652
+ args: [{ selector: "sd-translation-line-skeleton", styles: [":host { display: none; }"], template: "<ng-template #template>\n <div class=\"sd-translation-line-skeleton\"></div>\n</ng-template>" }]
653
+ }] });
654
+ AngularComponentFactory.Instance.registerComponent("sd-translation-line-skeleton", TranslationSkeletonComponent);
655
+
656
+ class SimulatorComponent extends BaseAngular {
657
+ getModel() {
658
+ return this.model;
659
+ }
660
+ get simulatorFrame() {
661
+ return this.model.simulatorFrame;
662
+ }
663
+ activateZoom() {
664
+ if (this.model.device !== "desktop") {
665
+ this.model.activateZoom();
666
+ }
667
+ }
668
+ deactivateZoom() {
669
+ if (this.model.device !== "desktop") {
670
+ this.model.deactivateZoom();
671
+ }
672
+ }
673
+ }
674
+ SimulatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: SimulatorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
675
+ SimulatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
676
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: SimulatorComponent, decorators: [{
677
+ type: Component,
678
+ args: [{ selector: "survey-simulator", styles: [":host { display: none; }"], 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>" }]
679
+ }], propDecorators: { model: [{
680
+ type: Input
681
+ }] } });
682
+
683
+ class TestAgainActionComponent extends BaseAngular {
684
+ getModel() {
685
+ return this.model;
686
+ }
687
+ }
688
+ TestAgainActionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TestAgainActionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
689
+ TestAgainActionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], directives: [{ type: i1.Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }] });
690
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TestAgainActionComponent, decorators: [{
691
+ type: Component,
692
+ args: [{ selector: "survey-test-again", styles: [":host { display: none; }"], 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>" }]
693
+ }], propDecorators: { model: [{
694
+ type: Input
695
+ }] } });
696
+
697
+ class SurveyResultsTableRowComponent extends BaseAngular {
698
+ getModel() {
699
+ return this.model;
700
+ }
701
+ }
702
+ SurveyResultsTableRowComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: SurveyResultsTableRowComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
703
+ SurveyResultsTableRowComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], 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"] }] });
704
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: SurveyResultsTableRowComponent, decorators: [{
705
+ type: Component,
706
+ args: [{ selector: "survey-results-table-row", styles: [":host { display: none; }"], 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>" }]
707
+ }], propDecorators: { model: [{
708
+ type: Input
709
+ }] } });
710
+
711
+ class SurveyResultsComponent extends CreatorModelComponent {
712
+ createModel() {
713
+ if (!!this.survey) {
714
+ this.model = new SurveyResultsModel(this.survey);
715
+ }
716
+ }
717
+ getModel() {
718
+ return this.model;
719
+ }
720
+ getPropertiesToTrack() {
721
+ return ["survey"];
722
+ }
723
+ }
724
+ SurveyResultsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: SurveyResultsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
725
+ SurveyResultsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], 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"] }] });
726
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: SurveyResultsComponent, decorators: [{
727
+ type: Component,
728
+ args: [{ selector: "survey-results", styles: [":host { display: none; }"], 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>" }]
729
+ }], propDecorators: { survey: [{
730
+ type: Input
731
+ }] } });
732
+
733
+ class TestTabComponent extends BaseAngular {
734
+ getModel() {
735
+ return this.model;
736
+ }
737
+ }
738
+ TestTabComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TestTabComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
739
+ TestTabComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], 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"] }] });
740
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TestTabComponent, decorators: [{
741
+ type: Component,
742
+ args: [{ selector: "svc-tab-test", styles: [":host { display: none; }"], 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>" }]
743
+ }], propDecorators: { model: [{
744
+ type: Input
745
+ }] } });
746
+ AngularComponentFactory.Instance.registerComponent("svc-tab-test", TestTabComponent);
747
+
748
+ class QuestionDesignerComponent extends CreatorModelComponent {
749
+ constructor() {
750
+ super(...arguments);
751
+ this.adornerComponent = "";
752
+ }
753
+ get creator() {
754
+ return this.componentData.data;
755
+ }
756
+ get model() {
757
+ return this.componentData.model;
758
+ }
759
+ createModel() {
760
+ if (this.componentData) {
761
+ this.adorner = new QuestionAdornerViewModel(this.creator, this.model, null);
762
+ }
763
+ }
764
+ getPropertiesToTrack() {
765
+ return ["model", "creator"];
766
+ }
767
+ getModel() {
768
+ return this.adorner;
769
+ }
770
+ selectQuestionType(event) {
771
+ var _a;
772
+ event.stopPropagation();
773
+ (_a = this.adorner.questionTypeSelectorModel) === null || _a === void 0 ? void 0 : _a.action(this.adorner.questionTypeSelectorModel, event);
774
+ }
775
+ addNewQuestion(event) {
776
+ event.stopPropagation();
777
+ this.adorner.addNewQuestion();
778
+ }
779
+ }
780
+ QuestionDesignerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: QuestionDesignerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
781
+ QuestionDesignerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], 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"] }] });
782
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: QuestionDesignerComponent, decorators: [{
783
+ type: Component,
784
+ args: [{ selector: "svc-question", styles: [":host { display: none; }"], 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>" }]
785
+ }], propDecorators: { componentName: [{
786
+ type: Input
787
+ }], componentData: [{
788
+ type: Input
789
+ }] } });
790
+ AngularComponentFactory.Instance.registerComponent("svc-question", QuestionDesignerComponent);
791
+
792
+ class ItemValueDesignerComponent extends CreatorModelComponent {
793
+ get creator() {
794
+ return this.componentData.data.creator;
795
+ }
796
+ get question() {
797
+ return this.componentData.question;
798
+ }
799
+ get item() {
800
+ return this.componentData.model;
801
+ }
802
+ onBlur(event) {
803
+ this.adorner.onFocusOut(event);
804
+ }
805
+ createModel() {
806
+ if (this.componentData) {
807
+ this.adorner = new ItemValueWrapperViewModel(this.creator, this.question, this.item);
808
+ }
809
+ }
810
+ getPropertiesToTrack() {
811
+ return ["creator", "question", "item"];
812
+ }
813
+ getModel() {
814
+ return this.adorner;
815
+ }
816
+ }
817
+ ItemValueDesignerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ItemValueDesignerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
818
+ ItemValueDesignerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], 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"] }] });
819
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ItemValueDesignerComponent, decorators: [{
820
+ type: Component,
821
+ args: [{ selector: "svc-item-value", styles: [":host { display: none; }"], 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>" }]
822
+ }], propDecorators: { componentName: [{
823
+ type: Input
824
+ }], componentData: [{
825
+ type: Input
826
+ }] } });
827
+ AngularComponentFactory.Instance.registerComponent("svc-item-value", ItemValueDesignerComponent);
828
+
829
+ class ImageItemValueDesignerComponent extends CreatorModelComponent {
830
+ get creator() {
831
+ return this.componentData.data.creator;
832
+ }
833
+ get question() {
834
+ return this.componentData.question;
835
+ }
836
+ get item() {
837
+ return this.componentData.model;
838
+ }
839
+ createModel() {
840
+ if (this.componentData) {
841
+ this.adorner = new ImageItemValueWrapperViewModel(this.creator, this.question, this.item, null, null);
842
+ }
843
+ }
844
+ getPropertiesToTrack() {
845
+ return ["creator", "question", "item"];
846
+ }
847
+ getModel() {
848
+ return this.adorner;
849
+ }
850
+ get showDragDropGhostOnTop() {
851
+ return this.adorner.ghostPosition === "top";
852
+ }
853
+ get showDragDropGhostOnBottom() {
854
+ return this.adorner.ghostPosition === "bottom";
855
+ }
856
+ blockEvent(event) {
857
+ event.stopPropagation();
858
+ }
859
+ getNewItemStyle() {
860
+ const needStyle = !this.adorner.getIsNewItemSingle();
861
+ return { width: needStyle ? this.question.renderedImageWidth : undefined, height: needStyle ? this.question.renderedImageHeight : undefined };
862
+ }
863
+ ngAfterViewInit() {
864
+ this.adorner.itemsRoot = this.container.nativeElement;
865
+ }
866
+ }
867
+ ImageItemValueDesignerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ImageItemValueDesignerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
868
+ ImageItemValueDesignerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], 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"] }] });
869
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ImageItemValueDesignerComponent, decorators: [{
870
+ type: Component,
871
+ args: [{ selector: "svc-image-item-value", styles: [":host { display: none; }"], 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>" }]
872
+ }], propDecorators: { componentName: [{
873
+ type: Input
874
+ }], componentData: [{
875
+ type: Input
876
+ }], container: [{
877
+ type: ViewChild,
878
+ args: ["container", { read: ElementRef }]
879
+ }] } });
880
+ AngularComponentFactory.Instance.registerComponent("svc-image-item-value", ImageItemValueDesignerComponent);
881
+
882
+ class QuestionDropdownDesignerComponent extends QuestionDesignerComponent {
883
+ constructor() {
884
+ super(...arguments);
885
+ this.adornerComponent = "svc-dropdown-question-adorner";
886
+ }
887
+ createModel() {
888
+ if (this.componentData) {
889
+ this.adorner = new QuestionDropdownAdornerViewModel(this.creator, this.model, null);
890
+ }
891
+ }
892
+ }
893
+ QuestionDropdownDesignerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: QuestionDropdownDesignerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
894
+ QuestionDropdownDesignerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], 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"] }] });
895
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: QuestionDropdownDesignerComponent, decorators: [{
896
+ type: Component,
897
+ args: [{ selector: "svc-dropdown-question", styles: [":host { display: none; }"], 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>" }]
898
+ }] });
899
+ AngularComponentFactory.Instance.registerComponent("svc-dropdown-question", QuestionDropdownDesignerComponent);
900
+ class QuestionDropdownAdornerDesignerComponent extends EmbeddedViewContentComponent {
901
+ getItemValueComponentName(item) {
902
+ return this.question.getItemValueWrapperComponentName(item) || "sv-ng-selectbase-item";
903
+ }
904
+ getItemValueComponentData(item) {
905
+ return {
906
+ componentName: "sv-ng-selectbase-item",
907
+ componentData: {
908
+ question: this.question,
909
+ model: item,
910
+ inputType: "radio",
911
+ data: this.question.getItemValueWrapperComponentData(item)
912
+ }
913
+ };
914
+ }
915
+ }
916
+ QuestionDropdownAdornerDesignerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: QuestionDropdownAdornerDesignerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
917
+ QuestionDropdownAdornerDesignerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], 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"] }] });
918
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: QuestionDropdownAdornerDesignerComponent, decorators: [{
919
+ type: Component,
920
+ args: [{ selector: "svc-dropdown-question-adorner", styles: [":host { display: none; }"], 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>" }]
921
+ }], propDecorators: { adorner: [{
922
+ type: Input
923
+ }], question: [{
924
+ type: Input
925
+ }] } });
926
+ AngularComponentFactory.Instance.registerComponent("svc-dropdown-question-adorner", QuestionDropdownAdornerDesignerComponent);
927
+
928
+ class QuestionImageDesignerComponent extends QuestionDesignerComponent {
929
+ constructor() {
930
+ super(...arguments);
931
+ this.adornerComponent = "svc-image-question-adorner";
932
+ }
933
+ createModel() {
934
+ var _a;
935
+ if (this.componentData) {
936
+ this.adorner = new QuestionImageAdornerViewModel(this.creator, this.model, null, (_a = this.viewContainerRef) === null || _a === void 0 ? void 0 : _a.element.nativeElement.nextSibling);
937
+ }
938
+ }
939
+ ngAfterViewInit() {
940
+ this.adorner.questionRoot = this.container.nativeElement;
941
+ }
942
+ }
943
+ QuestionImageDesignerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: QuestionImageDesignerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
944
+ QuestionImageDesignerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], 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"] }] });
945
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: QuestionImageDesignerComponent, decorators: [{
946
+ type: Component,
947
+ args: [{ selector: "svc-image-question", styles: [":host { display: none; }"], 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>" }]
948
+ }], propDecorators: { container: [{
949
+ type: ViewChild,
950
+ args: ["container", { read: ElementRef }]
951
+ }] } });
952
+ AngularComponentFactory.Instance.registerComponent("svc-image-question", QuestionImageDesignerComponent);
953
+ class QuestionImageAdornerDesignerComponent extends EmbeddedViewContentComponent {
954
+ }
955
+ QuestionImageAdornerDesignerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: QuestionImageAdornerDesignerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
956
+ QuestionImageAdornerDesignerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], 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"] }] });
957
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: QuestionImageAdornerDesignerComponent, decorators: [{
958
+ type: Component,
959
+ args: [{ selector: "svc-image-question-adorner", styles: [":host { display: none; }"], 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>" }]
960
+ }], propDecorators: { adorner: [{
961
+ type: Input
962
+ }], question: [{
963
+ type: Input
964
+ }] } });
965
+ AngularComponentFactory.Instance.registerComponent("svc-image-question-adorner", QuestionImageAdornerDesignerComponent);
966
+
967
+ class PanelDesignerComponent extends QuestionDesignerComponent {
968
+ }
969
+ PanelDesignerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: PanelDesignerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
970
+ PanelDesignerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], 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"] }] });
971
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: PanelDesignerComponent, decorators: [{
972
+ type: Component,
973
+ args: [{ selector: "svc-panel", styles: [":host { display: none; }"], 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>" }]
974
+ }] });
975
+ AngularComponentFactory.Instance.registerComponent("svc-panel", PanelDesignerComponent);
976
+
977
+ class ToolboxItemComponent extends BaseAngular {
978
+ constructor() {
979
+ super(...arguments);
980
+ this.isCompact = false;
981
+ }
982
+ getModel() {
983
+ return this.viewModel;
984
+ }
985
+ get item() {
986
+ return this.model;
987
+ }
988
+ get ariaLabel() {
989
+ return this.item.tooltip + " " + editorLocalization.getString("toolbox") + " item";
990
+ }
991
+ }
992
+ ToolboxItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ToolboxItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
993
+ ToolboxItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], 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"] }] });
994
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ToolboxItemComponent, decorators: [{
995
+ type: Component,
996
+ args: [{ selector: "svc-toolbox-item", styles: [":host { display: none; }"], 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>" }]
997
+ }], propDecorators: { creator: [{
998
+ type: Input
999
+ }], model: [{
1000
+ type: Input
1001
+ }], isCompact: [{
1002
+ type: Input
1003
+ }], viewModel: [{
1004
+ type: Input
1005
+ }] } });
1006
+ AngularComponentFactory.Instance.registerComponent("svc-toolbox-item", ToolboxItemComponent);
1007
+
1008
+ class StringEditorComponent extends CreatorModelComponent {
1009
+ constructor(cdr, vcr, ngZone) {
1010
+ super(cdr, vcr);
1011
+ this.ngZone = ngZone;
1012
+ this.justFocused = false;
1013
+ this.onChangeHandler = () => {
1014
+ this.detectChanges();
1015
+ };
1016
+ }
1017
+ createModel() {
1018
+ this.baseModel = new StringEditorViewModelBase(this.locString, this.creator);
1019
+ this.baseModel.blurEditor = () => {
1020
+ this.container.nativeElement.blur();
1021
+ this.container.nativeElement.spellcheck = false;
1022
+ };
1023
+ this.baseModel.getEditorElement = () => this.container.nativeElement;
1024
+ this.ngZone.runOutsideAngular(() => {
1025
+ setTimeout(() => this.baseModel.afterRender());
1026
+ });
1027
+ }
1028
+ get locString() {
1029
+ return this.model.locStr;
1030
+ }
1031
+ get creator() {
1032
+ return this.model.creator;
1033
+ }
1034
+ getModel() {
1035
+ return this.baseModel;
1036
+ }
1037
+ getPropertiesToTrack() {
1038
+ return ["creator", "locString"];
1039
+ }
1040
+ get placeholder() {
1041
+ return this.baseModel.placeholder;
1042
+ }
1043
+ get contentEditable() {
1044
+ return this.baseModel.contentEditable;
1045
+ }
1046
+ get className() {
1047
+ return this.baseModel.className(this.locString.renderedHtml);
1048
+ }
1049
+ get errorText() {
1050
+ return this.baseModel.errorText;
1051
+ }
1052
+ get editValue() {
1053
+ return this.baseModel.focused && this.baseModel.editAsText && this.locString.text || this.locString.renderedHtml;
1054
+ }
1055
+ onBlur(event) {
1056
+ this.container.nativeElement.spellcheck = false;
1057
+ this.locString.__isEditing = false;
1058
+ this.justFocused = false;
1059
+ this.baseModel.onBlur(event);
1060
+ return this.baseModel.errorText;
1061
+ }
1062
+ onFocus(event) {
1063
+ this.baseModel.onFocus(event);
1064
+ this.justFocused = true;
1065
+ }
1066
+ done(event) {
1067
+ this.baseModel.done(event);
1068
+ this.locString.__isEditing = false;
1069
+ }
1070
+ edit(event) {
1071
+ this.container.nativeElement.focus();
1072
+ this.locString.__isEditing = true;
1073
+ this.baseModel.onClick(event);
1074
+ }
1075
+ ngOnInit() {
1076
+ var _a;
1077
+ super.ngOnInit();
1078
+ if (this.locString.__isEditing) {
1079
+ this.container.nativeElement.focus();
1080
+ }
1081
+ (_a = this.locString) === null || _a === void 0 ? void 0 : _a.onStringChanged.add(this.onChangeHandler);
1082
+ }
1083
+ ngOnDestroy() {
1084
+ var _a;
1085
+ (_a = this.locString) === null || _a === void 0 ? void 0 : _a.onStringChanged.remove(this.onChangeHandler);
1086
+ super.ngOnDestroy();
1087
+ }
1088
+ }
1089
+ StringEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: StringEditorComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ViewContainerRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1090
+ StringEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], 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"] }] });
1091
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: StringEditorComponent, decorators: [{
1092
+ type: Component,
1093
+ args: [{ selector: "svc-string-edtior", styles: [":host { display: none; }"], 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>" }]
1094
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ViewContainerRef }, { type: i0.NgZone }]; }, propDecorators: { model: [{
1095
+ type: Input
1096
+ }], container: [{
1097
+ type: ViewChild,
1098
+ args: ["container"]
1099
+ }] } });
1100
+ AngularComponentFactory.Instance.registerComponent(editableStringRendererName, StringEditorComponent);
1101
+
1102
+ class LogicOperatorComponent extends QuestionAngular {
1103
+ get dropdownModel() {
1104
+ return this.dropdownListModel;
1105
+ }
1106
+ click(event) {
1107
+ var _a;
1108
+ (_a = this.dropdownListModel) === null || _a === void 0 ? void 0 : _a.onClick(event);
1109
+ }
1110
+ clear(event) {
1111
+ var _a;
1112
+ (_a = this.dropdownListModel) === null || _a === void 0 ? void 0 : _a.onClear(event);
1113
+ }
1114
+ keyup(event) {
1115
+ var _a;
1116
+ (_a = this.dropdownListModel) === null || _a === void 0 ? void 0 : _a.keyHandler(event);
1117
+ }
1118
+ ngOnInit() {
1119
+ super.ngOnInit();
1120
+ this.dropdownListModel = this.model.dropdownListModel || new DropdownListModel(this.model);
1121
+ }
1122
+ }
1123
+ LogicOperatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: LogicOperatorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1124
+ LogicOperatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], 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"] }] });
1125
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: LogicOperatorComponent, decorators: [{
1126
+ type: Component,
1127
+ args: [{ selector: "svc-logic-operator", styles: [":host { display: none; }"], 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" }]
1128
+ }] });
1129
+ AngularComponentFactory.Instance.registerComponent("sv-logic-operator", LogicOperatorComponent);
1130
+ RendererFactory.Instance.registerRenderer("dropdown", "logicoperator", "sv-logic-operator");
1131
+
1132
+ class MatrixCellComponent extends CreatorModelComponent {
1133
+ get creator() {
1134
+ return this.componentData.creator;
1135
+ }
1136
+ get question() {
1137
+ return this.componentData.question;
1138
+ }
1139
+ get column() {
1140
+ return this.componentData.column;
1141
+ }
1142
+ get row() {
1143
+ return this.componentData.row;
1144
+ }
1145
+ createModel() {
1146
+ if (this.componentData) {
1147
+ this.adorner = new MatrixCellWrapperViewModel(this.creator, null, this.question, this.row, this.column);
1148
+ }
1149
+ }
1150
+ getPropertiesToTrack() {
1151
+ return ["creator", "row", "column", "question"];
1152
+ }
1153
+ getModel() {
1154
+ return this.adorner;
1155
+ }
1156
+ }
1157
+ MatrixCellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: MatrixCellComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1158
+ MatrixCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], 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"] }] });
1159
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: MatrixCellComponent, decorators: [{
1160
+ type: Component,
1161
+ args: [{ selector: "svc-matrix-cell", styles: [":host { display: none; }"], 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>" }]
1162
+ }], propDecorators: { componentName: [{
1163
+ type: Input
1164
+ }], componentData: [{
1165
+ type: Input
1166
+ }], contentTempl: [{
1167
+ type: Input
1168
+ }] } });
1169
+ AngularComponentFactory.Instance.registerComponent("svc-matrix-cell", MatrixCellComponent);
1170
+
1171
+ class QuestionEditorComponent extends EmbeddedViewContentComponent {
1172
+ get question() {
1173
+ return this.survey.getAllQuestions()[0];
1174
+ }
1175
+ get elementComponentName() {
1176
+ return this.question.isPanel ? "panel" : "question";
1177
+ }
1178
+ get componentName() {
1179
+ const survey = this.survey;
1180
+ if (!!survey) {
1181
+ const name = survey.getElementWrapperComponentName(this.question);
1182
+ if (!!name) {
1183
+ return name;
1184
+ }
1185
+ }
1186
+ return this.elementComponentName;
1187
+ }
1188
+ get componentData() {
1189
+ const survey = this.survey;
1190
+ let data;
1191
+ if (!!survey) {
1192
+ data = survey.getElementWrapperComponentData(this.question);
1193
+ }
1194
+ return {
1195
+ componentName: this.elementComponentName,
1196
+ componentData: {
1197
+ model: this.question,
1198
+ data: data
1199
+ }
1200
+ };
1201
+ }
1202
+ }
1203
+ QuestionEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: QuestionEditorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1204
+ QuestionEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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"] }] });
1205
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: QuestionEditorComponent, decorators: [{
1206
+ type: Component,
1207
+ args: [{ selector: "svc-question-editor-content", template: "<ng-template #template>\n <ng-template [component]=\"{ name: componentName, data: componentData }\"></ng-template>\n</ng-template>" }]
1208
+ }], propDecorators: { survey: [{
1209
+ type: Input
1210
+ }] } });
1211
+ AngularComponentFactory.Instance.registerComponent("svc-question-editor-content", QuestionEditorComponent);
1212
+
1213
+ class CellQuestionComponent extends BaseAngular {
1214
+ getModel() {
1215
+ return this.model;
1216
+ }
1217
+ get model() {
1218
+ return this.componentData.model;
1219
+ }
1220
+ }
1221
+ CellQuestionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: CellQuestionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1222
+ CellQuestionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], directives: [{ type: i1.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
1223
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: CellQuestionComponent, decorators: [{
1224
+ type: Component,
1225
+ args: [{ selector: "svc-cell-question", styles: [":host { display: none; }"], 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>" }]
1226
+ }], propDecorators: { componentName: [{
1227
+ type: Input
1228
+ }], componentData: [{
1229
+ type: Input
1230
+ }] } });
1231
+ AngularComponentFactory.Instance.registerComponent("svc-cell-question", CellQuestionComponent);
1232
+
1233
+ class CellQuestionDropdownComponent extends CellQuestionComponent {
1234
+ getItemValueComponentName(item) {
1235
+ return this.model.getItemValueWrapperComponentName(item) || "sv-ng-selectbase-item";
1236
+ }
1237
+ getItemValueComponentData(item) {
1238
+ return {
1239
+ componentName: "sv-ng-selectbase-item",
1240
+ componentData: {
1241
+ question: this.model,
1242
+ model: item,
1243
+ inputType: "radio",
1244
+ data: this.model.getItemValueWrapperComponentData(item)
1245
+ }
1246
+ };
1247
+ }
1248
+ }
1249
+ CellQuestionDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: CellQuestionDropdownComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1250
+ CellQuestionDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], directives: [{ type: i1.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
1251
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: CellQuestionDropdownComponent, decorators: [{
1252
+ type: Component,
1253
+ args: [{ selector: "svc-cell-dropdown-question", styles: [":host { display: none; }"], 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>" }]
1254
+ }] });
1255
+ AngularComponentFactory.Instance.registerComponent("svc-cell-dropdown-question", CellQuestionDropdownComponent);
1256
+
1257
+ class CreatorRowComponent extends CreatorModelComponent {
1258
+ get row() {
1259
+ return this.componentData.row;
1260
+ }
1261
+ get creator() {
1262
+ return this.componentData.creator;
1263
+ }
1264
+ getModel() {
1265
+ return this.model;
1266
+ }
1267
+ createModel() {
1268
+ this.model = new RowViewModel(this.creator, this.row, undefined);
1269
+ }
1270
+ getPropertiesToTrack() {
1271
+ return ["creator", "row"];
1272
+ }
1273
+ }
1274
+ CreatorRowComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: CreatorRowComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1275
+ CreatorRowComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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"] }] });
1276
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: CreatorRowComponent, decorators: [{
1277
+ type: Component,
1278
+ args: [{ selector: "svc-row", template: "<ng-template #template>\n <div [class]=\"model.cssClasses\">\n <sv-ng-row [row]=\"row\"></sv-ng-row>\n </div>\n</ng-template>" }]
1279
+ }], propDecorators: { componentData: [{
1280
+ type: Input
1281
+ }] } });
1282
+ AngularComponentFactory.Instance.registerComponent("svc-row", CreatorRowComponent);
1283
+
1284
+ class QuestionWidgetDesignerComponent extends QuestionDesignerComponent {
1285
+ createModel() {
1286
+ if (this.componentData) {
1287
+ this.adorner = new QuestionAdornerViewModel(this.creator, this.model, null);
1288
+ }
1289
+ }
1290
+ }
1291
+ QuestionWidgetDesignerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: QuestionWidgetDesignerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1292
+ QuestionWidgetDesignerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], 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"] }] });
1293
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: QuestionWidgetDesignerComponent, decorators: [{
1294
+ type: Component,
1295
+ args: [{ selector: "svc-widget-question", styles: [":host { display: none; }"], 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>" }]
1296
+ }] });
1297
+ AngularComponentFactory.Instance.registerComponent("svc-widget-question", QuestionWidgetDesignerComponent);
1298
+
1299
+ class ToolboxComponent extends BaseAngular {
1300
+ get toolbox() {
1301
+ return this.model.toolbox;
1302
+ }
1303
+ getModel() {
1304
+ return this.toolbox;
1305
+ }
1306
+ }
1307
+ ToolboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ToolboxComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1308
+ ToolboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], 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"] }] });
1309
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ToolboxComponent, decorators: [{
1310
+ type: Component,
1311
+ args: [{ selector: "svc-toolbox", styles: [":host { display: none; }"], 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>" }]
1312
+ }], propDecorators: { model: [{
1313
+ type: Input
1314
+ }] } });
1315
+ AngularComponentFactory.Instance.registerComponent("svc-toolbox", ToolboxComponent);
1316
+
1317
+ class QuestionRatingDesignerComponent extends QuestionDesignerComponent {
1318
+ constructor() {
1319
+ super(...arguments);
1320
+ this.adornerComponent = "";
1321
+ }
1322
+ }
1323
+ QuestionRatingDesignerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: QuestionRatingDesignerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1324
+ QuestionRatingDesignerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], 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"] }] });
1325
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: QuestionRatingDesignerComponent, decorators: [{
1326
+ type: Component,
1327
+ args: [{ selector: "svc-rating-question", styles: [":host { display: none; }"], 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>" }]
1328
+ }] });
1329
+ AngularComponentFactory.Instance.registerComponent("svc-rating-question", QuestionRatingDesignerComponent);
1330
+ class QuestionRatingAdornerDesignerComponent extends CreatorModelComponent {
1331
+ createModel() {
1332
+ if (this.componentData) {
1333
+ this.adorner = new QuestionRatingAdornerViewModel(this.componentData.data, this.componentData.model, null);
1334
+ }
1335
+ }
1336
+ getPropertiesToTrack() {
1337
+ return ["model", "creator"];
1338
+ }
1339
+ getModel() {
1340
+ return this.adorner;
1341
+ }
1342
+ }
1343
+ QuestionRatingAdornerDesignerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: QuestionRatingAdornerDesignerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1344
+ QuestionRatingAdornerDesignerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], 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"] }] });
1345
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: QuestionRatingAdornerDesignerComponent, decorators: [{
1346
+ type: Component,
1347
+ args: [{ selector: "svc-rating-question-content", styles: [":host { display: none; }"], 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>" }]
1348
+ }], propDecorators: { componentName: [{
1349
+ type: Input
1350
+ }], componentData: [{
1351
+ type: Input
1352
+ }] } });
1353
+ AngularComponentFactory.Instance.registerComponent("svc-rating-question-content", QuestionRatingAdornerDesignerComponent);
1354
+
1355
+ class CreatorLogoImageComponent extends CreatorModelComponent {
1356
+ createModel() {
1357
+ this.model = new LogoImageViewModel(this.creator, null);
1358
+ }
1359
+ getModel() {
1360
+ return this.model;
1361
+ }
1362
+ getPropertiesToTrack() {
1363
+ return ["data"];
1364
+ }
1365
+ get creator() {
1366
+ return this.data;
1367
+ }
1368
+ get survey() {
1369
+ return this.creator.survey;
1370
+ }
1371
+ ngAfterViewInit() {
1372
+ this.model.root = this.container.nativeElement;
1373
+ }
1374
+ }
1375
+ CreatorLogoImageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: CreatorLogoImageComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1376
+ CreatorLogoImageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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}\n"], 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"] }] });
1377
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: CreatorLogoImageComponent, decorators: [{
1378
+ type: Component,
1379
+ args: [{ selector: "svc-logo-image", styles: [":host { display: none; }"], 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>" }]
1380
+ }], propDecorators: { data: [{
1381
+ type: Input
1382
+ }], container: [{
1383
+ type: ViewChild,
1384
+ args: ["container", { read: ElementRef }]
1385
+ }] } });
1386
+ AngularComponentFactory.Instance.registerComponent("svc-logo-image", CreatorLogoImageComponent);
1387
+
1388
+ class SurveyCreatorModule {
1389
+ }
1390
+ SurveyCreatorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: SurveyCreatorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1391
+ SurveyCreatorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.3", 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,
1392
+ AdaptiveToolboxComponent, ToolboxToolComponent, ToolboxItemComponent, ToolboxCategoryComponent, StringEditorComponent, PageNavigatorComponent, PageNavigatorItemComponent,
1393
+ QuestionDropdownDesignerComponent, QuestionDropdownAdornerDesignerComponent, QuestionImageDesignerComponent, QuestionImageAdornerDesignerComponent,
1394
+ ItemValueDesignerComponent, ImageItemValueDesignerComponent, LogicOperatorComponent, MatrixCellComponent, QuestionEditorComponent, CellQuestionDropdownComponent, CreatorRowComponent, DesignerPagesComponent, DesignerSurveyComponent, CellQuestionComponent, QuestionWidgetDesignerComponent, ToolboxComponent, CreatorLogoImageComponent,
1395
+ 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,
1396
+ AdaptiveToolboxComponent, ToolboxToolComponent, ToolboxItemComponent, ToolboxCategoryComponent, StringEditorComponent, PageNavigatorComponent, PageNavigatorItemComponent,
1397
+ QuestionDropdownDesignerComponent, QuestionDropdownAdornerDesignerComponent, QuestionImageDesignerComponent, QuestionImageAdornerDesignerComponent,
1398
+ ItemValueDesignerComponent, ImageItemValueDesignerComponent, LogicOperatorComponent, MatrixCellComponent, QuestionEditorComponent, CellQuestionDropdownComponent, CreatorRowComponent, DesignerPagesComponent, DesignerSurveyComponent, CellQuestionComponent, QuestionWidgetDesignerComponent, ToolboxComponent, CreatorLogoImageComponent,
1399
+ QuestionRatingAdornerDesignerComponent, QuestionRatingDesignerComponent] });
1400
+ SurveyCreatorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: SurveyCreatorModule, providers: [], imports: [[
1401
+ CommonModule, FormsModule, SurveyModule
1402
+ ]] });
1403
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: SurveyCreatorModule, decorators: [{
1404
+ type: NgModule,
1405
+ args: [{
1406
+ 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,
1407
+ AdaptiveToolboxComponent, ToolboxToolComponent, ToolboxItemComponent, ToolboxCategoryComponent, StringEditorComponent, PageNavigatorComponent, PageNavigatorItemComponent,
1408
+ QuestionDropdownDesignerComponent, QuestionDropdownAdornerDesignerComponent, QuestionImageDesignerComponent, QuestionImageAdornerDesignerComponent,
1409
+ ItemValueDesignerComponent, ImageItemValueDesignerComponent, LogicOperatorComponent, MatrixCellComponent, QuestionEditorComponent, CellQuestionDropdownComponent, CreatorRowComponent, DesignerPagesComponent, DesignerSurveyComponent, CellQuestionComponent, QuestionWidgetDesignerComponent, ToolboxComponent, CreatorLogoImageComponent,
1410
+ QuestionRatingAdornerDesignerComponent, QuestionRatingDesignerComponent],
1411
+ imports: [
1412
+ CommonModule, FormsModule, SurveyModule
1413
+ ],
1414
+ exports: [
1415
+ 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,
1416
+ AdaptiveToolboxComponent, ToolboxToolComponent, ToolboxItemComponent, ToolboxCategoryComponent, StringEditorComponent, PageNavigatorComponent, PageNavigatorItemComponent,
1417
+ QuestionDropdownDesignerComponent, QuestionDropdownAdornerDesignerComponent, QuestionImageDesignerComponent, QuestionImageAdornerDesignerComponent,
1418
+ ItemValueDesignerComponent, ImageItemValueDesignerComponent, LogicOperatorComponent, MatrixCellComponent, QuestionEditorComponent, CellQuestionDropdownComponent, CreatorRowComponent, DesignerPagesComponent, DesignerSurveyComponent, CellQuestionComponent, QuestionWidgetDesignerComponent, ToolboxComponent, CreatorLogoImageComponent,
1419
+ QuestionRatingAdornerDesignerComponent, QuestionRatingDesignerComponent
1420
+ ],
1421
+ providers: [],
1422
+ }]
1423
+ }] });
1424
+
1425
+ /**
1426
+ * Generated bundle index. Do not edit.
1427
+ */
1428
+
1429
+ 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 };
1430
+ //# sourceMappingURL=survey-creator-angular.mjs.map