survey-creator-core 1.9.125 → 1.9.127

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 (91) hide show
  1. package/fonts.fontless.css +1 -1
  2. package/fonts.fontless.min.css +1 -1
  3. package/i18n/arabic.js +1 -1
  4. package/i18n/arabic.min.js +1 -1
  5. package/i18n/bulgarian.js +1 -1
  6. package/i18n/bulgarian.min.js +2 -2
  7. package/i18n/croatian.js +1 -1
  8. package/i18n/croatian.min.js +1 -1
  9. package/i18n/czech.js +1 -1
  10. package/i18n/czech.min.js +1 -1
  11. package/i18n/danish.js +1 -1
  12. package/i18n/danish.min.js +1 -1
  13. package/i18n/dutch.js +1 -1
  14. package/i18n/dutch.min.js +1 -1
  15. package/i18n/english.js +12 -12
  16. package/i18n/english.js.map +1 -1
  17. package/i18n/english.min.js +2 -2
  18. package/i18n/finnish.js +1 -1
  19. package/i18n/finnish.min.js +1 -1
  20. package/i18n/french.js +1 -1
  21. package/i18n/french.min.js +1 -1
  22. package/i18n/german.js +18 -35
  23. package/i18n/german.js.map +1 -1
  24. package/i18n/german.min.js +2 -2
  25. package/i18n/hebrew.js +1209 -0
  26. package/i18n/hebrew.js.map +1 -0
  27. package/i18n/hebrew.min.js +7 -0
  28. package/i18n/hungarian.js +1 -1
  29. package/i18n/hungarian.min.js +2 -2
  30. package/i18n/index.js +1131 -55
  31. package/i18n/index.js.map +1 -1
  32. package/i18n/index.min.js +2 -2
  33. package/i18n/indonesian.js +1 -1
  34. package/i18n/indonesian.min.js +2 -2
  35. package/i18n/italian.js +1 -1
  36. package/i18n/italian.min.js +2 -2
  37. package/i18n/japanese.js +1 -1
  38. package/i18n/japanese.min.js +2 -2
  39. package/i18n/korean.js +1 -1
  40. package/i18n/korean.min.js +2 -2
  41. package/i18n/malay.js +1 -1
  42. package/i18n/malay.min.js +2 -2
  43. package/i18n/mongolian.js +1 -1
  44. package/i18n/mongolian.min.js +2 -2
  45. package/i18n/norwegian.js +1 -1
  46. package/i18n/norwegian.min.js +2 -2
  47. package/i18n/persian.js +1 -1
  48. package/i18n/persian.min.js +2 -2
  49. package/i18n/polish.js +1 -1
  50. package/i18n/polish.min.js +2 -2
  51. package/i18n/portuguese.js +1 -1
  52. package/i18n/portuguese.min.js +2 -2
  53. package/i18n/russian.js +1 -1
  54. package/i18n/russian.min.js +2 -2
  55. package/i18n/simplified-chinese.js +1 -1
  56. package/i18n/simplified-chinese.min.js +2 -2
  57. package/i18n/slovak.js +1 -1
  58. package/i18n/slovak.min.js +2 -2
  59. package/i18n/spanish.js +1 -1
  60. package/i18n/spanish.min.js +2 -2
  61. package/i18n/swedish.js +1 -1
  62. package/i18n/swedish.min.js +2 -2
  63. package/i18n/tajik.js +1 -1
  64. package/i18n/tajik.min.js +2 -2
  65. package/i18n/traditional-chinese.js +1 -1
  66. package/i18n/traditional-chinese.min.js +2 -2
  67. package/i18n/turkish.js +1 -1
  68. package/i18n/turkish.min.js +2 -2
  69. package/package.json +2 -2
  70. package/survey-creator-core.css +195 -20
  71. package/survey-creator-core.fontless.css +194 -19
  72. package/survey-creator-core.fontless.css.map +1 -1
  73. package/survey-creator-core.fontless.min.css +10 -9
  74. package/survey-creator-core.i18n.js +1131 -55
  75. package/survey-creator-core.i18n.js.map +1 -1
  76. package/survey-creator-core.i18n.min.js +2 -2
  77. package/survey-creator-core.js +676 -344
  78. package/survey-creator-core.js.map +1 -1
  79. package/survey-creator-core.min.css +11 -10
  80. package/survey-creator-core.min.js +6 -6
  81. package/typings/components/image-item-value.d.ts +1 -0
  82. package/typings/components/question.d.ts +2 -0
  83. package/typings/components/switcher/switcher.d.ts +6 -0
  84. package/typings/components/tabs/theme-builder.d.ts +2 -0
  85. package/typings/creator-base.d.ts +309 -153
  86. package/typings/creator-settings.d.ts +5 -4
  87. package/typings/custom-questions/question-file.d.ts +1 -1
  88. package/typings/editorLocalization.d.ts +8 -8
  89. package/typings/entries/index.d.ts +1 -0
  90. package/typings/localization/english.d.ts +8 -8
  91. package/typings/question-editor/properties.d.ts +7 -5
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * SurveyJS Creator v1.9.125
2
+ * SurveyJS Creator v1.9.127
3
3
  * (c) 2015-2024 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.125
133
+ * surveyjs - Survey JavaScript library v1.9.127
134
134
  * Copyright (c) 2015-2024 Devsoft Baltic OÜ - http://surveyjs.io/
135
135
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
136
136
  */
