survey-creator-core 1.9.121 → 1.9.122

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 (85) hide show
  1. package/README.md +5 -1
  2. package/fonts.fontless.css +1 -1
  3. package/fonts.fontless.min.css +1 -1
  4. package/i18n/arabic.js +1 -1
  5. package/i18n/arabic.min.js +1 -1
  6. package/i18n/bulgarian.js +1 -1
  7. package/i18n/bulgarian.min.js +1 -1
  8. package/i18n/croatian.js +1 -1
  9. package/i18n/croatian.min.js +1 -1
  10. package/i18n/czech.js +1 -1
  11. package/i18n/czech.min.js +1 -1
  12. package/i18n/danish.js +1 -1
  13. package/i18n/danish.min.js +1 -1
  14. package/i18n/dutch.js +1 -1
  15. package/i18n/dutch.min.js +1 -1
  16. package/i18n/english.js +2 -1
  17. package/i18n/english.js.map +1 -1
  18. package/i18n/english.min.js +2 -2
  19. package/i18n/finnish.js +1 -1
  20. package/i18n/finnish.min.js +1 -1
  21. package/i18n/french.js +1 -1
  22. package/i18n/french.min.js +1 -1
  23. package/i18n/german.js +1 -1
  24. package/i18n/german.min.js +1 -1
  25. package/i18n/hungarian.js +1 -1
  26. package/i18n/hungarian.min.js +1 -1
  27. package/i18n/index.js +1 -1
  28. package/i18n/index.min.js +1 -1
  29. package/i18n/indonesian.js +1 -1
  30. package/i18n/indonesian.min.js +1 -1
  31. package/i18n/italian.js +1 -1
  32. package/i18n/italian.min.js +1 -1
  33. package/i18n/japanese.js +1 -1
  34. package/i18n/japanese.min.js +1 -1
  35. package/i18n/korean.js +1 -1
  36. package/i18n/korean.min.js +1 -1
  37. package/i18n/malay.js +1 -1
  38. package/i18n/malay.min.js +1 -1
  39. package/i18n/mongolian.js +1 -1
  40. package/i18n/mongolian.min.js +1 -1
  41. package/i18n/norwegian.js +1 -1
  42. package/i18n/norwegian.min.js +1 -1
  43. package/i18n/persian.js +1 -1
  44. package/i18n/persian.min.js +1 -1
  45. package/i18n/polish.js +1 -1
  46. package/i18n/polish.min.js +1 -1
  47. package/i18n/portuguese.js +1 -1
  48. package/i18n/portuguese.min.js +1 -1
  49. package/i18n/russian.js +1 -1
  50. package/i18n/russian.min.js +1 -1
  51. package/i18n/simplified-chinese.js +1 -1
  52. package/i18n/simplified-chinese.min.js +1 -1
  53. package/i18n/slovak.js +1 -1
  54. package/i18n/slovak.min.js +1 -1
  55. package/i18n/spanish.js +1 -1
  56. package/i18n/spanish.min.js +1 -1
  57. package/i18n/swedish.js +1 -1
  58. package/i18n/swedish.min.js +1 -1
  59. package/i18n/tajik.js +1 -1
  60. package/i18n/tajik.min.js +1 -1
  61. package/i18n/traditional-chinese.js +1 -1
  62. package/i18n/traditional-chinese.min.js +1 -1
  63. package/i18n/turkish.js +1 -1
  64. package/i18n/turkish.min.js +1 -1
  65. package/package.json +2 -2
  66. package/survey-creator-core.css +18 -4
  67. package/survey-creator-core.fontless.css +17 -3
  68. package/survey-creator-core.fontless.css.map +1 -1
  69. package/survey-creator-core.fontless.min.css +6 -6
  70. package/survey-creator-core.i18n.js +1 -1
  71. package/survey-creator-core.i18n.min.js +1 -1
  72. package/survey-creator-core.js +227 -155
  73. package/survey-creator-core.js.map +1 -1
  74. package/survey-creator-core.min.css +7 -7
  75. package/survey-creator-core.min.js +5 -5
  76. package/typings/components/page-navigator/page-navigator.d.ts +3 -0
  77. package/typings/components/question-rating.d.ts +1 -0
  78. package/typings/components/tabs/theme-builder.d.ts +4 -0
  79. package/typings/components/tabs/theme-plugin.d.ts +2 -1
  80. package/typings/components/tabs/themes.d.ts +0 -2
  81. package/typings/custom-questions/question-color.d.ts +1 -0
  82. package/typings/editorLocalization.d.ts +1 -0
  83. package/typings/localization/english.d.ts +1 -0
  84. package/typings/property-grid/matrices.d.ts +1 -2
  85. package/typings/survey-elements.d.ts +2 -1
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * SurveyJS Creator v1.9.121
2
+ * SurveyJS Creator v1.9.122
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.121
133
+ * surveyjs - Survey JavaScript library v1.9.122
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
  */
