survey-creator-core 1.9.111 → 1.9.112

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 (119) hide show
  1. package/fonts.fontless.css +1 -1
  2. package/fonts.fontless.min.css +1 -1
  3. package/i18n/arabic.js +1717 -0
  4. package/i18n/arabic.js.map +1 -0
  5. package/i18n/arabic.min.js +7 -0
  6. package/i18n/bulgarian.js +1354 -0
  7. package/i18n/bulgarian.js.map +1 -0
  8. package/i18n/bulgarian.min.js +7 -0
  9. package/i18n/croatian.js +1801 -0
  10. package/i18n/croatian.js.map +1 -0
  11. package/i18n/croatian.min.js +7 -0
  12. package/i18n/czech.js +1356 -0
  13. package/i18n/czech.js.map +1 -0
  14. package/i18n/czech.min.js +7 -0
  15. package/i18n/danish.js +1992 -0
  16. package/i18n/danish.js.map +1 -0
  17. package/i18n/danish.min.js +7 -0
  18. package/i18n/dutch.js +1787 -0
  19. package/i18n/dutch.js.map +1 -0
  20. package/i18n/dutch.min.js +7 -0
  21. package/i18n/english.js +1244 -0
  22. package/i18n/english.js.map +1 -0
  23. package/i18n/english.min.js +7 -0
  24. package/i18n/finnish.js +1807 -0
  25. package/i18n/finnish.js.map +1 -0
  26. package/i18n/finnish.min.js +7 -0
  27. package/i18n/french.js +1864 -0
  28. package/i18n/french.js.map +1 -0
  29. package/i18n/french.min.js +7 -0
  30. package/i18n/german.js +1527 -0
  31. package/i18n/german.js.map +1 -0
  32. package/i18n/german.min.js +7 -0
  33. package/i18n/hungarian.js +1961 -0
  34. package/i18n/hungarian.js.map +1 -0
  35. package/i18n/hungarian.min.js +7 -0
  36. package/i18n/index.js +45735 -0
  37. package/i18n/index.js.map +1 -0
  38. package/i18n/index.min.js +7 -0
  39. package/i18n/indonesian.js +1961 -0
  40. package/i18n/indonesian.js.map +1 -0
  41. package/i18n/indonesian.min.js +7 -0
  42. package/i18n/italian.js +1549 -0
  43. package/i18n/italian.js.map +1 -0
  44. package/i18n/italian.min.js +7 -0
  45. package/i18n/japanese.js +1806 -0
  46. package/i18n/japanese.js.map +1 -0
  47. package/i18n/japanese.min.js +7 -0
  48. package/i18n/korean.js +2011 -0
  49. package/i18n/korean.js.map +1 -0
  50. package/i18n/korean.min.js +7 -0
  51. package/i18n/malay.js +1760 -0
  52. package/i18n/malay.js.map +1 -0
  53. package/i18n/malay.min.js +7 -0
  54. package/i18n/mongolian.js +1448 -0
  55. package/i18n/mongolian.js.map +1 -0
  56. package/i18n/mongolian.min.js +7 -0
  57. package/i18n/norwegian.js +1811 -0
  58. package/i18n/norwegian.js.map +1 -0
  59. package/i18n/norwegian.min.js +7 -0
  60. package/i18n/persian.js +1746 -0
  61. package/i18n/persian.js.map +1 -0
  62. package/i18n/persian.min.js +7 -0
  63. package/i18n/polish.js +2079 -0
  64. package/i18n/polish.js.map +1 -0
  65. package/i18n/polish.min.js +7 -0
  66. package/i18n/portuguese.js +1457 -0
  67. package/i18n/portuguese.js.map +1 -0
  68. package/i18n/portuguese.min.js +7 -0
  69. package/i18n/russian.js +1868 -0
  70. package/i18n/russian.js.map +1 -0
  71. package/i18n/russian.min.js +7 -0
  72. package/i18n/simplified-chinese.js +1948 -0
  73. package/i18n/simplified-chinese.js.map +1 -0
  74. package/i18n/simplified-chinese.min.js +7 -0
  75. package/i18n/slovak.js +1760 -0
  76. package/i18n/slovak.js.map +1 -0
  77. package/i18n/slovak.min.js +7 -0
  78. package/i18n/spanish.js +1573 -0
  79. package/i18n/spanish.js.map +1 -0
  80. package/i18n/spanish.min.js +7 -0
  81. package/i18n/swedish.js +1985 -0
  82. package/i18n/swedish.js.map +1 -0
  83. package/i18n/swedish.min.js +7 -0
  84. package/i18n/tajik.js +1037 -0
  85. package/i18n/tajik.js.map +1 -0
  86. package/i18n/tajik.min.js +7 -0
  87. package/i18n/traditional-chinese.js +2084 -0
  88. package/i18n/traditional-chinese.js.map +1 -0
  89. package/i18n/traditional-chinese.min.js +7 -0
  90. package/i18n/turkish.js +1802 -0
  91. package/i18n/turkish.js.map +1 -0
  92. package/i18n/turkish.min.js +7 -0
  93. package/package.json +2 -2
  94. package/survey-creator-core.css +10 -3
  95. package/survey-creator-core.fontless.css +9 -2
  96. package/survey-creator-core.fontless.css.map +1 -1
  97. package/survey-creator-core.fontless.min.css +2 -2
  98. package/survey-creator-core.i18n.js +2171 -99
  99. package/survey-creator-core.i18n.js.map +1 -1
  100. package/survey-creator-core.i18n.min.js +2 -2
  101. package/survey-creator-core.js +866 -485
  102. package/survey-creator-core.js.map +1 -1
  103. package/survey-creator-core.min.css +3 -3
  104. package/survey-creator-core.min.js +5 -5
  105. package/typings/components/tabs/designer-plugin.d.ts +1 -0
  106. package/typings/components/tabs/logic-actions-model.d.ts +9 -1
  107. package/typings/components/tabs/test-plugin.d.ts +2 -0
  108. package/typings/components/tabs/theme-builder.d.ts +7 -0
  109. package/typings/components/tabs/theme-plugin.d.ts +7 -0
  110. package/typings/components/tabs/themes.d.ts +1 -0
  111. package/typings/creator-base.d.ts +134 -109
  112. package/typings/creator-settings.d.ts +2 -0
  113. package/typings/custom-questions/question-file.d.ts +5 -0
  114. package/typings/editorLocalization.d.ts +20 -9
  115. package/typings/localization/english.d.ts +20 -9
  116. package/typings/plugins/undo-redo/undo-redo-manager.d.ts +3 -0
  117. package/typings/property-grid/index.d.ts +1 -5
  118. package/typings/property-grid/matrices.d.ts +4 -3
  119. package/typings/questionconverter.d.ts +4 -3
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * SurveyJS Creator v1.9.111
2
+ * SurveyJS Creator v1.9.112
3
3
  * (c) 2015-2023 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * Github: https://github.com/surveyjs/survey-creator
5
5
  * License: https://surveyjs.io/Licenses#SurveyCreator
@@ -130,7 +130,7 @@ License: MIT
130
130
  /***/ (function(module, exports, __webpack_require__) {
131
131
 
132
132
  /*!
133
- * surveyjs - Survey JavaScript library v1.9.111
133
+ * surveyjs - Survey JavaScript library v1.9.112
134
134
  * Copyright (c) 2015-2023 Devsoft Baltic OÜ - http://surveyjs.io/
135
135
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
136
136
  */
@@ -9159,12 +9159,20 @@ var TabDesignerPlugin = /** @class */ (function () {
9159
9159
  locTooltipName: "ed.saveSurveyTooltip",
9160
9160
  showTitle: false
9161
9161
  });
9162
+ this.designerAction = new survey_core__WEBPACK_IMPORTED_MODULE_1__["Action"]({
9163
+ id: "svd-designer",
9164
+ iconName: "icon-config",
9165
+ visible: this.createVisibleUpdater(),
9166
+ active: true,
9167
+ locTitleName: "ed.designer",
9168
+ showTitle: false,
9169
+ action: function () { }
9170
+ });
9162
9171
  this.previewAction = new survey_core__WEBPACK_IMPORTED_MODULE_1__["Action"]({
9163
9172
  id: "svd-preview",
9164
9173
  iconName: "icon-preview",
9165
- needSeparator: true,
9166
9174
  action: function () {
9167
- _this.creator.makeNewViewActive("test");
9175
+ _this.creator.makeNewViewActive(_this.creator.showThemeTab ? "theme" : "test");
9168
9176
  },
9169
9177
  visible: this.createVisibleUpdater(),
9170
9178
  locTitleName: "ed.testSurvey",
@@ -9191,8 +9199,9 @@ var TabDesignerPlugin = /** @class */ (function () {
9191
9199
  this.creator.sidebar.activeTab = this.propertyGridTab.id;
9192
9200
  };
9193
9201
  TabDesignerPlugin.prototype.addFooterActions = function () {
9194
- this.creator.footerToolbar.actions.push(this.surveySettingsAction);
9202
+ this.creator.footerToolbar.actions.push(this.designerAction);
9195
9203
  this.creator.footerToolbar.actions.push(this.previewAction);
9204
+ this.creator.footerToolbar.actions.push(this.surveySettingsAction);
9196
9205
  };
9197
9206
  return TabDesignerPlugin;
9198
9207
  }());
@@ -9914,13 +9923,14 @@ var TabJsonEditorTextareaPlugin = /** @class */ (function (_super) {
9914
9923
  /*!****************************************************!*\
9915
9924
  !*** ./src/components/tabs/logic-actions-model.ts ***!
9916
9925
  \****************************************************/
9917
- /*! exports provided: LogicActionModelBase, LogicActionModel, LogicActionTriggerModel */
9926
+ /*! exports provided: LogicActionModelBase, LogicActionModel, LogicActionSetValueModel, LogicActionTriggerModel */
9918
9927
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
9919
9928
 
9920
9929
  "use strict";
9921
9930
  __webpack_require__.r(__webpack_exports__);
9922
9931
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "LogicActionModelBase", function() { return LogicActionModelBase; });
9923
9932
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "LogicActionModel", function() { return LogicActionModel; });
9933
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "LogicActionSetValueModel", function() { return LogicActionSetValueModel; });
9924
9934
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "LogicActionTriggerModel", function() { return LogicActionTriggerModel; });
9925
9935
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./src/entries/helpers.ts");
9926
9936
  /* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! survey-core */ "survey-core");
@@ -9941,6 +9951,8 @@ var LogicActionModelBase = /** @class */ (function () {
9941
9951
  }
9942
9952
  LogicActionModelBase.createActionModel = function (panel, logicAction, logicType, selectorElementsHash) {
9943
9953
  if (!!logicType && logicType.hasSelectorChoices) {
9954
+ if (logicType.name.indexOf("_setValue") > -1)
9955
+ return new LogicActionSetValueModel(panel, logicAction, logicType, selectorElementsHash);
9944
9956
  return new LogicActionModel(panel, logicAction, logicType, selectorElementsHash);
9945
9957
  }
9946
9958
  else {
@@ -10014,6 +10026,39 @@ var LogicActionModel = /** @class */ (function (_super) {
10014
10026
  return LogicActionModel;
10015
10027
  }(LogicActionModelBase));
10016
10028
 
10029
+ var LogicActionSetValueModel = /** @class */ (function (_super) {
10030
+ Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(LogicActionSetValueModel, _super);
10031
+ function LogicActionSetValueModel() {
10032
+ return _super !== null && _super.apply(this, arguments) || this;
10033
+ }
10034
+ LogicActionSetValueModel.prototype.updatePanelElements = function (selectedElement, choices) {
10035
+ _super.prototype.updatePanelElements.call(this, selectedElement, choices);
10036
+ this.getValueIfQuestion().placeholder = _editorLocalization__WEBPACK_IMPORTED_MODULE_2__["editorLocalization"].getString("ed.lg.setValueExpressionPlaceholder");
10037
+ this.getValueIfPanel().visible = true;
10038
+ this.setValueExpressionValue();
10039
+ };
10040
+ LogicActionSetValueModel.prototype.afterUpdateInitialLogicAction = function () {
10041
+ var selectedElement = this.getElementBySelectorName(this.panel);
10042
+ if (!!selectedElement) {
10043
+ selectedElement.setValueExpression = this.panel.getQuestionByName("setValueExpression").value;
10044
+ }
10045
+ };
10046
+ LogicActionSetValueModel.prototype.setValueExpressionValue = function () {
10047
+ var selectedElement = this.getElementBySelectorName(this.panel);
10048
+ if (!!selectedElement) {
10049
+ this.getValueIfQuestion().value = selectedElement.setValueExpression;
10050
+ }
10051
+ };
10052
+ LogicActionSetValueModel.prototype.getValueIfPanel = function () { return this.panel.getElementByName("setValueIfPanel"); };
10053
+ LogicActionSetValueModel.prototype.getValueIfQuestion = function () { return this.panel.getQuestionByName("setValueExpression"); };
10054
+ LogicActionSetValueModel.prototype.resetElements = function () {
10055
+ _super.prototype.resetElements.call(this);
10056
+ this.getValueIfPanel().visible = false;
10057
+ this.getValueIfQuestion().clearValue();
10058
+ };
10059
+ return LogicActionSetValueModel;
10060
+ }(LogicActionModel));
10061
+
10017
10062
  var LogicActionTriggerModel = /** @class */ (function (_super) {
10018
10063
  Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(LogicActionTriggerModel, _super);
10019
10064
  function LogicActionTriggerModel(panel, logicAction, logicType) {
@@ -10370,6 +10415,8 @@ __webpack_require__.r(__webpack_exports__);
10370
10415
  /* harmony import */ var _logic_theme__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./logic-theme */ "./src/components/tabs/logic-theme.ts");
10371
10416
  /* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../utils/utils */ "./src/utils/utils.ts");
10372
10417
  /* harmony import */ var _logic_actions_model__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./logic-actions-model */ "./src/components/tabs/logic-actions-model.ts");
10418
+ /* harmony import */ var _property_grid_theme_property_grid__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../property-grid-theme/property-grid */ "./src/property-grid-theme/property-grid.ts");
10419
+
10373
10420
 
10374
10421
 
10375
10422
 
@@ -10581,6 +10628,16 @@ var LogicItemEditor = /** @class */ (function (_super) {
10581
10628
  type: "panel",
10582
10629
  visible: false
10583
10630
  },
10631
+ {
10632
+ name: "setValueIfPanel",
10633
+ visible: false,
10634
+ type: "panel",
10635
+ elements: [{
10636
+ name: "setValueExpression",
10637
+ type: "comment",
10638
+ titleLocation: "hidden"
10639
+ }]
10640
+ }
10584
10641
  ]
10585
10642
  }
10586
10643
  ]
