survey-creator-core 1.9.98 → 1.9.99

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.98
2
+ * SurveyJS Creator v1.9.99
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
@@ -5097,15 +5097,19 @@ var AceJsonEditorModel = /** @class */ (function (_super) {
5097
5097
  this.isProcessingImmediately = false;
5098
5098
  };
5099
5099
  AceJsonEditorModel.prototype.init = function (aceEditor) {
5100
+ var _a, _b;
5100
5101
  this.aceEditor = aceEditor;
5101
- this.aceEditor.commands["removeCommand"]("find");
5102
+ var aceModules = (_b = (_a = window["ace"]) === null || _a === void 0 ? void 0 : _a.define) === null || _b === void 0 ? void 0 : _b.modules;
5103
+ if (!(aceModules && aceModules["ace/ext/searchbox"])) {
5104
+ this.aceEditor.commands["removeCommand"]("find");
5105
+ }
5102
5106
  this.aceEditor.setReadOnly(this.readOnly);
5103
5107
  if (AceJsonEditorModel.aceBasePath) {
5104
5108
  try {
5105
5109
  window["ace"]["config"].set("basePath", AceJsonEditorModel.aceBasePath);
5106
5110
  this.aceEditor.session.setMode("ace/mode/json");
5107
5111
  }
5108
- catch (_a) { }
5112
+ catch (_c) { }
5109
5113
  }
5110
5114
  var self = this;
5111
5115
  this.aceEditor.setShowPrintMargin(false);
@@ -9848,13 +9852,11 @@ survey_core__WEBPACK_IMPORTED_MODULE_1__["ComponentCollection"].Instance.add({
9848
9852
  "unit": "px",
9849
9853
  "title": Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_0__["getLocString"])("theme.boxShadowX"),
9850
9854
  "titleLocation": "left",
9851
- "min": 0,
9852
9855
  },
9853
9856
  {
9854
9857
  "type": "spinedit",
9855
9858
  "name": "y",
9856
9859
  "unit": "px",
9857
- "min": 0,
9858
9860
  "startWithNewLine": false,
9859
9861
  "title": Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_0__["getLocString"])("theme.boxShadowY"),
9860
9862
  "titleLocation": "left"
@@ -10148,9 +10150,9 @@ survey_core__WEBPACK_IMPORTED_MODULE_0__["ComponentCollection"].Instance.add({
10148
10150
  descriptionLocation: "hidden",
10149
10151
  choices: [
10150
10152
  { value: "400", text: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_1__["getLocString"])("theme.fontWeightRegular") },
10151
- { value: "500", text: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_1__["getLocString"])("theme.fontWeightSemiBold") },
10152
- { value: "600", text: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_1__["getLocString"])("theme.fontWeightBold") },
10153
- { value: "700", text: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_1__["getLocString"])("theme.fontWeightHeavy") },
10153
+ { value: "600", text: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_1__["getLocString"])("theme.fontWeightSemiBold") },
10154
+ { value: "700", text: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_1__["getLocString"])("theme.fontWeightBold") },
10155
+ { value: "800", text: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_1__["getLocString"])("theme.fontWeightHeavy") },
10154
10156
  ],
10155
10157
  },
