survey-react 1.9.111 → 1.9.113

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.
package/survey.react.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - Survey JavaScript library v1.9.111
2
+ * surveyjs - Survey JavaScript library v1.9.113
3
3
  * Copyright (c) 2015-2023 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
5
5
  */
@@ -3563,11 +3563,11 @@ var ChoicesRestful = /** @class */ (function (_super) {
3563
3563
  configurable: true
3564
3564
  });
3565
3565
  ChoicesRestful.prototype.clear = function () {
3566
- this.url = "";
3567
- this.path = "";
3568
- this.valueName = "";
3569
- this.titleName = "";
3570
- this.imageLinkName = "";
3566
+ this.url = undefined;
3567
+ this.path = undefined;
3568
+ this.valueName = undefined;
3569
+ this.titleName = undefined;
3570
+ this.imageLinkName = undefined;
3571
3571
  var properties = this.getCustomPropertiesNames();
3572
3572
  for (var i = 0; i < properties.length; i++) {
3573
3573
  if (this[properties[i]])
@@ -4503,12 +4503,12 @@ var CoverCell = /** @class */ (function () {
4503
4503
  enumerable: false,
4504
4504
  configurable: true
4505
4505
  });
4506
- Object.defineProperty(CoverCell.prototype, "textWidth", {
4506
+ Object.defineProperty(CoverCell.prototype, "textAreaWidth", {
4507
4507
  get: function () {
4508
- if (!this.cover.textWidth) {
4508
+ if (!this.cover.textAreaWidth) {
4509
4509
  return "";
4510
4510
  }
4511
- return "" + this.cover.textWidth + "px";
4511
+ return "" + this.cover.textAreaWidth + "px";
4512
4512
  },
4513
4513
  enumerable: false,
4514
4514
  configurable: true
@@ -4526,6 +4526,9 @@ var Cover = /** @class */ (function (_super) {
4526
4526
  ["top", "middle", "bottom"].forEach(function (positionY) {
4527
4527
  return ["left", "center", "right"].forEach(function (positionX) { return _this.cells.push(new CoverCell(_this, positionX, positionY)); });
4528
4528
  });
4529
+ _this.updateCoverClasses();
4530
+ _this.updateContentClasses();
4531
+ _this.updateBackgroundImageClasses();
4529
4532
  return _this;
4530
4533
  }
4531
4534
  Cover.prototype.calcBackgroundSize = function (backgroundImageFit) {
@@ -4537,8 +4540,31 @@ var Cover = /** @class */ (function (_super) {
4537
4540
  }
4538
4541
  return backgroundImageFit;
4539
4542
  };
4543
+ Cover.prototype.updateCoverClasses = function () {
4544
+ this.coverClasses = new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_2__["CssClassBuilder"]()
4545
+ .append("sv-cover")
4546
+ .append("sv-conver__without-background", (!this.backgroundColor || this.backgroundColor === "trasparent") && !this.backgroundImage)
4547
+ .append("sv-conver__overlap", this.overlapEnabled)
4548
+ .toString();
4549
+ };
4550
+ Cover.prototype.updateContentClasses = function () {
4551
+ var surveyWidthMode = !!this.survey && this.survey.calculateWidthMode();
4552
+ this.maxWidth = this.inheritWidthFrom === "survey" && !!surveyWidthMode && surveyWidthMode === "static" && this.survey.renderedWidth;
4553
+ this.contentClasses = new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_2__["CssClassBuilder"]()
4554
+ .append("sv-conver__content")
4555
+ .append("sv-conver__content--static", this.inheritWidthFrom === "survey" && !!surveyWidthMode && surveyWidthMode === "static")
4556
+ .append("sv-conver__content--responsive", this.inheritWidthFrom === "container" || (!!surveyWidthMode && surveyWidthMode === "responsive"))
4557
+ .toString();
4558
+ };
4559
+ Cover.prototype.updateBackgroundImageClasses = function () {
4560
+ this.backgroundImageClasses = new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_2__["CssClassBuilder"]()
4561
+ .append("sv-cover__background-image")
4562
+ .append("sv-cover__background-image--contain", this.backgroundImageFit === "contain")
4563
+ .append("sv-cover__background-image--tile", this.backgroundImageFit === "tile")
4564
+ .toString();
4565
+ };
4540
4566
  Cover.prototype.fromTheme = function (theme) {
4541
- _super.prototype.fromJSON.call(this, theme.cover);
4567
+ _super.prototype.fromJSON.call(this, theme.header);
4542
4568
  if (!!theme.cssVariables) {
4543
4569
  this.backgroundColor = theme.cssVariables["--sjs-cover-backcolor"];
4544
4570
  }
@@ -4553,42 +4579,30 @@ var Cover = /** @class */ (function (_super) {
4553
4579
  enumerable: false,
4554
4580
  configurable: true
4555
4581
  });
4556
- Object.defineProperty(Cover.prototype, "renderedTextWidth", {
4582
+ Object.defineProperty(Cover.prototype, "renderedtextAreaWidth", {
4557
4583
  get: function () {
4558
- return this.textWidth ? this.textWidth + "px" : undefined;
4584
+ return this.textAreaWidth ? this.textAreaWidth + "px" : undefined;
4559
4585
  },
4560
4586
  enumerable: false,
4561
4587
  configurable: true
4562
4588
  });
4563
- Object.defineProperty(Cover.prototype, "coverClasses", {
4589
+ Object.defineProperty(Cover.prototype, "survey", {
4564
4590
  get: function () {
4565
- return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_2__["CssClassBuilder"]()
4566
- .append("sv-cover")
4567
- .append("sv-conver__without-background", !this.backgroundColor && !this.backgroundImage)
4568
- .append("sv-conver__overlap", this.overlap)
4569
- .toString();
4591
+ return this._survey;
4570
4592
  },
4571
- enumerable: false,
4572
- configurable: true
4573
- });
4574
- Object.defineProperty(Cover.prototype, "contentClasses", {
4575
- get: function () {
4576
- return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_2__["CssClassBuilder"]()
4577
- .append("sv-conver__content")
4578
- .append("sv-conver__content--static", this.areaWidth === "survey" && this.survey.calculateWidthMode() === "static")
4579
- .append("sv-conver__content--responsive", this.areaWidth === "container" || this.survey.calculateWidthMode() === "responsive")
4580
- .toString();
4581
- },
4582
- enumerable: false,
4583
- configurable: true
4584
- });
4585
- Object.defineProperty(Cover.prototype, "backgroundImageClasses", {
4586
- get: function () {
4587
- return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_2__["CssClassBuilder"]()
4588
- .append("sv-cover__background-image")
4589
- .append("sv-cover__background-image--contain", this.backgroundImageFit === "contain")
4590
- .append("sv-cover__background-image--tile", this.backgroundImageFit === "tile")
4591
- .toString();
4593
+ set: function (newValue) {
4594
+ var _this = this;
4595
+ if (this._survey === newValue)
4596
+ return;
4597
+ this._survey = newValue;
4598
+ if (!!newValue) {
4599
+ this.updateContentClasses();
4600
+ this._survey.onPropertyChanged.add(function (sender, options) {
4601
+ if (options.name == "widthMode" || options.name == "width") {
4602
+ _this.updateContentClasses();
4603
+ }
4604
+ });
4605
+ }
4592
4606
  },
4593
4607
  enumerable: false,
4594
4608
  configurable: true
@@ -4606,24 +4620,33 @@ var Cover = /** @class */ (function (_super) {
4606
4620
  enumerable: false,
4607
4621
  configurable: true
4608
4622
  });
4623
+ Cover.prototype.propertyValueChanged = function (name, oldValue, newValue) {
4624
+ _super.prototype.propertyValueChanged.call(this, name, oldValue, newValue);
4625
+ if (name === "backgroundColor" || name === "backgroundImage" || name === "overlapEnabled") {
4626
+ this.updateCoverClasses();
4627
+ }
4628
+ if (name === "inheritWidthFrom") {
4629
+ this.updateContentClasses();
4630
+ }
4631
+ if (name === "backgroundImageFit") {
4632
+ this.updateBackgroundImageClasses();
4633
+ }
4634
+ };
4609
4635
  __decorate([
4610
4636
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])()
4611
4637
  ], Cover.prototype, "height", void 0);
4612
4638
  __decorate([
4613
4639
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])()
4614
- ], Cover.prototype, "areaWidth", void 0);
4640
+ ], Cover.prototype, "inheritWidthFrom", void 0);
4615
4641
  __decorate([
4616
4642
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])()
4617
- ], Cover.prototype, "textWidth", void 0);
4643
+ ], Cover.prototype, "textAreaWidth", void 0);
4618
4644
  __decorate([
4619
4645
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])()
4620
- ], Cover.prototype, "invertText", void 0);
4646
+ ], Cover.prototype, "textGlowEnabled", void 0);
4621
4647
  __decorate([
4622
4648
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])()
4623
- ], Cover.prototype, "glowText", void 0);
4624
- __decorate([
4625
- Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])()
4626
- ], Cover.prototype, "overlap", void 0);
4649
+ ], Cover.prototype, "overlapEnabled", void 0);
4627
4650
  __decorate([
4628
4651
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])()
4629
4652
  ], Cover.prototype, "backgroundColor", void 0);
@@ -4670,17 +4693,28 @@ var Cover = /** @class */ (function (_super) {
4670
4693
  __decorate([
4671
4694
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])()
4672
4695
  ], Cover.prototype, "descriptionStyle", void 0);
4696
+ __decorate([
4697
+ Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])()
4698
+ ], Cover.prototype, "coverClasses", void 0);
4699
+ __decorate([
4700
+ Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])()
4701
+ ], Cover.prototype, "contentClasses", void 0);
4702
+ __decorate([
4703
+ Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])()
4704
+ ], Cover.prototype, "maxWidth", void 0);
4705
+ __decorate([
4706
+ Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])()
4707
+ ], Cover.prototype, "backgroundImageClasses", void 0);
4673
4708
  return Cover;
4674
4709
  }(_base__WEBPACK_IMPORTED_MODULE_0__["Base"]));
4675
4710
 