@@ -5886,7 +5886,7 @@ var PageNavigatorViewModel = /** @class */ (function (_super) {
5886
5886
  PageNavigatorViewModel.prototype.setItems = function (items) {
5887
5887
  this.items = items;
5888
5888
  this.pageListModel.setItems(items);
5889
- this.visible = items.length > 1 || this.pageEditMode === "bypage";
5889
+ this.updateVisibility();
5890
5890
  };
5891
5891
  PageNavigatorViewModel.prototype.buildItems = function () {
5892
5892
  this.currentPage = this.pagesController.currentPage || this.pagesController.pages[0];
@@ -6037,6 +6037,7 @@ var PageNavigatorViewModel = /** @class */ (function (_super) {
6037
6037
  this._resizeObserver.observe(itemsContainer);
6038
6038
  };
6039
6039
  PageNavigatorViewModel.prototype.updateVisibleItems = function (allAvailableHeight) {
6040
+ this.updateVisibility();
6040
6041
  var itemsAvailableHeight = allAvailableHeight - PageNavigatorViewModel.PAGE_NAVIGATION_MENU_ITEM_HEIGHT;
6041
6042
  this.visibleItemsCount = Math.floor(itemsAvailableHeight / PageNavigatorViewModel.PAGE_NAVIGATION_ITEM_HEIGHT);
6042
6043
  var currantPageIndex = this.pagesController.pages.indexOf(this.currentPage);
@@ -6046,6 +6047,17 @@ var PageNavigatorViewModel = /** @class */ (function (_super) {
6046
6047
  }
6047
6048
  this.visibleItemsStartIndex = visibleStart;
6048
6049
  };
6050
+ PageNavigatorViewModel.prototype._updateVisibility = function () {
6051
+ this.hasScrolling = !this._scrollableContainer || (this._scrollableContainer.scrollHeight > this._scrollableContainer.clientHeight);
6052
+ this.visible = this.items.length > 1 && (this.hasScrolling || this.pagesController.creator["pageEditMode"] === "bypage");
6053
+ };
6054
+ PageNavigatorViewModel.prototype.updateVisibility = function () {
6055
+ var _this = this;
6056
+ // this._updateVisibility();
6057
+ setTimeout(function () {
6058
+ _this._updateVisibility();
6059
+ }, 10);
6060
+ };
6049
6061
  Object.defineProperty(PageNavigatorViewModel.prototype, "visibleItems", {
6050
6062
  get: function () {
6051
6063
  if (this.items.length <= this.visibleItemsCount) {
@@ -6058,6 +6070,9 @@ var PageNavigatorViewModel = /** @class */ (function (_super) {
6058
6070
  });
6059
6071
  PageNavigatorViewModel.PAGE_NAVIGATION_MENU_ITEM_HEIGHT = 44;
6060
6072
  PageNavigatorViewModel.PAGE_NAVIGATION_ITEM_HEIGHT = 36;
6073
+ Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([
6074
+ Object(survey_core__WEBPACK_IMPORTED_MODULE_1__["property"])({ defaultValue: true })
6075
+ ], PageNavigatorViewModel.prototype, "hasScrolling", void 0);
6061
6076
  Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([
6062
6077
  Object(survey_core__WEBPACK_IMPORTED_MODULE_1__["propertyArray"])()
6063
6078
  ], PageNavigatorViewModel.prototype, "items", void 0);
@@ -6821,6 +6836,16 @@ var QuestionRatingAdornerViewModel = /** @class */ (function (_super) {
6821
6836
  enumerable: false,
6822
6837
  configurable: true
6823
6838
  });
6839
+ Object.defineProperty(QuestionRatingAdornerViewModel.prototype, "controlsClassNames", {
6840
+ get: function () {
6841
+ return new survey_core__WEBPACK_IMPORTED_MODULE_1__["CssClassBuilder"]()
6842
+ .append("svc-rating-question-controls")
6843
+ .append("svc-item-value-controls")
6844
+ .append("svc-rating-question-controls--labels-top", this.element.rateDescriptionLocation == "top" || this.element.rateDescriptionLocation == "topBottom").toString();
6845
+ },
6846
+ enumerable: false,
6847
+ configurable: true
6848
+ });
6824
6849
  Object.defineProperty(QuestionRatingAdornerViewModel.prototype, "addTooltip", {
6825
6850
  get: function () {
6826
6851
  return Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_2__["getLocString"])("pe.addItem");
@@ -8587,7 +8612,7 @@ var StringEditorViewModelBase = /** @class */ (function (_super) {
8587
8612
  this.connector.onDoActivate.add(this.activate);
8588
8613
  };
8589
8614
  StringEditorViewModelBase.prototype.checkConstraints = function (event) {
8590
- if (this.maxLength > 0 && event.keyCode >= 32) {
8615
+ if (!this.compostionInProgress && this.maxLength > 0 && event.keyCode >= 32) {
8591
8616
  var text = event.target.innerText || "";
8592
8617
  if (text.length >= this.maxLength) {
8593
8618
  event.preventDefault();
@@ -14514,11 +14539,15 @@ var TestSurveyTabViewModel = /** @class */ (function (_super) {
14514
14539
  /*!**********************************************!*\
14515
14540
  !*** ./src/components/tabs/theme-builder.ts ***!
14516
14541
  \**********************************************/
14517
- /*! exports provided: ThemeBuilder */
14542
+ /*! exports provided: getThemeFullName, getObjectDiffs, getThemeChanges, findSuitableTheme, ThemeBuilder */
14518
14543
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
14519
14544
 
14520
14545
  "use strict";
14521
14546
  __webpack_require__.r(__webpack_exports__);
14547
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getThemeFullName", function() { return getThemeFullName; });
14548
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getObjectDiffs", function() { return getObjectDiffs; });
14549
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getThemeChanges", function() { return getThemeChanges; });
14550
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "findSuitableTheme", function() { return findSuitableTheme; });
14522
14551
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ThemeBuilder", function() { return ThemeBuilder; });
14523
14552
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./src/entries/helpers.ts");
14524
14553
  /* harmony import */ var _simulator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../simulator */ "./src/components/simulator.ts");
@@ -14534,6 +14563,9 @@ __webpack_require__.r(__webpack_exports__);
14534
14563
  /* 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");
14535
14564
  /* harmony import */ var _themes__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./themes */ "./src/components/tabs/themes.ts");
14536
14565
  /* harmony import */ var _theme_custom_questions__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./theme-custom-questions */ "./src/components/tabs/theme-custom-questions/index.ts");
14566
+ /* harmony import */ var survey_core_themes__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! survey-core/themes */ "./node_modules/survey-core/themes/index.js");
14567
+ /* harmony import */ var survey_core_themes__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(survey_core_themes__WEBPACK_IMPORTED_MODULE_13__);
14568
+
14537
14569
 
14538
14570
 
14539
14571
 
@@ -14548,6 +14580,78 @@ __webpack_require__.r(__webpack_exports__);
14548
14580
 
14549
14581
 
14550
14582
  __webpack_require__(/*! ./theme-builder.scss */ "./src/components/tabs/theme-builder.scss");
14583
+ Object.keys(survey_core_themes__WEBPACK_IMPORTED_MODULE_13__).forEach(function (libraryThemeName) {
14584
+ var libraryTheme = survey_core_themes__WEBPACK_IMPORTED_MODULE_13__[libraryThemeName];
14585
+ var creatorThemeVariables = {};
14586
+ var creatorTheme = {};
14587
+ Object(_utils_utils__WEBPACK_IMPORTED_MODULE_6__["assign"])(creatorThemeVariables, libraryTheme.cssVariables);
14588
+ Object(_utils_utils__WEBPACK_IMPORTED_MODULE_6__["assign"])(creatorTheme, libraryTheme, { cssVariables: creatorThemeVariables });
14589
+ var creatorThemeName = getThemeFullName(libraryTheme);
14590
+ _themes__WEBPACK_IMPORTED_MODULE_11__["Themes"][creatorThemeName] = creatorTheme;
14591
+ });
14592
+ function getThemeFullName(theme) {
14593
+ var themeName = theme.themeName || ThemeBuilder.DefaultTheme.themeName || "default";
14594
+ var fullThemeName = themeName + "-" + (theme.colorPalette || "light");
14595
+ if (theme.isPanelless === true) {
14596
+ fullThemeName += "-panelless";
14597
+ }
14598
+ return fullThemeName;
14599
+ }
14600
+ function getObjectDiffs(obj1, obj2) {
14601
+ if (obj2 === void 0) { obj2 = {}; }
14602
+ var result = {};
14603
+ Object.keys(obj1).forEach(function (key) {
14604
+ if (typeof obj1[key] === "object") {
14605
+ result[key] = getObjectDiffs(obj1[key], obj2[key]);
14606
+ }
14607
+ else {
14608
+ if (obj1[key] !== undefined && obj1[key] != obj2[key]) {
14609
+ result[key] = obj1[key];
14610
+ }
14611
+ }
14612
+ });
14613
+ return result;
14614
+ }
14615
+ function getThemeChanges(fullTheme, baseTheme) {
14616
+ if (!baseTheme) {
14617
+ var probeThemeFullName = getThemeFullName(fullTheme);
14618
+ baseTheme = findSuitableTheme(fullTheme.themeName, fullTheme.colorPalette, fullTheme.isPanelless ? "lightweight" : "panels", probeThemeFullName);
14619
+ }
14620
+ var themeChanges = getObjectDiffs(fullTheme, baseTheme);
14621
+ Object.keys(themeChanges).forEach(function (propertyName) {
14622
+ if (propertyName.toLowerCase().indexOf("background") !== -1) {
14623
+ if (themeChanges[propertyName] === "" || themeChanges[propertyName] === survey_core__WEBPACK_IMPORTED_MODULE_2__["Serializer"].findProperty("survey", propertyName).defaultValue) {
14624
+ delete themeChanges[propertyName];
14625
+ }
14626
+ }
14627
+ });
14628
+ themeChanges.themeName = baseTheme.themeName || ThemeBuilder.DefaultTheme.themeName || "default";
14629
+ themeChanges.colorPalette = baseTheme.colorPalette || "light";
14630
+ themeChanges.isPanelless = !!baseTheme.isPanelless;
14631
+ return themeChanges;
14632
+ }
14633
+ function findSuitableTheme(themeName, themePalette, themeMode, probeThemeFullName) {
14634
+ var suitableTheme = _themes__WEBPACK_IMPORTED_MODULE_11__["Themes"][probeThemeFullName];
14635
+ if (!!suitableTheme) {
14636
+ return suitableTheme;
14637
+ }
14638
+ var appropriateThemeNames = Object.keys(_themes__WEBPACK_IMPORTED_MODULE_11__["Themes"]).filter(function (fullName) { return fullName.indexOf(themeName + "-") === 0; });
14639
+ for (var _i = 0, appropriateThemeNames_1 = appropriateThemeNames; _i < appropriateThemeNames_1.length; _i++) {
14640
+ var fullThemeName = appropriateThemeNames_1[_i];
14641
+ if (fullThemeName.indexOf(themeName + "-" + themePalette) === 0) {
14642
+ probeThemeFullName = themeName + "-" + themePalette;
14643
+ }
14644
+ if (fullThemeName.indexOf(themeName + "-" + themePalette + (themeMode === "lightweight" ? "-panelless" : "")) === 0) {
14645
+ probeThemeFullName = themeName + "-" + themePalette + (themeMode === "lightweight" ? "-panelless" : "");
14646
+ }
14647
+ }
14648
+ suitableTheme = _themes__WEBPACK_IMPORTED_MODULE_11__["Themes"][appropriateThemeNames[0]];
14649
+ if (!!suitableTheme) {
14650
+ return suitableTheme;
14651
+ }
14652
+ var defaultNearestThemeFullName = getThemeFullName({ themeName: ThemeBuilder.DefaultTheme.themeName, colorPalette: themePalette || "light", isPanelless: themeMode === "lightweight" });
14653
+ return _themes__WEBPACK_IMPORTED_MODULE_11__["Themes"][defaultNearestThemeFullName] || ThemeBuilder.DefaultTheme;
14654
+ }
14551
14655
  var ThemeBuilder = /** @class */ (function (_super) {
14552
14656
  Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(ThemeBuilder, _super);
14553
14657
  function ThemeBuilder(surveyProvider, startThemeClasses) {
@@ -14558,7 +14662,7 @@ var ThemeBuilder = /** @class */ (function (_super) {
14558
14662
  _this.pages = new survey_core__WEBPACK_IMPORTED_MODULE_2__["ActionContainer"]();
14559
14663
  _this.themeCssVariablesChanges = {};
14560
14664
  _this.colorCalculator = new _utils_utils__WEBPACK_IMPORTED_MODULE_6__["ColorCalculator"]();
14561
- _this.blockChanges = false;
14665
+ _this.blockChanges = true;
14562
14666
  _this._availableThemes = _themes__WEBPACK_IMPORTED_MODULE_11__["PredefinedThemes"];
14563
14667
  _this.prevQuestionValues = {};
14564
14668
  _this.onThemeSelected = new survey_core__WEBPACK_IMPORTED_MODULE_2__["EventBase"]();
@@ -14576,11 +14680,12 @@ var ThemeBuilder = /** @class */ (function (_super) {
14576
14680
  _this.themeName = ThemeBuilder.DefaultTheme.themeName || "default";
14577
14681
  Object(_theme_custom_questions__WEBPACK_IMPORTED_MODULE_12__["updateCustomQuestionJSONs"])();
14578
14682
  _this.themeEditorSurveyValue = _this.createThemeEditorSurvey();
14579
- _this.backgroundImage = _this.surveyProvider.theme.backgroundImage !== undefined ? _this.surveyProvider.theme.backgroundImage : surveyProvider.survey.backgroundImage;
14580
- _this.backgroundImageFit = _this.surveyProvider.theme.backgroundImageFit !== undefined ? _this.surveyProvider.theme.backgroundImageFit : surveyProvider.survey.backgroundImageFit;
14581
- _this.backgroundImageAttachment = _this.surveyProvider.theme.backgroundImageAttachment !== undefined ? _this.surveyProvider.theme.backgroundImageAttachment : surveyProvider.survey.backgroundImageAttachment;
14582
- _this.backgroundOpacity = ((_this.surveyProvider.theme.backgroundOpacity !== undefined ? _this.surveyProvider.theme.backgroundOpacity : surveyProvider.survey.backgroundOpacity) || 1) * 100;
14583
- _this.loadTheme(_this.surveyProvider.theme);
14683
+ var surveyTheme = _this.surveyProvider.theme;
14684
+ _this.backgroundImage = surveyTheme.backgroundImage !== undefined ? surveyTheme.backgroundImage : surveyProvider.survey.backgroundImage;
14685
+ _this.backgroundImageFit = surveyTheme.backgroundImageFit !== undefined ? surveyTheme.backgroundImageFit : surveyProvider.survey.backgroundImageFit;
14686
+ _this.backgroundImageAttachment = surveyTheme.backgroundImageAttachment !== undefined ? surveyTheme.backgroundImageAttachment : surveyProvider.survey.backgroundImageAttachment;
14687
+ _this.backgroundOpacity = ((surveyTheme.backgroundOpacity !== undefined ? surveyTheme.backgroundOpacity : surveyProvider.survey.backgroundOpacity) || 1) * 100;
14688
+ _this.loadTheme(surveyTheme);
14584
14689
  _this.surveyProvider.hasPendingThemeChanges = false;
14585
14690
  _this.undoRedoManager = new _plugins_undo_redo_undo_redo_manager__WEBPACK_IMPORTED_MODULE_10__["UndoRedoManager"]();
14586
14691
  _this.surveyProvider.onPropertyChanged.add(_this.creatorPropertyChanged);
@@ -14661,29 +14766,32 @@ var ThemeBuilder = /** @class */ (function (_super) {
14661
14766
  ThemeBuilder.prototype.loadTheme = function (theme) {
14662
14767
  this.blockThemeChangedNotifications += 1;
14663
14768
  try {
14664
- this.themeName = theme.themeName || this.themeName;
14665
- this.themePalette = theme.colorPalette || this.themePalette;
14666
- if (theme.isPanelless !== undefined) {
14667
- this.themeMode = theme.isPanelless === true ? "lightweight" : "panels";
14668
- }
14769
+ var probeThemeFullName = getThemeFullName(theme);
14770
+ var baseTheme = findSuitableTheme(theme.themeName, theme.colorPalette, theme.isPanelless ? "lightweight" : "panels", probeThemeFullName);
14771
+ var themeChanges = getThemeChanges(theme, baseTheme);
14772
+ if (this.currentTheme === theme) {
14773
+ this.themeCssVariablesChanges = themeChanges.cssVariables || {};
14774
+ }
14775
+ this.themeName = themeChanges.themeName;
14776
+ this.themePalette = themeChanges.colorPalette;
14777
+ this.themeMode = themeChanges.isPanelless === true ? "lightweight" : "panels";
14669
14778
  this.backgroundImage = theme.backgroundImage || this.backgroundImage;
14670
14779
  this.backgroundImageFit = theme.backgroundImageFit || this.backgroundImageFit;
14671
14780
  this.backgroundImageAttachment = theme.backgroundImageAttachment || this.backgroundImageAttachment;
14672
14781
  var effectiveThemeCssVariables = {};
14673
- var suitableTheme = this.findSuitableTheme(this.themeName);
14674
- Object(_utils_utils__WEBPACK_IMPORTED_MODULE_6__["assign"])(effectiveThemeCssVariables, ThemeBuilder.DefaultTheme.cssVariables || {}, suitableTheme.cssVariables || {});
14782
+ Object(_utils_utils__WEBPACK_IMPORTED_MODULE_6__["assign"])(effectiveThemeCssVariables, ThemeBuilder.DefaultTheme.cssVariables || {}, baseTheme.cssVariables || {});
14675
14783
  Object(_utils_utils__WEBPACK_IMPORTED_MODULE_6__["assign"])(effectiveThemeCssVariables, theme.cssVariables || {}, this.themeCssVariablesChanges);
14676
14784
  this.trimCssVariables(effectiveThemeCssVariables);
14677
14785
  var effectiveTheme = {
14678
- backgroundImage: this.backgroundImage || suitableTheme.backgroundImage || "",
14679
- backgroundImageFit: this.backgroundImageFit || suitableTheme.backgroundImageFit,
14680
- backgroundImageAttachment: this.backgroundImageAttachment || suitableTheme.backgroundImageAttachment,
14681
- backgroundOpacity: (this.backgroundOpacity / 100) || suitableTheme.backgroundOpacity,
14786
+ backgroundImage: this.backgroundImage || baseTheme.backgroundImage || "",
14787
+ backgroundImageFit: this.backgroundImageFit || baseTheme.backgroundImageFit,
14788
+ backgroundImageAttachment: this.backgroundImageAttachment || baseTheme.backgroundImageAttachment,
14789
+ backgroundOpacity: (this.backgroundOpacity / 100) || baseTheme.backgroundOpacity,
14682
14790
  };
14683
- var headerSettings = {};
14684
- Object(_utils_utils__WEBPACK_IMPORTED_MODULE_6__["assign"])(headerSettings, suitableTheme.header || {});
14685
- if (Object.keys(headerSettings).length > 0) {
14686
- effectiveTheme.header = headerSettings;
14791
+ var effectiveHeaderSettings = {};
14792
+ Object(_utils_utils__WEBPACK_IMPORTED_MODULE_6__["assign"])(effectiveHeaderSettings, baseTheme.header || {});
14793
+ if (Object.keys(effectiveHeaderSettings).length > 0) {
14794
+ effectiveTheme.header = effectiveHeaderSettings;
14687
14795
  }
14688
14796
  Object(_utils_utils__WEBPACK_IMPORTED_MODULE_6__["assign"])(effectiveTheme, theme, { cssVariables: effectiveThemeCssVariables, themeName: this.themeName, colorPalette: this.themePalette, isPanelless: this.themeMode === "lightweight" });
14689
14797
  this.surveyProvider.theme = effectiveTheme;
@@ -14955,13 +15063,13 @@ var ThemeBuilder = /** @class */ (function (_super) {
14955
15063
  var _a;
14956
15064
  if (["themeName", "themeMode", "themePalette"].indexOf(options.name) !== -1) {
14957
15065
  if (options.name === "themeName") {
14958
- this.loadTheme(this.findSuitableTheme(options.value) || (_a = {}, _a[options.name] = options.value, _a));
15066
+ this.loadTheme(this.findSuitableTheme(options.value) || (_a = {}, _a[options.name] = options.value, _a.isPanelless = this.themeMode === "lightweight", _a.colorPalette = this.themePalette, _a));
14959
15067
  }
14960
15068
  if (options.name === "themeMode") {
14961
- this.loadTheme({ isPanelless: options.value === "lightweight" });
15069
+ this.loadTheme({ themeName: this.themeName, isPanelless: options.value === "lightweight", colorPalette: this.themePalette });
14962
15070
  }
14963
15071
  if (options.name === "themePalette") {
14964
- this.loadTheme({ colorPalette: options.value });
15072
+ this.loadTheme({ themeName: this.themeName, isPanelless: this.themeMode === "lightweight", colorPalette: options.value });
14965
15073
  }
14966
15074
  this.themeModified({ theme: this.currentTheme });
14967
15075
  return true;
@@ -15133,8 +15241,8 @@ var ThemeBuilder = /** @class */ (function (_super) {
15133
15241
  return themeEditorSurvey;
15134
15242
  };
15135
15243
  ThemeBuilder.prototype.findSuitableTheme = function (themeName) {
15136
- var probeThemeFullName = Object(_themes__WEBPACK_IMPORTED_MODULE_11__["getThemeFullName"])({ themeName: themeName, colorPalette: this.themePalette, isPanelless: this.themeMode === "lightweight" });
15137
- return Object(_themes__WEBPACK_IMPORTED_MODULE_11__["findSuitableTheme"])(themeName, this.themePalette, this.themeMode, probeThemeFullName);
15244
+ var probeThemeFullName = getThemeFullName({ themeName: themeName, colorPalette: this.themePalette, isPanelless: this.themeMode === "lightweight" });
15245
+ return findSuitableTheme(themeName, this.themePalette, this.themeMode, probeThemeFullName);
15138
15246
  };
15139
15247
  ThemeBuilder.prototype.patchFileEditors = function (survey) {
15140
15248
  var _this = this;
@@ -15152,12 +15260,13 @@ var ThemeBuilder = /** @class */ (function (_super) {
15152
15260
  return result;
15153
15261
  };
15154
15262
  ThemeBuilder.prototype.setHeaderBackgroundColorCssVariable = function (headerSettings) {
15263
+ var _a;
15155
15264
  var headerBackgroundColorValue = undefined;
15156
15265
  if (headerSettings["backgroundColorSwitch"] === "none") {
15157
- headerBackgroundColorValue = "trasparent";
15266
+ headerBackgroundColorValue = "transparent";
15158
15267
  }
15159
15268
  else if (headerSettings["backgroundColorSwitch"] === "custom") {
15160
- headerBackgroundColorValue = headerSettings.backgroundColor;
15269
+ headerBackgroundColorValue = (_a = headerSettings.backgroundColor) !== null && _a !== void 0 ? _a : "transparent";
15161
15270
  }
15162
15271
  this.themeCssVariablesChanges["--sjs-header-backcolor"] = headerBackgroundColorValue;
15163
15272
  };
@@ -15179,7 +15288,7 @@ var ThemeBuilder = /** @class */ (function (_super) {
15179
15288
  ThemeBuilder.prototype.getBackgroundColorSwitchByValue = function (backgroundColor) {
15180
15289
  if (!backgroundColor)
15181
15290
  return "accentColor";
15182
- if (backgroundColor === "trasparent")
15291
+ if (backgroundColor === "transparent")
15183
15292
  return "none";
15184
15293
  return "custom";
15185
15294
  };
@@ -15204,7 +15313,7 @@ var ThemeBuilder = /** @class */ (function (_super) {
15204
15313
  panel.getQuestionByName("descriptionPositionY").readOnly = !this.survey.description;
15205
15314
  };
15206
15315
  ThemeBuilder.prototype.setCoverColorsFromThemeVariables = function (question, cssVariable) {
15207
- if (!!question && !!cssVariable && cssVariable !== "trasparent") {
15316
+ if (!!question && !!cssVariable && cssVariable !== "transparent") {
15208
15317
  question.value = cssVariable;
15209
15318
  }
15210
15319
  };
@@ -15319,7 +15428,9 @@ var ThemeBuilder = /** @class */ (function (_super) {
15319
15428
  });
15320
15429
  };
15321
15430
  ThemeBuilder.prototype.updateSimulatorTheme = function () {
15322
- this.survey.applyTheme(this.currentTheme);
15431
+ if (!!this.survey) {
15432
+ this.survey.applyTheme(this.currentTheme);
15433
+ }
15323
15434
  };
15324
15435
  Object.defineProperty(ThemeBuilder.prototype, "saveThemeFunc", {
15325
15436
  /**
@@ -15567,6 +15678,7 @@ var ThemeBuilder = /** @class */ (function (_super) {
15567
15678
  {
15568
15679
  type: "color",
15569
15680
  name: "backgroundColor",
15681
+ allowEmptyValue: true,
15570
15682
  enableIf: "{panel.backgroundColorSwitch} = 'custom'",
15571
15683
  titleLocation: "hidden",
15572
15684
  descriptionLocation: "hidden",
@@ -16661,9 +16773,9 @@ __webpack_require__.r(__webpack_exports__);
16661
16773
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ThemeTabPlugin", function() { return ThemeTabPlugin; });
16662
16774
  /* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! survey-core */ "survey-core");
16663
16775
  /* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(survey_core__WEBPACK_IMPORTED_MODULE_0__);
16664
- /* harmony import */ var _editorLocalization__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../editorLocalization */ "./src/editorLocalization.ts");
16665
- /* harmony import */ var _theme_builder__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./theme-builder */ "./src/components/tabs/theme-builder.ts");
16666
- /* harmony import */ var _creator_settings__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../creator-settings */ "./src/creator-settings.ts");
16776
+ /* harmony import */ var _creator_settings__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../creator-settings */ "./src/creator-settings.ts");
16777
+ /* harmony import */ var _editorLocalization__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../editorLocalization */ "./src/editorLocalization.ts");
16778
+ /* harmony import */ var _theme_builder__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./theme-builder */ "./src/components/tabs/theme-builder.ts");
16667
16779
  /* harmony import */ var _themes__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./themes */ "./src/components/tabs/themes.ts");
16668
16780
  /* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../utils/utils */ "./src/utils/utils.ts");
16669
16781
 
@@ -16672,21 +16784,6 @@ __webpack_require__.r(__webpack_exports__);
16672
16784
 
16673
16785
 
16674
16786
 
16675
- function getObjectDiffs(obj1, obj2) {
16676
- if (obj2 === void 0) { obj2 = {}; }
16677
- var result = {};
16678
- Object.keys(obj1).forEach(function (key) {
16679
- if (typeof obj1[key] === "object") {
16680
- result[key] = getObjectDiffs(obj1[key], obj2[key]);
16681
- }
16682
- else {
16683
- if (obj1[key] !== undefined && obj1[key] != obj2[key]) {
16684
- result[key] = obj1[key];
16685
- }
16686
- }
16687
- });
16688
- return result;
16689
- }
16690
16787
  /**
16691
16788
  * An object that enables you to modify, add, and remove UI themes and handle theme-related events. To access this object, use the [`themeEditor`](https://surveyjs.io/survey-creator/documentation/api-reference/survey-creator#themeEditor) property on a Survey Creator instance:
16692
16789
  *
@@ -16707,7 +16804,7 @@ var ThemeTabPlugin = /** @class */ (function () {
16707
16804
  function ThemeTabPlugin(creator) {
16708
16805
  var _this = this;
16709
16806
  this.creator = creator;
16710
- this.simulatorTheme = survey_core__WEBPACK_IMPORTED_MODULE_0__["surveyCss"][survey_core__WEBPACK_IMPORTED_MODULE_0__["defaultV2ThemeName"]];
16807
+ this.simulatorCssClasses = survey_core__WEBPACK_IMPORTED_MODULE_0__["surveyCss"][survey_core__WEBPACK_IMPORTED_MODULE_0__["defaultV2ThemeName"]];
16711
16808
  this._availableThemes = [].concat(_themes__WEBPACK_IMPORTED_MODULE_4__["PredefinedThemes"]);
16712
16809
  this.saveToFileHandler = _utils_utils__WEBPACK_IMPORTED_MODULE_5__["saveToFileHandler"];
16713
16810
  /**
@@ -16751,10 +16848,10 @@ var ThemeTabPlugin = /** @class */ (function () {
16751
16848
  */
16752
16849
  this.onAllowModifyTheme = new survey_core__WEBPACK_IMPORTED_MODULE_0__["EventBase"]();
16753
16850
  creator.addPluginTab("theme", this, "ed.themeSurvey");
16754
- this.simulatorTheme = survey_core__WEBPACK_IMPORTED_MODULE_0__["surveyCss"][survey_core__WEBPACK_IMPORTED_MODULE_0__["defaultV2ThemeName"]];
16851
+ this.simulatorCssClasses = survey_core__WEBPACK_IMPORTED_MODULE_0__["surveyCss"][survey_core__WEBPACK_IMPORTED_MODULE_0__["defaultV2ThemeName"]];
16755
16852
  this.createActions().forEach(function (action) { return creator.toolbar.actions.push(action); });
16756
16853
  this.sidebarTab = this.creator.sidebar.addTab("theme");
16757
- this.sidebarTab.caption = _editorLocalization__WEBPACK_IMPORTED_MODULE_1__["editorLocalization"].getString("ed.themePropertyGridTitle");
16854
+ this.sidebarTab.caption = _editorLocalization__WEBPACK_IMPORTED_MODULE_2__["editorLocalization"].getString("ed.themePropertyGridTitle");
16758
16855
  creator.registerShortcut("undo_theme", {
16759
16856
  name: "undo",
16760
16857
  affectedTab: "theme",
@@ -16785,9 +16882,7 @@ var ThemeTabPlugin = /** @class */ (function () {
16785
16882
  return new survey_core__WEBPACK_IMPORTED_MODULE_0__["ComputedUpdater"](function () { return _this.creator.activeTab === "theme"; });
16786
16883
  };
16787
16884
  ThemeTabPlugin.prototype.activate = function () {
16788
- this.model = new _theme_builder__WEBPACK_IMPORTED_MODULE_2__["ThemeBuilder"](this.creator, this.simulatorTheme);
16789
- this.model.availableThemes = this.availableThemes;
16790
- this.model.simulator.landscape = this.creator.previewOrientation != "portrait";
16885
+ this.model = new _theme_builder__WEBPACK_IMPORTED_MODULE_3__["ThemeBuilder"](this.creator, this.simulatorCssClasses);
16791
16886
  this.update();
16792
16887
  this.sidebarTab.model = this.model.themeEditorSurvey;
16793
16888
  this.sidebarTab.componentName = "survey-widget";
@@ -16797,13 +16892,15 @@ var ThemeTabPlugin = /** @class */ (function () {
16797
16892
  var _this = this;
16798
16893
  if (!this.model)
16799
16894
  return;
16800
- var options = {
16801
- showPagesInTestSurveyTab: this.creator.showPagesInTestSurveyTab,
16802
- };
16895
+ this.model.availableThemes = this.availableThemes;
16896
+ this.model.simulator.landscape = this.creator.previewOrientation != "portrait";
16803
16897
  this.model.testAgainAction = this.testAgainAction;
16804
16898
  this.model.availableThemes = this.availableThemes;
16805
16899
  this.model.prevPageAction = this.prevPageAction;
16806
16900
  this.model.nextPageAction = this.nextPageAction;
16901
+ var options = {
16902
+ showPagesInTestSurveyTab: this.creator.showPagesInTestSurveyTab,
16903
+ };
16807
16904
  this.model.initialize(this.creator.JSON, options);
16808
16905
  if (this.creator.showInvisibleElementsInTestSurveyTab) {
16809
16906
  this.invisibleToggleAction.css = this.model.showInvisibleElements ? "sv-action-bar-item--active" : "";
@@ -16821,7 +16918,7 @@ var ThemeTabPlugin = /** @class */ (function () {
16821
16918
  }
16822
16919
  });
16823
16920
  this.model.onThemeSelected.add(function (sender, options) {
16824
- _this.resetTheme.enabled = Object(_themes__WEBPACK_IMPORTED_MODULE_4__["getThemeFullName"])(sender.defaultSessionTheme) !== Object(_themes__WEBPACK_IMPORTED_MODULE_4__["getThemeFullName"])(options.theme);
16921
+ _this.resetTheme.enabled = Object(_theme_builder__WEBPACK_IMPORTED_MODULE_3__["getThemeFullName"])(sender.defaultSessionTheme) !== Object(_theme_builder__WEBPACK_IMPORTED_MODULE_3__["getThemeFullName"])(options.theme);
16825
16922
  _this.saveThemeAction.enabled = true;
16826
16923
  _this.onThemeSelected.fire(_this, options);
16827
16924
  });
@@ -16833,11 +16930,11 @@ var ThemeTabPlugin = /** @class */ (function () {
16833
16930
  this.model.onAllowModifyTheme.add(function (sender, options) {
16834
16931
  _this.onAllowModifyTheme.fire(_this, options);
16835
16932
  });
16836
- this.resetTheme.enabled = Object(_themes__WEBPACK_IMPORTED_MODULE_4__["getThemeFullName"])(this.model.defaultSessionTheme) !== Object(_themes__WEBPACK_IMPORTED_MODULE_4__["getThemeFullName"])(this.creator.theme) || this.isModified;
16933
+ this.resetTheme.enabled = Object(_theme_builder__WEBPACK_IMPORTED_MODULE_3__["getThemeFullName"])(this.model.defaultSessionTheme) !== Object(_theme_builder__WEBPACK_IMPORTED_MODULE_3__["getThemeFullName"])(this.creator.theme) || this.isModified;
16837
16934
  };
16838
16935
  ThemeTabPlugin.prototype.deactivate = function () {
16839
16936
  if (this.model) {
16840
- this.simulatorTheme = this.model.simulator.survey.css;
16937
+ this.simulatorCssClasses = this.model.simulator.survey.css;
16841
16938
  this.model.onPropertyChanged.clear();
16842
16939
  this.model.onThemeSelected.clear();
16843
16940
  this.model.onThemePropertyChanged.clear();
@@ -16853,7 +16950,6 @@ var ThemeTabPlugin = /** @class */ (function () {
16853
16950
  };
16854
16951
  ThemeTabPlugin.prototype.exportToFile = function (fileName) {
16855
16952
  var themeCopy = JSON.parse(JSON.stringify(this.creator.theme));
16856
- themeCopy.themeName = themeCopy.themeName + "_exported";
16857
16953
  var themeData = JSON.stringify(themeCopy, null, 4);
16858
16954
  var themeBlob = new Blob([themeData], { type: "application/json" });
16859
16955
  this.saveToFileHandler(fileName, themeBlob);
@@ -16863,9 +16959,8 @@ var ThemeTabPlugin = /** @class */ (function () {
16863
16959
  var fileReader = new FileReader();
16864
16960
  fileReader.onload = function (e) {
16865
16961
  var theme = JSON.parse(fileReader.result);
16866
- _this.addTheme(theme);
16867
- if (_this.model) {
16868
- _this.model.setTheme(theme);
16962
+ if (!!_this.model) {
16963
+ _this.model.loadTheme(theme);
16869
16964
  }
16870
16965
  callback && callback(theme);
16871
16966
  };
@@ -16955,11 +17050,11 @@ var ThemeTabPlugin = /** @class */ (function () {
16955
17050
  mode: "small",
16956
17051
  visible: this.createVisibleUpdater(),
16957
17052
  action: function () {
16958
- survey_core__WEBPACK_IMPORTED_MODULE_0__["settings"].confirmActionAsync(Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_1__["getLocString"])("ed.themeResetConfirmation"), function (confirm) {
17053
+ survey_core__WEBPACK_IMPORTED_MODULE_0__["settings"].confirmActionAsync(Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_2__["getLocString"])("ed.themeResetConfirmation"), function (confirm) {
16959
17054
  if (confirm) {
16960
17055
  _this.model.resetTheme();
16961
17056
  }
16962
- }, Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_1__["getLocString"])("ed.themeResetConfirmationOk"));
17057
+ }, Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_2__["getLocString"])("ed.themeResetConfirmationOk"));
16963
17058
  }
16964
17059
  });
16965
17060
  items.push(this.resetTheme);
@@ -17015,7 +17110,7 @@ var ThemeTabPlugin = /** @class */ (function () {
17015
17110
  mode: "small",
17016
17111
  component: "sv-action-bar-item",
17017
17112
  action: function () {
17018
- _this.exportToFile(_creator_settings__WEBPACK_IMPORTED_MODULE_3__["settings"].theme.exportFileName);
17113
+ _this.exportToFile(_creator_settings__WEBPACK_IMPORTED_MODULE_1__["settings"].theme.exportFileName);
17019
17114
  }
17020
17115
  });
17021
17116
  items.push(this.exportAction);
@@ -17029,7 +17124,7 @@ var ThemeTabPlugin = /** @class */ (function () {
17029
17124
  action: function () {
17030
17125
  _this.model.showInvisibleElements = !_this.model.showInvisibleElements;
17031
17126
  _this.invisibleToggleAction.css = _this.model.showInvisibleElements ? "sv-action-bar-item--active" : "";
17032
- _this.invisibleToggleAction.title = Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_1__["getLocString"])(!_this.model.showInvisibleElements ? "ts.showInvisibleElements" : "ts.hideInvisibleElements");
17127
+ _this.invisibleToggleAction.title = Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_2__["getLocString"])(!_this.model.showInvisibleElements ? "ts.showInvisibleElements" : "ts.hideInvisibleElements");
17033
17128
  }
17034
17129
  });
17035
17130
  }
@@ -17096,12 +17191,12 @@ var ThemeTabPlugin = /** @class */ (function () {
17096
17191
  */
17097
17192
  ThemeTabPlugin.prototype.addTheme = function (theme, setAsDefault) {
17098
17193
  if (setAsDefault === void 0) { setAsDefault = false; }
17099
- var fullThemeName = Object(_themes__WEBPACK_IMPORTED_MODULE_4__["getThemeFullName"])(theme);
17194
+ var fullThemeName = Object(_theme_builder__WEBPACK_IMPORTED_MODULE_3__["getThemeFullName"])(theme);
17100
17195
  _themes__WEBPACK_IMPORTED_MODULE_4__["Themes"][fullThemeName] = theme;
17101
17196
  if (this._availableThemes.indexOf(theme.themeName) === -1) {
17102
17197
  if (setAsDefault) {
17103
17198
  this.availableThemes = [theme.themeName].concat(this.availableThemes);
17104
- _theme_builder__WEBPACK_IMPORTED_MODULE_2__["ThemeBuilder"].DefaultTheme = theme;
17199
+ _theme_builder__WEBPACK_IMPORTED_MODULE_3__["ThemeBuilder"].DefaultTheme = theme;
17105
17200
  }
17106
17201
  else {
17107
17202
  this.availableThemes = this.availableThemes.concat([theme.themeName]);
@@ -17123,11 +17218,11 @@ var ThemeTabPlugin = /** @class */ (function () {
17123
17218
  ThemeTabPlugin.prototype.removeTheme = function (themeAccessor, includeModifications) {
17124
17219
  if (includeModifications === void 0) { includeModifications = false; }
17125
17220
  var themeToDelete = typeof themeAccessor === "string" ? _themes__WEBPACK_IMPORTED_MODULE_4__["Themes"][themeAccessor] : themeAccessor;
17126
- var fullThemeName = typeof themeAccessor === "string" ? themeAccessor : Object(_themes__WEBPACK_IMPORTED_MODULE_4__["getThemeFullName"])(themeToDelete);
17221
+ var fullThemeName = typeof themeAccessor === "string" ? themeAccessor : Object(_theme_builder__WEBPACK_IMPORTED_MODULE_3__["getThemeFullName"])(themeToDelete);
17127
17222
  if (!!themeToDelete) {
17128
17223
  delete _themes__WEBPACK_IMPORTED_MODULE_4__["Themes"][fullThemeName];
17129
- if (_theme_builder__WEBPACK_IMPORTED_MODULE_2__["ThemeBuilder"].DefaultTheme === themeToDelete) {
17130
- _theme_builder__WEBPACK_IMPORTED_MODULE_2__["ThemeBuilder"].DefaultTheme = _themes__WEBPACK_IMPORTED_MODULE_4__["Themes"]["default-light"] || _themes__WEBPACK_IMPORTED_MODULE_4__["Themes"][Object.keys(_themes__WEBPACK_IMPORTED_MODULE_4__["Themes"])[0]];
17224
+ if (_theme_builder__WEBPACK_IMPORTED_MODULE_3__["ThemeBuilder"].DefaultTheme === themeToDelete) {
17225
+ _theme_builder__WEBPACK_IMPORTED_MODULE_3__["ThemeBuilder"].DefaultTheme = _themes__WEBPACK_IMPORTED_MODULE_4__["Themes"]["default-light"] || _themes__WEBPACK_IMPORTED_MODULE_4__["Themes"][Object.keys(_themes__WEBPACK_IMPORTED_MODULE_4__["Themes"])[0]];
17131
17226
  }
17132
17227
  var registeredThemeNames = Object.keys(_themes__WEBPACK_IMPORTED_MODULE_4__["Themes"]);
17133
17228
  var themeModifications = registeredThemeNames.filter(function (themeName) { return themeName.indexOf(themeToDelete.themeName + "-") === 0; });
@@ -17160,21 +17255,7 @@ var ThemeTabPlugin = /** @class */ (function () {
17160
17255
  return this.getThemeChanges();
17161
17256
  };
17162
17257
  ThemeTabPlugin.prototype.getThemeChanges = function () {
17163
- var fullTheme = this.creator.theme;
17164
- var probeThemeFullName = Object(_themes__WEBPACK_IMPORTED_MODULE_4__["getThemeFullName"])(fullTheme);
17165
- var baseTheme = Object(_themes__WEBPACK_IMPORTED_MODULE_4__["findSuitableTheme"])(fullTheme.themeName, fullTheme.colorPalette, fullTheme.isPanelless ? "lightweight" : "panels", probeThemeFullName);
17166
- var themeChanges = getObjectDiffs(fullTheme, baseTheme);
17167
- Object.keys(themeChanges).forEach(function (propertyName) {
17168
- if (propertyName.toLowerCase().indexOf("background") !== -1) {
17169
- if (themeChanges[propertyName] === "" || themeChanges[propertyName] === survey_core__WEBPACK_IMPORTED_MODULE_0__["Serializer"].findProperty("survey", propertyName).defaultValue) {
17170
- delete themeChanges[propertyName];
17171
- }
17172
- }
17173
- });
17174
- themeChanges.themeName = fullTheme.themeName || _theme_builder__WEBPACK_IMPORTED_MODULE_2__["ThemeBuilder"].DefaultTheme.themeName || "default";
17175
- themeChanges.colorPalette = fullTheme.colorPalette || "light";
17176
- themeChanges.isPanelless = !!fullTheme.isPanelless;
17177
- return themeChanges;
17258
+ return Object(_theme_builder__WEBPACK_IMPORTED_MODULE_3__["getThemeChanges"])(this.creator.theme);
17178
17259
  };
17179
17260
  Object.defineProperty(ThemeTabPlugin.prototype, "isModified", {
17180
17261
  /**
@@ -17192,6 +17273,7 @@ var ThemeTabPlugin = /** @class */ (function () {
17192
17273
  enumerable: false,
17193
17274
  configurable: true
17194
17275
  });
17276
+ ThemeTabPlugin.DefaultTheme = _themes__WEBPACK_IMPORTED_MODULE_4__["Themes"]["default-light"];
17195
17277
  return ThemeTabPlugin;
17196
17278
  }());
17197
17279
 
@@ -17203,40 +17285,16 @@ var ThemeTabPlugin = /** @class */ (function () {
17203
17285
  /*!***************************************!*\
17204
17286
  !*** ./src/components/tabs/themes.ts ***!
17205
17287
  \***************************************/
17206
- /*! exports provided: Themes, PredefinedThemes, getThemeFullName, PredefinedColors, findSuitableTheme */
17288
+ /*! exports provided: Themes, PredefinedThemes, PredefinedColors */
17207
17289
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
17208
17290
 
17209
17291
  "use strict";
17210
17292
  __webpack_require__.r(__webpack_exports__);
17211
17293
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Themes", function() { return Themes; });
17212
17294
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PredefinedThemes", function() { return PredefinedThemes; });
17213
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getThemeFullName", function() { return getThemeFullName; });
17214
17295
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PredefinedColors", function() { return PredefinedColors; });
17215
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "findSuitableTheme", function() { return findSuitableTheme; });
17216
- /* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/utils */ "./src/utils/utils.ts");
17217
- /* harmony import */ var survey_core_themes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! survey-core/themes */ "./node_modules/survey-core/themes/index.js");
17218
- /* harmony import */ var survey_core_themes__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(survey_core_themes__WEBPACK_IMPORTED_MODULE_1__);
17219
-
17220
-
17221
17296
  var Themes = {};
17222
17297
  var PredefinedThemes = ["default", "sharp", "borderless", "flat", "plain", "doubleborder", "layered", "solid", "threedimensional", "contrast"];
17223
- function getThemeFullName(theme) {
17224
- var themeName = theme.themeName || "default";
17225
- var fullThemeName = themeName + "-" + (theme.colorPalette || "light");
17226
- if (theme.isPanelless === true) {
17227
- fullThemeName += "-panelless";
17228
- }
17229
- return fullThemeName;
17230
- }
17231
- Object.keys(survey_core_themes__WEBPACK_IMPORTED_MODULE_1__).forEach(function (libraryThemeName) {
17232
- var libraryTheme = survey_core_themes__WEBPACK_IMPORTED_MODULE_1__[libraryThemeName];
17233
- var creatorThemeVariables = {};
17234
- var creatorTheme = {};
17235
- Object(_utils_utils__WEBPACK_IMPORTED_MODULE_0__["assign"])(creatorThemeVariables, libraryTheme.cssVariables);
17236
- Object(_utils_utils__WEBPACK_IMPORTED_MODULE_0__["assign"])(creatorTheme, libraryTheme, { cssVariables: creatorThemeVariables });
17237
- var creatorThemeName = getThemeFullName(libraryTheme);
17238
- Themes[creatorThemeName] = creatorTheme;
17239
- });
17240
17298
  var PredefinedColors = {
17241
17299
  light: {
17242
17300
  teal: "rgba(11, 128, 128, 1)",
@@ -17257,23 +17315,6 @@ var PredefinedColors = {
17257
17315
  green: "rgba(140, 204, 90, 1)"
17258
17316
  }
17259
17317
  };
17260
- function findSuitableTheme(themeName, themePalette, themeMode, probeThemeFullName) {
17261
- var suitableTheme = Themes[probeThemeFullName];
17262
- if (!!suitableTheme) {
17263
- return suitableTheme;
17264
- }
17265
- var appropriateThemeNames = Object.keys(Themes).filter(function (fullName) { return fullName.indexOf(themeName + "-") === 0; });
17266
- for (var _i = 0, appropriateThemeNames_1 = appropriateThemeNames; _i < appropriateThemeNames_1.length; _i++) {
17267
- var fullThemeName = appropriateThemeNames_1[_i];
17268
- if (fullThemeName.indexOf(themeName + "-" + themePalette) === 0) {
17269
- probeThemeFullName = themeName + "-" + themePalette;
17270
- }
17271
- if (fullThemeName.indexOf(themeName + "-" + themePalette + (themeMode === "lightweight" ? "-panelless" : "")) === 0) {
17272
- probeThemeFullName = themeName + "-" + themePalette + (themeMode === "lightweight" ? "-panelless" : "");
17273
- }
17274
- }
17275
- return Themes[probeThemeFullName] || Themes[appropriateThemeNames[0]];
17276
- }
17277
17318
 
17278
17319
 
17279
17320
  /***/ }),
@@ -21670,9 +21711,9 @@ var CreatorBase = /** @class */ (function (_super) {
21670
21711
  _survey_elements__WEBPACK_IMPORTED_MODULE_24__["DragDropSurveyElements"].restrictDragQuestionBetweenPages =
21671
21712
  _creator_settings__WEBPACK_IMPORTED_MODULE_2__["settings"].dragDrop.restrictDragQuestionBetweenPages;
21672
21713
  this.dragDropSurveyElements = new _survey_elements__WEBPACK_IMPORTED_MODULE_24__["DragDropSurveyElements"](null, this);
21714
+ this.dragDropSurveyElements.onGetMaxNestedPanels = function () { return _this.maxNestedPanels; };
21673
21715
  var isDraggedFromToolbox = false;
21674
21716
  this.dragDropSurveyElements.onDragStart.add(function (sender, options) {
21675
- _this.dragDropSurveyElements.maxNestedPanels = _this.maxNestedPanels;
21676
21717
  isDraggedFromToolbox = !sender.draggedElement.parent;
21677
21718
  _this.onDragStart.fire(sender, options);
21678
21719
  _this.startUndoRedoTransaction("drag drop");
@@ -22824,6 +22865,12 @@ var CreatorBase = /** @class */ (function (_super) {
22824
22865
  this.onPropertyGridShowModal.fire(this, options);
22825
22866
  };
22826
22867
  CreatorBase.prototype.onCanDeleteItemCallback = function (object, item, allowDelete) {
22868
+ if (!!item && item["isPage"]) {
22869
+ if (this.pageEditMode === "bypage")
22870
+ return item !== this.survey.currentPage;
22871
+ if (this.pageEditMode === "single")
22872
+ return false;
22873
+ }
22827
22874
  return this.canDeleteItem(object, item, allowDelete);
22828
22875
  };
22829
22876
  CreatorBase.prototype.onCollectionItemDeletingCallback = function (obj, property, collection, item) {
@@ -23523,12 +23570,23 @@ function isContentElement(element) {
23523
23570
  }
23524
23571
  return false;
23525
23572
  }
23573
+ function getQuestionFromElement(element) {
23574
+ if (!element)
23575
+ return null;
23576
+ if (!!element.row)
23577
+ return element.row.data;
23578
+ if (!!element.column)
23579
+ return element.column.colOwner;
23580
+ return null;
23581
+ }
23526
23582
  var editableStringRendererName = "svc-string-editor";
23527
23583
  function getElementWrapperComponentName(element, reason, isPopupEditorContent) {
23528
23584
  if (reason === "logo-image") {
23529
23585
  return "svc-logo-image";
23530
23586
  }
23531
23587
  if (reason === "cell" || reason === "column-header" || reason === "row-header") {
23588
+ if (isContentElement(getQuestionFromElement(element)))
23589
+ return undefined;
23532
23590
  return "svc-matrix-cell";
23533
23591
  }
23534
23592
  if (!isContentElement(element)) {
@@ -23603,8 +23661,11 @@ function getItemValueWrapperComponentData(item, question, creator) {
23603
23661
  };
23604
23662
  }
23605
23663
  function isStringEditable(element, name) {
23606
- var parentIsMatrix = !!element.data && element.parentQuestion instanceof survey_core__WEBPACK_IMPORTED_MODULE_1__["QuestionMatrixDropdownModelBase"];
23607
- return !parentIsMatrix && (!isContentElement(element) || element.isEditableTemplateElement);
23664
+ if (element.parentQuestion instanceof survey_core__WEBPACK_IMPORTED_MODULE_1__["QuestionMatrixDropdownModelBase"]) {
23665
+ if (!!element.data || isContentElement(element.parentQuestion))
23666
+ return false;
23667
+ }
23668
+ return !isContentElement(element) || element.isEditableTemplateElement;
23608
23669
  }
23609
23670
  function isTextInput(target) {
23610
23671
  if (!target.tagName)
@@ -24073,9 +24134,11 @@ var QuestionColorModel = /** @class */ (function (_super) {
24073
24134
  }
24074
24135
  newValue = (newValue.match(/#([0-9a-fA-F]){1,6}/) || [DEFAULT_COLOR])[0];
24075
24136
  if (newValue.length === 4) {
24137
+ var value = newValue.slice(0, 1);
24076
24138
  for (var i = 1; i < 4; i++) {
24077
- newValue += newValue[i];
24139
+ value += newValue[i] + newValue[i];
24078
24140
  }
24141
+ newValue = value;
24079
24142
  }
24080
24143
  if (newValue.length < 7) {
24081
24144
  var length_1 = newValue.length;
@@ -24085,6 +24148,12 @@ var QuestionColorModel = /** @class */ (function (_super) {
24085
24148
  }
24086
24149
  return newValue;
24087
24150
  };
24151
+ QuestionColorModel.prototype.isNewValueEqualsToValue = function (newValue) {
24152
+ if (_super.prototype.isNewValueEqualsToValue.call(this, newValue) || this.isTwoValueEquals(newValue, this.value, true, true))
24153
+ return true;
24154
+ else
24155
+ return false;
24156
+ };
24088
24157
  QuestionColorModel.prototype.setNewValue = function (newValue) {
24089
24158
  this.resetRenderedValue();
24090
24159
  _super.prototype.setNewValue.call(this, this.getCorrectedValue(newValue));
@@ -25244,7 +25313,7 @@ var __spreadArray = function (to, from) {
25244
25313
  /*!******************************!*\
25245
25314
  !*** ./src/entries/index.ts ***!
25246
25315
  \******************************/
25247
- /*! 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, SearchManager, propertyGridCss, QuestionConverter, svgBundle, SurveyTextWorkerError, SurveyTextWorkerParserError, SurveyTextWorkerJsonError, SurveyTextWorker, JsonDuplicateNameError, QuestionToolboxCategory, QuestionToolboxItem, QuestionToolbox, SidebarModel, SidebarTabModel, getNextItemValue, getNextItemText, getNextValue, findParentNode, focusFirstControl, getFirstNonTextElement, getNodesFromKoComponentInfo, propertyExists, isPropertyVisible, toggleHovered, clearNewLines, select, copyObject, copyCssClasses, assignDefaultV2Classes, wrapTextByCurlyBraces, capitalize, notShortCircuitAnd, imageMimeTypes, getAcceptedTypesByContentMode, getQuestionFromObj, scrollElementIntoView, ingectAlpha, convertRgbaToString, parseRgbaFromString, parseColor, HSBToRGB, RGBToHSB, assign, ColorCalculator, saveToFileHandler, SurveyQuestionEditorDefinition, ObjType, SurveyHelper, ResizeManager, UndoRedoPlugin, undoRedoTransaction, ignoreUndoRedo, UndoRedoManager, Transaction, UndoRedoAction, UndoRedoArrayAction, PagesController */
25316
+ /*! 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, PredefinedColors, getThemeFullName, getObjectDiffs, getThemeChanges, findSuitableTheme, ThemeBuilder, ThemeTabPlugin, initLogicOperator, LogicEvent, SurveyLogic, TranslationItemBase, TranslationItemString, TranslationItem, TranslationGroup, Translation, TranslationEditor, createImportCSVAction, createExportCSVAction, translationCss, TabTranslationPlugin, initialSettingsAllowShowEmptyTitleInDesignMode, TabDesignerViewModel, TabDesignerPlugin, SurveyLogicUI, TabLogicPlugin, logicCss, ToolboxToolViewModel, PageNavigatorViewModel, PageAdorner, RowViewModel, QuestionAdornerViewModel, QuestionDropdownAdornerViewModel, QuestionImageAdornerViewModel, QuestionRatingAdornerViewModel, ItemValueWrapperViewModel, ImageItemValueWrapperViewModel, MatrixCellWrapperEditSurvey, MatrixCellWrapperViewModel, SurveySimulatorModel, DEFAULT_MONITOR_DPI, simulatorDevices, SurveyResultsItemModel, SurveyResultsModel, LogoImageViewModel, StringItemsNavigatorBase, StringEditorConnector, StringEditorViewModelBase, QuestionEmbeddedSurveyModel, QuestionLinkValueModel, EditorLocalization, getLocString, SurveyJSON5, QuestionSpinEditorModel, QuestionColorModel, QuestionFileEditorModel, ResetValueAdorner, QuestionTextWithResetModel, QuestionCommentWithResetModel, setSurveyJSONForPropertyGrid, PropertyEditorSetupValue, PropertyGridEditorCollection, PropertyGridTitleActionsCreator, PropertyJSONGenerator, PropertyGridModel, PropertyGridEditor, PropertyGridEditorBoolean, PropertyGridEditorStringBase, PropertyGridEditorString, PropertyGridLinkEditor, PropertyGridEditorColor, PropertyGridEditorNumber, PropertyGridEditorImageSize, PropertyGridEditorText, PropertyGridEditorHtml, PropertyGridEditorStringArray, PropertyGridEditorDropdown, PropertyGridEditorSet, PropertyGridEditorPage, PropertyGridEditorQuestion, PropertyGridEditorQuestionSelectBase, PropertyGridEditorQuestionCarryForward, PropertyGridEditorQuestionValue, PropertyGridEditorExpression, PropertyGridEditorCondition, PropertyGridEditorMatrix, PropertyGridEditorMatrixItemValues, PropertyGridEditorMatrixRateValues, PropertyGridEditorMatrixColumns, PropertyGridEditorMatrixPages, PropertyGridEditorMatrixCalculatedValues, PropertyGridEditorMatrixHtmlConditions, PropertyGridEditorMatrixUrlConditions, PropertyGridEditorMatrixMutlipleTextItems, PropertyGridEditorMatrixMultipleTypes, PropertyGridEditorMatrixValidators, PropertyGridEditorMatrixTriggers, PropertyGridEditorBindings, PropertyGridViewModel, ObjectSelectorItem, ObjectSelector, ObjectSelectorModel, PropertyGridEditorQuestionRestfull, PropertyGridValueEditorBase, PropertyGridCellsEditor, PropertyGridValueEditor, PropertyGridRowValueEditor, PropertyGridPanelValueEditor, PropertyGridTriggerValueEditor, PropertyGridTriggerValueInLogicEditor, SearchManager, propertyGridCss, QuestionConverter, svgBundle, SurveyTextWorkerError, SurveyTextWorkerParserError, SurveyTextWorkerJsonError, SurveyTextWorker, JsonDuplicateNameError, QuestionToolboxCategory, QuestionToolboxItem, QuestionToolbox, SidebarModel, SidebarTabModel, getNextItemValue, getNextItemText, getNextValue, findParentNode, focusFirstControl, getFirstNonTextElement, getNodesFromKoComponentInfo, propertyExists, isPropertyVisible, toggleHovered, clearNewLines, select, copyObject, copyCssClasses, assignDefaultV2Classes, wrapTextByCurlyBraces, capitalize, notShortCircuitAnd, imageMimeTypes, getAcceptedTypesByContentMode, getQuestionFromObj, scrollElementIntoView, ingectAlpha, convertRgbaToString, parseRgbaFromString, parseColor, HSBToRGB, RGBToHSB, assign, ColorCalculator, saveToFileHandler, SurveyQuestionEditorDefinition, ObjType, SurveyHelper, ResizeManager, UndoRedoPlugin, undoRedoTransaction, ignoreUndoRedo, UndoRedoManager, Transaction, UndoRedoAction, UndoRedoArrayAction, PagesController */
25248
25317
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
25249
25318
 
25250
25319
  "use strict";
@@ -25363,13 +25432,17 @@ __webpack_require__.r(__webpack_exports__);
25363
25432
 
25364
25433
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "PredefinedThemes", function() { return _components_tabs_themes__WEBPACK_IMPORTED_MODULE_14__["PredefinedThemes"]; });
25365
25434
 
25366
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getThemeFullName", function() { return _components_tabs_themes__WEBPACK_IMPORTED_MODULE_14__["getThemeFullName"]; });
25367
-
25368
25435
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "PredefinedColors", function() { return _components_tabs_themes__WEBPACK_IMPORTED_MODULE_14__["PredefinedColors"]; });
25369
25436
 
25370
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "findSuitableTheme", function() { return _components_tabs_themes__WEBPACK_IMPORTED_MODULE_14__["findSuitableTheme"]; });
25371
-
25372
25437
  /* harmony import */ var _components_tabs_theme_builder__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../components/tabs/theme-builder */ "./src/components/tabs/theme-builder.ts");
25438
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getThemeFullName", function() { return _components_tabs_theme_builder__WEBPACK_IMPORTED_MODULE_15__["getThemeFullName"]; });
25439
+
25440
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getObjectDiffs", function() { return _components_tabs_theme_builder__WEBPACK_IMPORTED_MODULE_15__["getObjectDiffs"]; });
25441
+
25442
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getThemeChanges", function() { return _components_tabs_theme_builder__WEBPACK_IMPORTED_MODULE_15__["getThemeChanges"]; });
25443
+
25444
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "findSuitableTheme", function() { return _components_tabs_theme_builder__WEBPACK_IMPORTED_MODULE_15__["findSuitableTheme"]; });
25445
+
25373
25446
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ThemeBuilder", function() { return _components_tabs_theme_builder__WEBPACK_IMPORTED_MODULE_15__["ThemeBuilder"]; });
25374
25447
 
25375
25448
  /* harmony import */ var _components_tabs_theme_plugin__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../components/tabs/theme-plugin */ "./src/components/tabs/theme-plugin.ts");
@@ -25751,7 +25824,7 @@ __webpack_require__.r(__webpack_exports__);
25751
25824
  /* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_72__ = __webpack_require__(/*! survey-core */ "survey-core");
25752
25825
  /* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_72___default = /*#__PURE__*/__webpack_require__.n(survey_core__WEBPACK_IMPORTED_MODULE_72__);
25753
25826
  var Version;
25754
- Version = "" + "1.9.121";
25827
+ Version = "" + "1.9.122";
25755
25828
  //should be loaded before other styles for easier override
25756
25829
  __webpack_require__(/*! ../utils/context-button.scss */ "./src/utils/context-button.scss");
25757
25830
 
@@ -25842,7 +25915,7 @@ __webpack_require__(/*! ../utils/design.scss */ "./src/utils/design.scss");
25842
25915
  __webpack_require__(/*! ../utils/layout.scss */ "./src/utils/layout.scss");
25843
25916
 
25844
25917
  survey_core__WEBPACK_IMPORTED_MODULE_72__["settings"].supportCreatorV2 = true;
25845
- Object(survey_core__WEBPACK_IMPORTED_MODULE_72__["checkLibraryVersion"])("" + "1.9.121", "survey-creator-core");
25918
+ Object(survey_core__WEBPACK_IMPORTED_MODULE_72__["checkLibraryVersion"])("" + "1.9.122", "survey-creator-core");
25846
25919
 
25847
25920
 
25848
25921
  /***/ }),
@@ -28688,6 +28761,7 @@ var enStrings = {
28688
28761
  both: "Both",
28689
28762
  left: "Left",
28690
28763
  right: "Right",
28764
+ leftRight: "Left and right",
28691
28765
  color: "color",
28692
28766
  date: "date",
28693
28767
  datetime: "datetime",
@@ -34240,13 +34314,6 @@ var PropertyGridEditorMatrixPages = /** @class */ (function (_super) {
34240
34314
  PropertyGridEditorMatrixPages.prototype.fit = function (prop) {
34241
34315
  return prop.type == "surveypages";
34242
34316
  };
34243
- PropertyGridEditorMatrixPages.prototype.onMatrixAllowRemoveRow = function (obj, row) {
34244
- var page = row.editingObj;
34245
- if (!page || !page.survey) {
34246
- return;
34247
- }
34248
- return page.survey.currentPage !== page;
34249
- };
34250
34317
  PropertyGridEditorMatrixPages.prototype.getColumnClassName = function (obj, prop) {
34251
34318
  return "page@" + obj.getType();
34252
34319
  };
@@ -36981,7 +37048,6 @@ var DragDropSurveyElements = /** @class */ (function (_super) {
36981
37048
  // protected ghostSurveyElement: IElement = null;
36982
37049
  _this.dragOverIndicatorElement = null;
36983
37050
  _this.isDraggedElementSelected = false;
36984
- _this.maxNestedPanels = -1;
36985
37051
  _this.doBanDropHere = function () {
36986
37052
  _this.removeDragOverMarker(_this.dragOverIndicatorElement);
36987
37053
  _this.removeDragOverMarker(_this.dropTarget);
@@ -37075,6 +37141,11 @@ var DragDropSurveyElements = /** @class */ (function (_super) {
37075
37141
  enumerable: false,
37076
37142
  configurable: true
37077
37143
  });
37144
+ Object.defineProperty(DragDropSurveyElements.prototype, "maxNestedPanels", {
37145
+ get: function () { return this.onGetMaxNestedPanels ? this.onGetMaxNestedPanels() : -1; },
37146
+ enumerable: false,
37147
+ configurable: true
37148
+ });
37078
37149
  // private isRight: boolean;
37079
37150
  // protected prevIsRight: boolean;
37080
37151
  DragDropSurveyElements.prototype.startDragToolboxItem = function (event, draggedElementJson, toolboxItemModel) {
@@ -39034,6 +39105,7 @@ var QuestionToolbox = /** @class */ (function (_super) {
39034
39105
  iconName: iconName,
39035
39106
  title: title,
39036
39107
  tooltip: title,
39108
+ className: "svc-toolbox__item svc-toolbox__item--" + iconName,
39037
39109
  json: elementJson,
39038
39110
  isCopied: false,
39039
39111
  category: category