10156
10158
  {
@@ -10534,6 +10536,7 @@ var ThemeSurveyTabViewModel = /** @class */ (function (_super) {
10534
10536
  _this.themeChanges = {};
10535
10537
  _this.colorCalculator = new _utils_utils__WEBPACK_IMPORTED_MODULE_6__["ColorCalculator"]();
10536
10538
  _this.blockChanges = false;
10539
+ _this.blockThemeChangedNotifications = 0;
10537
10540
  _this.simulator = new _simulator__WEBPACK_IMPORTED_MODULE_1__["SurveySimulatorModel"]();
10538
10541
  _this.loadTheme(_this.surveyProvider.theme);
10539
10542
  _this.themeEditorSurveyValue = _this.createThemeEditorSurvey();
@@ -10623,8 +10626,8 @@ var ThemeSurveyTabViewModel = /** @class */ (function (_super) {
10623
10626
  };
10624
10627
  ThemeSurveyTabViewModel.prototype.loadTheme = function (theme) {
10625
10628
  this.themeName = theme.themeName;
10626
- this.themePalette = theme.themePalette;
10627
- this.themeMode = theme.isCompact ? "lightweight" : undefined;
10629
+ this.themePalette = theme.colorPalette;
10630
+ this.themeMode = theme.isPanelless ? "lightweight" : undefined;
10628
10631
  this.backgroundImage = theme.backgroundImage;
10629
10632
  this.backgroundImageFit = theme.backgroundImageFit;
10630
10633
  this.backgroundImageAttachment = theme.backgroundImageAttachment;
@@ -10719,12 +10722,18 @@ var ThemeSurveyTabViewModel = /** @class */ (function (_super) {
10719
10722
  this.updateSimulatorSurvey(json, currTheme);
10720
10723
  };
10721
10724
  ThemeSurveyTabViewModel.prototype.initialize = function (json, options) {
10722
- this.setJSON(json, this.startTheme);
10723
- this.updatePageList();
10724
- if (options.showPagesInTestSurveyTab !== undefined) {
10725
- this.showPagesInTestSurveyTab = options.showPagesInTestSurveyTab;
10725
+ this.blockThemeChangedNotifications += 1;
10726
+ try {
10727
+ this.setJSON(json, this.startTheme);
10728
+ this.updatePageList();
10729
+ if (options.showPagesInTestSurveyTab !== undefined) {
10730
+ this.showPagesInTestSurveyTab = options.showPagesInTestSurveyTab;
10731
+ }
10732
+ this.buildActions();
10733
+ }
10734
+ finally {
10735
+ this.blockThemeChangedNotifications -= 1;
10726
10736
  }
10727
- this.buildActions();
10728
10737
  };
10729
10738
  ThemeSurveyTabViewModel.prototype.updatePageItem = function (page) {
10730
10739
  var item = this.getPageItemByPage(page);
@@ -10765,6 +10774,9 @@ var ThemeSurveyTabViewModel = /** @class */ (function (_super) {
10765
10774
  ThemeSurveyTabViewModel.prototype.resetTheme = function () {
10766
10775
  this.themeChanges = {};
10767
10776
  this.applySelectedTheme();
10777
+ if (this.themeName === "default" && this.themeMode === "panels" && this.themePalette === "light") {
10778
+ this.surveyProvider.isThemePristine = true;
10779
+ }
10768
10780
  };
10769
10781
  ThemeSurveyTabViewModel.prototype.show = function () {
10770
10782
  this.showInvisibleElements = false;
@@ -10924,12 +10936,12 @@ var ThemeSurveyTabViewModel = /** @class */ (function (_super) {
10924
10936
  _this.initializeColorCalculator();
10925
10937
  if (options.name === "themeMode") {
10926
10938
  _this.survey["isCompact"] = options.value === "lightweight";
10927
- _this.currentTheme.isCompact = options.value === "lightweight";
10939
+ _this.currentTheme.isPanelless = options.value === "lightweight";
10928
10940
  _this.applySelectedTheme();
10929
10941
  }
10930
10942
  else {
10931
10943
  _this.currentTheme.themeName = _this.themeName;
10932
- _this.currentTheme.themePalette = _this.themePalette;
10944
+ _this.currentTheme.colorPalette = _this.themePalette;
10933
10945
  _this.resetTheme();
10934
10946
  }
10935
10947
  return;
@@ -10943,6 +10955,10 @@ var ThemeSurveyTabViewModel = /** @class */ (function (_super) {
10943
10955
  _this.currentTheme.backgroundOpacity = options.value / 100;
10944
10956
  return;
10945
10957
  }
10958
+ _this.blockThemeChangedNotifications += 1;
10959
+ if (options.name == "commonScale") {
10960
+ _this.survey.triggerResponsiveness(true);
10961
+ }
10946
10962
  if (options.name === "--sjs-primary-backcolor") {
10947
10963
  _this.colorCalculator.calculateColors(options.value);
10948
10964
  _this.themeChanges["--sjs-primary-backcolor"] = options.value;
@@ -10970,6 +10986,7 @@ var ThemeSurveyTabViewModel = /** @class */ (function (_super) {
10970
10986
  var newTheme = {};
10971
10987
  Object(_utils_utils__WEBPACK_IMPORTED_MODULE_6__["assign"])(newTheme, _this.currentTheme.cssVariables, _this.themeChanges);
10972
10988
  _this.currentTheme.cssVariables = newTheme;
10989
+ _this.blockThemeChangedNotifications -= 1;
10973
10990
  _this.setThemeToSurvey();
10974
10991
  });
10975
10992
  themeEditorSurvey.getAllQuestions().forEach(function (q) { return q.allowRootStyle = false; });
@@ -11018,6 +11035,9 @@ var ThemeSurveyTabViewModel = /** @class */ (function (_super) {
11018
11035
  this.surveyProvider.theme = theme;
11019
11036
  }
11020
11037
  this.survey.applyTheme(this.surveyProvider.theme);
11038
+ if (this.blockThemeChangedNotifications == 0) {
11039
+ this.surveyProvider.raiseThemeChanged();
11040
+ }
11021
11041
  };
11022
11042
  ThemeSurveyTabViewModel.prototype.getThemeEditorSurveyJSON = function () {
11023
11043
  var themeEditorSurveyJSON = {
@@ -11040,31 +11060,24 @@ var ThemeSurveyTabViewModel = /** @class */ (function (_super) {
11040
11060
  allowClear: false
11041
11061
  },
11042
11062
  {
11043
- type: "panel",
11044
- name: "themeSettings",
11063
+ type: "buttongroup",
11064
+ name: "themePalette",
11065
+ titleLocation: "hidden",
11066
+ choices: [
11067
+ { value: "light", text: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.themePaletteLight") },
11068
+ { value: "dark", text: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.themePaletteDark") }
11069
+ ],
11070
+ defaultValue: "light"
11071
+ },
11072
+ {
11073
+ type: "buttongroup",
11074
+ name: "themeMode",
11045
11075
  title: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.themeMode"),
11046
- elements: [
11047
- {
11048
- type: "buttongroup",
11049
- name: "themeMode",
11050
- titleLocation: "hidden",
11051
- choices: [
11052
- { value: "panels", text: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.themeModePanels") },
11053
- { value: "lightweight", text: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.themeModeLightweight") }
11054
- ],
11055
- defaultValue: "panels"
11056
- },
11057
- {
11058
- type: "buttongroup",
11059
- name: "themePalette",
11060
- titleLocation: "hidden",
11061
- choices: [
11062
- { value: "light", text: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.themePaletteLight") },
11063
- { value: "dark", text: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.themePaletteDark") }
11064
- ],
11065
- defaultValue: "light"
11066
- }
11067
- ]
11076
+ choices: [
11077
+ { value: "panels", text: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.themeModePanels") },
11078
+ { value: "lightweight", text: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.themeModeLightweight") }
11079
+ ],
11080
+ defaultValue: "panels"
11068
11081
  }
11069
11082
  ]
11070
11083
  },
@@ -11098,6 +11111,7 @@ var ThemeSurveyTabViewModel = /** @class */ (function (_super) {
11098
11111
  {
11099
11112
  type: "buttongroup",
11100
11113
  name: "backgroundImageFit",
11114
+ enableIf: "{backgroundImage} notempty",
11101
11115
  titleLocation: "hidden",
11102
11116
  choices: [
11103
11117
  { value: "auto", text: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.backgroundImageFitAuto") },
@@ -11109,6 +11123,7 @@ var ThemeSurveyTabViewModel = /** @class */ (function (_super) {
11109
11123
  {
11110
11124
  type: "buttongroup",
11111
11125
  name: "backgroundImageAttachment",
11126
+ enableIf: "{backgroundImage} notempty",
11112
11127
  titleLocation: "hidden",
11113
11128
  choices: [
11114
11129
  { value: "fixed", text: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.backgroundImageAttachmentFixed") },
@@ -11119,6 +11134,7 @@ var ThemeSurveyTabViewModel = /** @class */ (function (_super) {
11119
11134
  {
11120
11135
  type: "spinedit",
11121
11136
  name: "backgroundOpacity",
11137
+ enableIf: "{backgroundImage} notempty",
11122
11138
  titleLocation: "left",
11123
11139
  title: Object(_editorLocalization__WEBPACK_IMPORTED_MODULE_3__["getLocString"])("theme.backgroundOpacity"),
11124
11140
  descriptionLocation: "hidden",
@@ -13940,6 +13956,22 @@ var CreatorBase = /** @class */ (function (_super) {
13940
13956
  *- options.title the default value of the title. You can change the default value.
13941
13957
  */
13942
13958
  _this.onConditionGetTitle = new CreatorEvent();
13959
+ /**
13960
+ * An event that is raised when Survey Creator populates a condition editor with operators. Use this event to hide individual condition operators.
13961
+ *
13962
+ * Parameters:
13963
+ *
13964
+ * - `sender`: `CreatorBase`\
13965
+ * A Survey Creator instance that raised the event.
13966
+ * - `options.questionName`: `String`\
13967
+ * The name of a question for which conditions are displayed.
13968
+ * - `options.operator`: `"empty"` | `"notempty"` | `"equal"` | `"notequal"` | `"contains"` | `"notcontains"` | `"anyof"` | `"allof"` | `"greater"` | `"less"` | `"greaterorequal"` | `"lessorequal"`\
13969
+ * A condition opeator for which the event is raised.
13970
+ * - `options.show`: `Boolean`\
13971
+ * A Boolean property that you can set to `false` if you want to hide the condition operator.
13972
+ *
13973
+ */
13974
+ _this.onGetConditionOperator = new CreatorEvent();
13943
13975
  /**
13944
13976
  * Use this event to modify the display text of a logic item in the Logic tab.
13945
13977
  *
@@ -14263,7 +14295,7 @@ var CreatorBase = /** @class */ (function (_super) {
14263
14295
  * Default value: `"defaultV2"`
14264
14296
  */
14265
14297
  _this.themeForPreview = "defaultV2";
14266
- _this.theme = { cssVariables: {} };
14298
+ _this._theme = { cssVariables: {} };
14267
14299
  _this._allowModifyPages = true;
14268
14300
  /**
14269
14301
  * Obsolete. Use the [`showDefaultLanguageInPreviewTab`](https://surveyjs.io/Documentation/Survey-Creator?id=surveycreator#showDefaultLanguageInPreviewTab) property instead.
@@ -14637,6 +14669,26 @@ var CreatorBase = /** @class */ (function (_super) {
14637
14669
  enumerable: false,
14638
14670
  configurable: true
14639
14671
  });
14672
+ Object.defineProperty(CreatorBase.prototype, "theme", {
14673
+ get: function () { return this._theme; },
14674
+ set: function (newTheme) {
14675
+ this._theme = newTheme;
14676
+ this.raiseThemeChanged();
14677
+ },
14678
+ enumerable: false,
14679
+ configurable: true
14680
+ });
14681
+ CreatorBase.prototype.raiseThemeChanged = function () {
14682
+ this.isThemePristine = false;
14683
+ this.hasPendingThemeChanges = true;
14684
+ var options = {
14685
+ propertyName: "theme",
14686
+ obj: this,
14687
+ value: this.theme,
14688
+ type: "THEME_MODIFIED"
14689
+ };
14690
+ this.setModified(options);
14691
+ };
14640
14692
  Object.defineProperty(CreatorBase.prototype, "allowModifyPages", {
14641
14693
  /**
14642
14694
  * Specifies whether users can add, edit, and delete survey pages.
@@ -15566,10 +15618,11 @@ var CreatorBase = /** @class */ (function (_super) {
15566
15618
  }
15567
15619
  };
15568
15620
  CreatorBase.prototype.setModified = function (options) {
15621
+ var _this = this;
15569
15622
  if (options === void 0) { options = null; }
15570
15623
  this.setState("modified");
15571
15624
  this.onModified.fire(this, options);
15572
- this.isAutoSave && this.doAutoSave();
15625
+ this.isAutoSave && this.doAutoSave(options.type === "THEME_MODIFIED" ? function () { return _this.doSaveTheme(); } : function () { return _this.doSave(); });
15573
15626
  };
15574
15627
  CreatorBase.prototype.notifySurveyPropertyChanged = function (options) {
15575
15628
  this.clearSurveyLogicForUpdate(options.target, options.name, options.newValue);
@@ -16462,6 +16515,17 @@ var CreatorBase = /** @class */ (function (_super) {
16462
16515
  this.onConditionGetTitle.fire(this, options);
16463
16516
  return options.title;
16464
16517
  };
16518
+ CreatorBase.prototype.isConditionOperatorEnabled = function (questionName, operator, isEnabled) {
16519
+ if (this.onGetConditionOperator.isEmpty)
16520
+ return isEnabled;
16521
+ var options = {
16522
+ questionName: questionName,
16523
+ operator: operator,
16524
+ show: isEnabled
16525
+ };
16526
+ this.onGetConditionOperator.fire(this, options);
16527
+ return options.show;
16528
+ };
16465
16529
  CreatorBase.prototype.onLogicGetTitleCallback = function (expression, expressionText, text, logicItem) {
16466
16530
  if (this.onLogicItemDisplayText.isEmpty)
16467
16531
  return text;
@@ -16498,9 +16562,11 @@ var CreatorBase = /** @class */ (function (_super) {
16498
16562
  this.onTranslationExportItem.fire(this, options);
16499
16563
  return options.text;
16500
16564
  };
16501
- CreatorBase.prototype.doAutoSave = function () {
16565
+ CreatorBase.prototype.doAutoSave = function (saveFunc) {
16566
+ var _this = this;
16567
+ if (saveFunc === void 0) { saveFunc = function () { return _this.doSave(); }; }
16502
16568
  if (this.autoSaveDelay <= 0) {
16503
- this.doSave();
16569
+ saveFunc();
16504
16570
  return;
16505
16571
  }
16506
16572
  if (!!this.autoSaveTimerId) {
@@ -16510,7 +16576,7 @@ var CreatorBase = /** @class */ (function (_super) {
16510
16576
  this.autoSaveTimerId = setTimeout(function () {
16511
16577
  clearTimeout(self.autoSaveTimerId);
16512
16578
  self.autoSaveTimerId = null;
16513
- self.doSave();
16579
+ saveFunc();
16514
16580
  }, this.autoSaveDelay);
16515
16581
  };
16516
16582
  CreatorBase.prototype.doSave = function () {
@@ -16533,6 +16599,41 @@ var CreatorBase = /** @class */ (function (_super) {
16533
16599
  });
16534
16600
  }
16535
16601
  };
16602
+ CreatorBase.prototype.doSaveTheme = function () {
16603
+ var _this = this;
16604
+ this.setState("saving");
16605
+ if (this.hasPendingThemeChanges && this.saveThemeFunc) {
16606
+ this.saveNo++;
16607
+ this.saveThemeFunc(this.saveNo, function (no, isSuccess) {
16608
+ if (_this.saveNo !== no)
16609
+ return;
16610
+ if (isSuccess) {
16611
+ _this.setState("saved");
16612
+ _this.hasPendingThemeChanges = false;
16613
+ }
16614
+ else {
16615
+ _this.setState("modified");
16616
+ if (_this.showErrorOnFailedSave) {
16617
+ _this.notify(_this.getLocString("ed.saveError"), "error");
16618
+ }
16619
+ }
16620
+ });
16621
+ }
16622
+ };
16623
+ Object.defineProperty(CreatorBase.prototype, "saveThemeFunc", {
16624
+ /**
16625
+ * Assign to this property a function that will be called on clicking the 'Save' button or on any change if isAutoSave equals true.
16626
+ * @see isAutoSave
16627
+ */
16628
+ get: function () {
16629
+ return this.saveThemeFuncValue;
16630
+ },
16631
+ set: function (value) {
16632
+ this.saveThemeFuncValue = value;
16633
+ },
16634
+ enumerable: false,
16635
+ configurable: true
16636
+ });
16536
16637
  Object.defineProperty(CreatorBase.prototype, "saveSurveyFunc", {
16537
16638
  /**
16538
16639
  * Assign to this property a function that will be called on clicking the 'Save' button or on any change if isAutoSave equals true.
@@ -16768,6 +16869,12 @@ var CreatorBase = /** @class */ (function (_super) {
16768
16869
  Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([
16769
16870
  Object(survey_core__WEBPACK_IMPORTED_MODULE_1__["property"])()
16770
16871
  ], CreatorBase.prototype, "viewType", void 0);
16872
+ Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([
16873
+ Object(survey_core__WEBPACK_IMPORTED_MODULE_1__["property"])({ defaultValue: false })
16874
+ ], CreatorBase.prototype, "hasPendingThemeChanges", void 0);
16875
+ Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([
16876
+ Object(survey_core__WEBPACK_IMPORTED_MODULE_1__["property"])({ defaultValue: true })
16877
+ ], CreatorBase.prototype, "isThemePristine", void 0);
16771
16878
  Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([
16772
16879
  Object(survey_core__WEBPACK_IMPORTED_MODULE_1__["property"])({ defaultValue: true })
16773
16880
  ], CreatorBase.prototype, "showToolboxValue", void 0);
@@ -17336,7 +17443,8 @@ var settings = {
17336
17443
  * Drag Drop Settings
17337
17444
  */
17338
17445
  dragDrop: {
17339
- restrictDragQuestionBetweenPages: false
17446
+ restrictDragQuestionBetweenPages: false,
17447
+ allowDragToTheSameLine: true
17340
17448
  },
17341
17449
  /**
17342
17450
  * Creator layout settings
@@ -17401,6 +17509,7 @@ var EmptySurveyCreatorOptions = /** @class */ (function () {
17401
17509
  EmptySurveyCreatorOptions.prototype.onConditionGetTitleCallback = function (expression, title) {
17402
17510
  return title;
17403
17511
  };
17512
+ EmptySurveyCreatorOptions.prototype.isConditionOperatorEnabled = function (questionName, operator, isEnabled) { return isEnabled; };
17404
17513
  EmptySurveyCreatorOptions.prototype.onLogicGetTitleCallback = function (expression, displayExpression, text, logicItem) { return text; };
17405
17514
  EmptySurveyCreatorOptions.prototype.getTranslationExportedText = function (obj, name, locString, locale, text) { return text; };
17406
17515
  EmptySurveyCreatorOptions.prototype.uploadFiles = function (files, question, uploadingCallback) { };
@@ -17507,6 +17616,9 @@ var QuestionColorModel = /** @class */ (function (_super) {
17507
17616
  enumerable: false,
17508
17617
  configurable: true
17509
17618
  });
17619
+ QuestionColorModel.prototype.getSwatchCss = function () {
17620
+ return new survey_core__WEBPACK_IMPORTED_MODULE_1__["CssClassBuilder"]().append(this.cssClasses.swatch).append(this.cssClasses.swatchDisabled, this.isInputReadOnly).toString();
17621
+ };
17510
17622
  QuestionColorModel.prototype.getSwatchStyle = function () {
17511
17623
  return { backgroundColor: this.renderedValue };
17512
17624
  };
@@ -17550,7 +17662,7 @@ var QuestionColorModel = /** @class */ (function (_super) {
17550
17662
  });
17551
17663
  QuestionColorModel.prototype.createDropdownAction = function () {
17552
17664
  var _this = this;
17553
- var action = Object(survey_core__WEBPACK_IMPORTED_MODULE_1__["createDropdownActionModelAdvanced"])({}, {
17665
+ var action = Object(survey_core__WEBPACK_IMPORTED_MODULE_1__["createDropdownActionModelAdvanced"])({ enabled: new survey_core__WEBPACK_IMPORTED_MODULE_1__["ComputedUpdater"](function () { return !_this.isInputReadOnly; }) }, {
17554
17666
  onSelectionChanged: function (item) {
17555
17667
  _this.value = item.value;
17556
17668
  },
@@ -17699,6 +17811,9 @@ var QuestionFileEditorModel = /** @class */ (function (_super) {
17699
17811
  QuestionFileEditorModel.prototype.getIsClearButtonDisabled = function () {
17700
17812
  return !this.value || this.isInputReadOnly;
17701
17813
  };
17814
+ QuestionFileEditorModel.prototype.getChooseButtonCss = function () {
17815
+ return new survey_core__WEBPACK_IMPORTED_MODULE_1__["CssClassBuilder"]().append(this.cssClasses.chooseButton).append(this.cssClasses.chooseButtonDisabled, this.isInputReadOnly).toString();
17816
+ };
17702
17817
  return QuestionFileEditorModel;
17703
17818
  }(survey_core__WEBPACK_IMPORTED_MODULE_1__["QuestionFileModel"]));
17704
17819
 
@@ -18850,7 +18965,7 @@ __webpack_require__.r(__webpack_exports__);
18850
18965
  /* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_70__ = __webpack_require__(/*! survey-core */ "survey-core");
18851
18966
  /* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_70___default = /*#__PURE__*/__webpack_require__.n(survey_core__WEBPACK_IMPORTED_MODULE_70__);
18852
18967
  var Version;
18853
- Version = "" + "1.9.98";
18968
+ Version = "" + "1.9.99";
18854
18969
  //should be loaded before other styles for easier override
18855
18970
  __webpack_require__(/*! ../utils/context-button.scss */ "./src/utils/context-button.scss");
18856
18971
 
@@ -18939,7 +19054,7 @@ __webpack_require__(/*! ../utils/design.scss */ "./src/utils/design.scss");
18939
19054
  __webpack_require__(/*! ../utils/layout.scss */ "./src/utils/layout.scss");
18940
19055
 
18941
19056
  survey_core__WEBPACK_IMPORTED_MODULE_70__["settings"].supportCreatorV2 = true;
18942
- Object(survey_core__WEBPACK_IMPORTED_MODULE_70__["checkLibraryVersion"])("" + "1.9.98", "survey-creator-core");
19057
+ Object(survey_core__WEBPACK_IMPORTED_MODULE_70__["checkLibraryVersion"])("" + "1.9.99", "survey-creator-core");
18943
19058
 
18944
19059
 
18945
19060
  /***/ }),
@@ -21958,71 +22073,71 @@ var enStrings = {
21958
22073
  iconSize: "Icon size" // Auto-generated string
21959
22074
  },
21960
22075
  theme: {
21961
- "--background": "Background Color",
21962
- "--background-dim-light": "Background Dim Light Color",
21963
- "--primary-foreground": "Primary Foreground Color",
21964
- "--foreground": "Foreground Color",
21965
- "--base-unit": "Base Unit",
22076
+ "--background": "Background color",
22077
+ "--background-dim-light": "Background dim light color",
22078
+ "--primary-foreground": "Primary foreground color",
22079
+ "--foreground": "Foreground color",
22080
+ "--base-unit": "Base unit",
21966
22081
  groupGeneral: "General",
21967
22082
  groupAdvanced: "Advanced",
21968
22083
  "themeName": "Theme",
21969
- "themeMode": "Modes",
21970
- "themeModePanels": "Panels",
21971
- "themeModeLightweight": "Lightweight",
22084
+ "themeMode": "Question appearance",
22085
+ "themeModePanels": "Default",
22086
+ "themeModeLightweight": "Without Panels",
21972
22087
  "themePaletteLight": "Light",
21973
22088
  "themePaletteDark": "Dark",
21974
- primaryColor: "Accent Color",
22089
+ primaryColor: "Accent color",
21975
22090
  primaryDefaultColor: "Default",
21976
22091
  primaryDarkColor: "Hover",
21977
22092
  primaryLightColor: "Selected",
21978
- "backgroundDimColor": "Background Color",
21979
- "backgroundImage": "Background Image",
22093
+ "backgroundDimColor": "Background color",
22094
+ "backgroundImage": "Background image",
21980
22095
  "backgroundImageFitAuto": "Auto",
21981
22096
  "backgroundImageFitCover": "Cover",
21982
22097
  "backgroundImageFitContain": "Contain",
21983
22098
  "backgroundOpacity": "Opacity",
21984
22099
  "backgroundImageAttachmentFixed": "Fixed",
21985
22100
  "backgroundImageAttachmentScroll": "Scroll",
21986
- "panelBackgroundTransparency": "Panel Background Transparency",
21987
- "questionBackgroundTransparency": "Question Background Transparency",
21988
- questionPanel: "Question Panel",
21989
- questionTitle: "Question Title Font",
21990
- questionDescription: "Question Description Font",
21991
- editorPanel: "Editor",
21992
- editorFont: "Editor Font",
21993
- backcolor: "Default Background",
21994
- hovercolor: "Hover Background",
21995
- borderDecoration: "Border Decoration",
21996
- accentBackground: "Accent Background",
21997
- accentForeground: "Accent Foreground",
21998
- primaryForecolor: "Default Color",
21999
- primaryForecolorLight: "Disabled Color",
22000
- linesColors: "Lines",
22001
- borderDefault: "Major",
22002
- borderLight: "Minor",
22003
- fontFamily: "Font Family",
22004
- fontSize: "Font Size",
22101
+ "panelBackgroundTransparency": "Panel background opacity",
22102
+ "questionBackgroundTransparency": "Question background opacity",
22103
+ questionPanel: "Panel background and corner radius",
22104
+ questionTitle: "Question title font",
22105
+ questionDescription: "Question description font",
22106
+ editorPanel: "Input element",
22107
+ editorFont: "Input element font",
22108
+ backcolor: "Default background",
22109
+ hovercolor: "Hover background",
22110
+ borderDecoration: "Border decoration",
22111
+ accentBackground: "Accent background",
22112
+ accentForeground: "Accent foreground",
22113
+ primaryForecolor: "Default color",
22114
+ primaryForecolorLight: "Disabled color",
22115
+ linesColors: "Minor line colors",
22116
+ borderDefault: "Darker",
22117
+ borderLight: "Lighter",
22118
+ fontFamily: "Font family",
22119
+ fontSize: "Font size",
22005
22120
  color: "Color",
22006
22121
  size: "Size",
22007
22122
  fontWeightRegular: "Regular",
22008
22123
  fontWeightHeavy: "Heavy",
22009
- fontWeightSemiBold: "Semi-Bold",
22124
+ fontWeightSemiBold: "Semi-bold",
22010
22125
  fontWeightBold: "Bold",
22011
22126
  scale: "Scale",
22012
- cornerRadius: "Corner Radius",
22013
- surveyTitle: "Survey Title Font",
22014
- pageTitle: "Page Title Font",
22015
- pageDescription: "Page Description Font",
22127
+ cornerRadius: "Corner radius",
22128
+ surveyTitle: "Survey title font",
22129
+ pageTitle: "Page title font",
22130
+ pageDescription: "Page description font",
22016
22131
  boxShadowX: "X",
22017
22132
  boxShadowY: "Y",
22018
- boxShadowAddRule: "Add More Shadow Effect",
22133
+ boxShadowAddRule: "Add Shadow Effect",
22019
22134
  opacity: "Opacity",
22020
22135
  boxShadowBlur: "Blur",
22021
22136
  boxShadowSpread: "Spread",
22022
22137
  boxShadowDrop: "Drop",
22023
22138
  boxShadowInner: "Inner",
22024
- questionShadow: "Question Panel Border / Shadow",
22025
- editorShadow: "Editor Border / Shadow",
22139
+ questionShadow: "Shadow effects",
22140
+ editorShadow: "Input element shadow effects",
22026
22141
  names: {
22027
22142
  "default": "Default",
22028
22143
  "contrast": "Contrast",
@@ -23118,6 +23233,7 @@ var propertyGridCss = {
23118
23233
  color: {
23119
23234
  root: "spg-input spg-color-editor spg-input-container",
23120
23235
  swatch: "spg-color-editor__color-swatch",
23236
+ swatchDisabled: "spg-color-editor__color-swatch--disabled",
23121
23237
  colorInput: "spg-color-editor__color-input",
23122
23238
  control: "spg-color-editor__input spg-input-container__input",
23123
23239
  colorDropdown: "spg-input__edit-button",
@@ -23133,7 +23249,8 @@ var propertyGridCss = {
23133
23249
  clearButtonIcon: "icon-clear",
23134
23250
  fileInput: "sd-visuallyhidden",
23135
23251
  clearButton: "spg-input__edit-button",
23136
- chooseButton: "spg-input__edit-button spg-file-edit__choose-button"
23252
+ chooseButton: "spg-input__edit-button spg-file-edit__choose-button",
23253
+ chooseButtonDisabled: "spg-input__edit-button--disabled"
23137
23254
  },
23138
23255
  linkvalue: {
23139
23256
  content: "spg-link"
@@ -23944,6 +24061,7 @@ var ConditionEditor = /** @class */ (function (_super) {
23944
24061
  var qType = !!json ? json.type : null;
23945
24062
  opt.choices.forEach(function (choice, index) {
23946
24063
  var isOperatorEnabled = ConditionEditor.isOperatorEnabled(qType, _creator_settings__WEBPACK_IMPORTED_MODULE_2__["settings"].operators[choice.value]);
24064
+ isOperatorEnabled = _this.options.isConditionOperatorEnabled(questionName, choice.value, isOperatorEnabled);
23947
24065
  choice.setIsEnabled(isOperatorEnabled);
23948
24066
  choice.setIsVisible(isOperatorEnabled);
23949
24067
  });
@@ -23976,10 +24094,14 @@ var ConditionEditor = /** @class */ (function (_super) {
23976
24094
  this.setupConditionQuestionName(item, panel);
23977
24095
  if (!!panel.getQuestionByName("questionValue")) {
23978
24096
  panel.getQuestionByName("questionValue").value = item.value;
24097
+ this.updateSurveyVariable(item);
23979
24098
  }
23980
24099
  this.setupRemoveQuestion(panel);
23981
24100
  this.isSettingPanelValues = false;
23982
24101
  };
24102
+ ConditionEditor.prototype.updateSurveyVariable = function (item) {
24103
+ this.editSurvey.setVariable(item.questionName, item.value);
24104
+ };
23983
24105
  ConditionEditor.prototype.getConditionQuestions = function () {
23984
24106
  if (!this.context)
23985
24107
  return this.allConditionQuestions;
@@ -24021,6 +24143,7 @@ var ConditionEditor = /** @class */ (function (_super) {
24021
24143
  item.operator = panel.getQuestionByName("operator").value;
24022
24144
  if (!!panel.getQuestionByName("questionValue")) {
24023
24145
  item.value = panel.getQuestionByName("questionValue").value;
24146
+ this.updateSurveyVariable(item);
24024
24147
  }
24025
24148
  return item;
24026
24149
  };
@@ -25508,6 +25631,7 @@ var PropertyGridModel = /** @class */ (function () {
25508
25631
  if (!this.obj)
25509
25632
  return;
25510
25633
  new PropertyJSONGenerator(this.obj, this.options).setupObjPanel(page, false);
25634
+ this.survey.enterKeyAction = "loseFocus";
25511
25635
  this.survey.addPage(page);
25512
25636
  this.survey.getAllQuestions().forEach(function (q) {
25513
25637
  PropertyGridEditorCollection.onSetup(_this.obj, q, q.property, _this.options);
@@ -29412,6 +29536,8 @@ __webpack_require__.r(__webpack_exports__);
29412
29536
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./src/entries/helpers.ts");
29413
29537
  /* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! survey-core */ "survey-core");
29414
29538
  /* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(survey_core__WEBPACK_IMPORTED_MODULE_1__);
29539
+ /* harmony import */ var _creator_settings__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./creator-settings */ "./src/creator-settings.ts");
29540
+
29415
29541
 
29416
29542
 
29417
29543
  function calculateIsEdge(dropTargetNode, clientY) {
@@ -29427,6 +29553,14 @@ function calculateDragOverLocation(clientX, clientY, dropTargetNode) {
29427
29553
  var tg = rect.height / rect.width;
29428
29554
  var dx = clientX - rect.x;
29429
29555
  var dy = clientY - rect.y;
29556
+ if (!_creator_settings__WEBPACK_IMPORTED_MODULE_2__["settings"].dragDrop.allowDragToTheSameLine) {
29557
+ if (dy >= rect.height / 2) {
29558
+ return survey_core__WEBPACK_IMPORTED_MODULE_1__["DragTypeOverMeEnum"].Bottom;
29559
+ }
29560
+ else {
29561
+ return survey_core__WEBPACK_IMPORTED_MODULE_1__["DragTypeOverMeEnum"].Top;
29562
+ }
29563
+ }
29430
29564
  if (dy >= tg * dx) {
29431
29565
  if (dy >= -tg * dx + rect.height) {
29432
29566
  return survey_core__WEBPACK_IMPORTED_MODULE_1__["DragTypeOverMeEnum"].Bottom;
@@ -29459,12 +29593,13 @@ var DragDropSurveyElements = /** @class */ (function (_super) {
29459
29593
  _this.removeDragOverMarker(_this.dropTarget);
29460
29594
  };
29461
29595
  _this.doDrop = function () {
29596
+ var _a;
29462
29597
  if (!_this.dropTarget)
29463
29598
  return;
29464
29599
  var page = _this.parentElement;
29465
29600
  var dragged = _this.draggedElement;
29466
29601
  var src = _this.draggedElement;
29467
- var dest = _this.dropTarget;
29602
+ var dest = ((_a = _this.dragOverIndicatorElement) === null || _a === void 0 ? void 0 : _a.isPanel) ? _this.dragOverIndicatorElement : _this.dropTarget;
29468
29603
  var row = page.dragDropFindRow(dest);
29469
29604
  var targetIndex = _this.getElementIndexInPanel(dest, row);
29470
29605
  if (_this.dragOverLocation === survey_core__WEBPACK_IMPORTED_MODULE_1__["DragTypeOverMeEnum"].Right || _this.dragOverLocation === survey_core__WEBPACK_IMPORTED_MODULE_1__["DragTypeOverMeEnum"].Bottom) {
@@ -32087,10 +32222,11 @@ function RGBToHSB(r, g, b) {
32087
32222
  return [60 * (h < 0 ? h + 6 : h), v && (n / v) * 100, v * 100];
32088
32223
  }
32089
32224
  function assign() {
32090
- var objects = [];
32225
+ var inputs = [];
32091
32226
  for (var _i = 0; _i < arguments.length; _i++) {
32092
- objects[_i] = arguments[_i];
32227
+ inputs[_i] = arguments[_i];
32093
32228
  }
32229
+ var objects = (inputs || []).filter(function (obj) { return !!obj; });
32094
32230
  if (objects.length <= 1) {
32095
32231
  return;
32096
32232
  }