4676
4711
  _jsonobject__WEBPACK_IMPORTED_MODULE_1__["Serializer"].addClass("cover", [
4677
4712
  { name: "height:number", minValue: 0, default: 256 },
4678
- { name: "areaWidth", default: "survey" },
4679
- { name: "textWidth:number", minValue: 0, default: 512 },
4680
- { name: "invertText:boolean" },
4681
- { name: "glowText:boolean" },
4682
- { name: "overlap:boolean" },
4683
- { name: "backgroundImage" },
4713
+ { name: "inheritWidthFrom", default: "survey" },
4714
+ { name: "textAreaWidth:number", minValue: 0, default: 512 },
4715
+ { name: "textGlowEnabled:boolean" },
4716
+ { name: "overlapEnabled:boolean" },
4717
+ { name: "backgroundImage:file" },
4684
4718
  { name: "backgroundImageOpacity:number", minValue: 0, maxValue: 1, default: 1 },
4685
4719
  { name: "backgroundImageFit", default: "cover", choices: ["cover", "fill", "contain"] },
4686
4720
  { name: "logoPositionX", default: "right" },
@@ -5663,7 +5697,7 @@ var defaultV2Css = {
5663
5697
  header: "sd-panel__header sd-element__header sd-element__header--location-top",
5664
5698
  collapsed: "sd-element--collapsed",
5665
5699
  expanded: "sd-element--expanded",
5666
- nested: "sd-element--nested",
5700
+ nested: "sd-element--nested sd-element--nested-with-borders",
5667
5701
  invisible: "sd-element--invisible",
5668
5702
  navigationButton: "",
5669
5703
  compact: "sd-element--with-frame sd-element--compact"
@@ -5687,6 +5721,7 @@ var defaultV2Css = {
5687
5721
  progressContainer: "sd-paneldynamic__progress-container",
5688
5722
  progress: "sd-progress",
5689
5723
  progressBar: "sd-progress__bar",
5724
+ nested: "sd-element--nested sd-element--nested-with-borders",
5690
5725
  progressText: "sd-paneldynamic__progress-text",
5691
5726
  separator: "sd-paneldynamic__separator",
5692
5727
  panelWrapper: "sd-paneldynamic__panel-wrapper",
@@ -5753,6 +5788,9 @@ var defaultV2Css = {
5753
5788
  contentLeft: "sd-question__content--left",
5754
5789
  titleNumInline: "sd-element__title--num-inline",
5755
5790
  titleLeftRoot: "sd-question--left",
5791
+ titleTopRoot: "sd-question--title-top",
5792
+ descriptionUnderInputRoot: "sd-question--description-under-input",
5793
+ titleBottomRoot: "sd-question--title-bottom",
5756
5794
  titleOnAnswer: "sd-question__title--answer",
5757
5795
  titleEmpty: "sd-question__title--empty",
5758
5796
  titleOnError: "sd-question__title--error",
@@ -5775,6 +5813,8 @@ var defaultV2Css = {
5775
5813
  commentArea: "sd-question__comment-area",
5776
5814
  formGroup: "sd-question__form-group",
5777
5815
  hasError: "sd-question--error",
5816
+ hasErrorTop: "sd-question--error-top",
5817
+ hasErrorBottom: "sd-question--error-bottom",
5778
5818
  collapsed: "sd-element--collapsed",
5779
5819
  expanded: "sd-element--expanded",
5780
5820
  nested: "sd-element--nested",
@@ -5800,7 +5840,6 @@ var defaultV2Css = {
5800
5840
  root: "sd-question__erbox",
5801
5841
  icon: "",
5802
5842
  item: "",
5803
- tooltip: "sd-question__erbox--tooltip",
5804
5843
  outsideQuestion: "sd-question__erbox--outside-question",
5805
5844
  aboveQuestion: "sd-question__erbox--above-question",
5806
5845
  belowQuestion: "sd-question__erbox--below-question",
@@ -7152,6 +7191,7 @@ var DragDropCore = /** @class */ (function () {
7152
7191
  };
7153
7192
  DragDropCore.prototype.clear = function () {
7154
7193
  this.dropTarget = null;
7194
+ this.prevDropTarget = null;
7155
7195
  this.draggedElement = null;
7156
7196
  this.isBottom = null;
7157
7197
  this.parentElement = null;
@@ -7691,7 +7731,7 @@ var DragDropRankingChoices = /** @class */ (function (_super) {
7691
7731
  DragDropRankingChoices.prototype.createDraggedElementShortcut = function (text, draggedElementNode, event) {
7692
7732
  var draggedElementShortcut = document.createElement("div");
7693
7733
  draggedElementShortcut.className = this.shortcutClass + " sv-ranking-shortcut";
7694
- draggedElementShortcut.style.cssText = " \n cursor: grabbing;\n position: absolute;\n z-index: 10000;\n border-radius: calc(12.5 * var(--sjs-base-unit, var(--base-unit, 8px)));\n min-width: 100px;\n box-shadow: var(--sjs-shadow-medium, 0px 2px 6px 0px rgba(0, 0, 0, 0.1)), var(--sjs-shadow-large, 0px 8px 16px 0px rgba(0, 0, 0, 0.1));\n background-color: var(--sjs-general-backcolor, var(--background, #fff));\n font-family: var(--font-family, 'Open Sans');\n ";
7734
+ draggedElementShortcut.style.cssText = " \n cursor: grabbing;\n position: absolute;\n z-index: 10000;\n border-radius: calc(12.5 * var(--sjs-base-unit, var(--base-unit, 8px)));\n min-width: 100px;\n max-width: 400px;\n box-shadow: var(--sjs-shadow-medium, 0px 2px 6px 0px rgba(0, 0, 0, 0.1)), var(--sjs-shadow-large, 0px 8px 16px 0px rgba(0, 0, 0, 0.1));\n background-color: var(--sjs-general-backcolor, var(--background, #fff));\n font-family: var(--font-family, 'Open Sans');\n ";
7695
7735
  var isDeepClone = true;
7696
7736
  var clone = draggedElementNode.cloneNode(isDeepClone);
7697
7737
  draggedElementShortcut.appendChild(clone);
@@ -7886,12 +7926,16 @@ var DragDropRankingSelectToRank = /** @class */ (function (_super) {
7886
7926
  };
7887
7927
  DragDropRankingSelectToRank.prototype.doRankBetween = function (dropTargetNode, fromChoicesArray, toChoicesArray, rankFunction) {
7888
7928
  var questionModel = this.parentElement;
7929
+ var _a = this.getIndixies(questionModel, fromChoicesArray, toChoicesArray), fromIndex = _a.fromIndex, toIndex = _a.toIndex;
7930
+ rankFunction(questionModel, fromIndex, toIndex);
7931
+ this.doUIEffects(dropTargetNode, fromIndex, toIndex);
7932
+ };
7933
+ DragDropRankingSelectToRank.prototype.getIndixies = function (model, fromChoicesArray, toChoicesArray) {
7889
7934
  var fromIndex = fromChoicesArray.indexOf(this.draggedElement);
7890
7935
  var toIndex = toChoicesArray.indexOf(this.dropTarget);
7891
7936
  if (toIndex === -1)
7892
- toIndex = toChoicesArray.length;
7893
- rankFunction(questionModel, fromIndex, toIndex);
7894
- this.doUIEffects(dropTargetNode, fromIndex, toIndex);
7937
+ toIndex = model.value.length;
7938
+ return { fromIndex: fromIndex, toIndex: toIndex };
7895
7939
  };
7896
7940
  DragDropRankingSelectToRank.prototype.doUIEffects = function (dropTargetNode, fromIndex, toIndex) {
7897
7941
  var questionModel = this.parentElement;
@@ -8211,6 +8255,8 @@ var DropdownListModel = /** @class */ (function (_super) {
8211
8255
  };
8212
8256
  DropdownListModel.prototype.onSetFilterString = function () {
8213
8257
  var _this = this;
8258
+ if (!this.filterString && !this.popupModel.isVisible)
8259
+ return;
8214
8260
  if (!!this.filterString && !this.popupModel.isVisible) {
8215
8261
  this.popupModel.isVisible = true;
8216
8262
  }
@@ -8540,11 +8586,11 @@ var DropdownListModel = /** @class */ (function (_super) {
8540
8586
  this._popupModel.isVisible = true;
8541
8587
  return;
8542
8588
  }
8589
+ Object(_utils_utils__WEBPACK_IMPORTED_MODULE_8__["doKey2ClickBlur"])(event);
8590
+ this._popupModel.isVisible = false;
8543
8591
  this.resetFilterString();
8544
8592
  this.inputString = null;
8545
8593
  this.hintString = "";
8546
- Object(_utils_utils__WEBPACK_IMPORTED_MODULE_8__["doKey2ClickBlur"])(event);
8547
- this._popupModel.isVisible = false;
8548
8594
  event.stopPropagation();
8549
8595
  };
8550
8596
  DropdownListModel.prototype.onFocus = function (event) {
@@ -9169,7 +9215,7 @@ __webpack_require__.r(__webpack_exports__);
9169
9215
  /*!*************************************!*\
9170
9216
  !*** ./src/entries/chunks/model.ts ***!
9171
9217
  \*************************************/
9172
- /*! exports provided: Version, ReleaseDate, checkLibraryVersion, setLicenseKey, hasLicense, settings, Helpers, AnswerCountValidator, EmailValidator, NumericValidator, RegexValidator, SurveyValidator, TextValidator, ValidatorResult, ExpressionValidator, ValidatorRunner, ItemValue, Base, Event, EventBase, ArrayChanges, ComputedUpdater, SurveyError, SurveyElementCore, SurveyElement, DragTypeOverMeEnum, CalculatedValue, CustomError, AnswerRequiredError, OneAnswerRequiredError, RequreNumericError, ExceedSizeError, LocalizableString, LocalizableStrings, HtmlConditionItem, UrlConditionItem, ChoicesRestful, ChoicesRestfull, FunctionFactory, registerFunction, ConditionRunner, ExpressionRunner, ExpressionExecutor, Operand, Const, BinaryOperand, Variable, FunctionOperand, ArrayOperand, UnaryOperand, ConditionsParser, ProcessValue, JsonError, JsonIncorrectTypeError, JsonMetadata, JsonMetadataClass, JsonMissingTypeError, JsonMissingTypeErrorBase, JsonObject, JsonObjectProperty, JsonRequiredPropertyError, JsonUnknownPropertyError, Serializer, property, propertyArray, MatrixDropdownCell, MatrixDropdownRowModelBase, QuestionMatrixDropdownModelBase, MatrixDropdownColumn, matrixDropdownColumnTypes, QuestionMatrixDropdownRenderedCell, QuestionMatrixDropdownRenderedRow, QuestionMatrixDropdownRenderedTable, MatrixDropdownRowModel, QuestionMatrixDropdownModel, MatrixDynamicRowModel, QuestionMatrixDynamicModel, MatrixRowModel, MatrixCells, QuestionMatrixModel, QuestionMatrixBaseModel, MultipleTextItemModel, MultipleTextCell, MultipleTextErrorCell, MutlipleTextErrorRow, MutlipleTextRow, QuestionMultipleTextModel, MultipleTextEditorModel, PanelModel, PanelModelBase, QuestionRowModel, FlowPanelModel, PageModel, DefaultTitleModel, Question, QuestionNonValue, QuestionEmptyModel, QuestionCheckboxBase, QuestionSelectBase, QuestionCheckboxModel, QuestionTagboxModel, QuestionRankingModel, QuestionCommentModel, QuestionDropdownModel, QuestionFactory, ElementFactory, QuestionFileModel, QuestionHtmlModel, QuestionRadiogroupModel, QuestionRatingModel, RenderedRatingItem, QuestionExpressionModel, QuestionTextBase, CharacterCounter, QuestionTextModel, QuestionBooleanModel, QuestionImagePickerModel, ImageItemValue, QuestionImageModel, QuestionSignaturePadModel, QuestionPanelDynamicModel, QuestionPanelDynamicItem, SurveyTimer, SurveyTimerModel, tryNavigateToPage, tryFocusPage, createTOCListModel, getTocRootCss, TOCModel, SurveyProgressModel, SurveyProgressButtonsModel, SurveyModel, SurveyTrigger, SurveyTriggerComplete, SurveyTriggerSetValue, SurveyTriggerVisible, SurveyTriggerCopyValue, SurveyTriggerRunExpression, SurveyTriggerSkip, Trigger, PopupSurveyModel, SurveyWindowModel, TextPreProcessor, Notifier, Cover, CoverCell, dxSurveyService, englishStrings, surveyLocalization, surveyStrings, QuestionCustomWidget, CustomWidgetCollection, QuestionCustomModel, QuestionCompositeModel, ComponentQuestionJSON, ComponentCollection, StylesManager, ListModel, MultiSelectListModel, PopupModel, createDialogOptions, PopupBaseViewModel, PopupDropdownViewModel, PopupModalViewModel, createPopupViewModel, createPopupModalViewModel, DropdownListModel, DropdownMultiSelectListModel, QuestionButtonGroupModel, ButtonGroupItemModel, ButtonGroupItemValue, IsMobile, IsTouch, _setIsTouch, confirmAction, confirmActionAsync, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, sanitizeEditableContent, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropCore, DragDropChoices, DragDropRankingSelectToRank */
9218
+ /*! exports provided: Version, ReleaseDate, checkLibraryVersion, setLicenseKey, slk, hasLicense, settings, Helpers, AnswerCountValidator, EmailValidator, NumericValidator, RegexValidator, SurveyValidator, TextValidator, ValidatorResult, ExpressionValidator, ValidatorRunner, ItemValue, Base, Event, EventBase, ArrayChanges, ComputedUpdater, SurveyError, SurveyElementCore, SurveyElement, DragTypeOverMeEnum, CalculatedValue, CustomError, AnswerRequiredError, OneAnswerRequiredError, RequreNumericError, ExceedSizeError, LocalizableString, LocalizableStrings, HtmlConditionItem, UrlConditionItem, ChoicesRestful, ChoicesRestfull, FunctionFactory, registerFunction, ConditionRunner, ExpressionRunner, ExpressionExecutor, Operand, Const, BinaryOperand, Variable, FunctionOperand, ArrayOperand, UnaryOperand, ConditionsParser, ProcessValue, JsonError, JsonIncorrectTypeError, JsonMetadata, JsonMetadataClass, JsonMissingTypeError, JsonMissingTypeErrorBase, JsonObject, JsonObjectProperty, JsonRequiredPropertyError, JsonUnknownPropertyError, Serializer, property, propertyArray, MatrixDropdownCell, MatrixDropdownRowModelBase, QuestionMatrixDropdownModelBase, MatrixDropdownColumn, matrixDropdownColumnTypes, QuestionMatrixDropdownRenderedCell, QuestionMatrixDropdownRenderedRow, QuestionMatrixDropdownRenderedTable, MatrixDropdownRowModel, QuestionMatrixDropdownModel, MatrixDynamicRowModel, QuestionMatrixDynamicModel, MatrixRowModel, MatrixCells, QuestionMatrixModel, QuestionMatrixBaseModel, MultipleTextItemModel, MultipleTextCell, MultipleTextErrorCell, MutlipleTextErrorRow, MutlipleTextRow, QuestionMultipleTextModel, MultipleTextEditorModel, PanelModel, PanelModelBase, QuestionRowModel, FlowPanelModel, PageModel, DefaultTitleModel, Question, QuestionNonValue, QuestionEmptyModel, QuestionCheckboxBase, QuestionSelectBase, QuestionCheckboxModel, QuestionTagboxModel, QuestionRankingModel, QuestionCommentModel, QuestionDropdownModel, QuestionFactory, ElementFactory, QuestionFileModel, QuestionHtmlModel, QuestionRadiogroupModel, QuestionRatingModel, RenderedRatingItem, QuestionExpressionModel, QuestionTextBase, CharacterCounter, QuestionTextModel, QuestionBooleanModel, QuestionImagePickerModel, ImageItemValue, QuestionImageModel, QuestionSignaturePadModel, QuestionPanelDynamicModel, QuestionPanelDynamicItem, SurveyTimer, SurveyTimerModel, tryNavigateToPage, tryFocusPage, createTOCListModel, getTocRootCss, TOCModel, SurveyProgressModel, SurveyProgressButtonsModel, SurveyModel, SurveyTrigger, SurveyTriggerComplete, SurveyTriggerSetValue, SurveyTriggerVisible, SurveyTriggerCopyValue, SurveyTriggerRunExpression, SurveyTriggerSkip, Trigger, PopupSurveyModel, SurveyWindowModel, TextPreProcessor, Notifier, Cover, CoverCell, dxSurveyService, englishStrings, surveyLocalization, surveyStrings, QuestionCustomWidget, CustomWidgetCollection, QuestionCustomModel, QuestionCompositeModel, ComponentQuestionJSON, ComponentCollection, StylesManager, ListModel, MultiSelectListModel, PopupModel, createDialogOptions, PopupBaseViewModel, PopupDropdownViewModel, PopupModalViewModel, createPopupViewModel, createPopupModalViewModel, DropdownListModel, DropdownMultiSelectListModel, QuestionButtonGroupModel, ButtonGroupItemModel, ButtonGroupItemValue, IsMobile, IsTouch, _setIsTouch, confirmAction, confirmActionAsync, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, sanitizeEditableContent, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropCore, DragDropChoices, DragDropRankingSelectToRank */
9173
9219
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
9174
9220
 
9175
9221
  "use strict";
@@ -9178,6 +9224,7 @@ __webpack_require__.r(__webpack_exports__);
9178
9224
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ReleaseDate", function() { return ReleaseDate; });
9179
9225
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "checkLibraryVersion", function() { return checkLibraryVersion; });
9180
9226
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setLicenseKey", function() { return setLicenseKey; });
9227
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "slk", function() { return slk; });
9181
9228
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "hasLicense", function() { return hasLicense; });
9182
9229
  /* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../settings */ "./src/settings.ts");
9183
9230
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "settings", function() { return _settings__WEBPACK_IMPORTED_MODULE_0__["settings"]; });
@@ -9645,8 +9692,8 @@ __webpack_require__.r(__webpack_exports__);
9645
9692
  //import "../../modern.scss";
9646
9693
  var Version;
9647
9694
  var ReleaseDate;
9648
- Version = "" + "1.9.111";
9649
- ReleaseDate = "" + "2023-10-04";
9695
+ Version = "" + "1.9.113";
9696
+ ReleaseDate = "" + "2023-10-17";
9650
9697
  function checkLibraryVersion(ver, libraryName) {
9651
9698
  if (Version != ver) {
9652
9699
  var str = "survey-core has version '" + Version + "' and " + libraryName
@@ -9656,13 +9703,16 @@ function checkLibraryVersion(ver, libraryName) {
9656
9703
  }
9657
9704
  }
9658
9705
  function setLicenseKey(key) {
9659
- slk(key, lic, ReleaseDate);
9706
+ slk(key);
9707
+ }
9708
+ function slk(key) {
9709
+ _slk(key, lic, ReleaseDate);
9660
9710
  }
9661
9711
  function hasLicense(index) {
9662
9712
  return lic[index.toString()] === true;
9663
9713
  }
9664
9714
  var lic = {};
9665
- function slk(k, lh, rd) {
9715
+ function _slk(k, lh, rd) {
9666
9716
  if (!k)
9667
9717
  return;
9668
9718
  var en = function (s) {
@@ -9795,7 +9845,7 @@ function slk(k, lh, rd) {
9795
9845
  /*!**************************************!*\
9796
9846
  !*** ./src/entries/core-wo-model.ts ***!
9797
9847
  \**************************************/
9798
- /*! exports provided: Version, ReleaseDate, checkLibraryVersion, setLicenseKey, hasLicense, settings, Helpers, AnswerCountValidator, EmailValidator, NumericValidator, RegexValidator, SurveyValidator, TextValidator, ValidatorResult, ExpressionValidator, ValidatorRunner, ItemValue, Base, Event, EventBase, ArrayChanges, ComputedUpdater, SurveyError, SurveyElementCore, SurveyElement, DragTypeOverMeEnum, CalculatedValue, CustomError, AnswerRequiredError, OneAnswerRequiredError, RequreNumericError, ExceedSizeError, LocalizableString, LocalizableStrings, HtmlConditionItem, UrlConditionItem, ChoicesRestful, ChoicesRestfull, FunctionFactory, registerFunction, ConditionRunner, ExpressionRunner, ExpressionExecutor, Operand, Const, BinaryOperand, Variable, FunctionOperand, ArrayOperand, UnaryOperand, ConditionsParser, ProcessValue, JsonError, JsonIncorrectTypeError, JsonMetadata, JsonMetadataClass, JsonMissingTypeError, JsonMissingTypeErrorBase, JsonObject, JsonObjectProperty, JsonRequiredPropertyError, JsonUnknownPropertyError, Serializer, property, propertyArray, MatrixDropdownCell, MatrixDropdownRowModelBase, QuestionMatrixDropdownModelBase, MatrixDropdownColumn, matrixDropdownColumnTypes, QuestionMatrixDropdownRenderedCell, QuestionMatrixDropdownRenderedRow, QuestionMatrixDropdownRenderedTable, MatrixDropdownRowModel, QuestionMatrixDropdownModel, MatrixDynamicRowModel, QuestionMatrixDynamicModel, MatrixRowModel, MatrixCells, QuestionMatrixModel, QuestionMatrixBaseModel, MultipleTextItemModel, MultipleTextCell, MultipleTextErrorCell, MutlipleTextErrorRow, MutlipleTextRow, QuestionMultipleTextModel, MultipleTextEditorModel, PanelModel, PanelModelBase, QuestionRowModel, FlowPanelModel, PageModel, DefaultTitleModel, Question, QuestionNonValue, QuestionEmptyModel, QuestionCheckboxBase, QuestionSelectBase, QuestionCheckboxModel, QuestionTagboxModel, QuestionRankingModel, QuestionCommentModel, QuestionDropdownModel, QuestionFactory, ElementFactory, QuestionFileModel, QuestionHtmlModel, QuestionRadiogroupModel, QuestionRatingModel, RenderedRatingItem, QuestionExpressionModel, QuestionTextBase, CharacterCounter, QuestionTextModel, QuestionBooleanModel, QuestionImagePickerModel, ImageItemValue, QuestionImageModel, QuestionSignaturePadModel, QuestionPanelDynamicModel, QuestionPanelDynamicItem, SurveyTimer, SurveyTimerModel, tryNavigateToPage, tryFocusPage, createTOCListModel, getTocRootCss, TOCModel, SurveyProgressModel, SurveyProgressButtonsModel, SurveyModel, SurveyTrigger, SurveyTriggerComplete, SurveyTriggerSetValue, SurveyTriggerVisible, SurveyTriggerCopyValue, SurveyTriggerRunExpression, SurveyTriggerSkip, Trigger, PopupSurveyModel, SurveyWindowModel, TextPreProcessor, Notifier, Cover, CoverCell, dxSurveyService, englishStrings, surveyLocalization, surveyStrings, QuestionCustomWidget, CustomWidgetCollection, QuestionCustomModel, QuestionCompositeModel, ComponentQuestionJSON, ComponentCollection, StylesManager, ListModel, MultiSelectListModel, PopupModel, createDialogOptions, PopupBaseViewModel, PopupDropdownViewModel, PopupModalViewModel, createPopupViewModel, createPopupModalViewModel, DropdownListModel, DropdownMultiSelectListModel, QuestionButtonGroupModel, ButtonGroupItemModel, ButtonGroupItemValue, IsMobile, IsTouch, _setIsTouch, confirmAction, confirmActionAsync, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, sanitizeEditableContent, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropCore, DragDropChoices, DragDropRankingSelectToRank, defaultStandardCss, modernCss, SvgIconRegistry, SvgRegistry, SvgBundleViewModel, RendererFactory, ResponsivityManager, VerticalResponsivityManager, unwrap, getOriginalEvent, getElement, createDropdownActionModel, createDropdownActionModelAdvanced, getActionDropdownButtonTarget, BaseAction, Action, ActionDropdownViewModel, AdaptiveActionContainer, defaultActionBarCss, ActionContainer, DragOrClickHelper */
9848
+ /*! exports provided: Version, ReleaseDate, checkLibraryVersion, setLicenseKey, slk, hasLicense, settings, Helpers, AnswerCountValidator, EmailValidator, NumericValidator, RegexValidator, SurveyValidator, TextValidator, ValidatorResult, ExpressionValidator, ValidatorRunner, ItemValue, Base, Event, EventBase, ArrayChanges, ComputedUpdater, SurveyError, SurveyElementCore, SurveyElement, DragTypeOverMeEnum, CalculatedValue, CustomError, AnswerRequiredError, OneAnswerRequiredError, RequreNumericError, ExceedSizeError, LocalizableString, LocalizableStrings, HtmlConditionItem, UrlConditionItem, ChoicesRestful, ChoicesRestfull, FunctionFactory, registerFunction, ConditionRunner, ExpressionRunner, ExpressionExecutor, Operand, Const, BinaryOperand, Variable, FunctionOperand, ArrayOperand, UnaryOperand, ConditionsParser, ProcessValue, JsonError, JsonIncorrectTypeError, JsonMetadata, JsonMetadataClass, JsonMissingTypeError, JsonMissingTypeErrorBase, JsonObject, JsonObjectProperty, JsonRequiredPropertyError, JsonUnknownPropertyError, Serializer, property, propertyArray, MatrixDropdownCell, MatrixDropdownRowModelBase, QuestionMatrixDropdownModelBase, MatrixDropdownColumn, matrixDropdownColumnTypes, QuestionMatrixDropdownRenderedCell, QuestionMatrixDropdownRenderedRow, QuestionMatrixDropdownRenderedTable, MatrixDropdownRowModel, QuestionMatrixDropdownModel, MatrixDynamicRowModel, QuestionMatrixDynamicModel, MatrixRowModel, MatrixCells, QuestionMatrixModel, QuestionMatrixBaseModel, MultipleTextItemModel, MultipleTextCell, MultipleTextErrorCell, MutlipleTextErrorRow, MutlipleTextRow, QuestionMultipleTextModel, MultipleTextEditorModel, PanelModel, PanelModelBase, QuestionRowModel, FlowPanelModel, PageModel, DefaultTitleModel, Question, QuestionNonValue, QuestionEmptyModel, QuestionCheckboxBase, QuestionSelectBase, QuestionCheckboxModel, QuestionTagboxModel, QuestionRankingModel, QuestionCommentModel, QuestionDropdownModel, QuestionFactory, ElementFactory, QuestionFileModel, QuestionHtmlModel, QuestionRadiogroupModel, QuestionRatingModel, RenderedRatingItem, QuestionExpressionModel, QuestionTextBase, CharacterCounter, QuestionTextModel, QuestionBooleanModel, QuestionImagePickerModel, ImageItemValue, QuestionImageModel, QuestionSignaturePadModel, QuestionPanelDynamicModel, QuestionPanelDynamicItem, SurveyTimer, SurveyTimerModel, tryNavigateToPage, tryFocusPage, createTOCListModel, getTocRootCss, TOCModel, SurveyProgressModel, SurveyProgressButtonsModel, SurveyModel, SurveyTrigger, SurveyTriggerComplete, SurveyTriggerSetValue, SurveyTriggerVisible, SurveyTriggerCopyValue, SurveyTriggerRunExpression, SurveyTriggerSkip, Trigger, PopupSurveyModel, SurveyWindowModel, TextPreProcessor, Notifier, Cover, CoverCell, dxSurveyService, englishStrings, surveyLocalization, surveyStrings, QuestionCustomWidget, CustomWidgetCollection, QuestionCustomModel, QuestionCompositeModel, ComponentQuestionJSON, ComponentCollection, StylesManager, ListModel, MultiSelectListModel, PopupModel, createDialogOptions, PopupBaseViewModel, PopupDropdownViewModel, PopupModalViewModel, createPopupViewModel, createPopupModalViewModel, DropdownListModel, DropdownMultiSelectListModel, QuestionButtonGroupModel, ButtonGroupItemModel, ButtonGroupItemValue, IsMobile, IsTouch, _setIsTouch, confirmAction, confirmActionAsync, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, sanitizeEditableContent, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropCore, DragDropChoices, DragDropRankingSelectToRank, defaultStandardCss, modernCss, SvgIconRegistry, SvgRegistry, SvgBundleViewModel, RendererFactory, ResponsivityManager, VerticalResponsivityManager, unwrap, getOriginalEvent, getElement, createDropdownActionModel, createDropdownActionModelAdvanced, getActionDropdownButtonTarget, BaseAction, Action, ActionDropdownViewModel, AdaptiveActionContainer, defaultActionBarCss, ActionContainer, DragOrClickHelper */
9799
9849
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
9800
9850
 
9801
9851
  "use strict";
@@ -9809,6 +9859,8 @@ __webpack_require__.r(__webpack_exports__);
9809
9859
 
9810
9860
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "setLicenseKey", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__["setLicenseKey"]; });
9811
9861
 
9862
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "slk", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__["slk"]; });
9863
+
9812
9864
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "hasLicense", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__["hasLicense"]; });
9813
9865
 
9814
9866
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "settings", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__["settings"]; });
@@ -10258,7 +10310,7 @@ __webpack_require__.r(__webpack_exports__);
10258
10310
  /*!*****************************!*\
10259
10311
  !*** ./src/entries/core.ts ***!
10260
10312
  \*****************************/
10261
- /*! exports provided: Version, ReleaseDate, checkLibraryVersion, setLicenseKey, hasLicense, settings, Helpers, AnswerCountValidator, EmailValidator, NumericValidator, RegexValidator, SurveyValidator, TextValidator, ValidatorResult, ExpressionValidator, ValidatorRunner, ItemValue, Base, Event, EventBase, ArrayChanges, ComputedUpdater, SurveyError, SurveyElementCore, SurveyElement, DragTypeOverMeEnum, CalculatedValue, CustomError, AnswerRequiredError, OneAnswerRequiredError, RequreNumericError, ExceedSizeError, LocalizableString, LocalizableStrings, HtmlConditionItem, UrlConditionItem, ChoicesRestful, ChoicesRestfull, FunctionFactory, registerFunction, ConditionRunner, ExpressionRunner, ExpressionExecutor, Operand, Const, BinaryOperand, Variable, FunctionOperand, ArrayOperand, UnaryOperand, ConditionsParser, ProcessValue, JsonError, JsonIncorrectTypeError, JsonMetadata, JsonMetadataClass, JsonMissingTypeError, JsonMissingTypeErrorBase, JsonObject, JsonObjectProperty, JsonRequiredPropertyError, JsonUnknownPropertyError, Serializer, property, propertyArray, MatrixDropdownCell, MatrixDropdownRowModelBase, QuestionMatrixDropdownModelBase, MatrixDropdownColumn, matrixDropdownColumnTypes, QuestionMatrixDropdownRenderedCell, QuestionMatrixDropdownRenderedRow, QuestionMatrixDropdownRenderedTable, MatrixDropdownRowModel, QuestionMatrixDropdownModel, MatrixDynamicRowModel, QuestionMatrixDynamicModel, MatrixRowModel, MatrixCells, QuestionMatrixModel, QuestionMatrixBaseModel, MultipleTextItemModel, MultipleTextCell, MultipleTextErrorCell, MutlipleTextErrorRow, MutlipleTextRow, QuestionMultipleTextModel, MultipleTextEditorModel, PanelModel, PanelModelBase, QuestionRowModel, FlowPanelModel, PageModel, DefaultTitleModel, Question, QuestionNonValue, QuestionEmptyModel, QuestionCheckboxBase, QuestionSelectBase, QuestionCheckboxModel, QuestionTagboxModel, QuestionRankingModel, QuestionCommentModel, QuestionDropdownModel, QuestionFactory, ElementFactory, QuestionFileModel, QuestionHtmlModel, QuestionRadiogroupModel, QuestionRatingModel, RenderedRatingItem, QuestionExpressionModel, QuestionTextBase, CharacterCounter, QuestionTextModel, QuestionBooleanModel, QuestionImagePickerModel, ImageItemValue, QuestionImageModel, QuestionSignaturePadModel, QuestionPanelDynamicModel, QuestionPanelDynamicItem, SurveyTimer, SurveyTimerModel, tryNavigateToPage, tryFocusPage, createTOCListModel, getTocRootCss, TOCModel, SurveyProgressModel, SurveyProgressButtonsModel, SurveyModel, SurveyTrigger, SurveyTriggerComplete, SurveyTriggerSetValue, SurveyTriggerVisible, SurveyTriggerCopyValue, SurveyTriggerRunExpression, SurveyTriggerSkip, Trigger, PopupSurveyModel, SurveyWindowModel, TextPreProcessor, Notifier, Cover, CoverCell, dxSurveyService, englishStrings, surveyLocalization, surveyStrings, QuestionCustomWidget, CustomWidgetCollection, QuestionCustomModel, QuestionCompositeModel, ComponentQuestionJSON, ComponentCollection, StylesManager, ListModel, MultiSelectListModel, PopupModel, createDialogOptions, PopupBaseViewModel, PopupDropdownViewModel, PopupModalViewModel, createPopupViewModel, createPopupModalViewModel, DropdownListModel, DropdownMultiSelectListModel, QuestionButtonGroupModel, ButtonGroupItemModel, ButtonGroupItemValue, IsMobile, IsTouch, _setIsTouch, confirmAction, confirmActionAsync, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, sanitizeEditableContent, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropCore, DragDropChoices, DragDropRankingSelectToRank, defaultStandardCss, modernCss, SvgIconRegistry, SvgRegistry, SvgBundleViewModel, RendererFactory, ResponsivityManager, VerticalResponsivityManager, unwrap, getOriginalEvent, getElement, createDropdownActionModel, createDropdownActionModelAdvanced, getActionDropdownButtonTarget, BaseAction, Action, ActionDropdownViewModel, AdaptiveActionContainer, defaultActionBarCss, ActionContainer, DragOrClickHelper, Model */
10313
+ /*! exports provided: Version, ReleaseDate, checkLibraryVersion, setLicenseKey, slk, hasLicense, settings, Helpers, AnswerCountValidator, EmailValidator, NumericValidator, RegexValidator, SurveyValidator, TextValidator, ValidatorResult, ExpressionValidator, ValidatorRunner, ItemValue, Base, Event, EventBase, ArrayChanges, ComputedUpdater, SurveyError, SurveyElementCore, SurveyElement, DragTypeOverMeEnum, CalculatedValue, CustomError, AnswerRequiredError, OneAnswerRequiredError, RequreNumericError, ExceedSizeError, LocalizableString, LocalizableStrings, HtmlConditionItem, UrlConditionItem, ChoicesRestful, ChoicesRestfull, FunctionFactory, registerFunction, ConditionRunner, ExpressionRunner, ExpressionExecutor, Operand, Const, BinaryOperand, Variable, FunctionOperand, ArrayOperand, UnaryOperand, ConditionsParser, ProcessValue, JsonError, JsonIncorrectTypeError, JsonMetadata, JsonMetadataClass, JsonMissingTypeError, JsonMissingTypeErrorBase, JsonObject, JsonObjectProperty, JsonRequiredPropertyError, JsonUnknownPropertyError, Serializer, property, propertyArray, MatrixDropdownCell, MatrixDropdownRowModelBase, QuestionMatrixDropdownModelBase, MatrixDropdownColumn, matrixDropdownColumnTypes, QuestionMatrixDropdownRenderedCell, QuestionMatrixDropdownRenderedRow, QuestionMatrixDropdownRenderedTable, MatrixDropdownRowModel, QuestionMatrixDropdownModel, MatrixDynamicRowModel, QuestionMatrixDynamicModel, MatrixRowModel, MatrixCells, QuestionMatrixModel, QuestionMatrixBaseModel, MultipleTextItemModel, MultipleTextCell, MultipleTextErrorCell, MutlipleTextErrorRow, MutlipleTextRow, QuestionMultipleTextModel, MultipleTextEditorModel, PanelModel, PanelModelBase, QuestionRowModel, FlowPanelModel, PageModel, DefaultTitleModel, Question, QuestionNonValue, QuestionEmptyModel, QuestionCheckboxBase, QuestionSelectBase, QuestionCheckboxModel, QuestionTagboxModel, QuestionRankingModel, QuestionCommentModel, QuestionDropdownModel, QuestionFactory, ElementFactory, QuestionFileModel, QuestionHtmlModel, QuestionRadiogroupModel, QuestionRatingModel, RenderedRatingItem, QuestionExpressionModel, QuestionTextBase, CharacterCounter, QuestionTextModel, QuestionBooleanModel, QuestionImagePickerModel, ImageItemValue, QuestionImageModel, QuestionSignaturePadModel, QuestionPanelDynamicModel, QuestionPanelDynamicItem, SurveyTimer, SurveyTimerModel, tryNavigateToPage, tryFocusPage, createTOCListModel, getTocRootCss, TOCModel, SurveyProgressModel, SurveyProgressButtonsModel, SurveyModel, SurveyTrigger, SurveyTriggerComplete, SurveyTriggerSetValue, SurveyTriggerVisible, SurveyTriggerCopyValue, SurveyTriggerRunExpression, SurveyTriggerSkip, Trigger, PopupSurveyModel, SurveyWindowModel, TextPreProcessor, Notifier, Cover, CoverCell, dxSurveyService, englishStrings, surveyLocalization, surveyStrings, QuestionCustomWidget, CustomWidgetCollection, QuestionCustomModel, QuestionCompositeModel, ComponentQuestionJSON, ComponentCollection, StylesManager, ListModel, MultiSelectListModel, PopupModel, createDialogOptions, PopupBaseViewModel, PopupDropdownViewModel, PopupModalViewModel, createPopupViewModel, createPopupModalViewModel, DropdownListModel, DropdownMultiSelectListModel, QuestionButtonGroupModel, ButtonGroupItemModel, ButtonGroupItemValue, IsMobile, IsTouch, _setIsTouch, confirmAction, confirmActionAsync, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, sanitizeEditableContent, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropCore, DragDropChoices, DragDropRankingSelectToRank, defaultStandardCss, modernCss, SvgIconRegistry, SvgRegistry, SvgBundleViewModel, RendererFactory, ResponsivityManager, VerticalResponsivityManager, unwrap, getOriginalEvent, getElement, createDropdownActionModel, createDropdownActionModelAdvanced, getActionDropdownButtonTarget, BaseAction, Action, ActionDropdownViewModel, AdaptiveActionContainer, defaultActionBarCss, ActionContainer, DragOrClickHelper, Model */
10262
10314
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
10263
10315
 
10264
10316
  "use strict";
@@ -10272,6 +10324,8 @@ __webpack_require__.r(__webpack_exports__);
10272
10324
 
10273
10325
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "setLicenseKey", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__["setLicenseKey"]; });
10274
10326
 
10327
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "slk", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__["slk"]; });
10328
+
10275
10329
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "hasLicense", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__["hasLicense"]; });
10276
10330
 
10277
10331
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "settings", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__["settings"]; });
@@ -11101,7 +11155,7 @@ __webpack_require__.r(__webpack_exports__);
11101
11155
  /*!******************************!*\
11102
11156
  !*** ./src/entries/react.ts ***!
11103
11157
  \******************************/
11104
- /*! exports provided: Version, ReleaseDate, checkLibraryVersion, setLicenseKey, hasLicense, settings, Helpers, AnswerCountValidator, EmailValidator, NumericValidator, RegexValidator, SurveyValidator, TextValidator, ValidatorResult, ExpressionValidator, ValidatorRunner, ItemValue, Base, Event, EventBase, ArrayChanges, ComputedUpdater, SurveyError, SurveyElementCore, SurveyElement, DragTypeOverMeEnum, CalculatedValue, CustomError, AnswerRequiredError, OneAnswerRequiredError, RequreNumericError, ExceedSizeError, LocalizableString, LocalizableStrings, HtmlConditionItem, UrlConditionItem, ChoicesRestful, ChoicesRestfull, FunctionFactory, registerFunction, ConditionRunner, ExpressionRunner, ExpressionExecutor, Operand, Const, BinaryOperand, Variable, FunctionOperand, ArrayOperand, UnaryOperand, ConditionsParser, ProcessValue, JsonError, JsonIncorrectTypeError, JsonMetadata, JsonMetadataClass, JsonMissingTypeError, JsonMissingTypeErrorBase, JsonObject, JsonObjectProperty, JsonRequiredPropertyError, JsonUnknownPropertyError, Serializer, property, propertyArray, MatrixDropdownCell, MatrixDropdownRowModelBase, QuestionMatrixDropdownModelBase, MatrixDropdownColumn, matrixDropdownColumnTypes, QuestionMatrixDropdownRenderedCell, QuestionMatrixDropdownRenderedRow, QuestionMatrixDropdownRenderedTable, MatrixDropdownRowModel, QuestionMatrixDropdownModel, MatrixDynamicRowModel, QuestionMatrixDynamicModel, MatrixRowModel, MatrixCells, QuestionMatrixModel, QuestionMatrixBaseModel, MultipleTextItemModel, MultipleTextCell, MultipleTextErrorCell, MutlipleTextErrorRow, MutlipleTextRow, QuestionMultipleTextModel, MultipleTextEditorModel, PanelModel, PanelModelBase, QuestionRowModel, FlowPanelModel, PageModel, DefaultTitleModel, Question, QuestionNonValue, QuestionEmptyModel, QuestionCheckboxBase, QuestionSelectBase, QuestionCheckboxModel, QuestionTagboxModel, QuestionRankingModel, QuestionCommentModel, QuestionDropdownModel, QuestionFactory, ElementFactory, QuestionFileModel, QuestionHtmlModel, QuestionRadiogroupModel, QuestionRatingModel, RenderedRatingItem, QuestionExpressionModel, QuestionTextBase, CharacterCounter, QuestionTextModel, QuestionBooleanModel, QuestionImagePickerModel, ImageItemValue, QuestionImageModel, QuestionSignaturePadModel, QuestionPanelDynamicModel, QuestionPanelDynamicItem, SurveyTimer, SurveyTimerModel, tryNavigateToPage, tryFocusPage, createTOCListModel, getTocRootCss, TOCModel, SurveyProgressModel, SurveyProgressButtonsModel, SurveyModel, SurveyTrigger, SurveyTriggerComplete, SurveyTriggerSetValue, SurveyTriggerVisible, SurveyTriggerCopyValue, SurveyTriggerRunExpression, SurveyTriggerSkip, Trigger, PopupSurveyModel, SurveyWindowModel, TextPreProcessor, Notifier, Cover, CoverCell, dxSurveyService, englishStrings, surveyLocalization, surveyStrings, QuestionCustomWidget, CustomWidgetCollection, QuestionCustomModel, QuestionCompositeModel, ComponentQuestionJSON, ComponentCollection, StylesManager, ListModel, MultiSelectListModel, PopupModel, createDialogOptions, PopupBaseViewModel, PopupDropdownViewModel, PopupModalViewModel, createPopupViewModel, createPopupModalViewModel, DropdownListModel, DropdownMultiSelectListModel, QuestionButtonGroupModel, ButtonGroupItemModel, ButtonGroupItemValue, IsMobile, IsTouch, _setIsTouch, confirmAction, confirmActionAsync, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, sanitizeEditableContent, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropCore, DragDropChoices, DragDropRankingSelectToRank, defaultStandardCss, modernCss, SvgIconRegistry, SvgRegistry, SvgBundleViewModel, RendererFactory, ResponsivityManager, VerticalResponsivityManager, unwrap, getOriginalEvent, getElement, createDropdownActionModel, createDropdownActionModelAdvanced, getActionDropdownButtonTarget, BaseAction, Action, ActionDropdownViewModel, AdaptiveActionContainer, defaultActionBarCss, ActionContainer, DragOrClickHelper, Model, bootstrapThemeName, bootstrapThemeColors, bootstrapThemeCssRules, bootstrapMaterialThemeName, bootstrapMaterialThemeColors, bootstrapMaterialThemeCssRules, defaultBootstrapCss, defaultBootstrapMaterialCss, Survey, attachKey2click, ReactSurveyElementsWrapper, SurveyNavigationBase, SurveyTimerPanel, SurveyPage, SurveyRow, SurveyPanel, SurveyFlowPanel, SurveyQuestion, SurveyElementErrors, SurveyQuestionAndErrorsCell, ReactSurveyElement, SurveyElementBase, SurveyQuestionElementBase, SurveyQuestionCommentItem, SurveyQuestionComment, SurveyQuestionCheckbox, SurveyQuestionCheckboxItem, SurveyQuestionRanking, SurveyQuestionRankingItem, RatingItem, RatingItemStar, RatingItemSmiley, TagboxFilterString, SurveyQuestionOptionItem, SurveyQuestionDropdownBase, SurveyQuestionDropdown, SurveyQuestionTagboxItem, SurveyQuestionTagbox, SurveyQuestionDropdownSelect, SurveyQuestionMatrix, SurveyQuestionMatrixRow, SurveyQuestionHtml, SurveyQuestionFile, SurveyFileChooseButton, SurveyFilePreview, SurveyQuestionMultipleText, SurveyQuestionRadiogroup, SurveyQuestionRadioItem, SurveyQuestionText, SurveyQuestionBoolean, SurveyQuestionBooleanCheckbox, SurveyQuestionBooleanRadio, SurveyQuestionEmpty, SurveyQuestionMatrixDropdownCell, SurveyQuestionMatrixDropdownBase, SurveyQuestionMatrixDropdown, SurveyQuestionMatrixDynamic, SurveyQuestionMatrixDynamicAddButton, SurveyQuestionPanelDynamic, SurveyProgress, SurveyProgressButtons, SurveyProgressToc, SurveyQuestionRating, SurveyQuestionRatingDropdown, SurveyQuestionExpression, PopupSurvey, SurveyWindow, ReactQuestionFactory, ReactElementFactory, SurveyQuestionImagePicker, SurveyQuestionImage, SurveyQuestionSignaturePad, SurveyQuestionButtonGroup, SurveyQuestionCustom, SurveyQuestionComposite, Popup, List, TitleActions, TitleElement, SurveyActionBar, LogoImage, SurveyHeader, SvgIcon, SurveyQuestionMatrixDynamicRemoveButton, SurveyQuestionMatrixDetailButton, SurveyQuestionMatrixDynamicDragDropIcon, SurveyQuestionPanelDynamicAddButton, SurveyQuestionPanelDynamicRemoveButton, SurveyQuestionPanelDynamicPrevButton, SurveyQuestionPanelDynamicNextButton, SurveyQuestionPanelDynamicProgressText, SurveyNavigationButton, MatrixRow, Skeleton, NotifierComponent, ComponentsContainer, CharacterCounterComponent, CoverCellComponent, CoverComponent, SurveyLocStringViewer, SurveyLocStringEditor, LoadingIndicatorComponent */
11158
+ /*! exports provided: Version, ReleaseDate, checkLibraryVersion, setLicenseKey, slk, hasLicense, settings, Helpers, AnswerCountValidator, EmailValidator, NumericValidator, RegexValidator, SurveyValidator, TextValidator, ValidatorResult, ExpressionValidator, ValidatorRunner, ItemValue, Base, Event, EventBase, ArrayChanges, ComputedUpdater, SurveyError, SurveyElementCore, SurveyElement, DragTypeOverMeEnum, CalculatedValue, CustomError, AnswerRequiredError, OneAnswerRequiredError, RequreNumericError, ExceedSizeError, LocalizableString, LocalizableStrings, HtmlConditionItem, UrlConditionItem, ChoicesRestful, ChoicesRestfull, FunctionFactory, registerFunction, ConditionRunner, ExpressionRunner, ExpressionExecutor, Operand, Const, BinaryOperand, Variable, FunctionOperand, ArrayOperand, UnaryOperand, ConditionsParser, ProcessValue, JsonError, JsonIncorrectTypeError, JsonMetadata, JsonMetadataClass, JsonMissingTypeError, JsonMissingTypeErrorBase, JsonObject, JsonObjectProperty, JsonRequiredPropertyError, JsonUnknownPropertyError, Serializer, property, propertyArray, MatrixDropdownCell, MatrixDropdownRowModelBase, QuestionMatrixDropdownModelBase, MatrixDropdownColumn, matrixDropdownColumnTypes, QuestionMatrixDropdownRenderedCell, QuestionMatrixDropdownRenderedRow, QuestionMatrixDropdownRenderedTable, MatrixDropdownRowModel, QuestionMatrixDropdownModel, MatrixDynamicRowModel, QuestionMatrixDynamicModel, MatrixRowModel, MatrixCells, QuestionMatrixModel, QuestionMatrixBaseModel, MultipleTextItemModel, MultipleTextCell, MultipleTextErrorCell, MutlipleTextErrorRow, MutlipleTextRow, QuestionMultipleTextModel, MultipleTextEditorModel, PanelModel, PanelModelBase, QuestionRowModel, FlowPanelModel, PageModel, DefaultTitleModel, Question, QuestionNonValue, QuestionEmptyModel, QuestionCheckboxBase, QuestionSelectBase, QuestionCheckboxModel, QuestionTagboxModel, QuestionRankingModel, QuestionCommentModel, QuestionDropdownModel, QuestionFactory, ElementFactory, QuestionFileModel, QuestionHtmlModel, QuestionRadiogroupModel, QuestionRatingModel, RenderedRatingItem, QuestionExpressionModel, QuestionTextBase, CharacterCounter, QuestionTextModel, QuestionBooleanModel, QuestionImagePickerModel, ImageItemValue, QuestionImageModel, QuestionSignaturePadModel, QuestionPanelDynamicModel, QuestionPanelDynamicItem, SurveyTimer, SurveyTimerModel, tryNavigateToPage, tryFocusPage, createTOCListModel, getTocRootCss, TOCModel, SurveyProgressModel, SurveyProgressButtonsModel, SurveyModel, SurveyTrigger, SurveyTriggerComplete, SurveyTriggerSetValue, SurveyTriggerVisible, SurveyTriggerCopyValue, SurveyTriggerRunExpression, SurveyTriggerSkip, Trigger, PopupSurveyModel, SurveyWindowModel, TextPreProcessor, Notifier, Cover, CoverCell, dxSurveyService, englishStrings, surveyLocalization, surveyStrings, QuestionCustomWidget, CustomWidgetCollection, QuestionCustomModel, QuestionCompositeModel, ComponentQuestionJSON, ComponentCollection, StylesManager, ListModel, MultiSelectListModel, PopupModel, createDialogOptions, PopupBaseViewModel, PopupDropdownViewModel, PopupModalViewModel, createPopupViewModel, createPopupModalViewModel, DropdownListModel, DropdownMultiSelectListModel, QuestionButtonGroupModel, ButtonGroupItemModel, ButtonGroupItemValue, IsMobile, IsTouch, _setIsTouch, confirmAction, confirmActionAsync, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, sanitizeEditableContent, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropCore, DragDropChoices, DragDropRankingSelectToRank, defaultStandardCss, modernCss, SvgIconRegistry, SvgRegistry, SvgBundleViewModel, RendererFactory, ResponsivityManager, VerticalResponsivityManager, unwrap, getOriginalEvent, getElement, createDropdownActionModel, createDropdownActionModelAdvanced, getActionDropdownButtonTarget, BaseAction, Action, ActionDropdownViewModel, AdaptiveActionContainer, defaultActionBarCss, ActionContainer, DragOrClickHelper, Model, bootstrapThemeName, bootstrapThemeColors, bootstrapThemeCssRules, bootstrapMaterialThemeName, bootstrapMaterialThemeColors, bootstrapMaterialThemeCssRules, defaultBootstrapCss, defaultBootstrapMaterialCss, Survey, attachKey2click, ReactSurveyElementsWrapper, SurveyNavigationBase, SurveyTimerPanel, SurveyPage, SurveyRow, SurveyPanel, SurveyFlowPanel, SurveyQuestion, SurveyElementErrors, SurveyQuestionAndErrorsCell, ReactSurveyElement, SurveyElementBase, SurveyQuestionElementBase, SurveyQuestionCommentItem, SurveyQuestionComment, SurveyQuestionCheckbox, SurveyQuestionCheckboxItem, SurveyQuestionRanking, SurveyQuestionRankingItem, RatingItem, RatingItemStar, RatingItemSmiley, TagboxFilterString, SurveyQuestionOptionItem, SurveyQuestionDropdownBase, SurveyQuestionDropdown, SurveyQuestionTagboxItem, SurveyQuestionTagbox, SurveyQuestionDropdownSelect, SurveyQuestionMatrix, SurveyQuestionMatrixRow, SurveyQuestionHtml, SurveyQuestionFile, SurveyFileChooseButton, SurveyFilePreview, SurveyQuestionMultipleText, SurveyQuestionRadiogroup, SurveyQuestionRadioItem, SurveyQuestionText, SurveyQuestionBoolean, SurveyQuestionBooleanCheckbox, SurveyQuestionBooleanRadio, SurveyQuestionEmpty, SurveyQuestionMatrixDropdownCell, SurveyQuestionMatrixDropdownBase, SurveyQuestionMatrixDropdown, SurveyQuestionMatrixDynamic, SurveyQuestionMatrixDynamicAddButton, SurveyQuestionPanelDynamic, SurveyProgress, SurveyProgressButtons, SurveyProgressToc, SurveyQuestionRating, SurveyQuestionRatingDropdown, SurveyQuestionExpression, PopupSurvey, SurveyWindow, ReactQuestionFactory, ReactElementFactory, SurveyQuestionImagePicker, SurveyQuestionImage, SurveyQuestionSignaturePad, SurveyQuestionButtonGroup, SurveyQuestionCustom, SurveyQuestionComposite, Popup, List, TitleActions, TitleElement, SurveyActionBar, LogoImage, SurveyHeader, SvgIcon, SurveyQuestionMatrixDynamicRemoveButton, SurveyQuestionMatrixDetailButton, SurveyQuestionMatrixDynamicDragDropIcon, SurveyQuestionPanelDynamicAddButton, SurveyQuestionPanelDynamicRemoveButton, SurveyQuestionPanelDynamicPrevButton, SurveyQuestionPanelDynamicNextButton, SurveyQuestionPanelDynamicProgressText, SurveyNavigationButton, MatrixRow, Skeleton, NotifierComponent, ComponentsContainer, CharacterCounterComponent, CoverCellComponent, CoverComponent, SurveyLocStringViewer, SurveyLocStringEditor, LoadingIndicatorComponent */
11105
11159
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
11106
11160
 
11107
11161
  "use strict";
@@ -11115,6 +11169,8 @@ __webpack_require__.r(__webpack_exports__);
11115
11169
 
11116
11170
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "setLicenseKey", function() { return _core__WEBPACK_IMPORTED_MODULE_0__["setLicenseKey"]; });
11117
11171
 
