survey-creator-core 1.9.108 → 1.9.110

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.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * SurveyJS Creator v1.9.108
2
+ * SurveyJS Creator v1.9.110
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.108
133
+ * surveyjs - Survey JavaScript library v1.9.110
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
  */
@@ -9142,6 +9142,9 @@ var TabDesignerPlugin = /** @class */ (function () {
9142
9142
  }),
9143
9143
  action: function () {
9144
9144
  _this.selectSurvey();
9145
+ if (!_this.creator.isMobileView) {
9146
+ _this.creator.propertyGrid.getAllQuestions()[0].focus();
9147
+ }
9145
9148
  },
9146
9149
  active: this.isSettingsActive,
9147
9150
  pressed: this.isSettingsActive,
@@ -12001,6 +12004,7 @@ var logicCss = {
12001
12004
  },
12002
12005
  list: {
12003
12006
  root: "sv-list__container sl-list",
12007
+ itemBody: "sv-list__item-body sl-list__item-body"
12004
12008
  },
12005
12009
  embeddedsurvey: {
12006
12010
  mainRoot: "sl-embedded-survey"
@@ -13187,6 +13191,8 @@ __webpack_require__(/*! ./logic.scss */ "./src/components/tabs/logic.scss");
13187
13191
  function initLogicOperator(question) {
13188
13192
  question.popupModel.isFocusedContent = true;
13189
13193
  question.popupModel.setWidthByTarget = false;
13194
+ question.popupModel.positionMode = "flex";
13195
+ question.popupModel.showPointer = true;
13190
13196
  question.dropdownListModel["listModel"].searchEnabled = question.searchEnabled;
13191
13197
  }
13192
13198
  var LogicEvent = /** @class */ (function (_super) {
@@ -14044,6 +14050,12 @@ var TestSurveyTabViewModel = /** @class */ (function (_super) {
14044
14050
  newSurvey.setCss(theme, false);
14045
14051
  }
14046
14052
  newSurvey.fitToContainer = true;
14053
+ newSurvey.addLayoutElement({
14054
+ id: "complete-customization",
14055
+ container: "completePage",
14056
+ component: "svc-complete-page",
14057
+ data: this
14058
+ });
14047
14059
  this.simulator.survey = newSurvey;
14048
14060
  if (this.onSurveyCreatedCallback)
14049
14061
  this.onSurveyCreatedCallback(this.survey);
@@ -14364,7 +14376,9 @@ __webpack_require__.r(__webpack_exports__);
14364
14376
  /* harmony import */ var _creator_settings__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../creator-settings */ "./src/creator-settings.ts");
14365
14377
  /* harmony import */ var _theme_custom_questions_font_settings__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./theme-custom-questions/font-settings */ "./src/components/tabs/theme-custom-questions/font-settings.ts");
14366
14378
  /* 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");
14367
- /* harmony import */ var _themes__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./themes */ "./src/components/tabs/themes.ts");
14379
+ /* 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");
14380
+ /* harmony import */ var _themes__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./themes */ "./src/components/tabs/themes.ts");
14381
+
14368
14382
 
14369
14383
 
14370
14384
 