@@ -10627,28 +10684,38 @@ var LogicItemEditor = /** @class */ (function (_super) {
10627
10684
  cssClasses.error.root = "svc-logic-operator__error";
10628
10685
  cssClasses.onError = "svc-logic-operator--error";
10629
10686
  }
10630
- if (question.name === "elementSelector" || question.name === "setToName" || question.name === "fromName" || question.name === "gotoName") {
10687
+ var selectorsNames = ["elementSelector", "setToName", "fromName", "gotoName"];
10688
+ if (selectorsNames.indexOf(question.name) > -1) {
10631
10689
  question.allowRootStyle = false;
10690
+ if (question.name === "setToName" || question.name === "fromName") {
10691
+ question.titleLocation = "left";
10692
+ question.startWithNewLine = false;
10693
+ }
10632
10694
  cssClasses.control += " svc-logic-operator svc-logic-operator--question";
10633
10695
  cssClasses.error.root = "svc-logic-operator__error";
10634
10696
  cssClasses.onError = "svc-logic-operator--error";
10635
10697
  }
10636
- if (question.name === "setToName" || question.name === "fromName") {
10637
- question.allowRootStyle = false;
10638
- question.titleLocation = "left";
10639
- question.startWithNewLine = false;
10640
- cssClasses.error.root = "svc-logic-operator__error";
10641
- cssClasses.onError = "svc-logic-operator--error";
10642
- }
10643
10698
  if (question.name === "setValue" || question.isContentElement) {
10644
10699
  Object(_utils_utils__WEBPACK_IMPORTED_MODULE_8__["assignDefaultV2Classes"])(cssClasses, question.getType());
10645
10700
  cssClasses.mainRoot += " svc-logic-question-value sd-element--with-frame";
10646
10701
  }
10702
+ var parentName = question.parent.name;
10703
+ if (selectorsNames.indexOf(question.name) < 0 && (parentName === "triggerEditorPanel" || parentName === "setValueIfPanel")) {
10704
+ var qType = question.getType();
10705
+ Object(_utils_utils__WEBPACK_IMPORTED_MODULE_8__["assignDefaultV2Classes"])(cssClasses, qType);
10706
+ if (!survey_core__WEBPACK_IMPORTED_MODULE_1__["defaultV2Css"][qType]) {
10707
+ Object(_utils_utils__WEBPACK_IMPORTED_MODULE_8__["copyCssClasses"])(cssClasses, _property_grid_theme_property_grid__WEBPACK_IMPORTED_MODULE_10__["propertyGridCss"].question);
10708
+ Object(_utils_utils__WEBPACK_IMPORTED_MODULE_8__["copyCssClasses"])(cssClasses, _property_grid_theme_property_grid__WEBPACK_IMPORTED_MODULE_10__["propertyGridCss"][qType]);
10709
+ }
10710
+ var els = question.parent.elements.filter(function (el) { return selectorsNames.indexOf(el.name) < 0 && el.name !== "expression"; });
10711
+ if ((question.name !== "runExpression" && qType !== "comment") || (Array.isArray(els) && els.length > 1)) {
10712
+ cssClasses.mainRoot += " svc-logic-question-value sd-element--with-frame";
10713
+ }
10714
+ }
10647
10715
  if (question.name === "removeAction") {
10648
10716
  question.allowRootStyle = false;
10649
10717
  cssClasses.mainRoot += " svc-logic-condition-remove-question";
10650
10718
  }
10651
- // cssClasses.mainRoot = "sd-question sd-row__question";
10652
10719
  if (question.name === "panel") {
10653
10720
  cssClasses.root += " svc-logic-paneldynamic";
10654
10721
  cssClasses.buttonAdd += " svc-logic-operator--action ";
@@ -10659,10 +10726,11 @@ var LogicItemEditor = /** @class */ (function (_super) {
10659
10726
  }
10660
10727
  };
10661
10728
  LogicItemEditor.prototype.onUpdatePanelCssClasses = function (options) {
10662
- if (options.panel.name === "triggerEditorPanel") {
10729
+ var name = options.panel.name;
10730
+ if (name === "triggerEditorPanel" || name === "setValueIfPanel") {
10663
10731
  options.cssClasses.panel.container += " svc-logic_trigger-editor";
10664
10732
  }
10665
- if (options.panel.name === "triggerQuestionsPanel") {
10733
+ if (name === "triggerQuestionsPanel") {
10666
10734
  options.panel.allowRootStyle = false;
10667
10735
  options.cssClasses.panel.container += " svc-logic_trigger-questions";
10668
10736
  }
@@ -12395,6 +12463,20 @@ var SurveyLogicTypes = /** @class */ (function () {
12395
12463
  baseClass: "question",
12396
12464
  propertyName: "resetValueIf",
12397
12465
  },
12466
+ {
12467
+ name: "question_setValue",
12468
+ baseClass: "question",
12469
+ propertyName: "setValueIf",
12470
+ getDisplayText: function (element, formatStr, lt) {
12471
+ return getDisplayTextForSetValueIf(element, formatStr, lt);
12472
+ }
12473
+ },
12474
+ {
12475
+ name: "question_setValueExpression",
12476
+ baseClass: "question",
12477
+ propertyName: "setValueExpression",
12478
+ showInUI: false,
12479
+ },
12398
12480
  {
12399
12481
  name: "column_visibility",
12400
12482
  baseClass: "matrixdropdowncolumn",
@@ -12415,6 +12497,20 @@ var SurveyLogicTypes = /** @class */ (function () {
12415
12497
  baseClass: "matrixdropdowncolumn",
12416
12498
  propertyName: "resetValueIf",
12417
12499
  },
12500
+ {
12501
+ name: "column_setValue",
12502
+ baseClass: "matrixdropdowncolumn",
12503
+ propertyName: "setValueIf",
12504
+ getDisplayText: function (element, formatStr, lt) {
12505
+ return getDisplayTextForSetValueIf(element, formatStr, lt);
12506
+ }
12507
+ },
12508
+ {
12509
+ name: "column_setValueExpression",
12510
+ baseClass: "matrixdropdowncolumn",
12511
+ propertyName: "setValueExpression",
12512
+ showInUI: false,
12513
+ },
12418
12514
  {
12419
12515
  name: "expression_expression",
12420
12516
  baseClass: "expression",
@@ -12556,6 +12652,14 @@ var SurveyLogicTypes = /** @class */ (function () {
12556
12652
  return SurveyLogicTypes;
12557
12653
  }());
12558
12654
 
12655
+ function getDisplayTextForSetValueIf(element, formatStr, lt) {
12656
+ var name = lt.formatElName(element["name"]);
12657
+ var exp = element["setValueExpression"];
12658
+ if (!exp) {
12659
+ return getLogicString("trigger_setvalueEmptyText")["format"](name);
12660
+ }
12661
+ return formatStr["format"](name, exp);
12662
+ }
12559
12663
 
12560
12664
 
12561
12665
  /***/ }),
@@ -13751,6 +13855,10 @@ var TabTestPlugin = /** @class */ (function () {
13751
13855
  TabTestPlugin.prototype.setPreviewTheme = function (themeName) {
13752
13856
  this.simulatorTheme = survey_core__WEBPACK_IMPORTED_MODULE_1__["surveyCss"][themeName] || survey_core__WEBPACK_IMPORTED_MODULE_1__["surveyCss"][survey_core__WEBPACK_IMPORTED_MODULE_1__["defaultV2ThemeName"]];
13753
13857
  };
13858
+ TabTestPlugin.prototype.createVisibleUpdater = function () {
13859
+ var _this = this;
13860
+ return new survey_core__WEBPACK_IMPORTED_MODULE_1__["ComputedUpdater"](function () { return _this.creator.activeTab === "test"; });
13861
+ };
13754
13862
  TabTestPlugin.prototype.activate = function () {
13755
13863
  var _this = this;
13756
13864
  this.model = new _test__WEBPACK_IMPORTED_MODULE_4__["TestSurveyTabViewModel"](this.creator, this.simulatorTheme);
@@ -13928,18 +14036,26 @@ var TabTestPlugin = /** @class */ (function () {
13928
14036
  this.designerAction = new survey_core__WEBPACK_IMPORTED_MODULE_1__["Action"]({
13929
14037
  id: "svd-designer",
13930
14038
  iconName: "icon-config",
13931
- needSeparator: true,
13932
14039
  action: function () { _this.creator.makeNewViewActive("designer"); },
13933
- // active: <any>new ComputedUpdater<boolean>(() => this.creator.activeTab === "test"),
13934
- visible: new survey_core__WEBPACK_IMPORTED_MODULE_1__["ComputedUpdater"](function () {
13935
- return (_this.creator.activeTab === "test");
13936
- }),
14040
+ visible: this.createVisibleUpdater(),
13937
14041
  locTitleName: "ed.designer",
13938
14042
  showTitle: false
13939
14043
  });
14044
+ this.previewAction = new survey_core__WEBPACK_IMPORTED_MODULE_1__["Action"]({
14045
+ id: "svd-preview",
14046
+ iconName: "icon-preview",
14047
+ active: true,
14048
+ visible: this.createVisibleUpdater(),
14049
+ locTitleName: "ed.testSurvey",
14050
+ showTitle: false,
14051
+ action: function () { }
14052
+ });
13940
14053
  this.prevPageAction = new survey_core__WEBPACK_IMPORTED_MODULE_1__["Action"]({
13941
14054
  id: "prevPage",
13942
14055
  iconName: "icon-arrow-left_16x16",
14056
+ needSeparator: new survey_core__WEBPACK_IMPORTED_MODULE_1__["ComputedUpdater"](function () {
14057
+ return _this.creator.isMobileView;
14058
+ }),
13943
14059
  visible: false
13944
14060
  });
13945
14061
  this.nextPageAction = new survey_core__WEBPACK_IMPORTED_MODULE_1__["Action"]({
@@ -13950,12 +14066,12 @@ var TabTestPlugin = /** @class */ (function () {
13950
14066
  return items;
13951
14067
  };
13952
14068
  TabTestPlugin.prototype.addFooterActions = function () {
13953
- this.creator.footerToolbar.actions.push(this.testAgainAction);
13954
- this.invisibleToggleAction && (this.creator.footerToolbar.actions.push(this.invisibleToggleAction));
13955
- this.languageSelectorAction && (this.creator.footerToolbar.actions.push(this.languageSelectorAction));
14069
+ this.creator.footerToolbar.actions.push(this.designerAction);
14070
+ this.creator.footerToolbar.actions.push(this.previewAction);
13956
14071
  this.creator.footerToolbar.actions.push(this.prevPageAction);
13957
14072
  this.creator.footerToolbar.actions.push(this.nextPageAction);
13958
- this.creator.footerToolbar.actions.push(this.designerAction);
14073
+ this.invisibleToggleAction && (this.creator.footerToolbar.actions.push(this.invisibleToggleAction));
14074
+ // this.languageSelectorAction && (this.creator.footerToolbar.actions.push(this.languageSelectorAction));
13959
14075
  };
13960
14076
  return TabTestPlugin;
13961
14077
  }());
@@ -14046,12 +14162,8 @@ var TestSurveyTabViewModel = /** @class */ (function (_super) {
14046
14162
  TestSurveyTabViewModel.prototype.updateSimulatorSurvey = function (json, theme) {
14047
14163
  var _this = this;
14048
14164
  var newSurvey = this.surveyProvider.createSurvey(json || {}, "test", this);
14049
- if (this.surveyProvider.showThemeTab) {
14050
- newSurvey.applyTheme(this.surveyProvider.theme);
14051
- }
14052
- else {
14053
- newSurvey.setCss(theme, false);
14054
- }
14165
+ newSurvey.applyTheme(this.surveyProvider.theme);
14166
+ newSurvey.setCss(theme, false);
14055
14167
  newSurvey.fitToContainer = true;
14056
14168
  newSurvey.addLayoutElement({
14057
14169
  id: "complete-customization",
@@ -14415,6 +14527,9 @@ var ThemeBuilder = /** @class */ (function (_super) {
14415
14527
  _this.themeEditorSurveyValue = _this.createThemeEditorSurvey();
14416
14528
  _this.loadTheme(_this.surveyProvider.theme);
14417
14529
  _this.undoRedoManager = new _plugins_undo_redo_undo_redo_manager__WEBPACK_IMPORTED_MODULE_10__["UndoRedoManager"]();
14530
+ _this.surveyProvider.onPropertyChanged.add(function (sender, options) {
14531
+ _this.creatorPropertyChanged(sender, options);
14532
+ });
14418
14533
  return _this;
14419
14534
  }
14420
14535
  Object.defineProperty(ThemeBuilder.prototype, "themeCssCustomizations", {
@@ -14461,7 +14576,8 @@ var ThemeBuilder = /** @class */ (function (_super) {
14461
14576
  });
14462
14577
  Object.defineProperty(ThemeBuilder.prototype, "isPageToolbarVisible", {
14463
14578
  get: function () {
14464
- return this.pages.visibleActions.length > 0 && !this.surveyProvider.isMobileView;
14579
+ // return this.pages.visibleActions.length > 0 && !this.surveyProvider.isMobileView;
14580
+ return false;
14465
14581
  },
14466
14582
  enumerable: false,
14467
14583
  configurable: true
@@ -14502,7 +14618,7 @@ var ThemeBuilder = /** @class */ (function (_super) {
14502
14618
  Object(_utils_utils__WEBPACK_IMPORTED_MODULE_6__["assign"])(effectiveThemeCssVariables, _themes__WEBPACK_IMPORTED_MODULE_11__["Themes"]["default-light"].cssVariables || {}, this.findSuitableTheme(this.themeName).cssVariables || {});
14503
14619
  Object(_utils_utils__WEBPACK_IMPORTED_MODULE_6__["assign"])(effectiveThemeCssVariables, theme.cssVariables || {}, this.themeCssVariablesChanges);
14504
14620
  var effectiveTheme = {};
14505
- Object(_utils_utils__WEBPACK_IMPORTED_MODULE_6__["assign"])(effectiveTheme, theme, { cssVariables: effectiveThemeCssVariables });
14621
+ Object(_utils_utils__WEBPACK_IMPORTED_MODULE_6__["assign"])(effectiveTheme, theme, { cssVariables: effectiveThemeCssVariables, themeName: this.themeName, colorPalette: this.themePalette, isPanelless: this.themeMode === "lightweight" });
14506
14622
  this.surveyProvider.theme = effectiveTheme;
14507
14623
  this.initializeColorCalculator();
14508
14624
  this.loadThemeIntoPropertyGrid();
@@ -14530,6 +14646,7 @@ var ThemeBuilder = /** @class */ (function (_super) {
14530
14646
  this.setTheme(theme);
14531
14647
  };
14532
14648
  ThemeBuilder.prototype.updateSimulatorSurvey = function (json, theme) {
14649
+ var _this = this;
14533
14650
  var newSurvey = this.surveyProvider.createSurvey(json || {}, "theme", this);
14534
14651
  newSurvey.setCss(theme, false);
14535
14652
  newSurvey.fitToContainer = true;
@@ -14572,6 +14689,7 @@ var ThemeBuilder = /** @class */ (function (_super) {
14572
14689
  });
14573
14690
  this.survey.onPageVisibleChanged.add(function (sender, options) {
14574
14691
  self.updatePageItem(options.page);
14692
+ _this.updatePrevNextPageActionState();
14575
14693
  });
14576
14694
  };
14577
14695
  ThemeBuilder.prototype.setJSON = function (json, currTheme) {
@@ -14583,6 +14701,11 @@ var ThemeBuilder = /** @class */ (function (_super) {
14583
14701
  }
14584
14702
  this.updateSimulatorSurvey(json, currTheme);
14585
14703
  };
14704
+ ThemeBuilder.prototype.creatorPropertyChanged = function (sender, options) {
14705
+ if (options.name === "isMobileView") {
14706
+ this.updateVisibilityOfPropertyGridGroups();
14707
+ }
14708
+ };
14586
14709
  ThemeBuilder.prototype.initialize = function (json, options) {
14587
14710
  this.blockChanges = true;
14588
14711
  try {
@@ -14590,6 +14713,7 @@ var ThemeBuilder = /** @class */ (function (_super) {
14590
14713
  this.updatePageList();
14591
14714
  this.updatePropertyGridEditors(this.themeEditorSurvey);
14592
14715
  this.updatePropertyGridEditorsAvailability();
14716
+ this.buildActions();
14593
14717
  if (options.showPagesInTestSurveyTab !== undefined) {
14594
14718
  this.showPagesInTestSurveyTab = options.showPagesInTestSurveyTab;
14595
14719
  }
@@ -14646,6 +14770,66 @@ var ThemeBuilder = /** @class */ (function (_super) {
14646
14770
  this.updatePropertyGridEditors(this.themeEditorSurvey);
14647
14771
  this.show();
14648
14772
  };
14773
+ ThemeBuilder.prototype.buildActions = function () {
14774
+ var _this = this;
14775
+ var pageActions = [];
14776
+ var setNearPage = function (isNext) {
14777
+ var currentIndex = _this.survey.currentPageNo;
14778
+ var shift = isNext ? 1 : -1;
14779
+ var newIndex = currentIndex + shift;
14780
+ if (_this.survey.state === "starting" && isNext) {
14781
+ newIndex = 0;
14782
+ }
14783
+ var nearPage = _this.survey.visiblePages[newIndex];
14784
+ if (!isNext && currentIndex === 0 && _this.survey.firstPageIsStarted
14785
+ && _this.survey.pages.length > 0) {
14786
+ nearPage = _this.survey.pages[0];
14787
+ }
14788
+ var pageIndex = _this.survey.pages.indexOf(nearPage);
14789
+ _this.activePage = _this.survey.pages[pageIndex];
14790
+ };
14791
+ if (this.prevPageAction) {
14792
+ this.prevPageAction.visible = new survey_core__WEBPACK_IMPORTED_MODULE_2__["ComputedUpdater"](function () {
14793
+ var isRunning = _this.survey.state === "running";
14794
+ var isActiveTab = _this.surveyProvider.activeTab === "theme";
14795
+ return _this.surveyProvider.isMobileView && Object(_utils_utils__WEBPACK_IMPORTED_MODULE_6__["notShortCircuitAnd"])(_this.isRunning, isActiveTab, _this.pageListItems.length > 1) && isRunning;
14796
+ });
14797
+ this.prevPageAction.iconName = new survey_core__WEBPACK_IMPORTED_MODULE_2__["ComputedUpdater"](function () {
14798
+ return _this.surveyProvider.isMobileView ? "icon-arrow-left" : "icon-arrow-left_16x16";
14799
+ });
14800
+ this.prevPageAction.iconSize = new survey_core__WEBPACK_IMPORTED_MODULE_2__["ComputedUpdater"](function () {
14801
+ return _this.surveyProvider.isMobileView ? 24 : 16;
14802
+ });
14803
+ this.prevPageAction.action = function () { return setNearPage(false); };
14804
+ pageActions.push(this.prevPageAction);
14805
+ }
14806
+ if (this.nextPageAction) {
14807
+ this.nextPageAction.visible = new survey_core__WEBPACK_IMPORTED_MODULE_2__["ComputedUpdater"](function () {
14808
+ var isRunning = _this.survey.state === "running";
14809
+ var isActiveTab = _this.surveyProvider.activeTab === "theme";
14810
+ return _this.surveyProvider.isMobileView && Object(_utils_utils__WEBPACK_IMPORTED_MODULE_6__["notShortCircuitAnd"])(_this.isRunning, isActiveTab, _this.pageListItems.length > 1) && isRunning;
14811
+ });
14812
+ this.nextPageAction.iconName = new survey_core__WEBPACK_IMPORTED_MODULE_2__["ComputedUpdater"](function () {
14813
+ return _this.surveyProvider.isMobileView ? "icon-arrow-right" : "icon-arrow-right_16x16";
14814
+ });
14815
+ this.nextPageAction.iconSize = new survey_core__WEBPACK_IMPORTED_MODULE_2__["ComputedUpdater"](function () {
14816
+ return _this.surveyProvider.isMobileView ? 24 : 16;
14817
+ });
14818
+ this.nextPageAction.action = function () { return setNearPage(true); };
14819
+ pageActions.push(this.nextPageAction);
14820
+ }
14821
+ this.pages.actions = pageActions;
14822
+ this.pages.containerCss = "sv-action-bar--pages";
14823
+ this.updatePrevNextPageActionState();
14824
+ };
14825
+ ThemeBuilder.prototype.updatePrevNextPageActionState = function () {
14826
+ if (!this.prevPageAction || !this.survey)
14827
+ return;
14828
+ var isPrevEnabled = this.survey.firstPageIsStarted && this.survey.state !== "starting" || (!this.survey.firstPageIsStarted && !this.survey.isFirstPage);
14829
+ this.prevPageAction.enabled = isPrevEnabled;
14830
+ var isNextEnabled = this.survey && this.survey.visiblePages.indexOf(this.activePage) !== this.survey.visiblePages.length - 1;
14831
+ this.nextPageAction.enabled = isNextEnabled;
14832
+ };
14649
14833
  Object.defineProperty(ThemeBuilder.prototype, "availableThemes", {
14650
14834
  get: function () {
14651
14835
  return [].concat(this._availableThemes);
@@ -14716,14 +14900,14 @@ var ThemeBuilder = /** @class */ (function (_super) {
14716
14900
  };
14717
14901
  ThemeBuilder.prototype.headerViewContainerPropertiesChanged = function (options) {
14718
14902
  var headerSettings = options.value[0];
14719
- this.survey.titleView = headerSettings["headerView"];
14720
- this.surveyProvider.survey.titleView = headerSettings["headerView"];
14721
- if (headerSettings["headerView"] === "title") {
14903
+ this.survey.headerView = headerSettings["headerView"];
14904
+ this.surveyProvider.survey.headerView = headerSettings["headerView"];
14905
+ if (headerSettings["headerView"] === "basic") {
14722
14906
  this.survey.logoPosition = headerSettings["logoPosition"];
14723
14907
  this.surveyProvider.survey.logoPosition = headerSettings["logoPosition"];
14724
14908
  }
14725
14909
  else {
14726
- this.currentTheme.cover = this.getCoverJson(headerSettings);
14910
+ this.currentTheme.header = this.getCoverJson(headerSettings);
14727
14911
  this.setCoverCssVariables(headerSettings);
14728
14912
  }
14729
14913
  this.updateSimulatorTheme();
@@ -14843,21 +15027,7 @@ var ThemeBuilder = /** @class */ (function (_super) {
14843
15027
  };
14844
15028
  ThemeBuilder.prototype.findSuitableTheme = function (themeName) {
14845
15029
  var probeThemeFullName = Object(_themes__WEBPACK_IMPORTED_MODULE_11__["getThemeFullName"])({ themeName: themeName, colorPalette: this.themePalette, isPanelless: this.themeMode === "lightweight" });
14846
- var suitableTheme = _themes__WEBPACK_IMPORTED_MODULE_11__["Themes"][probeThemeFullName];
14847
- if (!!suitableTheme) {
14848
- return suitableTheme;
14849
- }
14850
- var appropriateThemeNames = Object.keys(_themes__WEBPACK_IMPORTED_MODULE_11__["Themes"]).filter(function (fullName) { return fullName.indexOf(themeName) === 0; });
14851
- for (var _i = 0, appropriateThemeNames_1 = appropriateThemeNames; _i < appropriateThemeNames_1.length; _i++) {
14852
- var fullThemeName = appropriateThemeNames_1[_i];
14853
- if (fullThemeName.indexOf(themeName + "-" + this.themePalette) === 0) {
14854
- probeThemeFullName = themeName + "-" + this.themePalette;
14855
- }
14856
- if (fullThemeName.indexOf(themeName + "-" + this.themePalette + (this.themeMode === "lightweight" ? "-panelless" : "")) === 0) {
14857
- probeThemeFullName = themeName + "-" + this.themePalette + (this.themeMode === "lightweight" ? "-panelless" : "");
14858
- }
14859
- }
14860
- return _themes__WEBPACK_IMPORTED_MODULE_11__["Themes"][probeThemeFullName] || _themes__WEBPACK_IMPORTED_MODULE_11__["Themes"][appropriateThemeNames[0]];
15030
+ return Object(_themes__WEBPACK_IMPORTED_MODULE_11__["findSuitableTheme"])(themeName, probeThemeFullName);
14861
15031
  };
14862
15032
  ThemeBuilder.prototype.getCoverJson = function (headerSettings) {
14863
15033
  var result = {};
@@ -14881,6 +15051,9 @@ var ThemeBuilder = /** @class */ (function (_super) {
14881
15051
  if (!!headerSettings["titleForecolor"]) {
14882
15052
  this.themeCssVariablesChanges["--sjs-cover-title-forecolor"] = headerSettings.titleForecolor;
14883
15053
  }
15054
+ if (!!headerSettings["descriptionForecolor"]) {
15055
+ this.themeCssVariablesChanges["--sjs-cover-description-forecolor"] = headerSettings.descriptionForecolor;
15056
+ }
14884
15057
  };
14885
15058
  ThemeBuilder.prototype.loadThemeIntoPropertyGrid = function () {
14886
15059
  this.blockChanges = true;
@@ -14904,42 +15077,51 @@ var ThemeBuilder = /** @class */ (function (_super) {
14904
15077
  return "accentColor";
14905
15078
  return "custom";
14906
15079
  };
15080
+ ThemeBuilder.prototype.updateVisibilityOfPropertyGridGroups = function () {
15081
+ var page = this.themeEditorSurvey.pages[0];
15082
+ page.getElementByName("groupHeader").visible = this.surveyProvider.isMobileView ? false : _creator_settings__WEBPACK_IMPORTED_MODULE_7__["settings"].theme.allowEditHeaderSettings;
15083
+ page.getElementByName("groupAdvanced").visible = !this.surveyProvider.isMobileView;
15084
+ };
15085
+ ThemeBuilder.prototype.setCoverPropertiesFromSurvey = function (panel) {
15086
+ panel.getQuestionByName("headerView").value = this.survey.headerView;
15087
+ panel.getQuestionByName("logoPosition").value = this.survey.logoPosition;
15088
+ panel.getQuestionByName("logoPositionX").readOnly = !this.survey.logo;
15089
+ panel.getQuestionByName("logoPositionY").readOnly = !this.survey.logo;
15090
+ panel.getQuestionByName("logoPosition").readOnly = !this.survey.logo;
15091
+ panel.getQuestionByName("titlePositionX").readOnly = !this.survey.title;
15092
+ panel.getQuestionByName("titlePositionY").readOnly = !this.survey.title;
15093
+ panel.getQuestionByName("descriptionPositionX").readOnly = !this.survey.description;
15094
+ panel.getQuestionByName("descriptionPositionY").readOnly = !this.survey.description;
15095
+ };
15096
+ ThemeBuilder.prototype.setCoverColorsFromThemeVariables = function (question, cssVariable) {
15097
+ if (!!question && !!cssVariable) {
15098
+ question.value = cssVariable;
15099
+ }
15100
+ };
14907
15101
  ThemeBuilder.prototype.updateHeaderViewContainerEditors = function (themeCssVariables) {
14908
15102
  var _this = this;
15103
+ this.updateVisibilityOfPropertyGridGroups();
14909
15104
  var headerViewContainerQuestion = this.themeEditorSurvey.getQuestionByName("headerViewContainer");
14910
- headerViewContainerQuestion.visible = _creator_settings__WEBPACK_IMPORTED_MODULE_7__["settings"].theme.allowEditHeaderSettings;
14911
15105
  var panel = headerViewContainerQuestion.panels[0];
14912
15106
  panel.getQuestionByName("backgroundColor").choices = this.getPredefinedColorsItemValues();
14913
15107
  if (!!this.survey) {
14914
- panel.getQuestionByName("headerView").value = this.survey.titleView;
14915
- panel.getQuestionByName("logoPosition").value = this.survey.logoPosition;
14916
- panel.getQuestionByName("logoPositionX").readOnly = !this.survey.logo;
14917
- panel.getQuestionByName("logoPositionY").readOnly = !this.survey.logo;
14918
- panel.getQuestionByName("logoPosition").readOnly = !this.survey.logo;
14919
- panel.getQuestionByName("titlePositionX").readOnly = !this.survey.title;
14920
- panel.getQuestionByName("titlePositionY").readOnly = !this.survey.title;
14921
- panel.getQuestionByName("descriptionPositionX").readOnly = !this.survey.description;
14922
- panel.getQuestionByName("descriptionPositionY").readOnly = !this.survey.description;
14923
- }
14924
- if (!!this.currentTheme.cover) {
14925
- Object.keys(this.currentTheme.cover).forEach(function (key) {
15108
+ this.setCoverPropertiesFromSurvey(panel);
15109
+ }
15110
+ if (!!this.currentTheme.header) {
15111
+ Object.keys(this.currentTheme.header).forEach(function (key) {
14926
15112
  var question = panel.getQuestionByName(key);
14927
15113
  if (!!question && key === "backgroundImageOpacity") {
14928
- question.value = _this.currentTheme.cover[key] * 100;
15114
+ question.value = _this.currentTheme.header[key] * 100;
14929
15115
  }
14930
15116
  else if (question) {
14931
- question.value = _this.currentTheme.cover[key];
15117
+ question.value = _this.currentTheme.header[key];
14932
15118
  }
14933
15119
  });
14934
- var titleForecolorQuestion = panel.getQuestionByName("titleForecolor");
14935
- var titleForecolorValue = themeCssVariables["--sjs-cover-title-forecolor"] || themeCssVariables["--sjs-general-dim-forecolor"];
14936
- if (!!titleForecolorQuestion && !!titleForecolorValue) {
14937
- titleForecolorQuestion.value = titleForecolorValue;
14938
- }
14939
- var backgroundColorQuestion = panel.getQuestionByName("backgroundColor");
15120
+ this.setCoverColorsFromThemeVariables(panel.getQuestionByName("titleForecolor"), themeCssVariables["--sjs-cover-title-forecolor"] || themeCssVariables["--sjs-general-dim-forecolor"]);
15121
+ this.setCoverColorsFromThemeVariables(panel.getQuestionByName("descriptionForecolor"), themeCssVariables["--sjs-cover-description-forecolor"] || themeCssVariables["--sjs-general-dim-forecolor-light"]);
15122
+ this.setCoverColorsFromThemeVariables(panel.getQuestionByName("backgroundColor"), themeCssVariables["--sjs-cover-backcolor"]);
14940
15123
  var backgroundColorValue = themeCssVariables["--sjs-cover-backcolor"];
14941
- if (!!backgroundColorQuestion && !!backgroundColorValue) {
14942
- backgroundColorQuestion.value = backgroundColorValue;
15124
+ if (!!backgroundColorValue) {
14943
15125
  panel.getQuestionByName("backgroundColorSwitch").value = this.getBackgroundColorSwitchByValue(backgroundColorValue);
14944
15126
  }
14945
15127
  }
@@ -15018,6 +15200,7 @@ var ThemeBuilder = /** @class */ (function (_super) {
15018
15200
  questionErrorLocation: "bottom",
15019
15201
  elements: [{
15020
15202
  type: "panel",
15203
+ name: "groupGeneral",
15021
15204
  state: "expanded",
15022
15205
  title: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.groupGeneral"),
15023
15206
  elements: [
@@ -15054,147 +15237,11 @@ var ThemeBuilder = /** @class */ (function (_super) {
15054
15237
  defaultValue: "panels"
15055
15238
  }
15056
15239
  ]
15057
- },
15058
- {
15059
- type: "panel",
15060
- elements: [
15061
- {
15062
- type: "color",
15063
- name: "generalPrimaryColor",
15064
- title: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.primaryColor"),
15065
- descriptionLocation: "hidden",
15066
- },
15067
- {
15068
- type: "color",
15069
- name: "generalBackcolorDimColor",
15070
- title: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.backgroundDimColor"),
15071
- descriptionLocation: "hidden",
15072
- },
15073
- {
15074
- type: "panel",
15075
- name: "background",
15076
- title: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.backgroundImage"),
15077
- elements: [
15078
- {
15079
- type: "fileedit",
15080
- storeDataAsText: false,
15081
- name: "backgroundImage",
15082
- titleLocation: "hidden",
15083
- maxSize: this.surveyProvider.onUploadFile.isEmpty ? 65536 : undefined,
15084
- acceptedTypes: "image/*",
15085
- placeholder: "Browse..."
15086
- },
15087
- {
15088
- type: "buttongroup",
15089
- name: "backgroundImageFit",
15090
- enableIf: "{backgroundImage} notempty",
15091
- titleLocation: "hidden",
15092
- choices: [
15093
- { value: "auto", text: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.backgroundImageFitAuto") },
15094
- { value: "contain", text: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.backgroundImageFitContain") },
15095
- { value: "cover", text: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.backgroundImageFitCover") }
15096
- ],
15097
- defaultValue: "cover"
15098
- },
15099
- {
15100
- type: "buttongroup",
15101
- name: "backgroundImageAttachment",
15102
- enableIf: "{backgroundImage} notempty",
15103
- titleLocation: "hidden",
15104
- choices: [
15105
- { value: "fixed", text: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.backgroundImageAttachmentFixed") },
15106
- { value: "scroll", text: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.backgroundImageAttachmentScroll") }
15107
- ],
15108
- defaultValue: "scroll"
15109
- },
15110
- {
15111
- type: "spinedit",
15112
- name: "backgroundOpacity",
15113
- enableIf: "{backgroundImage} notempty",
15114
- titleLocation: "left",
15115
- title: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.backgroundOpacity"),
15116
- descriptionLocation: "hidden",
15117
- unit: "%",
15118
- defaultValue: 100,
15119
- min: 0,
15120
- max: 100,
15121
- step: 5
15122
- },
15123
- ]
15124
- },
15125
- {
15126
- type: "spinedit",
15127
- name: "panelBackgroundTransparency",
15128
- title: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.panelBackgroundTransparency"),
15129
- descriptionLocation: "hidden",
15130
- unit: "%",
15131
- defaultValue: 100,
15132
- min: 0,
15133
- max: 100,
15134
- step: 5
15135
- },
15136
- {
15137
- type: "spinedit",
15138
- name: "questionBackgroundTransparency",
15139
- title: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.questionBackgroundTransparency"),
15140
- descriptionLocation: "hidden",
15141
- unit: "%",
15142
- defaultValue: 100,
15143
- min: 0,
15144
- max: 100,
15145
- step: 5
15146
- }
15147
- ]
15148
- }, {
15149
- type: "panel",
15150
- elements: [
15151
- {
15152
- type: "dropdown",
15153
- name: "--font-family",
15154
- title: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.fontFamily"),
15155
- descriptionLocation: "hidden",
15156
- choices: [].concat(_theme_custom_questions_font_settings__WEBPACK_IMPORTED_MODULE_8__["DefaultFonts"]),
15157
- defaultValue: "Open Sans",
15158
- allowClear: false
15159
- },
15160
- {
15161
- type: "spinedit",
15162
- name: "commonFontSize",
15163
- title: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.fontSize"),
15164
- descriptionLocation: "hidden",
15165
- unit: "%",
15166
- defaultValue: 100,
15167
- min: 0,
15168
- step: 5
15169
- },
15170
- ]
15171
- }, {
15172
- type: "panel",
15173
- elements: [
15174
- {
15175
- type: "spinedit",
15176
- name: "commonScale",
15177
- title: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.scale"),
15178
- descriptionLocation: "hidden",
15179
- unit: "%",
15180
- defaultValue: 100,
15181
- min: 0,
15182
- step: 5
15183
- },
15184
- {
15185
- type: "spinedit",
15186
- name: "cornerRadius",
15187
- title: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.cornerRadius"),
15188
- descriptionLocation: "hidden",
15189
- unit: "px",
15190
- defaultValue: 4,
15191
- min: 0
15192
- },
15193
- ]
15194
15240
  }
15195
15241
  ]
15196
15242
  }, {
15197
15243
  type: "panel",
15244
+ name: "groupHeader",
15198
15245
  state: "collapsed",
15199
15246
  title: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.groupHeader"),
15200
15247
  elements: [
@@ -15210,20 +15257,20 @@ var ThemeBuilder = /** @class */ (function (_super) {
15210
15257
  "panelCount": 1,
15211
15258
  "defaultValue": [
15212
15259
  {
15213
- "headerView": "title",
15260
+ "headerView": "basic",
15214
15261
  "logoPosition": "right",
15215
- "areaWidth": "survey",
15262
+ "inheritWidthFrom": "survey",
15216
15263
  "backgroundColorSwitch": "none",
15217
15264
  "backgroundImageFit": "cover",
15218
15265
  "backgroundImageOpacity": 100,
15219
- "overlap": false,
15266
+ "overlapEnabled": false,
15220
15267
  "logoPositionX": "right",
15221
15268
  "logoPositionY": "top",
15222
15269
  "titlePositionX": "left",
15223
15270
  "titlePositionY": "bottom",
15224
15271
  "descriptionPositionX": "left",
15225
15272
  "descriptionPositionY": "bottom",
15226
- "textWidth": 512,
15273
+ "textAreaWidth": 512,
15227
15274
  "height": 256
15228
15275
  }
15229
15276
  ],
@@ -15237,15 +15284,15 @@ var ThemeBuilder = /** @class */ (function (_super) {
15237
15284
  name: "headerView",
15238
15285
  title: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.headerView"),
15239
15286
  choices: [
15240
- { value: "title", text: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.headerViewTitle") },
15241
- { value: "cover", text: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.headerViewCover") }
15287
+ { value: "basic", text: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.headerViewBasic") },
15288
+ { value: "advanced", text: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.headerViewAdvanced") }
15242
15289
  ]
15243
15290
  },
15244
15291
  {
15245
15292
  type: "buttongroup",
15246
15293
  name: "logoPosition",
15247
15294
  title: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.logoPosition"),
15248
- visibleIf: "{panel.headerView} = 'title'",
15295
+ visibleIf: "{panel.headerView} = 'basic'",
15249
15296
  choices: [
15250
15297
  { value: "left", text: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.horizontalAlignmentLeft") },
15251
15298
  { value: "right", text: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.horizontalAlignmentRight") }
@@ -15256,26 +15303,26 @@ var ThemeBuilder = /** @class */ (function (_super) {
15256
15303
  name: "height",
15257
15304
  title: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("p.height"),
15258
15305
  descriptionLocation: "hidden",
15259
- visibleIf: "{panel.headerView} = 'cover'",
15306
+ visibleIf: "{panel.headerView} = 'advanced'",
15260
15307
  unit: "px",
15261
15308
  min: 0
15262
15309
  },
15263
15310
  {
15264
15311
  type: "buttongroup",
15265
- name: "areaWidth",
15266
- title: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.coverAreaWidth"),
15312
+ name: "inheritWidthFrom",
15313
+ title: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.coverInheritWidthFrom"),
15267
15314
  choices: [
15268
- { value: "survey", text: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.coverAreaWidthSurvey") },
15269
- { value: "container", text: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.coverAreaWidthContainer") }
15315
+ { value: "survey", text: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.coverInheritWidthFromSurvey") },
15316
+ { value: "page", text: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.coverInheritWidthFromPage") }
15270
15317
  ],
15271
- visibleIf: "{panel.headerView} = 'cover'",
15318
+ visibleIf: "{panel.headerView} = 'advanced'",
15272
15319
  },
15273
15320
  {
15274
15321
  type: "spinedit",
15275
- name: "textWidth",
15276
- title: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.coverTextWidth"),
15322
+ name: "textAreaWidth",
15323
+ title: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.coverTextAreaWidth"),
15277
15324
  descriptionLocation: "hidden",
15278
- visibleIf: "{panel.headerView} = 'cover'",
15325
+ visibleIf: "{panel.headerView} = 'advanced'",
15279
15326
  unit: "px",
15280
15327
  min: 0
15281
15328
  }
@@ -15283,7 +15330,7 @@ var ThemeBuilder = /** @class */ (function (_super) {
15283
15330
  }, {
15284
15331
  type: "panel",
15285
15332
  questionTitleLocation: "top",
15286
- visibleIf: "{panel.headerView} = 'cover'",
15333
+ visibleIf: "{panel.headerView} = 'advanced'",
15287
15334
  elements: [
15288
15335
  {
15289
15336
  type: "buttongroup",
@@ -15311,7 +15358,6 @@ var ThemeBuilder = /** @class */ (function (_super) {
15311
15358
  storeDataAsText: false,
15312
15359
  name: "backgroundImage",
15313
15360
  titleLocation: "hidden",
15314
- maxSize: this.surveyProvider.onUploadFile.isEmpty ? 65536 : undefined,
15315
15361
  acceptedTypes: "image/*",
15316
15362
  placeholder: "Browse..."
15317
15363
  },
@@ -15347,11 +15393,17 @@ var ThemeBuilder = /** @class */ (function (_super) {
15347
15393
  title: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.coverTitleForecolor"),
15348
15394
  descriptionLocation: "hidden",
15349
15395
  },
15396
+ {
15397
+ type: "colorsettings",
15398
+ name: "descriptionForecolor",
15399
+ title: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.coverDescriptionForecolor"),
15400
+ descriptionLocation: "hidden",
15401
+ },
15350
15402
  {
15351
15403
  type: "boolean",
15352
- name: "overlap",
15404
+ name: "overlapEnabled",
15353
15405
  renderAs: "checkbox",
15354
- title: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.coverOverlap"),
15406
+ title: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.coverOverlapEnabled"),
15355
15407
  titleLocation: "hidden",
15356
15408
  descriptionLocation: "hidden",
15357
15409
  }
@@ -15359,7 +15411,7 @@ var ThemeBuilder = /** @class */ (function (_super) {
15359
15411
  }, {
15360
15412
  type: "panel",
15361
15413
  questionTitleLocation: "top",
15362
- visibleIf: "{panel.headerView} = 'cover'",
15414
+ visibleIf: "{panel.headerView} = 'advanced'",
15363
15415
  elements: [
15364
15416
  this.getHorizontalAlignment("logoPositionX", Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.logoPosition"), "right"),
15365
15417
  this.getVerticalAlignment("logoPositionY", "top"),
@@ -15376,6 +15428,162 @@ var ThemeBuilder = /** @class */ (function (_super) {
15376
15428
  ]
15377
15429
  }, {
15378
15430
  type: "panel",
15431
+ name: "groupBackground",
15432
+ state: "collapsed",
15433
+ title: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.groupBackground"),
15434
+ elements: [
15435
+ {
15436
+ type: "panel",
15437
+ elements: [
15438
+ {
15439
+ type: "color",
15440
+ name: "generalBackcolorDimColor",
15441
+ title: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.backgroundDimColor"),
15442
+ descriptionLocation: "hidden",
15443
+ },
15444
+ {
15445
+ type: "panel",
15446
+ name: "background",
15447
+ title: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.backgroundImage"),
15448
+ elements: [
15449
+ {
15450
+ type: "fileedit",
15451
+ storeDataAsText: false,
15452
+ name: "backgroundImage",
15453
+ titleLocation: "hidden",
15454
+ acceptedTypes: "image/*",
15455
+ placeholder: "Browse..."
15456
+ },
15457
+ {
15458
+ type: "buttongroup",
15459
+ name: "backgroundImageFit",
15460
+ enableIf: "{backgroundImage} notempty",
15461
+ titleLocation: "hidden",
15462
+ choices: [
15463
+ { value: "auto", text: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.backgroundImageFitAuto") },
15464
+ { value: "contain", text: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.backgroundImageFitContain") },
15465
+ { value: "cover", text: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.backgroundImageFitCover") }
15466
+ ],
15467
+ defaultValue: "cover"
15468
+ },
15469
+ {
15470
+ type: "buttongroup",
15471
+ name: "backgroundImageAttachment",
15472
+ enableIf: "{backgroundImage} notempty",
15473
+ titleLocation: "hidden",
15474
+ choices: [
15475
+ { value: "fixed", text: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.backgroundImageAttachmentFixed") },
15476
+ { value: "scroll", text: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.backgroundImageAttachmentScroll") }
15477
+ ],
15478
+ defaultValue: "scroll"
15479
+ },
15480
+ {
15481
+ type: "spinedit",
15482
+ name: "backgroundOpacity",
15483
+ enableIf: "{backgroundImage} notempty",
15484
+ titleLocation: "left",
15485
+ title: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.backgroundOpacity"),
15486
+ descriptionLocation: "hidden",
15487
+ unit: "%",
15488
+ defaultValue: 100,
15489
+ min: 0,
15490
+ max: 100,
15491
+ step: 5
15492
+ },
15493
+ ]
15494
+ }
15495
+ ]
15496
+ }
15497
+ ]
15498
+ }, {
15499
+ type: "panel",
15500
+ name: "groupAppearance",
15501
+ state: "collapsed",
15502
+ title: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.groupAppearance"),
15503
+ elements: [
15504
+ {
15505
+ type: "panel",
15506
+ elements: [
15507
+ {
15508
+ type: "color",
15509
+ name: "generalPrimaryColor",
15510
+ title: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.primaryColor"),
15511
+ descriptionLocation: "hidden",
15512
+ },
15513
+ {
15514
+ type: "spinedit",
15515
+ name: "panelBackgroundTransparency",
15516
+ title: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.panelBackgroundTransparency"),
15517
+ descriptionLocation: "hidden",
15518
+ unit: "%",
15519
+ defaultValue: 100,
15520
+ min: 0,
15521
+ max: 100,
15522
+ step: 5
15523
+ },
15524
+ {
15525
+ type: "spinedit",
15526
+ name: "questionBackgroundTransparency",
15527
+ title: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.questionBackgroundTransparency"),
15528
+ descriptionLocation: "hidden",
15529
+ unit: "%",
15530
+ defaultValue: 100,
15531
+ min: 0,
15532
+ max: 100,
15533
+ step: 5
15534
+ }
15535
+ ]
15536
+ }, {
15537
+ type: "panel",
15538
+ elements: [
15539
+ {
15540
+ type: "dropdown",
15541
+ name: "--font-family",
15542
+ title: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.fontFamily"),
15543
+ descriptionLocation: "hidden",
15544
+ choices: [].concat(_theme_custom_questions_font_settings__WEBPACK_IMPORTED_MODULE_8__["DefaultFonts"]),
15545
+ defaultValue: "Open Sans",
15546
+ allowClear: false
15547
+ },
15548
+ {
15549
+ type: "spinedit",
15550
+ name: "commonFontSize",
15551
+ title: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.fontSize"),
15552
+ descriptionLocation: "hidden",
15553
+ unit: "%",
15554
+ defaultValue: 100,
15555
+ min: 0,
15556
+ step: 5
15557
+ },
15558
+ ]
15559
+ }, {
15560
+ type: "panel",
15561
+ elements: [
15562
+ {
15563
+ type: "spinedit",
15564
+ name: "commonScale",
15565
+ title: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.scale"),
15566
+ descriptionLocation: "hidden",
15567
+ unit: "%",
15568
+ defaultValue: 100,
15569
+ min: 0,
15570
+ step: 5
15571
+ },
15572
+ {
15573
+ type: "spinedit",
15574
+ name: "cornerRadius",
15575
+ title: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.cornerRadius"),
15576
+ descriptionLocation: "hidden",
15577
+ unit: "px",
15578
+ defaultValue: 4,
15579
+ min: 0
15580
+ },
15581
+ ]
15582
+ }
15583
+ ]
15584
+ }, {
15585
+ type: "panel",
15586
+ name: "groupAdvanced",
15379
15587
  title: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.groupAdvanced"),
15380
15588
  state: "collapsed",
15381
15589
  elements: [
@@ -15688,6 +15896,7 @@ var ThemeBuilder = /** @class */ (function (_super) {
15688
15896
  survey.currentPage = val;
15689
15897
  }
15690
15898
  }
15899
+ target.updatePrevNextPageActionState();
15691
15900
  }
15692
15901
  })
15693
15902
  ], ThemeBuilder.prototype, "activePage", void 0);
@@ -16182,6 +16391,21 @@ __webpack_require__.r(__webpack_exports__);
16182
16391
 
16183
16392
 
16184
16393
 
16394
+ function getObjectDiffs(obj1, obj2) {
16395
+ if (obj2 === void 0) { obj2 = {}; }
16396
+ var result = {};
16397
+ Object.keys(obj1).forEach(function (key) {
16398
+ if (typeof obj1[key] === "object") {
16399
+ result[key] = getObjectDiffs(obj1[key], obj2[key]);
16400
+ }
16401
+ else {
16402
+ if (obj1[key] !== undefined && obj1[key] != obj2[key]) {
16403
+ result[key] = obj1[key];
16404
+ }
16405
+ }
16406
+ });
16407
+ return result;
16408
+ }
16185
16409
  var ThemeTabPlugin = /** @class */ (function () {
16186
16410
  function ThemeTabPlugin(creator) {
16187
16411
  var _this = this;
@@ -16236,6 +16460,10 @@ var ThemeTabPlugin = /** @class */ (function () {
16236
16460
  execute: function () { return _this.redo(); }
16237
16461
  });
16238
16462
  }
16463
+ ThemeTabPlugin.prototype.createVisibleUpdater = function () {
16464
+ var _this = this;
16465
+ return new survey_core__WEBPACK_IMPORTED_MODULE_0__["ComputedUpdater"](function () { return _this.creator.activeTab === "theme"; });
16466
+ };
16239
16467
  ThemeTabPlugin.prototype.activate = function () {
16240
16468
  this.model = new _theme_builder__WEBPACK_IMPORTED_MODULE_2__["ThemeBuilder"](this.creator, this.simulatorTheme);
16241
16469
  this.model.simulator.landscape = this.creator.previewOrientation != "portrait";
@@ -16243,10 +16471,6 @@ var ThemeTabPlugin = /** @class */ (function () {
16243
16471
  this.sidebarTab.model = this.model.themeEditorSurvey;
16244
16472
  this.sidebarTab.componentName = "survey-widget";
16245
16473
  this.creator.sidebar.activeTab = this.sidebarTab.id;
16246
- this.themeSettingsAction.visible = true;
16247
- this.resetTheme.visible = true;
16248
- this.importAction.visible = true;
16249
- this.exportAction.visible = true;
16250
16474
  };
16251
16475
  ThemeTabPlugin.prototype.update = function () {
16252
16476
  var _this = this;
@@ -16257,7 +16481,13 @@ var ThemeTabPlugin = /** @class */ (function () {
16257
16481
  };
16258
16482
  this.model.testAgainAction = this.testAgainAction;
16259
16483
  this.model.availableThemes = this.availableThemes;
16484
+ this.model.prevPageAction = this.prevPageAction;
16485
+ this.model.nextPageAction = this.nextPageAction;
16260
16486
  this.model.initialize(this.creator.JSON, options);
16487
+ if (this.creator.showInvisibleElementsInTestSurveyTab) {
16488
+ this.invisibleToggleAction.css = this.model.showInvisibleElements ? "sv-action-bar-item--active" : "";
16489
+ this.invisibleToggleAction.visible = this.model.isRunning;
16490
+ }
16261
16491
  this.updateUndeRedoActions();
16262
16492
  this.model.undoRedoManager.canUndoRedoCallback = function () {
16263
16493
  _this.updateUndeRedoActions();
@@ -16265,6 +16495,7 @@ var ThemeTabPlugin = /** @class */ (function () {
16265
16495
  this.model.show();
16266
16496
  this.model.onPropertyChanged.add(function (sender, options) {
16267
16497
  if (options.name === "isRunning") {
16498
+ _this.invisibleToggleAction && (_this.invisibleToggleAction.visible = _this.model.isRunning);
16268
16499
  _this.testAgainAction.visible = !_this.model.isRunning;
16269
16500
  }
16270
16501
  });
@@ -16291,10 +16522,7 @@ var ThemeTabPlugin = /** @class */ (function () {
16291
16522
  }
16292
16523
  this.sidebarTab.visible = false;
16293
16524
  this.testAgainAction.visible = false;
16294
- this.themeSettingsAction.visible = false;
16295
- this.resetTheme.visible = false;
16296
- this.importAction.visible = false;
16297
- this.exportAction.visible = false;
16525
+ this.invisibleToggleAction && (this.invisibleToggleAction.visible = false);
16298
16526
  return true;
16299
16527
  };
16300
16528
  ThemeTabPlugin.prototype.exportToFile = function (fileName) {
@@ -16318,6 +16546,36 @@ var ThemeTabPlugin = /** @class */ (function () {
16318
16546
  ThemeTabPlugin.prototype.createActions = function () {
16319
16547
  var _this = this;
16320
16548
  var items = [];
16549
+ this.designerAction = new survey_core__WEBPACK_IMPORTED_MODULE_0__["Action"]({
16550
+ id: "svd-designer",
16551
+ iconName: "icon-config",
16552
+ action: function () { _this.creator.makeNewViewActive("designer"); },
16553
+ visible: this.createVisibleUpdater(),
16554
+ locTitleName: "ed.designer",
16555
+ showTitle: false
16556
+ });
16557
+ this.prevPageAction = new survey_core__WEBPACK_IMPORTED_MODULE_0__["Action"]({
16558
+ id: "prevPage",
16559
+ iconName: "icon-arrow-left_16x16",
16560
+ needSeparator: new survey_core__WEBPACK_IMPORTED_MODULE_0__["ComputedUpdater"](function () {
16561
+ return _this.creator.isMobileView;
16562
+ }),
16563
+ visible: false
16564
+ });
16565
+ this.nextPageAction = new survey_core__WEBPACK_IMPORTED_MODULE_0__["Action"]({
16566
+ id: "nextPage",
16567
+ iconName: "icon-arrow-right_16x16",
16568
+ visible: false
16569
+ });
16570
+ this.previewAction = new survey_core__WEBPACK_IMPORTED_MODULE_0__["Action"]({
16571
+ id: "svd-preview",
16572
+ iconName: "icon-preview",
16573
+ active: true,
16574
+ visible: this.createVisibleUpdater(),
16575
+ locTitleName: "ed.testSurvey",
16576
+ showTitle: false,
16577
+ action: function () { }
16578
+ });
16321
16579
  this.testAgainAction = new survey_core__WEBPACK_IMPORTED_MODULE_0__["Action"]({
16322
16580
  id: "testSurveyAgain",
16323
16581
  visible: false,
@@ -16331,7 +16589,7 @@ var ThemeTabPlugin = /** @class */ (function () {
16331
16589
  iconName: "icon-undo",
16332
16590
  locTitleName: "ed.undo",
16333
16591
  showTitle: false,
16334
- visible: new survey_core__WEBPACK_IMPORTED_MODULE_0__["ComputedUpdater"](function () { return _this.creator.activeTab === "theme"; }),
16592
+ visible: this.createVisibleUpdater(),
16335
16593
  action: function () { return _this.undo(); }
16336
16594
  });
16337
16595
  this.redoAction = new survey_core__WEBPACK_IMPORTED_MODULE_0__["Action"]({
@@ -16339,7 +16597,7 @@ var ThemeTabPlugin = /** @class */ (function () {
16339
16597
  iconName: "icon-redo",
16340
16598
  locTitleName: "ed.redo",
16341
16599
  showTitle: false,
16342
- visible: new survey_core__WEBPACK_IMPORTED_MODULE_0__["ComputedUpdater"](function () { return _this.creator.activeTab === "theme"; }),
16600
+ visible: this.createVisibleUpdater(),
16343
16601
  action: function () { return _this.redo(); }
16344
16602
  });
16345
16603
  items.push(this.undoAction);
@@ -16350,9 +16608,7 @@ var ThemeTabPlugin = /** @class */ (function () {
16350
16608
  locTitleName: "ed.themeResetButton",
16351
16609
  locTooltipName: "ed.themeResetButton",
16352
16610
  mode: "small",
16353
- visible: new survey_core__WEBPACK_IMPORTED_MODULE_0__["ComputedUpdater"](function () {
16354
- return (_this.creator.activeTab === "theme");
16355
- }),
16611
+ visible: this.createVisibleUpdater(),
16356
16612
  action: function () {
16357
16613
  _this.model.resetTheme();
16358
16614
  }
@@ -16366,20 +16622,19 @@ var ThemeTabPlugin = /** @class */ (function () {
16366
16622
  _this.creator.setShowSidebar(true, true);
16367
16623
  }
16368
16624
  },
16625
+ visible: this.createVisibleUpdater(),
16369
16626
  active: new survey_core__WEBPACK_IMPORTED_MODULE_0__["ComputedUpdater"](function () { return _this.creator.showSidebar; }),
16370
16627
  pressed: new survey_core__WEBPACK_IMPORTED_MODULE_0__["ComputedUpdater"](function () { return _this.creator.showSidebar; }),
16371
16628
  locTitleName: "ed.themeSettings",
16372
16629
  locTooltipName: "ed.themeSettingsTooltip",
16373
- visible: false,
16374
16630
  showTitle: false
16375
16631
  });
16376
- items.push(this.themeSettingsAction);
16377
16632
  this.importAction = new survey_core__WEBPACK_IMPORTED_MODULE_0__["Action"]({
16378
16633
  id: "svc-theme-import",
16379
16634
  iconName: "icon-load",
16380
16635
  locTitleName: "ed.themeImportButton",
16381
16636
  locTooltipName: "ed.themeImportButton",
16382
- visible: false,
16637
+ visible: this.createVisibleUpdater(),
16383
16638
  mode: "small",
16384
16639
  component: "sv-action-bar-item",
16385
16640
  needSeparator: true,
@@ -16406,7 +16661,7 @@ var ThemeTabPlugin = /** @class */ (function () {
16406
16661
  iconName: "icon-download",
16407
16662
  locTitleName: "ed.themeExportButton",
16408
16663
  locTooltipName: "ed.themeExportButton",
16409
- visible: false,
16664
+ visible: this.createVisibleUpdater(),
16410
16665
  mode: "small",
16411
16666
  component: "sv-action-bar-item",
16412
16667
  action: function () {
@@ -16414,6 +16669,20 @@ var ThemeTabPlugin = /** @class */ (function () {
16414
16669
  }
16415
16670
  });
16416
16671
  items.push(this.exportAction);
16672
+ if (this.creator.showInvisibleElementsInTestSurveyTab) {
16673
+ this.invisibleToggleAction = new survey_core__WEBPACK_IMPORTED_MODULE_0__["Action"]({
16674
+ id: "showInvisible",
16675
+ iconName: "icon-invisible-items",
16676
+ mode: "small",
16677
+ locTitleName: "ts.showInvisibleElements",
16678
+ visible: false,
16679
+ action: function () {
16680
+ _this.model.showInvisibleElements = !_this.model.showInvisibleElements;
16681
+ _this.invisibleToggleAction.css = _this.model.showInvisibleElements ? "sv-action-bar-item--active" : "";
16682
+ _this.invisibleToggleAction.title = Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_1__["getLocString"])(!_this.model.showInvisibleElements ? "ts.showInvisibleElements" : "ts.hideInvisibleElements");
16683
+ }
16684
+ });
16685
+ }
16417
16686
  return items;
16418
16687
  };
16419
16688
  ThemeTabPlugin.prototype.undo = function () {
@@ -16442,8 +16711,12 @@ var ThemeTabPlugin = /** @class */ (function () {
16442
16711
  this.redoAction.enabled = _undoRedoManager.canRedo();
16443
16712
  };
16444
16713
  ThemeTabPlugin.prototype.addFooterActions = function () {
16445
- this.creator.footerToolbar.actions.push(this.testAgainAction);
16446
- this.creator.footerToolbar.actions.push(this.resetTheme);
16714
+ this.creator.footerToolbar.actions.push(this.designerAction);
16715
+ this.creator.footerToolbar.actions.push(this.previewAction);
16716
+ this.creator.footerToolbar.actions.push(this.prevPageAction);
16717
+ this.creator.footerToolbar.actions.push(this.nextPageAction);
16718
+ this.invisibleToggleAction && (this.creator.footerToolbar.actions.push(this.invisibleToggleAction));
16719
+ this.creator.footerToolbar.actions.push(this.themeSettingsAction);
16447
16720
  };
16448
16721
  Object.defineProperty(ThemeTabPlugin.prototype, "availableThemes", {
16449
16722
  get: function () {
@@ -16482,6 +16755,16 @@ var ThemeTabPlugin = /** @class */ (function () {
16482
16755
  }
16483
16756
  }
16484
16757
  };
16758
+ ThemeTabPlugin.prototype.getThemeChanges = function () {
16759
+ var fullTheme = this.creator.theme;
16760
+ var probeThemeFullName = Object(_themes__WEBPACK_IMPORTED_MODULE_4__["getThemeFullName"])(fullTheme);
16761
+ var baseTheme = Object(_themes__WEBPACK_IMPORTED_MODULE_4__["findSuitableTheme"])(fullTheme.themeName, probeThemeFullName);
16762
+ var themeChanges = getObjectDiffs(fullTheme, baseTheme);
16763
+ themeChanges.themeName = fullTheme.themeName || "default";
16764
+ themeChanges.colorPalette = fullTheme.colorPalette || "light";
16765
+ themeChanges.isPanelless = !!fullTheme.isPanelless;
16766
+ return themeChanges;
16767
+ };
16485
16768
  return ThemeTabPlugin;
16486
16769
  }());
16487
16770
 
@@ -16493,7 +16776,7 @@ var ThemeTabPlugin = /** @class */ (function () {
16493
16776
  /*!***************************************!*\
16494
16777
  !*** ./src/components/tabs/themes.ts ***!
16495
16778
  \***************************************/
16496
- /*! exports provided: Themes, PredefinedThemes, getThemeFullName, PredefinedColors */
16779
+ /*! exports provided: Themes, PredefinedThemes, getThemeFullName, PredefinedColors, findSuitableTheme */
16497
16780
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
16498
16781
 
16499
16782
  "use strict";
@@ -16502,6 +16785,7 @@ __webpack_require__.r(__webpack_exports__);
16502
16785
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PredefinedThemes", function() { return PredefinedThemes; });
16503
16786
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getThemeFullName", function() { return getThemeFullName; });
16504
16787
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PredefinedColors", function() { return PredefinedColors; });
16788
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "findSuitableTheme", function() { return findSuitableTheme; });
16505
16789
  /* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/utils */ "./src/utils/utils.ts");
16506
16790
  /* harmony import */ var survey_core_themes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! survey-core/themes */ "./node_modules/survey-core/themes/index.js");
16507
16791
  /* harmony import */ var survey_core_themes__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(survey_core_themes__WEBPACK_IMPORTED_MODULE_1__);
@@ -16510,7 +16794,8 @@ __webpack_require__.r(__webpack_exports__);
16510
16794
  var Themes = {};
16511
16795
  var PredefinedThemes = ["default", "sharp", "borderless", "flat", "plain", "doubleborder", "layered", "solid", "threedimensional", "contrast"];
16512
16796
  function getThemeFullName(theme) {
16513
- var fullThemeName = theme["themeName"] + "-" + (theme["colorPalette"] || "light");
16797
+ var themeName = theme.themeName || "default";
16798
+ var fullThemeName = themeName + "-" + (theme.colorPalette || "light");
16514
16799
  if (theme.isPanelless === true) {
16515
16800
  fullThemeName += "-panelless";
16516
16801
  }
@@ -16545,6 +16830,23 @@ var PredefinedColors = {
16545
16830
  green: "rgba(140, 204, 90, 1)"
16546
16831
  }
16547
16832
  };
16833
+ function findSuitableTheme(themeName, probeThemeFullName) {
16834
+ var suitableTheme = Themes[probeThemeFullName];
16835
+ if (!!suitableTheme) {
16836
+ return suitableTheme;
16837
+ }
16838
+ var appropriateThemeNames = Object.keys(Themes).filter(function (fullName) { return fullName.indexOf(themeName) === 0; });
16839
+ for (var _i = 0, appropriateThemeNames_1 = appropriateThemeNames; _i < appropriateThemeNames_1.length; _i++) {
16840
+ var fullThemeName = appropriateThemeNames_1[_i];
16841
+ if (fullThemeName.indexOf(themeName + "-" + this.themePalette) === 0) {
16842
+ probeThemeFullName = themeName + "-" + this.themePalette;
16843
+ }
16844
+ if (fullThemeName.indexOf(themeName + "-" + this.themePalette + (this.themeMode === "lightweight" ? "-panelless" : "")) === 0) {
16845
+ probeThemeFullName = themeName + "-" + this.themePalette + (this.themeMode === "lightweight" ? "-panelless" : "");
16846
+ }
16847
+ }
16848
+ return Themes[probeThemeFullName] || Themes[appropriateThemeNames[0]];
16849
+ }
16548
16850
 
16549
16851
 
16550
16852
  /***/ }),
@@ -17674,7 +17976,7 @@ var TranslationGroup = /** @class */ (function (_super) {
17674
17976
  var properties = survey_core__WEBPACK_IMPORTED_MODULE_1__["Serializer"].getPropertiesByObj(obj);
17675
17977
  for (var i = 0; i < properties.length; i++) {
17676
17978
  var property = properties[i];
17677
- if (!property.isSerializable || !property.isLocalizable)
17979
+ if (!property.isSerializable || !property.isLocalizable || property.type === "url" || property.type === "file")
17678
17980
  continue;
17679
17981
  if (property.readOnly || !property.visible)
17680
17982
  continue;
@@ -17944,7 +18246,7 @@ var Translation = /** @class */ (function (_super) {
17944
18246
  confirmDeleteText: _editorLocalization__WEBPACK_IMPORTED_MODULE_3__["editorLocalization"].getString("ed.translationDeleteLanguage"),
17945
18247
  columns: [
17946
18248
  { name: "isSelected", cellType: "boolean", renderAs: "checkbox", enableIf: "localeEnableIf()" },
17947
- { name: "displayName", cellType: "expression", expression: "row.displayName" }
18249
+ { name: "displayName", cellType: "expression", expression: "{row.displayName}" }
17948
18250
  ],
17949
18251
  showHeader: false,
17950
18252
  allowAddRows: false,
@@ -19263,7 +19565,6 @@ var CreatorBase = /** @class */ (function (_super) {
19263
19565
  * - `options.questionName`: `String`\
19264
19566
  * The name of a question for which conditions are displayed.
19265
19567
  * - `options.questionName`: `String`\
19266
- * The type of a question for which conditions are displayed.
19267
19568
  * The name of a question for which conditions are displayed.
19268
19569
  * - `options.operator`: `"empty"` | `"notempty"` | `"equal"` | `"notequal"` | `"contains"` | `"notcontains"` | `"anyof"` | `"allof"` | `"greater"` | `"less"` | `"greaterorequal"` | `"lessorequal"`\
19269
19570
  * A condition opeator for which the event is raised.
@@ -19343,24 +19644,50 @@ var CreatorBase = /** @class */ (function (_super) {
19343
19644
  */
19344
19645
  _this.onModified = new CreatorEvent();
19345
19646
  /**
19346
- * The event is called on adding a new question into the survey. Typically, when a user dropped a Question from the Question Toolbox into designer Survey area.
19347
- *- sender the survey creator object that fires the event
19348
- *- options.question a new added survey question. Survey.Question object
19349
- *- options.page the survey Page object where question has been added.
19350
- *- options.reason how question has been added via UI: ADDED_FROM_TOOLBOX, ADDED_FROM_PAGEBUTTON, ELEMENT_COPIED.
19647
+ * An event that is raised when users add a question to the survey. Use this event to customize the question.
19648
+ *
19649
+ * Parameters:
19650
+ *
19651
+ * - `sender`: `CreatorBase`\
19652
+ * A Survey Creator instance that raised the event.
19653
+ * - `options.question`: [`Question`](https://surveyjs.io/form-library/documentation/api-reference/question)\
19654
+ * The question users added.
19655
+ * - `options.page`: [`PageModel`](https://surveyjs.io/form-library/documentation/api-reference/page-model)\
19656
+ * A page to which the question was added.
19657
+ * - `options.reason`: `"DROPPED_FROM_TOOLBOX"` | `"ADDED_FROM_PAGEBUTTON"` | `"ELEMENT_COPIED"`\
19658
+ * A value that indicates how the question was added: dragged from the [Toolbox](https://surveyjs.io/survey-creator/documentation/toolbox-customization), created using the Add Question button, or duplicated.
19659
+ *
19660
+ * [Customize Survey Elements on Creation](https://surveyjs.io/survey-creator/documentation/customize-survey-creation-process#customize-survey-elements-on-creation (linkStyle))
19351
19661
  */
19352
19662
  _this.onQuestionAdded = new CreatorEvent();
19353
19663
  /**
19354
- * The event is called on adding a new panel into the survey. Typically, when a user dropped a Panel from the Question Toolbox into designer Survey area.
19355
- *- sender the survey creator object that fires the event
19356
- *- options.panel a new added survey panel. Survey.Panel object
19357
- *- options.page the survey Page object where question has been added.
19664
+ * An event that is raised when users add a [Panel](https://surveyjs.io/form-library/documentation/api-reference/panel-model) element to the survey. Use this event to customize the panel.
19665
+ *
19666
+ * Parameters:
19667
+ *
19668
+ * - `sender`: `CreatorBase`\
19669
+ * A Survey Creator instance that raised the event.
19670
+ * - `options.panel`: [`PanelModel`](https://surveyjs.io/form-library/documentation/api-reference/panel-model)\
19671
+ * The panel users added.
19672
+ * - `options.page`: [`PageModel`](https://surveyjs.io/form-library/documentation/api-reference/page-model)\
19673
+ * A page to which the panel was added.
19674
+ * - `options.reason`: `"DROPPED_FROM_TOOLBOX"` | `"ADDED_FROM_PAGEBUTTON"` | `"ELEMENT_COPIED"`\
19675
+ * A value that indicates how the panel was added: dragged from the [Toolbox](https://surveyjs.io/survey-creator/documentation/toolbox-customization), created using the Add Question button, or duplicated.
19676
+ *
19677
+ * [Customize Survey Elements on Creation](https://surveyjs.io/survey-creator/documentation/customize-survey-creation-process#customize-survey-elements-on-creation (linkStyle))
19358
19678
  */
19359
19679
  _this.onPanelAdded = new CreatorEvent();
19360
19680
  /**
19361
- * The event is called on adding a new page into the survey.
19362
- *- sender the survey creator object that fires the event
19363
- *- options.page the new survey Page object.
19681
+ * An event that is raised when a new page is added to the survey. Use this event to customize the page.
19682
+ *
19683
+ * Parameters:
19684
+ *
19685
+ * - `sender`: `CreatorBase`\
19686
+ * A Survey Creator instance that raised the event.
19687
+ * - `options.page`: [`PageModel`](https://surveyjs.io/form-library/documentation/api-reference/page-model)\
19688
+ * The page users added.
19689
+ *
19690
+ * [Customize Survey Elements on Creation](https://surveyjs.io/survey-creator/documentation/customize-survey-creation-process#customize-survey-elements-on-creation (linkStyle))
19364
19691
  */
19365
19692
  _this.onPageAdded = new CreatorEvent();
19366
19693
  /**
@@ -19379,21 +19706,35 @@ var CreatorBase = /** @class */ (function (_super) {
19379
19706
  */
19380
19707
  _this.onGetPageActions = new CreatorEvent();
19381
19708
  /**
19382
- * The event is fired when the survey creator is initialized and a survey object (Survey.Survey) is created.
19383
- *- sender the survey creator object that fires the event
19384
- *- options.survey the survey object showing in the creator.
19709
+ * An event that is raised when Survey Creator instantiates a survey for the [Designer](https://surveyjs.io/survey-creator/documentation/end-user-guide#designer-tab) tab. Use this event to customize the survey.
19710
+ *
19711
+ * Parameters:
19712
+ *
19713
+ * - `sender`: `CreatorBase`\
19714
+ * A Survey Creator instance that raised the event.
19715
+ * - `options.survey`: [`SurveyModel`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model)\
19716
+ * A survey to be displayed in the Designer tab.
19717
+ *
19718
+ * [Design Mode Survey Instance](https://surveyjs.io/survey-creator/documentation/customize-survey-creation-process#design-mode-survey-instance (linkStyle))
19719
+ *
19720
+ * > If you want this event raised at startup, assign a survey JSON schema to the [`JSON`](#JSON) property *after* you add a handler to the event. If the JSON schema should be empty, specify the `JSON` property with an empty object.
19385
19721
  */
19386
19722
  _this.onDesignerSurveyCreated = new CreatorEvent();
19387
19723
  /**
19388
- * The event is fired when the survey creator creates survey in Preview tab for testing.
19389
- *- sender the survey creator object that fires the event
19390
- *- options.survey the survey object showing in the "Preview" tab.
19724
+ * An event that is raised when Survey Creator instantiates a survey for the [Preview](https://surveyjs.io/survey-creator/documentation/end-user-guide#preview-tab) tab. Use this event to customize the survey.
19725
+ *
19726
+ * Parameters:
19727
+ *
19728
+ * - `sender`: `CreatorBase`\
19729
+ * A Survey Creator instance that raised the event.
19730
+ * - `options.survey`: [`SurveyModel`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model)\
19731
+ * A survey to be displayed in the Preview tab.
19732
+ *
19733
+ * [Preview Mode Survey Instance](https://surveyjs.io/survey-creator/documentation/customize-survey-creation-process#preview-mode-survey-instance (linkStyle))
19734
+ *
19735
+ * > If you want this event raised at startup, assign a survey JSON schema to the [`JSON`](#JSON) property *after* you add a handler to the event. If the JSON schema should be empty, specify the `JSON` property with an empty object.
19391
19736
  */
19392
19737
  _this.onPreviewSurveyCreated = new CreatorEvent();
19393
- /**
19394
- * Obsolete. Please use onPreviewSurveyCreated event.
19395
- * @see onPreviewSurveyCreated
19396
- */
19397
19738
  _this.onTestSurveyCreated = _this.onPreviewSurveyCreated;
19398
19739
  /**
19399
19740
  * The event is called in case of UI notifications. By default all notifications are done via built-in alert () function.
@@ -19615,13 +19956,7 @@ var CreatorBase = /** @class */ (function (_super) {
19615
19956
  * Default value: -1 (unlimited)
19616
19957
  */
19617
19958
  _this.maxNestedPanels = -1;
19618
- /**
19619
- * Obsolete. Use the [`showPagesInPreviewTab`](https://surveyjs.io/Documentation/Survey-Creator?id=surveycreator#showPagesInPreviewTab) property instead.
19620
- */
19621
19959
  _this.showPagesInTestSurveyTab = true;
19622
- /**
19623
- * Obsolete. Use the [`showSimulatorInPreviewTab`](https://surveyjs.io/Documentation/Survey-Creator?id=surveycreator#showSimulatorInPreviewTab) property instead.
19624
- */
19625
19960
  _this.showSimulatorInTestSurveyTab = true;
19626
19961
  /**
19627
19962
  * A [UI theme](https://surveyjs.io/Documentation/Library?id=get-started-react#configure-styles) used to display the survey in the Preview tab.
@@ -19629,17 +19964,12 @@ var CreatorBase = /** @class */ (function (_super) {
19629
19964
  * Accepted values: `"modern"`, `"default"`, `"defaultV2"`
19630
19965
  *
19631
19966
  * Default value: `"defaultV2"`
19967
+ * @see allowChangeThemeInPreview
19632
19968
  */
19633
19969
  _this.themeForPreview = "defaultV2";
19634
19970
  _this._theme = { cssVariables: {} };
19635
19971
  _this._allowModifyPages = true;
19636
- /**
19637
- * Obsolete. Use the [`showDefaultLanguageInPreviewTab`](https://surveyjs.io/Documentation/Survey-Creator?id=surveycreator#showDefaultLanguageInPreviewTab) property instead.
19638
- */
19639
19972
  _this.showDefaultLanguageInTestSurveyTab = "auto";
19640
- /**
19641
- * Obsolete. Use the [`showInvisibleElementsInPreviewTab`](https://surveyjs.io/Documentation/Survey-Creator?id=surveycreator#showInvisibleElementsInPreviewTab) property instead.
19642
- */
19643
19973
  _this.showInvisibleElementsInTestSurveyTab = true;
19644
19974
  /**
19645
19975
  * Set this property to true if you want to show "page selector" in the toolabar instead of "pages editor"
@@ -19651,6 +19981,7 @@ var CreatorBase = /** @class */ (function (_super) {
19651
19981
  * Default value: `true`
19652
19982
  *
19653
19983
  * [View Demo](https://surveyjs.io/Examples/Creator?id=theme-switcher (linkStyle))
19984
+ * @see themeForPreview
19654
19985
  */
19655
19986
  _this.allowChangeThemeInPreview = true;
19656
19987
  /**
@@ -19666,10 +19997,11 @@ var CreatorBase = /** @class */ (function (_super) {
19666
19997
  *
19667
19998
  * - `sender`: `CreatorBase`\
19668
19999
  * A Survey Creator instance that raised the event.
19669
- * - `options.tabName`: `"designer"` | `"test"` | `"theme"` | `"editor"` | `"embed"` | `"logic"` | `"translation"`\
20000
+ * - `options.tabName`: `"designer"` | `"test"` | `"theme"` | `"editor"` | `"logic"` | `"translation"`\
19670
20001
  * A tab that is going to become active.
19671
20002
  * - `options.allow`: `Boolean`\
19672
20003
  * Specifies whether the active tab can be switched. Set this property to `false` if you want to cancel the switch.
20004
+ * @see makeNewViewActive
19673
20005
  */
19674
20006
  _this.onActiveTabChanging = new CreatorEvent();
19675
20007
  /**
@@ -19679,15 +20011,16 @@ var CreatorBase = /** @class */ (function (_super) {
19679
20011
  *
19680
20012
  * - `sender`: `CreatorBase`\
19681
20013
  * A Survey Creator instance that raised the event.
19682
- * - `options.tabName`: `"designer"` | `"test"` | `"theme"` | `"editor"` | `"embed"` | `"logic"` | `"translation"`\
20014
+ * - `options.tabName`: `"designer"` | `"test"` | `"theme"` | `"editor"` | `"logic"` | `"translation"`\
19683
20015
  * A tab that has become active.
20016
+ * @see makeNewViewActive
19684
20017
  */
19685
20018
  _this.onActiveTabChanged = new CreatorEvent();
19686
20019
  _this.showSidebarValue = true;
19687
20020
  _this.onShowSidebarVisibilityChanged = new CreatorEvent();
19688
20021
  //#region Obsolete properties and functins
19689
20022
  _this.onShowPropertyGridVisiblityChanged = new CreatorEvent();
19690
- //#endregion Obsolete properties and functins
20023
+ //#endregion Obsolete properties and functions
19691
20024
  //#region Undo/Redo
19692
20025
  /**
19693
20026
  * The event is called before undo happens.
@@ -19785,9 +20118,11 @@ var CreatorBase = /** @class */ (function (_super) {
19785
20118
  };
19786
20119
  _this.shortcuts = {};
19787
20120
  /**
19788
- * The delay on saving survey JSON on autoSave in ms. It is 500 ms by default.
19789
- * If during this period of time an end-user modify survey, then the last version will be saved only. Set to 0 to save immediately.
19790
- * @see isAutoSave
20121
+ * A delay between changing survey or theme settings and saving the survey or theme JSON schema, measured in milliseconds. Applies only when the [`isAutoSave`](#isAutoSave) property is `true`.
20122
+ *
20123
+ * Default value: 500 (taken from `settings.autoSave.delay`)
20124
+ *
20125
+ * If a user changes the settings once again during the delay, only the latest version will be saved.
19791
20126
  */
19792
20127
  _this.autoSaveDelay = _creator_settings__WEBPACK_IMPORTED_MODULE_2__["settings"].autoSave.delay;
19793
20128
  _this.autoSaveTimerId = null;
@@ -19828,6 +20163,8 @@ var CreatorBase = /** @class */ (function (_super) {
19828
20163
  * Specifies whether to display the Preview tab.
19829
20164
  *
19830
20165
  * Default value: `true`
20166
+ * @see activeTab
20167
+ * @see onPreviewSurveyCreated
19831
20168
  */
19832
20169
  get: function () { return this.showTestSurveyTab; },
19833
20170
  set: function (val) { this.showTestSurveyTab = val; },
@@ -19835,9 +20172,6 @@ var CreatorBase = /** @class */ (function (_super) {
19835
20172
  configurable: true
19836
20173
  });
19837
20174
  Object.defineProperty(CreatorBase.prototype, "allowEditSurveyTitle", {
19838
- /**
19839
- * Obsolete. Use the [`showSurveyTitle`](https://surveyjs.io/Documentation/Survey-Creator?id=surveycreator#showSurveyTitle) property instead.
19840
- */
19841
20175
  get: function () {
19842
20176
  return this.getPropertyValue("allowEditSurveyTitle", true);
19843
20177
  },
@@ -19851,7 +20185,7 @@ var CreatorBase = /** @class */ (function (_super) {
19851
20185
  });
19852
20186
  Object.defineProperty(CreatorBase.prototype, "showSurveyTitle", {
19853
20187
  /**
19854
- * Specifies whether users can see and edit the survey title and related survey properties.
20188
+ * Specifies whether users can see and edit the survey header and related survey properties.
19855
20189
  *
19856
20190
  * Default value: `true`
19857
20191
  */
@@ -19902,7 +20236,19 @@ var CreatorBase = /** @class */ (function (_super) {
19902
20236
  };
19903
20237
  Object.defineProperty(CreatorBase.prototype, "pageEditMode", {
19904
20238
  /**
19905
- * Contains the value of the [`pageEditMode`](https://surveyjs.io/Documentation/Survey-Creator?id=ICreatorOptions#pageEditMode) property specified in the constructor.
20239
+ * Specifies how Survey Creator users edit survey pages.
20240
+ *
20241
+ * Accepted values:
20242
+ *
20243
+ * - `"standard"` (default)
20244
+ * Questions and panels are divided between pages. Users can scroll the design surface to reach a required page.
20245
+ *
20246
+ * - `"single"`
20247
+ * All questions and panels belong to a single page. Users cannot add or remove pages.
20248
+ *
20249
+ * - `"bypage"`
20250
+ * Questions and panels are divided between pages. Users can use the page navigator to switch to a required page.
20251
+ * @see allowModifyPages
19906
20252
  */
19907
20253
  get: function () {
19908
20254
  return this.pageEditModeValue;
@@ -19935,16 +20281,6 @@ var CreatorBase = /** @class */ (function (_super) {
19935
20281
  configurable: true
19936
20282
  });
19937
20283
  Object.defineProperty(CreatorBase.prototype, "showingViewName", {
19938
- /**
19939
- * Returns the current show view name. The possible returns values are:
19940
- * "designer", "editor", "test", "embed", "logic" and "translation".
19941
- * @see showDesigner
19942
- * @see showPreview
19943
- * @see showJsonEditor
19944
- * @see showLogicEditor
19945
- * @see showTranslationEditor
19946
- * @see showEmbedEditor
19947
- */
19948
20284
  get: function () {
19949
20285
  return this.activeTab;
19950
20286
  },
@@ -20019,7 +20355,7 @@ var CreatorBase = /** @class */ (function (_super) {
20019
20355
  };
20020
20356
  Object.defineProperty(CreatorBase.prototype, "showPagesInPreviewTab", {
20021
20357
  /**
20022
- * Specifies whether to show the page selector at the bottom of the Preview tab.
20358
+ * Specifies whether to show a page selector at the bottom of the Preview tab.
20023
20359
  *
20024
20360
  * Default value: `true`
20025
20361
  */
@@ -20030,7 +20366,7 @@ var CreatorBase = /** @class */ (function (_super) {
20030
20366
  });
20031
20367
  Object.defineProperty(CreatorBase.prototype, "showSimulatorInPreviewTab", {
20032
20368
  /**
20033
- * Specifies whether the Preview tab displays the Device button that allows users to preview the survey on different device types.
20369
+ * Specifies whether the Preview tab displays a Device button that allows users to preview the survey on different device types.
20034
20370
  *
20035
20371
  * Default value: `true`
20036
20372
  */
@@ -20048,6 +20384,16 @@ var CreatorBase = /** @class */ (function (_super) {
20048
20384
  enumerable: false,
20049
20385
  configurable: true
20050
20386
  });
20387
+ CreatorBase.prototype.getCurrentTheme = function (content) {
20388
+ if (content === void 0) { content = "full"; }
20389
+ if (content === "full") {
20390
+ return this.theme;
20391
+ }
20392
+ var themePlugin = this.getPlugin("theme");
20393
+ if (!!themePlugin) {
20394
+ return themePlugin.getThemeChanges();
20395
+ }
20396
+ };
20051
20397
  CreatorBase.prototype.raiseThemeChanged = function () {
20052
20398
  this.hasPendingThemeChanges = true;
20053
20399
  var options = {
@@ -20063,6 +20409,7 @@ var CreatorBase = /** @class */ (function (_super) {
20063
20409
  * Specifies whether users can add, edit, and delete survey pages.
20064
20410
  *
20065
20411
  * Default value: `true`
20412
+ * @see pageEditMode
20066
20413
  */
20067
20414
  get: function () {
20068
20415
  return this._allowModifyPages;
@@ -20076,7 +20423,7 @@ var CreatorBase = /** @class */ (function (_super) {
20076
20423
  });
20077
20424
  Object.defineProperty(CreatorBase.prototype, "showDefaultLanguageInPreviewTab", {
20078
20425
  /**
20079
- * Specifies whether the Preview tab displays the language selector.
20426
+ * Specifies whether the Preview tab displays a language selector.
20080
20427
  *
20081
20428
  * Accepted values:
20082
20429
  *
@@ -20084,7 +20431,7 @@ var CreatorBase = /** @class */ (function (_super) {
20084
20431
  * Display the language selector only if the survey is translated into more than one language.
20085
20432
  *
20086
20433
  * - `true`
20087
- * Always display the language selector regardless of how many languages are used in the survey.
20434
+ * Always display the language selector regardless of how many languages the survey uses.
20088
20435
  *
20089
20436
  * - `false`
20090
20437
  * Never display the language selector.
@@ -20092,7 +20439,7 @@ var CreatorBase = /** @class */ (function (_super) {
20092
20439
  * - `"all"`
20093
20440
  * Always display the language selector with [all supported languages](https://github.com/surveyjs/survey-creator/tree/master/packages/survey-creator-core/src/localization).
20094
20441
  *
20095
- * **See also**: [Localization & Globalization](https://surveyjs.io/Documentation/Survey-Creator?id=localization)
20442
+ * [Localization & Globalization](https://surveyjs.io/survey-creator/documentation/survey-localization-translate-surveys-to-different-languages (linkStyle))
20096
20443
  */
20097
20444
  get: function () { return this.showDefaultLanguageInTestSurveyTab; },
20098
20445
  set: function (val) { this.showDefaultLanguageInTestSurveyTab = val; },
@@ -20101,7 +20448,7 @@ var CreatorBase = /** @class */ (function (_super) {
20101
20448
  });
20102
20449
  Object.defineProperty(CreatorBase.prototype, "showInvisibleElementsInPreviewTab", {
20103
20450
  /**
20104
- * Specifies whether the Preview tab displays a checkbox that allows users to show or hide invisible survey elements.
20451
+ * Specifies whether the Preview tab displays a toggle that allows users to show or hide invisible survey elements.
20105
20452
  *
20106
20453
  * Default value: `true`
20107
20454
  */
@@ -20206,9 +20553,17 @@ var CreatorBase = /** @class */ (function (_super) {
20206
20553
  });
20207
20554
  Object.defineProperty(CreatorBase.prototype, "activeTab", {
20208
20555
  /**
20209
- * Get/set the active tab.
20210
- * The following values are available: "designer", "editor", "test", "embed", "logic" and "translation".
20211
- * Please note, not all tabs are visible.
20556
+ * Gets or sets the currently displayed tab.
20557
+ *
20558
+ * Possible values:
20559
+ *
20560
+ * - [`"designer"`](#showDesignerTab)
20561
+ * - [`"test"`](#showPreviewTab)
20562
+ * - [`"theme"`](#showThemeTab)
20563
+ * - [`"editor"`](#showJSONEditorTab)
20564
+ * - [`"logic"`](#showLogicTab)
20565
+ * - [`"translation"`](#showLogicTab)
20566
+ * @see makeNewViewActive
20212
20567
  */
20213
20568
  get: function () {
20214
20569
  return this.viewType;
@@ -20220,21 +20575,22 @@ var CreatorBase = /** @class */ (function (_super) {
20220
20575
  configurable: true
20221
20576
  });
20222
20577
  /**
20223
- * Change the active view/tab. It will return false if it can't change the current tab.
20224
- * @param viewName name of new active view (tab). The following values are available: "designer", "editor", "test", "embed", "logic" and "translation".
20578
+ * Switches the [active tab](#activeTab). Returns `false` if the tab cannot be switched.
20579
+ * @param tabName A tab that you want to make active: `"designer"`, `"test"`, `"theme"`, `"editor"`, `"logic"`, or `"translation"`.
20580
+ * @returns `false` if the active tab cannot be switched, `true` otherwise.
20225
20581
  */
20226
- CreatorBase.prototype.makeNewViewActive = function (viewName) {
20582
+ CreatorBase.prototype.makeNewViewActive = function (tabName) {
20227
20583
  var _this = this;
20228
- if (viewName == this.viewType)
20584
+ if (tabName == this.viewType)
20229
20585
  return false;
20230
20586
  var plugin = this.currentPlugin;
20231
20587
  if (!!plugin && !!plugin.canDeactivateAsync) {
20232
20588
  plugin.canDeactivateAsync(function () {
20233
- _this.switchViewType(viewName);
20589
+ _this.switchViewType(tabName);
20234
20590
  });
20235
20591
  return undefined;
20236
20592
  }
20237
- return this.switchViewType(viewName);
20593
+ return this.switchViewType(tabName);
20238
20594
  };
20239
20595
  CreatorBase.prototype.switchViewType = function (viewName) {
20240
20596
  var _a, _b;
@@ -20515,7 +20871,7 @@ var CreatorBase = /** @class */ (function (_super) {
20515
20871
  var _this = this;
20516
20872
  if (!this.footerToolbar) {
20517
20873
  this.footerToolbar = new survey_core__WEBPACK_IMPORTED_MODULE_1__["ActionContainer"]();
20518
- ["undoredo", "designer", "test"].forEach(function (pluginKey) {
20874
+ ["designer", "undoredo", "test", "theme"].forEach(function (pluginKey) {
20519
20875
  var plugin = _this.getPlugin(pluginKey);
20520
20876
  if (!!plugin && !!plugin["addFooterActions"]) {
20521
20877
  plugin["addFooterActions"]();
@@ -21040,7 +21396,7 @@ var CreatorBase = /** @class */ (function (_super) {
21040
21396
  }
21041
21397
  };
21042
21398
  CreatorBase.prototype.convertQuestion = function (obj, className) {
21043
- var newQuestion = _questionconverter__WEBPACK_IMPORTED_MODULE_5__["QuestionConverter"].convertObject(obj, className, this.getDefaultElementJSON(obj.getType()));
21399
+ var newQuestion = _questionconverter__WEBPACK_IMPORTED_MODULE_5__["QuestionConverter"].convertObject(obj, className, this.getDefaultElementJSON(obj.getType()), this.getDefaultElementJSON(className));
21044
21400
  this.setModified({
21045
21401
  type: "QUESTION_CONVERTED",
21046
21402
  className: className,
@@ -21050,10 +21406,11 @@ var CreatorBase = /** @class */ (function (_super) {
21050
21406
  return newQuestion;
21051
21407
  };
21052
21408
  CreatorBase.prototype.getDefaultElementJSON = function (elType) {
21409
+ var _a;
21053
21410
  if (!this.toolbox)
21054
21411
  return null;
21055
- var item = this.toolbox.getItemByName(elType);
21056
- return !!item ? item.json : null;
21412
+ var json = (_a = this.toolbox.getItemByName(elType)) === null || _a === void 0 ? void 0 : _a.json;
21413
+ return !!json ? survey_core__WEBPACK_IMPORTED_MODULE_1__["Helpers"].createCopy(json) : null;
21057
21414
  };
21058
21415
  CreatorBase.prototype.singlePageJSON = function (json) {
21059
21416
  if (this.pageEditMode === "single") {
@@ -21453,11 +21810,9 @@ var CreatorBase = /** @class */ (function (_super) {
21453
21810
  configurable: true
21454
21811
  });
21455
21812
  /**
21456
- * Collapse certain property editor tab (category) in properties panel/grid
21457
- * name - tab category name
21458
- * @see collapseAllPropertyGridCategories
21813
+ * Collapses a specified category in Property Grid.
21814
+ * @param name A [category name](https://surveyjs.io/survey-creator/documentation/property-grid-customization#category).
21459
21815
  * @see expandPropertyGridCategory
21460
- * @see expandAllPropertyGridCategories
21461
21816
  */
21462
21817
  CreatorBase.prototype.collapsePropertyGridCategory = function (name) {
21463
21818
  if (!!this.designerPropertyGrid) {
@@ -21465,11 +21820,9 @@ var CreatorBase = /** @class */ (function (_super) {
21465
21820
  }
21466
21821
  };
21467
21822
  /**
21468
- * Expand certain property editor tab (category) in properties panel/grid
21469
- * name - tab category name
21823
+ * Expands a specified category in Property Grid.
21824
+ * @param name A [category name](https://surveyjs.io/survey-creator/documentation/property-grid-customization#category).
21470
21825
  * @see collapsePropertyGridCategory
21471
- * @see collapseAllPropertyGridCategories
21472
- * @see expandAllPropertyGridCategories
21473
21826
  */
21474
21827
  CreatorBase.prototype.expandPropertyGridCategory = function (name) {
21475
21828
  if (!!this.designerPropertyGrid) {
@@ -21477,9 +21830,7 @@ var CreatorBase = /** @class */ (function (_super) {
21477
21830
  }
21478
21831
  };
21479
21832
  /**
21480
- * Expand all property editor tabs (categories) in properties panel/grid
21481
- * @see collapsePropertyGridCategory
21482
- * @see expandPropertyGridCategory
21833
+ * Collapses all categories in Property Grid.
21483
21834
  * @see expandAllPropertyGridCategories
21484
21835
  */
21485
21836
  CreatorBase.prototype.collapseAllPropertyGridCategories = function () {
@@ -21488,44 +21839,23 @@ var CreatorBase = /** @class */ (function (_super) {
21488
21839
  }
21489
21840
  };
21490
21841
  /**
21491
- * Expand all property editor tabs (categories) in properties panel/grid
21492
- * @see collapsePropertyGridCategory
21842
+ * Expands all categories in Property Grid.
21493
21843
  * @see collapseAllPropertyGridCategories
21494
- * @see expandPropertyGridCategory
21495
21844
  */
21496
21845
  CreatorBase.prototype.expandAllPropertyGridCategories = function () {
21497
21846
  if (!!this.designerPropertyGrid) {
21498
21847
  this.designerPropertyGrid.expandAllCategories();
21499
21848
  }
21500
21849
  };
21501
- /**
21502
- * @Deprecated Obsolete. Collapse all property editor tabs (categories) in properties panel/grid
21503
- * @see collapseAllPropertyGridCategories
21504
- *
21505
- */
21506
21850
  CreatorBase.prototype.collapseAllPropertyTabs = function () {
21507
21851
  this.collapseAllPropertyGridCategories();
21508
21852
  };
21509
- /**
21510
- * @Deprecated Obsolete. Expand all property editor tabs (categories) in properties panel/grid
21511
- * @see expandAllPropertyGridCategories
21512
- */
21513
21853
  CreatorBase.prototype.expandAllPropertyTabs = function () {
21514
21854
  this.expandAllPropertyGridCategories();
21515
21855
  };
21516
- /**
21517
- * @Deprecated Obsolete. Expand certain property editor tab (category) in properties panel/grid
21518
- * name - tab category name
21519
- * @see expandPropertyGridCategory
21520
- */
21521
21856
  CreatorBase.prototype.expandPropertyTab = function (name) {
21522
21857
  this.expandPropertyGridCategory(name);
21523
21858
  };
21524
- /**
21525
- * @Deprecated Obsolete. Collapse certain property editor tab (category) in properties panel/grid
21526
- * name - tab category name
21527
- * @see collapsePropertyGridCategory
21528
- */
21529
21859
  CreatorBase.prototype.collapsePropertyTab = function (name) {
21530
21860
  this.collapsePropertyGridCategory(name);
21531
21861
  };
@@ -22919,6 +23249,7 @@ var EmptySurveyCreatorOptions = /** @class */ (function () {
22919
23249
  this.maximumRowsCount = settings.propertyGrid.maximumRowsCount;
22920
23250
  this.maximumRateValues = settings.propertyGrid.maximumRateValues;
22921
23251
  this.machineTranslationValue = false;
23252
+ this.inplaceEditForValues = false;
22922
23253
  this.maxNestedPanels = -1;
22923
23254
  }
22924
23255
  EmptySurveyCreatorOptions.prototype.getProcessedTranslationItemText = function (locale, locString, newText, obj) {
@@ -23218,6 +23549,8 @@ var QuestionFileEditorModel = /** @class */ (function (_super) {
23218
23549
  Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(QuestionFileEditorModel, _super);
23219
23550
  function QuestionFileEditorModel() {
23220
23551
  var _this = _super !== null && _super.apply(this, arguments) || this;
23552
+ _this._renderedValue = "";
23553
+ _this.placeholder = "";
23221
23554
  _this.onKeyDown = function (event) {
23222
23555
  _this.onTextKeyDownHandler(event);
23223
23556
  };
@@ -23233,6 +23566,7 @@ var QuestionFileEditorModel = /** @class */ (function (_super) {
23233
23566
  this.loadedFilesValue = newValue;
23234
23567
  newValue = this.previewValue[0].content;
23235
23568
  }
23569
+ this.updateRenderedValue(newValue);
23236
23570
  _super.prototype.setNewValue.call(this, newValue);
23237
23571
  };
23238
23572
  QuestionFileEditorModel.prototype.loadPreview = function (newValue) {
@@ -23272,6 +23606,24 @@ var QuestionFileEditorModel = /** @class */ (function (_super) {
23272
23606
  callback();
23273
23607
  }
23274
23608
  };
23609
+ QuestionFileEditorModel.prototype.updateRenderedValue = function (value) {
23610
+ var matchBase64 = !!value ? value.match(/^data:((?:\w+\/(?:(?!;).)+)?)((?:;[\w\W]*?[^;])*),/) : null;
23611
+ if (matchBase64) {
23612
+ this.placeholder = matchBase64[0] + "...";
23613
+ this._renderedValue = "";
23614
+ }
23615
+ else {
23616
+ this.placeholder = "";
23617
+ this._renderedValue = value;
23618
+ }
23619
+ };
23620
+ Object.defineProperty(QuestionFileEditorModel.prototype, "renderedValue", {
23621
+ get: function () {
23622
+ return this._renderedValue;
23623
+ },
23624
+ enumerable: false,
23625
+ configurable: true
23626
+ });
23275
23627
  QuestionFileEditorModel.prototype.updateValueFromInputEvent = function (event) {
23276
23628
  if (!survey_core__WEBPACK_IMPORTED_MODULE_1__["Helpers"].isTwoValueEquals(event.target.value, this.value)) {
23277
23629
  this.clear(undefined, false);
@@ -23279,6 +23631,10 @@ var QuestionFileEditorModel = /** @class */ (function (_super) {
23279
23631
  this.value = event.target.value;
23280
23632
  }
23281
23633
  };
23634
+ QuestionFileEditorModel.prototype.onSurveyValueChanged = function (newValue) {
23635
+ _super.prototype.onSurveyValueChanged.call(this, newValue);
23636
+ this.updateRenderedValue(newValue);
23637
+ };
23282
23638
  QuestionFileEditorModel.prototype.onInputChange = function (event) {
23283
23639
  if (event.target !== document.activeElement) {
23284
23640
  this.updateValueFromInputEvent(event);
@@ -23296,6 +23652,12 @@ var QuestionFileEditorModel = /** @class */ (function (_super) {
23296
23652
  QuestionFileEditorModel.prototype.getChooseButtonCss = function () {
23297
23653
  return new survey_core__WEBPACK_IMPORTED_MODULE_1__["CssClassBuilder"]().append(this.cssClasses.chooseButton).append(this.cssClasses.chooseButtonDisabled, this.isInputReadOnly).toString();
23298
23654
  };
23655
+ Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([
23656
+ Object(survey_core__WEBPACK_IMPORTED_MODULE_1__["property"])()
23657
+ ], QuestionFileEditorModel.prototype, "_renderedValue", void 0);
23658
+ Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([
23659
+ Object(survey_core__WEBPACK_IMPORTED_MODULE_1__["property"])()
23660
+ ], QuestionFileEditorModel.prototype, "placeholder", void 0);
23299
23661
  return QuestionFileEditorModel;
23300
23662
  }(survey_core__WEBPACK_IMPORTED_MODULE_1__["QuestionFileModel"]));
23301
23663
 
@@ -24110,7 +24472,7 @@ var __spreadArray = function (to, from) {
24110
24472
  /*!******************************!*\
24111
24473
  !*** ./src/entries/index.ts ***!
24112
24474
  \******************************/
24113
- /*! exports provided: Version, enStrings, editorLocalization, defaultStrings, localization, QuestionConvertMode, settings, EmptySurveyCreatorOptions, CreatorAction, TabbedMenuItem, TabbedMenuContainer, ToolbarActionContainer, CreatorEvent, CreatorBase, SurveyCreatorModel, StylesManager, initializeDesignTimeSurveyModel, editableStringRendererName, getElementWrapperComponentName, getQuestionContentWrapperComponentName, getElementWrapperComponentData, getItemValueWrapperComponentName, getItemValueWrapperComponentData, isStringEditable, isTextInput, registerAdorner, removeAdorners, CreatorResponsivityManager, AceJsonEditorModel, TabJsonEditorAcePlugin, JsonEditorBaseModel, TabJsonEditorBasePlugin, TextareaJsonEditorModel, TabJsonEditorTextareaPlugin, TestSurveyTabViewModel, TabTestPlugin, createColor, createBoxShadow, parseBoxShadow, DefaultFonts, fontsettingsToCssVariable, fontsettingsFromCssVariable, elementSettingsToCssVariable, elementSettingsFromCssVariable, Themes, PredefinedThemes, getThemeFullName, PredefinedColors, ThemeBuilder, ThemeTabPlugin, initLogicOperator, LogicEvent, SurveyLogic, TranslationItemBase, TranslationItemString, TranslationItem, TranslationGroup, Translation, TranslationEditor, createImportCSVAction, createExportCSVAction, translationCss, TabTranslationPlugin, initialSettingsAllowShowEmptyTitleInDesignMode, TabDesignerViewModel, TabDesignerPlugin, SurveyLogicUI, TabLogicPlugin, logicCss, ToolboxToolViewModel, PageNavigatorViewModel, PageAdorner, RowViewModel, QuestionAdornerViewModel, QuestionDropdownAdornerViewModel, QuestionImageAdornerViewModel, QuestionRatingAdornerViewModel, ItemValueWrapperViewModel, ImageItemValueWrapperViewModel, MatrixCellWrapperEditSurvey, MatrixCellWrapperViewModel, SurveySimulatorModel, DEFAULT_MONITOR_DPI, simulatorDevices, SurveyResultsItemModel, SurveyResultsModel, LogoImageViewModel, StringItemsNavigatorBase, StringEditorConnector, StringEditorViewModelBase, QuestionEmbeddedSurveyModel, QuestionLinkValueModel, EditorLocalization, getLocString, SurveyJSON5, QuestionSpinEditorModel, QuestionColorModel, QuestionFileEditorModel, ResetValueAdorner, QuestionTextWithResetModel, QuestionCommentWithResetModel, setSurveyJSONForPropertyGrid, PropertyEditorSetupValue, PropertyGridEditorCollection, PropertyGridTitleActionsCreator, PropertyJSONGenerator, PropertyGridModel, PropertyGridEditor, PropertyGridEditorBoolean, PropertyGridEditorStringBase, PropertyGridEditorString, PropertyGridLinkEditor, PropertyGridColorEditor, PropertyGridEditorNumber, PropertyGridEditorImageSize, PropertyGridEditorText, PropertyGridEditorHtml, PropertyGridEditorColor, PropertyGridEditorStringArray, PropertyGridEditorDropdown, PropertyGridEditorSet, PropertyGridEditorPage, PropertyGridEditorQuestion, PropertyGridEditorQuestionSelectBase, PropertyGridEditorQuestionCarryForward, PropertyGridEditorQuestionValue, PropertyGridEditorExpression, PropertyGridEditorCondition, PropertyGridEditorMatrix, PropertyGridEditorMatrixItemValues, PropertyGridEditorMatrixRateValues, PropertyGridEditorMatrixColumns, PropertyGridEditorMatrixPages, PropertyGridEditorMatrixCalculatedValues, PropertyGridEditorMatrixHtmlConditions, PropertyGridEditorMatrixUrlConditions, PropertyGridEditorMatrixMutlipleTextItems, PropertyGridEditorMatrixMultipleTypes, PropertyGridEditorMatrixValidators, PropertyGridEditorMatrixTriggers, PropertyGridEditorBindings, PropertyGridViewModel, ObjectSelectorItem, ObjectSelector, ObjectSelectorModel, PropertyGridEditorQuestionRestfull, PropertyGridValueEditorBase, PropertyGridCellsEditor, PropertyGridValueEditor, PropertyGridRowValueEditor, PropertyGridPanelValueEditor, PropertyGridTriggerValueEditor, PropertyGridTriggerValueInLogicEditor, propertyGridCss, QuestionConverter, svgBundle, SurveyTextWorkerError, SurveyTextWorkerParserError, SurveyTextWorkerJsonError, SurveyTextWorker, JsonDuplicateNameError, QuestionToolboxCategory, QuestionToolboxItem, QuestionToolbox, SidebarModel, SidebarTabModel, getNextItemValue, getNextItemText, getNextValue, findParentNode, focusFirstControl, getFirstNonTextElement, getNodesFromKoComponentInfo, propertyExists, isPropertyVisible, toggleHovered, clearNewLines, select, copyObject, copyCssClasses, assignDefaultV2Classes, wrapTextByCurlyBraces, capitalize, notShortCircuitAnd, imageMimeTypes, getAcceptedTypesByContentMode, getQuestionFromObj, ingectAlpha, convertRgbaToString, parseRgbaFromString, parseColor, HSBToRGB, RGBToHSB, assign, ColorCalculator, SurveyQuestionEditorDefinition, ObjType, SurveyHelper, ResizeManager, UndoRedoPlugin, undoRedoTransaction, ignoreUndoRedo, UndoRedoManager, Transaction, UndoRedoAction, UndoRedoArrayAction, PagesController */
24475
+ /*! exports provided: Version, enStrings, editorLocalization, defaultStrings, localization, QuestionConvertMode, settings, EmptySurveyCreatorOptions, CreatorAction, TabbedMenuItem, TabbedMenuContainer, ToolbarActionContainer, CreatorEvent, CreatorBase, SurveyCreatorModel, StylesManager, initializeDesignTimeSurveyModel, editableStringRendererName, getElementWrapperComponentName, getQuestionContentWrapperComponentName, getElementWrapperComponentData, getItemValueWrapperComponentName, getItemValueWrapperComponentData, isStringEditable, isTextInput, registerAdorner, removeAdorners, CreatorResponsivityManager, AceJsonEditorModel, TabJsonEditorAcePlugin, JsonEditorBaseModel, TabJsonEditorBasePlugin, TextareaJsonEditorModel, TabJsonEditorTextareaPlugin, TestSurveyTabViewModel, TabTestPlugin, createColor, createBoxShadow, parseBoxShadow, DefaultFonts, fontsettingsToCssVariable, fontsettingsFromCssVariable, elementSettingsToCssVariable, elementSettingsFromCssVariable, Themes, PredefinedThemes, getThemeFullName, PredefinedColors, findSuitableTheme, ThemeBuilder, ThemeTabPlugin, initLogicOperator, LogicEvent, SurveyLogic, TranslationItemBase, TranslationItemString, TranslationItem, TranslationGroup, Translation, TranslationEditor, createImportCSVAction, createExportCSVAction, translationCss, TabTranslationPlugin, initialSettingsAllowShowEmptyTitleInDesignMode, TabDesignerViewModel, TabDesignerPlugin, SurveyLogicUI, TabLogicPlugin, logicCss, ToolboxToolViewModel, PageNavigatorViewModel, PageAdorner, RowViewModel, QuestionAdornerViewModel, QuestionDropdownAdornerViewModel, QuestionImageAdornerViewModel, QuestionRatingAdornerViewModel, ItemValueWrapperViewModel, ImageItemValueWrapperViewModel, MatrixCellWrapperEditSurvey, MatrixCellWrapperViewModel, SurveySimulatorModel, DEFAULT_MONITOR_DPI, simulatorDevices, SurveyResultsItemModel, SurveyResultsModel, LogoImageViewModel, StringItemsNavigatorBase, StringEditorConnector, StringEditorViewModelBase, QuestionEmbeddedSurveyModel, QuestionLinkValueModel, EditorLocalization, getLocString, SurveyJSON5, QuestionSpinEditorModel, QuestionColorModel, QuestionFileEditorModel, ResetValueAdorner, QuestionTextWithResetModel, QuestionCommentWithResetModel, setSurveyJSONForPropertyGrid, PropertyEditorSetupValue, PropertyGridEditorCollection, PropertyGridTitleActionsCreator, PropertyJSONGenerator, PropertyGridModel, PropertyGridEditor, PropertyGridEditorBoolean, PropertyGridEditorStringBase, PropertyGridEditorString, PropertyGridLinkEditor, PropertyGridEditorColor, PropertyGridEditorNumber, PropertyGridEditorImageSize, PropertyGridEditorText, PropertyGridEditorHtml, PropertyGridEditorStringArray, PropertyGridEditorDropdown, PropertyGridEditorSet, PropertyGridEditorPage, PropertyGridEditorQuestion, PropertyGridEditorQuestionSelectBase, PropertyGridEditorQuestionCarryForward, PropertyGridEditorQuestionValue, PropertyGridEditorExpression, PropertyGridEditorCondition, PropertyGridEditorMatrix, PropertyGridEditorMatrixItemValues, PropertyGridEditorMatrixRateValues, PropertyGridEditorMatrixColumns, PropertyGridEditorMatrixPages, PropertyGridEditorMatrixCalculatedValues, PropertyGridEditorMatrixHtmlConditions, PropertyGridEditorMatrixUrlConditions, PropertyGridEditorMatrixMutlipleTextItems, PropertyGridEditorMatrixMultipleTypes, PropertyGridEditorMatrixValidators, PropertyGridEditorMatrixTriggers, PropertyGridEditorBindings, PropertyGridViewModel, ObjectSelectorItem, ObjectSelector, ObjectSelectorModel, PropertyGridEditorQuestionRestfull, PropertyGridValueEditorBase, PropertyGridCellsEditor, PropertyGridValueEditor, PropertyGridRowValueEditor, PropertyGridPanelValueEditor, PropertyGridTriggerValueEditor, PropertyGridTriggerValueInLogicEditor, propertyGridCss, QuestionConverter, svgBundle, SurveyTextWorkerError, SurveyTextWorkerParserError, SurveyTextWorkerJsonError, SurveyTextWorker, JsonDuplicateNameError, QuestionToolboxCategory, QuestionToolboxItem, QuestionToolbox, SidebarModel, SidebarTabModel, getNextItemValue, getNextItemText, getNextValue, findParentNode, focusFirstControl, getFirstNonTextElement, getNodesFromKoComponentInfo, propertyExists, isPropertyVisible, toggleHovered, clearNewLines, select, copyObject, copyCssClasses, assignDefaultV2Classes, wrapTextByCurlyBraces, capitalize, notShortCircuitAnd, imageMimeTypes, getAcceptedTypesByContentMode, getQuestionFromObj, ingectAlpha, convertRgbaToString, parseRgbaFromString, parseColor, HSBToRGB, RGBToHSB, assign, ColorCalculator, SurveyQuestionEditorDefinition, ObjType, SurveyHelper, ResizeManager, UndoRedoPlugin, undoRedoTransaction, ignoreUndoRedo, UndoRedoManager, Transaction, UndoRedoAction, UndoRedoArrayAction, PagesController */
24114
24476
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
24115
24477
 
24116
24478
  "use strict";
@@ -24225,6 +24587,8 @@ __webpack_require__.r(__webpack_exports__);
24225
24587
 
24226
24588
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "PredefinedColors", function() { return _components_tabs_themes__WEBPACK_IMPORTED_MODULE_14__["PredefinedColors"]; });
24227
24589
 
24590
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "findSuitableTheme", function() { return _components_tabs_themes__WEBPACK_IMPORTED_MODULE_14__["findSuitableTheme"]; });
24591
+
24228
24592
  /* harmony import */ var _components_tabs_theme_builder__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../components/tabs/theme-builder */ "./src/components/tabs/theme-builder.ts");
24229
24593
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ThemeBuilder", function() { return _components_tabs_theme_builder__WEBPACK_IMPORTED_MODULE_15__["ThemeBuilder"]; });
24230
24594
 
@@ -24387,7 +24751,7 @@ __webpack_require__.r(__webpack_exports__);
24387
24751
 
24388
24752
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "PropertyGridLinkEditor", function() { return _property_grid__WEBPACK_IMPORTED_MODULE_48__["PropertyGridLinkEditor"]; });
24389
24753
 
24390
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "PropertyGridColorEditor", function() { return _property_grid__WEBPACK_IMPORTED_MODULE_48__["PropertyGridColorEditor"]; });
24754
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "PropertyGridEditorColor", function() { return _property_grid__WEBPACK_IMPORTED_MODULE_48__["PropertyGridEditorColor"]; });
24391
24755
 
24392
24756
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "PropertyGridEditorNumber", function() { return _property_grid__WEBPACK_IMPORTED_MODULE_48__["PropertyGridEditorNumber"]; });
24393
24757
 
@@ -24397,8 +24761,6 @@ __webpack_require__.r(__webpack_exports__);
24397
24761
 
24398
24762
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "PropertyGridEditorHtml", function() { return _property_grid__WEBPACK_IMPORTED_MODULE_48__["PropertyGridEditorHtml"]; });
24399
24763
 
24400
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "PropertyGridEditorColor", function() { return _property_grid__WEBPACK_IMPORTED_MODULE_48__["PropertyGridEditorColor"]; });
24401
-
24402
24764
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "PropertyGridEditorStringArray", function() { return _property_grid__WEBPACK_IMPORTED_MODULE_48__["PropertyGridEditorStringArray"]; });
24403
24765
 
24404
24766
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "PropertyGridEditorDropdown", function() { return _property_grid__WEBPACK_IMPORTED_MODULE_48__["PropertyGridEditorDropdown"]; });
@@ -24602,7 +24964,7 @@ __webpack_require__.r(__webpack_exports__);
24602
24964
  /* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_71__ = __webpack_require__(/*! survey-core */ "survey-core");
24603
24965
  /* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_71___default = /*#__PURE__*/__webpack_require__.n(survey_core__WEBPACK_IMPORTED_MODULE_71__);
24604
24966
  var Version;
24605
- Version = "" + "1.9.111";
24967
+ Version = "" + "1.9.112";
24606
24968
  //should be loaded before other styles for easier override
24607
24969
  __webpack_require__(/*! ../utils/context-button.scss */ "./src/utils/context-button.scss");
24608
24970
 
@@ -24692,7 +25054,7 @@ __webpack_require__(/*! ../utils/design.scss */ "./src/utils/design.scss");
24692
25054
  __webpack_require__(/*! ../utils/layout.scss */ "./src/utils/layout.scss");
24693
25055
 
24694
25056
  survey_core__WEBPACK_IMPORTED_MODULE_71__["settings"].supportCreatorV2 = true;
24695
- Object(survey_core__WEBPACK_IMPORTED_MODULE_71__["checkLibraryVersion"])("" + "1.9.111", "survey-creator-core");
25057
+ Object(survey_core__WEBPACK_IMPORTED_MODULE_71__["checkLibraryVersion"])("" + "1.9.112", "survey-creator-core");
24696
25058
 
24697
25059
 
24698
25060
  /***/ }),
@@ -26973,11 +27335,13 @@ var enStrings = {
26973
27335
  question_visibilityName: "Show (hide) question",
26974
27336
  question_enableName: "Enable (disable) question",
26975
27337
  question_requireName: "Make question required",
26976
- question_resetValue: "Reset question value",
27338
+ question_resetValueName: "Reset question value",
27339
+ question_setValueName: "Set question value",
26977
27340
  column_visibilityName: "Show (hide) column",
26978
27341
  column_enableName: "Enable (disable) column",
26979
27342
  column_requireName: "Make column required",
26980
- column_resetValue: "Reset column value",
27343
+ column_resetValueName: "Reset column value",
27344
+ column_setValueName: "Set column value",
26981
27345
  trigger_completeName: "Complete survey",
26982
27346
  trigger_setvalueName: "Set answer",
26983
27347
  trigger_copyvalueName: "Copy answer",
@@ -27004,9 +27368,14 @@ var enStrings = {
27004
27368
  question_visibilityText: "make question {0} visible",
27005
27369
  question_enableText: "make question {0} enable",
27006
27370
  question_requireText: "make question {0} required",
27371
+ question_resetValueText: "reset value for question: {0}",
27372
+ question_setValueText: "assign value: {1} to question: {0}",
27007
27373
  column_visibilityText: "make column {0} of question {1} visible",
27008
27374
  column_enableText: "make column {0} of question {1} enable",
27009
27375
  column_requireText: "make column {0} of question {1} required",
27376
+ column_resetValueText: "reset cell value for column: {0}",
27377
+ column_setValueText: "assign cell value: {1} to column: {0}",
27378
+ setValueExpressionPlaceholder: "An expression whose result will be assigned to the target question.",
27010
27379
  trigger_completeText: "survey becomes completed",
27011
27380
  trigger_setvalueText: "set into question: {0} value {1}",
27012
27381
  trigger_setvalueEmptyText: "clear question value: {0}",
@@ -27727,6 +28096,7 @@ var enStrings = {
27727
28096
  defaultValueExpression: "Default value expression",
27728
28097
  requiredIf: "Required if",
27729
28098
  resetValueIf: "Reset value if",
28099
+ setValueIf: "Set value if",
27730
28100
  validators: "Validators",
27731
28101
  bindings: "Bindings",
27732
28102
  renderAs: "Render as",
@@ -27804,6 +28174,8 @@ var enStrings = {
27804
28174
  groupGeneral: "General",
27805
28175
  groupAdvanced: "Advanced",
27806
28176
  groupHeader: "Header",
28177
+ groupBackground: "Background",
28178
+ groupAppearance: "Appearance",
27807
28179
  themeName: "Theme",
27808
28180
  themeMode: "Question appearance",
27809
28181
  themeModePanels: "Default",
@@ -27815,13 +28187,14 @@ var enStrings = {
27815
28187
  primaryDarkColor: "Hover",
27816
28188
  primaryLightColor: "Selected",
27817
28189
  coverTitleForecolor: "Title forecolor",
27818
- coverOverlap: "Overlap",
28190
+ coverDescriptionForecolor: "Description forecolor",
28191
+ coverOverlapEnabled: "Overlap",
27819
28192
  backgroundDimColor: "Background color",
27820
28193
  backgroundImage: "Background image",
27821
28194
  backgroundImageFitAuto: "Auto",
27822
28195
  backgroundImageFitCover: "Cover",
27823
28196
  backgroundImageFitContain: "Contain",
27824
- backgroundImageFitFill: "Fill",
28197
+ backgroundImageFitFill: "Stretch",
27825
28198
  backgroundImageFitTile: "Tile",
27826
28199
  backgroundOpacity: "Opacity",
27827
28200
  backgroundImageAttachmentFixed: "Fixed",
@@ -27868,12 +28241,12 @@ var enStrings = {
27868
28241
  questionShadow: "Shadow effects",
27869
28242
  editorShadow: "Input element shadow effects",
27870
28243
  headerView: "View",
27871
- headerViewTitle: "Title",
27872
- headerViewCover: "Cover",
27873
- coverAreaWidth: "Content area width",
27874
- coverAreaWidthSurvey: "Same as survey",
27875
- coverAreaWidthContainer: "Fit to page",
27876
- coverTextWidth: "Text width",
28244
+ headerViewBasic: "Basic",
28245
+ headerViewAdvanced: "Advanced",
28246
+ coverInheritWidthFrom: "Content area width",
28247
+ coverInheritWidthFromSurvey: "Same as survey",
28248
+ coverInheritWidthFromPage: "Fit to page",
28249
+ coverTextAreaWidth: "Text width",
27877
28250
  coverBackgroundColorSwitch: "Background color",
27878
28251
  coverBackgroundColorNone: "None",
27879
28252
  coverBackgroundColorAccentColor: "Accent color",
@@ -28065,8 +28438,8 @@ var UndoRedoPlugin = /** @class */ (function () {
28065
28438
  UndoRedoPlugin.prototype.update = function () {
28066
28439
  };
28067
28440
  UndoRedoPlugin.prototype.addFooterActions = function () {
28068
- this.model.undoAction && (this.creator.footerToolbar.actions.push(this.model.undoAction));
28069
- this.model.redoAction && (this.creator.footerToolbar.actions.push(this.model.redoAction));
28441
+ this.model.undoAction && (this.creator.footerToolbar.actions.splice(2, 0, this.model.undoAction));
28442
+ this.model.redoAction && (this.creator.footerToolbar.actions.splice(3, 0, this.model.redoAction));
28070
28443
  };
28071
28444
  return UndoRedoPlugin;
28072
28445
  }());
@@ -28302,6 +28675,9 @@ var UndoRedoController = /** @class */ (function (_super) {
28302
28675
  locTitleName: "ed.undo",
28303
28676
  showTitle: false,
28304
28677
  visible: new survey_core__WEBPACK_IMPORTED_MODULE_1__["ComputedUpdater"](function () { return _this.creator.activeTab === "designer"; }),
28678
+ needSeparator: new survey_core__WEBPACK_IMPORTED_MODULE_1__["ComputedUpdater"](function () {
28679
+ return _this.creator.isMobileView;
28680
+ }),
28305
28681
  action: function () { return _this.undo(); }
28306
28682
  });
28307
28683
  this.redoAction = new survey_core__WEBPACK_IMPORTED_MODULE_1__["Action"]({
@@ -28588,6 +28964,7 @@ var UndoRedoArrayAction = /** @class */ (function () {
28588
28964
  this._index = 0;
28589
28965
  this._itemsToAdd = [];
28590
28966
  this._deletedItems = [];
28967
+ this.survey = _sender.getSurvey();
28591
28968
  this._index = arrayChanges.index;
28592
28969
  this._itemsToAdd = arrayChanges.itemsToAdd;
28593
28970
  this._deletedItems = arrayChanges.deletedItems;
@@ -28596,10 +28973,13 @@ var UndoRedoArrayAction = /** @class */ (function () {
28596
28973
  this.rollback();
28597
28974
  };
28598
28975
  UndoRedoArrayAction.prototype.rollback = function () {
28976
+ this._sender = this.getSenderElement();
28977
+ if (!this._sender)
28978
+ return;
28599
28979
  var array = this._sender[this._propertyName];
28600
28980
  var index = this._index;
28601
28981
  var deleteCount = this._itemsToAdd.length;
28602
- var itemsToAdd = [].concat(this._deletedItems);
28982
+ var itemsToAdd = this.getItemsToAdd();
28603
28983
  this._deletedItems = array.splice.apply(array, [index, deleteCount].concat(itemsToAdd));
28604
28984
  this._itemsToAdd = [].concat(itemsToAdd);
28605
28985
  };
@@ -28623,6 +29003,31 @@ var UndoRedoArrayAction = /** @class */ (function () {
28623
29003
  UndoRedoArrayAction.prototype.tryMerge = function (sender, propertyName, newValue) {
28624
29004
  return false;
28625
29005
  };
29006
+ UndoRedoArrayAction.prototype.getSenderElement = function () {
29007
+ if (!this._sender.isDisposed || !this.survey)
29008
+ return this._sender;
29009
+ var name = this._sender["name"];
29010
+ if (this._sender["isPage"] === true)
29011
+ return this.survey.getPageByName(name);
29012
+ if (this._sender["isPanel"] === true)
29013
+ return this.survey.getPanelByName(name);
29014
+ if (this._sender["isQuestion"] === true)
29015
+ return this.survey.getQuestionByName(name);
29016
+ return this._sender;
29017
+ };
29018
+ UndoRedoArrayAction.prototype.getItemsToAdd = function () {
29019
+ var res = [];
29020
+ for (var i = 0; i < this._deletedItems.length; i++) {
29021
+ var obj = this._deletedItems[i];
29022
+ if (obj.isDisposed && obj.getType) {
29023
+ var json = obj.toJSON();
29024
+ obj = survey_core__WEBPACK_IMPORTED_MODULE_0__["Serializer"].createClass(obj.getType());
29025
+ obj.fromJSON(json);
29026
+ }
29027
+ res.push(obj);
29028
+ }
29029
+ return res;
29030
+ };
28626
29031
  return UndoRedoArrayAction;
28627
29032
  }());
28628
29033
 
@@ -29597,6 +30002,7 @@ var ConditionEditor = /** @class */ (function (_super) {
29597
30002
  name: "conjunction",
29598
30003
  type: "dropdown",
29599
30004
  renderAs: "logicoperator",
30005
+ searchEnabled: false,
29600
30006
  titleLocation: "hidden",
29601
30007
  showOptionsCaption: false,
29602
30008
  visibleIf: "{panelIndex} > 0",
@@ -30708,7 +31114,7 @@ var FastEntryEditor = /** @class */ (function (_super) {
30708
31114
  /*!************************************!*\
30709
31115
  !*** ./src/property-grid/index.ts ***!
30710
31116
  \************************************/
30711
- /*! exports provided: setSurveyJSONForPropertyGrid, PropertyEditorSetupValue, PropertyGridEditorCollection, PropertyGridTitleActionsCreator, PropertyJSONGenerator, PropertyGridModel, PropertyGridEditor, PropertyGridEditorBoolean, PropertyGridEditorStringBase, PropertyGridEditorString, PropertyGridLinkEditor, PropertyGridColorEditor, PropertyGridEditorNumber, PropertyGridEditorImageSize, PropertyGridEditorText, PropertyGridEditorHtml, PropertyGridEditorColor, PropertyGridEditorStringArray, PropertyGridEditorDropdown, PropertyGridEditorSet, PropertyGridEditorPage, PropertyGridEditorQuestion, PropertyGridEditorQuestionSelectBase, PropertyGridEditorQuestionCarryForward, PropertyGridEditorQuestionValue */
31117
+ /*! exports provided: setSurveyJSONForPropertyGrid, PropertyEditorSetupValue, PropertyGridEditorCollection, PropertyGridTitleActionsCreator, PropertyJSONGenerator, PropertyGridModel, PropertyGridEditor, PropertyGridEditorBoolean, PropertyGridEditorStringBase, PropertyGridEditorString, PropertyGridLinkEditor, PropertyGridEditorColor, PropertyGridEditorNumber, PropertyGridEditorImageSize, PropertyGridEditorText, PropertyGridEditorHtml, PropertyGridEditorStringArray, PropertyGridEditorDropdown, PropertyGridEditorSet, PropertyGridEditorPage, PropertyGridEditorQuestion, PropertyGridEditorQuestionSelectBase, PropertyGridEditorQuestionCarryForward, PropertyGridEditorQuestionValue */
30712
31118
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
30713
31119
 
30714
31120
  "use strict";
@@ -30724,12 +31130,11 @@ __webpack_require__.r(__webpack_exports__);
30724
31130
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PropertyGridEditorStringBase", function() { return PropertyGridEditorStringBase; });
30725
31131
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PropertyGridEditorString", function() { return PropertyGridEditorString; });
30726
31132
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PropertyGridLinkEditor", function() { return PropertyGridLinkEditor; });
30727
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PropertyGridColorEditor", function() { return PropertyGridColorEditor; });
31133
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PropertyGridEditorColor", function() { return PropertyGridEditorColor; });
30728
31134
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PropertyGridEditorNumber", function() { return PropertyGridEditorNumber; });
30729
31135
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PropertyGridEditorImageSize", function() { return PropertyGridEditorImageSize; });
30730
31136
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PropertyGridEditorText", function() { return PropertyGridEditorText; });
30731
31137
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PropertyGridEditorHtml", function() { return PropertyGridEditorHtml; });
30732
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PropertyGridEditorColor", function() { return PropertyGridEditorColor; });
30733
31138
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PropertyGridEditorStringArray", function() { return PropertyGridEditorStringArray; });
30734
31139
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PropertyGridEditorDropdown", function() { return PropertyGridEditorDropdown; });
30735
31140
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PropertyGridEditorSet", function() { return PropertyGridEditorSet; });
@@ -31916,12 +32321,10 @@ var PropertyGridLinkEditor = /** @class */ (function (_super) {
31916
32321
  return _super !== null && _super.apply(this, arguments) || this;
31917
32322
  }
31918
32323
  PropertyGridLinkEditor.prototype.fit = function (prop) {
31919
- return ["logo", "imageLink", "backgroundImage"].indexOf(prop.name) > -1;
32324
+ return prop.type === "url" || prop.type === "file";
31920
32325
  };
31921
32326
  PropertyGridLinkEditor.prototype.getJSON = function (obj, prop, options) {
31922
- var _a;
31923
- var maxSize = ((_a = options.onUploadFile) === null || _a === void 0 ? void 0 : _a.isEmpty) ? 65536 : undefined;
31924
- var res = { type: "fileedit", storeDataAsText: false, maxSize: maxSize };
32327
+ var res = { type: "fileedit", storeDataAsText: false };
31925
32328
  return res;
31926
32329
  };
31927
32330
  PropertyGridLinkEditor.prototype.onCreated = function (obj, question, prop, options) {
@@ -31941,19 +32344,19 @@ var PropertyGridLinkEditor = /** @class */ (function (_super) {
31941
32344
  return PropertyGridLinkEditor;
31942
32345
  }(PropertyGridEditor));
31943
32346
 
31944
- var PropertyGridColorEditor = /** @class */ (function (_super) {
31945
- Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(PropertyGridColorEditor, _super);
31946
- function PropertyGridColorEditor() {
32347
+ var PropertyGridEditorColor = /** @class */ (function (_super) {
32348
+ Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(PropertyGridEditorColor, _super);
32349
+ function PropertyGridEditorColor() {
31947
32350
  return _super !== null && _super.apply(this, arguments) || this;
31948
32351
  }
31949
- PropertyGridColorEditor.prototype.fit = function (prop) {
31950
- return ["penColor", "backgroundColor"].indexOf(prop.name) > -1;
32352
+ PropertyGridEditorColor.prototype.fit = function (prop) {
32353
+ return prop.type == "color";
31951
32354
  };
31952
- PropertyGridColorEditor.prototype.getJSON = function (obj, prop, options) {
32355
+ PropertyGridEditorColor.prototype.getJSON = function (obj, prop, options) {
31953
32356
  var res = { type: "color", allowEmptyValue: true };
31954
32357
  return res;
31955
32358
  };
31956
- return PropertyGridColorEditor;
32359
+ return PropertyGridEditorColor;
31957
32360
  }(PropertyGridEditor));
31958
32361
 
31959
32362
  var PropertyGridEditorNumber = /** @class */ (function (_super) {
@@ -32037,20 +32440,6 @@ var PropertyGridEditorHtml = /** @class */ (function (_super) {
32037
32440
  return PropertyGridEditorHtml;
32038
32441
  }(PropertyGridEditorStringBase));
32039
32442
 
32040
- var PropertyGridEditorColor = /** @class */ (function (_super) {
32041
- Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(PropertyGridEditorColor, _super);
32042
- function PropertyGridEditorColor() {
32043
- return _super !== null && _super.apply(this, arguments) || this;
32044
- }
32045
- PropertyGridEditorColor.prototype.fit = function (prop) {
32046
- return prop.type == "color";
32047
- };
32048
- PropertyGridEditorColor.prototype.getJSON = function (obj, prop, options) {
32049
- return { type: "text", inputType: "color" };
32050
- };
32051
- return PropertyGridEditorColor;
32052
- }(PropertyGridEditor));
32053
-
32054
32443
  var PropertyGridEditorStringArray = /** @class */ (function (_super) {
32055
32444
  Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(PropertyGridEditorStringArray, _super);
32056
32445
  function PropertyGridEditorStringArray() {
@@ -32368,7 +32757,6 @@ var PropertyGridEditorQuestionValue = /** @class */ (function (_super) {
32368
32757
  PropertyGridEditorCollection.register(new PropertyGridEditorBoolean());
32369
32758
  PropertyGridEditorCollection.register(new PropertyGridEditorString());
32370
32759
  PropertyGridEditorCollection.register(new PropertyGridEditorNumber());
32371
- PropertyGridEditorCollection.register(new PropertyGridEditorColor());
32372
32760
  PropertyGridEditorCollection.register(new PropertyGridEditorText());
32373
32761
  PropertyGridEditorCollection.register(new PropertyGridEditorHtml());
32374
32762
  PropertyGridEditorCollection.register(new PropertyGridEditorDropdown());
@@ -32380,7 +32768,7 @@ PropertyGridEditorCollection.register(new PropertyGridEditorQuestionValue());
32380
32768
  PropertyGridEditorCollection.register(new PropertyGridEditorQuestionSelectBase());
32381
32769
  PropertyGridEditorCollection.register(new PropertyGridEditorQuestionCarryForward());
32382
32770
  PropertyGridEditorCollection.register(new PropertyGridEditorImageSize());
32383
- PropertyGridEditorCollection.register(new PropertyGridColorEditor());
32771
+ PropertyGridEditorCollection.register(new PropertyGridEditorColor());
32384
32772
  survey_core__WEBPACK_IMPORTED_MODULE_1__["QuestionFactory"].Instance.registerQuestion("buttongroup", function (name) {
32385
32773
  return new survey_core__WEBPACK_IMPORTED_MODULE_1__["QuestionButtonGroupModel"](name);
32386
32774
  });
@@ -32494,17 +32882,18 @@ var PropertyGridEditorMatrix = /** @class */ (function (_super) {
32494
32882
  q.property = survey_core__WEBPACK_IMPORTED_MODULE_1__["Serializer"].findProperty(rowObj.getType(), options.columnName);
32495
32883
  };
32496
32884
  PropertyGridEditorMatrix.prototype.onMatrixCellValueChanged = function (obj, options) {
32497
- var column = options.question.getColumnByName(options.columnName);
32498
- if (!column || !column.isUnique)
32499
- return;
32500
- options.question.visibleRows.forEach(function (row) {
32501
- if (row !== options.row) {
32502
- var q = row.getQuestionByColumnName(options.columnName);
32503
- if (!!q && q.errors.length > 0) {
32504
- q.hasErrors();
32885
+ var matrix = options.question;
32886
+ var column = options.column;
32887
+ if (matrix && column && column.isUnique) {
32888
+ matrix.visibleRows.forEach(function (row) {
32889
+ if (row !== options.row) {
32890
+ var question = row.getQuestionByColumnName(options.columnName);
32891
+ if (question && question.errors.length > 0 && !question.isEmpty()) {
32892
+ matrix.checkIfValueInRowDuplicated(row, question);
32893
+ }
32505
32894
  }
32506
- }
32507
- });
32895
+ });
32896
+ }
32508
32897
  };
32509
32898
  PropertyGridEditorMatrix.prototype.onGetMatrixRowAction = function (obj, options, setObjFunc) {
32510
32899
  var _this = this;
@@ -32747,7 +33136,7 @@ var PropertyGridEditorMatrix = /** @class */ (function (_super) {
32747
33136
  PropertyGridEditorMatrix.prototype.getMaximumRowCount = function (obj, prop, options) {
32748
33137
  return -1;
32749
33138
  };
32750
- PropertyGridEditorMatrix.prototype.filterPropertyNames = function (propNames) {
33139
+ PropertyGridEditorMatrix.prototype.filterPropertyNames = function (propNames, options) {
32751
33140
  return propNames;
32752
33141
  };
32753
33142
  PropertyGridEditorMatrix.prototype.getColumnsJSON = function (obj, prop, propNames, options) {
@@ -32755,7 +33144,7 @@ var PropertyGridEditorMatrix = /** @class */ (function (_super) {
32755
33144
  if (!className) {
32756
33145
  className = prop.baseClassName;
32757
33146
  }
32758
- var res = new _index__WEBPACK_IMPORTED_MODULE_6__["PropertyJSONGenerator"](obj, options).createColumnsJSON(className, this.filterPropertyNames(propNames));
33147
+ var res = new _index__WEBPACK_IMPORTED_MODULE_6__["PropertyJSONGenerator"](obj, options).createColumnsJSON(className, this.filterPropertyNames(propNames, options));
32759
33148
  for (var i = 0; i < res.length; i++) {
32760
33149
  if (res[i].cellType == "comment") {
32761
33150
  res[i].cellType = "text";
@@ -32804,8 +33193,12 @@ var PropertyGridEditorMatrixItemValues = /** @class */ (function (_super) {
32804
33193
  PropertyGridEditorMatrixItemValues.prototype.fit = function (prop) {
32805
33194
  return (prop.isArray && survey_core__WEBPACK_IMPORTED_MODULE_1__["Serializer"].isDescendantOf(prop.className, "itemvalue") && prop.name != "rateValues");
32806
33195
  };
32807
- PropertyGridEditorMatrixItemValues.prototype.filterPropertyNames = function (propNames) {
32808
- return propNames.filter(function (p) { return p != "icon"; });
33196
+ PropertyGridEditorMatrixItemValues.prototype.excludeTextPropertyName = function (propNames, options) {
33197
+ var hideText = options === null || options === void 0 ? void 0 : options.inplaceEditForValues;
33198
+ return !!hideText ? propNames.filter(function (p) { return p !== "text"; }) : propNames;
33199
+ };
33200
+ PropertyGridEditorMatrixItemValues.prototype.filterPropertyNames = function (propNames, options) {
33201
+ return this.excludeTextPropertyName(propNames, options).filter(function (p) { return p != "icon"; });
32809
33202
  };
32810
33203
  PropertyGridEditorMatrixItemValues.prototype.isPropertyEditorSetupEnabled = function (obj, prop, question, options) {
32811
33204
  if (question.showTextView === false)
@@ -32942,8 +33335,8 @@ var PropertyGridEditorMatrixRateValues = /** @class */ (function (_super) {
32942
33335
  clearAction.visible = false;
32943
33336
  _super.prototype.onGetQuestionTitleActions.call(this, obj, options);
32944
33337
  };
32945
- PropertyGridEditorMatrixRateValues.prototype.filterPropertyNames = function (propNames) {
32946
- return propNames;
33338
+ PropertyGridEditorMatrixRateValues.prototype.filterPropertyNames = function (propNames, options) {
33339
+ return this.excludeTextPropertyName(propNames, options);
32947
33340
  };
32948
33341
  return PropertyGridEditorMatrixRateValues;
32949
33342
  }(PropertyGridEditorMatrixItemValues));
@@ -34061,6 +34454,8 @@ var SurveyQuestionEditorDefinition = /** @class */ (function () {
34061
34454
  { name: "bindings", tab: "logic" },
34062
34455
  { name: "defaultValueExpression", tab: "logic" },
34063
34456
  { name: "resetValueIf", tab: "logic" },
34457
+ { name: "setValueIf", tab: "logic" },
34458
+ { name: "setValueExpression", tab: "logic" },
34064
34459
  { name: "page", tab: "layout" },
34065
34460
  { name: "startWithNewLine", tab: "layout" },
34066
34461
  { name: "hideNumber", tab: "layout" },
@@ -34375,6 +34770,8 @@ var SurveyQuestionEditorDefinition = /** @class */ (function () {
34375
34770
  { name: "requiredIf", tab: "logic" },
34376
34771
  { name: "defaultValueExpression", tab: "logic" },
34377
34772
  { name: "resetValueIf", tab: "logic" },
34773
+ { name: "setValueIf", tab: "logic" },
34774
+ { name: "setValueExpression", tab: "logic" },
34378
34775
  { name: "totalType", tab: "totals" },
34379
34776
  { name: "totalDisplayStyle", tab: "totals" },
34380
34777
  { name: "totalCurrency", tab: "totals" },
@@ -35099,13 +35496,34 @@ __webpack_require__.r(__webpack_exports__);
35099
35496
  /* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! survey-core */ "survey-core");
35100
35497
  /* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(survey_core__WEBPACK_IMPORTED_MODULE_0__);
35101
35498
  /* harmony import */ var _creator_settings__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./creator-settings */ "./src/creator-settings.ts");
35102
- /* harmony import */ var _toolbox__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./toolbox */ "./src/toolbox.ts");
35103
-
35104
35499
 
35105
35500
 
35106
35501
  var QuestionConverter = /** @class */ (function () {
35107
35502
  function QuestionConverter() {
35108
35503
  }
35504
+ Object.defineProperty(QuestionConverter, "convertInfo", {
35505
+ get: function () {
35506
+ if (!QuestionConverter.convertInfoValue) {
35507
+ QuestionConverter.convertInfoValue = {};
35508
+ QuestionConverter.createDefaultQuestionConverterItems();
35509
+ }
35510
+ return QuestionConverter.convertInfoValue;
35511
+ },
35512
+ enumerable: false,
35513
+ configurable: true
35514
+ });
35515
+ QuestionConverter.createDefaultQuestionConverterItems = function () {
35516
+ var classes = survey_core__WEBPACK_IMPORTED_MODULE_0__["Serializer"].getChildrenClasses("selectbase", true);
35517
+ for (var i = 0; i < classes.length; i++) {
35518
+ for (var j = 0; j < classes.length; j++) {
35519
+ if (i == j)
35520
+ continue;
35521
+ QuestionConverter.addConvertInfo(classes[i].name, classes[j].name);
35522
+ }
35523
+ }
35524
+ QuestionConverter.addConvertInfo("text", "comment");
35525
+ QuestionConverter.addConvertInfo("comment", "text");
35526
+ };
35109
35527
  QuestionConverter.addConvertInfo = function (className, convertToClassName) {
35110
35528
  if (!QuestionConverter.convertInfo[className]) {
35111
35529
  QuestionConverter.convertInfo[className] = [];
@@ -35128,24 +35546,29 @@ var QuestionConverter = /** @class */ (function () {
35128
35546
  }
35129
35547
  return !!res ? res : [];
35130
35548
  };
35131
- QuestionConverter.convertObject = function (obj, convertToClass, defaultJSON) {
35549
+ QuestionConverter.convertObject = function (obj, convertToClass, defaultObjJSON, defaultJSON) {
35550
+ if (defaultObjJSON === void 0) { defaultObjJSON = null; }
35132
35551
  if (defaultJSON === void 0) { defaultJSON = null; }
35133
35552
  if (!obj || !obj.parent || convertToClass == obj.getType())
35134
35553
  return null;
35135
- var questionDefaultSettings = _toolbox__WEBPACK_IMPORTED_MODULE_2__["QuestionToolbox"].getQuestionDefaultSettings(convertToClass);
35136
- var newQuestion = survey_core__WEBPACK_IMPORTED_MODULE_0__["QuestionFactory"].Instance.createQuestion(convertToClass, obj.name);
35554
+ var newQuestion = !defaultJSON ? survey_core__WEBPACK_IMPORTED_MODULE_0__["QuestionFactory"].Instance.createQuestion(convertToClass, obj.name) : undefined;
35137
35555
  if (!newQuestion) {
35138
35556
  newQuestion = survey_core__WEBPACK_IMPORTED_MODULE_0__["Serializer"].createClass(convertToClass, {});
35139
35557
  }
35140
- if (newQuestion instanceof survey_core__WEBPACK_IMPORTED_MODULE_0__["QuestionSelectBase"] && (questionDefaultSettings === null || questionDefaultSettings === void 0 ? void 0 : questionDefaultSettings.choices))
35141
- newQuestion.choices = null;
35142
35558
  newQuestion.name = obj.name;
35143
- var json = newQuestion.toJSON();
35559
+ var json = defaultJSON ? survey_core__WEBPACK_IMPORTED_MODULE_0__["Helpers"].createCopy(defaultJSON) : newQuestion.toJSON();
35144
35560
  var qJson = obj.toJSON();
35561
+ if (defaultObjJSON) {
35562
+ for (var key in defaultObjJSON) {
35563
+ if (qJson[key] && survey_core__WEBPACK_IMPORTED_MODULE_0__["Helpers"].isTwoValueEquals(qJson[key], defaultObjJSON[key])) {
35564
+ delete qJson[key];
35565
+ }
35566
+ }
35567
+ }
35145
35568
  for (var key in qJson) {
35146
35569
  json[key] = qJson[key];
35147
35570
  }
35148
- QuestionConverter.updateJSON(json, convertToClass, obj.getType(), defaultJSON);
35571
+ QuestionConverter.updateJSON(json, convertToClass, obj.getType());
35149
35572
  newQuestion.fromJSON(json);
35150
35573
  QuestionConverter.removeValidators(newQuestion);
35151
35574
  var panel = obj.parent;
@@ -35157,37 +35580,12 @@ var QuestionConverter = /** @class */ (function () {
35157
35580
  newQuestion.onSurveyLoad();
35158
35581
  return newQuestion;
35159
35582
  };
35160
- QuestionConverter.updateJSON = function (json, convertToClass, convertFromClass, defaultJSON) {
35161
- QuestionConverter.updateJSONFromQuestionDefaultSettings(json, convertToClass, defaultJSON);
35162
- QuestionConverter.updateJSONForRating(json, convertToClass, defaultJSON);
35583
+ QuestionConverter.updateJSON = function (json, convertToClass, convertFromClass) {
35584
+ QuestionConverter.updateJSONForRating(json, convertToClass);
35163
35585
  QuestionConverter.updateJSONForMatrices(json, convertToClass, convertFromClass);
35164
35586
  QuestionConverter.updateJSONForPanels(json, convertToClass, convertFromClass);
35165
35587
  QuestionConverter.updateJSONForBarrating(json, convertToClass);
35166
35588
  };
35167
- QuestionConverter.updateJSONFromQuestionDefaultSettings = function (json, convertToClass, defaultJSON) {
35168
- var questionDefaultSettings = _toolbox__WEBPACK_IMPORTED_MODULE_2__["QuestionToolbox"].getQuestionDefaultSettings(convertToClass);
35169
- if (!questionDefaultSettings)
35170
- return;
35171
- if (convertToClass === "image" && !json.imageLink) {
35172
- json.imageLink = questionDefaultSettings.imageLink;
35173
- }
35174
- if (convertToClass === "imagepicker" ||
35175
- convertToClass === "dropdown" ||
35176
- convertToClass === "checkbox" ||
35177
- convertToClass === "radiogroup" ||
35178
- convertToClass === "ranking") {
35179
- if (!json.choices) {
35180
- json.choices = questionDefaultSettings.choices;
35181
- }
35182
- }
35183
- else {
35184
- for (var key in questionDefaultSettings) {
35185
- if (!defaultJSON || !defaultJSON[key]) {
35186
- json[key] = questionDefaultSettings[key];
35187
- }
35188
- }
35189
- }
35190
- };
35191
35589
  QuestionConverter.updateJSONForMatrices = function (json, convertToClass, convertFromClass) {
35192
35590
  if (survey_core__WEBPACK_IMPORTED_MODULE_0__["Serializer"].isDescendantOf(convertToClass, "matrix") &&
35193
35591
  survey_core__WEBPACK_IMPORTED_MODULE_0__["Serializer"].isDescendantOf(convertFromClass, "matrixdropdownbase") &&
@@ -35207,12 +35605,9 @@ var QuestionConverter = /** @class */ (function () {
35207
35605
  return "col" + val;
35208
35606
  return val;
35209
35607
  };
35210
- QuestionConverter.updateJSONForRating = function (json, convertToClass, defaultJSON) {
35608
+ QuestionConverter.updateJSONForRating = function (json, convertToClass) {
35211
35609
  if (convertToClass === "rating" && json.choices) {
35212
- if (!defaultJSON || !defaultJSON.choices ||
35213
- !survey_core__WEBPACK_IMPORTED_MODULE_0__["Helpers"].isArraysEqual(defaultJSON.choices, json.choices)) {
35214
- json.rateValues = json.choices;
35215
- }
35610
+ json.rateValues = json.choices;
35216
35611
  }
35217
35612
  if (!!json.rateValues && !survey_core__WEBPACK_IMPORTED_MODULE_0__["Serializer"].isDescendantOf(convertToClass, "matrixdropdownbase")) {
35218
35613
  json.choices = json.rateValues;
@@ -35249,7 +35644,6 @@ var QuestionConverter = /** @class */ (function () {
35249
35644
  }
35250
35645
  }
35251
35646
  };
35252
- QuestionConverter.convertInfo = {};
35253
35647
  return QuestionConverter;
35254
35648
  }());
35255
35649
 
@@ -35274,19 +35668,6 @@ function getAllQuestionTypes(className, includeCurrent) {
35274
35668
  }
35275
35669
  return res;
35276
35670
  }
35277
- function createDefaultQuestionConverterItems() {
35278
- var classes = survey_core__WEBPACK_IMPORTED_MODULE_0__["Serializer"].getChildrenClasses("selectbase", true);
35279
- for (var i = 0; i < classes.length; i++) {
35280
- for (var j = 0; j < classes.length; j++) {
35281
- if (i == j)
35282
- continue;
35283
- QuestionConverter.addConvertInfo(classes[i].name, classes[j].name);
35284
- }
35285
- }
35286
- QuestionConverter.addConvertInfo("text", "comment");
35287
- QuestionConverter.addConvertInfo("comment", "text");
35288
- }
35289
- createDefaultQuestionConverterItems();
35290
35671
 
35291
35672
 
35292
35673
  /***/ }),