survey-creator-core 1.9.114 → 1.9.116

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 (90) 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 +1 -1
  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 +9 -2
  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 +1 -1
  23. package/i18n/german.min.js +1 -1
  24. package/i18n/hungarian.js +1 -1
  25. package/i18n/hungarian.min.js +1 -1
  26. package/i18n/index.js +1 -1
  27. package/i18n/index.min.js +1 -1
  28. package/i18n/indonesian.js +1 -1
  29. package/i18n/indonesian.min.js +1 -1
  30. package/i18n/italian.js +1 -1
  31. package/i18n/italian.min.js +1 -1
  32. package/i18n/japanese.js +1 -1
  33. package/i18n/japanese.min.js +1 -1
  34. package/i18n/korean.js +1 -1
  35. package/i18n/korean.min.js +1 -1
  36. package/i18n/malay.js +1 -1
  37. package/i18n/malay.min.js +1 -1
  38. package/i18n/mongolian.js +1 -1
  39. package/i18n/mongolian.min.js +1 -1
  40. package/i18n/norwegian.js +1 -1
  41. package/i18n/norwegian.min.js +1 -1
  42. package/i18n/persian.js +1 -1
  43. package/i18n/persian.min.js +1 -1
  44. package/i18n/polish.js +1 -1
  45. package/i18n/polish.min.js +1 -1
  46. package/i18n/portuguese.js +1 -1
  47. package/i18n/portuguese.min.js +1 -1
  48. package/i18n/russian.js +1 -1
  49. package/i18n/russian.min.js +1 -1
  50. package/i18n/simplified-chinese.js +1 -1
  51. package/i18n/simplified-chinese.min.js +1 -1
  52. package/i18n/slovak.js +1 -1
  53. package/i18n/slovak.min.js +1 -1
  54. package/i18n/spanish.js +1 -1
  55. package/i18n/spanish.min.js +1 -1
  56. package/i18n/swedish.js +1 -1
  57. package/i18n/swedish.min.js +1 -1
  58. package/i18n/tajik.js +1 -1
  59. package/i18n/tajik.min.js +1 -1
  60. package/i18n/traditional-chinese.js +1 -1
  61. package/i18n/traditional-chinese.min.js +1 -1
  62. package/i18n/turkish.js +1 -1
  63. package/i18n/turkish.min.js +1 -1
  64. package/package.json +2 -2
  65. package/survey-creator-core.css +40 -21
  66. package/survey-creator-core.fontless.css +39 -20
  67. package/survey-creator-core.fontless.css.map +1 -1
  68. package/survey-creator-core.fontless.min.css +3 -3
  69. package/survey-creator-core.i18n.js +1 -1
  70. package/survey-creator-core.i18n.min.js +1 -1
  71. package/survey-creator-core.js +345 -114
  72. package/survey-creator-core.js.map +1 -1
  73. package/survey-creator-core.min.css +4 -4
  74. package/survey-creator-core.min.js +5 -5
  75. package/typings/components/action-container-view-model.d.ts +1 -1
  76. package/typings/components/string-editor.d.ts +1 -1
  77. package/typings/components/tabs/logic-item-editor.d.ts +2 -0
  78. package/typings/components/tabs/theme-builder.d.ts +1 -1
  79. package/typings/components/tabs/theme-custom-questions/boxshadow-settings.d.ts +1 -0
  80. package/typings/components/tabs/theme-custom-questions/color-settings.d.ts +1 -0
  81. package/typings/components/tabs/theme-custom-questions/element-settings.d.ts +1 -0
  82. package/typings/components/tabs/theme-custom-questions/font-settings.d.ts +1 -0
  83. package/typings/components/tabs/theme-custom-questions/index.d.ts +1 -0
  84. package/typings/components/tabs/theme-plugin.d.ts +1 -0
  85. package/typings/creator-base.d.ts +13 -6
  86. package/typings/creator-options.d.ts +1 -2
  87. package/typings/creator-settings.d.ts +6 -0
  88. package/typings/editorLocalization.d.ts +7 -0
  89. package/typings/localization/english.d.ts +7 -0
  90. package/typings/property-grid-theme/property-grid.d.ts +1 -0
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * SurveyJS Creator v1.9.114
2
+ * SurveyJS Creator v1.9.116
3
3
  * (c) 2015-2023 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * Github: https://github.com/surveyjs/survey-creator
5
5
  * License: https://surveyjs.io/Licenses#SurveyCreator