11172
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "slk", function() { return _core__WEBPACK_IMPORTED_MODULE_0__["slk"]; });
11173
+
11118
11174
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "hasLicense", function() { return _core__WEBPACK_IMPORTED_MODULE_0__["hasLicense"]; });
11119
11175
 
11120
11176
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "settings", function() { return _core__WEBPACK_IMPORTED_MODULE_0__["settings"]; });
@@ -18523,14 +18579,17 @@ var JsonObjectProperty = /** @class */ (function () {
18523
18579
  enumerable: false,
18524
18580
  configurable: true
18525
18581
  });
18582
+ JsonObjectProperty.prototype.getDefaultValue = function (obj) {
18583
+ var result = !!this.defaultValueFunc ? this.defaultValueFunc(obj) : this.defaultValueValue;
18584
+ if (!!JsonObjectProperty.getItemValuesDefaultValue &&
18585
+ JsonObject.metaData.isDescendantOf(this.className, "itemvalue")) {
18586
+ result = JsonObjectProperty.getItemValuesDefaultValue(this.defaultValueValue || [], this.className);
18587
+ }
18588
+ return result;
18589
+ };
18526
18590
  Object.defineProperty(JsonObjectProperty.prototype, "defaultValue", {
18527
18591
  get: function () {
18528
- var result = !!this.defaultValueFunc ? this.defaultValueFunc() : this.defaultValueValue;
18529
- if (!!JsonObjectProperty.getItemValuesDefaultValue &&
18530
- JsonObject.metaData.isDescendantOf(this.className, "itemvalue")) {
18531
- result = JsonObjectProperty.getItemValuesDefaultValue(this.defaultValueValue || [], this.className);
18532
- }
18533
- return result;
18592
+ return this.getDefaultValue(undefined);
18534
18593
  },
18535
18594
  set: function (newValue) {
18536
18595
  this.defaultValueValue = newValue;
@@ -18539,8 +18598,12 @@ var JsonObjectProperty = /** @class */ (function () {
18539
18598
  configurable: true
18540
18599
  });
18541
18600
  JsonObjectProperty.prototype.isDefaultValue = function (value) {
18542
- if (!_helpers__WEBPACK_IMPORTED_MODULE_2__["Helpers"].isValueEmpty(this.defaultValue)) {
18543
- return _helpers__WEBPACK_IMPORTED_MODULE_2__["Helpers"].isTwoValueEquals(value, this.defaultValue, false, true, false);
18601
+ return this.isDefaultValueByObj(undefined, value);
18602
+ };
18603
+ JsonObjectProperty.prototype.isDefaultValueByObj = function (obj, value) {
18604
+ var dValue = this.getDefaultValue(obj);
18605
+ if (!_helpers__WEBPACK_IMPORTED_MODULE_2__["Helpers"].isValueEmpty(dValue)) {
18606
+ return _helpers__WEBPACK_IMPORTED_MODULE_2__["Helpers"].isTwoValueEquals(value, dValue, false, true, false);
18544
18607
  }
18545
18608
  if (this.isLocalizable)
18546
18609
  return value === null || value === undefined;
@@ -19906,7 +19969,7 @@ var JsonObject = /** @class */ (function () {
19906
19969
  (property.isLightSerializable === false && this.lightSerializing))
19907
19970
  return;
19908
19971
  var value = property.getValue(obj);
19909
- if (!storeDefaults && property.isDefaultValue(value))
19972
+ if (!storeDefaults && property.isDefaultValueByObj(obj, value))
19910
19973
  return;
19911
19974
  if (this.isValueArray(value)) {
19912
19975
  var arrValue = [];
@@ -19920,7 +19983,7 @@ var JsonObject = /** @class */ (function () {
19920
19983
  }
19921
19984
  var hasValue = typeof obj["getPropertyValue"] === "function" &&
19922
19985
  obj["getPropertyValue"](property.name, null) !== null;
19923
- if ((storeDefaults && hasValue) || !property.isDefaultValue(value)) {
19986
+ if ((storeDefaults && hasValue) || !property.isDefaultValueByObj(obj, value)) {
19924
19987
  if (!Serializer.onSerializingProperty || !Serializer.onSerializingProperty(obj, property, value, result)) {
19925
19988
  result[property.name] = value;
19926
19989
  }
@@ -28345,6 +28408,7 @@ var Notifier = /** @class */ (function (_super) {
28345
28408
  _this.timeout = _settings__WEBPACK_IMPORTED_MODULE_1__["settings"].notifications.lifetime;
28346
28409
  _this.timer = undefined;
28347
28410
  _this.actionsVisibility = {};
28411
+ _this.showActions = true;
28348
28412
  _this.actionBar = new _actions_container__WEBPACK_IMPORTED_MODULE_4__["ActionContainer"]();
28349
28413
  _this.actionBar.updateCallback = function (isResetInitialized) {
28350
28414
  _this.actionBar.actions.forEach(function (action) { return action.cssClasses = {}; });
@@ -28363,7 +28427,7 @@ var Notifier = /** @class */ (function (_super) {
28363
28427
  };
28364
28428
  Notifier.prototype.updateActionsVisibility = function (type) {
28365
28429
  var _this = this;
28366
- this.actionBar.actions.forEach(function (action) { return action.visible = (_this.actionsVisibility[action.id] === type); });
28430
+ this.actionBar.actions.forEach(function (action) { return action.visible = _this.showActions && (_this.actionsVisibility[action.id] === type); });
28367
28431
  };
28368
28432
  Notifier.prototype.notify = function (message, type, waitUserAction) {
28369
28433
  var _this = this;
@@ -28499,7 +28563,7 @@ var PageModel = /** @class */ (function (_super) {
28499
28563
  };
28500
28564
  Object.defineProperty(PageModel.prototype, "navigationTitle", {
28501
28565
  /**
28502
- * A caption displayed on a navigation button in the TOC or progress bar. Applies when [`showTOC`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#showTOC) is `true` or when [`showProgressBar`](https://surveyjs.io/form-library/documentation/surveymodel#showProgressBar) is `true` and [`progressBarType`](https://surveyjs.io/form-library/documentation/surveymodel#progressBarType) is `"buttons"`.
28566
+ * A caption displayed on a navigation button in the TOC or progress bar. Applies when [`showTOC`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#showTOC) is `true` or when the [progress bar is visible](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#showProgressBar) and [`progressBarType`](https://surveyjs.io/form-library/documentation/surveymodel#progressBarType) is set to `"buttons"`.
28503
28567
  *
28504
28568
  * If navigation titles are unspecified, the navigation buttons display page [titles](https://surveyjs.io/form-library/documentation/api-reference/page-model#title) or [names](https://surveyjs.io/form-library/documentation/pagemodel#name).
28505
28569
  */
@@ -28520,6 +28584,9 @@ var PageModel = /** @class */ (function (_super) {
28520
28584
  configurable: true
28521
28585
  });
28522
28586
  Object.defineProperty(PageModel.prototype, "navigationDescription", {
28587
+ /**
28588
+ * Explanatory text displayed under a navigation button in the progress bar. Applies when the [progress bar is visible](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#showProgressBar) and `SurveyModel`'s [`progressBarType`](https://surveyjs.io/form-library/documentation/surveymodel#progressBarType) property is set to `"buttons"`.
28589
+ */
28523
28590
  get: function () {
28524
28591
  return this.getLocalizableStringText("navigationDescription");
28525
28592
  },
@@ -32521,6 +32588,7 @@ var PopupDropdownViewModel = /** @class */ (function (_super) {
32521
32588
  PopupDropdownViewModel.prototype.getStyleClass = function () {
32522
32589
  return _super.prototype.getStyleClass.call(this)
32523
32590
  .append("sv-popup--dropdown", !this.isOverlay)
32591
+ .append("sv-popup--dropdown-overlay", this.isOverlay && this.model.overlayDisplayMode !== "overlay")
32524
32592
  .append("sv-popup--tablet", this.isTablet && this.isOverlay)
32525
32593
  .append("sv-popup--show-pointer", !this.isOverlay && this.showHeader)
32526
32594
  .append("sv-popup--" + this.popupDirection, !this.isOverlay && this.showHeader);
@@ -33663,6 +33731,9 @@ var PopupModel = /** @class */ (function (_super) {
33663
33731
  __decorate([
33664
33732
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])({ defaultValue: "" })
33665
33733
  ], PopupModel.prototype, "title", void 0);
33734
+ __decorate([
33735
+ Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])({ defaultValue: "auto" })
33736
+ ], PopupModel.prototype, "overlayDisplayMode", void 0);
33666
33737
  __decorate([
33667
33738
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])({ defaultValue: "popup" })
33668
33739
  ], PopupModel.prototype, "displayMode", void 0);
@@ -33751,6 +33822,14 @@ var __decorate = (undefined && undefined.__decorate) || function (decorators, ta
33751
33822
 
33752
33823
 
33753
33824
 
33825
+ var TriggerExpressionInfo = /** @class */ (function () {
33826
+ function TriggerExpressionInfo(name, canRun, doComplete) {
33827
+ this.name = name;
33828
+ this.canRun = canRun;
33829
+ this.doComplete = doComplete;
33830
+ }
33831
+ return TriggerExpressionInfo;
33832
+ }());
33754
33833
  /**
33755
33834
  * A base class for all questions.
33756
33835
  */
@@ -33774,6 +33853,7 @@ var Question = /** @class */ (function (_super) {
33774
33853
  * Indicates the previous ready state.
33775
33854
  */
33776
33855
  _this.onReadyChanged = _this.addEvent();
33856
+ _this.triggersInfo = [];
33777
33857
  _this.isRunningValidatorsValue = false;
33778
33858
  _this.isValueChangedInSurvey = false;
33779
33859
  _this.allowNotifyValueChanged = true;
@@ -33791,6 +33871,11 @@ var Question = /** @class */ (function (_super) {
33791
33871
  };
33792
33872
  _this.locTitle.storeDefaultText = true;
33793
33873
  _this.createLocalizableString("requiredErrorText", _this);
33874
+ _this.addTriggerInfo("resetValueIf", function () { return !_this.isEmpty(); }, function () {
33875
+ _this.clearValue();
33876
+ _this.updateValueWithDefaults();
33877
+ });
33878
+ _this.addTriggerInfo("setValueIf", function () { return true; }, function () { return _this.runSetValueExpression(); });
33794
33879
  _this.registerPropertyChangedHandlers(["width"], function () {
33795
33880
  _this.updateQuestionCss();
33796
33881
  if (!!_this.parent) {
@@ -33830,8 +33915,8 @@ var Question = /** @class */ (function (_super) {
33830
33915
  };
33831
33916
  Question.prototype.setIsMobile = function (val) {
33832
33917
  this.isMobile = val && (this.allowMobileInDesignMode() || !this.isDesignMode);
33833
- this.renderMinWidth = !val;
33834
33918
  };
33919
+ Question.prototype.themeChanged = function (theme) { };
33835
33920
  Question.prototype.createLocTitleProperty = function () {
33836
33921
  var _this = this;
33837
33922
  var locTitleValue = _super.prototype.createLocTitleProperty.call(this);
@@ -34243,31 +34328,60 @@ var Question = /** @class */ (function (_super) {
34243
34328
  requiredAnsweredQuestionCount: !this.isEmpty() && this.isRequired ? 1 : 0,
34244
34329
  };
34245
34330
  };
34246
- Question.prototype.runTriggers = function (name, value) {
34331
+ Question.prototype.runSetValueExpression = function () {
34247
34332
  var _this = this;
34248
- if (this.isRunningResetValueIf || this.isReadOnly || !this.resetValueIf || this.isEmpty() || this.isSettingQuestionValue)
34249
- return;
34250
- if (this.parentQuestion && this.parentQuestion.getValueName() === name)
34333
+ if (!this.setValueExpression) {
34334
+ this.clearValue();
34335
+ }
34336
+ else {
34337
+ if (!this.setValueExpressionRunner) {
34338
+ this.setValueExpressionRunner = new _conditions__WEBPACK_IMPORTED_MODULE_6__["ExpressionRunner"](this.setValueExpression);
34339
+ this.setValueExpressionRunner.onRunComplete = function (res) {
34340
+ if (!_this.isTwoValueEquals(_this.value, res)) {
34341
+ _this.value = res;
34342
+ }
34343
+ };
34344
+ }
34345
+ else {
34346
+ this.setValueExpressionRunner.expression = this.setValueExpression;
34347
+ }
34348
+ this.setValueExpressionRunner.run(this.getDataFilteredValues(), this.getDataFilteredProperties());
34349
+ }
34350
+ };
34351
+ Question.prototype.addTriggerInfo = function (name, canRun, doComplete) {
34352
+ this.triggersInfo.push(new TriggerExpressionInfo(name, canRun, doComplete));
34353
+ };
34354
+ Question.prototype.runTriggerInfo = function (info, name, value) {
34355
+ var expression = this[info.name];
34356
+ if (!expression || info.isRunning || !info.canRun())
34251
34357
  return;
34252
- if (!this.resetValueIfExpression) {
34253
- this.resetValueIfExpression = new _conditions__WEBPACK_IMPORTED_MODULE_6__["ExpressionRunner"](this.resetValueIf);
34254
- this.resetValueIfExpression.onRunComplete = function (res) {
34255
- _this.isRunningResetValueIf = false;
34358
+ if (!info.runner) {
34359
+ info.runner = new _conditions__WEBPACK_IMPORTED_MODULE_6__["ExpressionRunner"](expression);
34360
+ info.runner.onRunComplete = function (res) {
34256
34361
  if (res === true) {
34257
- _this.clearValue();
34258
- _this.updateValueWithDefaults();
34362
+ info.doComplete();
34259
34363
  }
34364
+ info.isRunning = false;
34260
34365
  };
34261
34366
  }
34262
34367
  else {
34263
- this.resetValueIfExpression.expression = this.resetValueIf;
34368
+ info.runner.expression = expression;
34264
34369
  }
34265
34370
  var keys = {};
34266
34371
  keys[name] = value;
34267
- if (!new _conditionProcessValue__WEBPACK_IMPORTED_MODULE_13__["ProcessValue"]().isAnyKeyChanged(keys, this.resetValueIfExpression.getVariables()))
34372
+ if (!new _conditionProcessValue__WEBPACK_IMPORTED_MODULE_13__["ProcessValue"]().isAnyKeyChanged(keys, info.runner.getVariables()))
34373
+ return;
34374
+ info.isRunning = true;
34375
+ info.runner.run(this.getDataFilteredValues(), this.getDataFilteredProperties());
34376
+ };
34377
+ Question.prototype.runTriggers = function (name, value) {
34378
+ var _this = this;
34379
+ if (this.isReadOnly || this.isSettingQuestionValue ||
34380
+ (this.parentQuestion && this.parentQuestion.getValueName() === name))
34268
34381
  return;
34269
- this.isRunningResetValueIf = true;
34270
- this.resetValueIfExpression.run(this.getDataFilteredValues(), this.getDataFilteredProperties());
34382
+ this.triggersInfo.forEach(function (info) {
34383
+ _this.runTriggerInfo(info, name, value);
34384
+ });
34271
34385
  };
34272
34386
  Question.prototype.runConditions = function () {
34273
34387
  if (this.data && !this.isLoadingFromJson) {
@@ -34796,13 +34910,19 @@ var Question = /** @class */ (function (_super) {
34796
34910
  this.setPropertyValue("cssRoot", val);
34797
34911
  };
34798
34912
  Question.prototype.getCssRoot = function (cssClasses) {
34913
+ var hasError = this.errors.length > 0;
34799
34914
  return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_10__["CssClassBuilder"]()
34800
34915
  .append(_super.prototype.getCssRoot.call(this, cssClasses))
34801
34916
  .append(this.isFlowLayout && !this.isDesignMode
34802
34917
  ? cssClasses.flowRoot
34803
34918
  : cssClasses.mainRoot)
34804
34919
  .append(cssClasses.titleLeftRoot, !this.isFlowLayout && this.hasTitleOnLeft)
34805
- .append(cssClasses.hasError, this.errors.length > 0)
34920
+ .append(cssClasses.titleTopRoot, !this.isFlowLayout && this.hasTitleOnTop)
34921
+ .append(cssClasses.titleBottomRoot, !this.isFlowLayout && this.hasTitleOnBottom)
34922
+ .append(cssClasses.descriptionUnderInputRoot, !this.isFlowLayout && this.hasDescriptionUnderInput)
34923
+ .append(cssClasses.hasError, hasError)
34924
+ .append(cssClasses.hasErrorTop, hasError && this.getErrorLocation() == "top")
34925
+ .append(cssClasses.hasErrorBottom, hasError && this.getErrorLocation() == "bottom")
34806
34926
  .append(cssClasses.small, !this.width)
34807
34927
  .append(cssClasses.answered, this.isAnswered)
34808
34928
  .toString();
@@ -35653,6 +35773,7 @@ var Question = /** @class */ (function (_super) {
35653
35773
  *
35654
35774
  * An expression can also include built-in and custom functions for advanced calculations. For example, if the `defaultValue` should be today's date, set the `defaultValueExpression` to `"today()"`, and the corresponding built-in function will be executed each time the survey is loaded. Refer to the following help topic for more information: [Built-In Functions](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#built-in-functions).
35655
35775
  * @see defaultValue
35776
+ * @see setValueExpression
35656
35777
  */
35657
35778
  get: function () {
35658
35779
  return this.getPropertyValue("defaultValueExpression");
@@ -35672,6 +35793,7 @@ var Question = /** @class */ (function (_super) {
35672
35793
  * A survey parses and runs all expressions on startup. If any values used in the expression change, the survey re-evaluates it.
35673
35794
  *
35674
35795
  * [Expressions](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#expressions (linkStyle))
35796
+ * @see setValueIf
35675
35797
  */
35676
35798
  get: function () {
35677
35799
  return this.getPropertyValue("resetValueIf");
@@ -35682,6 +35804,41 @@ var Question = /** @class */ (function (_super) {
35682
35804
  enumerable: false,
35683
35805
  configurable: true
35684
35806
  });
35807
+ Object.defineProperty(Question.prototype, "setValueIf", {
35808
+ /**
35809
+ * A Boolean expression. If it evaluates to `true`, the question value is set to a value calculated using the [`setValueExpression`](#setValueExpression).
35810
+ *
35811
+ * A survey parses and runs all expressions on startup. If any values used in the expression change, the survey re-evaluates it.
35812
+ *
35813
+ * [Expressions](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#expressions (linkStyle))
35814
+ * @see resetValueIf
35815
+ */
35816
+ get: function () {
35817
+ return this.getPropertyValue("setValueIf");
35818
+ },
35819
+ set: function (val) {
35820
+ this.setPropertyValue("setValueIf", val);
35821
+ },
35822
+ enumerable: false,
35823
+ configurable: true
35824
+ });
35825
+ Object.defineProperty(Question.prototype, "setValueExpression", {
35826
+ /**
35827
+ * An expression used to calculate the question value. Applies only when the [`setValueIf`](#setValueIf) expression evaluates to `true`.
35828
+ *
35829
+ * [Expressions](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#expressions (linkStyle))
35830
+ * @see defaultValueExpression
35831
+ * @see resetValueIf
35832
+ */
35833
+ get: function () {
35834
+ return this.getPropertyValue("setValueExpression");
35835
+ },
35836
+ set: function (val) {
35837
+ this.setPropertyValue("setValueExpression", val);
35838
+ },
35839
+ enumerable: false,
35840
+ configurable: true
35841
+ });
35685
35842
  Object.defineProperty(Question.prototype, "resizeStyle", {
35686
35843
  get: function () {
35687
35844
  return this.allowResizeComment ? "both" : "none";
@@ -36799,10 +36956,9 @@ _jsonobject__WEBPACK_IMPORTED_MODULE_1__["Serializer"].addClass("question", [
36799
36956
  },
36800
36957
  { name: "valueName", onSettingValue: function (obj, val) { return makeNameValid(val); } },
36801
36958
  "enableIf:condition",
36802
- {
36803
- name: "resetValueIf:condition",
36804
- category: "logic"
36805
- },
36959
+ "resetValueIf:condition",
36960
+ "setValueIf:condition",
36961
+ { name: "setValueExpression:expression", visibleIf: function (obj) { return !!obj.setValueIf; } },
36806
36962
  "defaultValue:value",
36807
36963
  {
36808
36964
  name: "defaultValueExpression:expression",
@@ -37396,8 +37552,6 @@ var QuestionSelectBase = /** @class */ (function (_super) {
37396
37552
  };
37397
37553
  QuestionSelectBase.prototype.runCondition = function (values, properties) {
37398
37554
  _super.prototype.runCondition.call(this, values, properties);
37399
- if (this.isUsingCarryForward)
37400
- return;
37401
37555
  this.runItemsEnableCondition(values, properties);
37402
37556
  this.runItemsCondition(values, properties);
37403
37557
  };
@@ -39127,13 +39281,7 @@ _jsonobject__WEBPACK_IMPORTED_MODULE_0__["Serializer"].addClass("selectbase", [
39127
39281
  },
39128
39282
  },
39129
39283
  "hideIfChoicesEmpty:boolean",
39130
- {
39131
- name: "choicesVisibleIf:condition",
39132
- dependsOn: "choicesFromQuestion",
39133
- visibleIf: function (obj) {
39134
- return !obj.choicesFromQuestion;
39135
- },
39136
- },
39284
+ "choicesVisibleIf:condition",
39137
39285
  {
39138
39286
  name: "choicesEnableIf:condition",
39139
39287
  dependsOn: "choicesFromQuestion",
@@ -41764,6 +41912,13 @@ var QuestionDropdownModel = /** @class */ (function (_super) {
41764
41912
  enumerable: false,
41765
41913
  configurable: true
41766
41914
  });
41915
+ Object.defineProperty(QuestionDropdownModel.prototype, "showClearButton", {
41916
+ get: function () {
41917
+ return this.allowClear && !this.isEmpty() && (!this.isDesignMode || _settings__WEBPACK_IMPORTED_MODULE_5__["settings"].supportCreatorV2);
41918
+ },
41919
+ enumerable: false,
41920
+ configurable: true
41921
+ });
41767
41922
  Object.defineProperty(QuestionDropdownModel.prototype, "optionsCaption", {
41768
41923
  get: function () {
41769
41924
  return this.placeholder;
@@ -42498,11 +42653,6 @@ var QuestionExpressionModel = /** @class */ (function (_super) {
42498
42653
  }
42499
42654
  return val.toString();
42500
42655
  };
42501
- QuestionExpressionModel.prototype.convertToCorrectValue = function (val) {
42502
- if (Array.isArray(val))
42503
- return val.join(", ");
42504
- return val;
42505
- };
42506
42656
  return QuestionExpressionModel;
42507
42657
  }(_question__WEBPACK_IMPORTED_MODULE_1__["Question"]));
42508
42658
 
@@ -44396,7 +44546,7 @@ function getCorrectImageLink(val) {
44396
44546
  return youtubeUrl + youtubeEmbed + "/" + id;
44397
44547
  }
44398
44548
  _jsonobject__WEBPACK_IMPORTED_MODULE_1__["Serializer"].addClass("image", [
44399
- { name: "imageLink", serializationProperty: "locImageLink" },
44549
+ { name: "imageLink:file", serializationProperty: "locImageLink" },
44400
44550
  { name: "altText", serializationProperty: "locAltText", alternativeName: "text", category: "general" },
44401
44551
  {
44402
44552
  name: "contentMode",
@@ -44973,7 +45123,7 @@ var QuestionImagePickerModel = /** @class */ (function (_super) {
44973
45123
  return QuestionImagePickerModel;
44974
45124
  }(_question_baseselect__WEBPACK_IMPORTED_MODULE_2__["QuestionCheckboxBase"]));
44975
45125
 
44976
- _jsonobject__WEBPACK_IMPORTED_MODULE_0__["Serializer"].addClass("imageitemvalue", [{ name: "imageLink", serializationProperty: "locImageLink" }], function (value) { return new ImageItemValue(value); }, "itemvalue");
45126
+ _jsonobject__WEBPACK_IMPORTED_MODULE_0__["Serializer"].addClass("imageitemvalue", [{ name: "imageLink:file", serializationProperty: "locImageLink" }], function (value) { return new ImageItemValue(value); }, "itemvalue");
44977
45127
  _jsonobject__WEBPACK_IMPORTED_MODULE_0__["Serializer"].addClass("responsiveImageSize", [], undefined, "number");
44978
45128
  _jsonobject__WEBPACK_IMPORTED_MODULE_0__["Serializer"].addClass("imagepicker", [
44979
45129
  { name: "showOtherItem", visible: false },
@@ -48207,7 +48357,10 @@ var QuestionMatrixDropdownModelBase = /** @class */ (function (_super) {
48207
48357
  return false;
48208
48358
  };
48209
48359
  QuestionMatrixDropdownModelBase.prototype.addDuplicationError = function (question) {
48210
- question.addError(new _error__WEBPACK_IMPORTED_MODULE_10__["KeyDuplicationError"](this.keyDuplicationError, this));
48360
+ var keyError = question.errors.find(function (error) { return error.getErrorType() === "keyduplicationerror"; });
48361
+ if (!keyError) {
48362
+ question.addError(new _error__WEBPACK_IMPORTED_MODULE_10__["KeyDuplicationError"](this.keyDuplicationError, this));
48363
+ }
48211
48364
  };
48212
48365
  QuestionMatrixDropdownModelBase.prototype.getFirstQuestionToFocus = function (withError) {
48213
48366
  return this.getFirstCellQuestion(withError);
@@ -49039,6 +49192,26 @@ var MatrixDropdownColumn = /** @class */ (function (_super) {
49039
49192
  enumerable: false,
49040
49193
  configurable: true
49041
49194
  });
49195
+ Object.defineProperty(MatrixDropdownColumn.prototype, "setValueIf", {
49196
+ get: function () {
49197
+ return this.templateQuestion.setValueIf;
49198
+ },
49199
+ set: function (val) {
49200
+ this.templateQuestion.setValueIf = val;
49201
+ },
49202
+ enumerable: false,
49203
+ configurable: true
49204
+ });
49205
+ Object.defineProperty(MatrixDropdownColumn.prototype, "setValueExpession", {
49206
+ get: function () {
49207
+ return this.templateQuestion.setValueExpession;
49208
+ },
49209
+ set: function (val) {
49210
+ this.templateQuestion.setValueExpession = val;
49211
+ },
49212
+ enumerable: false,
49213
+ configurable: true
49214
+ });
49042
49215
  Object.defineProperty(MatrixDropdownColumn.prototype, "isUnique", {
49043
49216
  get: function () {
49044
49217
  return this.getPropertyValue("isUnique");
@@ -49490,12 +49663,12 @@ _jsonobject__WEBPACK_IMPORTED_MODULE_0__["Serializer"].addClass("matrixdropdownc
49490
49663
  "enableIf:condition",
49491
49664
  "requiredIf:condition",
49492
49665
  "resetValueIf:condition",
49666
+ "setValueIf:condition",
49667
+ { name: "setValueExpression:expression", visibleIf: function (obj) { return !!obj.setValueIf; } },
49493
49668
  {
49494
49669
  name: "showInMultipleColumns:boolean",
49495
49670
  dependsOn: "cellType",
49496
49671
  visibleIf: function (obj) {
49497
- if (!obj)
49498
- return false;
49499
49672
  return obj.isSupportMultipleColumns;
49500
49673
  },
49501
49674
  },
@@ -50983,7 +51156,7 @@ var QuestionMatrixDynamicModel = /** @class */ (function (_super) {
50983
51156
  };
50984
51157
  Object.defineProperty(QuestionMatrixDynamicModel.prototype, "allowRowsDragAndDrop", {
50985
51158
  /**
50986
- * Specifies whether users can drag and drop matrix rows to reorder them.
51159
+ * Specifies whether users can drag and drop matrix rows to reorder them. Applies only if [`columnLayout`](#columnLayout) is `"horizontal"`.
50987
51160
  *
50988
51161
  * Default value: `false`
50989
51162
  */
@@ -52087,6 +52260,32 @@ var MultipleTextItemModel = /** @class */ (function (_super) {
52087
52260
  enumerable: false,
52088
52261
  configurable: true
52089
52262
  });
52263
+ Object.defineProperty(MultipleTextItemModel.prototype, "minValueExpression", {
52264
+ /**
52265
+ * The minimum value specified as an expression. For example, `"minValueExpression": "today(-1)"` sets the minimum value to yesterday.
52266
+ */
52267
+ get: function () {
52268
+ return this.editor.minValueExpression;
52269
+ },
52270
+ set: function (val) {
52271
+ this.editor.minValueExpression = val;
52272
+ },
52273
+ enumerable: false,
52274
+ configurable: true
52275
+ });
52276
+ Object.defineProperty(MultipleTextItemModel.prototype, "maxValueExpression", {
52277
+ /**
52278
+ * The maximum value specified as an expression. For example, `"maxValueExpression": "today(1)"` sets the maximum value to tomorrow.
52279
+ */
52280
+ get: function () {
52281
+ return this.editor.maxValueExpression;
52282
+ },
52283
+ set: function (val) {
52284
+ this.editor.maxValueExpression = val;
52285
+ },
52286
+ enumerable: false,
52287
+ configurable: true
52288
+ });
52090
52289
  Object.defineProperty(MultipleTextItemModel.prototype, "validators", {
52091
52290
  /**
52092
52291
  * The list of question validators.
@@ -52775,6 +52974,22 @@ _jsonobject__WEBPACK_IMPORTED_MODULE_4__["Serializer"].addClass("multipletextite
52775
52974
  name: "requiredErrorText:text",
52776
52975
  serializationProperty: "locRequiredErrorText",
52777
52976
  },
52977
+ {
52978
+ name: "minValueExpression:expression",
52979
+ category: "logic",
52980
+ dependsOn: "inputType",
52981
+ visibleIf: function (obj) {
52982
+ return Object(_question_text__WEBPACK_IMPORTED_MODULE_3__["isMinMaxType"])(obj);
52983
+ },
52984
+ },
52985
+ {
52986
+ name: "maxValueExpression:expression",
52987
+ category: "logic",
52988
+ dependsOn: "inputType",
52989
+ visibleIf: function (obj) {
52990
+ return Object(_question_text__WEBPACK_IMPORTED_MODULE_3__["isMinMaxType"])(obj);
52991
+ },
52992
+ },
52778
52993
  {
52779
52994
  name: "validators:validators",
52780
52995
  baseClassName: "surveyvalidator",
@@ -53745,12 +53960,18 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
53745
53960
  };
53746
53961
  QuestionPanelDynamicModel.prototype.setIsMobile = function (val) {
53747
53962
  _super.prototype.setIsMobile.call(this, val);
53748
- (this.panels || []).forEach(function (panel) { return panel.elements.forEach(function (element) {
53749
- if (element instanceof _question__WEBPACK_IMPORTED_MODULE_4__["Question"]) {
53750
- element.isMobile = val;
53751
- }
53963
+ (this.panels || []).forEach(function (panel) { return panel.getQuestions(true).forEach(function (question) {
53964
+ question.setIsMobile(val);
53752
53965
  }); });
53753
53966
  };
53967
+ QuestionPanelDynamicModel.prototype.themeChanged = function (theme) {
53968
+ _super.prototype.themeChanged.call(this, theme);
53969
+ (this.panels || []).forEach(function (panel) {
53970
+ return panel.getQuestions(true).forEach(function (question) {
53971
+ question.themeChanged(theme);
53972
+ });
53973
+ });
53974
+ };
53754
53975
  Object.defineProperty(QuestionPanelDynamicModel.prototype, "panelCount", {
53755
53976
  /**
53756
53977
  * The number of panels in Dynamic Panel.
@@ -55754,31 +55975,23 @@ var QuestionRankingModel = /** @class */ (function (_super) {
55754
55975
  return;
55755
55976
  }
55756
55977
  if (key === "ArrowUp" && index) {
55757
- _this.handleArrowUp(index, choice);
55978
+ _this.handleArrowKeys(index, choice, false);
55758
55979
  event.preventDefault();
55759
55980
  }
55760
55981
  if (key === "ArrowDown" && index !== _this.rankingChoices.length - 1) {
55761
- _this.handleArrowDown(index, choice);
55982
+ _this.handleArrowKeys(index, choice, true);
55762
55983
  event.preventDefault();
55763
55984
  }
55764
55985
  }
55765
55986
  };
55766
- _this.handleArrowUp = function (index, choice) {
55767
- var choices = _this.rankingChoices;
55768
- choices.splice(index, 1);
55769
- choices.splice(index - 1, 0, choice);
55770
- _this.setValue();
55771
- setTimeout(function () {
55772
- _this.focusItem(index - 1);
55773
- }, 1);
55774
- };
55775
- _this.handleArrowDown = function (index, choice) {
55987
+ _this.handleArrowKeys = function (index, choice, isDown) {
55988
+ var delta = isDown ? 1 : -1;
55776
55989
  var choices = _this.rankingChoices;
55777
55990
  choices.splice(index, 1);
55778
- choices.splice(index + 1, 0, choice);
55991
+ choices.splice(index + delta, 0, choice);
55779
55992
  _this.setValue();
55780
55993
  setTimeout(function () {
55781
- _this.focusItem(index + 1);
55994
+ _this.focusItem(index + delta);
55782
55995
  }, 1);
55783
55996
  };
55784
55997
  _this.focusItem = function (index, container) {
@@ -56062,46 +56275,39 @@ var QuestionRankingModel = /** @class */ (function (_super) {
56062
56275
  QuestionRankingModel.prototype.handleKeydownSelectToRank = function (event, movedElement) {
56063
56276
  if (this.isDesignMode)
56064
56277
  return;
56065
- var dnd = this.dragDropRankingChoices; //????
56066
56278
  var key = event.key;
56279
+ if (key !== " " && key !== "ArrowUp" && key !== "ArrowDown")
56280
+ return;
56281
+ var dnd = this.dragDropRankingChoices; //????
56067
56282
  var rankingChoices = this.rankingChoices;
56068
- var unRankingChoices = this.unRankingChoices;
56069
56283
  var isMovedElementRanked = rankingChoices.indexOf(movedElement) !== -1;
56070
- var isMovedElementUnRanked = !isMovedElementRanked;
56071
- var fromIndex;
56284
+ var choices = isMovedElementRanked ? rankingChoices : this.unRankingChoices;
56285
+ var fromIndex = choices.indexOf(movedElement);
56286
+ if (fromIndex < 0)
56287
+ return;
56072
56288
  var toIndex;
56073
- if ((key === " " || key === "Enter") && isMovedElementUnRanked) {
56074
- fromIndex = unRankingChoices.indexOf(movedElement);
56289
+ if (key === " " && !isMovedElementRanked) {
56075
56290
  toIndex = 0;
56076
56291
  dnd.selectToRank(this, fromIndex, toIndex);
56077
56292
  this.setValueAfterKeydown(toIndex, "to-container");
56078
56293
  return;
56079
56294
  }
56080
- if ((key === " " || key === "Enter") && isMovedElementRanked) {
56081
- fromIndex = rankingChoices.indexOf(movedElement);
56295
+ if (!isMovedElementRanked)
56296
+ return;
56297
+ if (key === " ") {
56082
56298
  dnd.unselectFromRank(this, fromIndex);
56083
56299
  toIndex = this.unRankingChoices.indexOf(movedElement); //'this.' leads to actual array after the 'unselectFromRank' method
56084
56300
  this.setValueAfterKeydown(toIndex, "from-container");
56085
56301
  return;
56086
56302
  }
56087
- if (key === "ArrowUp" && isMovedElementRanked) {
56088
- fromIndex = rankingChoices.indexOf(movedElement);
56089
- toIndex = fromIndex - 1;
56090
- if (fromIndex < 0)
56091
- return;
56092
- dnd.reorderRankedItem(this, fromIndex, toIndex);
56093
- this.setValueAfterKeydown(toIndex, "to-container");
56303
+ var delta = key === "ArrowUp" ? -1 : (key === "ArrowDown" ? 1 : 0);
56304
+ if (delta === 0)
56094
56305
  return;
56095
- }
56096
- if (key === "ArrowDown" && isMovedElementRanked) {
56097
- fromIndex = rankingChoices.indexOf(movedElement);
56098
- toIndex = fromIndex + 1;
56099
- if (toIndex >= rankingChoices.length)
56100
- return;
56101
- dnd.reorderRankedItem(this, fromIndex, toIndex);
56102
- this.setValueAfterKeydown(toIndex, "to-container");
56306
+ toIndex = fromIndex + delta;
56307
+ if (toIndex < 0 || toIndex >= rankingChoices.length)
56103
56308
  return;
56104
- }
56309
+ dnd.reorderRankedItem(this, fromIndex, toIndex);
56310
+ this.setValueAfterKeydown(toIndex, "to-container");
56105
56311
  };
56106
56312
  QuestionRankingModel.prototype.setValueAfterKeydown = function (index, container) {
56107
56313
  var _this = this;
@@ -56809,13 +57015,24 @@ var QuestionRatingModel = /** @class */ (function (_super) {
56809
57015
  enumerable: false,
56810
57016
  configurable: true
56811
57017
  });
56812
- Object.defineProperty(QuestionRatingModel.prototype, "itemComponentName", {
57018
+ QuestionRatingModel.prototype.getDefaultItemComponent = function () {
57019
+ if (this.renderAs == "dropdown")
57020
+ return "";
57021
+ if (this.isStar)
57022
+ return "sv-rating-item-star";
57023
+ if (this.isSmiley)
57024
+ return "sv-rating-item-smiley";
57025
+ return "sv-rating-item";
57026
+ };
57027
+ Object.defineProperty(QuestionRatingModel.prototype, "itemComponent", {
57028
+ /**
57029
+ * The name of a component used to render items.
57030
+ */
56813
57031
  get: function () {
56814
- if (this.isStar)
56815
- return "sv-rating-item-star";
56816
- if (this.isSmiley)
56817
- return "sv-rating-item-smiley";
56818
- return "sv-rating-item";
57032
+ return this.getPropertyValue("itemComponent", this.getDefaultItemComponent());
57033
+ },
57034
+ set: function (value) {
57035
+ this.setPropertyValue("itemComponent", value);
56819
57036
  },
56820
57037
  enumerable: false,
56821
57038
  configurable: true
@@ -57150,17 +57367,16 @@ var QuestionRatingModel = /** @class */ (function (_super) {
57150
57367
  }
57151
57368
  return classes;
57152
57369
  };
57370
+ QuestionRatingModel.prototype.themeChanged = function (theme) {
57371
+ this.colorsCalculated = false;
57372
+ this.updateColors(theme.cssVariables);
57373
+ this.createRenderedRateItems();
57374
+ };
57153
57375
  QuestionRatingModel.prototype.setSurveyImpl = function (value, isLight) {
57154
- var _this = this;
57155
57376
  _super.prototype.setSurveyImpl.call(this, value, isLight);
57156
57377
  if (!this.survey)
57157
57378
  return;
57158
57379
  this.updateColors(this.survey.themeVariables);
57159
- this.survey.onThemeApplied.add(function (survey, options) {
57160
- _this.colorsCalculated = false;
57161
- _this.updateColors(options.theme.cssVariables);
57162
- _this.createRenderedRateItems();
57163
- });
57164
57380
  };
57165
57381
  QuestionRatingModel.prototype.dispose = function () {
57166
57382
  _super.prototype.dispose.call(this);
@@ -57339,7 +57555,14 @@ _jsonobject__WEBPACK_IMPORTED_MODULE_2__["Serializer"].addClass("rating", [
57339
57555
  default: "auto",
57340
57556
  choices: ["auto", "buttons", "dropdown"],
57341
57557
  visibleIndex: 20
57342
- }
57558
+ },
57559
+ { name: "itemComponent", visible: false, defaultFunc: function (obj) {
57560
+ if (!obj)
57561
+ return "sv-rating-item";
57562
+ if (!!obj.getOriginalObj)
57563
+ obj = obj.getOriginalObj();
57564
+ return obj.getDefaultItemComponent();
57565
+ } }
57343
57566
  ], function () {
57344
57567
  return new QuestionRatingModel("");
57345
57568
  }, "question");
@@ -57464,16 +57687,10 @@ var QuestionSignaturePadModel = /** @class */ (function (_super) {
57464
57687
  this.destroySignaturePad(el);
57465
57688
  }
57466
57689
  };
57467
- QuestionSignaturePadModel.prototype.setSurveyImpl = function (value, isLight) {
57468
- var _this = this;
57469
- _super.prototype.setSurveyImpl.call(this, value, isLight);
57470
- if (!this.survey)
57471
- return;
57472
- this.survey.onThemeApplied.add(function (survey, options) {
57473
- if (!!_this.signaturePad) {
57474
- _this.updateColors(_this.signaturePad);
57475
- }
57476
- });
57690
+ QuestionSignaturePadModel.prototype.themeChanged = function (theme) {
57691
+ if (!!this.signaturePad) {
57692
+ this.updateColors(this.signaturePad);
57693
+ }
57477
57694
  };
57478
57695
  QuestionSignaturePadModel.prototype.initSignaturePad = function (el) {
57479
57696
  var _this = this;
@@ -57733,7 +57950,7 @@ _jsonobject__WEBPACK_IMPORTED_MODULE_0__["Serializer"].addClass("signaturepad",
57733
57950
  default: true,
57734
57951
  },
57735
57952
  {
57736
- name: "backgroundImage",
57953
+ name: "backgroundImage:file",
57737
57954
  category: "general",
57738
57955
  },
57739
57956
  {
@@ -57995,6 +58212,13 @@ var QuestionTagboxModel = /** @class */ (function (_super) {
57995
58212
  _super.prototype.clearValue.call(this);
57996
58213
  this.dropdownListModel.clear();
57997
58214
  };
58215
+ Object.defineProperty(QuestionTagboxModel.prototype, "showClearButton", {
58216
+ get: function () {
58217
+ return this.allowClear && !this.isEmpty() && (!this.isDesignMode || _settings__WEBPACK_IMPORTED_MODULE_5__["settings"].supportCreatorV2);
58218
+ },
58219
+ enumerable: false,
58220
+ configurable: true
58221
+ });
57998
58222
  Object.defineProperty(QuestionTagboxModel.prototype, "isNewA11yStructure", {
57999
58223
  //a11y
58000
58224
  get: function () {
@@ -58065,12 +58289,13 @@ _questionfactory__WEBPACK_IMPORTED_MODULE_1__["QuestionFactory"].Instance.regist
58065
58289
  /*!******************************!*\
58066
58290
  !*** ./src/question_text.ts ***!
58067
58291
  \******************************/
58068
- /*! exports provided: QuestionTextModel */
58292
+ /*! exports provided: QuestionTextModel, isMinMaxType */
58069
58293
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
58070
58294
 
58071
58295
  "use strict";
58072
58296
  __webpack_require__.r(__webpack_exports__);
58073
58297
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "QuestionTextModel", function() { return QuestionTextModel; });
58298
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isMinMaxType", function() { return isMinMaxType; });
58074
58299
  /* harmony import */ var _questionfactory__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./questionfactory */ "./src/questionfactory.ts");
58075
58300
  /* harmony import */ var _jsonobject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./jsonobject */ "./src/jsonobject.ts");
58076
58301
  /* harmony import */ var _localizablestring__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./localizablestring */ "./src/localizablestring.ts");
@@ -60105,9 +60330,9 @@ var CoverCellComponent = /** @class */ (function (_super) {
60105
60330
  return (react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { className: this.model.css, style: this.model.style },
60106
60331
  react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { className: "sv-cover__cell-content", style: this.model.contentStyle },
60107
60332
  this.model.showLogo ? (react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { className: "sv-cover__logo" }, this.renderLogoImage())) : null,
60108
- this.model.showTitle ? (react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { className: "sv-cover__title", style: { maxWidth: this.model.textWidth } },
60333
+ this.model.showTitle ? (react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { className: "sv-cover__title", style: { maxWidth: this.model.textAreaWidth } },
60109
60334
  react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_title_title_element__WEBPACK_IMPORTED_MODULE_3__["TitleElement"], { element: this.model.survey }))) : null,
60110
- this.model.showDescription ? (react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { className: "sv-cover__description", style: { maxWidth: this.model.textWidth } },
60335
+ this.model.showDescription ? (react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { className: "sv-cover__description", style: { maxWidth: this.model.textAreaWidth } },
60111
60336
  react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h5", { className: this.model.survey.css.description }, _reactquestion_element__WEBPACK_IMPORTED_MODULE_1__["SurveyElementBase"].renderLocString(this.model.survey.locDescription)))) : null)));
60112
60337
  };
60113
60338
  return CoverCellComponent;
@@ -60130,12 +60355,12 @@ var CoverComponent = /** @class */ (function (_super) {
60130
60355
  };
60131
60356
  CoverComponent.prototype.renderElement = function () {
60132
60357
  this.model.survey = this.props.survey;
60133
- if (!(this.props.survey.titleView === "cover" && this.props.survey.renderedHasHeader)) {
60358
+ if (!(this.props.survey.headerView === "advanced" && this.props.survey.renderedHasHeader)) {
60134
60359
  return null;
60135
60360
  }
60136
60361
  return (react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { className: this.model.coverClasses, style: { height: this.model.renderedHeight } },
60137
60362
  this.model.backgroundImage ? react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { style: this.model.backgroundImageStyle, className: this.model.backgroundImageClasses }) : null,
60138
- react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { className: this.model.contentClasses }, this.model.cells.map(function (cell, index) { return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(CoverCellComponent, { key: index, model: cell }); }))));
60363
+ react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { className: this.model.contentClasses, style: { maxWidth: this.model.maxWidth } }, this.model.cells.map(function (cell, index) { return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(CoverCellComponent, { key: index, model: cell }); }))));
60139
60364
  };
60140
60365
  return CoverComponent;
60141
60366
  }(_reactquestion_element__WEBPACK_IMPORTED_MODULE_1__["SurveyElementBase"]));
@@ -62494,13 +62719,13 @@ var SurveyQuestionDropdownBase = /** @class */ (function (_super) {
62494
62719
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", { style: { visibility: "hidden" }, "data-bind": "text: model.filterString" }, dropdownListModel.inputStringRendered),
62495
62720
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", null, dropdownListModel.hintStringSuffix))) : null,
62496
62721
  valueElement,
62497
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("input", { type: "text", autoComplete: "off", id: this.question.getInputId(), ref: function (element) { return (_this.inputElement = element); }, className: this.question.cssClasses.filterStringInput, role: dropdownListModel.filterStringEnabled ? this.question.ariaRole : undefined, "aria-label": this.question.placeholder, "aria-expanded": this.question.ariaExpanded === null ? undefined : this.question.ariaExpanded === "true", "aria-controls": dropdownListModel.listElementId, "aria-activedescendant": dropdownListModel.ariaActivedescendant, placeholder: dropdownListModel.placeholderRendered, readOnly: !dropdownListModel.searchEnabled ? true : undefined, tabIndex: dropdownListModel.inputReadOnly ? undefined : -1, disabled: this.question.isInputReadOnly, inputMode: dropdownListModel.inputMode, onChange: function (e) { onInputChange(e); }, onBlur: this.blur, onFocus: this.focus })),
62722
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("input", { type: "text", autoComplete: "off", id: this.question.getInputId(), ref: function (element) { return (_this.inputElement = element); }, className: this.question.cssClasses.filterStringInput, role: dropdownListModel.filterStringEnabled ? this.question.ariaRole : undefined, "aria-expanded": this.question.ariaExpanded === null ? undefined : this.question.ariaExpanded === "true", "aria-controls": dropdownListModel.listElementId, "aria-activedescendant": dropdownListModel.ariaActivedescendant, placeholder: dropdownListModel.placeholderRendered, readOnly: !dropdownListModel.searchEnabled ? true : undefined, tabIndex: dropdownListModel.inputReadOnly ? undefined : -1, disabled: this.question.isInputReadOnly, inputMode: dropdownListModel.inputMode, onChange: function (e) { onInputChange(e); }, onBlur: this.blur, onFocus: this.focus })),
62498
62723
  this.createClearButton()));
62499
62724
  };
62500
62725
  SurveyQuestionDropdownBase.prototype.createClearButton = function () {
62501
62726
  if (!this.question.allowClear || !this.question.cssClasses.cleanButtonIconId)
62502
62727
  return null;
62503
- var style = { display: this.question.isEmpty() ? "none" : "" };
62728
+ var style = { display: !this.question.showClearButton ? "none" : "" };
62504
62729
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.question.cssClasses.cleanButton, style: style, onClick: this.clear },
62505
62730
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_components_svg_icon_svg_icon__WEBPACK_IMPORTED_MODULE_3__["SvgIcon"], { className: this.question.cssClasses.cleanButtonSvg, iconName: this.question.cssClasses.cleanButtonIconId, title: this.question.clearCaption, size: "auto" })));
62506
62731
  };
@@ -64059,7 +64284,7 @@ var Survey = /** @class */ (function (_super) {
64059
64284
  renderResult = this.renderSurvey();
64060
64285
  }
64061
64286
  var backgroundImage = !!this.survey.backgroundImage ? react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.css.rootBackgroundImage, style: this.survey.backgroundImageStyle }) : null;
64062
- var header = this.survey.titleView === "title" ? react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_components_survey_header_survey_header__WEBPACK_IMPORTED_MODULE_5__["SurveyHeader"], { survey: this.survey }) : null;
64287
+ var header = this.survey.headerView === "basic" ? react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_components_survey_header_survey_header__WEBPACK_IMPORTED_MODULE_5__["SurveyHeader"], { survey: this.survey }) : null;
64063
64288
  var onSubmit = function (event) {
64064
64289
  event.preventDefault();
64065
64290
  };
@@ -64392,7 +64617,7 @@ var SurveyProgress = /** @class */ (function (_super) {
64392
64617
  width: this.progress + "%",
64393
64618
  };
64394
64619
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.survey.getProgressCssClasses(this.props.container) },
64395
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { style: progressStyle, className: this.css.progressBar, role: "progressbar", "aria-valuemin": 0, "aria-valuemax": 100 },
64620
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { style: progressStyle, className: this.css.progressBar, role: "progressbar", "aria-valuemin": 0, "aria-valuemax": 100, "aria-label": "progress" },
64396
64621
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", { className: survey_core__WEBPACK_IMPORTED_MODULE_1__["SurveyProgressModel"].getProgressTextInBarCss(this.css) }, this.progressText)),
64397
64622
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", { className: survey_core__WEBPACK_IMPORTED_MODULE_1__["SurveyProgressModel"].getProgressTextUnderBarCss(this.css) }, this.progressText)));
64398
64623
  };
@@ -68045,7 +68270,7 @@ var SurveyQuestionRating = /** @class */ (function (_super) {
68045
68270
  this.setState({ value: this.question.value });
68046
68271
  };
68047
68272
  SurveyQuestionRating.prototype.renderItem = function (item, index) {
68048
- var renderedItem = _element_factory__WEBPACK_IMPORTED_MODULE_3__["ReactElementFactory"].Instance.createElement(this.question.itemComponentName, {
68273
+ var renderedItem = _element_factory__WEBPACK_IMPORTED_MODULE_3__["ReactElementFactory"].Instance.createElement(this.question.itemComponent, {
68049
68274
  question: this.question,
68050
68275
  item: item,
68051
68276
  index: index,
@@ -68921,7 +69146,7 @@ var TagboxFilterString = /** @class */ (function (_super) {
68921
69146
  (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.question.cssClasses.hintSuffix },
68922
69147
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", { style: { visibility: "hidden" }, "data-bind": "text: model.filterString" }, this.model.inputStringRendered),
68923
69148
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", null, this.model.hintStringSuffix))) : null,
68924
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("input", { type: "text", autoComplete: "off", id: this.question.getInputId(), inputMode: this.model.inputMode, ref: function (element) { return (_this.inputElement = element); }, className: this.question.cssClasses.filterStringInput, disabled: this.question.isInputReadOnly, readOnly: !this.model.searchEnabled ? true : undefined, size: !this.model.inputStringRendered ? 1 : undefined, role: this.model.filterStringEnabled ? this.question.ariaRole : undefined, "aria-label": this.question.placeholder, "aria-expanded": this.question.ariaExpanded === null ? undefined : this.question.ariaExpanded === "true", "aria-controls": this.model.listElementId, "aria-activedescendant": this.model.ariaActivedescendant, placeholder: this.model.filterStringPlaceholder, onKeyDown: function (e) { _this.keyhandler(e); }, onChange: function (e) { _this.onChange(e); }, onBlur: function (e) { _this.onBlur(e); }, onFocus: function (e) { _this.onFocus(e); } }))));
69149
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("input", { type: "text", autoComplete: "off", id: this.question.getInputId(), inputMode: this.model.inputMode, ref: function (element) { return (_this.inputElement = element); }, className: this.question.cssClasses.filterStringInput, disabled: this.question.isInputReadOnly, readOnly: !this.model.searchEnabled ? true : undefined, size: !this.model.inputStringRendered ? 1 : undefined, role: this.model.filterStringEnabled ? this.question.ariaRole : undefined, "aria-expanded": this.question.ariaExpanded === null ? undefined : this.question.ariaExpanded === "true", "aria-controls": this.model.listElementId, "aria-activedescendant": this.model.ariaActivedescendant, placeholder: this.model.filterStringPlaceholder, onKeyDown: function (e) { _this.keyhandler(e); }, onChange: function (e) { _this.onChange(e); }, onBlur: function (e) { _this.onBlur(e); }, onFocus: function (e) { _this.onFocus(e); } }))));
68925
69150
  };
68926
69151
  return TagboxFilterString;
68927
69152
  }(_reactquestion_element__WEBPACK_IMPORTED_MODULE_3__["SurveyElementBase"]));
@@ -69594,6 +69819,12 @@ var settings = {
69594
69819
  notifications: {
69595
69820
  lifetime: 2000
69596
69821
  },
69822
+ /**
69823
+ * Specifies how many milliseconds a survey should wait before it automatically switches to the next page. Applies only when [auto-advance](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#goNextPageAutomatic) is enabled.
69824
+ *
69825
+ * Default value: 300
69826
+ */
69827
+ autoAdvanceDelay: 300,
69597
69828
  /**
69598
69829
  * Specifies the direction in which to lay out Checkbox and Radiogroup items. This setting affects the resulting UI when items are arranged in [more than one column](https://surveyjs.io/form-library/documentation/api-reference/checkbox-question-model#colCount).
69599
69830
  *
@@ -71312,7 +71543,9 @@ var SurveyElement = /** @class */ (function (_super) {
71312
71543
  Object.defineProperty(SurveyElement.prototype, "rootStyle", {
71313
71544
  get: function () {
71314
71545
  var style = {};
71315
- var minWidth = this.renderMinWidth ? this.minWidth : "min(100%, " + this.minWidth + ")";
71546
+ var minWidth = this.minWidth;
71547
+ if (minWidth != "auto")
71548
+ minWidth = "min(100%, " + this.minWidth + ")";
71316
71549
  if (this.allowRootStyle && this.renderWidth) {
71317
71550
  // style["width"] = this.renderWidth;
71318
71551
  style["flexGrow"] = 1;
@@ -71422,9 +71655,6 @@ var SurveyElement = /** @class */ (function (_super) {
71422
71655
  __decorate([
71423
71656
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__["property"])({ defaultValue: true })
71424
71657
  ], SurveyElement.prototype, "allowRootStyle", void 0);
71425
- __decorate([
71426
- Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__["property"])({ defaultValue: true })
71427
- ], SurveyElement.prototype, "renderMinWidth", void 0);
71428
71658
  return SurveyElement;
71429
71659
  }(SurveyElementCore));
71430
71660
 
@@ -71553,6 +71783,7 @@ __webpack_require__.r(__webpack_exports__);
71553
71783
  /* harmony import */ var _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./utils/cssClassBuilder */ "./src/utils/cssClassBuilder.ts");
71554
71784
  /* harmony import */ var _notifier__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./notifier */ "./src/notifier.ts");
71555
71785
  /* harmony import */ var _cover__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./cover */ "./src/cover.ts");
71786
+ /* harmony import */ var _surveytimer__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./surveytimer */ "./src/surveytimer.ts");
71556
71787
  var __extends = (undefined && undefined.__extends) || (function () {
71557
71788
  var extendStatics = function (d, b) {
71558
71789
  extendStatics = Object.setPrototypeOf ||
@@ -71593,6 +71824,7 @@ var __decorate = (undefined && undefined.__decorate) || function (decorators, ta
71593
71824
 
71594
71825
 
71595
71826
 
71827
+
71596
71828
 
71597
71829
 
71598
71830
  /**
@@ -71609,8 +71841,6 @@ var SurveyModel = /** @class */ (function (_super) {
71609
71841
  var _this = _super.call(this) || this;
71610
71842
  _this.valuesHash = {};
71611
71843
  _this.variablesHash = {};
71612
- _this.onThemeApplying = new _base__WEBPACK_IMPORTED_MODULE_2__["EventBase"]();
71613
- _this.onThemeApplied = new _base__WEBPACK_IMPORTED_MODULE_2__["EventBase"]();
71614
71844
  //#region Event declarations
71615
71845
  /**
71616
71846
  * An event that is raised after a [trigger](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#triggers) is executed.
@@ -72201,10 +72431,12 @@ var SurveyModel = /** @class */ (function (_super) {
72201
72431
  * For information on event handler parameters, refer to descriptions within the interface.
72202
72432
  *
72203
72433
  * [View Demo](https://surveyjs.io/form-library/examples/survey-titleactions/ (linkStyle))
72434
+ * @see [IAction](https://surveyjs.io/form-library/documentation/api-reference/iaction)
72204
72435
  */
72205
72436
  _this.onGetQuestionTitleActions = _this.addEvent();
72206
72437
  /**
72207
72438
  * An event that allows you to add, delete, or modify actions in a panel title.
72439
+ * @see [IAction](https://surveyjs.io/form-library/documentation/api-reference/iaction)
72208
72440
  */
72209
72441
  _this.onGetPanelTitleActions = _this.addEvent();
72210
72442
  /**
@@ -72213,10 +72445,12 @@ var SurveyModel = /** @class */ (function (_super) {
72213
72445
  * For information on event handler parameters, refer to descriptions within the interface.
72214
72446
  *
72215
72447
  * [View Demo](https://surveyjs.io/form-library/examples/modify-titles-of-survey-elements/ (linkStyle))
72448
+ * @see [IAction](https://surveyjs.io/form-library/documentation/api-reference/iaction)
72216
72449
  */
72217
72450
  _this.onGetPageTitleActions = _this.addEvent();
72218
72451
  /**
72219
72452
  * An event that allows you to add, delete, or modify actions in the footer of a [Panel](https://surveyjs.io/form-library/documentation/panelmodel).
72453
+ * @see [IAction](https://surveyjs.io/form-library/documentation/api-reference/iaction)
72220
72454
  */
72221
72455
  _this.onGetPanelFooterActions = _this.addEvent();
72222
72456
  /**
@@ -72225,7 +72459,7 @@ var SurveyModel = /** @class */ (function (_super) {
72225
72459
  * For information on event handler parameters, refer to descriptions within the interface.
72226
72460
  *
72227
72461
  * [View Demo](https://surveyjs.io/form-library/examples/employee-information-form/ (linkStyle))
72228
- * @see IAction
72462
+ * @see [IAction](https://surveyjs.io/form-library/documentation/api-reference/iaction)
72229
72463
  */
72230
72464
  _this.onGetMatrixRowActions = _this.addEvent();
72231
72465
  /**
@@ -73197,6 +73431,7 @@ var SurveyModel = /** @class */ (function (_super) {
73197
73431
  * > If any of the following questions is answered last, the survey does not switch to the next page: Checkboxes, Yes/No (Boolean) (rendered as Checkbox), Long Text, Signature, Image Picker (with Multi Select), File Upload, Single-Select Matrix (not all rows are answered), Dynamic Matrix, Dynamic Panel.
73198
73432
  *
73199
73433
  * [View Demo](https://surveyjs.io/form-library/examples/automatically-move-to-next-page-if-answer-selected/ (linkStyle))
73434
+ * @see [`settings.autoAdvanceDelay`](https://surveyjs.io/form-library/documentation/api-reference/settings#autoAdvanceDelay)
73200
73435
  */
73201
73436
  get: function () {
73202
73437
  return this.getPropertyValue("goNextPageAutomatic");
@@ -73212,6 +73447,7 @@ var SurveyModel = /** @class */ (function (_super) {
73212
73447
  * Specifies whether to complete the survey automatically after a user answers all questions on the last page. Applies only if the [`goNextPageAutomatic`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#goNextPageAutomatic) property is `true`.
73213
73448
  *
73214
73449
  * Default value: `true`
73450
+ * @see [`settings.autoAdvanceDelay`](https://surveyjs.io/form-library/documentation/api-reference/settings#autoAdvanceDelay)
73215
73451
  */
73216
73452
  get: function () {
73217
73453
  return this.getPropertyValue("allowCompleteSurveyAutomatic", true);
@@ -73774,7 +74010,7 @@ var SurveyModel = /** @class */ (function (_super) {
73774
74010
  if (this._isMobile !== newVal) {
73775
74011
  this._isMobile = newVal;
73776
74012
  this.updateCss();
73777
- this.getAllQuestions().map(function (q) { return q.setIsMobile(newVal); });
74013
+ this.getAllQuestions().forEach(function (q) { return q.setIsMobile(newVal); });
73778
74014
  }
73779
74015
  };
73780
74016
  Object.defineProperty(SurveyModel.prototype, "isMobile", {
@@ -75261,10 +75497,12 @@ var SurveyModel = /** @class */ (function (_super) {
75261
75497
  }
75262
75498
  this.setPropertyValue("completedStateText", text);
75263
75499
  if (this.state === "completed" && this.showCompletedPage && !!this.completedState) {
75264
- this.notify(this.completedStateText, this.completedState);
75500
+ this.notify(this.completedStateText, this.completedState, true);
75265
75501
  }
75266
75502
  };
75267
- SurveyModel.prototype.notify = function (message, type) {
75503
+ SurveyModel.prototype.notify = function (message, type, showActions) {
75504
+ if (showActions === void 0) { showActions = false; }
75505
+ this.notifier.showActions = showActions;
75268
75506
  this.notifier.notify(message, type, type === "error");
75269
75507
  };
75270
75508
  /**
@@ -78370,6 +78608,7 @@ var SurveyModel = /** @class */ (function (_super) {
78370
78608
  return baseName + index;
78371
78609
  };
78372
78610
  SurveyModel.prototype.tryGoNextPageAutomatic = function (name) {
78611
+ var _this = this;
78373
78612
  if (!!this.isEndLoadingFromJson ||
78374
78613
  !this.goNextPageAutomatic ||
78375
78614
  !this.currentPage)
@@ -78388,22 +78627,24 @@ var SurveyModel = /** @class */ (function (_super) {
78388
78627
  if (questions[i].hasInput && questions[i].isEmpty())
78389
78628
  return;
78390
78629
  }
78391
- if (!this.checkIsCurrentPageHasErrors(false)) {
78392
- if (!this.isLastPage) {
78393
- this.nextPage();
78630
+ if (this.isLastPage && (this.goNextPageAutomatic !== true || !this.allowCompleteSurveyAutomatic))
78631
+ return;
78632
+ if (this.checkIsCurrentPageHasErrors(false))
78633
+ return;
78634
+ var goNextPage = function () {
78635
+ if (!_this.isLastPage) {
78636
+ _this.nextPage();
78394
78637
  }
78395
78638
  else {
78396
- if (this.goNextPageAutomatic === true &&
78397
- this.allowCompleteSurveyAutomatic) {
78398
- if (this.isShowPreviewBeforeComplete) {
78399
- this.showPreview();
78400
- }
78401
- else {
78402
- this.completeLastPage();
78403
- }
78639
+ if (_this.isShowPreviewBeforeComplete) {
78640
+ _this.showPreview();
78641
+ }
78642
+ else {
78643
+ _this.completeLastPage();
78404
78644
  }
78405
78645
  }
78406
- }
78646
+ };
78647
+ _surveytimer__WEBPACK_IMPORTED_MODULE_21__["surveyTimerFunctions"].safeTimeOut(goNextPage, _settings__WEBPACK_IMPORTED_MODULE_14__["settings"].autoAdvanceDelay);
78407
78648
  };
78408
78649
  /**
78409
78650
  * Returns a comment value from a question with a specified `name`.
@@ -79404,12 +79645,18 @@ var SurveyModel = /** @class */ (function (_super) {
79404
79645
  SurveyModel.prototype.processPopupVisiblityChanged = function (question, popup, visible) {
79405
79646
  this.onPopupVisibleChanged.fire(this, { question: question, popup: popup, visible: visible });
79406
79647
  };
79648
+ /**
79649
+ * Applies a specified theme to the survey.
79650
+ *
79651
+ * [Themes & Styles](/form-library/documentation/manage-default-themes-and-styles (linkStyle))
79652
+ * @param theme An [`ITheme`](/form-library/documentation/api-reference/itheme) object with theme settings.
79653
+ */
79407
79654
  SurveyModel.prototype.applyTheme = function (theme) {
79408
79655
  var _this = this;
79409
79656
  if (!theme)
79410
79657
  return;
79411
79658
  Object.keys(theme).forEach(function (key) {
79412
- if (key === "cover") {
79659
+ if (key === "header") {
79413
79660
  _this.removeLayoutElement("cover");
79414
79661
  var newCoverModel = new _cover__WEBPACK_IMPORTED_MODULE_20__["Cover"]();
79415
79662
  newCoverModel.fromTheme(theme);
@@ -79427,7 +79674,10 @@ var SurveyModel = /** @class */ (function (_super) {
79427
79674
  _this[key] = theme[key];
79428
79675
  }
79429
79676
  });
79430
- this.onThemeApplied.fire(this, { theme: theme });
79677
+ this.themeChanged(theme);
79678
+ };
79679
+ SurveyModel.prototype.themeChanged = function (theme) {
79680
+ this.getAllQuestions().forEach(function (q) { return q.themeChanged(theme); });
79431
79681
  };
79432
79682
  /**
79433
79683
  * Disposes of the survey model.
@@ -79502,8 +79752,8 @@ var SurveyModel = /** @class */ (function (_super) {
79502
79752
  __decorate([
79503
79753
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])({
79504
79754
  onSet: function (newValue, target) {
79505
- if (newValue === "cover") {
79506
- var layoutElement = target.layoutElements.filter(function (a) { return a.id === newValue; })[0];
79755
+ if (newValue === "advanced") {
79756
+ var layoutElement = target.layoutElements.filter(function (a) { return a.id === "cover"; })[0];
79507
79757
  if (!layoutElement) {
79508
79758
  var cover = new _cover__WEBPACK_IMPORTED_MODULE_20__["Cover"]();
79509
79759
  cover.logoPositionX = target.logoPosition === "right" ? "right" : "left";
@@ -79526,7 +79776,7 @@ var SurveyModel = /** @class */ (function (_super) {
79526
79776
  }
79527
79777
  }
79528
79778
  })
79529
- ], SurveyModel.prototype, "titleView", void 0);
79779
+ ], SurveyModel.prototype, "headerView", void 0);
79530
79780
  __decorate([
79531
79781
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])()
79532
79782
  ], SurveyModel.prototype, "showBrandInfo", void 0);
@@ -79599,7 +79849,7 @@ _jsonobject__WEBPACK_IMPORTED_MODULE_1__["Serializer"].addClass("survey", [
79599
79849
  serializationProperty: "locDescription",
79600
79850
  dependsOn: "locale",
79601
79851
  },
79602
- { name: "logo", serializationProperty: "locLogo" },
79852
+ { name: "logo:file", serializationProperty: "locLogo" },
79603
79853
  { name: "logoWidth", default: "300px", minValue: 0 },
79604
79854
  { name: "logoHeight", default: "200px", minValue: 0 },
79605
79855
  {
@@ -79815,8 +80065,8 @@ _jsonobject__WEBPACK_IMPORTED_MODULE_1__["Serializer"].addClass("survey", [
79815
80065
  },
79816
80066
  { name: "width", visibleIf: function (obj) { return obj.widthMode === "static"; } },
79817
80067
  { name: "fitToContainer:boolean", default: false },
79818
- { name: "titleView", default: "title", choices: ["title", "cover"], visible: false },
79819
- { name: "backgroundImage", visible: false },
80068
+ { name: "headerView", default: "basic", choices: ["basic", "advanced"], visible: false },
80069
+ { name: "backgroundImage:file", visible: false },
79820
80070
  { name: "backgroundImageFit", default: "cover", choices: ["auto", "contain", "cover"], visible: false },
79821
80071
  { name: "backgroundImageAttachment", default: "scroll", choices: ["scroll", "fixed"], visible: false },
79822
80072
  { name: "backgroundOpacity:number", minValue: 0, maxValue: 1, default: 1, visible: false },
@@ -80325,6 +80575,7 @@ var TOCModel = /** @class */ (function () {
80325
80575
  };
80326
80576
  this.listModel = createTOCListModel(survey, function () { _this.popupModel.isVisible = false; });
80327
80577
  this.popupModel = new _popup__WEBPACK_IMPORTED_MODULE_4__["PopupModel"]("sv-list", { model: this.listModel });
80578
+ this.popupModel.overlayDisplayMode = "overlay";
80328
80579
  this.popupModel.displayMode = new _base__WEBPACK_IMPORTED_MODULE_1__["ComputedUpdater"](function () { return _this.isMobile ? "overlay" : "popup"; });
80329
80580
  }
80330
80581
  Object.defineProperty(TOCModel.prototype, "isMobile", {
@@ -80367,15 +80618,22 @@ __webpack_require__.r(__webpack_exports__);
80367
80618
 
80368
80619
  var surveyTimerFunctions = {
80369
80620
  setTimeout: function (func) {
80370
- if (typeof window === "undefined")
80371
- return 0;
80372
- return window.setTimeout(func, 1000);
80621
+ return surveyTimerFunctions.safeTimeOut(func, 1000);
80373
80622
  },
80374
80623
  clearTimeout: function (timerId) {
80375
80624
  if (typeof window === "undefined")
80376
80625
  return;
80377
80626
  window.clearTimeout(timerId);
80378
80627
  },
80628
+ safeTimeOut: function (func, delay) {
80629
+ if (typeof window === "undefined" || delay <= 0) {
80630
+ func();
80631
+ return 0;
80632
+ }
80633
+ else {
80634
+ return window.setTimeout(func, delay);
80635
+ }
80636
+ }
80379
80637
  };
80380
80638
  var SurveyTimer = /** @class */ (function () {
80381
80639
  function SurveyTimer() {