@@ -14388,7 +14402,8 @@ var ThemeBuilder = /** @class */ (function (_super) {
14388
14402
  _this.themeCssVariablesChanges = {};
14389
14403
  _this.colorCalculator = new _utils_utils__WEBPACK_IMPORTED_MODULE_6__["ColorCalculator"]();
14390
14404
  _this.blockChanges = false;
14391
- _this._availableThemes = _themes__WEBPACK_IMPORTED_MODULE_10__["PredefinedThemes"];
14405
+ _this._availableThemes = _themes__WEBPACK_IMPORTED_MODULE_11__["PredefinedThemes"];
14406
+ _this.prevQuestionValues = {};
14392
14407
  _this.onThemeSelected = new survey_core__WEBPACK_IMPORTED_MODULE_2__["EventBase"]();
14393
14408
  _this.onThemeModified = new survey_core__WEBPACK_IMPORTED_MODULE_2__["EventBase"]();
14394
14409
  _this.onCanModifyTheme = new survey_core__WEBPACK_IMPORTED_MODULE_2__["EventBase"]();
@@ -14396,6 +14411,7 @@ var ThemeBuilder = /** @class */ (function (_super) {
14396
14411
  _this.simulator = new _simulator__WEBPACK_IMPORTED_MODULE_1__["SurveySimulatorModel"]();
14397
14412
  _this.themeEditorSurveyValue = _this.createThemeEditorSurvey();
14398
14413
  _this.loadTheme(_this.surveyProvider.theme);
14414
+ _this.undoRedoManager = new _plugins_undo_redo_undo_redo_manager__WEBPACK_IMPORTED_MODULE_10__["UndoRedoManager"]();
14399
14415
  return _this;
14400
14416
  }
14401
14417
  Object.defineProperty(ThemeBuilder.prototype, "themeCssCustomizations", {
@@ -14461,6 +14477,13 @@ var ThemeBuilder = /** @class */ (function (_super) {
14461
14477
  enumerable: false,
14462
14478
  configurable: true
14463
14479
  });
14480
+ Object.defineProperty(ThemeBuilder.prototype, "currentThemeCssVariables", {
14481
+ get: function () {
14482
+ return this.currentTheme.cssVariables || {};
14483
+ },
14484
+ enumerable: false,
14485
+ configurable: true
14486
+ });
14464
14487
  ThemeBuilder.prototype.loadTheme = function (theme) {
14465
14488
  this.blockThemeChangedNotifications += 1;
14466
14489
  try {
@@ -14473,7 +14496,7 @@ var ThemeBuilder = /** @class */ (function (_super) {
14473
14496
  this.backgroundImageFit = theme.backgroundImageFit || this.backgroundImageFit;
14474
14497
  this.backgroundImageAttachment = theme.backgroundImageAttachment || this.backgroundImageAttachment;
14475
14498
  var effectiveThemeCssVariables = {};
14476
- Object(_utils_utils__WEBPACK_IMPORTED_MODULE_6__["assign"])(effectiveThemeCssVariables, _themes__WEBPACK_IMPORTED_MODULE_10__["Themes"]["default-light"].cssVariables || {}, this.findSuitableTheme(this.themeName).cssVariables || {});
14499
+ Object(_utils_utils__WEBPACK_IMPORTED_MODULE_6__["assign"])(effectiveThemeCssVariables, _themes__WEBPACK_IMPORTED_MODULE_11__["Themes"]["default-light"].cssVariables || {}, this.findSuitableTheme(this.themeName).cssVariables || {});
14477
14500
  Object(_utils_utils__WEBPACK_IMPORTED_MODULE_6__["assign"])(effectiveThemeCssVariables, theme.cssVariables || {}, this.themeCssVariablesChanges);
14478
14501
  var effectiveTheme = {};
14479
14502
  Object(_utils_utils__WEBPACK_IMPORTED_MODULE_6__["assign"])(effectiveTheme, theme, { cssVariables: effectiveThemeCssVariables });
@@ -14507,6 +14530,12 @@ var ThemeBuilder = /** @class */ (function (_super) {
14507
14530
  var newSurvey = this.surveyProvider.createSurvey(json || {}, "theme", this);
14508
14531
  newSurvey.setCss(theme, false);
14509
14532
  newSurvey.fitToContainer = true;
14533
+ newSurvey.addLayoutElement({
14534
+ id: "complete-customization",
14535
+ container: "completePage",
14536
+ component: "svc-complete-page",
14537
+ data: this
14538
+ });
14510
14539
  this.simulator.survey = newSurvey;
14511
14540
  this.updateSimulatorTheme();
14512
14541
  if (this.onSurveyCreatedCallback)
@@ -14556,6 +14585,7 @@ var ThemeBuilder = /** @class */ (function (_super) {
14556
14585
  try {
14557
14586
  this.setJSON(json, this.startThemeClasses);
14558
14587
  this.updatePageList();
14588
+ this.updatePropertyGridEditorsAvailability();
14559
14589
  if (options.showPagesInTestSurveyTab !== undefined) {
14560
14590
  this.showPagesInTestSurveyTab = options.showPagesInTestSurveyTab;
14561
14591
  }
@@ -14647,6 +14677,90 @@ var ThemeBuilder = /** @class */ (function (_super) {
14647
14677
  }
14648
14678
  this.colorCalculator.initialize(this.currentTheme.cssVariables["--sjs-primary-backcolor"], this.currentTheme.cssVariables["--sjs-primary-backcolor-light"], this.currentTheme.cssVariables["--sjs-primary-backcolor-dark"]);
14649
14679
  };
14680
+ ThemeBuilder.prototype.generalPropertiesChanged = function (options) {
14681
+ var _a;
14682
+ if (["themeName", "themeMode", "themePalette"].indexOf(options.name) !== -1) {
14683
+ if (options.name === "themeName") {
14684
+ this.loadTheme(this.findSuitableTheme(options.value) || (_a = {}, _a[options.name] = options.value, _a));
14685
+ }
14686
+ if (options.name === "themeMode") {
14687
+ this.loadTheme({ isPanelless: options.value === "lightweight" });
14688
+ }
14689
+ if (options.name === "themePalette") {
14690
+ this.loadTheme({ colorPalette: options.value });
14691
+ }
14692
+ this.updateSimulatorTheme();
14693
+ this.raiseThemeChanged();
14694
+ this.onThemeSelected.fire(this, { theme: this.currentTheme });
14695
+ this.surveyProvider.isThemePristine = Object.keys(this.themeCssVariablesChanges).length === 0;
14696
+ return true;
14697
+ }
14698
+ if (["backgroundImage", "backgroundImageFit", "backgroundImageAttachment", "backgroundOpacity"].indexOf(options.name) !== -1) {
14699
+ this[options.name] = options.value;
14700
+ this.raiseThemeChanged();
14701
+ this.raiseThemeModified(options);
14702
+ return true;
14703
+ }
14704
+ return false;
14705
+ };
14706
+ ThemeBuilder.prototype.cssVariablePropertiesChanged = function (options) {
14707
+ var _a, _b;
14708
+ if (options.name.indexOf("--") === 0) {
14709
+ this.setThemeCssVariablesChanges(options.name, options.value, options.question);
14710
+ }
14711
+ if (options.name == "commonScale") {
14712
+ this.survey.triggerResponsiveness(true);
14713
+ this.setThemeCssVariablesChanges("--sjs-base-unit", (options.value * 8 / 100) + "px", options.question);
14714
+ }
14715
+ if (options.name == "commonFontSize") {
14716
+ this.setThemeCssVariablesChanges("--sjs-font-size", (options.value * 16 / 100) + "px", options.question);
14717
+ }
14718
+ if (options.name == "cornerRadius") {
14719
+ this.setThemeCssVariablesChanges("--sjs-corner-radius", options.value + "px", options.question);
14720
+ }
14721
+ if (options.name === "questionBackgroundTransparency" || options.name === "editorPanel") {
14722
+ var baseColor = Object(_utils_utils__WEBPACK_IMPORTED_MODULE_6__["parseColor"])(this.themeEditorSurvey.getValue("--sjs-general-backcolor-dim-light")).color;
14723
+ var questionBackgroundTransparencyValue = this.themeEditorSurvey.getValue("questionBackgroundTransparency");
14724
+ this.setThemeCssVariablesChanges("--sjs-editor-background", Object(_utils_utils__WEBPACK_IMPORTED_MODULE_6__["ingectAlpha"])(baseColor, questionBackgroundTransparencyValue / 100), options.question);
14725
+ }
14726
+ if (options.name === "panelBackgroundTransparency" || options.name === "questionPanel") {
14727
+ var baseColor = Object(_utils_utils__WEBPACK_IMPORTED_MODULE_6__["parseColor"])(this.themeEditorSurvey.getValue("--sjs-general-backcolor")).color;
14728
+ var panelBackgroundTransparencyValue = this.themeEditorSurvey.getValue("panelBackgroundTransparency");
14729
+ this.setThemeCssVariablesChanges("--sjs-question-background", Object(_utils_utils__WEBPACK_IMPORTED_MODULE_6__["ingectAlpha"])(baseColor, panelBackgroundTransparencyValue / 100), options.question);
14730
+ }
14731
+ if (((_a = options.question) === null || _a === void 0 ? void 0 : _a.getType()) === "fontsettings") {
14732
+ Object(_theme_custom_questions_font_settings__WEBPACK_IMPORTED_MODULE_8__["fontsettingsToCssVariable"])(options.question, this.themeCssVariablesChanges);
14733
+ this.raiseThemeChanged();
14734
+ this.raiseThemeModified(options);
14735
+ }
14736
+ if (((_b = options.question) === null || _b === void 0 ? void 0 : _b.getType()) === "elementsettings") {
14737
+ Object(_theme_custom_questions_element_settings__WEBPACK_IMPORTED_MODULE_9__["elementSettingsToCssVariable"])(options.question, this.themeCssVariablesChanges);
14738
+ this.raiseThemeChanged();
14739
+ this.raiseThemeModified(options);
14740
+ }
14741
+ };
14742
+ ThemeBuilder.prototype.updateDependentQuestionValues = function (options) {
14743
+ if (options.name === "generalBackcolorDimColor") {
14744
+ this.themeEditorSurvey.setValue("--sjs-general-backcolor-dim", options.value);
14745
+ }
14746
+ if (options.name === "--sjs-general-backcolor-dim") {
14747
+ this.themeEditorSurvey.getQuestionByName("generalBackcolorDimColor").value = options.value;
14748
+ }
14749
+ if (options.name === "generalPrimaryColor") {
14750
+ this.themeEditorSurvey.setValue("--sjs-primary-backcolor", options.value);
14751
+ }
14752
+ if (options.name === "--sjs-primary-backcolor") {
14753
+ this.colorCalculator.calculateColors(options.value);
14754
+ this.themeEditorSurvey.setValue("--sjs-primary-backcolor-light", this.colorCalculator.colorSettings.newColorLight);
14755
+ this.themeEditorSurvey.setValue("--sjs-primary-backcolor-dark", this.colorCalculator.colorSettings.newColorDark);
14756
+ this.themeEditorSurvey.getQuestionByName("generalPrimaryColor").value = options.value;
14757
+ }
14758
+ };
14759
+ ThemeBuilder.prototype.setThemeCssVariablesChanges = function (variableName, value, question) {
14760
+ this.themeCssVariablesChanges[variableName] = value;
14761
+ this.raiseThemeChanged();
14762
+ this.raiseThemeModified({ name: variableName, value: value, question: question });
14763
+ };
14650
14764
  ThemeBuilder.prototype.createThemeEditorSurvey = function () {
14651
14765
  var _this = this;
14652
14766
  var json = this.getThemeEditorSurveyJSON();
@@ -14657,78 +14771,35 @@ var ThemeBuilder = /** @class */ (function (_super) {
14657
14771
  themeBuilderCss.root += " spg-theme-builder-root";
14658
14772
  themeEditorSurvey.css = themeBuilderCss;
14659
14773
  themeEditorSurvey.enterKeyAction = "loseFocus";
14660
- themeEditorSurvey.onValueChanged.add(function (sender, options) {
14661
- var _a;
14662
- var _b, _c;
14774
+ themeEditorSurvey.onValueChanging.add(function (sender, options) {
14663
14775
  if (_this.blockChanges)
14664
14776
  return;
14665
- if (["themeName", "themeMode", "themePalette"].indexOf(options.name) !== -1) {
14666
- if (options.name === "themeName") {
14667
- _this.loadTheme(_this.findSuitableTheme(options.value) || (_a = {}, _a[options.name] = options.value, _a));
14668
- }
14669
- if (options.name === "themeMode") {
14670
- _this.loadTheme({ isPanelless: options.value === "lightweight" });
14671
- }
14672
- if (options.name === "themePalette") {
14673
- _this.loadTheme({ colorPalette: options.value });
14674
- }
14675
- _this.updateSimulatorTheme();
14676
- _this.raiseThemeChanged();
14677
- _this.onThemeSelected.fire(_this, { theme: _this.currentTheme });
14678
- _this.surveyProvider.isThemePristine = Object.keys(_this.themeCssVariablesChanges).length === 0;
14679
- return;
14680
- }
14681
- if (["backgroundImage", "backgroundImageFit", "backgroundImageAttachment"].indexOf(options.name) !== -1) {
14682
- _this[options.name] = options.value;
14683
- _this.raiseThemeChanged();
14684
- _this.raiseThemeModified(options);
14777
+ _this.prevQuestionValues[options.name] = options.oldValue;
14778
+ });
14779
+ themeEditorSurvey.onValueChanged.add(function (sender, options) {
14780
+ if (_this.blockChanges)
14685
14781
  return;
14782
+ if (_this.blockThemeChangedNotifications == 0) {
14783
+ _this.undoRedoManager.startTransaction(options.name + " changed");
14686
14784
  }
14687
- if (options.name === "backgroundOpacity") {
14688
- _this.currentTheme.backgroundOpacity = options.value / 100;
14689
- _this.survey.backgroundOpacity = options.value / 100;
14690
- _this.raiseThemeChanged();
14691
- _this.raiseThemeModified(options);
14785
+ _this.undoRedoManager.onPropertyValueChanged("value", _this.prevQuestionValues[options.name], options.value, options.question, undefined);
14786
+ if (_this.generalPropertiesChanged(options)) {
14787
+ if (_this.blockThemeChangedNotifications == 0) {
14788
+ _this.undoRedoManager.stopTransaction();
14789
+ }
14692
14790
  return;
14693
14791
  }
14694
- if (options.name.indexOf("--") === 0) {
14695
- _this.themeCssVariablesChanges[options.name] = options.value;
14696
- _this.raiseThemeChanged();
14697
- }
14792
+ _this.cssVariablePropertiesChanged(options);
14698
14793
  _this.blockThemeChangedNotifications += 1;
14699
- if (options.name == "commonScale") {
14700
- _this.survey.triggerResponsiveness(true);
14701
- }
14702
- if (options.name === "--sjs-primary-backcolor") {
14703
- _this.colorCalculator.calculateColors(options.value);
14704
- _this.themeCssVariablesChanges["--sjs-primary-backcolor"] = options.value;
14705
- _this.themeCssVariablesChanges["--sjs-primary-backcolor-light"] = _this.colorCalculator.colorSettings.newColorLight;
14706
- _this.themeCssVariablesChanges["--sjs-primary-backcolor-dark"] = _this.colorCalculator.colorSettings.newColorDark;
14707
- _this.themeEditorSurvey.setValue("--sjs-primary-backcolor-light", _this.colorCalculator.colorSettings.newColorLight);
14708
- _this.themeEditorSurvey.setValue("--sjs-primary-backcolor-dark", _this.colorCalculator.colorSettings.newColorDark);
14709
- }
14710
- if (options.name === "questionBackgroundTransparency" || options.name === "editorPanel") {
14711
- var baseColor = Object(_utils_utils__WEBPACK_IMPORTED_MODULE_6__["parseColor"])(themeEditorSurvey.getValue("--sjs-general-backcolor-dim-light")).color;
14712
- var questionBackgroundTransparencyValue = themeEditorSurvey.getValue("questionBackgroundTransparency");
14713
- _this.themeCssVariablesChanges["--sjs-editor-background"] = Object(_utils_utils__WEBPACK_IMPORTED_MODULE_6__["ingectAlpha"])(baseColor, questionBackgroundTransparencyValue / 100);
14714
- }
14715
- if (options.name === "panelBackgroundTransparency" || options.name === "questionPanel") {
14716
- var baseColor = Object(_utils_utils__WEBPACK_IMPORTED_MODULE_6__["parseColor"])(themeEditorSurvey.getValue("--sjs-general-backcolor")).color;
14717
- var panelBackgroundTransparencyValue = themeEditorSurvey.getValue("panelBackgroundTransparency");
14718
- _this.themeCssVariablesChanges["--sjs-question-background"] = Object(_utils_utils__WEBPACK_IMPORTED_MODULE_6__["ingectAlpha"])(baseColor, panelBackgroundTransparencyValue / 100);
14719
- }
14720
- if (((_b = options.question) === null || _b === void 0 ? void 0 : _b.getType()) === "fontsettings") {
14721
- Object(_theme_custom_questions_font_settings__WEBPACK_IMPORTED_MODULE_8__["fontsettingsToCssVariable"])(options.question, _this.themeCssVariablesChanges);
14722
- }
14723
- if (((_c = options.question) === null || _c === void 0 ? void 0 : _c.getType()) === "elementsettings") {
14724
- Object(_theme_custom_questions_element_settings__WEBPACK_IMPORTED_MODULE_9__["elementSettingsToCssVariable"])(options.question, _this.themeCssVariablesChanges);
14725
- }
14794
+ _this.updateDependentQuestionValues(options);
14726
14795
  var newCssVariables = {};
14727
14796
  Object(_utils_utils__WEBPACK_IMPORTED_MODULE_6__["assign"])(newCssVariables, _this.currentTheme.cssVariables, _this.themeCssVariablesChanges);
14728
14797
  _this.currentTheme.cssVariables = newCssVariables;
14729
- _this.blockThemeChangedNotifications -= 1;
14730
14798
  _this.updateSimulatorTheme();
14731
- _this.raiseThemeModified(options);
14799
+ _this.blockThemeChangedNotifications -= 1;
14800
+ if (!!_this.undoRedoManager && _this.blockThemeChangedNotifications == 0) {
14801
+ _this.undoRedoManager.stopTransaction();
14802
+ }
14732
14803
  });
14733
14804
  themeEditorSurvey.onUploadFiles.add(function (_, options) {
14734
14805
  var callback = function (status, data) { return options.callback(status, [{ content: data, file: options.files[0] }]); };
@@ -14741,12 +14812,12 @@ var ThemeBuilder = /** @class */ (function (_super) {
14741
14812
  return themeEditorSurvey;
14742
14813
  };
14743
14814
  ThemeBuilder.prototype.findSuitableTheme = function (themeName) {
14744
- var probeThemeFullName = Object(_themes__WEBPACK_IMPORTED_MODULE_10__["getThemeFullName"])({ themeName: themeName, colorPalette: this.themePalette, isPanelless: this.themeMode === "lightweight" });
14745
- var suitableTheme = _themes__WEBPACK_IMPORTED_MODULE_10__["Themes"][probeThemeFullName];
14815
+ var probeThemeFullName = Object(_themes__WEBPACK_IMPORTED_MODULE_11__["getThemeFullName"])({ themeName: themeName, colorPalette: this.themePalette, isPanelless: this.themeMode === "lightweight" });
14816
+ var suitableTheme = _themes__WEBPACK_IMPORTED_MODULE_11__["Themes"][probeThemeFullName];
14746
14817
  if (!!suitableTheme) {
14747
14818
  return suitableTheme;
14748
14819
  }
14749
- var appropriateThemeNames = Object.keys(_themes__WEBPACK_IMPORTED_MODULE_10__["Themes"]).filter(function (fullName) { return fullName.indexOf(themeName) === 0; });
14820
+ var appropriateThemeNames = Object.keys(_themes__WEBPACK_IMPORTED_MODULE_11__["Themes"]).filter(function (fullName) { return fullName.indexOf(themeName) === 0; });
14750
14821
  for (var _i = 0, appropriateThemeNames_1 = appropriateThemeNames; _i < appropriateThemeNames_1.length; _i++) {
14751
14822
  var fullThemeName = appropriateThemeNames_1[_i];
14752
14823
  if (fullThemeName.indexOf(themeName + "-" + this.themePalette) === 0) {
@@ -14756,7 +14827,7 @@ var ThemeBuilder = /** @class */ (function (_super) {
14756
14827
  probeThemeFullName = themeName + "-" + this.themePalette + (this.themeMode === "lightweight" ? "-panelless" : "");
14757
14828
  }
14758
14829
  }
14759
- return _themes__WEBPACK_IMPORTED_MODULE_10__["Themes"][probeThemeFullName] || _themes__WEBPACK_IMPORTED_MODULE_10__["Themes"][appropriateThemeNames[0]];
14830
+ return _themes__WEBPACK_IMPORTED_MODULE_11__["Themes"][probeThemeFullName] || _themes__WEBPACK_IMPORTED_MODULE_11__["Themes"][appropriateThemeNames[0]];
14760
14831
  };
14761
14832
  ThemeBuilder.prototype.loadThemeIntoPropertyGrid = function () {
14762
14833
  this.blockChanges = true;
@@ -14767,27 +14838,32 @@ var ThemeBuilder = /** @class */ (function (_super) {
14767
14838
  this.themeEditorSurvey.setValue("themeMode", this.themeMode);
14768
14839
  this.themeEditorSurvey.setValue("themePalette", this.themePalette);
14769
14840
  this.updatePropertyGridEditors(this.themeEditorSurvey);
14770
- this.updatePropertyGridEditorsAvailability(this.themeEditorSurvey);
14841
+ this.updatePropertyGridEditorsAvailability();
14771
14842
  }
14772
14843
  finally {
14773
14844
  this.blockChanges = false;
14774
14845
  }
14775
14846
  };
14776
- ThemeBuilder.prototype.updatePropertyGridEditorsAvailability = function (themeEditorSurvey) {
14777
- var isCustomTheme = _themes__WEBPACK_IMPORTED_MODULE_10__["PredefinedThemes"].indexOf(this.themeName) === -1;
14778
- themeEditorSurvey.getQuestionByName("themeMode").readOnly = isCustomTheme;
14779
- themeEditorSurvey.getQuestionByName("themePalette").readOnly = isCustomTheme;
14847
+ ThemeBuilder.prototype.updatePropertyGridEditorsAvailability = function () {
14848
+ var isCustomTheme = _themes__WEBPACK_IMPORTED_MODULE_11__["PredefinedThemes"].indexOf(this.themeName) === -1;
14849
+ this.themeEditorSurvey.getQuestionByName("themeMode").readOnly = isCustomTheme;
14850
+ this.themeEditorSurvey.getQuestionByName("themePalette").readOnly = isCustomTheme;
14780
14851
  var canModify = !this.surveyProvider.readOnly;
14781
14852
  var options = {
14782
14853
  theme: this.currentTheme,
14783
14854
  canModify: canModify
14784
14855
  };
14785
14856
  this.onCanModifyTheme.fire(this, options);
14786
- themeEditorSurvey.getAllQuestions().forEach(function (q) {
14857
+ this.themeEditorSurvey.getAllQuestions().forEach(function (q) {
14787
14858
  if (["themeName", "themePalette", "themeMode"].indexOf(q.name) === -1) {
14788
14859
  q.readOnly = !options.canModify;
14789
14860
  }
14790
14861
  });
14862
+ if (!!this.survey) {
14863
+ this.themeEditorSurvey.getQuestionByName("surveyTitle").readOnly = !this.survey.hasTitle;
14864
+ this.themeEditorSurvey.getQuestionByName("pageTitle").readOnly = !this.survey.pages.some(function (p) { return !!p.title; });
14865
+ this.themeEditorSurvey.getQuestionByName("pageDescription").readOnly = !this.survey.pages.some(function (p) { return !!p.description; });
14866
+ }
14791
14867
  };
14792
14868
  ThemeBuilder.prototype.updatePropertyGridEditors = function (themeEditorSurvey) {
14793
14869
  var _this = this;
@@ -14796,6 +14872,8 @@ var ThemeBuilder = /** @class */ (function (_super) {
14796
14872
  themeEditorSurvey.getQuestionByName("backgroundImage").value = this.backgroundImage;
14797
14873
  themeEditorSurvey.getQuestionByName("backgroundImageFit").value = this.backgroundImageFit;
14798
14874
  themeEditorSurvey.getQuestionByName("backgroundImageAttachment").value = this.backgroundImageAttachment;
14875
+ themeEditorSurvey.getQuestionByName("generalPrimaryColor").value = themeEditorSurvey.getQuestionByName("--sjs-primary-backcolor").value;
14876
+ themeEditorSurvey.getQuestionByName("generalBackcolorDimColor").value = themeEditorSurvey.getQuestionByName("--sjs-general-backcolor-dim").value;
14799
14877
  Object(_theme_custom_questions_element_settings__WEBPACK_IMPORTED_MODULE_9__["elementSettingsFromCssVariable"])(themeEditorSurvey.getQuestionByName("questionPanel"), newCssVariables, newCssVariables["--sjs-general-backcolor"], newCssVariables["--sjs-general-backcolor-dark"]);
14800
14878
  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"]);
14801
14879
  Object(_theme_custom_questions_font_settings__WEBPACK_IMPORTED_MODULE_8__["fontsettingsFromCssVariable"])(themeEditorSurvey.getQuestionByName("surveyTitle"), newCssVariables);
@@ -14815,7 +14893,7 @@ var ThemeBuilder = /** @class */ (function (_super) {
14815
14893
  }
14816
14894
  themeEditorSurvey.getAllQuestions().forEach(function (question) {
14817
14895
  if (["color", "colorsettings"].indexOf(question.getType()) !== -1) {
14818
- question.choices = Object.keys(_themes__WEBPACK_IMPORTED_MODULE_10__["PredefinedColors"][_this.themePalette]).map(function (colorName) { return new survey_core__WEBPACK_IMPORTED_MODULE_2__["ItemValue"](_themes__WEBPACK_IMPORTED_MODULE_10__["PredefinedColors"][_this.themePalette][colorName], Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.colors." + colorName)); });
14896
+ question.choices = Object.keys(_themes__WEBPACK_IMPORTED_MODULE_11__["PredefinedColors"][_this.themePalette]).map(function (colorName) { return new survey_core__WEBPACK_IMPORTED_MODULE_2__["ItemValue"](_themes__WEBPACK_IMPORTED_MODULE_11__["PredefinedColors"][_this.themePalette][colorName], Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.colors." + colorName)); });
14819
14897
  }
14820
14898
  });
14821
14899
  };
@@ -14881,13 +14959,13 @@ var ThemeBuilder = /** @class */ (function (_super) {
14881
14959
  elements: [
14882
14960
  {
14883
14961
  type: "color",
14884
- name: "--sjs-primary-backcolor",
14962
+ name: "generalPrimaryColor",
14885
14963
  title: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.primaryColor"),
14886
14964
  descriptionLocation: "hidden",
14887
14965
  },
14888
14966
  {
14889
14967
  type: "color",
14890
- name: "--sjs-general-backcolor-dim",
14968
+ name: "generalBackcolorDimColor",
14891
14969
  title: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.backgroundDimColor"),
14892
14970
  descriptionLocation: "hidden",
14893
14971
  },
@@ -14988,12 +15066,6 @@ var ThemeBuilder = /** @class */ (function (_super) {
14988
15066
  min: 0,
14989
15067
  step: 5
14990
15068
  },
14991
- {
14992
- type: "expression",
14993
- name: "--sjs-font-size",
14994
- expression: "{commonFontSize}*16/100+\"px\"",
14995
- visible: false
14996
- },
14997
15069
  ]
14998
15070
  }, {
14999
15071
  type: "panel",
@@ -15008,12 +15080,6 @@ var ThemeBuilder = /** @class */ (function (_super) {
15008
15080
  min: 0,
15009
15081
  step: 5
15010
15082
  },
15011
- {
15012
- type: "expression",
15013
- name: "--sjs-base-unit",
15014
- expression: "{commonScale}*8/100+\"px\"",
15015
- visible: false
15016
- },
15017
15083
  {
15018
15084
  type: "spinedit",
15019
15085
  name: "cornerRadius",
@@ -15023,12 +15089,6 @@ var ThemeBuilder = /** @class */ (function (_super) {
15023
15089
  defaultValue: 4,
15024
15090
  min: 0
15025
15091
  },
15026
- {
15027
- type: "expression",
15028
- name: "--sjs-corner-radius",
15029
- expression: "{cornerRadius}+\"px\"",
15030
- visible: false
15031
- },
15032
15092
  ]
15033
15093
  }
15034
15094
  ]
@@ -15107,7 +15167,6 @@ var ThemeBuilder = /** @class */ (function (_super) {
15107
15167
  descriptionLocation: "hidden",
15108
15168
  defaultValue: {
15109
15169
  family: _creator_settings__WEBPACK_IMPORTED_MODULE_7__["settings"].theme.fontFamily,
15110
- color: "rgba(22, 22, 22, 1)",
15111
15170
  weight: "700",
15112
15171
  size: 32
15113
15172
  }
@@ -15118,7 +15177,7 @@ var ThemeBuilder = /** @class */ (function (_super) {
15118
15177
  descriptionLocation: "hidden",
15119
15178
  defaultValue: {
15120
15179
  family: _creator_settings__WEBPACK_IMPORTED_MODULE_7__["settings"].theme.fontFamily,
15121
- color: "rgba(22, 22, 22, 1)",
15180
+ color: "rgba(0, 0, 0, 0.91)",
15122
15181
  weight: "700",
15123
15182
  size: 24
15124
15183
  }
@@ -15129,7 +15188,7 @@ var ThemeBuilder = /** @class */ (function (_super) {
15129
15188
  descriptionLocation: "hidden",
15130
15189
  defaultValue: {
15131
15190
  family: _creator_settings__WEBPACK_IMPORTED_MODULE_7__["settings"].theme.fontFamily,
15132
- color: "rgba(22, 22, 22, 1)",
15191
+ color: "rgba(0, 0, 0, 0.45)",
15133
15192
  weight: "400",
15134
15193
  size: 16
15135
15194
  }
@@ -15146,6 +15205,7 @@ var ThemeBuilder = /** @class */ (function (_super) {
15146
15205
  defaultValue: {
15147
15206
  backcolor: "rgba(255, 255, 255, 1)",
15148
15207
  hovercolor: "rgba(248, 248, 248, 1)",
15208
+ cornerRadius: "4px",
15149
15209
  corner: 4
15150
15210
  }
15151
15211
  },
@@ -15177,7 +15237,7 @@ var ThemeBuilder = /** @class */ (function (_super) {
15177
15237
  descriptionLocation: "hidden",
15178
15238
  defaultValue: {
15179
15239
  family: _creator_settings__WEBPACK_IMPORTED_MODULE_7__["settings"].theme.fontFamily,
15180
- color: "rgba(22, 22, 22, 1)",
15240
+ color: "rgba(0, 0, 0, 0.91)",
15181
15241
  weight: "600",
15182
15242
  size: 16,
15183
15243
  }
@@ -15188,7 +15248,7 @@ var ThemeBuilder = /** @class */ (function (_super) {
15188
15248
  descriptionLocation: "hidden",
15189
15249
  defaultValue: {
15190
15250
  family: _creator_settings__WEBPACK_IMPORTED_MODULE_7__["settings"].theme.fontFamily,
15191
- color: "rgba(22, 22, 22, 1)",
15251
+ color: "rgba(0, 0, 0, 0.45)",
15192
15252
  weight: "400",
15193
15253
  size: 16
15194
15254
  }
@@ -15205,6 +15265,7 @@ var ThemeBuilder = /** @class */ (function (_super) {
15205
15265
  defaultValue: {
15206
15266
  backcolor: "rgba(255, 255, 255, 1)",
15207
15267
  hovercolor: "rgba(248, 248, 248, 1)",
15268
+ cornerRadius: "4px",
15208
15269
  corner: 4
15209
15270
  }
15210
15271
  },
@@ -15235,7 +15296,7 @@ var ThemeBuilder = /** @class */ (function (_super) {
15235
15296
  descriptionLocation: "hidden",
15236
15297
  defaultValue: {
15237
15298
  family: _creator_settings__WEBPACK_IMPORTED_MODULE_7__["settings"].theme.fontFamily,
15238
- color: "rgba(22, 22, 22, 1)",
15299
+ color: "rgba(0, 0, 0, 0.91)",
15239
15300
  weight: "400",
15240
15301
  size: 16
15241
15302
  }
@@ -15354,6 +15415,16 @@ var ThemeBuilder = /** @class */ (function (_super) {
15354
15415
  }
15355
15416
  })
15356
15417
  ], ThemeBuilder.prototype, "backgroundImageAttachment", void 0);
15418
+ Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([
15419
+ Object(survey_core__WEBPACK_IMPORTED_MODULE_2__["property"])({
15420
+ onSet: function (newValue, _target) {
15421
+ if (!!_target.survey) {
15422
+ _target.survey.backgroundOpacity = newValue / 100;
15423
+ }
15424
+ _target.currentTheme["backgroundOpacity"] = newValue / 100;
15425
+ }
15426
+ })
15427
+ ], ThemeBuilder.prototype, "backgroundOpacity", void 0);
15357
15428
  Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([
15358
15429
  Object(survey_core__WEBPACK_IMPORTED_MODULE_2__["property"])({ defaultValue: "default" })
15359
15430
  ], ThemeBuilder.prototype, "themeName", void 0);
@@ -15622,7 +15693,13 @@ function elementSettingsToCssVariable(question, themeCssVariables) {
15622
15693
  Object.keys(question.value).forEach(function (key) {
15623
15694
  if (key === "corner")
15624
15695
  return;
15625
- themeCssVariables["--sjs-" + question.name.toLocaleLowerCase() + "-" + key] = question.value[key];
15696
+ var propertyName = "--sjs-" + question.name.toLocaleLowerCase() + "-" + key;
15697
+ if (question.value[key] !== question.defaultValue[key]) {
15698
+ themeCssVariables[propertyName] = question.value[key];
15699
+ }
15700
+ else {
15701
+ delete themeCssVariables[propertyName];
15702
+ }
15626
15703
  });
15627
15704
  }
15628
15705
  function elementSettingsFromCssVariable(question, themeCssVariables, defaultBackcolorVariable, defaultHovercolorVariable) {
@@ -15744,7 +15821,13 @@ function fontsettingsToCssVariable(question, themeCssVariables) {
15744
15821
  Object.keys(question.value).forEach(function (key) {
15745
15822
  var _a;
15746
15823
  var innerQ = question.contentPanel.getQuestionByName(key);
15747
- themeCssVariables["--sjs-font-" + question.name.toLocaleLowerCase() + "-" + key] = question.value[key] + (((_a = innerQ.unit) === null || _a === void 0 ? void 0 : _a.toString()) || "");
15824
+ var propertyName = "--sjs-font-" + question.name.toLocaleLowerCase() + "-" + key;
15825
+ if (question.value[key] !== question.defaultValue[key]) {
15826
+ themeCssVariables[propertyName] = question.value[key] + (((_a = innerQ.unit) === null || _a === void 0 ? void 0 : _a.toString()) || "");
15827
+ }
15828
+ else {
15829
+ delete themeCssVariables[propertyName];
15830
+ }
15748
15831
  });
15749
15832
  }
15750
15833
  function fontsettingsFromCssVariable(question, themeCssVariables, defaultColorVariable, defaultPlaceholderColorVariable) {
@@ -15842,6 +15925,10 @@ var ThemeTabPlugin = /** @class */ (function () {
15842
15925
  this.model.testAgainAction = this.testAgainAction;
15843
15926
  this.model.availableThemes = this.availableThemes;
15844
15927
  this.model.initialize(this.creator.JSON, options);
15928
+ this.updateUndeRedoActions();
15929
+ this.model.undoRedoManager.canUndoRedoCallback = function () {
15930
+ _this.updateUndeRedoActions();
15931
+ };
15845
15932
  this.model.show();
15846
15933
  this.model.onPropertyChanged.add(function (sender, options) {
15847
15934
  if (options.name === "isRunning") {
@@ -15906,6 +15993,24 @@ var ThemeTabPlugin = /** @class */ (function () {
15906
15993
  _this.model.testAgain();
15907
15994
  }
15908
15995
  });
15996
+ this.undoAction = new survey_core__WEBPACK_IMPORTED_MODULE_0__["Action"]({
15997
+ id: "action-undo-theme",
15998
+ iconName: "icon-undo",
15999
+ locTitleName: "ed.undo",
16000
+ showTitle: false,
16001
+ visible: new survey_core__WEBPACK_IMPORTED_MODULE_0__["ComputedUpdater"](function () { return _this.creator.activeTab === "theme"; }),
16002
+ action: function () { return _this.undo(); }
16003
+ });
16004
+ this.redoAction = new survey_core__WEBPACK_IMPORTED_MODULE_0__["Action"]({
16005
+ id: "action-redo-theme",
16006
+ iconName: "icon-redo",
16007
+ locTitleName: "ed.redo",
16008
+ showTitle: false,
16009
+ visible: new survey_core__WEBPACK_IMPORTED_MODULE_0__["ComputedUpdater"](function () { return _this.creator.activeTab === "theme"; }),
16010
+ action: function () { return _this.redo(); }
16011
+ });
16012
+ items.push(this.undoAction);
16013
+ items.push(this.redoAction);
15909
16014
  this.resetTheme = new survey_core__WEBPACK_IMPORTED_MODULE_0__["Action"]({
15910
16015
  id: "resetTheme",
15911
16016
  iconName: "icon-reset",
@@ -15978,7 +16083,33 @@ var ThemeTabPlugin = /** @class */ (function () {
15978
16083
  items.push(this.exportAction);
15979
16084
  return items;
15980
16085
  };
16086
+ ThemeTabPlugin.prototype.undo = function () {
16087
+ var _undoRedoManager = this.model && this.model.undoRedoManager;
16088
+ if (!_undoRedoManager)
16089
+ return;
16090
+ _undoRedoManager.suspend();
16091
+ if (_undoRedoManager.canUndo()) {
16092
+ _undoRedoManager.undo();
16093
+ }
16094
+ _undoRedoManager.resume();
16095
+ };
16096
+ ThemeTabPlugin.prototype.redo = function () {
16097
+ var _undoRedoManager = this.model && this.model.undoRedoManager;
16098
+ if (!_undoRedoManager)
16099
+ return;
16100
+ _undoRedoManager.suspend();
16101
+ if (_undoRedoManager.canRedo()) {
16102
+ _undoRedoManager.redo();
16103
+ }
16104
+ _undoRedoManager.resume();
16105
+ };
16106
+ ThemeTabPlugin.prototype.updateUndeRedoActions = function () {
16107
+ var _undoRedoManager = this.model.undoRedoManager;
16108
+ this.undoAction.enabled = _undoRedoManager.canUndo();
16109
+ this.redoAction.enabled = _undoRedoManager.canRedo();
16110
+ };
15981
16111
  ThemeTabPlugin.prototype.addFooterActions = function () {
16112
+ this.creator.footerToolbar.actions.push(this.testAgainAction);
15982
16113
  this.creator.footerToolbar.actions.push(this.resetTheme);
15983
16114
  };
15984
16115
  Object.defineProperty(ThemeTabPlugin.prototype, "availableThemes", {
@@ -18603,45 +18734,45 @@ var CreatorBase = /** @class */ (function (_super) {
18603
18734
  *
18604
18735
  * Depending on the `options.type` value, the `options` object contains parameters listed below:
18605
18736
  *
18606
- * `options.type`: `"ADDED_FROM_TOOLBOX"`\
18737
+ * `options.type`: `"ADDED_FROM_TOOLBOX"`
18607
18738
  * - `options.question` - An added question.
18608
18739
  *
18609
- * `options.type`: `"PAGE_ADDED"`\
18740
+ * `options.type`: `"PAGE_ADDED"`
18610
18741
  * - `options.newValue` - An added page.
18611
18742
  *
18612
- * `options.type`: `"PAGE_MOVED"`\
18743
+ * `options.type`: `"PAGE_MOVED"`
18613
18744
  * - `options.page` - A moved page.
18614
18745
  * - `options.indexFrom` - A previous index.
18615
18746
  * - `options.indexTo` - A current index.
18616
18747
  *
18617
- * `options.type`: `"QUESTION_CONVERTED"`\
18748
+ * `options.type`: `"QUESTION_CONVERTED"`
18618
18749
  * - `options.className` - The name of a class to which a question has been converted.
18619
18750
  * - `options.oldValue` - An object of a previous class.
18620
18751
  * - `options.newValue` - An object of a class specified by `options.className`.
18621
18752
  *
18622
- * `options.type`: `"QUESTION_CHANGED_BY_EDITOR"`\
18753
+ * `options.type`: `"QUESTION_CHANGED_BY_EDITOR"`
18623
18754
  * - `options.question` - A question that has been edited in a pop-up editor.
18624
18755
  *
18625
- * `options.type`: `"PROPERTY_CHANGED"`\
18756
+ * `options.type`: `"PROPERTY_CHANGED"`
18626
18757
  * - `options.name` - The name of the changed property.
18627
18758
  * - `options.target` - An object that contains the changed property.
18628
18759
  * - `options.oldValue` - A previous value of the changed property.
18629
18760
  * - `options.newValue` - A new value of the changed property.
18630
18761
  *
18631
- * `options.type`: `"ELEMENT_REORDERED"`\
18762
+ * `options.type`: `"ELEMENT_REORDERED"`
18632
18763
  * - `options.arrayName` - The name of the changed array.
18633
18764
  * - `options.parent` - An object that contains the changed array.
18634
18765
  * - `options.element` - A reordered element.
18635
18766
  * - `options.indexFrom` - A previous index.
18636
18767
  * - `options.indexTo` - A current index.
18637
18768
  *
18638
- * `options.type`: `"OBJECT_DELETED"`\
18769
+ * `options.type`: `"OBJECT_DELETED"`
18639
18770
  * - `options.target` - A deleted object.
18640
18771
  *
18641
- * `options.type`: `"VIEW_TYPE_CHANGED"`\
18772
+ * `options.type`: `"VIEW_TYPE_CHANGED"`
18642
18773
  * - `options.newType` - A current view: `"editor"` or `"designer"`.
18643
18774
  *
18644
- * `options.type`: `"DO_DROP"`\
18775
+ * `options.type`: `"DO_DROP"`
18645
18776
  * - `options.page` - A parent page of the dragged element.
18646
18777
  * - `options.source` - A dragged element.
18647
18778
  * - `options.target` - A drop target.
@@ -23834,7 +23965,7 @@ __webpack_require__.r(__webpack_exports__);
23834
23965
  /* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_71__ = __webpack_require__(/*! survey-core */ "survey-core");
23835
23966
  /* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_71___default = /*#__PURE__*/__webpack_require__.n(survey_core__WEBPACK_IMPORTED_MODULE_71__);
23836
23967
  var Version;
23837
- Version = "" + "1.9.108";
23968
+ Version = "" + "1.9.110";
23838
23969
  //should be loaded before other styles for easier override
23839
23970
  __webpack_require__(/*! ../utils/context-button.scss */ "./src/utils/context-button.scss");
23840
23971
 
@@ -23924,7 +24055,7 @@ __webpack_require__(/*! ../utils/design.scss */ "./src/utils/design.scss");
23924
24055
  __webpack_require__(/*! ../utils/layout.scss */ "./src/utils/layout.scss");
23925
24056
 
23926
24057
  survey_core__WEBPACK_IMPORTED_MODULE_71__["settings"].supportCreatorV2 = true;
23927
- Object(survey_core__WEBPACK_IMPORTED_MODULE_71__["checkLibraryVersion"])("" + "1.9.108", "survey-creator-core");
24058
+ Object(survey_core__WEBPACK_IMPORTED_MODULE_71__["checkLibraryVersion"])("" + "1.9.110", "survey-creator-core");
23928
24059
 
23929
24060
 
23930
24061
  /***/ }),
@@ -26670,6 +26801,9 @@ var enStrings = {
26670
26801
  pv: {
26671
26802
  "true": "true",
26672
26803
  "false": "false",
26804
+ "file": "Local files",
26805
+ "camera": "Camera",
26806
+ "file-camera": "Local files or camera",
26673
26807
  inherit: "Inherit",
26674
26808
  show: "Visible",
26675
26809
  hide: "Hidden",
@@ -33255,6 +33389,7 @@ var SurveyQuestionEditorDefinition = /** @class */ (function () {
33255
33389
  },
33256
33390
  file: {
33257
33391
  properties: [
33392
+ "sourceType",
33258
33393
  "allowMultiple",
33259
33394
  "allowImagesPreview",
33260
33395
  "acceptedTypes",