@@ -5077,6 +5077,13 @@ var ImageItemValueWrapperViewModel = /** @class */ (function (_super) {
5077
5077
  ImageItemValueWrapperViewModel.prototype.getIsNewItemSingle = function () {
5078
5078
  return this.isNew && this.question.choices.length === 0;
5079
5079
  };
5080
+ Object.defineProperty(ImageItemValueWrapperViewModel.prototype, "canRenderControls", {
5081
+ get: function () {
5082
+ return this.getIsNewItemSingle() || !this.question.renderedImageWidth || this.question.renderedImageWidth > 150;
5083
+ },
5084
+ enumerable: false,
5085
+ configurable: true
5086
+ });
5080
5087
  ImageItemValueWrapperViewModel.prototype.chooseFile = function (model) {
5081
5088
  var fileInput = model.itemsRoot.getElementsByClassName("svc-choose-file-input")[0];
5082
5089
  model.creator.chooseFiles(fileInput, function (files) {
@@ -7077,7 +7084,7 @@ var QuestionAdornerViewModel = /** @class */ (function (_super) {
7077
7084
  });
7078
7085
  Object.defineProperty(QuestionAdornerViewModel.prototype, "isBannerShowing", {
7079
7086
  get: function () {
7080
- return this.isUsingCarryForward || this.isUsingRestfull;
7087
+ return this.isUsingCarryForward || this.isUsingRestfull || this.isMessagePanelVisible;
7081
7088
  },
7082
7089
  enumerable: false,
7083
7090
  configurable: true
@@ -7098,8 +7105,16 @@ var QuestionAdornerViewModel = /** @class */ (function (_super) {
7098
7105
  enumerable: false,
7099
7106
  configurable: true
7100
7107
  });
7108
+ Object.defineProperty(QuestionAdornerViewModel.prototype, "isMessagePanelVisible", {
7109
+ get: function () {
7110
+ var _a;
7111
+ return (_a = (this.element)) === null || _a === void 0 ? void 0 : _a.getPropertyValue("isMessagePanelVisible");
7112
+ },
7113
+ enumerable: false,
7114
+ configurable: true
7115
+ });
7101
7116
  QuestionAdornerViewModel.prototype.createBannerParams = function () {
7102
- return this.createCarryForwardParams() || this.createUsingRestfulParams();
7117
+ return this.createCarryForwardParams() || this.createUsingRestfulParams() || this.createCustomMessagePanel();
7103
7118
  };
7104
7119
  QuestionAdornerViewModel.prototype.createCarryForwardParams = function () {
7105
7120
  var _this = this;
@@ -7128,6 +7143,21 @@ var QuestionAdornerViewModel = /** @class */ (function (_super) {
7128
7143
  onClick: function () { _this.creator.selectElement(_this.element, "choicesByUrl"); }
7129
7144
  };
7130
7145
  };
7146
+ QuestionAdornerViewModel.prototype.createCustomMessagePanel = function () {
7147
+ if (!this.isMessagePanelVisible)
7148
+ return null;
7149
+ var res = {
7150
+ question: this.element,
7151
+ actionText: "",
7152
+ messageText: "",
7153
+ onClick: function () { }
7154
+ };
7155
+ if (this.creator) {
7156
+ this.creator.onCreateCustomMessagePanel.fire(this.creator, res);
7157
+ }
7158
+ res.text = res.messageText;
7159
+ return res;
7160
+ };
7131
7161
  QuestionAdornerViewModel.prototype.dispose = function () {
7132
7162
  this.surveyElement.unRegisterFunctionOnPropertyValueChanged("isRequired", "isRequiredAdorner");
7133
7163
  this.surveyElement.unRegisterFunctionOnPropertyValueChanged("inputType", "inputTypeAdorner");
@@ -9007,6 +9037,57 @@ var StringEditorViewModelBase = /** @class */ (function (_super) {
9007
9037
 
9008
9038
 
9009
9039
 
9040
+ /***/ }),
9041
+
9042
+ /***/ "./src/components/switcher/switcher.scss":
9043
+ /*!***********************************************!*\
9044
+ !*** ./src/components/switcher/switcher.scss ***!
9045
+ \***********************************************/
9046
+ /*! no static exports found */
9047
+ /***/ (function(module, exports, __webpack_require__) {
9048
+
9049
+ // extracted by mini-css-extract-plugin
9050
+
9051
+ /***/ }),
9052
+
9053
+ /***/ "./src/components/switcher/switcher.ts":
9054
+ /*!*********************************************!*\
9055
+ !*** ./src/components/switcher/switcher.ts ***!
9056
+ \*********************************************/
9057
+ /*! exports provided: Switcher */
9058
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
9059
+
9060
+ "use strict";
9061
+ __webpack_require__.r(__webpack_exports__);
9062
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Switcher", function() { return Switcher; });
9063
+ /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./src/entries/helpers.ts");
9064
+ /* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! survey-core */ "survey-core");
9065
+ /* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(survey_core__WEBPACK_IMPORTED_MODULE_1__);
9066
+
9067
+
9068
+ __webpack_require__(/*! ./switcher.scss */ "./src/components/switcher/switcher.scss");
9069
+ var Switcher = /** @class */ (function (_super) {
9070
+ Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(Switcher, _super);
9071
+ function Switcher() {
9072
+ return _super !== null && _super.apply(this, arguments) || this;
9073
+ }
9074
+ Switcher.prototype.getSwitcherIconCss = function () {
9075
+ return new survey_core__WEBPACK_IMPORTED_MODULE_1__["CssClassBuilder"]()
9076
+ .append("svc-switcher__icon")
9077
+ .append("svc-switcher__icon--checked", this.checked)
9078
+ .toString();
9079
+ };
9080
+ Switcher.prototype.getActionBarItemCss = function () {
9081
+ return "svc-switcher " + _super.prototype.getActionBarItemCss.call(this);
9082
+ };
9083
+ Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([
9084
+ Object(survey_core__WEBPACK_IMPORTED_MODULE_1__["property"])()
9085
+ ], Switcher.prototype, "checked", void 0);
9086
+ return Switcher;
9087
+ }(survey_core__WEBPACK_IMPORTED_MODULE_1__["Action"]));
9088
+
9089
+
9090
+
9010
9091
  /***/ }),
9011
9092
 
9012
9093
  /***/ "./src/components/tabbed-menu/tabbed-menu-item.scss":
@@ -12319,6 +12400,10 @@ var SurveyLogicType = /** @class */ (function () {
12319
12400
  if (obj.setOwner) {
12320
12401
  obj.setOwner(this.survey);
12321
12402
  }
12403
+ //Do not fire notification about changes to our creator.survey model
12404
+ if (obj instanceof survey_core__WEBPACK_IMPORTED_MODULE_0__["ItemValue"] || obj instanceof survey_core__WEBPACK_IMPORTED_MODULE_0__["SurveyTrigger"]) {
12405
+ obj["isGhost"] = true;
12406
+ }
12322
12407
  return obj;
12323
12408
  };
12324
12409
  SurveyLogicType.prototype.cloneElement = function (el) {
@@ -14657,6 +14742,8 @@ __webpack_require__.r(__webpack_exports__);
14657
14742
  /* harmony import */ var survey_core_themes__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! survey-core/themes */ "./node_modules/survey-core/themes/index.js");
14658
14743
  /* harmony import */ var survey_core_themes__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(survey_core_themes__WEBPACK_IMPORTED_MODULE_13__);
14659
14744
  /* harmony import */ var _theme_custom_questions_boxshadow_settings__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./theme-custom-questions/boxshadow-settings */ "./src/components/tabs/theme-custom-questions/boxshadow-settings.ts");
14745
+ /* harmony import */ var _switcher_switcher__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../switcher/switcher */ "./src/components/switcher/switcher.ts");
14746
+
14660
14747
 
14661
14748
 
14662
14749
 
@@ -15190,6 +15277,7 @@ var ThemeBuilder = /** @class */ (function (_super) {
15190
15277
  Object(_theme_custom_questions_font_settings__WEBPACK_IMPORTED_MODULE_8__["fontsettingsToCssVariable"])(options.question.panels[0].getElementByName("headerTitle"), this.themeCssVariablesChanges);
15191
15278
  Object(_theme_custom_questions_font_settings__WEBPACK_IMPORTED_MODULE_8__["fontsettingsToCssVariable"])(options.question.panels[0].getElementByName("headerDescription"), this.themeCssVariablesChanges);
15192
15279
  }
15280
+ this.currentTheme.headerView = headerSettings["headerView"];
15193
15281
  this.themeModified(options);
15194
15282
  };
15195
15283
  ThemeBuilder.prototype.shadowInnerPropertiesChanged = function (options) {
@@ -15233,14 +15321,6 @@ var ThemeBuilder = /** @class */ (function (_super) {
15233
15321
  }
15234
15322
  };
15235
15323
  ThemeBuilder.prototype.updateDependentQuestionValues = function (options) {
15236
- if (options.name === "generalBackcolorDimColor") {
15237
- this.themeEditorSurvey.setValue("--sjs-general-backcolor-dim", options.value);
15238
- return true;
15239
- }
15240
- if (options.name === "--sjs-general-backcolor-dim") {
15241
- this.themeEditorSurvey.getQuestionByName("generalBackcolorDimColor").value = options.value;
15242
- return false;
15243
- }
15244
15324
  if (options.name === "generalPrimaryColor") {
15245
15325
  this.themeEditorSurvey.setValue("--sjs-primary-backcolor", options.value);
15246
15326
  return true;
@@ -15262,7 +15342,10 @@ var ThemeBuilder = /** @class */ (function (_super) {
15262
15342
  var _this = this;
15263
15343
  var json = this.getThemeEditorSurveyJSON();
15264
15344
  Object(_property_grid__WEBPACK_IMPORTED_MODULE_4__["setSurveyJSONForPropertyGrid"])(json, true, false);
15265
- var themeEditorSurvey = this.surveyProvider.createSurvey(json, "theme_editor", this);
15345
+ var themeEditorSurvey = this.surveyProvider.createSurvey({}, "theme_editor", this);
15346
+ themeEditorSurvey.lazyRendering = true;
15347
+ themeEditorSurvey.lazyRenderingFirstBatchSize = 1;
15348
+ themeEditorSurvey.setJsonObject(json);
15266
15349
  themeEditorSurvey.getCss().list = {};
15267
15350
  var themeBuilderCss = Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__assign"])({}, _property_grid_theme_property_grid__WEBPACK_IMPORTED_MODULE_5__["propertyGridCss"]);
15268
15351
  themeBuilderCss.root += " spg-theme-builder-root";
@@ -15274,6 +15357,8 @@ var ThemeBuilder = /** @class */ (function (_super) {
15274
15357
  _this.prevQuestionValues[options.name] = options.oldValue;
15275
15358
  });
15276
15359
  themeEditorSurvey.onValueChanged.add(function (sender, options) {
15360
+ if (options.name === "advancedMode")
15361
+ return;
15277
15362
  if (_this.blockChanges)
15278
15363
  return;
15279
15364
  if (_this.blockThemeChangedNotifications == 0) {
@@ -15324,6 +15409,13 @@ var ThemeBuilder = /** @class */ (function (_super) {
15324
15409
  opt.actions = [];
15325
15410
  }
15326
15411
  });
15412
+ themeEditorSurvey.onGetPanelTitleActions.add(function (sender, opt) {
15413
+ if (_this.surveyProvider.isMobileView)
15414
+ return;
15415
+ if (opt.panel && opt.panel.name == "groupAppearance") {
15416
+ opt.titleActions.push(_this.createAppearanceAdvancedModeAction(opt.panel));
15417
+ }
15418
+ });
15327
15419
  themeEditorSurvey.onUpdatePanelCssClasses.add(function (sender, options) {
15328
15420
  var _a, _b;
15329
15421
  if (options.panel.hasParent) {
@@ -15342,6 +15434,26 @@ var ThemeBuilder = /** @class */ (function (_super) {
15342
15434
  });
15343
15435
  return themeEditorSurvey;
15344
15436
  };
15437
+ ThemeBuilder.prototype.createAppearanceAdvancedModeAction = function (panel) {
15438
+ var _this = this;
15439
+ var advancedMode = new _switcher_switcher__WEBPACK_IMPORTED_MODULE_15__["Switcher"]({
15440
+ id: "advancedMode",
15441
+ component: "svc-switcher",
15442
+ ariaChecked: new survey_core__WEBPACK_IMPORTED_MODULE_2__["ComputedUpdater"](function () { return _this.groupAppearanceAdvancedMode; }),
15443
+ ariaRole: "checkbox",
15444
+ css: "sv-theme-group_title-action",
15445
+ title: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.advancedMode"),
15446
+ action: function () {
15447
+ _this.groupAppearanceAdvancedMode = !_this.groupAppearanceAdvancedMode;
15448
+ panel.getQuestionByName("advancedMode").value = _this.groupAppearanceAdvancedMode;
15449
+ }
15450
+ });
15451
+ this.registerFunctionOnPropertyValueChanged("groupAppearanceAdvancedMode", function () {
15452
+ advancedMode.checked = !advancedMode.checked;
15453
+ }, "groupAppearanceAdvancedMode");
15454
+ advancedMode.checked = false;
15455
+ return advancedMode;
15456
+ };
15345
15457
  ThemeBuilder.prototype.findSuitableTheme = function (themeName) {
15346
15458
  var probeThemeFullName = getThemeFullName({ themeName: themeName, colorPalette: this.themePalette, isPanelless: this.themeMode === "lightweight" });
15347
15459
  return findSuitableTheme(themeName, this.themePalette, this.themeMode, probeThemeFullName);
@@ -15349,7 +15461,7 @@ var ThemeBuilder = /** @class */ (function (_super) {
15349
15461
  ThemeBuilder.prototype.patchFileEditors = function (survey) {
15350
15462
  var _this = this;
15351
15463
  var questionsToPatch = survey.getAllQuestions(false, false, true).filter(function (q) { return q.getType() == "fileedit"; });
15352
- questionsToPatch.forEach(function (q) { q.onChooseFilesCallback = function (input, onFilesChosen) { return _this.surveyProvider.chooseFiles(input, onFilesChosen); }; });
15464
+ questionsToPatch.forEach(function (q) { q.onChooseFilesCallback = function (input, callback) { return _this.surveyProvider.chooseFiles(input, callback); }; });
15353
15465
  };
15354
15466
  ThemeBuilder.prototype.getCoverJson = function (headerSettings) {
15355
15467
  var result = {};
@@ -15396,8 +15508,11 @@ var ThemeBuilder = /** @class */ (function (_super) {
15396
15508
  };
15397
15509
  ThemeBuilder.prototype.updateVisibilityOfPropertyGridGroups = function () {
15398
15510
  var page = this.themeEditorSurvey.pages[0];
15399
- page.getElementByName("groupHeader").visible = this.surveyProvider.isMobileView ? false : _creator_settings__WEBPACK_IMPORTED_MODULE_7__["settings"].theme.allowEditHeaderSettings;
15400
- page.getElementByName("groupAdvanced").visible = !this.surveyProvider.isMobileView;
15511
+ var groupHeaderVisibility = true;
15512
+ if (!!this.survey) {
15513
+ groupHeaderVisibility = !!this.survey.logo || !!this.survey.title || !!this.survey.description;
15514
+ }
15515
+ page.getElementByName("groupHeader").visible = this.surveyProvider.isMobileView ? false : _creator_settings__WEBPACK_IMPORTED_MODULE_7__["settings"].theme.allowEditHeaderSettings && groupHeaderVisibility;
15401
15516
  };
15402
15517
  ThemeBuilder.prototype.setCoverPropertiesFromSurvey = function (panel, themeCssVariables) {
15403
15518
  panel.getQuestionByName("headerTitle").readOnly = !this.survey.hasTitle;
@@ -15498,7 +15613,6 @@ var ThemeBuilder = /** @class */ (function (_super) {
15498
15613
  themeEditorSurvey.getQuestionByName("backgroundImageAttachment").value = this.currentTheme.backgroundImageAttachment;
15499
15614
  themeEditorSurvey.getQuestionByName("backgroundOpacity").value = this.currentTheme.backgroundOpacity * 100;
15500
15615
  themeEditorSurvey.getQuestionByName("generalPrimaryColor").value = themeEditorSurvey.getQuestionByName("--sjs-primary-backcolor").value;
15501
- themeEditorSurvey.getQuestionByName("generalBackcolorDimColor").value = themeEditorSurvey.getQuestionByName("--sjs-general-backcolor-dim").value;
15502
15616
  this.updateHeaderViewContainerEditors(newCssVariables);
15503
15617
  Object(_theme_custom_questions_element_settings__WEBPACK_IMPORTED_MODULE_9__["elementSettingsFromCssVariable"])(themeEditorSurvey.getQuestionByName("questionPanel"), newCssVariables, newCssVariables["--sjs-general-backcolor"], newCssVariables["--sjs-general-backcolor-dark"]);
15504
15618
  Object(_theme_custom_questions_element_settings__WEBPACK_IMPORTED_MODULE_9__["elementSettingsFromCssVariable"])(themeEditorSurvey.getQuestionByName("editorPanel"), newCssVariables, newCssVariables["--sjs-general-backcolor-dim-light"], newCssVariables["--sjs-general-backcolor-dim-dark"]);
@@ -15586,17 +15700,13 @@ var ThemeBuilder = /** @class */ (function (_super) {
15586
15700
  }
15587
15701
  }
15588
15702
  };
15589
- ThemeBuilder.prototype.getDefaultTitleSetting = function (isAdvanced) {
15703
+ ThemeBuilder.prototype.getDefaultTitleSetting = function () {
15590
15704
  var result = { family: _creator_settings__WEBPACK_IMPORTED_MODULE_7__["settings"].theme.fontFamily, weight: "700", size: 32 };
15591
- if (isAdvanced) {
15592
- result["color"] = "rgba(255, 255, 255, 1)";
15593
- }
15594
15705
  return result;
15595
15706
  };
15596
15707
  ThemeBuilder.prototype.getDefaultDescriptionSetting = function (isAdvanced) {
15597
15708
  var result = { family: _creator_settings__WEBPACK_IMPORTED_MODULE_7__["settings"].theme.fontFamily, weight: "400", size: 16 };
15598
15709
  if (isAdvanced) {
15599
- result["color"] = "rgba(255, 255, 255, 1)";
15600
15710
  result["weight"] = "600";
15601
15711
  }
15602
15712
  return result;
@@ -15686,7 +15796,7 @@ var ThemeBuilder = /** @class */ (function (_super) {
15686
15796
  "height": 256,
15687
15797
  surveyTitle: this.getDefaultTitleSetting(),
15688
15798
  surveyDescription: this.getDefaultDescriptionSetting(),
15689
- headerTitle: this.getDefaultTitleSetting(true),
15799
+ headerTitle: this.getDefaultTitleSetting(),
15690
15800
  headerDescription: this.getDefaultDescriptionSetting(true)
15691
15801
  }
15692
15802
  ],
@@ -15824,28 +15934,44 @@ var ThemeBuilder = /** @class */ (function (_super) {
15824
15934
  step: 5
15825
15935
  },
15826
15936
  ]
15827
- },
15828
- {
15829
- type: "fontSettings",
15830
- name: "headerTitle",
15831
- title: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.surveyTitle"),
15832
- descriptionLocation: "hidden",
15833
- defaultValue: this.getDefaultTitleSetting(true)
15834
- },
15835
- {
15836
- type: "fontSettings",
15837
- name: "headerDescription",
15838
- title: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.surveyDescription"),
15839
- descriptionLocation: "hidden",
15840
- defaultValue: this.getDefaultDescriptionSetting(true)
15841
- },
15842
- {
15843
- type: "boolean",
15844
- name: "overlapEnabled",
15845
- renderAs: "checkbox",
15846
- title: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.coverOverlapEnabled"),
15937
+ }, {
15938
+ type: "panel",
15847
15939
  titleLocation: "hidden",
15848
- descriptionLocation: "hidden",
15940
+ elements: [
15941
+ {
15942
+ type: "boolean",
15943
+ name: "overlapEnabled",
15944
+ renderAs: "checkbox",
15945
+ title: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.coverOverlapEnabled"),
15946
+ titleLocation: "hidden",
15947
+ descriptionLocation: "hidden",
15948
+ },
15949
+ ]
15950
+ }
15951
+ ]
15952
+ }, {
15953
+ type: "panel",
15954
+ questionTitleLocation: "top",
15955
+ visibleIf: "{panel.headerView} = 'advanced'",
15956
+ elements: [
15957
+ {
15958
+ type: "panel",
15959
+ elements: [
15960
+ {
15961
+ type: "fontSettings",
15962
+ name: "headerTitle",
15963
+ title: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.surveyTitle"),
15964
+ descriptionLocation: "hidden",
15965
+ defaultValue: this.getDefaultTitleSetting()
15966
+ },
15967
+ {
15968
+ type: "fontSettings",
15969
+ name: "headerDescription",
15970
+ title: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.surveyDescription"),
15971
+ descriptionLocation: "hidden",
15972
+ defaultValue: this.getDefaultDescriptionSetting(true)
15973
+ },
15974
+ ]
15849
15975
  }
15850
15976
  ]
15851
15977
  }, {
@@ -15892,7 +16018,7 @@ var ThemeBuilder = /** @class */ (function (_super) {
15892
16018
  elements: [
15893
16019
  {
15894
16020
  type: "color",
15895
- name: "generalBackcolorDimColor",
16021
+ name: "--sjs-general-backcolor-dim",
15896
16022
  title: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.backgroundDimColor"),
15897
16023
  descriptionLocation: "hidden",
15898
16024
  },
@@ -15956,8 +16082,15 @@ var ThemeBuilder = /** @class */ (function (_super) {
15956
16082
  state: "collapsed",
15957
16083
  title: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.groupAppearance"),
15958
16084
  elements: [
16085
+ {
16086
+ "type": "boolean",
16087
+ "name": "advancedMode",
16088
+ "visible": false,
16089
+ "defaultValue": "false"
16090
+ },
15959
16091
  {
15960
16092
  type: "panel",
16093
+ visibleIf: "{advancedMode} = false",
15961
16094
  elements: [
15962
16095
  {
15963
16096
  type: "color",
@@ -15990,6 +16123,7 @@ var ThemeBuilder = /** @class */ (function (_super) {
15990
16123
  ]
15991
16124
  }, {
15992
16125
  type: "panel",
16126
+ visibleIf: "{advancedMode} = false",
15993
16127
  elements: [
15994
16128
  {
15995
16129
  type: "dropdown",
@@ -16013,6 +16147,7 @@ var ThemeBuilder = /** @class */ (function (_super) {
16013
16147
  ]
16014
16148
  }, {
16015
16149
  type: "panel",
16150
+ visibleIf: "{advancedMode} = false",
16016
16151
  elements: [
16017
16152
  {
16018
16153
  type: "spinedit",
@@ -16034,23 +16169,12 @@ var ThemeBuilder = /** @class */ (function (_super) {
16034
16169
  min: 0
16035
16170
  },
16036
16171
  ]
16037
- }
16038
- ]
16039
- }, {
16040
- type: "panel",
16041
- name: "groupAdvanced",
16042
- title: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.groupAdvanced"),
16043
- state: "collapsed",
16044
- elements: [
16172
+ },
16045
16173
  {
16046
16174
  type: "panel",
16175
+ visibleIf: "{advancedMode} = true",
16047
16176
  elements: [
16048
16177
  {
16049
- type: "color",
16050
- name: "--sjs-general-backcolor-dim",
16051
- title: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.backgroundDimColor"),
16052
- descriptionLocation: "hidden",
16053
- }, {
16054
16178
  type: "panel",
16055
16179
  title: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.accentBackground"),
16056
16180
  elements: [
@@ -16100,15 +16224,21 @@ var ThemeBuilder = /** @class */ (function (_super) {
16100
16224
  descriptionLocation: "hidden",
16101
16225
  }
16102
16226
  ]
16103
- }
16227
+ },
16228
+ {
16229
+ type: "html",
16230
+ name: "theme",
16231
+ html: "<div class='spg-theme-group-caption'>" + Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.pageTitle") + "</div>",
16232
+ },
16104
16233
  ]
16105
16234
  }, {
16106
16235
  type: "panel",
16236
+ visibleIf: "{advancedMode} = true",
16107
16237
  elements: [
16108
16238
  {
16109
16239
  type: "fontSettings",
16110
16240
  name: "pageTitle",
16111
- title: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.pageTitle"),
16241
+ title: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.titleFont"),
16112
16242
  descriptionLocation: "hidden",
16113
16243
  defaultValue: {
16114
16244
  family: _creator_settings__WEBPACK_IMPORTED_MODULE_7__["settings"].theme.fontFamily,
@@ -16119,7 +16249,7 @@ var ThemeBuilder = /** @class */ (function (_super) {
16119
16249
  }, {
16120
16250
  type: "fontSettings",
16121
16251
  name: "pageDescription",
16122
- title: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.pageDescription"),
16252
+ title: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.descriptionFont"),
16123
16253
  descriptionLocation: "hidden",
16124
16254
  defaultValue: {
16125
16255
  family: _creator_settings__WEBPACK_IMPORTED_MODULE_7__["settings"].theme.fontFamily,
@@ -16127,15 +16257,21 @@ var ThemeBuilder = /** @class */ (function (_super) {
16127
16257
  weight: "400",
16128
16258
  size: 16
16129
16259
  }
16130
- }
16260
+ },
16261
+ {
16262
+ type: "html",
16263
+ name: "theme",
16264
+ html: "<div class='spg-theme-group-caption'>" + Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.questionTitle") + "</div>",
16265
+ },
16131
16266
  ]
16132
16267
  }, {
16133
16268
  type: "panel",
16269
+ visibleIf: "{advancedMode} = true",
16134
16270
  elements: [
16135
16271
  {
16136
16272
  type: "elementSettings",
16137
16273
  name: "questionPanel",
16138
- title: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.questionPanel"),
16274
+ title: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.backgroundCornerRadius"),
16139
16275
  descriptionLocation: "hidden",
16140
16276
  defaultValue: {
16141
16277
  backcolor: "rgba(255, 255, 255, 1)",
@@ -16148,7 +16284,7 @@ var ThemeBuilder = /** @class */ (function (_super) {
16148
16284
  type: "boxshadowsettings",
16149
16285
  name: "--sjs-shadow-small",
16150
16286
  descriptionLocation: "hidden",
16151
- title: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.questionShadow"),
16287
+ title: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.shadow"),
16152
16288
  defaultValue: [
16153
16289
  {
16154
16290
  x: 0,
@@ -16168,7 +16304,7 @@ var ThemeBuilder = /** @class */ (function (_super) {
16168
16304
  }, {
16169
16305
  type: "fontSettings",
16170
16306
  name: "questionTitle",
16171
- title: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.questionTitle"),
16307
+ title: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.titleFont"),
16172
16308
  descriptionLocation: "hidden",
16173
16309
  defaultValue: {
16174
16310
  family: _creator_settings__WEBPACK_IMPORTED_MODULE_7__["settings"].theme.fontFamily,
@@ -16179,7 +16315,7 @@ var ThemeBuilder = /** @class */ (function (_super) {
16179
16315
  }, {
16180
16316
  type: "fontSettings",
16181
16317
  name: "questionDescription",
16182
- title: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.questionDescription"),
16318
+ title: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.descriptionFont"),
16183
16319
  descriptionLocation: "hidden",
16184
16320
  defaultValue: {
16185
16321
  family: _creator_settings__WEBPACK_IMPORTED_MODULE_7__["settings"].theme.fontFamily,
@@ -16187,15 +16323,21 @@ var ThemeBuilder = /** @class */ (function (_super) {
16187
16323
  weight: "400",
16188
16324
  size: 16
16189
16325
  }
16190
- }
16326
+ },
16327
+ {
16328
+ type: "html",
16329
+ name: "theme",
16330
+ html: "<div class='spg-theme-group-caption'>" + Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.editorPanel") + "</div>",
16331
+ },
16191
16332
  ]
16192
16333
  }, {
16193
16334
  type: "panel",
16335
+ visibleIf: "{advancedMode} = true",
16194
16336
  elements: [
16195
16337
  {
16196
16338
  type: "elementSettings",
16197
16339
  name: "editorPanel",
16198
- title: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.editorPanel"),
16340
+ title: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.backgroundCornerRadius"),
16199
16341
  descriptionLocation: "hidden",
16200
16342
  defaultValue: {
16201
16343
  backcolor: "rgba(255, 255, 255, 1)",
@@ -16208,7 +16350,7 @@ var ThemeBuilder = /** @class */ (function (_super) {
16208
16350
  type: "boxshadowsettings",
16209
16351
  name: "--sjs-shadow-inner",
16210
16352
  descriptionLocation: "hidden",
16211
- title: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.editorShadow"),
16353
+ title: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.shadow"),
16212
16354
  defaultValue: [
16213
16355
  {
16214
16356
  x: 0,
@@ -16228,7 +16370,7 @@ var ThemeBuilder = /** @class */ (function (_super) {
16228
16370
  }, {
16229
16371
  type: "fontSettings",
16230
16372
  name: "editorFont",
16231
- title: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.editorFont"),
16373
+ title: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.font"),
16232
16374
  descriptionLocation: "hidden",
16233
16375
  defaultValue: {
16234
16376
  family: _creator_settings__WEBPACK_IMPORTED_MODULE_7__["settings"].theme.fontFamily,
@@ -16236,13 +16378,20 @@ var ThemeBuilder = /** @class */ (function (_super) {
16236
16378
  weight: "400",
16237
16379
  size: 16
16238
16380
  }
16239
- }
16381
+ },
16382
+ {
16383
+ type: "html",
16384
+ name: "theme",
16385
+ html: "<div class='spg-theme-group-caption'>" + Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.lines") + "</div>",
16386
+ },
16240
16387
  ]
16241
- }, {
16388
+ },
16389
+ {
16242
16390
  type: "panel",
16391
+ visibleIf: "{advancedMode} = true",
16243
16392
  elements: [{
16244
16393
  type: "panel",
16245
- title: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.linesColors"),
16394
+ title: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.colorsTitle"),
16246
16395
  elements: [
16247
16396
  {
16248
16397
  type: "colorsettings",
@@ -16387,6 +16536,9 @@ var ThemeBuilder = /** @class */ (function (_super) {
16387
16536
  Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([
16388
16537
  Object(survey_core__WEBPACK_IMPORTED_MODULE_2__["property"])({ defaultValue: "panels" })
16389
16538
  ], ThemeBuilder.prototype, "themeMode", void 0);
16539
+ Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([
16540
+ Object(survey_core__WEBPACK_IMPORTED_MODULE_2__["property"])()
16541
+ ], ThemeBuilder.prototype, "groupAppearanceAdvancedMode", void 0);
16390
16542
  return ThemeBuilder;
16391
16543
  }(survey_core__WEBPACK_IMPORTED_MODULE_2__["Base"]));
16392
16544
 
@@ -17461,6 +17613,7 @@ var TabTranslationPlugin = /** @class */ (function () {
17461
17613
  TabTranslationPlugin.prototype.activate = function () {
17462
17614
  var _this = this;
17463
17615
  this.model = new _translation__WEBPACK_IMPORTED_MODULE_2__["Translation"](this.creator.survey, this.creator);
17616
+ this.model.settingsSurvey.locale = this.creator.locale;
17464
17617
  this.model.readOnly = this.creator.readOnly;
17465
17618
  this.model.translationStringVisibilityCallback = function (obj, propertyName, visible) {
17466
17619
  var options = { obj: obj, propertyName: propertyName, visible: visible };
@@ -19836,9 +19989,6 @@ var CreatorEvent = /** @class */ (function (_super) {
19836
19989
  return CreatorEvent;
19837
19990
  }(survey_core__WEBPACK_IMPORTED_MODULE_1__["EventBase"]));
19838
19991
 
19839
- /**
19840
- * Base class for Survey Creator.
19841
- */
19842
19992
  var CreatorBase = /** @class */ (function (_super) {
19843
19993
  Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(CreatorBase, _super);
19844
19994
  function CreatorBase(options, options2) {
@@ -19886,12 +20036,6 @@ var CreatorBase = /** @class */ (function (_super) {
19886
20036
  * A Boolean value that specifies the property's read-only status.
19887
20037
  */
19888
20038
  _this.onGetPropertyReadOnly = new CreatorEvent();
19889
- /**
19890
- * The event is fired when the survey creator creates a survey object (Survey.Survey).
19891
- *- sender the survey creator object that fires the event
19892
- *- options.survey the survey object showing in the creator.
19893
- *- options.reason indicates what component of the creator requests the survey. There are several reason types: "designer" - survey for designer survey, "test" - survey for "Preview" tab and "conditionEditor", "defaultValueEditor", "restfulEditor" - surveys for different property editors.
19894
- */
19895
20039
  _this.onSurveyInstanceCreated = new CreatorEvent();
19896
20040
  /**
19897
20041
  * An event that is raised when Survey Creator obtains a survey element name to display it in the UI.
@@ -19921,15 +20065,22 @@ var CreatorBase = /** @class */ (function (_super) {
19921
20065
  */
19922
20066
  _this.onGetObjectDisplayName = new CreatorEvent();
19923
20067
  /**
19924
- * This event is raised after a user has edited a text value on the design surface. This value may include HTML markup. You can handle the `onHtmlToMarkdown` event to convert the HTML markup to Markdown.
20068
+ * An event that is raised after a user has edited a text value on the design surface. This value may include HTML markup. You can handle the `onHtmlToMarkdown` event to convert the HTML markup to Markdown.
19925
20069
  *
19926
20070
  * The event handler accepts the following arguments:
19927
20071
  *
19928
- * - `sender` - A Survey Creator instance that raised the event.
19929
- * - `options.element` - The instance of a survey element (survey, page, panel, question) that the user configures.
19930
- * - `options.name` - The name of a property whose value has been edited.
19931
- * - `options.html` - HTML content. Pass this field's value to an HTML-to-Markdown converter.
19932
- * - `options.text` - A text string that may contain Markdown. Assign the result of the HTML-to-Markdown conversion to this field.
20072
+ * Parameters:
20073
+ *
20074
+ * - `sender`: `CreatorBase`\
20075
+ * A Survey Creator instance that raised the event.
20076
+ * - `options.element`: `any`\
20077
+ * The instance of a survey element (survey, page, panel, question) that the user configures.
20078
+ * - `options.name`: `string`\
20079
+ * The name of a property whose value has been edited.
20080
+ * - `options.html`: `string`\
20081
+ * HTML content. Pass this field's value to an HTML-to-Markdown converter.
20082
+ * - `options.text`: `string`\
20083
+ * A text string that may contain Markdown. Assign the result of the HTML-to-Markdown conversion to this field.
19933
20084
  */
19934
20085
  _this.onHtmlToMarkdown = new CreatorEvent();
19935
20086
  /**
@@ -19959,6 +20110,7 @@ var CreatorBase = /** @class */ (function (_super) {
19959
20110
  * To disable a user interaction, set the correponding `allow...` property to `false`.
19960
20111
  *
19961
20112
  * [Specify Adorner Visibility](https://surveyjs.io/survey-creator/documentation/customize-survey-creation-process#specify-adorner-availability (linkStyle))
20113
+ * @see onCollectionItemAllowOperations
19962
20114
  */
19963
20115
  _this.onElementAllowOperations = new CreatorEvent();
19964
20116
  /**
@@ -20001,96 +20153,158 @@ var CreatorBase = /** @class */ (function (_super) {
20001
20153
  _this.onShowingProperty = new CreatorEvent();
20002
20154
  _this.onCanShowProperty = _this.onShowingProperty;
20003
20155
  /**
20004
- * The event is called after a survey that represents the Property Grid is created and all its questions (property editors) are setup.
20005
- * You can use this event to modify this survey to change the property grid behavior
20006
- *- options.obj the survey object that is currently editing in the property grid
20007
- *- options.survey the property grid survey
20156
+ * An event that is raised when a [survey that represents the Property Grid](https://surveyjs.io/survey-creator/documentation/creator-v2-whats-new#survey-creator-ui-elements-are-surveys) is instantiated. Handle this event to customize the Property Grid by modifying the survey.
20157
+ *
20158
+ * Parameters:
20159
+ *
20160
+ * - `sender`: `CreatorBase`\
20161
+ * A Survey Creator instance that raised the event.
20162
+ * - `options.object`: `any`\
20163
+ * A survey element being edited in the Property Grid.
20164
+ * - `options.survey`: [`SurveyModel`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model)
20165
+ * A survey that respresents the Property Grid. Use the `SurveyModel` API to modify the survey.
20166
+ * @see onPropertyEditorCreated
20008
20167
  */
20009
20168
  _this.onPropertyGridSurveyCreated = new CreatorEvent();
20010
20169
  /**
20011
- * The event is called after a property editor (in fact a survey question) has been created and all it's properties have been assign.
20012
- * You can use this event to modify the property editor properties or set event handlers to customize it's behavior
20013
- *- options.obj the survey object that is currently editing in the property grid
20014
- *- options.property the property that the current property editor is editing
20015
- *- options.editor the property editor. In fact it is a survey question. We are using a heavily customizable survey as a property grid in Creator V2. It means that every property editor is a question.
20016
- */
20170
+ * An event that is raised when a property editor is created in the Property Grid. Use this event to modify the property editor or add event handlers to it.
20171
+ *
20172
+ * Parameters:
20173
+ *
20174
+ * - `sender`: `CreatorBase`\
20175
+ * A Survey Creator instance that raised the event.
20176
+ * - `options.editor`: [`Question`](https://surveyjs.io/form-library/documentation/api-reference/question)\
20177
+ * A property editor. It is an object of the [`Question`](https://surveyjs.io/form-library/documentation/question) type because the Property Grid is [built upon a regular survey](https://surveyjs.io/survey-creator/documentation/creator-v2-whats-new#survey-creator-ui-elements-are-surveys).
20178
+ * - `options.property`: `JsonObjectProperty`\
20179
+ * A property that corresponds to the created property editor.
20180
+ * @see onSetPropertyEditorOptions
20181
+ * @see onPropertyGridSurveyCreated
20182
+ */
20017
20183
  _this.onPropertyEditorCreated = new CreatorEvent();
20018
20184
  /**
20019
- * The event is called after a property editor setups its title actions.
20020
- * You can use this event to modify the property editor title actions
20021
- *- options.obj the survey object that is currently editing in the property grid
20022
- *- options.property the property that the current property editor is editing
20023
- *- options.editor the property editor. In fact it is a survey question. We are using a heavily customizable survey as a property grid in Creator V2. It means that every property editor is a question.
20024
- *- options.titleActions the list of title actions.
20185
+ * An event that is raised when title actions are added to a property editor. Title actions are most often used to reveal hints for properties configured by users. Handle this event you want to add, remove, or modify the title actions.
20186
+ *
20187
+ * Parameters:
20188
+ *
20189
+ * - `sender`: `CreatorBase`\
20190
+ * A Survey Creator instance that raised the event.
20191
+ * - `options.object`: `any`\
20192
+ * A survey element being edited in the Property Grid.
20193
+ * - `options.editor`: [`Question`](https://surveyjs.io/form-library/documentation/api-reference/question)\
20194
+ * A property editor that contains the title actions. It is an object of the [`Question`](https://surveyjs.io/form-library/documentation/question) type because the Property Grid is [built upon a regular survey](https://surveyjs.io/survey-creator/documentation/creator-v2-whats-new#survey-creator-ui-elements-are-surveys).
20195
+ * - `options.property`: `JsonObjectProperty`\
20196
+ * A property that corresponds to the property editor.
20197
+ * - `options.titleActions`: [`IAction[]`](https://surveyjs.io/form-library/documentation/api-reference/iaction)\
20198
+ * A list of title actions.
20025
20199
  */
20026
20200
  _this.onPropertyEditorUpdateTitleActions = new CreatorEvent();
20027
20201
  /**
20028
- * An event that is raised before Survey Creator displays a pop-up window called from the Property Grid. This window allows users to edit choices, conditions, and so on.
20029
- *
20030
- * Use this event to customize the pop-up window, for example, add custom action buttons.
20202
+ * An event that is raised before Survey Creator displays a pop-up window called from the Property Grid. This window allows users to edit choices, conditions, etc. Use this event to customize the pop-up window, for example, add custom action buttons.
20031
20203
  *
20032
20204
  * Parameters:
20033
20205
  *
20034
- * - `sender` - A Survey Creator instance that raised the event.
20035
- * - `options.obj` - An instance of a survey element (question or panel) that users are configuring in the Property Grid.
20036
- * - `options.property`- A `JsonObjectProperty` object with metadata about the property being edited.
20037
- * - `options.editor` - A property editor. It is an object of the [`Question`](https://surveyjs.io/form-library/documentation/question) type because the Property Grid is [built upon a regular survey](https://surveyjs.io/survey-creator/documentation/creator-v2-whats-new#survey-creator-ui-elements-are-surveys).
20038
- * - `options.popupEditor` - An editor inside the pop-up window.
20039
- * - `options.popupModel` - A `PopupBaseViewModel` object that describes the pop-up window model. Use `options.popupModel.footerToolbar` to access the actions at the bottom of the window.
20206
+ * - `sender`: `CreatorBase`\
20207
+ * A Survey Creator instance that raised the event.
20208
+ * - `options.obj`: `any`\
20209
+ * The instance of a survey element (question or panel) that users are configuring in the Property Grid.
20210
+ * - `options.property`: `JsonObjectProperty`\
20211
+ * A property being edited.
20212
+ * - `options.editor`: [`Question`](https://surveyjs.io/form-library/documentation/api-reference/question)\
20213
+ * A property editor. It is an object of the [`Question`](https://surveyjs.io/form-library/documentation/question) type because the Property Grid is [built upon a regular survey](https://surveyjs.io/survey-creator/documentation/creator-v2-whats-new#survey-creator-ui-elements-are-surveys).
20214
+ * - `options.popupEditor`: `any`\
20215
+ * An editor inside the pop-up window.
20216
+ * - `options.popupModel`: `PopupBaseViewModel`\
20217
+ * A pop-up window model. Use `options.popupModel.footerToolbar` to access the actions at the bottom of the window.
20040
20218
  */
20041
20219
  _this.onPropertyGridShowModal = new CreatorEvent();
20042
20220
  _this.onCanDeleteItem = new CreatorEvent();
20043
20221
  _this.onCollectionItemDeleting = new CreatorEvent();
20044
20222
  /**
20045
- * The event is called before rendering a collection item in a property editor. For example: a column in a column editor, or an item in Choices and so on.
20046
- * Use this event to prevent a collection item from being edited or removed from a collection.
20047
- *- sender the survey creator object that fires the event
20048
- *- options.obj the survey object: Question, Panel, Page or Survey
20049
- *- options.property the collection property (Survey.JsonObjectProperty object). It has name, className, type, visible, readOnly and other properties
20050
- *- options.propertyName the collection property name
20051
- *- options.collection a collection where a target item is located. It is can be Columns in Matrices or Choices in Dropdown question and so on.
20052
- *- options.item a target collection item
20053
- *- options.allowDelete a boolean value. It is `true` by default. Set it false to prevent an item from being removed from the collection
20054
- *- options.allowAdd a boolean value. It is `true` by default. Set it false to prevent an item from being added to the collection
20055
- *- options.allowEdit a boolean value. It is `true` by default. Set it `false` to disable editing.
20223
+ * An event that is raised when Survey Creator obtains permitted operations for a collection item (a choice option in Choices, a column or row in Columns, etc.). Use this event to prevent users from adding, deleting, or editing a particular collection item.
20224
+ *
20225
+ * Parameters:
20226
+ *
20227
+ * - `sender`: `CreatorBase`\
20228
+ * A Survey Creator instance that raised the event.
20229
+ * - `options.obj`: [`Survey.Base`](https://surveyjs.io/form-library/documentation/api-reference/base)\
20230
+ * A survey element (survey, page, panel, question) that contains the collection to which the target item belongs.
20231
+ * - `options.property`: `JsonObjectProperty`\
20232
+ * A property that contains the collection to which the target item belongs.
20233
+ * - `options.propertyName`: `string`\
20234
+ * The property's name: `columns`, `rows`, `choices`, `rateValues`, etc.
20235
+ * - `options.collection`: [`Survey.Base[]`](https://surveyjs.io/form-library/documentation/api-reference/base)\
20236
+ * An array of collection items to which the target item belongs ([`columns`](https://surveyjs.io/form-library/documentation/api-reference/matrix-table-question-model#columns) or [`rows`](https://surveyjs.io/form-library/documentation/api-reference/matrix-table-question-model#rows) in matrix questions, [`choices`](https://surveyjs.io/form-library/documentation/api-reference/questionselectbase#choices) in select-based questions, etc.).
20237
+ * - `options.item`: [`Survey.Base`](https://surveyjs.io/form-library/documentation/api-reference/base)\
20238
+ * A target collection item.
20239
+ * - `options.allowAdd`: `boolean`\
20240
+ * A Boolean property that you can set to `false` if you want to prevent the target item from being added to the collection.
20241
+ * - `options.allowDelete`: `boolean`\
20242
+ * A Boolean property that you can set to `false` if you want to prevent the target item from being deleted.
20243
+ * - `options.allowEdit`: `boolean`\
20244
+ * A Boolean property that you can set to `false` if you want to prevent the target item from being edited.
20245
+ * @see onElementAllowOperations
20056
20246
  */
20057
20247
  _this.onCollectionItemAllowOperations = new CreatorEvent();
20058
20248
  /**
20059
- * The event is called on adding a new Survey.ItemValue object. It uses as an element in choices array in Radiogroup, checkbox and dropdown questions or Matrix columns and rows properties.
20060
- * Use this event, to set ItemValue.value and ItemValue.text properties by default or set a value to the custom property.
20061
- *- sender the survey creator object that fires the event
20062
- *- options.obj the object that contains the itemsValues array, for example selector, rating and single choice matrix questions.
20063
- *- options.propertyName the object property Name. It can be "choices" for selector questions or rateValues for rating question or columns/rows for single choice matrix.
20064
- *- options.newItem a new created Survey.ItemValue object.
20065
- *- options.itemValues an editing Survey.ItemValue array. newItem object is not added yet into this array.
20066
- */
20249
+ * An event that is raised when users add a new collection item (a choice option to Choices, a column or row to Columns, etc.). Use this event to modify this item.
20250
+ *
20251
+ * Parameters:
20252
+ *
20253
+ * - `sender`: `CreatorBase`\
20254
+ * A Survey Creator instance that raised the event.
20255
+ * - `options.obj`: [`Survey.Base`](https://surveyjs.io/form-library/documentation/api-reference/base)\
20256
+ * A survey element (survey, page, panel, question) that contains the collection to which the target item belongs.
20257
+ * - `options.property`: `JsonObjectProperty`\
20258
+ * A property that contains the collection to which the target item belongs.
20259
+ * - `options.propertyName`: `string`\
20260
+ * The property's name: `columns`, `rows`, `choices`, `rateValues`, etc.
20261
+ * - `options.newItem`: [`ItemValue`](https://surveyjs.io/form-library/documentation/itemvalue)\
20262
+ * A new collection item. Overwrite its `value` or `text` property if you want to change the item's value or display text.
20263
+ * - `options.itemValues`: [`ItemValue[]`](https://surveyjs.io/form-library/documentation/api-reference/base)\
20264
+ * An array of collection items to which the target item belongs ([`columns`](https://surveyjs.io/form-library/documentation/api-reference/matrix-table-question-model#columns) or [`rows`](https://surveyjs.io/form-library/documentation/api-reference/matrix-table-question-model#rows) in matrix questions, [`choices`](https://surveyjs.io/form-library/documentation/api-reference/questionselectbase#choices) in select-based questions, etc.). This array does not include `options.newItem`.
20265
+ *
20266
+ * > This event is not raised when users add a new column to a [Multi-Select Matrix](https://surveyjs.io/form-library/documentation/api-reference/matrix-table-with-dropdown-list) or [Dynamic Matrix](https://surveyjs.io/form-library/documentation/api-reference/dynamic-matrix-table-question-model). For these cases, handle the [`onMatrixColumnAdded`](https://surveyjs.io/survey-creator/documentation/api-reference/survey-creator#onMatrixColumnAdded) event instead.
20267
+ * @see onCollectionItemAllowOperations
20268
+ */
20067
20269
  _this.onItemValueAdded = new CreatorEvent();
20068
20270
  /**
20069
- * The event is called when a user adds a new column into MatrixDropdown or MatrixDynamic questions. Use it to set some properties of Survey.MatrixDropdownColumn by default, for example name or a custom property.
20070
- *- sender the survey creator object that fires the event
20071
- *- options.matrix a matrix question where column is located, matrix.columns.
20072
- *- options.newColumn a new created Survey.MatrixDropdownColumn object.
20073
- *- options.columns editable columns objects. They can be different from options.matrix.columns. options.columns and options.matrix.columns are equal after user press Apply or Cancel and options.columns will be set to options.matrix.columns or reset to initial state.
20271
+ * An event that is raised when users add a new column to a [Multi-Select Matrix](https://surveyjs.io/form-library/documentation/api-reference/matrix-table-with-dropdown-list) or [Dynamic Matrix](https://surveyjs.io/form-library/documentation/api-reference/dynamic-matrix-table-question-model). Use this event to modify this column.
20272
+ *
20273
+ * Parameters:
20274
+ *
20275
+ * - `sender`: `CreatorBase`\
20276
+ * A Survey Creator instance that raised the event.
20277
+ * - `options.matrix`: [`Question`](https://surveyjs.io/form-library/documentation/api-reference/question)\
20278
+ * A Multi-Select or Dynamic Matrix to which a new column is being added.
20279
+ * - `options.newColumn`: [`MatrixDropdownColumn`](https://surveyjs.io/form-library/documentation/api-reference/matrixdropdowncolumn)\
20280
+ * A new matrix column. Edit its properties if you want to modify this column.
20281
+ * - `options.columns`: [`MatrixDropdownColumn[]`](https://surveyjs.io/form-library/documentation/api-reference/matrixdropdowncolumn)\
20282
+ * An array of matrix columns. This array does not include `options.newColumn`.
20283
+ *
20284
+ * > This event is not raised when users add a new column to a [Single-Select Matrix](https://surveyjs.io/form-library/documentation/api-reference/matrix-table-question-model). For this case, handle the [`onItemValueAdded`](https://surveyjs.io/survey-creator/documentation/api-reference/survey-creator#onItemValueAdded) event instead.
20285
+ * @see onCollectionItemAllowOperations
20074
20286
  */
20075
20287
  _this.onMatrixColumnAdded = new CreatorEvent();
20076
20288
  /**
20077
- * Use this event to control Property Editors UI.
20078
- *- sender the survey creator object that fires the event
20079
- *- options.obj the survey object which property is edited in the Property Editor.
20080
- *- options.propertyName the name of the edited property.
20081
- *- options.editorOptions options that can be changed.
20082
- *- options.editorOptions.allowAddRemoveItems a boolean property, true by default. Set it false to disable add/remove items in array properties. For example 'choices', 'columns', 'rows'.
20083
- *- options.editorOptions.allowRemoveAllItems a boolean property, true by default. Set it false to disable remove all items in array properties. For example 'choices', 'columns', 'rows'.
20084
- *- options.editorOptions.allowBatchEdit a boolean property, true by default. Set it false to hide the "Edit" button for the "choices" property.
20085
- *- options.editorOptions.itemsEntryType a string property, 'form' by default. Set it 'fast' to show "Manual Entry" tab for "choices" property by default.
20289
+ * An event that is raised when a table property editor is created in the Property Grid. Use this event to configure the table property editor.
20290
+ *
20291
+ * Parameters:
20292
+ *
20293
+ * - `sender`: `CreatorBase`\
20294
+ * A Survey Creator instance that raised the event.
20295
+ * - `options.obj`: [`Survey.Base`](https://surveyjs.io/form-library/documentation/api-reference/base)\
20296
+ * A survey element (survey, page, panel, question) for which the table property editor is created.
20297
+ * - `options.propertyName`: `string`\
20298
+ * The name of the property with which the editor is associated: [`"columns"`](https://surveyjs.io/form-library/documentation/api-reference/matrix-table-question-model#columns), [`"rows"`](https://surveyjs.io/form-library/documentation/api-reference/matrix-table-question-model#rows), [`"choices"`](https://surveyjs.io/form-library/documentation/api-reference/questionselectbase#choices), etc.
20299
+ * - `options.editorOptions.allowAddRemoveItems`: `boolean`\
20300
+ * A Boolean property that you can set to `false` if you want to disallow users to add and delete table rows.
20301
+ * - `options.editorOptions.allowRemoveAllItems`: `boolean`\
20302
+ * A Boolean property that you can set to `false` if you want to disallow users to delete all table rows.
20303
+ * - `options.editorOptions.allowBatchEdit`: `boolean`\
20304
+ * A Boolean property that you can set to `false` if you want to disallow users to edit table content as text in a pop-up window.
20305
+ * @see onPropertyEditorCreated
20086
20306
  */
20087
20307
  _this.onSetPropertyEditorOptions = new CreatorEvent();
20088
- /**
20089
- * The event is called on generation a new name for a new created element.
20090
- *- sender the survey creator object that fires the event
20091
- *- options.element a new created survey element. It can be question, panel or page
20092
- *- options.name a new suggested name, that is unique for the current survey. You can suggest your own name. If it is unique, creator will assign it to the element.
20093
- */
20094
20308
  _this.onGenerateNewName = new CreatorEvent();
20095
20309
  /**
20096
20310
  * An event that is raised when Survey Creator validates a modified value of a survey element property. Use this event to display a custom error message when the value is incorrect.
@@ -20138,7 +20352,7 @@ var CreatorBase = /** @class */ (function (_super) {
20138
20352
  * - `sender`: `CreatorBase`\
20139
20353
  * A Survey Creator instance that raised the event.
20140
20354
  * - `options.obj`: [`Survey.Base`](https://surveyjs.io/form-library/documentation/api-reference/base)\
20141
- * A survey element (question, panel, page, or the survey itself) whose property is has changed.
20355
+ * A survey element (question, panel, page, or the survey itself) whose property has changed.
20142
20356
  * - `options.propertyName`: `string`\
20143
20357
  * The name of the modified property.
20144
20358
  * - `options.value`: `any`\
@@ -20148,21 +20362,24 @@ var CreatorBase = /** @class */ (function (_super) {
20148
20362
  */
20149
20363
  _this.onSurveyPropertyValueChanged = new CreatorEvent();
20150
20364
  /**
20151
- * Use this event to modify the list (name and titles) of the questions available in a condition editor.
20152
- *- sender the survey creator object that fires the event
20153
- *- options.obj the survey object which property is edited in the Property Editor.
20154
- *- options.propertyName the name of the edited property.
20155
- *- options.editor the instance of Property Editor.
20156
- *- options.list the list of the questions available for condition
20157
- *- options.sortOrder "asc" (default) | "none". Change it to "none", if you don't want to sort your condition list
20158
- */
20159
- _this.onConditionQuestionsGetList = new CreatorEvent();
20160
- /**
20161
- * Use this event to modify the title in a condition editor. The title is changing during editing. In case of empty or incorrect expression it tells that expression is incorrect
20162
- *- sender the survey creator object that fires the event.
20163
- *- options.expression the current expression. If the expression is empty or incorrect then the value is empty.
20164
- *- options.title the default value of the title. You can change the default value.
20365
+ * An event that is raised when a condition editor renders a list of questions available for selection. Use this event to modify this list.
20366
+ *
20367
+ * Parameters:
20368
+ *
20369
+ * - `sender`: `CreatorBase`\
20370
+ * A Survey Creator instance that raised the event.
20371
+ * - `options.obj`: [`Survey.Base`](https://surveyjs.io/form-library/documentation/api-reference/base)\
20372
+ * A survey element (question, panel, page, or the survey itself) for which the condition editor is displayed.
20373
+ * - `options.propertyName`: `string`\
20374
+ * The name of a property being configured: `enableIf`, `requiredIf`, `visibleIf`, etc.
20375
+ * - `options.editor`: `any`\
20376
+ * A condition editor instance.
20377
+ * - `options.list`: `any`\
20378
+ * A list of questions available for selection.
20379
+ * - `options.sortOrder`: `"asc"` (default) | `"none"`\
20380
+ * The sort order of questions within the list. Set this property to `"none"` to disable sorting.
20165
20381
  */
20382
+ _this.onConditionQuestionsGetList = new CreatorEvent();
20166
20383
  _this.onConditionGetTitle = new CreatorEvent();
20167
20384
  /**
20168
20385
  * An event that is raised when Survey Creator populates a condition editor with operators. Use this event to hide individual condition operators.
@@ -20179,19 +20396,23 @@ var CreatorBase = /** @class */ (function (_super) {
20179
20396
  * A condition opeator for which the event is raised.
20180
20397
  * - `options.show`: `boolean`\
20181
20398
  * A Boolean property that you can set to `false` if you want to hide the condition operator.
20182
- *
20183
20399
  */
20184
20400
  _this.onGetConditionOperator = new CreatorEvent();
20185
20401
  /**
20186
- * Use this event to modify the display text of a logic item in the Logic tab.
20402
+ * An event that is raised when the Logic tab constructs a user-friendly display text for a logic rule. Use this event to modify this display text.
20187
20403
  *
20188
- * The event handler accepts the following arguments:
20404
+ * Parameters:
20189
20405
  *
20190
- * - `sender` - A Survey Creator instance that raised the event.
20191
- * - `options.expression` - A logical expression associated with the logic item.
20192
- * - `options.expressionText` - The same expression in a user-friendly format. It may contain question titles instead of question names.
20193
- * - `options.logicItem` - A logic item object. Contains an array of actions and other properties.
20194
- * - `options.text` - The expression and actions in a user-friendly format. Redefine this property if you want to change the display text.
20406
+ * - `sender`: `CreatorBase`\
20407
+ * A Survey Creator instance that raised the event.
20408
+ * - `options.expression`: `string`\
20409
+ * A logical expression associated with the logic rule.
20410
+ * - `options.expressionText`: `string`\
20411
+ * The same expression in a user-friendly format.
20412
+ * - `options.logicItem`: `SurveyLogicItem`\
20413
+ * An object that describes the logic rule. Contains an array of actions and other properties.
20414
+ * - `options.text`: `string`\
20415
+ * A user-friendly display text for the logic rule. Modify this parameter if you want to override the display text.
20195
20416
  */
20196
20417
  _this.onLogicItemDisplayText = new CreatorEvent();
20197
20418
  /**
@@ -20250,6 +20471,7 @@ var CreatorBase = /** @class */ (function (_super) {
20250
20471
  * - `options.source` - A dragged element.
20251
20472
  * - `options.target` - A drop target.
20252
20473
  * - `options.newElement` - A new element. This parameter is defined only if users drag a question or panel from the Toolbox.
20474
+ * @see state
20253
20475
  */
20254
20476
  _this.onModified = new CreatorEvent();
20255
20477
  /**
@@ -20263,7 +20485,7 @@ var CreatorBase = /** @class */ (function (_super) {
20263
20485
  * The question users added.
20264
20486
  * - `options.page`: [`PageModel`](https://surveyjs.io/form-library/documentation/api-reference/page-model)\
20265
20487
  * A page to which the question was added.
20266
- * - `options.reason`: `"DROPPED_FROM_TOOLBOX"` | `"ADDED_FROM_PAGEBUTTON"` | `"ELEMENT_COPIED"`\
20488
+ * - `options.reason`: `"DROPPED_FROM_TOOLBOX"` | `"ADDED_FROM_PAGEBUTTON"` | `"ELEMENT_COPIED"` | `"ELEMENT_CONVERTED"`\
20267
20489
  * 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.
20268
20490
  *
20269
20491
  * [Customize Survey Elements on Creation](https://surveyjs.io/survey-creator/documentation/customize-survey-creation-process#customize-survey-elements-on-creation (linkStyle))
@@ -20328,6 +20550,7 @@ var CreatorBase = /** @class */ (function (_super) {
20328
20550
  * [Design Mode Survey Instance](https://surveyjs.io/survey-creator/documentation/customize-survey-creation-process#design-mode-survey-instance (linkStyle))
20329
20551
  *
20330
20552
  * > 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.
20553
+ * @see survey
20331
20554
  */
20332
20555
  _this.onDesignerSurveyCreated = new CreatorEvent();
20333
20556
  /**
@@ -20347,9 +20570,15 @@ var CreatorBase = /** @class */ (function (_super) {
20347
20570
  _this.onPreviewSurveyCreated = new CreatorEvent();
20348
20571
  _this.onTestSurveyCreated = _this.onPreviewSurveyCreated;
20349
20572
  /**
20350
- * The event is called in case of UI notifications. By default all notifications are done via built-in alert () function.
20351
- * In case of any subscriptions to this event all notifications will be redirected into the event handler.
20352
- *- options.message is a message to show.
20573
+ * An event that is raised when Survey Creator [displays a toast notification](https://surveyjs.io/survey-creator/documentation/api-reference/survey-creator#notify). Use this event to implement custom toast notification.
20574
+ *
20575
+ * Parameters:
20576
+ *
20577
+ * - `sender`: `CreatorBase`\
20578
+ * A Survey Creator instance that raised the event.
20579
+ * - `options.message`: `string`\
20580
+ * A message to display.
20581
+ * @see notify
20353
20582
  */
20354
20583
  _this.onNotify = new CreatorEvent();
20355
20584
  /**
@@ -20392,15 +20621,23 @@ var CreatorBase = /** @class */ (function (_super) {
20392
20621
  * A choice item for which the event is raised. This parameter has a value only when the dialog window is opened to select images for an [Image Picker](https://surveyjs.io/form-library/documentation/api-reference/image-picker-question-model) question.
20393
20622
  * - `options.callback: (files: Array<File>)`: `Function`\
20394
20623
  * A callback function to which you should pass selected files.
20624
+ * @see onUploadFile
20395
20625
  * @see uploadFiles
20396
20626
  */
20397
20627
  _this.onOpenFileChooser = new CreatorEvent();
20398
20628
  /**
20399
- * The event is fired on uploading the files.
20629
+ * An event that is raised when a user selects a file to upload. Use this event to upload the file to your server.
20630
+ *
20631
+ * Parameters:
20400
20632
  *
20401
- * - `sender` - the survey creator object that fires the event
20402
- * - `options.files` - the Javascript File objects array
20403
- * - `options.callback(status, imageLink)` - called on upload complete
20633
+ * - `sender`: `CreatorBase`\
20634
+ * A Survey Creator instance that raised the event.
20635
+ * - `options.question`: [`Question`](https://surveyjs.io/form-library/documentation/api-reference/question)\
20636
+ * A question for which files are being uploaded.
20637
+ * - `options.files`: [`File[]`](https://developer.mozilla.org/en-US/docs/Web/API/File)\
20638
+ * Files to upload.
20639
+ * - `options.callback(status: string, fileUrl: string)`: `Function`\
20640
+ * A callback function that you should call when a file is uploaded successfully or when file upload fails. Pass `"success"` or `"error"` as the `status` argument. If the file upload is successful, pass the file's URL as the `fileUrl` argument.
20404
20641
  *
20405
20642
  * [View Demo](https://surveyjs.io/survey-creator/examples/file-upload/ (linkStyle))
20406
20643
  * @see uploadFiles
@@ -20586,12 +20823,69 @@ var CreatorBase = /** @class */ (function (_super) {
20586
20823
  * @see onDragEnd
20587
20824
  */
20588
20825
  _this.onDragDropAllow = new CreatorEvent();
20826
+ /**
20827
+ * An event that allows you to create a custom message panel.
20828
+ *
20829
+ * Parameters:
20830
+ *
20831
+ * - `sender`: `CreatorBase`\
20832
+ * A Survey Creator instance that raised the event.
20833
+ * - `options.question`: [`Question`](https://surveyjs.io/form-library/documentation/question)\
20834
+ * A question for which the event is raised.
20835
+ * - `options.messageText`: `string`\
20836
+ * A notification message that you want to display. Assign a custom string value to this parameter.
20837
+ * - `options.actionText`: `string`\
20838
+ * A caption text for the action link. Assign a custom string value to this parameter.
20839
+ * - `options.onClick`: `function`\
20840
+ * A function that is called when users click the action link. Assign a custom function to this parameter.
20841
+ *
20842
+ * A message panel is displayed within a question box on the design surface. It contains a text message and an optional action link. The following image illustrates a built-in message panel that appears when a question sources its choice options from another question or from a web service:
20843
+ *
20844
+ * <img src="https://surveyjs.io/stay-updated/release-notes/articles/v1.9.126/creator-message-panel.png" alt="Survey Creator: A message panel" width="75%">
20845
+ *
20846
+ * To create a custom message panel, handle the `onCreateCustomMessagePanel` event. This event is raised for questions whose `isMessagePanelVisible` property set to `true`. The following code shows how to enable this property based on a condition. This code implements a custom data source selector for select-based questions (Dropdown, Checkboxes, Radio Button Group). When a survey author selects any data source other than "Custom", the `isMessagePanelVisible` property becomes enabled, indicating that the `onCreateCustomMessagePanel` event must be raised. A function that handles this event specifies custom message and action link texts and `onClick` event handler:
20847
+ *
20848
+ * ```js
20849
+ * import { Serializer } from "survey-core";
20850
+ * import { SurveyCreatorModel } from "survey-creator-core";
20851
+ *
20852
+ * Serializer.addProperty("selectbase", {
20853
+ * name: "choicesDataSource",
20854
+ * displayName: "Data source",
20855
+ * category: "choices",
20856
+ * choices: [
20857
+ * { text: "Country", value: "country" },
20858
+ * { text: "Region", value: "region" },
20859
+ * { text: "City", value: "city" },
20860
+ * { text: "Custom", value: "custom" }
20861
+ * ],
20862
+ * onSetValue: function (obj: any, value: any) {
20863
+ * // Set the custom property value
20864
+ * obj.setPropertyValue("choicesDataSource", value);
20865
+ * // Display the message panel based on a condition
20866
+ * obj.setPropertyValue("isMessagePanelVisible", value !== "custom");
20867
+ * }
20868
+ * });
20869
+ *
20870
+ * const creator = new SurveyCreatorModel({});
20871
+ *
20872
+ * creator.onCreateCustomMessagePanel.add((_, options) => {
20873
+ * options.messageText = "Choices for this question are loaded from a predefined data source. ";
20874
+ * options.actionText = "Go to settings";
20875
+ * // Focus the "Data source" editor within the Property Grid
20876
+ * options.onClick = () => {
20877
+ * creator.selectElement(options.question, "choicesDataSource");
20878
+ * };
20879
+ * });
20880
+ * ```
20881
+ */
20882
+ _this.onCreateCustomMessagePanel = new CreatorEvent();
20589
20883
  // /**
20590
20884
  // * You need to set this property to true if you want to use tabs instead of accordion in the popup element's editor.
20591
20885
  // */
20592
20886
  // public useTabsInElementEditor = false;
20593
20887
  /**
20594
- * Limits the number of items in a logical expression.
20888
+ * Limits the number of items in a logical condition.
20595
20889
  *
20596
20890
  * Default value: -1 (unlimited)
20597
20891
  */
@@ -20625,7 +20919,6 @@ var CreatorBase = /** @class */ (function (_super) {
20625
20919
  * If you set this property to `false`, users can only use UI elements to edit logical expressions.
20626
20920
  *
20627
20921
  * Default value: `true`
20628
- *
20629
20922
  * @see showLogicTab
20630
20923
  */
20631
20924
  _this.allowEditExpressionsInTextEditor = true;
@@ -20682,10 +20975,6 @@ var CreatorBase = /** @class */ (function (_super) {
20682
20975
  _this._allowModifyPages = true;
20683
20976
  _this.showDefaultLanguageInTestSurveyTab = "auto";
20684
20977
  _this.showInvisibleElementsInTestSurveyTab = true;
20685
- /**
20686
- * Set this property to true if you want to show "page selector" in the toolabar instead of "pages editor"
20687
- */
20688
- _this.showPageSelectorInToolbar = false;
20689
20978
  /**
20690
20979
  * Specifies whether users can switch between UI themes in the Preview tab.
20691
20980
  *
@@ -20696,7 +20985,7 @@ var CreatorBase = /** @class */ (function (_super) {
20696
20985
  */
20697
20986
  _this.allowChangeThemeInPreview = true;
20698
20987
  /**
20699
- * Specifies whether to show an error message if a survey is not saved in the database.
20988
+ * Specifies whether to show an error message if a survey is not saved in a database.
20700
20989
  *
20701
20990
  * Default value: `true`
20702
20991
  */
@@ -20831,7 +21120,7 @@ var CreatorBase = /** @class */ (function (_super) {
20831
21120
  /**
20832
21121
  * A delay between changing survey settings and saving the survey JSON schema, measured in milliseconds. Applies only when the [`isAutoSave`](#isAutoSave) property is `true`.
20833
21122
  *
20834
- * Default value: 500 (taken from `settings.autoSave.delay`)
21123
+ * Default value: 500 (inherited from `settings.autoSave.delay`)
20835
21124
  *
20836
21125
  * If a user changes the settings once again during the delay, only the latest version will be saved.
20837
21126
  */
@@ -21242,18 +21531,17 @@ var CreatorBase = /** @class */ (function (_super) {
21242
21531
  enumerable: false,
21243
21532
  configurable: true
21244
21533
  });
21245
- /**
21246
- * Returns the localized string by its id
21247
- * @param str the string id.
21248
- */
21249
21534
  CreatorBase.prototype.getLocString = function (str) {
21250
21535
  return _editorLocalization__WEBPACK_IMPORTED_MODULE_3__["editorLocalization"].getString(str);
21251
21536
  };
21252
21537
  CreatorBase.prototype.onSetReadOnly = function (newVal) { };
21253
21538
  Object.defineProperty(CreatorBase.prototype, "locale", {
21254
21539
  /**
21255
- * Gets or sets the survey locale. The default value it is empty, this means the 'en' locale is used.
21256
- * You can set it to 'de' - German, 'fr' - French and so on.
21540
+ * Specifies the locale of the Survey Creator UI.
21541
+ *
21542
+ * Default value: `""` (inherited from `editorLocalization.currentLocale`)
21543
+ *
21544
+ * [Localization & Globalization](https://surveyjs.io/survey-creator/documentation/survey-localization-translate-surveys-to-different-languages (linkStyle))
21257
21545
  */
21258
21546
  get: function () {
21259
21547
  return this.getPropertyValue("locale", _editorLocalization__WEBPACK_IMPORTED_MODULE_3__["editorLocalization"].currentLocale);
@@ -21449,7 +21737,7 @@ var CreatorBase = /** @class */ (function (_super) {
21449
21737
  });
21450
21738
  Object.defineProperty(CreatorBase.prototype, "showSidebar", {
21451
21739
  /**
21452
- * Specifies whether to show the sidebar that displays Property Grid.
21740
+ * Specifies whether to show the sidebar that displays the Property Grid.
21453
21741
  *
21454
21742
  * Default value: `true`
21455
21743
  * @see sidebarLocation
@@ -21753,7 +22041,8 @@ var CreatorBase = /** @class */ (function (_super) {
21753
22041
  };
21754
22042
  Object.defineProperty(CreatorBase.prototype, "survey", {
21755
22043
  /**
21756
- * The editing survey object (Survey.Survey)
22044
+ * A [survey](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model) being configured in the Designer tab.
22045
+ * @see onDesignerSurveyCreated
21757
22046
  */
21758
22047
  get: function () {
21759
22048
  return this.surveyValue;
@@ -22020,11 +22309,6 @@ var CreatorBase = /** @class */ (function (_super) {
22020
22309
  this.setSurveyJSONTextCallback(value);
22021
22310
  }
22022
22311
  };
22023
- /**
22024
- * Set JSON as text into survey. Clear undo/redo states optionally.
22025
- * @param value JSON as text
22026
- * @param clearState default false. Set this parameter to true to clear undo/redo states.
22027
- */
22028
22312
  CreatorBase.prototype.changeText = function (value, clearState) {
22029
22313
  if (clearState === void 0) { clearState = false; }
22030
22314
  this.setTextValue(value);
@@ -22104,7 +22388,15 @@ var CreatorBase = /** @class */ (function (_super) {
22104
22388
  };
22105
22389
  Object.defineProperty(CreatorBase.prototype, "state", {
22106
22390
  /**
22107
- * Returns the creator state. It may return empty string or "saving" and "saved".
22391
+ * Indicates the state of Survey Creator.
22392
+ *
22393
+ * Possible values:
22394
+ *
22395
+ * - `""` - Survey Creator doesn't have unsaved changes.
22396
+ * - `"modified"` - Survey Creator has unsaved changes.
22397
+ * - `"saving"` - Changes are being saved.
22398
+ * - `"saved"` - Changes are successfully saved.
22399
+ * @see onModified
22108
22400
  */
22109
22401
  get: function () {
22110
22402
  return !!this._stateValue ? this._stateValue : "";
@@ -22147,17 +22439,20 @@ var CreatorBase = /** @class */ (function (_super) {
22147
22439
  this.setModified(options);
22148
22440
  };
22149
22441
  /**
22150
- * This function triggers user notification (via the alert() function if no onNotify event handler added).
22151
- * @see onNotify
22442
+ * Displays a toast notification with a specified message.
22443
+ *
22444
+ * If you want to implement custom toast notification from scratch, handle the [`onNotify`](https://surveyjs.io/survey-creator/documentation/api-reference/survey-creator#onNotify) event.
22445
+ * @param message A message to display.
22446
+ * @param type A notification type: `"info"` (default) or `"error"`.
22152
22447
  */
22153
- CreatorBase.prototype.notify = function (msg, type) {
22448
+ CreatorBase.prototype.notify = function (message, type) {
22154
22449
  if (type === void 0) { type = "info"; }
22155
22450
  if (this.onNotify.isEmpty) {
22156
- this.notifier.notify(msg, type);
22157
- // alert(msg);
22451
+ this.notifier.notify(message, type);
22452
+ // alert(message);
22158
22453
  }
22159
22454
  else {
22160
- this.onNotify.fire(this, { message: msg });
22455
+ this.onNotify.fire(this, { message: message });
22161
22456
  }
22162
22457
  };
22163
22458
  CreatorBase.prototype.convertQuestion = function (obj, className) {
@@ -22370,8 +22665,9 @@ var CreatorBase = /** @class */ (function (_super) {
22370
22665
  return this.createNewElement(json);
22371
22666
  };
22372
22667
  /**
22373
- * Copy a question to the active page
22374
- * @param question A copied Survey.Question
22668
+ * Creates a copy of a specified question and inserts the copy next to this question.
22669
+ * @param question A question to copy.
22670
+ * @returns The instance of a new question.
22375
22671
  */
22376
22672
  CreatorBase.prototype.fastCopyQuestion = function (question) {
22377
22673
  var newElement = this.copyElement(question);
@@ -22429,8 +22725,11 @@ var CreatorBase = /** @class */ (function (_super) {
22429
22725
  this.deleteObject(element);
22430
22726
  };
22431
22727
  /**
22432
- * Create a new page with the same elements and place it next to the current one. It returns the new created Survey.Page
22433
- * @param page A copied Survey.Page
22728
+ * Creates a copy of a specified page and inserts the copy next to this page.
22729
+ * @param page A [page](https://surveyjs.io/form-library/documentation/api-reference/page-model) to copy.
22730
+ * @returns The [instance of a new page](https://surveyjs.io/form-library/documentation/api-reference/page-model).
22731
+ * @see onPageAdding
22732
+ * @see onPageAdded
22434
22733
  */
22435
22734
  CreatorBase.prototype.copyPage = function (page) {
22436
22735
  var _this = this;
@@ -22671,8 +22970,9 @@ var CreatorBase = /** @class */ (function (_super) {
22671
22970
  return isValid;
22672
22971
  };
22673
22972
  /**
22674
- * Deletes all custom translation strings for the passed locale from Survey Creator and from the generated survey JSON schema.
22973
+ * Deletes all custom translation strings for a specified locale from Survey Creator and from the generated survey JSON schema.
22675
22974
  * @param locale A locale code (for example, "en").
22975
+ * @see locale
22676
22976
  */
22677
22977
  CreatorBase.prototype.deleteLocaleStrings = function (locale) {
22678
22978
  var translation = new _src_components_tabs_translation__WEBPACK_IMPORTED_MODULE_21__["Translation"](this.survey);
@@ -22745,11 +23045,13 @@ var CreatorBase = /** @class */ (function (_super) {
22745
23045
  return json;
22746
23046
  };
22747
23047
  /**
22748
- * Open file chooser dialog
22749
- * @param input file input element
22750
- * @param onFilesChosen a call back function to process chosen files
23048
+ * Opens a dialog window for users to select files.
23049
+ * @param input A [file input HTML element](https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement).
23050
+ * @param callback A callback function that you can use to process selected files. Accepts an array of JavaScript <a href="https://developer.mozilla.org/en-US/docs/Web/API/File" target="_blank">File</a> objects.
23051
+ * @see onOpenFileChooser
23052
+ * @see onUploadFile
22751
23053
  */
22752
- CreatorBase.prototype.chooseFiles = function (input, onFilesChosen, context) {
23054
+ CreatorBase.prototype.chooseFiles = function (input, callback, context) {
22753
23055
  if (this.onOpenFileChooser.isEmpty) {
22754
23056
  if (!window || !window["FileReader"])
22755
23057
  return;
@@ -22763,7 +23065,7 @@ var CreatorBase = /** @class */ (function (_super) {
22763
23065
  for (var i = 0; i < input.files.length; i++) {
22764
23066
  files.push(input.files[i]);
22765
23067
  }
22766
- onFilesChosen(files);
23068
+ callback(files);
22767
23069
  };
22768
23070
  input.click();
22769
23071
  }
@@ -22772,20 +23074,22 @@ var CreatorBase = /** @class */ (function (_super) {
22772
23074
  input: input,
22773
23075
  element: context && context.element || this.survey,
22774
23076
  item: context && context.item,
22775
- callback: onFilesChosen
23077
+ callback: callback
22776
23078
  });
22777
23079
  }
22778
23080
  };
22779
23081
  /**
22780
- * Upload the files on a server
22781
- * @param files files to upload
22782
- * @param uploadingCallback a call back function to get the status on uploading the file and operation result - URI of the uploaded file
23082
+ * Uploads files to a server.
23083
+ * @param files An array of JavaScript <a href="https://developer.mozilla.org/en-US/docs/Web/API/File" target="_blank">File</a> objects that represent files to upload.
23084
+ * @param question A [question instance](https://surveyjs.io/form-library/documentation/api-reference/question) for which files are uploaded.
23085
+ * @param callback A callback function that indicates the upload status&mdash;"success" or "error"&mdash;as the first argument. If a file is uploaded successfully, the second argument contains the file's URL.
23086
+ * @see onUploadFile
22783
23087
  */
22784
- CreatorBase.prototype.uploadFiles = function (files, question, uploadingCallback) {
23088
+ CreatorBase.prototype.uploadFiles = function (files, question, callback) {
22785
23089
  if (this.onUploadFile.isEmpty) {
22786
23090
  var fileReader_1 = new FileReader();
22787
23091
  fileReader_1.onload = function (e) {
22788
- uploadingCallback("success", fileReader_1.result);
23092
+ callback("success", fileReader_1.result);
22789
23093
  };
22790
23094
  fileReader_1.readAsDataURL(files[0]);
22791
23095
  }
@@ -22793,7 +23097,7 @@ var CreatorBase = /** @class */ (function (_super) {
22793
23097
  this.onUploadFile.fire(this, {
22794
23098
  question: question,
22795
23099
  files: files || [],
22796
- callback: uploadingCallback
23100
+ callback: callback
22797
23101
  });
22798
23102
  }
22799
23103
  };
@@ -23064,7 +23368,7 @@ var CreatorBase = /** @class */ (function (_super) {
23064
23368
  };
23065
23369
  CreatorBase.prototype.onConditionQuestionsGetListCallback = function (propertyName, obj, editor, list) {
23066
23370
  if (this.onConditionQuestionsGetList.isEmpty)
23067
- return "asc";
23371
+ return _creator_settings__WEBPACK_IMPORTED_MODULE_2__["settings"].logic.questionSortOrder;
23068
23372
  var options = {
23069
23373
  propertyName: propertyName,
23070
23374
  obj: obj,
@@ -23266,6 +23570,7 @@ var CreatorBase = /** @class */ (function (_super) {
23266
23570
  var objType = _survey_helper__WEBPACK_IMPORTED_MODULE_9__["SurveyHelper"].getObjectType(el);
23267
23571
  if (objType !== _survey_helper__WEBPACK_IMPORTED_MODULE_9__["ObjType"].Question && objType !== _survey_helper__WEBPACK_IMPORTED_MODULE_9__["ObjType"].Panel)
23268
23572
  return;
23573
+ this.addNewElementReason = "ELEMENT_CONVERTED";
23269
23574
  el = this.convertQuestion(el, newType);
23270
23575
  this.selectElement(el, null, "#convertTo button");
23271
23576
  };
@@ -23596,6 +23901,11 @@ var CreatorBase = /** @class */ (function (_super) {
23596
23901
  return CreatorBase;
23597
23902
  }(survey_core__WEBPACK_IMPORTED_MODULE_1__["Base"]));
23598
23903
 
23904
+ /**
23905
+ * A class with properties, methods, and events that allow you to configure Survey Creator and manage its elements.
23906
+ *
23907
+ * [View Demo](https://surveyjs.io/survey-creator/examples/free-nps-survey-template/ (linkStyle))
23908
+ */
23599
23909
  var SurveyCreatorModel = /** @class */ (function (_super) {
23600
23910
  Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(SurveyCreatorModel, _super);
23601
23911
  function SurveyCreatorModel() {
@@ -24005,6 +24315,7 @@ var settings = {
24005
24315
  showAddQuestionButton: true
24006
24316
  },
24007
24317
  logic: {
24318
+ questionSortOrder: "asc",
24008
24319
  get defaultOperator() { return settings.logic.defaultOperators.default; },
24009
24320
  set defaultOperator(val) { settings.logic.defaultOperators.default = val; },
24010
24321
  defaultOperators: {
@@ -24186,10 +24497,10 @@ var EmptySurveyCreatorOptions = /** @class */ (function () {
24186
24497
  EmptySurveyCreatorOptions.prototype.isConditionOperatorEnabled = function (questionName, question, operator, isEnabled) { return isEnabled; };
24187
24498
  EmptySurveyCreatorOptions.prototype.onLogicGetTitleCallback = function (expression, displayExpression, text, logicItem) { return text; };
24188
24499
  EmptySurveyCreatorOptions.prototype.getTranslationExportedText = function (obj, name, locString, locale, text) { return text; };
24189
- EmptySurveyCreatorOptions.prototype.uploadFiles = function (files, question, uploadingCallback) { };
24500
+ EmptySurveyCreatorOptions.prototype.uploadFiles = function (files, question, callback) { };
24190
24501
  EmptySurveyCreatorOptions.prototype.getHasMachineTranslation = function () { return this.machineTranslationValue; };
24191
24502
  EmptySurveyCreatorOptions.prototype.doMachineTranslation = function (fromLocale, toLocale, strings, callback) { };
24192
- EmptySurveyCreatorOptions.prototype.chooseFiles = function (input, onFilesChosen, context) { };
24503
+ EmptySurveyCreatorOptions.prototype.chooseFiles = function (input, callback, context) { };
24193
24504
  return EmptySurveyCreatorOptions;
24194
24505
  }());
24195
24506
 
@@ -25428,7 +25739,7 @@ var __spreadArray = function (to, from) {
25428
25739
  /*!******************************!*\
25429
25740
  !*** ./src/entries/index.ts ***!
25430
25741
  \******************************/
25431
- /*! 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, updateColorSettingsJSON, createColor, updateBoxShadowSettingsJSON, createBoxShadow, createBoxShadowReset, parseBoxShadow, DefaultFonts, updateFontSettingsJSON, fontsettingsToCssVariable, fontsettingsFromCssVariable, updateElementSettingsJSON, elementSettingsToCssVariable, elementSettingsFromCssVariable, Themes, PredefinedThemes, PredefinedColors, getThemeFullName, getObjectDiffs, getThemeChanges, 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, SearchManager, 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, scrollElementIntoView, ingectAlpha, convertRgbaToString, parseRgbaFromString, parseColor, HSBToRGB, RGBToHSB, assign, ColorCalculator, saveToFileHandler, SurveyQuestionEditorDefinition, ObjType, SurveyHelper, ResizeManager, UndoRedoPlugin, undoRedoTransaction, ignoreUndoRedo, UndoRedoManager, Transaction, UndoRedoAction, UndoRedoArrayAction, PagesController */
25742
+ /*! 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, updateColorSettingsJSON, createColor, updateBoxShadowSettingsJSON, createBoxShadow, createBoxShadowReset, parseBoxShadow, DefaultFonts, updateFontSettingsJSON, fontsettingsToCssVariable, fontsettingsFromCssVariable, updateElementSettingsJSON, elementSettingsToCssVariable, elementSettingsFromCssVariable, Themes, PredefinedThemes, PredefinedColors, getThemeFullName, getObjectDiffs, getThemeChanges, 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, SearchManager, propertyGridCss, QuestionConverter, svgBundle, SurveyTextWorkerError, SurveyTextWorkerParserError, SurveyTextWorkerJsonError, SurveyTextWorker, JsonDuplicateNameError, QuestionToolboxCategory, QuestionToolboxItem, QuestionToolbox, SidebarModel, SidebarTabModel, Switcher, getNextItemValue, getNextItemText, getNextValue, findParentNode, focusFirstControl, getFirstNonTextElement, getNodesFromKoComponentInfo, propertyExists, isPropertyVisible, toggleHovered, clearNewLines, select, copyObject, copyCssClasses, assignDefaultV2Classes, wrapTextByCurlyBraces, capitalize, notShortCircuitAnd, imageMimeTypes, getAcceptedTypesByContentMode, getQuestionFromObj, scrollElementIntoView, ingectAlpha, convertRgbaToString, parseRgbaFromString, parseColor, HSBToRGB, RGBToHSB, assign, ColorCalculator, saveToFileHandler, SurveyQuestionEditorDefinition, ObjType, SurveyHelper, ResizeManager, UndoRedoPlugin, undoRedoTransaction, ignoreUndoRedo, UndoRedoManager, Transaction, UndoRedoAction, UndoRedoArrayAction, PagesController */
25432
25743
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
25433
25744
 
25434
25745
  "use strict";
@@ -25844,104 +26155,107 @@ __webpack_require__.r(__webpack_exports__);
25844
26155
  /* harmony import */ var _components_side_bar_side_bar_tab_model__WEBPACK_IMPORTED_MODULE_63__ = __webpack_require__(/*! ../components/side-bar/side-bar-tab-model */ "./src/components/side-bar/side-bar-tab-model.ts");
25845
26156
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SidebarTabModel", function() { return _components_side_bar_side_bar_tab_model__WEBPACK_IMPORTED_MODULE_63__["SidebarTabModel"]; });
25846
26157
 
25847
- /* harmony import */ var _utils_events__WEBPACK_IMPORTED_MODULE_64__ = __webpack_require__(/*! ../utils/events */ "./src/utils/events.ts");
25848
- /* empty/unused harmony star reexport *//* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_65__ = __webpack_require__(/*! ../utils/utils */ "./src/utils/utils.ts");
25849
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getNextItemValue", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_65__["getNextItemValue"]; });
26158
+ /* harmony import */ var _components_switcher_switcher__WEBPACK_IMPORTED_MODULE_64__ = __webpack_require__(/*! ../components/switcher/switcher */ "./src/components/switcher/switcher.ts");
26159
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Switcher", function() { return _components_switcher_switcher__WEBPACK_IMPORTED_MODULE_64__["Switcher"]; });
26160
+
26161
+ /* harmony import */ var _utils_events__WEBPACK_IMPORTED_MODULE_65__ = __webpack_require__(/*! ../utils/events */ "./src/utils/events.ts");
26162
+ /* empty/unused harmony star reexport *//* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_66__ = __webpack_require__(/*! ../utils/utils */ "./src/utils/utils.ts");
26163
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getNextItemValue", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_66__["getNextItemValue"]; });
25850
26164
 
25851
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getNextItemText", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_65__["getNextItemText"]; });
26165
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getNextItemText", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_66__["getNextItemText"]; });
25852
26166
 
25853
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getNextValue", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_65__["getNextValue"]; });
26167
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getNextValue", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_66__["getNextValue"]; });
25854
26168
 
25855
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "findParentNode", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_65__["findParentNode"]; });
26169
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "findParentNode", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_66__["findParentNode"]; });
25856
26170
 
25857
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "focusFirstControl", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_65__["focusFirstControl"]; });
26171
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "focusFirstControl", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_66__["focusFirstControl"]; });
25858
26172
 
25859
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getFirstNonTextElement", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_65__["getFirstNonTextElement"]; });
26173
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getFirstNonTextElement", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_66__["getFirstNonTextElement"]; });
25860
26174
 
25861
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getNodesFromKoComponentInfo", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_65__["getNodesFromKoComponentInfo"]; });
26175
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getNodesFromKoComponentInfo", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_66__["getNodesFromKoComponentInfo"]; });
25862
26176
 
25863
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "propertyExists", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_65__["propertyExists"]; });
26177
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "propertyExists", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_66__["propertyExists"]; });
25864
26178
 
25865
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "isPropertyVisible", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_65__["isPropertyVisible"]; });
26179
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "isPropertyVisible", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_66__["isPropertyVisible"]; });
25866
26180
 
25867
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "toggleHovered", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_65__["toggleHovered"]; });
26181
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "toggleHovered", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_66__["toggleHovered"]; });
25868
26182
 
25869
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "clearNewLines", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_65__["clearNewLines"]; });
26183
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "clearNewLines", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_66__["clearNewLines"]; });
25870
26184
 
25871
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "select", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_65__["select"]; });
26185
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "select", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_66__["select"]; });
25872
26186
 
25873
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "copyObject", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_65__["copyObject"]; });
26187
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "copyObject", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_66__["copyObject"]; });
25874
26188
 
25875
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "copyCssClasses", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_65__["copyCssClasses"]; });
26189
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "copyCssClasses", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_66__["copyCssClasses"]; });
25876
26190
 
25877
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "assignDefaultV2Classes", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_65__["assignDefaultV2Classes"]; });
26191
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "assignDefaultV2Classes", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_66__["assignDefaultV2Classes"]; });
25878
26192
 
25879
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "wrapTextByCurlyBraces", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_65__["wrapTextByCurlyBraces"]; });
26193
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "wrapTextByCurlyBraces", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_66__["wrapTextByCurlyBraces"]; });
25880
26194
 
25881
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "capitalize", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_65__["capitalize"]; });
26195
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "capitalize", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_66__["capitalize"]; });
25882
26196
 
25883
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "notShortCircuitAnd", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_65__["notShortCircuitAnd"]; });
26197
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "notShortCircuitAnd", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_66__["notShortCircuitAnd"]; });
25884
26198
 
25885
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "imageMimeTypes", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_65__["imageMimeTypes"]; });
26199
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "imageMimeTypes", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_66__["imageMimeTypes"]; });
25886
26200
 
25887
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getAcceptedTypesByContentMode", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_65__["getAcceptedTypesByContentMode"]; });
26201
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getAcceptedTypesByContentMode", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_66__["getAcceptedTypesByContentMode"]; });
25888
26202
 
25889
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getQuestionFromObj", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_65__["getQuestionFromObj"]; });
26203
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getQuestionFromObj", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_66__["getQuestionFromObj"]; });
25890
26204
 
25891
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "scrollElementIntoView", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_65__["scrollElementIntoView"]; });
26205
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "scrollElementIntoView", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_66__["scrollElementIntoView"]; });
25892
26206
 
25893
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ingectAlpha", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_65__["ingectAlpha"]; });
26207
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ingectAlpha", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_66__["ingectAlpha"]; });
25894
26208
 
25895
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "convertRgbaToString", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_65__["convertRgbaToString"]; });
26209
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "convertRgbaToString", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_66__["convertRgbaToString"]; });
25896
26210
 
25897
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "parseRgbaFromString", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_65__["parseRgbaFromString"]; });
26211
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "parseRgbaFromString", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_66__["parseRgbaFromString"]; });
25898
26212
 
25899
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "parseColor", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_65__["parseColor"]; });
26213
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "parseColor", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_66__["parseColor"]; });
25900
26214
 
25901
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "HSBToRGB", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_65__["HSBToRGB"]; });
26215
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "HSBToRGB", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_66__["HSBToRGB"]; });
25902
26216
 
25903
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "RGBToHSB", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_65__["RGBToHSB"]; });
26217
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "RGBToHSB", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_66__["RGBToHSB"]; });
25904
26218
 
25905
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "assign", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_65__["assign"]; });
26219
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "assign", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_66__["assign"]; });
25906
26220
 
25907
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ColorCalculator", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_65__["ColorCalculator"]; });
26221
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ColorCalculator", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_66__["ColorCalculator"]; });
25908
26222
 
25909
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "saveToFileHandler", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_65__["saveToFileHandler"]; });
26223
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "saveToFileHandler", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_66__["saveToFileHandler"]; });
25910
26224
 
25911
- /* harmony import */ var _question_editor_definition__WEBPACK_IMPORTED_MODULE_66__ = __webpack_require__(/*! ../question-editor/definition */ "./src/question-editor/definition.ts");
25912
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyQuestionEditorDefinition", function() { return _question_editor_definition__WEBPACK_IMPORTED_MODULE_66__["SurveyQuestionEditorDefinition"]; });
26225
+ /* harmony import */ var _question_editor_definition__WEBPACK_IMPORTED_MODULE_67__ = __webpack_require__(/*! ../question-editor/definition */ "./src/question-editor/definition.ts");
26226
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyQuestionEditorDefinition", function() { return _question_editor_definition__WEBPACK_IMPORTED_MODULE_67__["SurveyQuestionEditorDefinition"]; });
25913
26227
 
25914
- /* harmony import */ var _survey_helper__WEBPACK_IMPORTED_MODULE_67__ = __webpack_require__(/*! ../survey-helper */ "./src/survey-helper.ts");
25915
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ObjType", function() { return _survey_helper__WEBPACK_IMPORTED_MODULE_67__["ObjType"]; });
26228
+ /* harmony import */ var _survey_helper__WEBPACK_IMPORTED_MODULE_68__ = __webpack_require__(/*! ../survey-helper */ "./src/survey-helper.ts");
26229
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ObjType", function() { return _survey_helper__WEBPACK_IMPORTED_MODULE_68__["ObjType"]; });
25916
26230
 
25917
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyHelper", function() { return _survey_helper__WEBPACK_IMPORTED_MODULE_67__["SurveyHelper"]; });
26231
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyHelper", function() { return _survey_helper__WEBPACK_IMPORTED_MODULE_68__["SurveyHelper"]; });
25918
26232
 
25919
- /* harmony import */ var _utils_resizer__WEBPACK_IMPORTED_MODULE_68__ = __webpack_require__(/*! ../utils/resizer */ "./src/utils/resizer.ts");
25920
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ResizeManager", function() { return _utils_resizer__WEBPACK_IMPORTED_MODULE_68__["ResizeManager"]; });
26233
+ /* harmony import */ var _utils_resizer__WEBPACK_IMPORTED_MODULE_69__ = __webpack_require__(/*! ../utils/resizer */ "./src/utils/resizer.ts");
26234
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ResizeManager", function() { return _utils_resizer__WEBPACK_IMPORTED_MODULE_69__["ResizeManager"]; });
25921
26235
 
25922
- /* harmony import */ var _plugins_undo_redo__WEBPACK_IMPORTED_MODULE_69__ = __webpack_require__(/*! ../plugins/undo-redo */ "./src/plugins/undo-redo/index.ts");
25923
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "UndoRedoPlugin", function() { return _plugins_undo_redo__WEBPACK_IMPORTED_MODULE_69__["UndoRedoPlugin"]; });
26236
+ /* harmony import */ var _plugins_undo_redo__WEBPACK_IMPORTED_MODULE_70__ = __webpack_require__(/*! ../plugins/undo-redo */ "./src/plugins/undo-redo/index.ts");
26237
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "UndoRedoPlugin", function() { return _plugins_undo_redo__WEBPACK_IMPORTED_MODULE_70__["UndoRedoPlugin"]; });
25924
26238
 
25925
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "undoRedoTransaction", function() { return _plugins_undo_redo__WEBPACK_IMPORTED_MODULE_69__["undoRedoTransaction"]; });
26239
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "undoRedoTransaction", function() { return _plugins_undo_redo__WEBPACK_IMPORTED_MODULE_70__["undoRedoTransaction"]; });
25926
26240
 
25927
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ignoreUndoRedo", function() { return _plugins_undo_redo__WEBPACK_IMPORTED_MODULE_69__["ignoreUndoRedo"]; });
26241
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ignoreUndoRedo", function() { return _plugins_undo_redo__WEBPACK_IMPORTED_MODULE_70__["ignoreUndoRedo"]; });
25928
26242
 
25929
- /* harmony import */ var _plugins_undo_redo_undo_redo_manager__WEBPACK_IMPORTED_MODULE_70__ = __webpack_require__(/*! ../plugins/undo-redo/undo-redo-manager */ "./src/plugins/undo-redo/undo-redo-manager.ts");
25930
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "UndoRedoManager", function() { return _plugins_undo_redo_undo_redo_manager__WEBPACK_IMPORTED_MODULE_70__["UndoRedoManager"]; });
26243
+ /* harmony import */ var _plugins_undo_redo_undo_redo_manager__WEBPACK_IMPORTED_MODULE_71__ = __webpack_require__(/*! ../plugins/undo-redo/undo-redo-manager */ "./src/plugins/undo-redo/undo-redo-manager.ts");
26244
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "UndoRedoManager", function() { return _plugins_undo_redo_undo_redo_manager__WEBPACK_IMPORTED_MODULE_71__["UndoRedoManager"]; });
25931
26245
 
25932
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Transaction", function() { return _plugins_undo_redo_undo_redo_manager__WEBPACK_IMPORTED_MODULE_70__["Transaction"]; });
26246
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Transaction", function() { return _plugins_undo_redo_undo_redo_manager__WEBPACK_IMPORTED_MODULE_71__["Transaction"]; });
25933
26247
 
25934
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "UndoRedoAction", function() { return _plugins_undo_redo_undo_redo_manager__WEBPACK_IMPORTED_MODULE_70__["UndoRedoAction"]; });
26248
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "UndoRedoAction", function() { return _plugins_undo_redo_undo_redo_manager__WEBPACK_IMPORTED_MODULE_71__["UndoRedoAction"]; });
25935
26249
 
25936
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "UndoRedoArrayAction", function() { return _plugins_undo_redo_undo_redo_manager__WEBPACK_IMPORTED_MODULE_70__["UndoRedoArrayAction"]; });
26250
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "UndoRedoArrayAction", function() { return _plugins_undo_redo_undo_redo_manager__WEBPACK_IMPORTED_MODULE_71__["UndoRedoArrayAction"]; });
25937
26251
 
25938
- /* harmony import */ var _pages_controller__WEBPACK_IMPORTED_MODULE_71__ = __webpack_require__(/*! ../pages-controller */ "./src/pages-controller.ts");
25939
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "PagesController", function() { return _pages_controller__WEBPACK_IMPORTED_MODULE_71__["PagesController"]; });
26252
+ /* harmony import */ var _pages_controller__WEBPACK_IMPORTED_MODULE_72__ = __webpack_require__(/*! ../pages-controller */ "./src/pages-controller.ts");
26253
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "PagesController", function() { return _pages_controller__WEBPACK_IMPORTED_MODULE_72__["PagesController"]; });
25940
26254
 
25941
- /* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_72__ = __webpack_require__(/*! survey-core */ "survey-core");
25942
- /* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_72___default = /*#__PURE__*/__webpack_require__.n(survey_core__WEBPACK_IMPORTED_MODULE_72__);
26255
+ /* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_73__ = __webpack_require__(/*! survey-core */ "survey-core");
26256
+ /* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_73___default = /*#__PURE__*/__webpack_require__.n(survey_core__WEBPACK_IMPORTED_MODULE_73__);
25943
26257
  var Version;
25944
- Version = "" + "1.9.125";
26258
+ Version = "" + "1.9.127";
25945
26259
  //should be loaded before other styles for easier override
25946
26260
  __webpack_require__(/*! ../utils/context-button.scss */ "./src/utils/context-button.scss");
25947
26261
 
@@ -26017,6 +26331,7 @@ __webpack_require__(/*! ../utils/context-button.scss */ "./src/utils/context-but
26017
26331
 
26018
26332
 
26019
26333
 
26334
+
26020
26335
 
26021
26336
 
26022
26337
  __webpack_require__(/*! ../components/property-panel/property-panel-item.scss */ "./src/components/property-panel/property-panel-item.scss");
@@ -26031,8 +26346,8 @@ __webpack_require__(/*! ../property-grid-theme/property-grid.scss */ "./src/prop
26031
26346
  __webpack_require__(/*! ../utils/design.scss */ "./src/utils/design.scss");
26032
26347
  __webpack_require__(/*! ../utils/layout.scss */ "./src/utils/layout.scss");
26033
26348
 
26034
- survey_core__WEBPACK_IMPORTED_MODULE_72__["settings"].supportCreatorV2 = true;
26035
- Object(survey_core__WEBPACK_IMPORTED_MODULE_72__["checkLibraryVersion"])("" + "1.9.125", "survey-creator-core");
26349
+ survey_core__WEBPACK_IMPORTED_MODULE_73__["settings"].supportCreatorV2 = true;
26350
+ Object(survey_core__WEBPACK_IMPORTED_MODULE_73__["checkLibraryVersion"])("" + "1.9.127", "survey-creator-core");
26036
26351
 
26037
26352
 
26038
26353
  /***/ }),
@@ -28183,7 +28498,7 @@ var enStrings = {
28183
28498
  deleteQuestion: "Delete Question",
28184
28499
  convertTo: "Convert to",
28185
28500
  drag: "Drag element",
28186
- license: "To use our library in your app, a developer license is necessary. If you currently hold an activated license, ensure you're using the latest version available."
28501
+ license: "To use our library, a <a href='https://surveyjs.io/licensing'>developer license</a> is required. If you have an active license, <a href='https://surveyjs.io/remove-alert-banner'>set up your license key</a> and ensure you're using the latest version."
28187
28502
  },
28188
28503
  // Question types
28189
28504
  qt: {
@@ -29206,8 +29521,8 @@ var enStrings = {
29206
29521
  "--primary-foreground": "Primary foreground color",
29207
29522
  "--foreground": "Foreground color",
29208
29523
  "--base-unit": "Base unit",
29524
+ advancedMode: "Advanced mode",
29209
29525
  groupGeneral: "General",
29210
- groupAdvanced: "Advanced",
29211
29526
  groupHeader: "Header",
29212
29527
  groupBackground: "Background",
29213
29528
  groupAppearance: "Appearance",
@@ -29236,11 +29551,9 @@ var enStrings = {
29236
29551
  backgroundImageAttachmentScroll: "Scroll",
29237
29552
  panelBackgroundTransparency: "Panel background opacity",
29238
29553
  questionBackgroundTransparency: "Question background opacity",
29239
- questionPanel: "Panel background and corner radius",
29240
- questionTitle: "Question title font",
29241
- questionDescription: "Question description font",
29554
+ questionTitle: "Question box",
29242
29555
  editorPanel: "Input element",
29243
- editorFont: "Input element font",
29556
+ backgroundCornerRadius: "Background and corner radius",
29244
29557
  backcolor: "Default background",
29245
29558
  hovercolor: "Hover background",
29246
29559
  borderDecoration: "Border decoration",
@@ -29248,7 +29561,9 @@ var enStrings = {
29248
29561
  accentForeground: "Accent foreground",
29249
29562
  primaryForecolor: "Default color",
29250
29563
  primaryForecolorLight: "Disabled color",
29251
- linesColors: "Minor line colors",
29564
+ colorsTitle: "Colors",
29565
+ font: "Font",
29566
+ lines: "Lines",
29252
29567
  borderDefault: "Darker",
29253
29568
  borderLight: "Lighter",
29254
29569
  fontFamily: "Font family",
@@ -29264,8 +29579,9 @@ var enStrings = {
29264
29579
  cornerRadius: "Corner radius",
29265
29580
  surveyTitle: "Survey title font",
29266
29581
  surveyDescription: "Survey description font",
29267
- pageTitle: "Page title font",
29268
- pageDescription: "Page description font",
29582
+ pageTitle: "Page",
29583
+ titleFont: "Title font",
29584
+ descriptionFont: "Description font",
29269
29585
  boxShadowX: "X",
29270
29586
  boxShadowY: "Y",
29271
29587
  boxShadowAddRule: "Add Shadow Effect",
@@ -29274,8 +29590,7 @@ var enStrings = {
29274
29590
  boxShadowSpread: "Spread",
29275
29591
  boxShadowDrop: "Drop",
29276
29592
  boxShadowInner: "Inner",
29277
- questionShadow: "Shadow effects",
29278
- editorShadow: "Input element shadow effects",
29593
+ shadow: "Shadow effects",
29279
29594
  headerView: "View",
29280
29595
  headerViewBasic: "Basic",
29281
29596
  headerViewAdvanced: "Advanced",
@@ -31382,7 +31697,7 @@ var ConditionEditor = /** @class */ (function (_super) {
31382
31697
  var res = [];
31383
31698
  var questions = this.survey.getAllQuestions();
31384
31699
  var contextObject = this.getContextObject();
31385
- var sortOrder = "acs";
31700
+ var sortOrder = _creator_settings__WEBPACK_IMPORTED_MODULE_2__["settings"].logic.questionSortOrder;
31386
31701
  if (questions.length > 0) {
31387
31702
  for (var i = 0; i < questions.length; i++) {
31388
31703
  var question = questions[i];
@@ -33401,8 +33716,8 @@ var PropertyGridLinkEditor = /** @class */ (function (_super) {
33401
33716
  else {
33402
33717
  question.acceptedTypes = Object(_utils_utils__WEBPACK_IMPORTED_MODULE_10__["getAcceptedTypesByContentMode"])("image");
33403
33718
  }
33404
- question.onChooseFilesCallback = (function (input, onFilesChosen) {
33405
- options.chooseFiles(input, onFilesChosen);
33719
+ question.onChooseFilesCallback = (function (input, callback) {
33720
+ options.chooseFiles(input, callback);
33406
33721
  });
33407
33722
  };
33408
33723
  return PropertyGridLinkEditor;
@@ -33763,7 +34078,9 @@ var PropertyGridEditorQuestion = /** @class */ (function (_super) {
33763
34078
  var value = _this.getItemValue(q);
33764
34079
  return { value: value, text: text };
33765
34080
  });
33766
- _survey_helper__WEBPACK_IMPORTED_MODULE_7__["SurveyHelper"].sortItems(qItems);
34081
+ if (_creator_settings__WEBPACK_IMPORTED_MODULE_6__["settings"].logic.questionSortOrder === "asc") {
34082
+ _survey_helper__WEBPACK_IMPORTED_MODULE_7__["SurveyHelper"].sortItems(qItems);
34083
+ }
33767
34084
  return qItems;
33768
34085
  };
33769
34086
  PropertyGridEditorQuestion.prototype.getQuestions = function (survey, obj) {
@@ -35265,12 +35582,12 @@ var SearchManager = /** @class */ (function (_super) {
35265
35582
  newValueInLow = newValueInLow.toLocaleLowerCase().trim();
35266
35583
  var visibleQuestions = this.survey.getAllQuestions().filter(function (q) { return q.isVisible; });
35267
35584
  return visibleQuestions.filter(function (q) {
35268
- var questionTitle = q.title;
35269
- if (!!questionTitle) {
35270
- questionTitle = normalize(questionTitle, "search");
35271
- questionTitle = questionTitle.toLocaleLowerCase().trim();
35585
+ var srcString = q.name + "|" + q.title + "|" + q.description;
35586
+ if (!!srcString) {
35587
+ srcString = normalize(srcString, "search");
35588
+ srcString = srcString.toLocaleLowerCase().trim();
35272
35589
  }
35273
- return questionTitle.indexOf(newValueInLow) !== -1;
35590
+ return srcString.indexOf(newValueInLow) !== -1;
35274
35591
  });
35275
35592
  };
35276
35593
  SearchManager.prototype.setFiterString = function (newValue) {
@@ -36081,8 +36398,8 @@ var SurveyQuestionEditorDefinition = /** @class */ (function () {
36081
36398
  expression: {
36082
36399
  properties: [
36083
36400
  "expression",
36084
- "currency",
36085
36401
  "displayStyle",
36402
+ "currency",
36086
36403
  "format",
36087
36404
  "maximumFractionDigits",
36088
36405
  "minimumFractionDigits",
@@ -36179,6 +36496,9 @@ var SurveyQuestionEditorDefinition = /** @class */ (function () {
36179
36496
  { name: "optionsCaption", tab: "choices" },
36180
36497
  { name: "showNoneItem", tab: "choices" },
36181
36498
  { name: "noneText", tab: "choices" },
36499
+ { name: "choicesMin", tab: "choices" },
36500
+ { name: "choicesMax", tab: "choices" },
36501
+ { name: "choicesStep", tab: "choices" },
36182
36502
  { name: "choicesVisibleIf", tab: "logic" },
36183
36503
  { name: "choicesEnableIf", tab: "logic" },
36184
36504
  ],
@@ -36704,51 +37024,63 @@ var SurveyQuestionProperties = /** @class */ (function () {
36704
37024
  this.addNonTabProperties(result, usedProperties, true);
36705
37025
  return result;
36706
37026
  }
37027
+ var hasNonTabProperties = this.getAllDefinitionsByClassCore(className, usedProperties, result);
37028
+ var dynamicClass = this.obj.isQuestion && !!this.obj.getDynamicType ? this.obj.getDynamicType() : "";
37029
+ if (dynamicClass) {
37030
+ hasNonTabProperties = this.getAllDefinitionsByClassCore(dynamicClass, usedProperties, result);
37031
+ }
37032
+ if (!hasNonTabProperties) {
37033
+ this.addNonTabProperties(result, usedProperties);
37034
+ }
37035
+ return result;
37036
+ };
37037
+ SurveyQuestionProperties.prototype.getAllDefinitionsByClassCore = function (className, usedProperties, result) {
37038
+ var res = false;
36707
37039
  var curClassName = className;
36708
- var hasNonTabProperties = false;
36709
37040
  while (curClassName) {
36710
37041
  var metaClass = (survey_core__WEBPACK_IMPORTED_MODULE_1__["Serializer"].findClass(curClassName));
36711
37042
  if (!metaClass)
36712
37043
  break;
36713
- var classRes = _definition__WEBPACK_IMPORTED_MODULE_0__["SurveyQuestionEditorDefinition"].definition[metaClass.name];
36714
- if (classRes) {
36715
- if (classRes.properties) {
36716
- var i = 0;
36717
- while (i < classRes.properties.length) {
36718
- var prop = classRes.properties[i];
36719
- var propName = typeof prop == "string" ? prop : prop.name;
36720
- var tabName = _creator_settings__WEBPACK_IMPORTED_MODULE_3__["settings"].propertyGrid.generalTabName;
36721
- if (typeof prop !== "string" && !!prop.tab) {
36722
- tabName = prop.tab;
36723
- }
36724
- var jsonProp = !!this.propertiesHash[propName]
36725
- ? this.propertiesHash[propName].property
36726
- : null;
36727
- var jsonPropertyCategory = this.getJsonPropertyCategory(jsonProp);
36728
- if (!!jsonPropertyCategory && jsonPropertyCategory !== tabName) {
36729
- classRes.properties.splice(i, 1);
36730
- }
36731
- else {
36732
- usedProperties[propName] = true;
36733
- i++;
36734
- }
36735
- }
37044
+ res = this.getAllDefinitionsByClassSingleCore(metaClass.name, usedProperties, result);
37045
+ curClassName = metaClass.parentName;
37046
+ }
37047
+ return res;
37048
+ };
37049
+ SurveyQuestionProperties.prototype.getAllDefinitionsByClassSingleCore = function (className, usedProperties, result) {
37050
+ var classRes = _definition__WEBPACK_IMPORTED_MODULE_0__["SurveyQuestionEditorDefinition"].definition[className];
37051
+ var res = false;
37052
+ if (!classRes)
37053
+ return res;
37054
+ if (classRes.properties) {
37055
+ var i = 0;
37056
+ while (i < classRes.properties.length) {
37057
+ var prop = classRes.properties[i];
37058
+ var propName = typeof prop == "string" ? prop : prop.name;
37059
+ var tabName = _creator_settings__WEBPACK_IMPORTED_MODULE_3__["settings"].propertyGrid.generalTabName;
37060
+ if (typeof prop !== "string" && !!prop.tab) {
37061
+ tabName = prop.tab;
36736
37062
  }
36737
- if (classRes.tabs) {
36738
- for (var i = 0; i < classRes.tabs.length; i++) {
36739
- hasNonTabProperties =
36740
- hasNonTabProperties || classRes.tabs[i].name === otherTabName;
36741
- usedProperties[classRes.tabs[i].name] = true;
36742
- }
37063
+ var jsonProp = !!this.propertiesHash[propName]
37064
+ ? this.propertiesHash[propName].property
37065
+ : null;
37066
+ var jsonPropertyCategory = this.getJsonPropertyCategory(jsonProp);
37067
+ if (!!jsonPropertyCategory && jsonPropertyCategory !== tabName) {
37068
+ classRes.properties.splice(i, 1);
37069
+ }
37070
+ else {
37071
+ usedProperties[propName] = true;
37072
+ i++;
36743
37073
  }
36744
- result.unshift(classRes);
36745
37074
  }
36746
- curClassName = metaClass.parentName;
36747
37075
  }
36748
- if (!hasNonTabProperties) {
36749
- this.addNonTabProperties(result, usedProperties);
37076
+ if (classRes.tabs) {
37077
+ for (var i = 0; i < classRes.tabs.length; i++) {
37078
+ res = res || classRes.tabs[i].name === otherTabName;
37079
+ usedProperties[classRes.tabs[i].name] = true;
37080
+ }
36750
37081
  }
36751
- return result;
37082
+ result.unshift(classRes);
37083
+ return res;
36752
37084
  };
36753
37085
  SurveyQuestionProperties.prototype.getJsonPropertyCategory = function (jsonProperty) {
36754
37086
  if (!jsonProperty)