@@ -130,7 +130,7 @@ License: MIT
130
130
  /***/ (function(module, exports, __webpack_require__) {
131
131
 
132
132
  /*!
133
- * surveyjs - Survey JavaScript library v1.9.114
133
+ * surveyjs - Survey JavaScript library v1.9.116
134
134
  * Copyright (c) 2015-2023 Devsoft Baltic OÜ - http://surveyjs.io/
135
135
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
136
136
  */
@@ -4611,7 +4611,7 @@ var SurveyElementAdornerBase = /** @class */ (function (_super) {
4611
4611
  _this.actionContainer.dotsItem.popupModel.horizontalPosition = "center";
4612
4612
  var actions = [];
4613
4613
  _this.buildActions(actions);
4614
- _this.setSurveyElement(surveyElement);
4614
+ _this.setSurveyElement(surveyElement, false);
4615
4615
  if (_this.surveyElement) {
4616
4616
  _this.creator.sidebar.onPropertyChanged.add(_this.sidebarFlyoutModeChangedFunc);
4617
4617
  _this.creator.onElementMenuItemsChanged(_this.surveyElement, actions);
@@ -4631,11 +4631,14 @@ var SurveyElementAdornerBase = /** @class */ (function (_super) {
4631
4631
  surveyElement.onPropertyChanged.add(this.selectedPropPageFunc);
4632
4632
  }
4633
4633
  };
4634
- SurveyElementAdornerBase.prototype.setSurveyElement = function (surveyElement) {
4634
+ SurveyElementAdornerBase.prototype.setSurveyElement = function (surveyElement, updateActions) {
4635
+ if (updateActions === void 0) { updateActions = true; }
4635
4636
  this.detachElement(this.surveyElement);
4636
4637
  this.surveyElement = surveyElement;
4637
4638
  this.attachElement(this.surveyElement);
4638
- this.updateActionsProperties();
4639
+ if (updateActions) {
4640
+ this.updateActionsProperties();
4641
+ }
4639
4642
  };
4640
4643
  SurveyElementAdornerBase.prototype.checkActionProperties = function () {
4641
4644
  if (this.creator.isElementSelected(this.surveyElement)) {
@@ -6965,7 +6968,10 @@ var QuestionAdornerViewModel = /** @class */ (function (_super) {
6965
6968
  var question = this.creator.survey.getQuestionByName(name);
6966
6969
  if (!question)
6967
6970
  return null;
6968
- return { question: question, text: this.creator.getLocString("ed.carryForwardChoicesCopied"), onClick: function () { _this.creator.selectElement(question); } };
6971
+ return {
6972
+ question: question, text: this.creator.getLocString("ed.carryForwardChoicesCopied"),
6973
+ onClick: function () { _this.creator.selectElement(question); }
6974
+ };
6969
6975
  };
6970
6976
  QuestionAdornerViewModel.prototype.dispose = function () {
6971
6977
  this.surveyElement.unRegisterFunctionOnPropertyValueChanged("isRequired", "isRequiredAdorner");
@@ -6986,7 +6992,7 @@ var QuestionAdornerViewModel = /** @class */ (function (_super) {
6986
6992
  if (!this.surveyElement.isInteractiveDesignElement) {
6987
6993
  return;
6988
6994
  }
6989
- this.updateActionsProperties();
6995
+ //this.updateActionsProperties();
6990
6996
  Object(_utils_utils__WEBPACK_IMPORTED_MODULE_4__["toggleHovered"])(event, element);
6991
6997
  };
6992
6998
  QuestionAdornerViewModel.prototype.updateElementAllowOptions = function (options, operationsAllow) {
@@ -8249,14 +8255,19 @@ var StringItemsNavigatorBase = /** @class */ (function () {
8249
8255
  return new StringItemsNavigatorSelectBase(question);
8250
8256
  return null;
8251
8257
  };
8252
- StringItemsNavigatorBase.prototype.addNewItems = function (items, startIndex, itemsToAdd) {
8258
+ StringItemsNavigatorBase.prototype.addNewItems = function (creator, items, startIndex, itemsToAdd) {
8253
8259
  var _this = this;
8254
- var createNewItem = function (val) {
8260
+ var newItems = items.slice();
8261
+ var createNewItem = function (text) {
8262
+ var val = creator.inplaceEditForValues ? text : Object(_utils_utils__WEBPACK_IMPORTED_MODULE_3__["getNextItemValue"])(creator.getChoicesItemBaseTitle(), newItems);
8255
8263
  if (_this.question.createItemValue)
8256
- return _this.question.createItemValue(val);
8257
- return new survey_core__WEBPACK_IMPORTED_MODULE_1__["ItemValue"](val);
8264
+ return _this.question.createItemValue(val, text);
8265
+ return new survey_core__WEBPACK_IMPORTED_MODULE_1__["ItemValue"](val, text);
8258
8266
  };
8259
- var newItems = items.slice(0, startIndex).concat(itemsToAdd.map(function (text) { return createNewItem(text); })).concat(items.slice(startIndex + 1));
8267
+ newItems.splice(startIndex, 1);
8268
+ itemsToAdd.forEach(function (item, offset) {
8269
+ newItems.splice(startIndex + offset, 0, createNewItem(item));
8270
+ });
8260
8271
  this.question[this.getItemsPropertyName(items)] = newItems;
8261
8272
  };
8262
8273
  StringItemsNavigatorBase.prototype.setEventsForItem = function (creator, items, item) {
@@ -8298,7 +8309,7 @@ var StringItemsNavigatorBase = /** @class */ (function () {
8298
8309
  return;
8299
8310
  options.cancel = true;
8300
8311
  var itemIndex = items.indexOf(item);
8301
- _this.addNewItems(items, itemIndex, lines);
8312
+ _this.addNewItems(creator, items, itemIndex, lines);
8302
8313
  var focusedItemIndex = itemIndex + lines.length;
8303
8314
  if (focusedItemIndex >= items.length)
8304
8315
  focusedItemIndex = items.length - 1;
@@ -8380,7 +8391,7 @@ var StringItemsNavigatorMultipleText = /** @class */ (function (_super) {
8380
8391
  StringItemsNavigatorMultipleText.prototype.getItemsPropertyName = function (items) {
8381
8392
  return "items";
8382
8393
  };
8383
- StringItemsNavigatorMultipleText.prototype.addNewItems = function (items, startIndex, itemsToAdd) {
8394
+ StringItemsNavigatorMultipleText.prototype.addNewItems = function (creator, items, startIndex, itemsToAdd) {
8384
8395
  var newItems = items.slice(0, startIndex).concat(itemsToAdd.map(function (text) { return new survey_core__WEBPACK_IMPORTED_MODULE_1__["MultipleTextItemModel"](text); })).concat(items.slice(startIndex + 1));
8385
8396
  this.question[this.getItemsPropertyName(items)] = newItems;
8386
8397
  };
@@ -8422,13 +8433,13 @@ var StringItemsNavigatorMatrixDropdown = /** @class */ (function (_super) {
8422
8433
  return item.locTitle;
8423
8434
  return item.locText;
8424
8435
  };
8425
- StringItemsNavigatorMatrixDropdown.prototype.addNewItems = function (items, startIndex, itemsToAdd) {
8436
+ StringItemsNavigatorMatrixDropdown.prototype.addNewItems = function (creator, items, startIndex, itemsToAdd) {
8426
8437
  if (items == this.question.columns) {
8427
8438
  var newItems = items.slice(0, startIndex).concat(itemsToAdd.map(function (text) { return new survey_core__WEBPACK_IMPORTED_MODULE_1__["MatrixDropdownColumn"](text); })).concat(items.slice(startIndex + 1));
8428
8439
  this.question[this.getItemsPropertyName(items)] = newItems;
8429
8440
  }
8430
8441
  else {
8431
- _super.prototype.addNewItems.call(this, items, startIndex, itemsToAdd);
8442
+ _super.prototype.addNewItems.call(this, creator, items, startIndex, itemsToAdd);
8432
8443
  }
8433
8444
  };
8434
8445
  return StringItemsNavigatorMatrixDropdown;
@@ -10593,6 +10604,7 @@ var LogicItemEditor = /** @class */ (function (_super) {
10593
10604
  }).filter(function (action) { return !!action; });
10594
10605
  };
10595
10606
  LogicItemEditor.prototype.onUpdateQuestionCssClasses = function (options) {
10607
+ var _a;
10596
10608
  var cssClasses = options.cssClasses;
10597
10609
  var question = options.question;
10598
10610
  cssClasses.answered = "svc-logic-question--answered";
@@ -10613,11 +10625,11 @@ var LogicItemEditor = /** @class */ (function (_super) {
10613
10625
  cssClasses.error.root = "svc-logic-operator__error";
10614
10626
  cssClasses.onError = "svc-logic-operator--error";
10615
10627
  }
10616
- if (question.name === "setValue" || question.isContentElement) {
10628
+ if (question.isContentElement || this.isSetValueInternalQuestion(question)) {
10617
10629
  Object(_utils_utils__WEBPACK_IMPORTED_MODULE_8__["assignDefaultV2Classes"])(cssClasses, question.getType());
10618
10630
  cssClasses.mainRoot += " svc-logic-question-value sd-element--with-frame";
10619
10631
  }
10620
- var parentName = question.parent.name;
10632
+ var parentName = (_a = question.parent) === null || _a === void 0 ? void 0 : _a.name;
10621
10633
  if (selectorsNames.indexOf(question.name) < 0 && (parentName === "triggerEditorPanel" || parentName === "setValueIfPanel")) {
10622
10634
  var qType = question.getType();
10623
10635
  Object(_utils_utils__WEBPACK_IMPORTED_MODULE_8__["assignDefaultV2Classes"])(cssClasses, qType);
@@ -10643,14 +10655,31 @@ var LogicItemEditor = /** @class */ (function (_super) {
10643
10655
  cssClasses.buttonRemoveText = "svc-logic-paneldynamic__button-remove-text";
10644
10656
  }
10645
10657
  };
10658
+ LogicItemEditor.prototype.isSetValueInternalQuestion = function (question) {
10659
+ if (this.isSetValueInternalQuestionCore(question))
10660
+ return true;
10661
+ if (this.isSetValueInternalQuestionCore(question.parentQuestion))
10662
+ return true;
10663
+ var parent = question.parent;
10664
+ return parent && this.isSetValueInternalQuestionCore(parent.parentQuestion);
10665
+ };
10666
+ LogicItemEditor.prototype.isSetValueInternalQuestionCore = function (question) {
10667
+ var setValueName = "setValue";
10668
+ return (question === null || question === void 0 ? void 0 : question.name) === setValueName;
10669
+ };
10646
10670
  LogicItemEditor.prototype.onUpdatePanelCssClasses = function (options) {
10647
- var name = options.panel.name;
10671
+ var panel = options.panel;
10672
+ var cssClasses = options.cssClasses;
10673
+ var name = panel.name;
10648
10674
  if (name === "triggerEditorPanel" || name === "setValueIfPanel") {
10649
- options.cssClasses.panel.container += " svc-logic_trigger-editor";
10675
+ cssClasses.panel.container += " svc-logic_trigger-editor";
10650
10676
  }
10651
10677
  if (name === "triggerQuestionsPanel") {
10652
- options.panel.allowRootStyle = false;
10653
- options.cssClasses.panel.container += " svc-logic_trigger-questions";
10678
+ panel.allowRootStyle = false;
10679
+ cssClasses.panel.container += " svc-logic_trigger-questions";
10680
+ }
10681
+ if (this.isSetValueInternalQuestionCore(panel.parentQuestion)) {
10682
+ Object(_utils_utils__WEBPACK_IMPORTED_MODULE_8__["assignDefaultV2Classes"])(cssClasses, panel.getType());
10654
10683
  }
10655
10684
  };
10656
10685
  LogicItemEditor.prototype.onValueChanged = function (options) {
@@ -14425,6 +14454,8 @@ __webpack_require__.r(__webpack_exports__);
14425
14454
  /* harmony import */ var _theme_custom_questions_element_settings__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./theme-custom-questions/element-settings */ "./src/components/tabs/theme-custom-questions/element-settings.ts");
14426
14455
  /* harmony import */ var _plugins_undo_redo_undo_redo_manager__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../plugins/undo-redo/undo-redo-manager */ "./src/plugins/undo-redo/undo-redo-manager.ts");
14427
14456
  /* harmony import */ var _themes__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./themes */ "./src/components/tabs/themes.ts");
14457
+ /* harmony import */ var _theme_custom_questions__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./theme-custom-questions */ "./src/components/tabs/theme-custom-questions/index.ts");
14458
+
14428
14459
 
14429
14460
 
14430
14461
 
@@ -14463,6 +14494,7 @@ var ThemeBuilder = /** @class */ (function (_super) {
14463
14494
  _this.autoSaveTimerId = null;
14464
14495
  _this.simulator = new _simulator__WEBPACK_IMPORTED_MODULE_1__["SurveySimulatorModel"]();
14465
14496
  _this.themeName = ThemeBuilder.DefaultTheme.themeName || "default";
14497
+ Object(_theme_custom_questions__WEBPACK_IMPORTED_MODULE_12__["updateCustomQuestionJSONs"])();
14466
14498
  _this.themeEditorSurveyValue = _this.createThemeEditorSurvey();
14467
14499
  _this.backgroundImage = _this.surveyProvider.theme.backgroundImage !== undefined ? _this.surveyProvider.theme.backgroundImage : surveyProvider.survey.backgroundImage;
14468
14500
  _this.backgroundImageFit = _this.surveyProvider.theme.backgroundImageFit !== undefined ? _this.surveyProvider.theme.backgroundImageFit : surveyProvider.survey.backgroundImageFit;
@@ -14989,6 +15021,27 @@ var ThemeBuilder = /** @class */ (function (_super) {
14989
15021
  themeEditorSurvey.onQuestionCreated.add(function (_, opt) {
14990
15022
  opt.question.allowRootStyle = false;
14991
15023
  });
15024
+ themeEditorSurvey.onGetPanelFooterActions.add(function (sender, opt) {
15025
+ if (opt.question && opt.question.name == "headerViewContainer") {
15026
+ opt.actions = [];
15027
+ }
15028
+ });
15029
+ themeEditorSurvey.onUpdatePanelCssClasses.add(function (sender, options) {
15030
+ var _a, _b;
15031
+ if (options.panel.hasParent) {
15032
+ var parent_1 = ((_a = options.panel.parent) !== null && _a !== void 0 ? _a : options.panel.parentQuestion);
15033
+ if (!parent_1 || parent_1.hasParent && !(parent_1.name === "headerViewContainer" || ((_b = parent_1.parentQuestion) === null || _b === void 0 ? void 0 : _b.name) === "headerViewContainer")) {
15034
+ options.cssClasses.panel.container = "spg-panel-group";
15035
+ options.cssClasses.panel.content = "spg-panel-group__content";
15036
+ options.cssClasses.panel.title = "spg-panel-group__title";
15037
+ }
15038
+ else {
15039
+ options.cssClasses.panel.container = "spg-nested-panel";
15040
+ options.cssClasses.panel.content = "spg-nested-panel__content";
15041
+ options.cssClasses.panel.title = "spg-nested-panel__title";
15042
+ }
15043
+ }
15044
+ });
14992
15045
  return themeEditorSurvey;
14993
15046
  };
14994
15047
  ThemeBuilder.prototype.findSuitableTheme = function (themeName) {
@@ -15169,7 +15222,7 @@ var ThemeBuilder = /** @class */ (function (_super) {
15169
15222
  /**
15170
15223
  * A function that is called [auto-save](https://surveyjs.io/survey-creator/documentation/api-reference/survey-creator#isAutoSave) is triggered to save a theme JSON object.
15171
15224
  *
15172
- * For more information, refer to the [Save and Load Custom Themes](/survey-creator/documentation/theme-editor#save-and-load-custom-themes) help topic.
15225
+ * For more information, refer to the [Save and Load Custom Themes](https://surveyjs.io/survey-creator/documentation/theme-editor#save-and-load-custom-themes) help topic.
15173
15226
  */
15174
15227
  get: function () {
15175
15228
  return this._saveThemeFuncValue;
@@ -15245,23 +15298,28 @@ var ThemeBuilder = /** @class */ (function (_super) {
15245
15298
  type: "panel",
15246
15299
  elements: [
15247
15300
  {
15248
- type: "dropdown",
15249
- name: "themeName",
15250
- title: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.themeName"),
15251
- descriptionLocation: "hidden",
15252
- choices: this._availableThemes.map(function (theme) { return ({ value: theme, text: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.names." + theme) }); }),
15253
- defaultValue: ThemeBuilder.DefaultTheme.themeName || "default",
15254
- allowClear: false
15255
- },
15256
- {
15257
- type: "buttongroup",
15258
- name: "themePalette",
15259
- titleLocation: "hidden",
15260
- choices: [
15261
- { value: "light", text: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.themePaletteLight") },
15262
- { value: "dark", text: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.themePaletteDark") }
15263
- ],
15264
- defaultValue: "light"
15301
+ type: "panel",
15302
+ elements: [
15303
+ {
15304
+ type: "dropdown",
15305
+ name: "themeName",
15306
+ title: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.themeName"),
15307
+ descriptionLocation: "hidden",
15308
+ choices: this._availableThemes.map(function (theme) { return ({ value: theme, text: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.names." + theme) }); }),
15309
+ defaultValue: ThemeBuilder.DefaultTheme.themeName || "default",
15310
+ allowClear: false
15311
+ },
15312
+ {
15313
+ type: "buttongroup",
15314
+ name: "themePalette",
15315
+ titleLocation: "hidden",
15316
+ choices: [
15317
+ { value: "light", text: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.themePaletteLight") },
15318
+ { value: "dark", text: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.themePaletteDark") }
15319
+ ],
15320
+ defaultValue: "light"
15321
+ },
15322
+ ]
15265
15323
  },
15266
15324
  {
15267
15325
  type: "buttongroup",
@@ -15390,21 +15448,26 @@ var ThemeBuilder = /** @class */ (function (_super) {
15390
15448
  visibleIf: "{panel.headerView} = 'advanced'",
15391
15449
  elements: [
15392
15450
  {
15393
- type: "buttongroup",
15394
- name: "backgroundColorSwitch",
15395
- title: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.coverBackgroundColorSwitch"),
15396
- choices: [
15397
- { value: "none", text: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.coverBackgroundColorNone") },
15398
- { value: "accentColor", text: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.coverBackgroundColorAccentColor") },
15399
- { value: "custom", text: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.coverBackgroundColorCustom") },
15400
- ],
15401
- },
15402
- {
15403
- type: "color",
15404
- name: "backgroundColor",
15405
- enableIf: "{panel.backgroundColorSwitch} = 'custom'",
15406
- titleLocation: "hidden",
15407
- descriptionLocation: "hidden",
15451
+ type: "panel",
15452
+ elements: [
15453
+ {
15454
+ type: "buttongroup",
15455
+ name: "backgroundColorSwitch",
15456
+ title: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.coverBackgroundColorSwitch"),
15457
+ choices: [
15458
+ { value: "none", text: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.coverBackgroundColorNone") },
15459
+ { value: "accentColor", text: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.coverBackgroundColorAccentColor") },
15460
+ { value: "custom", text: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.coverBackgroundColorCustom") },
15461
+ ],
15462
+ },
15463
+ {
15464
+ type: "color",
15465
+ name: "backgroundColor",
15466
+ enableIf: "{panel.backgroundColorSwitch} = 'custom'",
15467
+ titleLocation: "hidden",
15468
+ descriptionLocation: "hidden",
15469
+ },
15470
+ ]
15408
15471
  },
15409
15472
  {
15410
15473
  type: "panel",
@@ -15472,12 +15535,27 @@ var ThemeBuilder = /** @class */ (function (_super) {
15472
15535
  questionTitleLocation: "top",
15473
15536
  visibleIf: "{panel.headerView} = 'advanced'",
15474
15537
  elements: [
15475
- this.getHorizontalAlignment("logoPositionX", Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.logoPosition"), "right"),
15476
- this.getVerticalAlignment("logoPositionY", "top"),
15477
- this.getHorizontalAlignment("titlePositionX", Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.coverTitlePosition"), "left"),
15478
- this.getVerticalAlignment("titlePositionY", "bottom"),
15479
- this.getHorizontalAlignment("descriptionPositionX", Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.coverDescriptionPosition"), "left"),
15480
- this.getVerticalAlignment("descriptionPositionY", "bottom"),
15538
+ {
15539
+ type: "panel",
15540
+ elements: [
15541
+ this.getHorizontalAlignment("logoPositionX", Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.logoPosition"), "right"),
15542
+ this.getVerticalAlignment("logoPositionY", "top"),
15543
+ ]
15544
+ },
15545
+ {
15546
+ type: "panel",
15547
+ elements: [
15548
+ this.getHorizontalAlignment("titlePositionX", Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.coverTitlePosition"), "left"),
15549
+ this.getVerticalAlignment("titlePositionY", "bottom"),
15550
+ ]
15551
+ },
15552
+ {
15553
+ type: "panel",
15554
+ elements: [
15555
+ this.getHorizontalAlignment("descriptionPositionX", Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.coverDescriptionPosition"), "left"),
15556
+ this.getVerticalAlignment("descriptionPositionY", "bottom"),
15557
+ ]
15558
+ }
15481
15559
  ]
15482
15560
  }
15483
15561
  ]
@@ -16001,11 +16079,12 @@ var ThemeBuilder = /** @class */ (function (_super) {
16001
16079
  /*!**************************************************************************!*\
16002
16080
  !*** ./src/components/tabs/theme-custom-questions/boxshadow-settings.ts ***!
16003
16081
  \**************************************************************************/
16004
- /*! exports provided: createBoxShadow, parseBoxShadow */
16082
+ /*! exports provided: updateBoxShadowSettingsJSON, createBoxShadow, parseBoxShadow */
16005
16083
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
16006
16084
 
16007
16085
  "use strict";
16008
16086
  __webpack_require__.r(__webpack_exports__);
16087
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "updateBoxShadowSettingsJSON", function() { return updateBoxShadowSettingsJSON; });
16009
16088
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "createBoxShadow", function() { return createBoxShadow; });
16010
16089
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "parseBoxShadow", function() { return parseBoxShadow; });
16011
16090
  /* harmony import */ var _editorLocalization__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../editorLocalization */ "./src/editorLocalization.ts");
@@ -16013,10 +16092,8 @@ __webpack_require__.r(__webpack_exports__);
16013
16092
  /* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(survey_core__WEBPACK_IMPORTED_MODULE_1__);
16014
16093
 
16015
16094
 
16016
- survey_core__WEBPACK_IMPORTED_MODULE_1__["ComponentCollection"].Instance.add({
16017
- name: "boxshadowsettings",
16018
- showInToolbox: false,
16019
- questionJSON: {
16095
+ function getQuestionJSON() {
16096
+ return {
16020
16097
  "type": "paneldynamic",
16021
16098
  "minPanelCount": 1,
16022
16099
  "panelAddText": Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_0__["getLocString"])("theme.boxShadowAddRule"),
@@ -16065,13 +16142,22 @@ survey_core__WEBPACK_IMPORTED_MODULE_1__["ComponentCollection"].Instance.add({
16065
16142
  "choices": [{ text: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_0__["getLocString"])("theme.boxShadowDrop"), value: false }, { text: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_0__["getLocString"])("theme.boxShadowInner"), value: true }]
16066
16143
  }
16067
16144
  ]
16068
- },
16145
+ };
16146
+ }
16147
+ survey_core__WEBPACK_IMPORTED_MODULE_1__["ComponentCollection"].Instance.add({
16148
+ name: "boxshadowsettings",
16149
+ showInToolbox: false,
16150
+ questionJSON: getQuestionJSON(),
16069
16151
  onCreated: function (question) {
16070
16152
  question.valueFromDataCallback = function (value) { return typeof value == "string" ? parseBoxShadow(value) : value; };
16071
16153
  question.valueToDataCallback = function (value) { return !!value ? (typeof value == "string" ? value : createBoxShadow(Array.isArray(value) ? value : [value])) : ""; };
16072
16154
  question.contentQuestion.panels.forEach(function (p) { return p.questions.forEach(function (q) { return q.allowRootStyle = false; }); });
16073
16155
  },
16074
16156
  });
16157
+ function updateBoxShadowSettingsJSON() {
16158
+ var config = survey_core__WEBPACK_IMPORTED_MODULE_1__["ComponentCollection"].Instance.getCustomQuestionByName("boxshadowsettings");
16159
+ config.json.questionJSON = getQuestionJSON();
16160
+ }
16075
16161
  function createBoxShadow(value) {
16076
16162
  return value.map((function (val) { var _a, _b, _c, _d, _e; return "" + (val.isInset == true ? "inset " : "") + ((_a = val.x) !== null && _a !== void 0 ? _a : 0) + "px " + ((_b = val.y) !== null && _b !== void 0 ? _b : 0) + "px " + ((_c = val.blur) !== null && _c !== void 0 ? _c : 0) + "px " + ((_d = val.spread) !== null && _d !== void 0 ? _d : 0) + "px " + ((_e = val.color) !== null && _e !== void 0 ? _e : "#000000"); })).join(", ");
16077
16163
  }
@@ -16103,11 +16189,12 @@ function parseBoxShadow(value) {
16103
16189
  /*!**********************************************************************!*\
16104
16190
  !*** ./src/components/tabs/theme-custom-questions/color-settings.ts ***!
16105
16191
  \**********************************************************************/
16106
- /*! exports provided: createColor */
16192
+ /*! exports provided: updateColorSettingsJSON, createColor */
16107
16193
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
16108
16194
 
16109
16195
  "use strict";
16110
16196
  __webpack_require__.r(__webpack_exports__);
16197
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "updateColorSettingsJSON", function() { return updateColorSettingsJSON; });
16111
16198
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "createColor", function() { return createColor; });
16112
16199
  /* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! survey-core */ "survey-core");
16113
16200
  /* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(survey_core__WEBPACK_IMPORTED_MODULE_0__);
@@ -16116,10 +16203,8 @@ __webpack_require__.r(__webpack_exports__);
16116
16203
 
16117
16204
 
16118
16205
 
16119
- survey_core__WEBPACK_IMPORTED_MODULE_0__["ComponentCollection"].Instance.add({
16120
- name: "colorsettings",
16121
- showInToolbox: false,
16122
- elementsJSON: [
16206
+ function getElementsJSON() {
16207
+ return [
16123
16208
  {
16124
16209
  name: "color",
16125
16210
  type: "color",
@@ -16135,7 +16220,12 @@ survey_core__WEBPACK_IMPORTED_MODULE_0__["ComponentCollection"].Instance.add({
16135
16220
  unit: "%",
16136
16221
  titleLocation: "left"
16137
16222
  }
16138
- ],
16223
+ ];
16224
+ }
16225
+ survey_core__WEBPACK_IMPORTED_MODULE_0__["ComponentCollection"].Instance.add({
16226
+ name: "colorsettings",
16227
+ showInToolbox: false,
16228
+ elementsJSON: getElementsJSON(),
16139
16229
  onInit: function () {
16140
16230
  survey_core__WEBPACK_IMPORTED_MODULE_0__["Serializer"].addProperties("colorsettings", [{
16141
16231
  name: "choices:itemvalue[]",
@@ -16167,6 +16257,10 @@ survey_core__WEBPACK_IMPORTED_MODULE_0__["ComponentCollection"].Instance.add({
16167
16257
  question.contentPanel.questions.forEach(function (q) { return q.allowRootStyle = false; });
16168
16258
  }
16169
16259
  });
16260
+ function updateColorSettingsJSON() {
16261
+ var config = survey_core__WEBPACK_IMPORTED_MODULE_0__["ComponentCollection"].Instance.getCustomQuestionByName("colorsettings");
16262
+ config.json.elementsJSON = getElementsJSON();
16263
+ }
16170
16264
  function syncPropertiesFromCompositeToColor(question, propertyName, newValue) {
16171
16265
  var colorQuestion = question.contentPanel.questions[0];
16172
16266
  if (propertyName == "colorTitleLocation") {
@@ -16190,11 +16284,12 @@ function createColor(value) {
16190
16284
  /*!************************************************************************!*\
16191
16285
  !*** ./src/components/tabs/theme-custom-questions/element-settings.ts ***!
16192
16286
  \************************************************************************/
16193
- /*! exports provided: elementSettingsToCssVariable, elementSettingsFromCssVariable */
16287
+ /*! exports provided: updateElementSettingsJSON, elementSettingsToCssVariable, elementSettingsFromCssVariable */
16194
16288
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
16195
16289
 
16196
16290
  "use strict";
16197
16291
  __webpack_require__.r(__webpack_exports__);
16292
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "updateElementSettingsJSON", function() { return updateElementSettingsJSON; });
16198
16293
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "elementSettingsToCssVariable", function() { return elementSettingsToCssVariable; });
16199
16294
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "elementSettingsFromCssVariable", function() { return elementSettingsFromCssVariable; });
16200
16295
  /* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! survey-core */ "survey-core");
@@ -16202,10 +16297,8 @@ __webpack_require__.r(__webpack_exports__);
16202
16297
  /* harmony import */ var _editorLocalization__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../editorLocalization */ "./src/editorLocalization.ts");
16203
16298
 
16204
16299
 
16205
- survey_core__WEBPACK_IMPORTED_MODULE_0__["ComponentCollection"].Instance.add({
16206
- name: "elementsettings",
16207
- showInToolbox: false,
16208
- elementsJSON: [
16300
+ function getElementsJSON() {
16301
+ return [
16209
16302
  {
16210
16303
  type: "colorsettings",
16211
16304
  name: "backcolor",
@@ -16237,7 +16330,12 @@ survey_core__WEBPACK_IMPORTED_MODULE_0__["ComponentCollection"].Instance.add({
16237
16330
  expression: "iif({composite.corner} notempty, {composite.corner} + 'px', '')",
16238
16331
  visible: false
16239
16332
  }
16240
- ],
16333
+ ];
16334
+ }
16335
+ survey_core__WEBPACK_IMPORTED_MODULE_0__["ComponentCollection"].Instance.add({
16336
+ name: "elementsettings",
16337
+ showInToolbox: false,
16338
+ elementsJSON: getElementsJSON(),
16241
16339
  onInit: function () {
16242
16340
  },
16243
16341
  onCreated: function (question) {
@@ -16245,6 +16343,10 @@ survey_core__WEBPACK_IMPORTED_MODULE_0__["ComponentCollection"].Instance.add({
16245
16343
  onValueChanged: function (question, name, newValue) {
16246
16344
  },
16247
16345
  });
16346
+ function updateElementSettingsJSON() {
16347
+ var config = survey_core__WEBPACK_IMPORTED_MODULE_0__["ComponentCollection"].Instance.getCustomQuestionByName("elementsettings");
16348
+ config.json.elementsJSON = getElementsJSON();
16349
+ }
16248
16350
  function elementSettingsToCssVariable(question, themeCssVariables) {
16249
16351
  Object.keys(question.value).forEach(function (key) {
16250
16352
  if (key === "corner")
@@ -16283,12 +16385,13 @@ function elementSettingsFromCssVariable(question, themeCssVariables, defaultBack
16283
16385
  /*!*********************************************************************!*\
16284
16386
  !*** ./src/components/tabs/theme-custom-questions/font-settings.ts ***!
16285
16387
  \*********************************************************************/
16286
- /*! exports provided: DefaultFonts, fontsettingsToCssVariable, fontsettingsFromCssVariable */
16388
+ /*! exports provided: DefaultFonts, updateFontSettingsJSON, fontsettingsToCssVariable, fontsettingsFromCssVariable */
16287
16389
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
16288
16390
 
16289
16391
  "use strict";
16290
16392
  __webpack_require__.r(__webpack_exports__);
16291
16393
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "DefaultFonts", function() { return DefaultFonts; });
16394
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "updateFontSettingsJSON", function() { return updateFontSettingsJSON; });
16292
16395
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "fontsettingsToCssVariable", function() { return fontsettingsToCssVariable; });
16293
16396
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "fontsettingsFromCssVariable", function() { return fontsettingsFromCssVariable; });
16294
16397
  /* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! survey-core */ "survey-core");
@@ -16308,10 +16411,8 @@ var DefaultFonts = [
16308
16411
  "Trebuchet MS, sans-serif",
16309
16412
  "Verdana, sans-serif",
16310
16413
  ];
16311
- survey_core__WEBPACK_IMPORTED_MODULE_0__["ComponentCollection"].Instance.add({
16312
- name: "fontsettings",
16313
- showInToolbox: false,
16314
- elementsJSON: [
16414
+ function getElementsJSON() {
16415
+ return [
16315
16416
  {
16316
16417
  type: "dropdown",
16317
16418
  name: "family",
@@ -16358,7 +16459,12 @@ survey_core__WEBPACK_IMPORTED_MODULE_0__["ComponentCollection"].Instance.add({
16358
16459
  unit: "px",
16359
16460
  min: 0,
16360
16461
  }
16361
- ],
16462
+ ];
16463
+ }
16464
+ survey_core__WEBPACK_IMPORTED_MODULE_0__["ComponentCollection"].Instance.add({
16465
+ name: "fontsettings",
16466
+ showInToolbox: false,
16467
+ elementsJSON: getElementsJSON(),
16362
16468
  onInit: function () {
16363
16469
  },
16364
16470
  onCreated: function (question) {
@@ -16370,6 +16476,10 @@ survey_core__WEBPACK_IMPORTED_MODULE_0__["ComponentCollection"].Instance.add({
16370
16476
  onValueChanged: function (question, name, newValue) {
16371
16477
  },
16372
16478
  });
16479
+ function updateFontSettingsJSON() {
16480
+ var config = survey_core__WEBPACK_IMPORTED_MODULE_0__["ComponentCollection"].Instance.getCustomQuestionByName("fontsettings");
16481
+ config.json.elementsJSON = getElementsJSON();
16482
+ }
16373
16483
  function fontsettingsToCssVariable(question, themeCssVariables) {
16374
16484
  Object.keys(question.value).forEach(function (key) {
16375
16485
  var _a;
@@ -16401,6 +16511,34 @@ function fontsettingsFromCssVariable(question, themeCssVariables, defaultColorVa
16401
16511
  }
16402
16512
 
16403
16513
 
16514
+ /***/ }),
16515
+
16516
+ /***/ "./src/components/tabs/theme-custom-questions/index.ts":
16517
+ /*!*************************************************************!*\
16518
+ !*** ./src/components/tabs/theme-custom-questions/index.ts ***!
16519
+ \*************************************************************/
16520
+ /*! exports provided: updateCustomQuestionJSONs */
16521
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
16522
+
16523
+ "use strict";
16524
+ __webpack_require__.r(__webpack_exports__);
16525
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "updateCustomQuestionJSONs", function() { return updateCustomQuestionJSONs; });
16526
+ /* harmony import */ var _boxshadow_settings__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./boxshadow-settings */ "./src/components/tabs/theme-custom-questions/boxshadow-settings.ts");
16527
+ /* harmony import */ var _color_settings__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./color-settings */ "./src/components/tabs/theme-custom-questions/color-settings.ts");
16528
+ /* harmony import */ var _element_settings__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./element-settings */ "./src/components/tabs/theme-custom-questions/element-settings.ts");
16529
+ /* harmony import */ var _font_settings__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./font-settings */ "./src/components/tabs/theme-custom-questions/font-settings.ts");
16530
+
16531
+
16532
+
16533
+
16534
+ function updateCustomQuestionJSONs() {
16535
+ Object(_boxshadow_settings__WEBPACK_IMPORTED_MODULE_0__["updateBoxShadowSettingsJSON"])();
16536
+ Object(_font_settings__WEBPACK_IMPORTED_MODULE_3__["updateFontSettingsJSON"])();
16537
+ Object(_color_settings__WEBPACK_IMPORTED_MODULE_1__["updateColorSettingsJSON"])();
16538
+ Object(_element_settings__WEBPACK_IMPORTED_MODULE_2__["updateElementSettingsJSON"])();
16539
+ }
16540
+
16541
+
16404
16542
  /***/ }),
16405
16543
 
16406
16544
  /***/ "./src/components/tabs/theme-plugin.ts":
@@ -16522,9 +16660,11 @@ var ThemeTabPlugin = /** @class */ (function () {
16522
16660
  }
16523
16661
  });
16524
16662
  this.model.onThemeSelected.add(function (sender, options) {
16663
+ _this.saveThemeAction.enabled = true;
16525
16664
  _this.onThemeSelected.fire(_this, options);
16526
16665
  });
16527
16666
  this.model.onThemeModified.add(function (sender, options) {
16667
+ _this.saveThemeAction.enabled = true;
16528
16668
  _this.onThemeModified.fire(_this, options);
16529
16669
  });
16530
16670
  this.model.onCanModifyTheme.add(function (sender, options) {
@@ -16624,6 +16764,23 @@ var ThemeTabPlugin = /** @class */ (function () {
16624
16764
  });
16625
16765
  items.push(this.undoAction);
16626
16766
  items.push(this.redoAction);
16767
+ this.saveThemeAction = new survey_core__WEBPACK_IMPORTED_MODULE_0__["Action"]({
16768
+ id: "svd-save",
16769
+ iconName: "icon-save",
16770
+ action: function () {
16771
+ _this.creator.doSaveTheme();
16772
+ _this.saveThemeAction.enabled = false;
16773
+ },
16774
+ active: false,
16775
+ enabled: false,
16776
+ visible: new survey_core__WEBPACK_IMPORTED_MODULE_0__["ComputedUpdater"](function () {
16777
+ return Object(_utils_utils__WEBPACK_IMPORTED_MODULE_5__["notShortCircuitAnd"])(_this.creator.activeTab === "theme", _this.creator.showSaveButton);
16778
+ }),
16779
+ locTitleName: "ed.saveTheme",
16780
+ locTooltipName: "ed.saveThemeTooltip",
16781
+ showTitle: false
16782
+ });
16783
+ items.push(this.saveThemeAction);
16627
16784
  this.resetTheme = new survey_core__WEBPACK_IMPORTED_MODULE_0__["Action"]({
16628
16785
  id: "resetTheme",
16629
16786
  iconName: "icon-reset",
@@ -19571,7 +19728,6 @@ var CreatorBase = /** @class */ (function (_super) {
19571
19728
  *- sender the survey creator object that fires the event
19572
19729
  *- options.element a new created survey element. It can be question, panel or page
19573
19730
  *- 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.
19574
- *- options.isUnique a boolean property, set this property to false, if you want to ask Creator to generate another name
19575
19731
  */
19576
19732
  _this.onGenerateNewName = new CreatorEvent();
19577
19733
  /**
@@ -19788,12 +19944,12 @@ var CreatorBase = /** @class */ (function (_super) {
19788
19944
  *
19789
19945
  * - `sender`: `CreatorBase`\
19790
19946
  * A Survey Creator instance that raised the event.
19791
- * - `options.actions`: [`IAction[]`](/form-library/documentation/api-reference/iaction)\
19947
+ * - `options.actions`: [`IAction[]`](https://surveyjs.io/form-library/documentation/api-reference/iaction)\
19792
19948
  * An array of actions. You can add, modify, or remove actions from this array.
19793
- * - `options.page`: [`PageModel`](/form-library/documentation/api-reference/page-model)\
19949
+ * - `options.page`: [`PageModel`](https://surveyjs.io/form-library/documentation/api-reference/page-model)\
19794
19950
  * A page for which the event is raised.
19795
19951
  * - `options.addNewQuestion(type)`: Method\
19796
- * Adds a new question of a specified [`type`](/form-library/documentation/api-reference/question#getType) to the page.
19952
+ * Adds a new question of a specified [`type`](https://surveyjs.io/form-library/documentation/api-reference/question#getType) to the page.
19797
19953
  * @see onDefineElementMenuItems
19798
19954
  */
19799
19955
  _this.onGetPageActions = new CreatorEvent();
@@ -20127,7 +20283,7 @@ var CreatorBase = /** @class */ (function (_super) {
20127
20283
  */
20128
20284
  _this.maximumRateValues = _creator_settings__WEBPACK_IMPORTED_MODULE_2__["settings"].propertyGrid.maximumRateValues;
20129
20285
  /**
20130
- * Limits the number of nested panels within a [Panel](/form-library/documentation/api-reference/panel-model) element.
20286
+ * Limits the number of nested panels within a [Panel](https://surveyjs.io/form-library/documentation/api-reference/panel-model) element.
20131
20287
  *
20132
20288
  * Default value: -1 (unlimited)
20133
20289
  */
@@ -20389,12 +20545,11 @@ var CreatorBase = /** @class */ (function (_super) {
20389
20545
  });
20390
20546
  Object.defineProperty(CreatorBase.prototype, "haveCommercialLicense", {
20391
20547
  get: function () {
20392
- if (!!survey_core__WEBPACK_IMPORTED_MODULE_1__["hasLicense"] && Object(survey_core__WEBPACK_IMPORTED_MODULE_1__["hasLicense"])(1))
20393
- return true;
20394
- return this.getPropertyValue("haveCommercialLicense", false);
20548
+ return !!survey_core__WEBPACK_IMPORTED_MODULE_1__["hasLicense"] && Object(survey_core__WEBPACK_IMPORTED_MODULE_1__["hasLicense"])(1);
20395
20549
  },
20396
20550
  set: function (val) {
20397
- this.setPropertyValue("haveCommercialLicense", val);
20551
+ // eslint-disable-next-line no-console
20552
+ console.warn("As of v1.9.101, the haveCommercialLicense property is not supported. To activate your license, use the setLicenseKey(key) method as shown on the following page: https://surveyjs.io/remove-alert-banner");
20398
20553
  },
20399
20554
  enumerable: false,
20400
20555
  configurable: true
@@ -20563,7 +20718,7 @@ var CreatorBase = /** @class */ (function (_super) {
20563
20718
  /**
20564
20719
  * A function that is called each time users click the [Save button](https://surveyjs.io/survey-creator/documentation/api-reference/survey-creator#showSaveButton) or [auto-save](https://surveyjs.io/survey-creator/documentation/api-reference/survey-creator#isAutoSave) is triggered to save a theme JSON object.
20565
20720
  *
20566
- * For more information, refer to the [Save and Load Custom Themes](/survey-creator/documentation/theme-editor#save-and-load-custom-themes) help topic.
20721
+ * For more information, refer to the [Save and Load Custom Themes](https://surveyjs.io/survey-creator/documentation/theme-editor#save-and-load-custom-themes) help topic.
20567
20722
  * @see showThemeTab
20568
20723
  * @see saveSurveyFunc
20569
20724
  */
@@ -21820,6 +21975,12 @@ var CreatorBase = /** @class */ (function (_super) {
21820
21975
  var index = !!question["parent"]
21821
21976
  ? question["parent"].elements.indexOf(question) + 1
21822
21977
  : -1;
21978
+ if (index > -1) {
21979
+ var elements = question.parent.elements;
21980
+ if (index < elements.length && elements[index].startWithNewLine === false) {
21981
+ newElement.startWithNewLine = false;
21982
+ }
21983
+ }
21823
21984
  this.doClickQuestionCore(newElement, "ELEMENT_COPIED", index, question["parent"]);
21824
21985
  return newElement;
21825
21986
  };
@@ -21838,6 +21999,16 @@ var CreatorBase = /** @class */ (function (_super) {
21838
21999
  enumerable: false,
21839
22000
  configurable: true
21840
22001
  });
22002
+ /**
22003
+ * Refreshes the Designer tab.
22004
+ *
22005
+ * `refreshDesigner()` is useful if the Designer tab UI depends on an external variable. Call this method each time this variable changes to update the UI.
22006
+ */
22007
+ CreatorBase.prototype.refreshDesigner = function () {
22008
+ if (this.activeTab !== "designer")
22009
+ return;
22010
+ this.changeText(this.text);
22011
+ };
21841
22012
  CreatorBase.prototype.deleteCurrentObject = function () {
21842
22013
  this.deleteCurrentElement();
21843
22014
  };
@@ -21918,6 +22089,8 @@ var CreatorBase = /** @class */ (function (_super) {
21918
22089
  this.deleteObjectCore(obj);
21919
22090
  };
21920
22091
  CreatorBase.prototype.updateConditionsOnRemove = function (obj) {
22092
+ if (!_creator_settings__WEBPACK_IMPORTED_MODULE_2__["settings"].logic.updateExpressionsOnDeleting.question)
22093
+ return;
21921
22094
  var objType = _survey_helper__WEBPACK_IMPORTED_MODULE_9__["SurveyHelper"].getObjectType(obj);
21922
22095
  var questions;
21923
22096
  if (objType == _survey_helper__WEBPACK_IMPORTED_MODULE_9__["ObjType"].Question) {
@@ -21950,7 +22123,7 @@ var CreatorBase = /** @class */ (function (_super) {
21950
22123
  CreatorBase.prototype.selectElement = function (element, propertyName, focus, startEdit) {
21951
22124
  if (focus === void 0) { focus = true; }
21952
22125
  if (startEdit === void 0) { startEdit = false; }
21953
- if (!!element && (element.isDisposed || ((element.isQuestion || element.isPanel) && !element.parent)))
22126
+ if (!!element && (element.isDisposed || !element.getSurvey() || ((element.isQuestion || element.isPanel) && !element.parent)))
21954
22127
  return;
21955
22128
  var oldValue = this.selectedElement;
21956
22129
  if (oldValue !== element) {
@@ -22302,23 +22475,34 @@ var CreatorBase = /** @class */ (function (_super) {
22302
22475
  return hasError ? this.getLocString("pe.propertyNameIsNotUnique") : null;
22303
22476
  };
22304
22477
  CreatorBase.prototype.generateUniqueName = function (el, newName) {
22305
- var options = { element: el, name: newName, isUnique: true };
22478
+ var options = { element: el, name: newName, isDone: true };
22479
+ var list = [];
22306
22480
  do {
22307
- if (!options.isUnique) {
22308
- options.name = _survey_helper__WEBPACK_IMPORTED_MODULE_9__["SurveyHelper"].generateNewName(options.name);
22309
- }
22310
- while (!this.isNameUnique(el, options.name, false)) {
22311
- options.name = _survey_helper__WEBPACK_IMPORTED_MODULE_9__["SurveyHelper"].generateNewName(options.name);
22312
- }
22313
- options.isUnique = true;
22314
- var oldName = options.name;
22315
- this.onGenerateNewName.fire(this, options);
22316
- if (oldName != options.name) {
22317
- options.isUnique = this.isNameUnique(el, options.name);
22481
+ this.generateUniqueNameCore(options);
22482
+ if (!options.isDone && list.indexOf(options.name) > -1) {
22483
+ options.name = this.checkForUniqueName(el, options.name);
22484
+ break;
22318
22485
  }
22319
- } while (!options.isUnique);
22486
+ list.push(options.name);
22487
+ } while (!options.isDone);
22320
22488
  return options.name;
22321
22489
  };
22490
+ CreatorBase.prototype.generateUniqueNameCore = function (options) {
22491
+ options.name = this.checkForUniqueName(options.element, options.name);
22492
+ var evnOptions = { element: options.element, name: options.name };
22493
+ this.onGenerateNewName.fire(this, evnOptions);
22494
+ if (options.name !== evnOptions.name) {
22495
+ options.name = evnOptions.name;
22496
+ options.name = this.checkForUniqueName(options.element, options.name);
22497
+ options.isDone = options.name === evnOptions.name;
22498
+ }
22499
+ };
22500
+ CreatorBase.prototype.checkForUniqueName = function (el, newName) {
22501
+ while (!this.isNameUnique(el, newName, false)) {
22502
+ newName = _survey_helper__WEBPACK_IMPORTED_MODULE_9__["SurveyHelper"].generateNewName(newName);
22503
+ }
22504
+ return newName;
22505
+ };
22322
22506
  CreatorBase.prototype.isNameUnique = function (el, newName, includeNewItems) {
22323
22507
  if (includeNewItems === void 0) { includeNewItems = true; }
22324
22508
  if (!this.isNameUniqueInArray(this.survey.pages, el, newName))
@@ -23317,6 +23501,12 @@ var settings = {
23317
23501
  questionName: true,
23318
23502
  columnName: true,
23319
23503
  choiceValue: true
23504
+ },
23505
+ /**
23506
+ * Set these properties to false if you don't want to update expressions on deleting question
23507
+ */
23508
+ updateExpressionsOnDeleting: {
23509
+ question: true
23320
23510
  }
23321
23511
  },
23322
23512
  /**
@@ -24675,7 +24865,7 @@ var __spreadArray = function (to, from) {
24675
24865
  /*!******************************!*\
24676
24866
  !*** ./src/entries/index.ts ***!
24677
24867
  \******************************/
24678
- /*! exports provided: Version, enStrings, editorLocalization, defaultStrings, localization, QuestionConvertMode, settings, EmptySurveyCreatorOptions, CreatorAction, TabbedMenuItem, TabbedMenuContainer, ToolbarActionContainer, CreatorEvent, CreatorBase, SurveyCreatorModel, StylesManager, initializeDesignTimeSurveyModel, editableStringRendererName, getElementWrapperComponentName, getQuestionContentWrapperComponentName, getElementWrapperComponentData, getItemValueWrapperComponentName, getItemValueWrapperComponentData, isStringEditable, isTextInput, registerAdorner, removeAdorners, CreatorResponsivityManager, AceJsonEditorModel, TabJsonEditorAcePlugin, JsonEditorBaseModel, TabJsonEditorBasePlugin, TextareaJsonEditorModel, TabJsonEditorTextareaPlugin, TestSurveyTabViewModel, TabTestPlugin, createColor, createBoxShadow, parseBoxShadow, DefaultFonts, fontsettingsToCssVariable, fontsettingsFromCssVariable, elementSettingsToCssVariable, elementSettingsFromCssVariable, Themes, PredefinedThemes, getThemeFullName, PredefinedColors, findSuitableTheme, ThemeBuilder, ThemeTabPlugin, initLogicOperator, LogicEvent, SurveyLogic, TranslationItemBase, TranslationItemString, TranslationItem, TranslationGroup, Translation, TranslationEditor, createImportCSVAction, createExportCSVAction, translationCss, TabTranslationPlugin, initialSettingsAllowShowEmptyTitleInDesignMode, TabDesignerViewModel, TabDesignerPlugin, SurveyLogicUI, TabLogicPlugin, logicCss, ToolboxToolViewModel, PageNavigatorViewModel, PageAdorner, RowViewModel, QuestionAdornerViewModel, QuestionDropdownAdornerViewModel, QuestionImageAdornerViewModel, QuestionRatingAdornerViewModel, ItemValueWrapperViewModel, ImageItemValueWrapperViewModel, MatrixCellWrapperEditSurvey, MatrixCellWrapperViewModel, SurveySimulatorModel, DEFAULT_MONITOR_DPI, simulatorDevices, SurveyResultsItemModel, SurveyResultsModel, LogoImageViewModel, StringItemsNavigatorBase, StringEditorConnector, StringEditorViewModelBase, QuestionEmbeddedSurveyModel, QuestionLinkValueModel, EditorLocalization, getLocString, SurveyJSON5, QuestionSpinEditorModel, QuestionColorModel, QuestionFileEditorModel, ResetValueAdorner, QuestionTextWithResetModel, QuestionCommentWithResetModel, setSurveyJSONForPropertyGrid, PropertyEditorSetupValue, PropertyGridEditorCollection, PropertyGridTitleActionsCreator, PropertyJSONGenerator, PropertyGridModel, PropertyGridEditor, PropertyGridEditorBoolean, PropertyGridEditorStringBase, PropertyGridEditorString, PropertyGridLinkEditor, PropertyGridEditorColor, PropertyGridEditorNumber, PropertyGridEditorImageSize, PropertyGridEditorText, PropertyGridEditorHtml, PropertyGridEditorStringArray, PropertyGridEditorDropdown, PropertyGridEditorSet, PropertyGridEditorPage, PropertyGridEditorQuestion, PropertyGridEditorQuestionSelectBase, PropertyGridEditorQuestionCarryForward, PropertyGridEditorQuestionValue, PropertyGridEditorExpression, PropertyGridEditorCondition, PropertyGridEditorMatrix, PropertyGridEditorMatrixItemValues, PropertyGridEditorMatrixRateValues, PropertyGridEditorMatrixColumns, PropertyGridEditorMatrixPages, PropertyGridEditorMatrixCalculatedValues, PropertyGridEditorMatrixHtmlConditions, PropertyGridEditorMatrixUrlConditions, PropertyGridEditorMatrixMutlipleTextItems, PropertyGridEditorMatrixMultipleTypes, PropertyGridEditorMatrixValidators, PropertyGridEditorMatrixTriggers, PropertyGridEditorBindings, PropertyGridViewModel, ObjectSelectorItem, ObjectSelector, ObjectSelectorModel, PropertyGridEditorQuestionRestfull, PropertyGridValueEditorBase, PropertyGridCellsEditor, PropertyGridValueEditor, PropertyGridRowValueEditor, PropertyGridPanelValueEditor, PropertyGridTriggerValueEditor, PropertyGridTriggerValueInLogicEditor, propertyGridCss, QuestionConverter, svgBundle, SurveyTextWorkerError, SurveyTextWorkerParserError, SurveyTextWorkerJsonError, SurveyTextWorker, JsonDuplicateNameError, QuestionToolboxCategory, QuestionToolboxItem, QuestionToolbox, SidebarModel, SidebarTabModel, getNextItemValue, getNextItemText, getNextValue, findParentNode, focusFirstControl, getFirstNonTextElement, getNodesFromKoComponentInfo, propertyExists, isPropertyVisible, toggleHovered, clearNewLines, select, copyObject, copyCssClasses, assignDefaultV2Classes, wrapTextByCurlyBraces, capitalize, notShortCircuitAnd, imageMimeTypes, getAcceptedTypesByContentMode, getQuestionFromObj, ingectAlpha, convertRgbaToString, parseRgbaFromString, parseColor, HSBToRGB, RGBToHSB, assign, ColorCalculator, saveToFileHandler, SurveyQuestionEditorDefinition, ObjType, SurveyHelper, ResizeManager, UndoRedoPlugin, undoRedoTransaction, ignoreUndoRedo, UndoRedoManager, Transaction, UndoRedoAction, UndoRedoArrayAction, PagesController */
24868
+ /*! 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, parseBoxShadow, DefaultFonts, updateFontSettingsJSON, fontsettingsToCssVariable, fontsettingsFromCssVariable, updateElementSettingsJSON, elementSettingsToCssVariable, elementSettingsFromCssVariable, Themes, PredefinedThemes, getThemeFullName, PredefinedColors, findSuitableTheme, ThemeBuilder, ThemeTabPlugin, initLogicOperator, LogicEvent, SurveyLogic, TranslationItemBase, TranslationItemString, TranslationItem, TranslationGroup, Translation, TranslationEditor, createImportCSVAction, createExportCSVAction, translationCss, TabTranslationPlugin, initialSettingsAllowShowEmptyTitleInDesignMode, TabDesignerViewModel, TabDesignerPlugin, SurveyLogicUI, TabLogicPlugin, logicCss, ToolboxToolViewModel, PageNavigatorViewModel, PageAdorner, RowViewModel, QuestionAdornerViewModel, QuestionDropdownAdornerViewModel, QuestionImageAdornerViewModel, QuestionRatingAdornerViewModel, ItemValueWrapperViewModel, ImageItemValueWrapperViewModel, MatrixCellWrapperEditSurvey, MatrixCellWrapperViewModel, SurveySimulatorModel, DEFAULT_MONITOR_DPI, simulatorDevices, SurveyResultsItemModel, SurveyResultsModel, LogoImageViewModel, StringItemsNavigatorBase, StringEditorConnector, StringEditorViewModelBase, QuestionEmbeddedSurveyModel, QuestionLinkValueModel, EditorLocalization, getLocString, SurveyJSON5, QuestionSpinEditorModel, QuestionColorModel, QuestionFileEditorModel, ResetValueAdorner, QuestionTextWithResetModel, QuestionCommentWithResetModel, setSurveyJSONForPropertyGrid, PropertyEditorSetupValue, PropertyGridEditorCollection, PropertyGridTitleActionsCreator, PropertyJSONGenerator, PropertyGridModel, PropertyGridEditor, PropertyGridEditorBoolean, PropertyGridEditorStringBase, PropertyGridEditorString, PropertyGridLinkEditor, PropertyGridEditorColor, PropertyGridEditorNumber, PropertyGridEditorImageSize, PropertyGridEditorText, PropertyGridEditorHtml, PropertyGridEditorStringArray, PropertyGridEditorDropdown, PropertyGridEditorSet, PropertyGridEditorPage, PropertyGridEditorQuestion, PropertyGridEditorQuestionSelectBase, PropertyGridEditorQuestionCarryForward, PropertyGridEditorQuestionValue, PropertyGridEditorExpression, PropertyGridEditorCondition, PropertyGridEditorMatrix, PropertyGridEditorMatrixItemValues, PropertyGridEditorMatrixRateValues, PropertyGridEditorMatrixColumns, PropertyGridEditorMatrixPages, PropertyGridEditorMatrixCalculatedValues, PropertyGridEditorMatrixHtmlConditions, PropertyGridEditorMatrixUrlConditions, PropertyGridEditorMatrixMutlipleTextItems, PropertyGridEditorMatrixMultipleTypes, PropertyGridEditorMatrixValidators, PropertyGridEditorMatrixTriggers, PropertyGridEditorBindings, PropertyGridViewModel, ObjectSelectorItem, ObjectSelector, ObjectSelectorModel, PropertyGridEditorQuestionRestfull, PropertyGridValueEditorBase, PropertyGridCellsEditor, PropertyGridValueEditor, PropertyGridRowValueEditor, PropertyGridPanelValueEditor, PropertyGridTriggerValueEditor, PropertyGridTriggerValueInLogicEditor, propertyGridCss, QuestionConverter, svgBundle, SurveyTextWorkerError, SurveyTextWorkerParserError, SurveyTextWorkerJsonError, SurveyTextWorker, JsonDuplicateNameError, QuestionToolboxCategory, QuestionToolboxItem, QuestionToolbox, SidebarModel, SidebarTabModel, getNextItemValue, getNextItemText, getNextValue, findParentNode, focusFirstControl, getFirstNonTextElement, getNodesFromKoComponentInfo, propertyExists, isPropertyVisible, toggleHovered, clearNewLines, select, copyObject, copyCssClasses, assignDefaultV2Classes, wrapTextByCurlyBraces, capitalize, notShortCircuitAnd, imageMimeTypes, getAcceptedTypesByContentMode, getQuestionFromObj, ingectAlpha, convertRgbaToString, parseRgbaFromString, parseColor, HSBToRGB, RGBToHSB, assign, ColorCalculator, saveToFileHandler, SurveyQuestionEditorDefinition, ObjType, SurveyHelper, ResizeManager, UndoRedoPlugin, undoRedoTransaction, ignoreUndoRedo, UndoRedoManager, Transaction, UndoRedoAction, UndoRedoArrayAction, PagesController */
24679
24869
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
24680
24870
 
24681
24871
  "use strict";
@@ -24762,9 +24952,13 @@ __webpack_require__.r(__webpack_exports__);
24762
24952
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "TabTestPlugin", function() { return _components_tabs_test_plugin__WEBPACK_IMPORTED_MODULE_9__["TabTestPlugin"]; });
24763
24953
 
24764
24954
  /* harmony import */ var _components_tabs_theme_custom_questions_color_settings__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../components/tabs/theme-custom-questions/color-settings */ "./src/components/tabs/theme-custom-questions/color-settings.ts");
24955
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "updateColorSettingsJSON", function() { return _components_tabs_theme_custom_questions_color_settings__WEBPACK_IMPORTED_MODULE_10__["updateColorSettingsJSON"]; });
24956
+
24765
24957
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "createColor", function() { return _components_tabs_theme_custom_questions_color_settings__WEBPACK_IMPORTED_MODULE_10__["createColor"]; });
24766
24958
 
24767
24959
  /* harmony import */ var _components_tabs_theme_custom_questions_boxshadow_settings__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../components/tabs/theme-custom-questions/boxshadow-settings */ "./src/components/tabs/theme-custom-questions/boxshadow-settings.ts");
24960
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "updateBoxShadowSettingsJSON", function() { return _components_tabs_theme_custom_questions_boxshadow_settings__WEBPACK_IMPORTED_MODULE_11__["updateBoxShadowSettingsJSON"]; });
24961
+
24768
24962
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "createBoxShadow", function() { return _components_tabs_theme_custom_questions_boxshadow_settings__WEBPACK_IMPORTED_MODULE_11__["createBoxShadow"]; });
24769
24963
 
24770
24964
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "parseBoxShadow", function() { return _components_tabs_theme_custom_questions_boxshadow_settings__WEBPACK_IMPORTED_MODULE_11__["parseBoxShadow"]; });
@@ -24772,11 +24966,15 @@ __webpack_require__.r(__webpack_exports__);
24772
24966
  /* harmony import */ var _components_tabs_theme_custom_questions_font_settings__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../components/tabs/theme-custom-questions/font-settings */ "./src/components/tabs/theme-custom-questions/font-settings.ts");
24773
24967
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "DefaultFonts", function() { return _components_tabs_theme_custom_questions_font_settings__WEBPACK_IMPORTED_MODULE_12__["DefaultFonts"]; });
24774
24968
 
24969
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "updateFontSettingsJSON", function() { return _components_tabs_theme_custom_questions_font_settings__WEBPACK_IMPORTED_MODULE_12__["updateFontSettingsJSON"]; });
24970
+
24775
24971
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "fontsettingsToCssVariable", function() { return _components_tabs_theme_custom_questions_font_settings__WEBPACK_IMPORTED_MODULE_12__["fontsettingsToCssVariable"]; });
24776
24972
 
24777
24973
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "fontsettingsFromCssVariable", function() { return _components_tabs_theme_custom_questions_font_settings__WEBPACK_IMPORTED_MODULE_12__["fontsettingsFromCssVariable"]; });
24778
24974
 
24779
24975
  /* harmony import */ var _components_tabs_theme_custom_questions_element_settings__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../components/tabs/theme-custom-questions/element-settings */ "./src/components/tabs/theme-custom-questions/element-settings.ts");
24976
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "updateElementSettingsJSON", function() { return _components_tabs_theme_custom_questions_element_settings__WEBPACK_IMPORTED_MODULE_13__["updateElementSettingsJSON"]; });
24977
+
24780
24978
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "elementSettingsToCssVariable", function() { return _components_tabs_theme_custom_questions_element_settings__WEBPACK_IMPORTED_MODULE_13__["elementSettingsToCssVariable"]; });
24781
24979
 
24782
24980
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "elementSettingsFromCssVariable", function() { return _components_tabs_theme_custom_questions_element_settings__WEBPACK_IMPORTED_MODULE_13__["elementSettingsFromCssVariable"]; });
@@ -25169,7 +25367,7 @@ __webpack_require__.r(__webpack_exports__);
25169
25367
  /* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_71__ = __webpack_require__(/*! survey-core */ "survey-core");
25170
25368
  /* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_71___default = /*#__PURE__*/__webpack_require__.n(survey_core__WEBPACK_IMPORTED_MODULE_71__);
25171
25369
  var Version;
25172
- Version = "" + "1.9.114";
25370
+ Version = "" + "1.9.116";
25173
25371
  //should be loaded before other styles for easier override
25174
25372
  __webpack_require__(/*! ../utils/context-button.scss */ "./src/utils/context-button.scss");
25175
25373
 
@@ -25259,7 +25457,7 @@ __webpack_require__(/*! ../utils/design.scss */ "./src/utils/design.scss");
25259
25457
  __webpack_require__(/*! ../utils/layout.scss */ "./src/utils/layout.scss");
25260
25458
 
25261
25459
  survey_core__WEBPACK_IMPORTED_MODULE_71__["settings"].supportCreatorV2 = true;
25262
- Object(survey_core__WEBPACK_IMPORTED_MODULE_71__["checkLibraryVersion"])("" + "1.9.114", "survey-creator-core");
25460
+ Object(survey_core__WEBPACK_IMPORTED_MODULE_71__["checkLibraryVersion"])("" + "1.9.116", "survey-creator-core");
25263
25461
 
25264
25462
 
25265
25463
  /***/ }),
@@ -27468,6 +27666,8 @@ var enStrings = {
27468
27666
  translation: "Translation",
27469
27667
  saveSurvey: "Save Survey",
27470
27668
  saveSurveyTooltip: "Save Survey",
27669
+ saveTheme: "Save Theme",
27670
+ saveThemeTooltip: "Save Theme",
27471
27671
  designer: "Designer",
27472
27672
  jsonEditor: "JSON Editor",
27473
27673
  jsonHideErrors: "Hide errors",
@@ -28048,7 +28248,12 @@ var enStrings = {
28048
28248
  otherPlaceholder: "Comment area placeholder",
28049
28249
  signaturepad: {
28050
28250
  showPlaceholder: "Show the placeholder",
28051
- placeholder: "Placeholder text"
28251
+ placeholder: "Placeholder text",
28252
+ signatureWidth: "Signature area width",
28253
+ signatureHeight: "Signature area height",
28254
+ signatureAutoScaleEnabled: "Auto-scale the signature area",
28255
+ penMinWidth: "Minimum pen width",
28256
+ penMaxWidth: "Maximum pen width",
28052
28257
  },
28053
28258
  filePlaceholder: "File placeholder text",
28054
28259
  photoPlaceholder: "Photo placeholder text",
@@ -29318,6 +29523,7 @@ var propertyGridCss = {
29318
29523
  button: "spg-action-button spg-action-button--text",
29319
29524
  buttonRemove: "spg-action-button--danger",
29320
29525
  buttonAdd: "spg-paneldynamic__add-btn",
29526
+ panelWrapper: "spg-paneldynamic__panel-wrapper",
29321
29527
  progressTop: "spg-paneldynamic__progress spg-paneldynamic__progress--top",
29322
29528
  progressBottom: "spg-paneldynamic__progress spg-paneldynamic__progress--bottom",
29323
29529
  buttonPrev: "spg-paneldynamic__prev-btn",
@@ -35135,6 +35341,7 @@ var SurveyQuestionEditorDefinition = /** @class */ (function () {
35135
35341
  "placeholder",
35136
35342
  "requiredErrorText",
35137
35343
  "validators",
35344
+ { name: "defaultValueExpression", tab: "logic" },
35138
35345
  { name: "minValueExpression", tab: "logic" },
35139
35346
  { name: "maxValueExpression", tab: "logic" },
35140
35347
  ]
@@ -37084,6 +37291,28 @@ var SurveyTextWorkerJsonUnknownPropertyErrorFixer = /** @class */ (function (_su
37084
37291
  };
37085
37292
  return SurveyTextWorkerJsonUnknownPropertyErrorFixer;
37086
37293
  }(SurveyTextWorkerJsonErrorFixer));
37294
+ var SurveyTextWorkerJsonArrayPropertyErrorFixer = /** @class */ (function (_super) {
37295
+ Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(SurveyTextWorkerJsonArrayPropertyErrorFixer, _super);
37296
+ function SurveyTextWorkerJsonArrayPropertyErrorFixer(element, jsonObj, propertyName) {
37297
+ var _this = _super.call(this, element, jsonObj, propertyName) || this;
37298
+ _this.element = element;
37299
+ _this.jsonObj = jsonObj;
37300
+ _this.propertyName = propertyName;
37301
+ return _this;
37302
+ }
37303
+ Object.defineProperty(SurveyTextWorkerJsonArrayPropertyErrorFixer.prototype, "isFixable", {
37304
+ get: function () { return true; },
37305
+ enumerable: false,
37306
+ configurable: true
37307
+ });
37308
+ SurveyTextWorkerJsonArrayPropertyErrorFixer.prototype.updatedJsonObjOnFix = function (json) {
37309
+ var obj = json[this.propertyName];
37310
+ if (obj && !Array.isArray(obj)) {
37311
+ json[this.propertyName] = [obj];
37312
+ }
37313
+ };
37314
+ return SurveyTextWorkerJsonArrayPropertyErrorFixer;
37315
+ }(SurveyTextWorkerJsonUnknownPropertyErrorFixer));
37087
37316
  var SurveyTextWorkerJsonDuplicateNameErrorFixer = /** @class */ (function (_super) {
37088
37317
  Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(SurveyTextWorkerJsonDuplicateNameErrorFixer, _super);
37089
37318
  function SurveyTextWorkerJsonDuplicateNameErrorFixer() {
@@ -37142,6 +37371,8 @@ var SurveyTextWorkerJsonError = /** @class */ (function (_super) {
37142
37371
  SurveyTextWorkerJsonError.prototype.createFixer = function () {
37143
37372
  if (this.errorType === "unknownproperty")
37144
37373
  return new SurveyTextWorkerJsonUnknownPropertyErrorFixer(this.element, this.jsonObj, this.propertyName);
37374
+ if (this.errorType === "arrayproperty")
37375
+ return new SurveyTextWorkerJsonArrayPropertyErrorFixer(this.element, this.jsonObj, this.propertyName);
37145
37376
  if (this.errorType === "duplicatename")
37146
37377
  return new SurveyTextWorkerJsonDuplicateNameErrorFixer(this.element, this.jsonObj);
37147
37378
  if (this.errorType === "requiredproperty")
@@ -38700,7 +38931,7 @@ function copyObject(dst, src) {
38700
38931
  var source = src[key];
38701
38932
  if (typeof source === "object") {
38702
38933
  source = {};
38703
- this.copyObject(source, src[key]);
38934
+ copyObject(source, src[key]);
38704
38935
  }
38705
38936
  dst[key] = source;
38706
38937
  }