survey-react 1.9.129 → 1.9.130

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.129
2
+ * surveyjs - Survey JavaScript library v1.9.130
3
3
  * Copyright (c) 2015-2024 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
5
5
  */
@@ -5649,6 +5649,7 @@ var defaultV2Css = {
5649
5649
  itemOnError: "sd-boolean--error",
5650
5650
  control: "sd-boolean__control sd-visuallyhidden",
5651
5651
  itemChecked: "sd-boolean--checked",
5652
+ itemExchanged: "sd-boolean--exchanged",
5652
5653
  itemIndeterminate: "sd-boolean--indeterminate",
5653
5654
  itemDisabled: "sd-boolean--disabled",
5654
5655
  itemHover: "sd-boolean--allowhover",
@@ -6824,6 +6825,7 @@ __webpack_require__.r(__webpack_exports__);
6824
6825
  var DragDropCore = /** @class */ (function () {
6825
6826
  function DragDropCore(surveyValue, creator, longTap, domAdapter) {
6826
6827
  var _this = this;
6828
+ var _a;
6827
6829
  this.surveyValue = surveyValue;
6828
6830
  this.creator = creator;
6829
6831
  this._isBottom = null;
@@ -6844,7 +6846,7 @@ var DragDropCore = /** @class */ (function () {
6844
6846
  _this.isBottom = null;
6845
6847
  };
6846
6848
  this.doBanDropHere = function () { };
6847
- this.domAdapter = domAdapter || new _dom_adapter__WEBPACK_IMPORTED_MODULE_1__["DragDropDOMAdapter"](this, longTap);
6849
+ this.domAdapter = domAdapter || new _dom_adapter__WEBPACK_IMPORTED_MODULE_1__["DragDropDOMAdapter"](this, longTap, (_a = this.survey) === null || _a === void 0 ? void 0 : _a.fitToContainer);
6848
6850
  }
6849
6851
  Object.defineProperty(DragDropCore.prototype, "isBottom", {
6850
6852
  get: function () {
@@ -6869,7 +6871,8 @@ var DragDropCore = /** @class */ (function () {
6869
6871
  });
6870
6872
  Object.defineProperty(DragDropCore.prototype, "survey", {
6871
6873
  get: function () {
6872
- return this.surveyValue || this.creator.survey;
6874
+ var _a;
6875
+ return this.surveyValue || ((_a = this.creator) === null || _a === void 0 ? void 0 : _a.survey);
6873
6876
  },
6874
6877
  enumerable: false,
6875
6878
  configurable: true
@@ -7025,11 +7028,13 @@ if (typeof window !== "undefined") {
7025
7028
  }, { passive: false });
7026
7029
  }
7027
7030
  var DragDropDOMAdapter = /** @class */ (function () {
7028
- function DragDropDOMAdapter(dd, longTap) {
7031
+ function DragDropDOMAdapter(dd, longTap, fitToContainer) {
7029
7032
  var _this = this;
7030
7033
  if (longTap === void 0) { longTap = true; }
7034
+ if (fitToContainer === void 0) { fitToContainer = false; }
7031
7035
  this.dd = dd;
7032
7036
  this.longTap = longTap;
7037
+ this.fitToContainer = fitToContainer;
7033
7038
  this.scrollIntervalId = null;
7034
7039
  this.stopLongTapIfMoveEnough = function (pointerMoveEvent) {
7035
7040
  pointerMoveEvent.preventDefault();
@@ -7142,6 +7147,8 @@ var DragDropDOMAdapter = /** @class */ (function () {
7142
7147
  DragDropDOMAdapter.prototype.moveShortcutElement = function (event) {
7143
7148
  var rootElementX = this.rootElement.getBoundingClientRect().x;
7144
7149
  var rootElementY = this.rootElement.getBoundingClientRect().y;
7150
+ var rootElementScrollLeft = this.rootElement.scrollLeft;
7151
+ var rootElementScrollTop = this.rootElement.scrollTop;
7145
7152
  this.doScroll(event.clientY, event.clientX);
7146
7153
  var shortcutHeight = this.draggedElementShortcut.offsetHeight;
7147
7154
  var shortcutWidth = this.draggedElementShortcut.offsetWidth;
@@ -7158,6 +7165,10 @@ var DragDropDOMAdapter = /** @class */ (function () {
7158
7165
  var pageY = event.pageY;
7159
7166
  var clientX = event.clientX;
7160
7167
  var clientY = event.clientY;
7168
+ if (!!this.fitToContainer) {
7169
+ rootElementX -= rootElementScrollLeft;
7170
+ rootElementY -= rootElementScrollTop;
7171
+ }
7161
7172
  var shortcutBottomCoordinate = this.getShortcutBottomCoordinate(clientY, shortcutHeight, shortcutYOffset);
7162
7173
  var shortcutRightCoordinate = this.getShortcutRightCoordinate(clientX, shortcutWidth, shortcutXOffset);
7163
7174
  if (shortcutRightCoordinate >= documentRight) { // right boundary
@@ -7883,7 +7894,9 @@ var DropdownListModel = /** @class */ (function (_super) {
7883
7894
  _this.qustionPropertyChangedHandler = function (sender, options) {
7884
7895
  _this.onPropertyChangedHandler(sender, options);
7885
7896
  };
7886
- _this.htmlCleanerElement = document.createElement("div");
7897
+ if ("undefined" !== typeof document) {
7898
+ _this.htmlCleanerElement = document.createElement("div");
7899
+ }
7887
7900
  question.onPropertyChanged.add(_this.qustionPropertyChangedHandler);
7888
7901
  _this.showInputFieldComponent = _this.question.showInputFieldComponent;
7889
7902
  _this.listModel = _this.createListModel();
@@ -8113,6 +8126,8 @@ var DropdownListModel = /** @class */ (function (_super) {
8113
8126
  }
8114
8127
  };
8115
8128
  DropdownListModel.prototype.cleanHtml = function (html) {
8129
+ if (!this.htmlCleanerElement)
8130
+ return "";
8116
8131
  this.htmlCleanerElement.innerHTML = html;
8117
8132
  return this.htmlCleanerElement.textContent;
8118
8133
  };
@@ -9046,7 +9061,7 @@ __webpack_require__.r(__webpack_exports__);
9046
9061
  /*!*************************************!*\
9047
9062
  !*** ./src/entries/chunks/model.ts ***!
9048
9063
  \*************************************/
9049
- /*! 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, tryFocusPage, createTOCListModel, getTocRootCss, TOCModel, SurveyProgressModel, ProgressButtons, ProgressButtonsResponsivityManager, 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, chooseFiles, sanitizeEditableContent, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropCore, DragDropChoices, DragDropRankingSelectToRank */
9064
+ /*! 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, QuestionMatrixDropdownRenderedErrorRow, 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, tryFocusPage, createTOCListModel, getTocRootCss, TOCModel, SurveyProgressModel, ProgressButtons, ProgressButtonsResponsivityManager, 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, chooseFiles, sanitizeEditableContent, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropCore, DragDropChoices, DragDropRankingSelectToRank */
9050
9065
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
9051
9066
 
9052
9067
  "use strict";
@@ -9212,6 +9227,8 @@ __webpack_require__.r(__webpack_exports__);
9212
9227
 
9213
9228
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "QuestionMatrixDropdownRenderedRow", function() { return _question_matrixdropdownrendered__WEBPACK_IMPORTED_MODULE_20__["QuestionMatrixDropdownRenderedRow"]; });
9214
9229
 
9230
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "QuestionMatrixDropdownRenderedErrorRow", function() { return _question_matrixdropdownrendered__WEBPACK_IMPORTED_MODULE_20__["QuestionMatrixDropdownRenderedErrorRow"]; });
9231
+
9215
9232
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "QuestionMatrixDropdownRenderedTable", function() { return _question_matrixdropdownrendered__WEBPACK_IMPORTED_MODULE_20__["QuestionMatrixDropdownRenderedTable"]; });
9216
9233
 
9217
9234
  /* harmony import */ var _question_matrixdropdown__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ../../question_matrixdropdown */ "./src/question_matrixdropdown.ts");
@@ -9525,8 +9542,8 @@ __webpack_require__.r(__webpack_exports__);
9525
9542
  //import "../../modern.scss";
9526
9543
  var Version;
9527
9544
  var ReleaseDate;
9528
- Version = "" + "1.9.129";
9529
- ReleaseDate = "" + "2024-02-06";
9545
+ Version = "" + "1.9.130";
9546
+ ReleaseDate = "" + "2024-02-15";
9530
9547
  function checkLibraryVersion(ver, libraryName) {
9531
9548
  if (Version != ver) {
9532
9549
  var str = "survey-core has version '" + Version + "' and " + libraryName
@@ -9701,7 +9718,7 @@ function checkPrefix(prefix) {
9701
9718
  /*!**************************************!*\
9702
9719
  !*** ./src/entries/core-wo-model.ts ***!
9703
9720
  \**************************************/
9704
- /*! 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, tryFocusPage, createTOCListModel, getTocRootCss, TOCModel, SurveyProgressModel, ProgressButtons, ProgressButtonsResponsivityManager, 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, chooseFiles, 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 */
9721
+ /*! 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, QuestionMatrixDropdownRenderedErrorRow, 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, tryFocusPage, createTOCListModel, getTocRootCss, TOCModel, SurveyProgressModel, ProgressButtons, ProgressButtonsResponsivityManager, 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, chooseFiles, 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 */
9705
9722
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
9706
9723
 
9707
9724
  "use strict";
@@ -9853,6 +9870,8 @@ __webpack_require__.r(__webpack_exports__);
9853
9870
 
9854
9871
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "QuestionMatrixDropdownRenderedRow", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__["QuestionMatrixDropdownRenderedRow"]; });
9855
9872
 
9873
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "QuestionMatrixDropdownRenderedErrorRow", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__["QuestionMatrixDropdownRenderedErrorRow"]; });
9874
+
9856
9875
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "QuestionMatrixDropdownRenderedTable", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__["QuestionMatrixDropdownRenderedTable"]; });
9857
9876
 
9858
9877
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MatrixDropdownRowModel", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__["MatrixDropdownRowModel"]; });
@@ -10168,7 +10187,7 @@ __webpack_require__.r(__webpack_exports__);
10168
10187
  /*!*****************************!*\
10169
10188
  !*** ./src/entries/core.ts ***!
10170
10189
  \*****************************/
10171
- /*! 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, tryFocusPage, createTOCListModel, getTocRootCss, TOCModel, SurveyProgressModel, ProgressButtons, ProgressButtonsResponsivityManager, 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, chooseFiles, 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 */
10190
+ /*! 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, QuestionMatrixDropdownRenderedErrorRow, 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, tryFocusPage, createTOCListModel, getTocRootCss, TOCModel, SurveyProgressModel, ProgressButtons, ProgressButtonsResponsivityManager, 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, chooseFiles, 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 */
10172
10191
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
10173
10192
 
10174
10193
  "use strict";
@@ -10320,6 +10339,8 @@ __webpack_require__.r(__webpack_exports__);
10320
10339
 
10321
10340
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "QuestionMatrixDropdownRenderedRow", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__["QuestionMatrixDropdownRenderedRow"]; });
10322
10341
 
10342
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "QuestionMatrixDropdownRenderedErrorRow", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__["QuestionMatrixDropdownRenderedErrorRow"]; });
10343
+
10323
10344
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "QuestionMatrixDropdownRenderedTable", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__["QuestionMatrixDropdownRenderedTable"]; });
10324
10345
 
10325
10346
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MatrixDropdownRowModel", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__["MatrixDropdownRowModel"]; });
@@ -11027,7 +11048,7 @@ __webpack_require__.r(__webpack_exports__);
11027
11048
  /*!******************************!*\
11028
11049
  !*** ./src/entries/react.ts ***!
11029
11050
  \******************************/
11030
- /*! 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, tryFocusPage, createTOCListModel, getTocRootCss, TOCModel, SurveyProgressModel, ProgressButtons, ProgressButtonsResponsivityManager, 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, chooseFiles, 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, RatingDropdownItem, TagboxFilterString, SurveyQuestionOptionItem, SurveyQuestionDropdownBase, SurveyQuestionDropdown, SurveyQuestionTagboxItem, SurveyQuestionTagbox, SurveyQuestionDropdownSelect, SurveyQuestionMatrix, SurveyQuestionMatrixRow, SurveyQuestionMatrixCell, 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, HeaderMobile, HeaderCell, Header, SurveyLocStringViewer, SurveyLocStringEditor, LoadingIndicatorComponent, SvgBundleComponent */
11051
+ /*! 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, QuestionMatrixDropdownRenderedErrorRow, 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, tryFocusPage, createTOCListModel, getTocRootCss, TOCModel, SurveyProgressModel, ProgressButtons, ProgressButtonsResponsivityManager, 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, chooseFiles, 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, RatingDropdownItem, TagboxFilterString, SurveyQuestionOptionItem, SurveyQuestionDropdownBase, SurveyQuestionDropdown, SurveyQuestionTagboxItem, SurveyQuestionTagbox, SurveyQuestionDropdownSelect, SurveyQuestionMatrix, SurveyQuestionMatrixRow, SurveyQuestionMatrixCell, 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, HeaderMobile, HeaderCell, Header, SurveyLocStringViewer, SurveyLocStringEditor, LoadingIndicatorComponent, SvgBundleComponent */
11031
11052
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
11032
11053
 
11033
11054
  "use strict";
@@ -11179,6 +11200,8 @@ __webpack_require__.r(__webpack_exports__);
11179
11200
 
11180
11201
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "QuestionMatrixDropdownRenderedRow", function() { return _core__WEBPACK_IMPORTED_MODULE_0__["QuestionMatrixDropdownRenderedRow"]; });
11181
11202
 
11203
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "QuestionMatrixDropdownRenderedErrorRow", function() { return _core__WEBPACK_IMPORTED_MODULE_0__["QuestionMatrixDropdownRenderedErrorRow"]; });
11204
+
11182
11205
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "QuestionMatrixDropdownRenderedTable", function() { return _core__WEBPACK_IMPORTED_MODULE_0__["QuestionMatrixDropdownRenderedTable"]; });
11183
11206
 
11184
11207
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MatrixDropdownRowModel", function() { return _core__WEBPACK_IMPORTED_MODULE_0__["MatrixDropdownRowModel"]; });
@@ -19208,14 +19231,21 @@ var JsonObjectProperty = /** @class */ (function () {
19208
19231
  configurable: true
19209
19232
  });
19210
19233
  JsonObjectProperty.prototype.isAvailableInVersion = function (ver) {
19211
- if (!!this.alternativeName)
19234
+ if (!!this.alternativeName || this.oldName)
19212
19235
  return true;
19213
19236
  return this.isAvailableInVersionCore(ver);
19214
19237
  };
19215
19238
  JsonObjectProperty.prototype.getSerializedName = function (ver) {
19216
19239
  if (!this.alternativeName)
19217
19240
  return this.name;
19218
- return this.isAvailableInVersionCore(ver) ? this.name : this.alternativeName;
19241
+ return this.isAvailableInVersionCore(ver) ? this.name : this.alternativeName || this.oldName;
19242
+ };
19243
+ JsonObjectProperty.prototype.getSerializedProperty = function (obj, ver) {
19244
+ if (!this.oldName || this.isAvailableInVersionCore(ver))
19245
+ return this;
19246
+ if (!obj || !obj.getType)
19247
+ return null;
19248
+ return Serializer.findProperty(obj.getType(), this.oldName);
19219
19249
  };
19220
19250
  JsonObjectProperty.prototype.isAvailableInVersionCore = function (ver) {
19221
19251
  if (!ver || !this.version)
@@ -19301,6 +19331,7 @@ var JsonObjectProperty = /** @class */ (function () {
19301
19331
  "isLocalizableValue",
19302
19332
  "className",
19303
19333
  "alternativeName",
19334
+ "oldName",
19304
19335
  "layout",
19305
19336
  "version",
19306
19337
  "classNamePart",
@@ -19752,6 +19783,9 @@ var JsonMetadataClass = /** @class */ (function () {
19752
19783
  if (propInfo.alternativeName) {
19753
19784
  prop.alternativeName = propInfo.alternativeName;
19754
19785
  }
19786
+ if (propInfo.oldName) {
19787
+ prop.oldName = propInfo.oldName;
19788
+ }
19755
19789
  if (propInfo.layout) {
19756
19790
  prop.layout = propInfo.layout;
19757
19791
  }
@@ -19814,11 +19848,11 @@ var JsonMetadata = /** @class */ (function () {
19814
19848
  this.dynamicPropsCache = {};
19815
19849
  }
19816
19850
  JsonMetadata.prototype.getObjPropertyValue = function (obj, name) {
19817
- if (this.isObjWrapper(obj)) {
19851
+ if (this.isObjWrapper(obj) && this.isNeedUseObjWrapper(obj, name)) {
19818
19852
  var orignalObj = obj.getOriginalObj();
19819
- var prop = Serializer.findProperty(orignalObj.getType(), name);
19820
- if (!!prop)
19821
- return this.getObjPropertyValueCore(orignalObj, prop);
19853
+ var prop_1 = Serializer.findProperty(orignalObj.getType(), name);
19854
+ if (!!prop_1)
19855
+ return this.getObjPropertyValueCore(orignalObj, prop_1);
19822
19856
  }
19823
19857
  var prop = Serializer.findProperty(obj.getType(), name);
19824
19858
  if (!prop)
@@ -19855,6 +19889,18 @@ var JsonMetadata = /** @class */ (function () {
19855
19889
  JsonMetadata.prototype.isObjWrapper = function (obj) {
19856
19890
  return !!obj.getOriginalObj && !!obj.getOriginalObj();
19857
19891
  };
19892
+ JsonMetadata.prototype.isNeedUseObjWrapper = function (obj, name) {
19893
+ if (!obj.getDynamicProperties)
19894
+ return true;
19895
+ var props = obj.getDynamicProperties();
19896
+ if (!Array.isArray(props))
19897
+ return false;
19898
+ for (var i = 0; i < props.length; i++) {
19899
+ if (props[i].name === name)
19900
+ return true;
19901
+ }
19902
+ return false;
19903
+ };
19858
19904
  JsonMetadata.prototype.addClass = function (name, properties, creator, parentName) {
19859
19905
  if (creator === void 0) { creator = null; }
19860
19906
  if (parentName === void 0) { parentName = null; }
@@ -20556,6 +20602,14 @@ var JsonObject = /** @class */ (function () {
20556
20602
  return;
20557
20603
  if (options.version && !prop.isAvailableInVersion(options.version))
20558
20604
  return;
20605
+ this.valueToJsonCore(obj, result, prop, options);
20606
+ };
20607
+ JsonObject.prototype.valueToJsonCore = function (obj, result, prop, options) {
20608
+ var serProp = prop.getSerializedProperty(obj, options.version);
20609
+ if (serProp && serProp !== prop) {
20610
+ this.valueToJsonCore(obj, result, serProp, options);
20611
+ return;
20612
+ }
20559
20613
  var value = prop.getSerializableValue(obj);
20560
20614
  if (!options.storeDefaults && prop.isDefaultValueByObj(obj, value))
20561
20615
  return;
@@ -21511,7 +21565,11 @@ var LocalizableString = /** @class */ (function () {
21511
21565
  keys[0] == _settings__WEBPACK_IMPORTED_MODULE_2__["settings"].localization.defaultLocaleName &&
21512
21566
  !_settings__WEBPACK_IMPORTED_MODULE_2__["settings"].serialization.localizableStringSerializeAsObject)
21513
21567
  return this.values[keys[0]];
21514
- return this.values;
21568
+ var res = {};
21569
+ for (var key in this.values) {
21570
+ res[key] = this.values[key];
21571
+ }
21572
+ return res;
21515
21573
  };
21516
21574
  LocalizableString.prototype.setJson = function (value) {
21517
21575
  if (!!this.sharedData) {
@@ -23110,7 +23168,7 @@ var englishStrings = {
23110
23168
  chooseFile: "Choose file(s)...",
23111
23169
  noFileChosen: "No file chosen",
23112
23170
  filePlaceholder: "Drag and drop a file here or click the button below to select a file to upload.",
23113
- confirmDelete: "Do you want to delete the record?",
23171
+ confirmDelete: "Are you sure you want to delete this record?",
23114
23172
  keyDuplicationError: "This value should be unique.",
23115
23173
  addColumn: "Add Column",
23116
23174
  addRow: "Add Row",
@@ -23153,12 +23211,12 @@ var englishStrings = {
23153
23211
  modalApplyButtonText: "Apply",
23154
23212
  filterStringPlaceholder: "Type to search...",
23155
23213
  emptyMessage: "No data to display",
23156
- noEntriesText: "There are no entries yet.\nClick the button below to add a new entry.",
23157
- noEntriesReadonlyText: "There are no entries.",
23214
+ noEntriesText: "No entries yet.\nClick the button below to add a new entry.",
23215
+ noEntriesReadonlyText: "No entries.",
23158
23216
  more: "More",
23159
23217
  tagboxDoneButtonCaption: "OK",
23160
- selectToRankEmptyRankedAreaText: "All choices are ranked",
23161
- selectToRankEmptyUnrankedAreaText: "Drag and drop choices here to rank them",
23218
+ selectToRankEmptyRankedAreaText: "All choices are selected for ranking",
23219
+ selectToRankEmptyUnrankedAreaText: "Drag choices here to rank them",
23162
23220
  ok: "OK",
23163
23221
  cancel: "Cancel",
23164
23222
  };
@@ -27654,7 +27712,7 @@ var spanishSurveyStrings = {
27654
27712
  timerLimitAll: "Has gastado {0} de {1} en esta página y {2} de {3} en total.",
27655
27713
  timerLimitPage: "Has gastado {0} de {1} en esta página.",
27656
27714
  timerLimitSurvey: "Usted ha gastado {0} de {1} en total.",
27657
- clearCaption: "Despejen",
27715
+ clearCaption: "Borrar",
27658
27716
  signaturePlaceHolder: "Firma aqui",
27659
27717
  chooseFileCaption: "Elija el archivo",
27660
27718
  takePhotoCaption: "Tomar foto",
@@ -30280,6 +30338,11 @@ var __decorate = (undefined && undefined.__decorate) || function (decorators, ta
30280
30338
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
30281
30339
  return c > 3 && r && Object.defineProperty(target, key, r), r;
30282
30340
  };
30341
+ var __spreadArray = (undefined && undefined.__spreadArray) || function (to, from) {
30342
+ for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
30343
+ to[j] = from[i];
30344
+ return to;
30345
+ };
30283
30346
 
30284
30347
 
30285
30348
 
@@ -30310,6 +30373,8 @@ var QuestionRowModel = /** @class */ (function (_super) {
30310
30373
  QuestionRowModel.prototype.startLazyRendering = function (rowContainerDiv, findScrollableContainer) {
30311
30374
  var _this = this;
30312
30375
  if (findScrollableContainer === void 0) { findScrollableContainer = _utils_utils__WEBPACK_IMPORTED_MODULE_8__["findScrollableParent"]; }
30376
+ if ("undefined" === typeof document)
30377
+ return;
30313
30378
  this._scrollableParent = findScrollableContainer(rowContainerDiv);
30314
30379
  // if this._scrollableParent is html the scroll event isn't fired, so we should use window
30315
30380
  if (this._scrollableParent === document.documentElement) {
@@ -30524,6 +30589,7 @@ var PanelModelBase = /** @class */ (function (_super) {
30524
30589
  _this.isQuestionsReady = false;
30525
30590
  _this.questionsValue = new Array();
30526
30591
  _this.isRandomizing = false;
30592
+ _this.locCountRowUpdates = 0;
30527
30593
  _this.createNewArray("rows");
30528
30594
  _this.elementsValue = _this.createNewArray("elements", _this.onAddElement.bind(_this), _this.onRemoveElement.bind(_this));
30529
30595
  _this.id = PanelModelBase.getPanelId();
@@ -31398,14 +31464,92 @@ var PanelModelBase = /** @class */ (function (_super) {
31398
31464
  return;
31399
31465
  this.setArrayPropertyDirectly("rows", this.buildRows());
31400
31466
  };
31467
+ PanelModelBase.prototype.blockRowsUpdates = function () {
31468
+ this.locCountRowUpdates++;
31469
+ };
31470
+ PanelModelBase.prototype.releaseRowsUpdates = function () {
31471
+ this.locCountRowUpdates--;
31472
+ };
31473
+ PanelModelBase.prototype.updateRowsBeforeElementRemoved = function (element) {
31474
+ var _this = this;
31475
+ var elementRow = this.findRowByElement(element);
31476
+ var elementRowIndex = this.rows.indexOf(elementRow);
31477
+ var elementIndexInRow = elementRow.elements.indexOf(element);
31478
+ elementRow.elements.splice(elementIndexInRow, 1);
31479
+ if (elementRow.elements.length == 0) {
31480
+ this.rows.splice(elementRowIndex, 1);
31481
+ }
31482
+ else if (!elementRow.elements[0].startWithNewLine && this.rows[elementRowIndex - 1]) {
31483
+ elementRow.elements.forEach(function (el) { return _this.rows[elementRowIndex - 1].addElement(el); });
31484
+ this.rows.splice(elementRowIndex, 1);
31485
+ }
31486
+ else {
31487
+ elementRow.updateVisible();
31488
+ }
31489
+ };
31490
+ PanelModelBase.prototype.updateRowsOnElementAdded = function (element) {
31491
+ var _this = this;
31492
+ var index = this.elements.indexOf(element);
31493
+ var targetElement = this.elements[index + 1];
31494
+ var createRowAtIndex = function (index) {
31495
+ var row = _this.createRowAndSetLazy(index);
31496
+ if (_this.isDesignModeV2) {
31497
+ row.setIsLazyRendering(false);
31498
+ }
31499
+ _this.rows.splice(index, 0, row);
31500
+ return row;
31501
+ };
31502
+ var updateRow = function (row, start, deleteCount) {
31503
+ var _a;
31504
+ var elements = [];
31505
+ for (var _i = 3; _i < arguments.length; _i++) {
31506
+ elements[_i - 3] = arguments[_i];
31507
+ }
31508
+ var removedElements = (_a = row.elements).splice.apply(_a, __spreadArray([start, deleteCount], elements));
31509
+ row.updateVisible();
31510
+ return removedElements;
31511
+ };
31512
+ if (!targetElement) {
31513
+ if (index == 0 || element.startWithNewLine) {
31514
+ updateRow(createRowAtIndex(this.rows.length), 0, 0, element);
31515
+ }
31516
+ else {
31517
+ this.rows[this.rows.length - 1].addElement(element);
31518
+ }
31519
+ return;
31520
+ }
31521
+ var targetRow = this.findRowByElement(targetElement);
31522
+ if (!targetRow)
31523
+ return;
31524
+ var targetRowIndex = this.rows.indexOf(targetRow);
31525
+ var targetElementIndexInRow = targetRow.elements.indexOf(targetElement);
31526
+ if (targetElementIndexInRow == 0) {
31527
+ if (!targetElement.startWithNewLine) {
31528
+ updateRow(targetRow, 0, 0, element);
31529
+ }
31530
+ else if (element.startWithNewLine || targetRowIndex < 1) {
31531
+ createRowAtIndex(targetRowIndex).addElement(element);
31532
+ }
31533
+ else {
31534
+ this.rows[targetRowIndex - 1].addElement(element);
31535
+ }
31536
+ }
31537
+ else {
31538
+ if (element.startWithNewLine) {
31539
+ updateRow.apply(void 0, __spreadArray([createRowAtIndex(targetRowIndex + 1), 0, 0], [element].concat(updateRow(targetRow, targetElementIndexInRow, targetRow.elements.length))));
31540
+ }
31541
+ else {
31542
+ updateRow(targetRow, targetElementIndexInRow, 0, element);
31543
+ }
31544
+ }
31545
+ };
31401
31546
  PanelModelBase.prototype.onAddElement = function (element, index) {
31402
31547
  var _this = this;
31403
31548
  element.setSurveyImpl(this.surveyImpl);
31404
31549
  element.parent = this;
31405
31550
  this.markQuestionListDirty();
31406
31551
  if (this.canBuildRows()) {
31407
- var dragDropInfo = _settings__WEBPACK_IMPORTED_MODULE_7__["settings"].supportCreatorV2 ? this.getDragDropInfo() : undefined;
31408
- this.dragDropPanelHelper.updateRowsOnElementAdded(element, index, dragDropInfo, this);
31552
+ this.updateRowsOnElementAdded(element);
31409
31553
  }
31410
31554
  if (element.isPanel) {
31411
31555
  var p = element;
@@ -31459,7 +31603,10 @@ var PanelModelBase = /** @class */ (function (_super) {
31459
31603
  }
31460
31604
  };
31461
31605
  PanelModelBase.prototype.onElementStartWithNewLineChanged = function (element) {
31462
- this.onRowsChanged();
31606
+ if (this.locCountRowUpdates > 0)
31607
+ return;
31608
+ this.updateRowsBeforeElementRemoved(element);
31609
+ this.updateRowsOnElementAdded(element);
31463
31610
  };
31464
31611
  PanelModelBase.prototype.updateRowsVisibility = function (element) {
31465
31612
  var rows = this.rows;
@@ -31520,7 +31667,9 @@ var PanelModelBase = /** @class */ (function (_super) {
31520
31667
  return;
31521
31668
  row.elements.splice(elIndex, 1);
31522
31669
  if (row.elements.length > 0) {
31670
+ this.blockRowsUpdates();
31523
31671
  row.elements[0].startWithNewLine = true;
31672
+ this.releaseRowsUpdates();
31524
31673
  row.updateVisible();
31525
31674
  }
31526
31675
  else {
@@ -31746,6 +31895,42 @@ var PanelModelBase = /** @class */ (function (_super) {
31746
31895
  }
31747
31896
  return true;
31748
31897
  };
31898
+ PanelModelBase.prototype.insertElement = function (element, dest, location) {
31899
+ if (location === void 0) { location = "bottom"; }
31900
+ if (!dest) {
31901
+ this.addElement(element);
31902
+ return;
31903
+ }
31904
+ this.blockRowsUpdates();
31905
+ var index = this.elements.indexOf(dest);
31906
+ var destRow = this.findRowByElement(dest);
31907
+ if (location == "left" || location == "right") {
31908
+ if (location == "right") {
31909
+ element.startWithNewLine = false;
31910
+ index++;
31911
+ }
31912
+ else {
31913
+ if (destRow.elements.indexOf(dest) == 0) {
31914
+ dest.startWithNewLine = false;
31915
+ element.startWithNewLine = true;
31916
+ }
31917
+ else {
31918
+ element.startWithNewLine = false;
31919
+ }
31920
+ }
31921
+ }
31922
+ else {
31923
+ element.startWithNewLine = true;
31924
+ if (location == "top") {
31925
+ index = this.elements.indexOf(destRow.elements[0]);
31926
+ }
31927
+ else {
31928
+ index = this.elements.indexOf(destRow.elements[destRow.elements.length - 1]) + 1;
31929
+ }
31930
+ }
31931
+ this.releaseRowsUpdates();
31932
+ this.addElement(element, index);
31933
+ };
31749
31934
  PanelModelBase.prototype.insertElementAfter = function (element, after) {
31750
31935
  var index = this.elements.indexOf(after);
31751
31936
  if (index >= 0)
@@ -31791,7 +31976,7 @@ var PanelModelBase = /** @class */ (function (_super) {
31791
31976
  *
31792
31977
  * This method returns `null` if the panel cannot be created or added to this panel/page; otherwise, the method returns the created panel.
31793
31978
  * @param name A panel name.
31794
- * @see elements
31979
+ * @see elementsup
31795
31980
  * @see addElement
31796
31981
  */
31797
31982
  PanelModelBase.prototype.addNewPanel = function (name) {
@@ -32420,7 +32605,7 @@ _jsonobject__WEBPACK_IMPORTED_MODULE_0__["Serializer"].addClass("panel", [
32420
32605
  { name: "minWidth", defaultFunc: function () { return "auto"; } },
32421
32606
  { name: "maxWidth", defaultFunc: function () { return _settings__WEBPACK_IMPORTED_MODULE_7__["settings"].maxWidth; } },
32422
32607
  { name: "innerIndent:number", default: 0, choices: [0, 1, 2, 3] },
32423
- { name: "indent:number", default: 0, choices: [0, 1, 2, 3] },
32608
+ { name: "indent:number", default: 0, choices: [0, 1, 2, 3], visible: false },
32424
32609
  {
32425
32610
  name: "page",
32426
32611
  isSerializable: false,
@@ -33951,13 +34136,15 @@ var PopupDropdownViewModel = /** @class */ (function (_super) {
33951
34136
  };
33952
34137
  PopupDropdownViewModel.prototype.getActualHorizontalPosition = function () {
33953
34138
  var actualHorizontalPosition = this.model.horizontalPosition;
33954
- var isRtl = !!document && document.defaultView.getComputedStyle(document.body).direction == "rtl";
33955
- if (isRtl) {
33956
- if (this.model.horizontalPosition === "left") {
33957
- actualHorizontalPosition = "right";
33958
- }
33959
- else if (this.model.horizontalPosition === "right") {
33960
- actualHorizontalPosition = "left";
34139
+ if ("undefined" !== typeof document) {
34140
+ var isRtl = !!document && document.defaultView.getComputedStyle(document.body).direction == "rtl";
34141
+ if (isRtl) {
34142
+ if (this.model.horizontalPosition === "left") {
34143
+ actualHorizontalPosition = "right";
34144
+ }
34145
+ else if (this.model.horizontalPosition === "right") {
34146
+ actualHorizontalPosition = "left";
34147
+ }
33961
34148
  }
33962
34149
  }
33963
34150
  return actualHorizontalPosition;
@@ -34437,10 +34624,9 @@ var PopupSurveyModel = /** @class */ (function (_super) {
34437
34624
  });
34438
34625
  Object.defineProperty(PopupSurveyModel.prototype, "allowFullScreen", {
34439
34626
  /**
34440
- * Specifies whether to display a button that allow showing pop-up in full-screen mode.
34627
+ * Specifies whether to display a button that allows respondents to show the pop-up survey in full screen mode.
34441
34628
  *
34442
34629
  * Default value: `false`
34443
- *
34444
34630
  */
34445
34631
  get: function () {
34446
34632
  return this.getPropertyValue("allowFullScreen", false);
@@ -35005,7 +35191,7 @@ var PopupBaseViewModel = /** @class */ (function (_super) {
35005
35191
  this.resetComponentElement();
35006
35192
  };
35007
35193
  PopupBaseViewModel.prototype.initializePopupContainer = function () {
35008
- if (!this.container) {
35194
+ if (!this.container && ("undefined" !== typeof document)) {
35009
35195
  var container = document.createElement("div");
35010
35196
  this.createdContainer = container;
35011
35197
  Object(_utils_utils__WEBPACK_IMPORTED_MODULE_5__["getElement"])(_settings__WEBPACK_IMPORTED_MODULE_4__["settings"].environment.popupMountContainer).appendChild(container);
@@ -41285,8 +41471,8 @@ _jsonobject__WEBPACK_IMPORTED_MODULE_0__["Serializer"].addClass("selectbase", [
41285
41471
  { name: "separateSpecialChoices:boolean", visible: false },
41286
41472
  { name: "showOtherItem:boolean", alternativeName: "hasOther" },
41287
41473
  { name: "showNoneItem:boolean", alternativeName: "hasNone" },
41288
- { name: "showRefuseItem:boolean", visible: false },
41289
- { name: "showDontKnowItem:boolean", visible: false },
41474
+ { name: "showRefuseItem:boolean", visible: false, version: "1.9.128" },
41475
+ { name: "showDontKnowItem:boolean", visible: false, version: "1.9.128" },
41290
41476
  {
41291
41477
  name: "otherPlaceholder",
41292
41478
  alternativeName: "otherPlaceHolder",
@@ -41463,8 +41649,8 @@ var QuestionBooleanModel = /** @class */ (function (_super) {
41463
41649
  });
41464
41650
  QuestionBooleanModel.prototype.setBooleanValue = function (val) {
41465
41651
  if (this.isValueEmpty(val)) {
41466
- this.value = null;
41467
- this.booleanValueRendered = null;
41652
+ this.value = undefined;
41653
+ this.booleanValueRendered = undefined;
41468
41654
  }
41469
41655
  else {
41470
41656
  this.value = val == true ? this.getValueTrue() : this.getValueFalse();
@@ -41480,8 +41666,6 @@ var QuestionBooleanModel = /** @class */ (function (_super) {
41480
41666
  val = "true";
41481
41667
  if (val === false)
41482
41668
  val = "false";
41483
- if (val === undefined)
41484
- val = "indeterminate";
41485
41669
  this.setPropertyValue("defaultValue", val);
41486
41670
  this.updateValueWithDefaults();
41487
41671
  },
@@ -41489,13 +41673,10 @@ var QuestionBooleanModel = /** @class */ (function (_super) {
41489
41673
  configurable: true
41490
41674
  });
41491
41675
  QuestionBooleanModel.prototype.getDefaultValue = function () {
41492
- if (this.defaultValue == "indeterminate")
41493
- return null;
41494
- if (this.defaultValue === undefined)
41495
- return null;
41496
- return this.defaultValue == "true"
41497
- ? this.getValueTrue()
41498
- : this.getValueFalse();
41676
+ var val = this.defaultValue;
41677
+ if (val === "indeterminate" || val === undefined || val === null)
41678
+ return undefined;
41679
+ return val == "true" ? this.getValueTrue() : this.getValueFalse();
41499
41680
  };
41500
41681
  Object.defineProperty(QuestionBooleanModel.prototype, "locTitle", {
41501
41682
  get: function () {
@@ -41554,7 +41735,21 @@ var QuestionBooleanModel = /** @class */ (function (_super) {
41554
41735
  });
41555
41736
  Object.defineProperty(QuestionBooleanModel.prototype, "isDeterminated", {
41556
41737
  get: function () {
41557
- return this.booleanValue !== null;
41738
+ return this.booleanValue !== null && this.booleanValue !== undefined;
41739
+ },
41740
+ enumerable: false,
41741
+ configurable: true
41742
+ });
41743
+ Object.defineProperty(QuestionBooleanModel.prototype, "locLabelLeft", {
41744
+ get: function () {
41745
+ return this.swapOrder ? this.getLocalizableString("labelTrue") : this.getLocalizableString("labelFalse");
41746
+ },
41747
+ enumerable: false,
41748
+ configurable: true
41749
+ });
41750
+ Object.defineProperty(QuestionBooleanModel.prototype, "locLabelRight", {
41751
+ get: function () {
41752
+ return this.swapOrder ? this.getLocalizableString("labelFalse") : this.getLocalizableString("labelTrue");
41558
41753
  },
41559
41754
  enumerable: false,
41560
41755
  configurable: true
@@ -41594,8 +41789,9 @@ var QuestionBooleanModel = /** @class */ (function (_super) {
41594
41789
  this.setBooleanValue(true);
41595
41790
  if (this.isDefaultValueSet("false", this.valueFalse))
41596
41791
  this.setBooleanValue(false);
41597
- if (this.defaultValue == "indeterminate")
41598
- this.setBooleanValue(null);
41792
+ var val = this.defaultValue;
41793
+ if (val === "indeterminate" || val === null || val === undefined)
41794
+ this.setBooleanValue(undefined);
41599
41795
  };
41600
41796
  QuestionBooleanModel.prototype.isDefaultValueSet = function (defaultValueCheck, valueTrueOrFalse) {
41601
41797
  return this.defaultValue == defaultValueCheck || (valueTrueOrFalse !== undefined && this.defaultValue === valueTrueOrFalse);
@@ -41612,7 +41808,8 @@ var QuestionBooleanModel = /** @class */ (function (_super) {
41612
41808
  .append(css.itemDisabled, this.isReadOnly)
41613
41809
  .append(css.itemHover, !this.isDesignMode)
41614
41810
  .append(css.itemChecked, !!this.booleanValue)
41615
- .append(css.itemIndeterminate, this.booleanValue === null)
41811
+ .append(css.itemExchanged, !!this.swapOrder)
41812
+ .append(css.itemIndeterminate, !this.isDeterminated)
41616
41813
  .toString();
41617
41814
  };
41618
41815
  QuestionBooleanModel.prototype.getItemCss = function () {
@@ -41631,15 +41828,15 @@ var QuestionBooleanModel = /** @class */ (function (_super) {
41631
41828
  return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_3__["CssClassBuilder"]()
41632
41829
  .append(this.cssClasses.label)
41633
41830
  .append(this.cssClasses.disabledLabel, this.booleanValue === !checked || this.isReadOnly)
41634
- .append(this.cssClasses.labelTrue, !this.isIndeterminate && checked === true)
41635
- .append(this.cssClasses.labelFalse, !this.isIndeterminate && checked === false)
41831
+ .append(this.cssClasses.labelTrue, !this.isIndeterminate && checked === !this.swapOrder)
41832
+ .append(this.cssClasses.labelFalse, !this.isIndeterminate && checked === this.swapOrder)
41636
41833
  .toString();
41637
41834
  };
41638
41835
  Object.defineProperty(QuestionBooleanModel.prototype, "svgIcon", {
41639
41836
  get: function () {
41640
41837
  if (this.booleanValue && this.cssClasses.svgIconCheckedId)
41641
41838
  return this.cssClasses.svgIconCheckedId;
41642
- if (this.booleanValue === null && this.cssClasses.svgIconIndId)
41839
+ if (!this.isDeterminated && this.cssClasses.svgIconIndId)
41643
41840
  return this.cssClasses.svgIconIndId;
41644
41841
  if (!this.booleanValue && this.cssClasses.svgIconUncheckedId)
41645
41842
  return this.cssClasses.svgIconUncheckedId;
@@ -41669,8 +41866,8 @@ var QuestionBooleanModel = /** @class */ (function (_super) {
41669
41866
  newValue = true;
41670
41867
  if (newValue === "false" && this.valueFalse !== "false")
41671
41868
  newValue = false;
41672
- if (newValue === "indeterminate")
41673
- newValue = null;
41869
+ if (newValue === "indeterminate" || newValue === null)
41870
+ newValue = undefined;
41674
41871
  _super.prototype.setQuestionValue.call(this, newValue, updateIsAnswered);
41675
41872
  };
41676
41873
  /* #region web-based methods */
@@ -41682,7 +41879,10 @@ var QuestionBooleanModel = /** @class */ (function (_super) {
41682
41879
  return true;
41683
41880
  };
41684
41881
  QuestionBooleanModel.prototype.calculateBooleanValueByEvent = function (event, isRightClick) {
41685
- var isRtl = document.defaultView.getComputedStyle(event.target).direction == "rtl";
41882
+ var isRtl = false;
41883
+ if ("undefined" !== typeof document) {
41884
+ isRtl = document.defaultView.getComputedStyle(event.target).direction == "rtl";
41885
+ }
41686
41886
  this.booleanValue = isRtl ? !isRightClick : isRightClick;
41687
41887
  };
41688
41888
  QuestionBooleanModel.prototype.onSwitchClickModel = function (event) {
@@ -41745,6 +41945,9 @@ var QuestionBooleanModel = /** @class */ (function (_super) {
41745
41945
  __decorate([
41746
41946
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])({ localizable: true })
41747
41947
  ], QuestionBooleanModel.prototype, "label", void 0);
41948
+ __decorate([
41949
+ Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])({ defaultValue: false })
41950
+ ], QuestionBooleanModel.prototype, "swapOrder", void 0);
41748
41951
  __decorate([
41749
41952
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])()
41750
41953
  ], QuestionBooleanModel.prototype, "valueTrue", void 0);
@@ -41767,6 +41970,7 @@ _jsonobject__WEBPACK_IMPORTED_MODULE_1__["Serializer"].addClass("boolean", [
41767
41970
  },
41768
41971
  "valueTrue",
41769
41972
  "valueFalse",
41973
+ { name: "swapOrder:boolean", category: "general" },
41770
41974
  { name: "renderAs", default: "default", visible: false },
41771
41975
  ], function () {
41772
41976
  return new QuestionBooleanModel("");
@@ -45760,9 +45964,11 @@ var QuestionFileModel = /** @class */ (function (_super) {
45760
45964
  enumerable: false,
45761
45965
  configurable: true
45762
45966
  });
45763
- QuestionFileModel.prototype.chooseFile = function () {
45967
+ QuestionFileModel.prototype.chooseFile = function (event) {
45764
45968
  var _this = this;
45765
45969
  var inputElement = document.getElementById(this.inputId);
45970
+ event.preventDefault();
45971
+ event.stopImmediatePropagation();
45766
45972
  if (inputElement) {
45767
45973
  if (this.survey) {
45768
45974
  this.survey.chooseFiles(inputElement, function (files) { return _this.loadFiles(files); }, { element: this });
@@ -46244,8 +46450,8 @@ var QuestionFileModel = /** @class */ (function (_super) {
46244
46450
  _super.prototype.updateElementCss.call(this, reNew);
46245
46451
  this.updateCurrentMode();
46246
46452
  };
46247
- QuestionFileModel.prototype.endLoadingFromJson = function () {
46248
- _super.prototype.endLoadingFromJson.call(this);
46453
+ QuestionFileModel.prototype.onSurveyLoad = function () {
46454
+ _super.prototype.onSurveyLoad.call(this);
46249
46455
  this.updateCurrentMode();
46250
46456
  this.updateActionsVisibility();
46251
46457
  this.loadPreview(this.value);
@@ -49534,7 +49740,7 @@ var QuestionMatrixDropdownModelBase = /** @class */ (function (_super) {
49534
49740
  _this.clearRowsAndResetRenderedTable();
49535
49741
  });
49536
49742
  _this.registerPropertyChangedHandlers([
49537
- "columnLayout",
49743
+ "transposeData",
49538
49744
  "addRowLocation",
49539
49745
  "hideColumnsIfEmpty",
49540
49746
  "showHeader",
@@ -49631,20 +49837,32 @@ var QuestionMatrixDropdownModelBase = /** @class */ (function (_super) {
49631
49837
  this.clearRowsAndResetRenderedTable();
49632
49838
  }
49633
49839
  };
49634
- Object.defineProperty(QuestionMatrixDropdownModelBase.prototype, "columnLayout", {
49840
+ Object.defineProperty(QuestionMatrixDropdownModelBase.prototype, "transposeData", {
49635
49841
  /**
49636
- * Specifies the matrix layout. Set this property to `"vertical"` if you want to display columns instead of rows and rows instead of columns.
49842
+ * Specifies whether to display [`columns`](#columns) as rows and [`rows`](#rows) as columns.
49637
49843
  *
49638
- * Default value: `"horizontal"`
49639
- * @see columns
49640
- * @see rows
49641
- * @see isColumnLayoutHorizontal
49844
+ * Default value: `false`
49845
+ *
49846
+ * [View Demo](https://surveyjs.io/form-library/examples/transpose-dynamic-rows-to-columns-in-matrix/ (linkStyle))
49642
49847
  */
49643
49848
  get: function () {
49644
- return this.getPropertyValue("columnLayout");
49849
+ return this.getPropertyValue("transposeData");
49645
49850
  },
49646
49851
  set: function (val) {
49647
- this.setPropertyValue("columnLayout", val);
49852
+ this.setPropertyValue("transposeData", val);
49853
+ },
49854
+ enumerable: false,
49855
+ configurable: true
49856
+ });
49857
+ Object.defineProperty(QuestionMatrixDropdownModelBase.prototype, "columnLayout", {
49858
+ /**
49859
+ * This property is obsolete. Use the [`transposeData`](#transposeData) property instead.
49860
+ */
49861
+ get: function () {
49862
+ return this.transposeData ? "vertical" : "horizontal";
49863
+ },
49864
+ set: function (val) {
49865
+ this.transposeData = val === "vertical";
49648
49866
  },
49649
49867
  enumerable: false,
49650
49868
  configurable: true
@@ -49707,15 +49925,13 @@ var QuestionMatrixDropdownModelBase = /** @class */ (function (_super) {
49707
49925
  };
49708
49926
  Object.defineProperty(QuestionMatrixDropdownModelBase.prototype, "isColumnLayoutHorizontal", {
49709
49927
  /**
49710
- * Returns `true` if columns are placed in the horizontal direction and rows in the vertical direction.
49928
+ * Returns `true` if [`columns`](#columns) are placed in the horizontal direction and [`rows`](#columns) in the vertical direction.
49711
49929
  *
49712
- * To specify the layout, use the `columnLayout` property. If you set it to `"vertical"`, the survey applies it only when the screen has enough space. Otherwise, the survey falls back to the horizontal layout, but the `columnLayout` property remains set to `"vertical"`. Unlike `columnLayout`, the `isColumnLayoutHorizontal` property always indicates the current layout.
49713
- * @see columnLayout
49930
+ * To specify the layout, use the [`transposeData`](#transposeData) property. If you set it to `true`, the survey applies it only when the screen has enough space. Otherwise, the survey falls back to the original layout, but the `transposeData` property remains set to `true`. Unlike `transposeData`, the `isColumnLayoutHorizontal` property always indicates the current layout.
49931
+ * @see transposeData
49714
49932
  */
49715
49933
  get: function () {
49716
- if (this.isMobile)
49717
- return true;
49718
- return this.columnLayout != "vertical";
49934
+ return this.isMobile ? true : !this.transposeData;
49719
49935
  },
49720
49936
  enumerable: false,
49721
49937
  configurable: true
@@ -51250,8 +51466,11 @@ _jsonobject__WEBPACK_IMPORTED_MODULE_0__["Serializer"].addClass("matrixdropdownb
51250
51466
  {
51251
51467
  name: "columnLayout",
51252
51468
  alternativeName: "columnsLocation",
51253
- default: "horizontal",
51254
51469
  choices: ["horizontal", "vertical"],
51470
+ visible: false, isSerializable: false
51471
+ },
51472
+ {
51473
+ name: "transposeData:boolean", version: "1.9.130", oldName: "columnLayout"
51255
51474
  },
51256
51475
  {
51257
51476
  name: "detailElements",
@@ -53946,7 +54165,7 @@ var QuestionMatrixDynamicModel = /** @class */ (function (_super) {
53946
54165
  };
53947
54166
  Object.defineProperty(QuestionMatrixDynamicModel.prototype, "allowRowsDragAndDrop", {
53948
54167
  /**
53949
- * Specifies whether users can drag and drop matrix rows to reorder them. Applies only if [`columnLayout`](#columnLayout) is `"horizontal"`.
54168
+ * Specifies whether users can drag and drop matrix rows to reorder them. Applies only if [`transposeData`](#transposeData) is `false`.
53950
54169
  *
53951
54170
  * Default value: `false`
53952
54171
  */
@@ -54391,8 +54610,7 @@ var QuestionMatrixDynamicModel = /** @class */ (function (_super) {
54391
54610
  * - `"bottom"` - Displays the Add Row button at the bottom of the matrix.
54392
54611
  * - `"topBottom"` - Displays the Add Row button at the top and bottom of the matrix.
54393
54612
  *
54394
- * Default value: `"top"` if `columnLayout` is `vertical`; `"bottom"` if `columnLayout` is `"horizontal"` or the matrix is in compact mode.
54395
- * @see columnLayout
54613
+ * Default value: `"top"` if [`transposeData`](#transposeData) is `true`; `"bottom"` if `transposeData` is `false` or the matrix is in compact mode.
54396
54614
  * @see addRowText
54397
54615
  */
54398
54616
  get: function () {
@@ -57399,6 +57617,7 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
57399
57617
  if (this.renderMode === "list" && this.panelsState !== "default") {
57400
57618
  newPanel.expand();
57401
57619
  }
57620
+ newPanel.focusFirstQuestion();
57402
57621
  return newPanel;
57403
57622
  };
57404
57623
  /**
@@ -58320,7 +58539,7 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
58320
58539
  };
58321
58540
  Object.defineProperty(QuestionPanelDynamicModel.prototype, "noEntriesText", {
58322
58541
  /**
58323
- * A text displayed when Dynamic Panel contains no entries. Applies only in the Default V2 theme.
58542
+ * A text displayed when Dynamic Panel contains no entries.
58324
58543
  */
58325
58544
  get: function () {
58326
58545
  return this.getLocalizableStringText("noEntriesText");
@@ -58590,6 +58809,7 @@ _jsonobject__WEBPACK_IMPORTED_MODULE_5__["Serializer"].addClass("paneldynamic",
58590
58809
  name: "panelsState",
58591
58810
  default: "default",
58592
58811
  choices: ["default", "collapsed", "expanded", "firstExpanded"],
58812
+ visibleIf: function (obj) { return obj.renderMode === "list"; }
58593
58813
  },
58594
58814
  { name: "keyName" },
58595
58815
  {
@@ -58600,24 +58820,45 @@ _jsonobject__WEBPACK_IMPORTED_MODULE_5__["Serializer"].addClass("paneldynamic",
58600
58820
  {
58601
58821
  name: "confirmDeleteText",
58602
58822
  serializationProperty: "locConfirmDeleteText",
58823
+ visibleIf: function (obj) { return obj.confirmDelete; }
58824
+ },
58825
+ {
58826
+ name: "panelAddText",
58827
+ serializationProperty: "locPanelAddText",
58828
+ visibleIf: function (obj) { return obj.allowAddPanel; }
58829
+ },
58830
+ {
58831
+ name: "panelRemoveText",
58832
+ serializationProperty: "locPanelRemoveText",
58833
+ visibleIf: function (obj) { return obj.allowRemovePanel; }
58834
+ },
58835
+ {
58836
+ name: "panelPrevText",
58837
+ serializationProperty: "locPanelPrevText",
58838
+ visibleIf: function (obj) { return obj.renderMode !== "list"; }
58839
+ },
58840
+ {
58841
+ name: "panelNextText",
58842
+ serializationProperty: "locPanelNextText",
58843
+ visibleIf: function (obj) { return obj.renderMode !== "list"; }
58603
58844
  },
58604
- { name: "panelAddText", serializationProperty: "locPanelAddText" },
58605
- { name: "panelRemoveText", serializationProperty: "locPanelRemoveText" },
58606
- { name: "panelPrevText", serializationProperty: "locPanelPrevText" },
58607
- { name: "panelNextText", serializationProperty: "locPanelNextText" },
58608
58845
  {
58609
58846
  name: "showQuestionNumbers",
58610
58847
  default: "off",
58611
58848
  choices: ["off", "onPanel", "onSurvey"],
58612
58849
  },
58613
- { name: "showRangeInProgress:boolean", default: true },
58850
+ {
58851
+ name: "showRangeInProgress:boolean",
58852
+ default: true,
58853
+ visibleIf: function (obj) { return obj.renderMode !== "list"; }
58854
+ },
58614
58855
  {
58615
58856
  name: "renderMode",
58616
58857
  default: "list",
58617
58858
  choices: ["list", "progressTop", "progressBottom", "progressTopBottom", "tab"],
58618
58859
  },
58619
58860
  {
58620
- name: "tabAlign", default: "center", choices: ["center", "left", "right"],
58861
+ name: "tabAlign", default: "center", choices: ["left", "center", "right"],
58621
58862
  visibleIf: function (obj) { return obj.renderMode === "tab"; }
58622
58863
  },
58623
58864
  {
@@ -58634,6 +58875,7 @@ _jsonobject__WEBPACK_IMPORTED_MODULE_5__["Serializer"].addClass("paneldynamic",
58634
58875
  name: "panelRemoveButtonLocation",
58635
58876
  default: "bottom",
58636
58877
  choices: ["bottom", "right"],
58878
+ visibleIf: function (obj) { return obj.allowRemovePanel; }
58637
58879
  },
58638
58880
  ], function () {
58639
58881
  return new QuestionPanelDynamicModel("");
@@ -60467,7 +60709,7 @@ _jsonobject__WEBPACK_IMPORTED_MODULE_2__["Serializer"].addClass("rating", [
60467
60709
  default: "labels",
60468
60710
  category: "rateValues",
60469
60711
  choices: ["labels", "stars", "smileys"],
60470
- visibleIndex: 0
60712
+ visibleIndex: 1
60471
60713
  },
60472
60714
  {
60473
60715
  name: "scaleColorMode",
@@ -60477,7 +60719,7 @@ _jsonobject__WEBPACK_IMPORTED_MODULE_2__["Serializer"].addClass("rating", [
60477
60719
  visibleIf: function (obj) {
60478
60720
  return obj.rateDisplayMode == "smileys";
60479
60721
  },
60480
- visibleIndex: 1
60722
+ visibleIndex: 2
60481
60723
  },
60482
60724
  {
60483
60725
  name: "rateColorMode",
@@ -60487,20 +60729,20 @@ _jsonobject__WEBPACK_IMPORTED_MODULE_2__["Serializer"].addClass("rating", [
60487
60729
  visibleIf: function (obj) {
60488
60730
  return obj.rateDisplayMode == "smileys" && obj.scaleColorMode == "monochrome";
60489
60731
  },
60490
- visibleIndex: 2
60732
+ visibleIndex: 3
60491
60733
  },
60492
60734
  {
60493
60735
  name: "autoGenerate",
60494
60736
  category: "rateValues",
60495
60737
  default: true,
60496
60738
  choices: [true, false],
60497
- visibleIndex: 4
60739
+ visibleIndex: 5
60498
60740
  },
60499
60741
  {
60500
60742
  name: "rateCount:number",
60501
60743
  default: 5,
60502
60744
  category: "rateValues",
60503
- visibleIndex: 3,
60745
+ visibleIndex: 4,
60504
60746
  onSettingValue: function (obj, val) {
60505
60747
  if (val < 2)
60506
60748
  return 2;
@@ -60520,7 +60762,7 @@ _jsonobject__WEBPACK_IMPORTED_MODULE_2__["Serializer"].addClass("rating", [
60520
60762
  visibleIf: function (obj) {
60521
60763
  return !obj.autoGenerate;
60522
60764
  },
60523
- visibleIndex: 5
60765
+ visibleIndex: 6
60524
60766
  },
60525
60767
  {
60526
60768
  name: "rateMin:number", default: 1,
@@ -60530,7 +60772,7 @@ _jsonobject__WEBPACK_IMPORTED_MODULE_2__["Serializer"].addClass("rating", [
60530
60772
  visibleIf: function (obj) {
60531
60773
  return !!obj.autoGenerate;
60532
60774
  },
60533
- visibleIndex: 6
60775
+ visibleIndex: 7
60534
60776
  },
60535
60777
  {
60536
60778
  name: "rateMax:number", default: 5,
@@ -60540,7 +60782,7 @@ _jsonobject__WEBPACK_IMPORTED_MODULE_2__["Serializer"].addClass("rating", [
60540
60782
  visibleIf: function (obj) {
60541
60783
  return !!obj.autoGenerate;
60542
60784
  },
60543
- visibleIndex: 7
60785
+ visibleIndex: 8
60544
60786
  },
60545
60787
  {
60546
60788
  name: "rateStep:number", default: 1, minValue: 0.1,
@@ -60554,24 +60796,24 @@ _jsonobject__WEBPACK_IMPORTED_MODULE_2__["Serializer"].addClass("rating", [
60554
60796
  visibleIf: function (obj) {
60555
60797
  return !!obj.autoGenerate;
60556
60798
  },
60557
- visibleIndex: 8
60799
+ visibleIndex: 9
60558
60800
  },
60559
60801
  {
60560
60802
  name: "minRateDescription",
60561
60803
  alternativeName: "mininumRateDescription",
60562
60804
  serializationProperty: "locMinRateDescription",
60563
- visibleIndex: 17
60805
+ visibleIndex: 18
60564
60806
  },
60565
60807
  {
60566
60808
  name: "maxRateDescription",
60567
60809
  alternativeName: "maximumRateDescription",
60568
60810
  serializationProperty: "locMaxRateDescription",
60569
- visibleIndex: 18
60811
+ visibleIndex: 19
60570
60812
  },
60571
60813
  {
60572
60814
  name: "displayRateDescriptionsAsExtremeItems:boolean",
60573
60815
  default: false,
60574
- visibleIndex: 19,
60816
+ visibleIndex: 21,
60575
60817
  visibleIf: function (obj) {
60576
60818
  return obj.rateType == "labels";
60577
60819
  }
@@ -60579,14 +60821,14 @@ _jsonobject__WEBPACK_IMPORTED_MODULE_2__["Serializer"].addClass("rating", [
60579
60821
  {
60580
60822
  name: "rateDescriptionLocation",
60581
60823
  default: "leftRight",
60582
- category: "layout",
60583
60824
  choices: ["leftRight", "top", "bottom", "topBottom"],
60825
+ visibleIndex: 20
60584
60826
  },
60585
60827
  {
60586
60828
  name: "displayMode",
60587
60829
  default: "auto",
60588
60830
  choices: ["auto", "buttons", "dropdown"],
60589
- visibleIndex: 20
60831
+ visibleIndex: 0
60590
60832
  },
60591
60833
  { name: "itemComponent", visible: false, defaultFunc: function (obj) {
60592
60834
  if (!obj)
@@ -60752,6 +60994,8 @@ var QuestionSignaturePadModel = /** @class */ (function (_super) {
60752
60994
  };
60753
60995
  QuestionSignaturePadModel.prototype.fromUrl = function (url) {
60754
60996
  var _this = this;
60997
+ if ("undefined" === typeof document)
60998
+ return;
60755
60999
  var img = document.createElement("img");
60756
61000
  img.crossOrigin = "anonymous";
60757
61001
  img.src = url;
@@ -62954,14 +63198,14 @@ var SurveyQuestionBoolean = /** @class */ (function (_super) {
62954
63198
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("input", { ref: this.checkRef, type: "checkbox", name: this.question.name, value: this.question.booleanValue === null
62955
63199
  ? ""
62956
63200
  : this.question.booleanValue, id: this.question.inputId, className: cssClasses.control, disabled: this.isDisplayMode, checked: this.question.booleanValue || false, onChange: this.handleOnChange, role: this.question.a11y_input_ariaRole, "aria-required": this.question.a11y_input_ariaRequired, "aria-label": this.question.a11y_input_ariaLabel, "aria-labelledby": this.question.a11y_input_ariaLabelledBy, "aria-invalid": this.question.a11y_input_ariaInvalid, "aria-describedby": this.question.a11y_input_ariaDescribedBy }),
62957
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: cssClasses.sliderGhost, onClick: function (event) { return _this.handleOnLabelClick(event, false); } },
62958
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", { className: this.question.getLabelCss(false) }, this.renderLocString(this.question.locLabelFalse))),
63201
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: cssClasses.sliderGhost, onClick: function (event) { return _this.handleOnLabelClick(event, _this.question.swapOrder); } },
63202
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", { className: this.question.getLabelCss(this.question.swapOrder) }, this.renderLocString(this.question.locLabelLeft))),
62959
63203
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: cssClasses.switch, onClick: this.handleOnSwitchClick },
62960
63204
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", { className: cssClasses.slider }, this.question.isDeterminated && cssClasses.sliderText ?
62961
63205
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", { className: cssClasses.sliderText }, this.renderLocString(this.question.getCheckedLabel()))
62962
63206
  : null)),
62963
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: cssClasses.sliderGhost, onClick: function (event) { return _this.handleOnLabelClick(event, true); } },
62964
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", { className: this.question.getLabelCss(true) }, this.renderLocString(this.question.locLabelTrue))))));
63207
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: cssClasses.sliderGhost, onClick: function (event) { return _this.handleOnLabelClick(event, !_this.question.swapOrder); } },
63208
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", { className: this.question.getLabelCss(!this.question.swapOrder) }, this.renderLocString(this.question.locLabelRight))))));
62965
63209
  };
62966
63210
  return SurveyQuestionBoolean;
62967
63211
  }(_reactquestion_element__WEBPACK_IMPORTED_MODULE_1__["SurveyQuestionElementBase"]));
@@ -63522,7 +63766,7 @@ var SurveyFileChooseButton = /** @class */ (function (_super) {
63522
63766
  });
63523
63767
  SurveyFileChooseButton.prototype.render = function () {
63524
63768
  var _this = this;
63525
- return Object(_reactSurvey__WEBPACK_IMPORTED_MODULE_1__["attachKey2click"])(react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("label", { tabIndex: 0, className: this.question.getChooseFileCss(), htmlFor: this.question.inputId, "aria-label": this.question.chooseButtonText, onClick: function () { return _this.question.chooseFile(); } },
63769
+ return Object(_reactSurvey__WEBPACK_IMPORTED_MODULE_1__["attachKey2click"])(react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("label", { tabIndex: 0, className: this.question.getChooseFileCss(), htmlFor: this.question.inputId, "aria-label": this.question.chooseButtonText, onClick: function (e) { return _this.question.chooseFile(e.nativeEvent); } },
63526
63770
  (!!this.question.cssClasses.chooseFileIconId) ? react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_svg_icon_svg_icon__WEBPACK_IMPORTED_MODULE_3__["SvgIcon"], { title: this.question.chooseButtonText, iconName: this.question.cssClasses.chooseFileIconId, size: "auto" }) : null,
63527
63771
  react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", null, this.question.chooseButtonText)));
63528
63772
  };
@@ -67040,7 +67284,6 @@ var SurveyPanelBase = /** @class */ (function (_super) {
67040
67284
  __extends(SurveyPanelBase, _super);
67041
67285
  function SurveyPanelBase(props) {
67042
67286
  var _this = _super.call(this, props) || this;
67043
- _this.renderedRowsCache = {};
67044
67287
  _this.rootRef = react__WEBPACK_IMPORTED_MODULE_0__["createRef"]();
67045
67288
  return _this;
67046
67289
  }
@@ -67123,20 +67366,8 @@ var SurveyPanelBase = /** @class */ (function (_super) {
67123
67366
  && this.panelBase.isVisible && !!this.panelBase.survey);
67124
67367
  };
67125
67368
  SurveyPanelBase.prototype.renderRows = function (css) {
67126
- if (this.changedStatePropName !== "rows") {
67127
- this.renderedRowsCache = {};
67128
- }
67129
- var rows = [];
67130
- var questionRows = this.panelBase.rows;
67131
- for (var i = 0; i < questionRows.length; i++) {
67132
- var row = this.renderedRowsCache[questionRows[i].id];
67133
- if (!row) {
67134
- row = this.createRow(questionRows[i], css);
67135
- this.renderedRowsCache[questionRows[i].id] = row;
67136
- }
67137
- rows.push(row);
67138
- }
67139
- return rows;
67369
+ var _this = this;
67370
+ return this.panelBase.rows.map(function (row) { return _this.createRow(row, css); });
67140
67371
  };
67141
67372
  SurveyPanelBase.prototype.createRow = function (row, css) {
67142
67373
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_row__WEBPACK_IMPORTED_MODULE_2__["SurveyRow"], { key: row.id, row: row, survey: this.survey, creator: this.creator, css: css }));
@@ -67480,7 +67711,9 @@ var SurveyProgressButtons = /** @class */ (function (_super) {
67480
67711
  }, 10);
67481
67712
  };
67482
67713
  SurveyProgressButtons.prototype.componentWillUnmount = function () {
67483
- this.respManager.dispose();
67714
+ if (!!this.respManager) {
67715
+ this.respManager.dispose();
67716
+ }
67484
67717
  _super.prototype.componentWillUnmount.call(this);
67485
67718
  };
67486
67719
  return SurveyProgressButtons;
@@ -69882,8 +70115,8 @@ var SurveyQuestionFile = /** @class */ (function (_super) {
69882
70115
  var clearButtonBottom = this.question.showRemoveButtonBottom ? this.renderClearButton(this.question.cssClasses.removeButtonBottom) : null;
69883
70116
  var fileNavigator = this.question.fileNavigatorVisible ? (react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_components_action_bar_action_bar__WEBPACK_IMPORTED_MODULE_1__["SurveyActionBar"], { model: this.question.fileNavigator })) : null;
69884
70117
  var fileInput = (this.isDisplayMode ?
69885
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("input", { type: "file", disabled: this.isDisplayMode, className: !this.isDisplayMode ? this.question.cssClasses.fileInput : this.question.getReadOnlyFileCss(), id: this.question.inputId, ref: function (input) { return (_this.setControl(input)); }, style: !this.isDisplayMode ? {} : { color: "transparent" }, onChange: !this.isDisplayMode ? this.question.doChange : (function () { }), multiple: this.question.allowMultiple, placeholder: this.question.title, accept: this.question.acceptedTypes }) : this.question.hasFileUI ?
69886
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("input", { type: "file", disabled: this.isDisplayMode, tabIndex: -1, className: !this.isDisplayMode ? this.question.cssClasses.fileInput : this.question.getReadOnlyFileCss(), id: this.question.inputId, ref: function (input) { return (_this.setControl(input)); }, style: !this.isDisplayMode ? {} : { color: "transparent" }, onChange: !this.isDisplayMode ? this.question.doChange : (function () { }), "aria-required": this.question.ariaRequired, "aria-label": this.question.ariaLabel, "aria-invalid": this.question.ariaInvalid, "aria-describedby": this.question.ariaDescribedBy, multiple: this.question.allowMultiple, title: this.question.inputTitle, accept: this.question.acceptedTypes, capture: this.question.renderCapture }) : null);
70118
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("input", { type: "file", disabled: this.isDisplayMode, className: !this.isDisplayMode ? this.question.cssClasses.fileInput : this.question.getReadOnlyFileCss(), id: this.question.inputId, ref: function (input) { return (_this.setControl(input)); }, style: !this.isDisplayMode ? {} : { color: "transparent" }, multiple: this.question.allowMultiple, placeholder: this.question.title, accept: this.question.acceptedTypes }) : this.question.hasFileUI ?
70119
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("input", { type: "file", disabled: this.isDisplayMode, tabIndex: -1, className: !this.isDisplayMode ? this.question.cssClasses.fileInput : this.question.getReadOnlyFileCss(), id: this.question.inputId, ref: function (input) { return (_this.setControl(input)); }, style: !this.isDisplayMode ? {} : { color: "transparent" }, "aria-required": this.question.ariaRequired, "aria-label": this.question.ariaLabel, "aria-invalid": this.question.ariaInvalid, "aria-describedby": this.question.ariaDescribedBy, multiple: this.question.allowMultiple, title: this.question.inputTitle, accept: this.question.acceptedTypes, capture: this.question.renderCapture }) : null);
69887
70120
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.question.fileRootCss },
69888
70121
  fileInput,
69889
70122
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.question.cssClasses.dragArea, onDrop: this.question.onDrop, onDragOver: this.question.onDragOver, onDragLeave: this.question.onDragLeave, onDragEnter: this.question.onDragEnter },
@@ -73223,29 +73456,45 @@ var settings = {
73223
73456
  */
73224
73457
  tagboxCloseOnSelect: false,
73225
73458
  /**
73226
- * A property that allows you to display a custom confirm dialog.
73459
+ * A function that activates a browser confirm dialog.
73460
+ *
73461
+ * Use the following code to execute this function:
73462
+ *
73463
+ * ```js
73464
+ * import { settings } from "survey-core";
73227
73465
  *
73228
- * Set this property to a function that renders your custom dialog window. This function should return `true` if a user confirms an action or `false` otherwise.
73466
+ * // `result` contains `true` if the action was confirmed or `false` otherwise
73467
+ * const result = settings.confirmActionFunc("Are you sure?");
73468
+ * ```
73469
+ *
73470
+ * You can redefine the `confirmActionFunc` function if you want to display a custom dialog window. Your function should return `true` if a user confirms an action or `false` otherwise.
73229
73471
  * @param message A message to be displayed in the confirm dialog window.
73230
73472
  */
73231
73473
  confirmActionFunc: function (message) {
73232
73474
  return confirm(message);
73233
73475
  },
73234
73476
  /**
73235
- * A property that allows you to display a custom confirm dialog in async mode or activate the standard browser dialog.
73236
- *
73237
- * To display a custom confirm dialog, set this property to a function that renders it. This function should return `true` to be enabled; otherwise, a survey executes the [`confirmActionFunc`](#confirmActionFunc) function. Pass the dialog result as the `callback` parameter: `true` if a user confirms an action, `false` otherwise.
73477
+ * A function that activates a proprietary SurveyJS confirm dialog.
73238
73478
  *
73239
- * To activate the standard browser dialog, set the `confirmActionAsync` property to a function that returns `false`. With this configuration, a survey falls back to the [`confirmActionFunc`](#confirmActionFunc) function, which renders the standard browser dialog by default.
73479
+ * Use the following code to execute this function:
73240
73480
  *
73241
73481
  * ```js
73242
73482
  * import { settings } from "survey-core";
73243
73483
  *
73244
- * // Display the standard browser dialog
73245
- * settings.confirmActionAsync = () => {
73246
- * return false;
73247
- * }
73484
+ * settings.confirmActionAsync("Are you sure?", (confirmed) => {
73485
+ * if (confirmed) {
73486
+ * // ...
73487
+ * // Proceed with the action
73488
+ * // ...
73489
+ * } else {
73490
+ * // ...
73491
+ * // Cancel the action
73492
+ * // ...
73493
+ * }
73494
+ * });
73248
73495
  * ```
73496
+ *
73497
+ * You can redefine the `confirmActionAsync` function if you want to display a custom dialog window. Your function should return `true` to be enabled; otherwise, a survey executes the [`confirmActionFunc`](#confirmActionFunc) function. Pass the dialog result as the `callback` parameter: `true` if a user confirms an action, `false` otherwise.
73249
73498
  * @param message A message to be displayed in the confirm dialog window.
73250
73499
  * @param callback A callback function that should be called with `true` if a user confirms an action or `false` otherwise.
73251
73500
  */
@@ -75094,7 +75343,7 @@ var SurveyElement = /** @class */ (function (_super) {
75094
75343
  });
75095
75344
  SurveyElement.prototype.isContainsSelection = function (el) {
75096
75345
  var elementWithSelection = undefined;
75097
- if (document["selection"]) {
75346
+ if ((typeof document !== "undefined") && document["selection"]) {
75098
75347
  elementWithSelection = document["selection"].createRange().parentElement();
75099
75348
  }
75100
75349
  else {
@@ -76256,6 +76505,7 @@ var SurveyModel = /** @class */ (function (_super) {
76256
76505
  component: "sv-action-bar",
76257
76506
  data: _this.navigationBar
76258
76507
  });
76508
+ _this.locTitle.onStringChanged.add(function () { return _this.titleIsEmpty = _this.locTitle.isEmpty; });
76259
76509
  return _this;
76260
76510
  }
76261
76511
  Object.defineProperty(SurveyModel, "cssType", {
@@ -77554,7 +77804,7 @@ var SurveyModel = /** @class */ (function (_super) {
77554
77804
  get: function () {
77555
77805
  if (this.isDesignMode)
77556
77806
  return this.isPropertyVisible("title");
77557
- return !this.locTitle.isEmpty && this.showTitle;
77807
+ return !this.titleIsEmpty && this.showTitle;
77558
77808
  },
77559
77809
  enumerable: false,
77560
77810
  configurable: true
@@ -79350,7 +79600,7 @@ var SurveyModel = /** @class */ (function (_super) {
79350
79600
  });
79351
79601
  Object.defineProperty(SurveyModel.prototype, "isDisplayMode", {
79352
79602
  get: function () {
79353
- return this.mode == "display" || this.state == "preview";
79603
+ return this.mode == "display" && !this.isDesignMode || this.state == "preview";
79354
79604
  },
79355
79605
  enumerable: false,
79356
79606
  configurable: true
@@ -80621,7 +80871,7 @@ var SurveyModel = /** @class */ (function (_super) {
80621
80871
  .append(this.css.root)
80622
80872
  .append(this.css.rootMobile, this.isMobile)
80623
80873
  .append(this.css.rootAnimationDisabled, !_settings__WEBPACK_IMPORTED_MODULE_14__["settings"].animationEnabled)
80624
- .append(this.css.rootReadOnly, this.mode === "display")
80874
+ .append(this.css.rootReadOnly, this.mode === "display" && !this.isDesignMode)
80625
80875
  .append(this.css.rootCompact, this.isCompact)
80626
80876
  .append(this.css.rootFitToContainer, this.fitToContainer)
80627
80877
  .toString();
@@ -81939,6 +82189,7 @@ var SurveyModel = /** @class */ (function (_super) {
81939
82189
  this.updateRenderBackgroundImage();
81940
82190
  this.updateCurrentPage();
81941
82191
  this.hasDescription = !!this.description;
82192
+ this.titleIsEmpty = this.locTitle.isEmpty;
81942
82193
  this.setCalculatedWidthModeUpdater();
81943
82194
  };
81944
82195
  SurveyModel.prototype.updateNavigationCss = function () {
@@ -83563,6 +83814,9 @@ var SurveyModel = /** @class */ (function (_super) {
83563
83814
  __decorate([
83564
83815
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])()
83565
83816
  ], SurveyModel.prototype, "lazyRenderingFirstBatchSizeValue", void 0);
83817
+ __decorate([
83818
+ Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])({ defaultValue: true })
83819
+ ], SurveyModel.prototype, "titleIsEmpty", void 0);
83566
83820
  __decorate([
83567
83821
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])({ defaultValue: {} })
83568
83822
  ], SurveyModel.prototype, "cssVariables", void 0);
@@ -83699,7 +83953,11 @@ _jsonobject__WEBPACK_IMPORTED_MODULE_1__["Serializer"].addClass("survey", [
83699
83953
  default: "bottom",
83700
83954
  choices: ["none", "top", "bottom", "both"],
83701
83955
  },
83702
- { name: "showPrevButton:boolean", default: true },
83956
+ {
83957
+ name: "showPrevButton:boolean",
83958
+ default: true,
83959
+ visibleIf: function (obj) { return obj.showNavigationButtons !== "none"; }
83960
+ },
83703
83961
  { name: "showTitle:boolean", default: true },
83704
83962
  { name: "showPageTitles:boolean", default: true },
83705
83963
  { name: "showCompletedPage:boolean", default: true },
@@ -83750,9 +84008,19 @@ _jsonobject__WEBPACK_IMPORTED_MODULE_1__["Serializer"].addClass("survey", [
83750
84008
  "requiredQuestions",
83751
84009
  "correctQuestions",
83752
84010
  ],
84011
+ visibleIf: function (obj) { return obj.showProgressBar !== "off"; }
84012
+ },
84013
+ {
84014
+ name: "progressBarShowPageTitles:switch",
84015
+ category: "navigation",
84016
+ visibleIf: function (obj) { return obj.showProgressBar !== "off" && obj.progressBarType === "pages"; }
84017
+ },
84018
+ {
84019
+ name: "progressBarShowPageNumbers:switch",
84020
+ default: false,
84021
+ category: "navigation",
84022
+ visibleIf: function (obj) { return obj.showProgressBar !== "off" && obj.progressBarType === "pages"; }
83753
84023
  },
83754
- { name: "progressBarShowPageTitles:switch", category: "navigation" },
83755
- { name: "progressBarShowPageNumbers:switch", default: false, category: "navigation" },
83756
84024
  {
83757
84025
  name: "showTOC:switch",
83758
84026
  default: false
@@ -83792,12 +84060,36 @@ _jsonobject__WEBPACK_IMPORTED_MODULE_1__["Serializer"].addClass("survey", [
83792
84060
  },
83793
84061
  { name: "autoGrowComment:boolean", default: false },
83794
84062
  { name: "allowResizeComment:boolean", default: true },
83795
- { name: "startSurveyText", serializationProperty: "locStartSurveyText" },
83796
- { name: "pagePrevText", serializationProperty: "locPagePrevText" },
83797
- { name: "pageNextText", serializationProperty: "locPageNextText" },
83798
- { name: "completeText", serializationProperty: "locCompleteText" },
83799
- { name: "previewText", serializationProperty: "locPreviewText" },
83800
- { name: "editText", serializationProperty: "locEditText" },
84063
+ {
84064
+ name: "startSurveyText",
84065
+ serializationProperty: "locStartSurveyText",
84066
+ visibleIf: function (obj) { return obj.firstPageIsStarted; }
84067
+ },
84068
+ {
84069
+ name: "pagePrevText",
84070
+ serializationProperty: "locPagePrevText",
84071
+ visibleIf: function (obj) { return obj.showNavigationButtons !== "none" && obj.showPrevButton; }
84072
+ },
84073
+ {
84074
+ name: "pageNextText",
84075
+ serializationProperty: "locPageNextText",
84076
+ visibleIf: function (obj) { return obj.showNavigationButtons !== "none"; }
84077
+ },
84078
+ {
84079
+ name: "completeText",
84080
+ serializationProperty: "locCompleteText",
84081
+ visibleIf: function (obj) { return obj.showNavigationButtons !== "none"; }
84082
+ },
84083
+ {
84084
+ name: "previewText",
84085
+ serializationProperty: "locPreviewText",
84086
+ visibleIf: function (obj) { return obj.showPreviewBeforeComplete !== "noPreview"; }
84087
+ },
84088
+ {
84089
+ name: "editText",
84090
+ serializationProperty: "locEditText",
84091
+ visibleIf: function (obj) { return obj.showPreviewBeforeComplete !== "noPreview"; }
84092
+ },
83801
84093
  { name: "requiredText", default: "*" },
83802
84094
  {
83803
84095
  name: "questionStartIndex",
@@ -83830,7 +84122,7 @@ _jsonobject__WEBPACK_IMPORTED_MODULE_1__["Serializer"].addClass("survey", [
83830
84122
  {
83831
84123
  name: "questionsOnPageMode",
83832
84124
  default: "standard",
83833
- choices: ["singlePage", "standard", "questionPerPage"],
84125
+ choices: ["standard", "singlePage", "questionPerPage"],
83834
84126
  },
83835
84127
  {
83836
84128
  name: "showPreviewBeforeComplete",
@@ -83847,7 +84139,7 @@ _jsonobject__WEBPACK_IMPORTED_MODULE_1__["Serializer"].addClass("survey", [
83847
84139
  {
83848
84140
  name: "showTimerPanelMode",
83849
84141
  default: "all",
83850
- choices: ["all", "page", "survey"],
84142
+ choices: ["page", "survey", "all"],
83851
84143
  },
83852
84144
  {
83853
84145
  name: "widthMode",
@@ -83855,7 +84147,7 @@ _jsonobject__WEBPACK_IMPORTED_MODULE_1__["Serializer"].addClass("survey", [
83855
84147
  choices: ["auto", "static", "responsive"],
83856
84148
  },
83857
84149
  { name: "width", visibleIf: function (obj) { return obj.widthMode === "static"; } },
83858
- { name: "fitToContainer:boolean", default: false },
84150
+ { name: "fitToContainer:boolean", default: true, visible: false },
83859
84151
  { name: "headerView", default: "basic", choices: ["basic", "advanced"], visible: false },
83860
84152
  { name: "backgroundImage:file", visible: false },
83861
84153
  { name: "backgroundImageFit", default: "cover", choices: ["auto", "contain", "cover"], visible: false },
@@ -84536,6 +84828,8 @@ var SvgIconRegistry = /** @class */ (function () {
84536
84828
  };
84537
84829
  SvgIconRegistry.prototype.registerIconFromSvgViaElement = function (iconId, iconSvg, iconPrefix) {
84538
84830
  if (iconPrefix === void 0) { iconPrefix = this.iconPrefix; }
84831
+ if (typeof document === "undefined")
84832
+ return;
84539
84833
  iconId = this.processId(iconId, iconPrefix);
84540
84834
  var divSvg = document.createElement("div");
84541
84835
  divSvg.innerHTML = iconSvg;