survey-react 1.9.105 → 1.9.106

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.105
2
+ * surveyjs - Survey JavaScript library v1.9.106
3
3
  * Copyright (c) 2015-2023 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
5
5
  */
@@ -734,11 +734,13 @@ function createDropdownActionModel(actionOptions, dropdownOptions, locOwner) {
734
734
  }
735
735
  function createDropdownActionModelAdvanced(actionOptions, listOptions, popupOptions, locOwner) {
736
736
  var listModel = new _list__WEBPACK_IMPORTED_MODULE_3__["ListModel"](listOptions.items, function (item) {
737
- listOptions.onSelectionChanged(item),
738
- innerPopupModel.toggleVisibility();
737
+ listOptions.onSelectionChanged(item);
738
+ innerPopupModel.toggleVisibility();
739
739
  }, listOptions.allowSelection, listOptions.selectedItem, listOptions.onFilterStringChangedCallback);
740
740
  listModel.locOwner = locOwner;
741
- var innerPopupModel = new _popup__WEBPACK_IMPORTED_MODULE_4__["PopupModel"]("sv-list", { model: listModel }, popupOptions === null || popupOptions === void 0 ? void 0 : popupOptions.verticalPosition, popupOptions === null || popupOptions === void 0 ? void 0 : popupOptions.horizontalPosition, popupOptions === null || popupOptions === void 0 ? void 0 : popupOptions.showPointer, popupOptions === null || popupOptions === void 0 ? void 0 : popupOptions.isModal, popupOptions === null || popupOptions === void 0 ? void 0 : popupOptions.onCancel, popupOptions === null || popupOptions === void 0 ? void 0 : popupOptions.onApply, popupOptions === null || popupOptions === void 0 ? void 0 : popupOptions.onHide, popupOptions === null || popupOptions === void 0 ? void 0 : popupOptions.onShow, popupOptions === null || popupOptions === void 0 ? void 0 : popupOptions.cssClass, popupOptions === null || popupOptions === void 0 ? void 0 : popupOptions.title);
741
+ var innerPopupModel = new _popup__WEBPACK_IMPORTED_MODULE_4__["PopupModel"]("sv-list", { model: listModel }, popupOptions === null || popupOptions === void 0 ? void 0 : popupOptions.verticalPosition, popupOptions === null || popupOptions === void 0 ? void 0 : popupOptions.horizontalPosition, popupOptions === null || popupOptions === void 0 ? void 0 : popupOptions.showPointer, popupOptions === null || popupOptions === void 0 ? void 0 : popupOptions.isModal, popupOptions === null || popupOptions === void 0 ? void 0 : popupOptions.onCancel, popupOptions === null || popupOptions === void 0 ? void 0 : popupOptions.onApply, popupOptions === null || popupOptions === void 0 ? void 0 : popupOptions.onHide, popupOptions === null || popupOptions === void 0 ? void 0 : popupOptions.onShow, popupOptions === null || popupOptions === void 0 ? void 0 : popupOptions.cssClass, popupOptions === null || popupOptions === void 0 ? void 0 : popupOptions.title, function () {
742
+ listModel.dispose();
743
+ });
742
744
  innerPopupModel.displayMode = popupOptions === null || popupOptions === void 0 ? void 0 : popupOptions.displayMode;
743
745
  var newActionOptions = Object.assign({}, actionOptions, {
744
746
  component: "sv-action-bar-item-dropdown",
@@ -1062,6 +1064,17 @@ var Action = /** @class */ (function (_super) {
1062
1064
  Action.prototype.getComponent = function () {
1063
1065
  return this._component;
1064
1066
  };
1067
+ Action.prototype.dispose = function () {
1068
+ this.action = undefined;
1069
+ _super.prototype.dispose.call(this);
1070
+ if (this.popupModel) {
1071
+ this.popupModel.dispose();
1072
+ }
1073
+ if (!!this.locTitleValue) {
1074
+ this.locTitleValue.onStringChanged.remove(this.locTitleChanged);
1075
+ this.locTitleChanged = undefined;
1076
+ }
1077
+ };
1065
1078
  __decorate([
1066
1079
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__["property"])()
1067
1080
  ], Action.prototype, "id", void 0);
@@ -1195,21 +1208,29 @@ var AdaptiveActionContainer = /** @class */ (function (_super) {
1195
1208
  return _this;
1196
1209
  }
1197
1210
  AdaptiveActionContainer.prototype.hideItemsGreaterN = function (visibleItemsCount) {
1198
- var actionsToHide = this.visibleActions.filter(function (action) { return !action.disableHide; });
1211
+ var actionsToHide = this.getActionsToHide();
1199
1212
  visibleItemsCount = Math.max(visibleItemsCount, this.minVisibleItemsCount - (this.visibleActions.length - actionsToHide.length));
1200
1213
  var hiddenItems = [];
1201
1214
  actionsToHide.forEach(function (item) {
1202
1215
  if (visibleItemsCount <= 0) {
1203
- item.mode = "popup";
1204
- hiddenItems.push(item.innerItem);
1216
+ if (item.removePriority) {
1217
+ item.mode = "removed";
1218
+ }
1219
+ else {
1220
+ item.mode = "popup";
1221
+ hiddenItems.push(item.innerItem);
1222
+ }
1205
1223
  }
1206
1224
  visibleItemsCount--;
1207
1225
  });
1208
1226
  this.hiddenItemsListModel.setItems(hiddenItems);
1209
1227
  };
1228
+ AdaptiveActionContainer.prototype.getActionsToHide = function () {
1229
+ return this.visibleActions.filter(function (action) { return !action.disableHide; }).sort(function (a, b) { return a.removePriority || 0 - b.removePriority || 0; });
1230
+ };
1210
1231
  AdaptiveActionContainer.prototype.getVisibleItemsCount = function (availableSize) {
1211
1232
  this.visibleActions.filter(function (action) { return action.disableHide; }).forEach(function (action) { return availableSize -= action.minDimension; });
1212
- var itemsSizes = this.visibleActions.filter(function (action) { return !action.disableHide; }).map(function (item) { return item.minDimension; });
1233
+ var itemsSizes = this.getActionsToHide().map(function (item) { return item.minDimension; });
1213
1234
  var currSize = 0;
1214
1235
  for (var i = 0; i < itemsSizes.length; i++) {
1215
1236
  currSize += itemsSizes[i];
@@ -1289,7 +1310,7 @@ var AdaptiveActionContainer = /** @class */ (function (_super) {
1289
1310
  else if (dimension < minSize) {
1290
1311
  this.setActionsMode("small");
1291
1312
  this.hideItemsGreaterN(this.getVisibleItemsCount(dimension - dotsItemSize));
1292
- this.dotsItem.visible = true;
1313
+ this.dotsItem.visible = !!this.hiddenItemsListModel.actions.length;
1293
1314
  }
1294
1315
  else {
1295
1316
  this.updateItemMode(dimension, maxSize);
@@ -1305,10 +1326,16 @@ var AdaptiveActionContainer = /** @class */ (function (_super) {
1305
1326
  }
1306
1327
  };
1307
1328
  AdaptiveActionContainer.prototype.setActionsMode = function (mode) {
1308
- this.actions.forEach(function (action) { return (action.mode = mode); });
1329
+ this.actions.forEach(function (action) {
1330
+ if (mode == "small" && action.disableShrink)
1331
+ return;
1332
+ action.mode = mode;
1333
+ });
1309
1334
  };
1310
1335
  AdaptiveActionContainer.prototype.dispose = function () {
1311
1336
  _super.prototype.dispose.call(this);
1337
+ this.dotsItem.data.dispose();
1338
+ this.dotsItem.dispose();
1312
1339
  this.resetResponsivityManager();
1313
1340
  };
1314
1341
  AdaptiveActionContainer.ContainerID = 1;
@@ -1366,6 +1393,7 @@ var defaultActionBarCss = {
1366
1393
  defaultSizeMode: "sv-action-bar--default-size-mode",
1367
1394
  smallSizeMode: "sv-action-bar--small-size-mode",
1368
1395
  item: "sv-action-bar-item",
1396
+ itemAsIcon: "sv-action-bar-item--icon",
1369
1397
  itemActive: "sv-action-bar-item--active",
1370
1398
  itemPressed: "sv-action-bar-item--pressed",
1371
1399
  itemIcon: "sv-action-bar-item__icon",
@@ -1725,6 +1753,7 @@ var Dependencies = /** @class */ (function () {
1725
1753
  this.dependencies.forEach(function (dependency) {
1726
1754
  dependency.obj.unregisterPropertyChangedHandlers([dependency.prop], dependency.id);
1727
1755
  });
1756
+ // this.currentDependency = undefined;
1728
1757
  };
1729
1758
  Dependencies.DependenciesCount = 0;
1730
1759
  return Dependencies;
@@ -1768,6 +1797,7 @@ var ComputedUpdater = /** @class */ (function () {
1768
1797
  */
1769
1798
  var Base = /** @class */ (function () {
1770
1799
  function Base() {
1800
+ this.dependencies = {};
1771
1801
  this.propertyHash = Base.createPropertiesHash();
1772
1802
  this.eventList = [];
1773
1803
  this.isLoadingFromJsonValue = false;
@@ -1876,6 +1906,7 @@ var Base = /** @class */ (function () {
1876
1906
  }
1877
1907
  this.onPropertyValueChangedCallback = undefined;
1878
1908
  this.isDisposedValue = true;
1909
+ Object.values(this.dependencies).forEach(function (dependencies) { return dependencies.dispose(); });
1879
1910
  };
1880
1911
  Object.defineProperty(Base.prototype, "isDisposed", {
1881
1912
  get: function () {
@@ -2079,6 +2110,9 @@ var Base = /** @class */ (function () {
2079
2110
  var dValue = prop.defaultValue;
2080
2111
  if (!this.isPropertyEmpty(dValue) && !Array.isArray(dValue))
2081
2112
  return dValue;
2113
+ var locStr = this.localizableStrings ? this.localizableStrings[name] : undefined;
2114
+ if (locStr && locStr.localizationName)
2115
+ return this.getLocalizationString(locStr.localizationName);
2082
2116
  if (prop.type == "boolean" || prop.type == "switch")
2083
2117
  return false;
2084
2118
  if (prop.isCustom && !!prop.onGetValue)
@@ -2089,7 +2123,13 @@ var Base = /** @class */ (function () {
2089
2123
  return this.getDefaultPropertyValue(name) !== undefined;
2090
2124
  };
2091
2125
  Base.prototype.resetPropertyValue = function (name) {
2092
- this.setPropertyValue(name, undefined);
2126
+ var locStr = this.localizableStrings ? this.localizableStrings[name] : undefined;
2127
+ if (locStr) {
2128
+ locStr.clearLocale();
2129
+ }
2130
+ else {
2131
+ this.setPropertyValue(name, undefined);
2132
+ }
2093
2133
  };
2094
2134
  Base.prototype.getPropertyValueWithoutDefault = function (name) {
2095
2135
  return this.getPropertyValueCore(this.propertyHash, name);
@@ -5158,6 +5198,7 @@ var defaultV2Css = {
5158
5198
  rootMobile: "sd-root-modern--mobile",
5159
5199
  rootReadOnly: "sd-root--readonly",
5160
5200
  rootCompact: "sd-root--compact",
5201
+ rootFitToContainer: "sd-root-modern--full-container",
5161
5202
  rootBackgroundImage: "sd-root_background-image",
5162
5203
  container: "sd-container-modern",
5163
5204
  header: "sd-title sd-container-modern__title",
@@ -5173,6 +5214,7 @@ var defaultV2Css = {
5173
5214
  clockTimerMinorText: "sd-timer__text--minor",
5174
5215
  clockTimerMajorText: "sd-timer__text--major",
5175
5216
  bodyEmpty: "sd-body sd-body--empty",
5217
+ bodyLoading: "sd-body--loading",
5176
5218
  footer: "sd-footer sd-body__navigation sd-clearfix",
5177
5219
  title: "sd-title",
5178
5220
  description: "sd-description",
@@ -5183,6 +5225,7 @@ var defaultV2Css = {
5183
5225
  navigationButton: "",
5184
5226
  bodyNavigationButton: "sd-btn",
5185
5227
  completedPage: "sd-completedpage",
5228
+ completedBeforePage: "sd-completed-before-page",
5186
5229
  timerRoot: "sd-body__timer",
5187
5230
  navigation: {
5188
5231
  complete: "sd-btn--action sd-navigation__complete-btn",
@@ -5458,7 +5501,10 @@ var defaultV2Css = {
5458
5501
  itemTitle: "sd-multipletext__item-title",
5459
5502
  content: "sd-multipletext__content sd-question__content",
5460
5503
  row: "sd-multipletext__row",
5461
- cell: "sd-multipletext__cell"
5504
+ cell: "sd-multipletext__cell",
5505
+ cellError: "sd-multipletext__cell--error",
5506
+ cellErrorTop: "sd-multipletext__cell--error-top",
5507
+ cellErrorBottom: "sd-multipletext__cell--error-bottom"
5462
5508
  },
5463
5509
  dropdown: {
5464
5510
  root: "sd-selectbase",
@@ -6776,9 +6822,13 @@ var DragDropDOMAdapter = /** @class */ (function () {
6776
6822
  _this.draggedElementShortcut = null;
6777
6823
  _this.scrollIntervalId = null;
6778
6824
  if (_utils_devices__WEBPACK_IMPORTED_MODULE_1__["IsTouch"]) {
6825
+ _this.savedTargetNode.style.cssText = null;
6779
6826
  _this.savedTargetNode && _this.savedTargetNode.parentElement.removeChild(_this.savedTargetNode);
6827
+ _this.savedTargetNodeParent.appendChild(_this.savedTargetNode);
6780
6828
  DragDropDOMAdapter.PreventScrolling = false;
6781
6829
  }
6830
+ _this.savedTargetNode = null;
6831
+ _this.savedTargetNodeParent = null;
6782
6832
  document.body.style.setProperty("touch-action", "");
6783
6833
  document.body.style.setProperty("user-select", "");
6784
6834
  document.body.style.setProperty("-webkit-user-select", "");
@@ -6826,6 +6876,7 @@ var DragDropDOMAdapter = /** @class */ (function () {
6826
6876
  _this.savedTargetNode = event.target;
6827
6877
  _this.savedTargetNode.style.cssText =
6828
6878
  "\n position: absolute;\n height: 1px!important;\n width: 1px!important;\n overflow: hidden;\n clip: rect(1px 1px 1px 1px);\n clip: rect(1px, 1px, 1px, 1px);\n ";
6879
+ _this.savedTargetNodeParent = _this.savedTargetNode.parentElement;
6829
6880
  _this.rootElement.appendChild(_this.savedTargetNode);
6830
6881
  }
6831
6882
  _this.stopLongTap();
@@ -7554,9 +7605,10 @@ var DropdownListModel = /** @class */ (function (_super) {
7554
7605
  _this.filterString = newValue;
7555
7606
  }
7556
7607
  };
7557
- question.onPropertyChanged.add(function (sender, options) {
7608
+ _this.qustionPropertyChangedHandler = function (sender, options) {
7558
7609
  _this.onPropertyChangedHandler(sender, options);
7559
- });
7610
+ };
7611
+ question.onPropertyChanged.add(_this.qustionPropertyChangedHandler);
7560
7612
  _this.showInputFieldComponent = _this.question.showInputFieldComponent;
7561
7613
  _this.listModel = _this.createListModel();
7562
7614
  _this.updateAfterListModelCreated(_this.listModel);
@@ -8081,6 +8133,8 @@ var DropdownListModel = /** @class */ (function (_super) {
8081
8133
  };
8082
8134
  DropdownListModel.prototype.dispose = function () {
8083
8135
  _super.prototype.dispose.call(this);
8136
+ this.question && this.question.onPropertyChanged.remove(this.qustionPropertyChangedHandler);
8137
+ this.qustionPropertyChangedHandler = undefined;
8084
8138
  if (!!this.listModel) {
8085
8139
  this.listModel.dispose();
8086
8140
  }
@@ -8192,6 +8246,10 @@ var DropdownMultiSelectListModel = /** @class */ (function (_super) {
8192
8246
  _this.closeOnSelect = question.closeOnSelect;
8193
8247
  return _this;
8194
8248
  }
8249
+ DropdownMultiSelectListModel.prototype.locStrsChanged = function () {
8250
+ _super.prototype.locStrsChanged.call(this);
8251
+ this.syncFilterStringPlaceholder();
8252
+ };
8195
8253
  DropdownMultiSelectListModel.prototype.updateListState = function () {
8196
8254
  this.listModel.updateState();
8197
8255
  this.syncFilterStringPlaceholder();
@@ -8681,7 +8739,7 @@ __webpack_require__.r(__webpack_exports__);
8681
8739
  /*!*************************************!*\
8682
8740
  !*** ./src/entries/chunks/model.ts ***!
8683
8741
  \*************************************/
8684
- /*! exports provided: Version, ReleaseDate, checkLibraryVersion, setLicenseKey, hasLicense, settings, Helpers, AnswerCountValidator, EmailValidator, NumericValidator, RegexValidator, SurveyValidator, TextValidator, ValidatorResult, ExpressionValidator, ValidatorRunner, ItemValue, Base, Event, EventBase, ArrayChanges, ComputedUpdater, SurveyError, SurveyElementCore, SurveyElement, DragTypeOverMeEnum, CalculatedValue, CustomError, AnswerRequiredError, OneAnswerRequiredError, RequreNumericError, ExceedSizeError, LocalizableString, LocalizableStrings, HtmlConditionItem, UrlConditionItem, ChoicesRestful, ChoicesRestfull, FunctionFactory, registerFunction, ConditionRunner, ExpressionRunner, ExpressionExecutor, Operand, Const, BinaryOperand, Variable, FunctionOperand, ArrayOperand, UnaryOperand, ConditionsParser, ProcessValue, JsonError, JsonIncorrectTypeError, JsonMetadata, JsonMetadataClass, JsonMissingTypeError, JsonMissingTypeErrorBase, JsonObject, JsonObjectProperty, JsonRequiredPropertyError, JsonUnknownPropertyError, Serializer, property, propertyArray, MatrixDropdownCell, MatrixDropdownRowModelBase, QuestionMatrixDropdownModelBase, MatrixDropdownColumn, matrixDropdownColumnTypes, QuestionMatrixDropdownRenderedCell, QuestionMatrixDropdownRenderedRow, QuestionMatrixDropdownRenderedTable, MatrixDropdownRowModel, QuestionMatrixDropdownModel, MatrixDynamicRowModel, QuestionMatrixDynamicModel, MatrixRowModel, MatrixCells, QuestionMatrixModel, QuestionMatrixBaseModel, MultipleTextItemModel, QuestionMultipleTextModel, MultipleTextEditorModel, PanelModel, PanelModelBase, QuestionRowModel, FlowPanelModel, PageModel, DefaultTitleModel, Question, QuestionNonValue, QuestionEmptyModel, QuestionCheckboxBase, QuestionSelectBase, QuestionCheckboxModel, QuestionTagboxModel, QuestionRankingModel, QuestionCommentModel, QuestionDropdownModel, QuestionFactory, ElementFactory, QuestionFileModel, QuestionHtmlModel, QuestionRadiogroupModel, QuestionRatingModel, RenderedRatingItem, QuestionExpressionModel, QuestionTextBase, CharacterCounter, QuestionTextModel, QuestionBooleanModel, QuestionImagePickerModel, ImageItemValue, QuestionImageModel, QuestionSignaturePadModel, QuestionPanelDynamicModel, QuestionPanelDynamicItem, SurveyTimer, SurveyTimerModel, tryNavigateToPage, tryFocusPage, createTOCListModel, getTocRootCss, TOCModel, SurveyProgressModel, SurveyProgressButtonsModel, SurveyModel, SurveyTrigger, SurveyTriggerComplete, SurveyTriggerSetValue, SurveyTriggerVisible, SurveyTriggerCopyValue, SurveyTriggerRunExpression, SurveyTriggerSkip, Trigger, PopupSurveyModel, SurveyWindowModel, TextPreProcessor, Notifier, dxSurveyService, englishStrings, surveyLocalization, surveyStrings, QuestionCustomWidget, CustomWidgetCollection, QuestionCustomModel, QuestionCompositeModel, ComponentQuestionJSON, ComponentCollection, StylesManager, ListModel, MultiSelectListModel, PopupModel, createDialogOptions, PopupBaseViewModel, PopupDropdownViewModel, PopupModalViewModel, createPopupViewModel, createPopupModalViewModel, DropdownListModel, DropdownMultiSelectListModel, QuestionButtonGroupModel, ButtonGroupItemModel, ButtonGroupItemValue, IsMobile, IsTouch, _setIsTouch, confirmAction, confirmActionAsync, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, sanitizeEditableContent, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropCore, DragDropChoices, DragDropRankingSelectToRank */
8742
+ /*! exports provided: Version, ReleaseDate, checkLibraryVersion, setLicenseKey, hasLicense, settings, Helpers, AnswerCountValidator, EmailValidator, NumericValidator, RegexValidator, SurveyValidator, TextValidator, ValidatorResult, ExpressionValidator, ValidatorRunner, ItemValue, Base, Event, EventBase, ArrayChanges, ComputedUpdater, SurveyError, SurveyElementCore, SurveyElement, DragTypeOverMeEnum, CalculatedValue, CustomError, AnswerRequiredError, OneAnswerRequiredError, RequreNumericError, ExceedSizeError, LocalizableString, LocalizableStrings, HtmlConditionItem, UrlConditionItem, ChoicesRestful, ChoicesRestfull, FunctionFactory, registerFunction, ConditionRunner, ExpressionRunner, ExpressionExecutor, Operand, Const, BinaryOperand, Variable, FunctionOperand, ArrayOperand, UnaryOperand, ConditionsParser, ProcessValue, JsonError, JsonIncorrectTypeError, JsonMetadata, JsonMetadataClass, JsonMissingTypeError, JsonMissingTypeErrorBase, JsonObject, JsonObjectProperty, JsonRequiredPropertyError, JsonUnknownPropertyError, Serializer, property, propertyArray, MatrixDropdownCell, MatrixDropdownRowModelBase, QuestionMatrixDropdownModelBase, MatrixDropdownColumn, matrixDropdownColumnTypes, QuestionMatrixDropdownRenderedCell, QuestionMatrixDropdownRenderedRow, QuestionMatrixDropdownRenderedTable, MatrixDropdownRowModel, QuestionMatrixDropdownModel, MatrixDynamicRowModel, QuestionMatrixDynamicModel, MatrixRowModel, MatrixCells, QuestionMatrixModel, QuestionMatrixBaseModel, MultipleTextItemModel, MultipleTextCell, MultipleTextErrorCell, MutlipleTextErrorRow, MutlipleTextRow, QuestionMultipleTextModel, MultipleTextEditorModel, PanelModel, PanelModelBase, QuestionRowModel, FlowPanelModel, PageModel, DefaultTitleModel, Question, QuestionNonValue, QuestionEmptyModel, QuestionCheckboxBase, QuestionSelectBase, QuestionCheckboxModel, QuestionTagboxModel, QuestionRankingModel, QuestionCommentModel, QuestionDropdownModel, QuestionFactory, ElementFactory, QuestionFileModel, QuestionHtmlModel, QuestionRadiogroupModel, QuestionRatingModel, RenderedRatingItem, QuestionExpressionModel, QuestionTextBase, CharacterCounter, QuestionTextModel, QuestionBooleanModel, QuestionImagePickerModel, ImageItemValue, QuestionImageModel, QuestionSignaturePadModel, QuestionPanelDynamicModel, QuestionPanelDynamicItem, SurveyTimer, SurveyTimerModel, tryNavigateToPage, tryFocusPage, createTOCListModel, getTocRootCss, TOCModel, SurveyProgressModel, SurveyProgressButtonsModel, SurveyModel, SurveyTrigger, SurveyTriggerComplete, SurveyTriggerSetValue, SurveyTriggerVisible, SurveyTriggerCopyValue, SurveyTriggerRunExpression, SurveyTriggerSkip, Trigger, PopupSurveyModel, SurveyWindowModel, TextPreProcessor, Notifier, dxSurveyService, englishStrings, surveyLocalization, surveyStrings, QuestionCustomWidget, CustomWidgetCollection, QuestionCustomModel, QuestionCompositeModel, ComponentQuestionJSON, ComponentCollection, StylesManager, ListModel, MultiSelectListModel, PopupModel, createDialogOptions, PopupBaseViewModel, PopupDropdownViewModel, PopupModalViewModel, createPopupViewModel, createPopupModalViewModel, DropdownListModel, DropdownMultiSelectListModel, QuestionButtonGroupModel, ButtonGroupItemModel, ButtonGroupItemValue, IsMobile, IsTouch, _setIsTouch, confirmAction, confirmActionAsync, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, sanitizeEditableContent, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropCore, DragDropChoices, DragDropRankingSelectToRank */
8685
8743
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
8686
8744
 
8687
8745
  "use strict";
@@ -8871,6 +8929,14 @@ __webpack_require__.r(__webpack_exports__);
8871
8929
  /* harmony import */ var _question_multipletext__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ../../question_multipletext */ "./src/question_multipletext.ts");
8872
8930
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MultipleTextItemModel", function() { return _question_multipletext__WEBPACK_IMPORTED_MODULE_25__["MultipleTextItemModel"]; });
8873
8931
 
8932
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MultipleTextCell", function() { return _question_multipletext__WEBPACK_IMPORTED_MODULE_25__["MultipleTextCell"]; });
8933
+
8934
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MultipleTextErrorCell", function() { return _question_multipletext__WEBPACK_IMPORTED_MODULE_25__["MultipleTextErrorCell"]; });
8935
+
8936
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MutlipleTextErrorRow", function() { return _question_multipletext__WEBPACK_IMPORTED_MODULE_25__["MutlipleTextErrorRow"]; });
8937
+
8938
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MutlipleTextRow", function() { return _question_multipletext__WEBPACK_IMPORTED_MODULE_25__["MutlipleTextRow"]; });
8939
+
8874
8940
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "QuestionMultipleTextModel", function() { return _question_multipletext__WEBPACK_IMPORTED_MODULE_25__["QuestionMultipleTextModel"]; });
8875
8941
 
8876
8942
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MultipleTextEditorModel", function() { return _question_multipletext__WEBPACK_IMPORTED_MODULE_25__["MultipleTextEditorModel"]; });
@@ -9144,8 +9210,8 @@ __webpack_require__.r(__webpack_exports__);
9144
9210
  //import "../../modern.scss";
9145
9211
  var Version;
9146
9212
  var ReleaseDate;
9147
- Version = "" + "1.9.105";
9148
- ReleaseDate = "" + "2023-08-30";
9213
+ Version = "" + "1.9.106";
9214
+ ReleaseDate = "" + "2023-09-06";
9149
9215
  function checkLibraryVersion(ver, libraryName) {
9150
9216
  if (Version != ver) {
9151
9217
  var str = "survey-core has version '" + Version + "' and " + libraryName
@@ -9293,7 +9359,7 @@ function slk(k, lh, rd) {
9293
9359
  /*!**************************************!*\
9294
9360
  !*** ./src/entries/core-wo-model.ts ***!
9295
9361
  \**************************************/
9296
- /*! exports provided: Version, ReleaseDate, checkLibraryVersion, setLicenseKey, hasLicense, settings, Helpers, AnswerCountValidator, EmailValidator, NumericValidator, RegexValidator, SurveyValidator, TextValidator, ValidatorResult, ExpressionValidator, ValidatorRunner, ItemValue, Base, Event, EventBase, ArrayChanges, ComputedUpdater, SurveyError, SurveyElementCore, SurveyElement, DragTypeOverMeEnum, CalculatedValue, CustomError, AnswerRequiredError, OneAnswerRequiredError, RequreNumericError, ExceedSizeError, LocalizableString, LocalizableStrings, HtmlConditionItem, UrlConditionItem, ChoicesRestful, ChoicesRestfull, FunctionFactory, registerFunction, ConditionRunner, ExpressionRunner, ExpressionExecutor, Operand, Const, BinaryOperand, Variable, FunctionOperand, ArrayOperand, UnaryOperand, ConditionsParser, ProcessValue, JsonError, JsonIncorrectTypeError, JsonMetadata, JsonMetadataClass, JsonMissingTypeError, JsonMissingTypeErrorBase, JsonObject, JsonObjectProperty, JsonRequiredPropertyError, JsonUnknownPropertyError, Serializer, property, propertyArray, MatrixDropdownCell, MatrixDropdownRowModelBase, QuestionMatrixDropdownModelBase, MatrixDropdownColumn, matrixDropdownColumnTypes, QuestionMatrixDropdownRenderedCell, QuestionMatrixDropdownRenderedRow, QuestionMatrixDropdownRenderedTable, MatrixDropdownRowModel, QuestionMatrixDropdownModel, MatrixDynamicRowModel, QuestionMatrixDynamicModel, MatrixRowModel, MatrixCells, QuestionMatrixModel, QuestionMatrixBaseModel, MultipleTextItemModel, QuestionMultipleTextModel, MultipleTextEditorModel, PanelModel, PanelModelBase, QuestionRowModel, FlowPanelModel, PageModel, DefaultTitleModel, Question, QuestionNonValue, QuestionEmptyModel, QuestionCheckboxBase, QuestionSelectBase, QuestionCheckboxModel, QuestionTagboxModel, QuestionRankingModel, QuestionCommentModel, QuestionDropdownModel, QuestionFactory, ElementFactory, QuestionFileModel, QuestionHtmlModel, QuestionRadiogroupModel, QuestionRatingModel, RenderedRatingItem, QuestionExpressionModel, QuestionTextBase, CharacterCounter, QuestionTextModel, QuestionBooleanModel, QuestionImagePickerModel, ImageItemValue, QuestionImageModel, QuestionSignaturePadModel, QuestionPanelDynamicModel, QuestionPanelDynamicItem, SurveyTimer, SurveyTimerModel, tryNavigateToPage, tryFocusPage, createTOCListModel, getTocRootCss, TOCModel, SurveyProgressModel, SurveyProgressButtonsModel, SurveyModel, SurveyTrigger, SurveyTriggerComplete, SurveyTriggerSetValue, SurveyTriggerVisible, SurveyTriggerCopyValue, SurveyTriggerRunExpression, SurveyTriggerSkip, Trigger, PopupSurveyModel, SurveyWindowModel, TextPreProcessor, Notifier, dxSurveyService, englishStrings, surveyLocalization, surveyStrings, QuestionCustomWidget, CustomWidgetCollection, QuestionCustomModel, QuestionCompositeModel, ComponentQuestionJSON, ComponentCollection, StylesManager, ListModel, MultiSelectListModel, PopupModel, createDialogOptions, PopupBaseViewModel, PopupDropdownViewModel, PopupModalViewModel, createPopupViewModel, createPopupModalViewModel, DropdownListModel, DropdownMultiSelectListModel, QuestionButtonGroupModel, ButtonGroupItemModel, ButtonGroupItemValue, IsMobile, IsTouch, _setIsTouch, confirmAction, confirmActionAsync, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, sanitizeEditableContent, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropCore, DragDropChoices, DragDropRankingSelectToRank, defaultStandardCss, modernCss, SvgIconRegistry, SvgRegistry, SvgBundleViewModel, RendererFactory, ResponsivityManager, VerticalResponsivityManager, unwrap, getOriginalEvent, getElement, createDropdownActionModel, createDropdownActionModelAdvanced, getActionDropdownButtonTarget, BaseAction, Action, ActionDropdownViewModel, AdaptiveActionContainer, defaultActionBarCss, ActionContainer, TooltipManager, DragOrClickHelper */
9362
+ /*! exports provided: Version, ReleaseDate, checkLibraryVersion, setLicenseKey, hasLicense, settings, Helpers, AnswerCountValidator, EmailValidator, NumericValidator, RegexValidator, SurveyValidator, TextValidator, ValidatorResult, ExpressionValidator, ValidatorRunner, ItemValue, Base, Event, EventBase, ArrayChanges, ComputedUpdater, SurveyError, SurveyElementCore, SurveyElement, DragTypeOverMeEnum, CalculatedValue, CustomError, AnswerRequiredError, OneAnswerRequiredError, RequreNumericError, ExceedSizeError, LocalizableString, LocalizableStrings, HtmlConditionItem, UrlConditionItem, ChoicesRestful, ChoicesRestfull, FunctionFactory, registerFunction, ConditionRunner, ExpressionRunner, ExpressionExecutor, Operand, Const, BinaryOperand, Variable, FunctionOperand, ArrayOperand, UnaryOperand, ConditionsParser, ProcessValue, JsonError, JsonIncorrectTypeError, JsonMetadata, JsonMetadataClass, JsonMissingTypeError, JsonMissingTypeErrorBase, JsonObject, JsonObjectProperty, JsonRequiredPropertyError, JsonUnknownPropertyError, Serializer, property, propertyArray, MatrixDropdownCell, MatrixDropdownRowModelBase, QuestionMatrixDropdownModelBase, MatrixDropdownColumn, matrixDropdownColumnTypes, QuestionMatrixDropdownRenderedCell, QuestionMatrixDropdownRenderedRow, QuestionMatrixDropdownRenderedTable, MatrixDropdownRowModel, QuestionMatrixDropdownModel, MatrixDynamicRowModel, QuestionMatrixDynamicModel, MatrixRowModel, MatrixCells, QuestionMatrixModel, QuestionMatrixBaseModel, MultipleTextItemModel, MultipleTextCell, MultipleTextErrorCell, MutlipleTextErrorRow, MutlipleTextRow, QuestionMultipleTextModel, MultipleTextEditorModel, PanelModel, PanelModelBase, QuestionRowModel, FlowPanelModel, PageModel, DefaultTitleModel, Question, QuestionNonValue, QuestionEmptyModel, QuestionCheckboxBase, QuestionSelectBase, QuestionCheckboxModel, QuestionTagboxModel, QuestionRankingModel, QuestionCommentModel, QuestionDropdownModel, QuestionFactory, ElementFactory, QuestionFileModel, QuestionHtmlModel, QuestionRadiogroupModel, QuestionRatingModel, RenderedRatingItem, QuestionExpressionModel, QuestionTextBase, CharacterCounter, QuestionTextModel, QuestionBooleanModel, QuestionImagePickerModel, ImageItemValue, QuestionImageModel, QuestionSignaturePadModel, QuestionPanelDynamicModel, QuestionPanelDynamicItem, SurveyTimer, SurveyTimerModel, tryNavigateToPage, tryFocusPage, createTOCListModel, getTocRootCss, TOCModel, SurveyProgressModel, SurveyProgressButtonsModel, SurveyModel, SurveyTrigger, SurveyTriggerComplete, SurveyTriggerSetValue, SurveyTriggerVisible, SurveyTriggerCopyValue, SurveyTriggerRunExpression, SurveyTriggerSkip, Trigger, PopupSurveyModel, SurveyWindowModel, TextPreProcessor, Notifier, dxSurveyService, englishStrings, surveyLocalization, surveyStrings, QuestionCustomWidget, CustomWidgetCollection, QuestionCustomModel, QuestionCompositeModel, ComponentQuestionJSON, ComponentCollection, StylesManager, ListModel, MultiSelectListModel, PopupModel, createDialogOptions, PopupBaseViewModel, PopupDropdownViewModel, PopupModalViewModel, createPopupViewModel, createPopupModalViewModel, DropdownListModel, DropdownMultiSelectListModel, QuestionButtonGroupModel, ButtonGroupItemModel, ButtonGroupItemValue, IsMobile, IsTouch, _setIsTouch, confirmAction, confirmActionAsync, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, sanitizeEditableContent, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropCore, DragDropChoices, DragDropRankingSelectToRank, defaultStandardCss, modernCss, SvgIconRegistry, SvgRegistry, SvgBundleViewModel, RendererFactory, ResponsivityManager, VerticalResponsivityManager, unwrap, getOriginalEvent, getElement, createDropdownActionModel, createDropdownActionModelAdvanced, getActionDropdownButtonTarget, BaseAction, Action, ActionDropdownViewModel, AdaptiveActionContainer, defaultActionBarCss, ActionContainer, DragOrClickHelper */
9297
9363
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
9298
9364
 
9299
9365
  "use strict";
@@ -9463,6 +9529,14 @@ __webpack_require__.r(__webpack_exports__);
9463
9529
 
9464
9530
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MultipleTextItemModel", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__["MultipleTextItemModel"]; });
9465
9531
 
9532
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MultipleTextCell", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__["MultipleTextCell"]; });
9533
+
9534
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MultipleTextErrorCell", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__["MultipleTextErrorCell"]; });
9535
+
9536
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MutlipleTextErrorRow", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__["MutlipleTextErrorRow"]; });
9537
+
9538
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MutlipleTextRow", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__["MutlipleTextRow"]; });
9539
+
9466
9540
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "QuestionMultipleTextModel", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__["QuestionMultipleTextModel"]; });
9467
9541
 
9468
9542
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MultipleTextEditorModel", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__["MultipleTextEditorModel"]; });
@@ -9718,11 +9792,8 @@ __webpack_require__.r(__webpack_exports__);
9718
9792
 
9719
9793
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ActionContainer", function() { return _actions_container__WEBPACK_IMPORTED_MODULE_9__["ActionContainer"]; });
9720
9794
 
9721
- /* harmony import */ var _utils_tooltip__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../utils/tooltip */ "./src/utils/tooltip.ts");
9722
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "TooltipManager", function() { return _utils_tooltip__WEBPACK_IMPORTED_MODULE_10__["TooltipManager"]; });
9723
-
9724
- /* harmony import */ var _utils_dragOrClickHelper__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../utils/dragOrClickHelper */ "./src/utils/dragOrClickHelper.ts");
9725
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "DragOrClickHelper", function() { return _utils_dragOrClickHelper__WEBPACK_IMPORTED_MODULE_11__["DragOrClickHelper"]; });
9795
+ /* harmony import */ var _utils_dragOrClickHelper__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../utils/dragOrClickHelper */ "./src/utils/dragOrClickHelper.ts");
9796
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "DragOrClickHelper", function() { return _utils_dragOrClickHelper__WEBPACK_IMPORTED_MODULE_10__["DragOrClickHelper"]; });
9726
9797
 
9727
9798
  // model
9728
9799
 
@@ -9741,14 +9812,13 @@ __webpack_require__.r(__webpack_exports__);
9741
9812
 
9742
9813
 
9743
9814
 
9744
-
9745
9815
  /***/ }),
9746
9816
 
9747
9817
  /***/ "./src/entries/core.ts":
9748
9818
  /*!*****************************!*\
9749
9819
  !*** ./src/entries/core.ts ***!
9750
9820
  \*****************************/
9751
- /*! exports provided: Version, ReleaseDate, checkLibraryVersion, setLicenseKey, hasLicense, settings, Helpers, AnswerCountValidator, EmailValidator, NumericValidator, RegexValidator, SurveyValidator, TextValidator, ValidatorResult, ExpressionValidator, ValidatorRunner, ItemValue, Base, Event, EventBase, ArrayChanges, ComputedUpdater, SurveyError, SurveyElementCore, SurveyElement, DragTypeOverMeEnum, CalculatedValue, CustomError, AnswerRequiredError, OneAnswerRequiredError, RequreNumericError, ExceedSizeError, LocalizableString, LocalizableStrings, HtmlConditionItem, UrlConditionItem, ChoicesRestful, ChoicesRestfull, FunctionFactory, registerFunction, ConditionRunner, ExpressionRunner, ExpressionExecutor, Operand, Const, BinaryOperand, Variable, FunctionOperand, ArrayOperand, UnaryOperand, ConditionsParser, ProcessValue, JsonError, JsonIncorrectTypeError, JsonMetadata, JsonMetadataClass, JsonMissingTypeError, JsonMissingTypeErrorBase, JsonObject, JsonObjectProperty, JsonRequiredPropertyError, JsonUnknownPropertyError, Serializer, property, propertyArray, MatrixDropdownCell, MatrixDropdownRowModelBase, QuestionMatrixDropdownModelBase, MatrixDropdownColumn, matrixDropdownColumnTypes, QuestionMatrixDropdownRenderedCell, QuestionMatrixDropdownRenderedRow, QuestionMatrixDropdownRenderedTable, MatrixDropdownRowModel, QuestionMatrixDropdownModel, MatrixDynamicRowModel, QuestionMatrixDynamicModel, MatrixRowModel, MatrixCells, QuestionMatrixModel, QuestionMatrixBaseModel, MultipleTextItemModel, QuestionMultipleTextModel, MultipleTextEditorModel, PanelModel, PanelModelBase, QuestionRowModel, FlowPanelModel, PageModel, DefaultTitleModel, Question, QuestionNonValue, QuestionEmptyModel, QuestionCheckboxBase, QuestionSelectBase, QuestionCheckboxModel, QuestionTagboxModel, QuestionRankingModel, QuestionCommentModel, QuestionDropdownModel, QuestionFactory, ElementFactory, QuestionFileModel, QuestionHtmlModel, QuestionRadiogroupModel, QuestionRatingModel, RenderedRatingItem, QuestionExpressionModel, QuestionTextBase, CharacterCounter, QuestionTextModel, QuestionBooleanModel, QuestionImagePickerModel, ImageItemValue, QuestionImageModel, QuestionSignaturePadModel, QuestionPanelDynamicModel, QuestionPanelDynamicItem, SurveyTimer, SurveyTimerModel, tryNavigateToPage, tryFocusPage, createTOCListModel, getTocRootCss, TOCModel, SurveyProgressModel, SurveyProgressButtonsModel, SurveyModel, SurveyTrigger, SurveyTriggerComplete, SurveyTriggerSetValue, SurveyTriggerVisible, SurveyTriggerCopyValue, SurveyTriggerRunExpression, SurveyTriggerSkip, Trigger, PopupSurveyModel, SurveyWindowModel, TextPreProcessor, Notifier, dxSurveyService, englishStrings, surveyLocalization, surveyStrings, QuestionCustomWidget, CustomWidgetCollection, QuestionCustomModel, QuestionCompositeModel, ComponentQuestionJSON, ComponentCollection, StylesManager, ListModel, MultiSelectListModel, PopupModel, createDialogOptions, PopupBaseViewModel, PopupDropdownViewModel, PopupModalViewModel, createPopupViewModel, createPopupModalViewModel, DropdownListModel, DropdownMultiSelectListModel, QuestionButtonGroupModel, ButtonGroupItemModel, ButtonGroupItemValue, IsMobile, IsTouch, _setIsTouch, confirmAction, confirmActionAsync, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, sanitizeEditableContent, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropCore, DragDropChoices, DragDropRankingSelectToRank, defaultStandardCss, modernCss, SvgIconRegistry, SvgRegistry, SvgBundleViewModel, RendererFactory, ResponsivityManager, VerticalResponsivityManager, unwrap, getOriginalEvent, getElement, createDropdownActionModel, createDropdownActionModelAdvanced, getActionDropdownButtonTarget, BaseAction, Action, ActionDropdownViewModel, AdaptiveActionContainer, defaultActionBarCss, ActionContainer, TooltipManager, DragOrClickHelper, Model */
9821
+ /*! exports provided: Version, ReleaseDate, checkLibraryVersion, setLicenseKey, hasLicense, settings, Helpers, AnswerCountValidator, EmailValidator, NumericValidator, RegexValidator, SurveyValidator, TextValidator, ValidatorResult, ExpressionValidator, ValidatorRunner, ItemValue, Base, Event, EventBase, ArrayChanges, ComputedUpdater, SurveyError, SurveyElementCore, SurveyElement, DragTypeOverMeEnum, CalculatedValue, CustomError, AnswerRequiredError, OneAnswerRequiredError, RequreNumericError, ExceedSizeError, LocalizableString, LocalizableStrings, HtmlConditionItem, UrlConditionItem, ChoicesRestful, ChoicesRestfull, FunctionFactory, registerFunction, ConditionRunner, ExpressionRunner, ExpressionExecutor, Operand, Const, BinaryOperand, Variable, FunctionOperand, ArrayOperand, UnaryOperand, ConditionsParser, ProcessValue, JsonError, JsonIncorrectTypeError, JsonMetadata, JsonMetadataClass, JsonMissingTypeError, JsonMissingTypeErrorBase, JsonObject, JsonObjectProperty, JsonRequiredPropertyError, JsonUnknownPropertyError, Serializer, property, propertyArray, MatrixDropdownCell, MatrixDropdownRowModelBase, QuestionMatrixDropdownModelBase, MatrixDropdownColumn, matrixDropdownColumnTypes, QuestionMatrixDropdownRenderedCell, QuestionMatrixDropdownRenderedRow, QuestionMatrixDropdownRenderedTable, MatrixDropdownRowModel, QuestionMatrixDropdownModel, MatrixDynamicRowModel, QuestionMatrixDynamicModel, MatrixRowModel, MatrixCells, QuestionMatrixModel, QuestionMatrixBaseModel, MultipleTextItemModel, MultipleTextCell, MultipleTextErrorCell, MutlipleTextErrorRow, MutlipleTextRow, QuestionMultipleTextModel, MultipleTextEditorModel, PanelModel, PanelModelBase, QuestionRowModel, FlowPanelModel, PageModel, DefaultTitleModel, Question, QuestionNonValue, QuestionEmptyModel, QuestionCheckboxBase, QuestionSelectBase, QuestionCheckboxModel, QuestionTagboxModel, QuestionRankingModel, QuestionCommentModel, QuestionDropdownModel, QuestionFactory, ElementFactory, QuestionFileModel, QuestionHtmlModel, QuestionRadiogroupModel, QuestionRatingModel, RenderedRatingItem, QuestionExpressionModel, QuestionTextBase, CharacterCounter, QuestionTextModel, QuestionBooleanModel, QuestionImagePickerModel, ImageItemValue, QuestionImageModel, QuestionSignaturePadModel, QuestionPanelDynamicModel, QuestionPanelDynamicItem, SurveyTimer, SurveyTimerModel, tryNavigateToPage, tryFocusPage, createTOCListModel, getTocRootCss, TOCModel, SurveyProgressModel, SurveyProgressButtonsModel, SurveyModel, SurveyTrigger, SurveyTriggerComplete, SurveyTriggerSetValue, SurveyTriggerVisible, SurveyTriggerCopyValue, SurveyTriggerRunExpression, SurveyTriggerSkip, Trigger, PopupSurveyModel, SurveyWindowModel, TextPreProcessor, Notifier, dxSurveyService, englishStrings, surveyLocalization, surveyStrings, QuestionCustomWidget, CustomWidgetCollection, QuestionCustomModel, QuestionCompositeModel, ComponentQuestionJSON, ComponentCollection, StylesManager, ListModel, MultiSelectListModel, PopupModel, createDialogOptions, PopupBaseViewModel, PopupDropdownViewModel, PopupModalViewModel, createPopupViewModel, createPopupModalViewModel, DropdownListModel, DropdownMultiSelectListModel, QuestionButtonGroupModel, ButtonGroupItemModel, ButtonGroupItemValue, IsMobile, IsTouch, _setIsTouch, confirmAction, confirmActionAsync, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, sanitizeEditableContent, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropCore, DragDropChoices, DragDropRankingSelectToRank, defaultStandardCss, modernCss, SvgIconRegistry, SvgRegistry, SvgBundleViewModel, RendererFactory, ResponsivityManager, VerticalResponsivityManager, unwrap, getOriginalEvent, getElement, createDropdownActionModel, createDropdownActionModelAdvanced, getActionDropdownButtonTarget, BaseAction, Action, ActionDropdownViewModel, AdaptiveActionContainer, defaultActionBarCss, ActionContainer, DragOrClickHelper, Model */
9752
9822
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
9753
9823
 
9754
9824
  "use strict";
@@ -9918,6 +9988,14 @@ __webpack_require__.r(__webpack_exports__);
9918
9988
 
9919
9989
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MultipleTextItemModel", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__["MultipleTextItemModel"]; });
9920
9990
 
9991
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MultipleTextCell", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__["MultipleTextCell"]; });
9992
+
9993
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MultipleTextErrorCell", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__["MultipleTextErrorCell"]; });
9994
+
9995
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MutlipleTextErrorRow", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__["MutlipleTextErrorRow"]; });
9996
+
9997
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MutlipleTextRow", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__["MutlipleTextRow"]; });
9998
+
9921
9999
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "QuestionMultipleTextModel", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__["QuestionMultipleTextModel"]; });
9922
10000
 
9923
10001
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MultipleTextEditorModel", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__["MultipleTextEditorModel"]; });
@@ -10164,8 +10242,6 @@ __webpack_require__.r(__webpack_exports__);
10164
10242
 
10165
10243
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ActionContainer", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__["ActionContainer"]; });
10166
10244
 
10167
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "TooltipManager", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__["TooltipManager"]; });
10168
-
10169
10245
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "DragOrClickHelper", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__["DragOrClickHelper"]; });
10170
10246
 
10171
10247
  /* harmony import */ var _survey__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../survey */ "./src/survey.ts");
@@ -10563,7 +10639,7 @@ __webpack_require__.r(__webpack_exports__);
10563
10639
  /*!******************************!*\
10564
10640
  !*** ./src/entries/react.ts ***!
10565
10641
  \******************************/
10566
- /*! exports provided: Version, ReleaseDate, checkLibraryVersion, setLicenseKey, hasLicense, settings, Helpers, AnswerCountValidator, EmailValidator, NumericValidator, RegexValidator, SurveyValidator, TextValidator, ValidatorResult, ExpressionValidator, ValidatorRunner, ItemValue, Base, Event, EventBase, ArrayChanges, ComputedUpdater, SurveyError, SurveyElementCore, SurveyElement, DragTypeOverMeEnum, CalculatedValue, CustomError, AnswerRequiredError, OneAnswerRequiredError, RequreNumericError, ExceedSizeError, LocalizableString, LocalizableStrings, HtmlConditionItem, UrlConditionItem, ChoicesRestful, ChoicesRestfull, FunctionFactory, registerFunction, ConditionRunner, ExpressionRunner, ExpressionExecutor, Operand, Const, BinaryOperand, Variable, FunctionOperand, ArrayOperand, UnaryOperand, ConditionsParser, ProcessValue, JsonError, JsonIncorrectTypeError, JsonMetadata, JsonMetadataClass, JsonMissingTypeError, JsonMissingTypeErrorBase, JsonObject, JsonObjectProperty, JsonRequiredPropertyError, JsonUnknownPropertyError, Serializer, property, propertyArray, MatrixDropdownCell, MatrixDropdownRowModelBase, QuestionMatrixDropdownModelBase, MatrixDropdownColumn, matrixDropdownColumnTypes, QuestionMatrixDropdownRenderedCell, QuestionMatrixDropdownRenderedRow, QuestionMatrixDropdownRenderedTable, MatrixDropdownRowModel, QuestionMatrixDropdownModel, MatrixDynamicRowModel, QuestionMatrixDynamicModel, MatrixRowModel, MatrixCells, QuestionMatrixModel, QuestionMatrixBaseModel, MultipleTextItemModel, QuestionMultipleTextModel, MultipleTextEditorModel, PanelModel, PanelModelBase, QuestionRowModel, FlowPanelModel, PageModel, DefaultTitleModel, Question, QuestionNonValue, QuestionEmptyModel, QuestionCheckboxBase, QuestionSelectBase, QuestionCheckboxModel, QuestionTagboxModel, QuestionRankingModel, QuestionCommentModel, QuestionDropdownModel, QuestionFactory, ElementFactory, QuestionFileModel, QuestionHtmlModel, QuestionRadiogroupModel, QuestionRatingModel, RenderedRatingItem, QuestionExpressionModel, QuestionTextBase, CharacterCounter, QuestionTextModel, QuestionBooleanModel, QuestionImagePickerModel, ImageItemValue, QuestionImageModel, QuestionSignaturePadModel, QuestionPanelDynamicModel, QuestionPanelDynamicItem, SurveyTimer, SurveyTimerModel, tryNavigateToPage, tryFocusPage, createTOCListModel, getTocRootCss, TOCModel, SurveyProgressModel, SurveyProgressButtonsModel, SurveyModel, SurveyTrigger, SurveyTriggerComplete, SurveyTriggerSetValue, SurveyTriggerVisible, SurveyTriggerCopyValue, SurveyTriggerRunExpression, SurveyTriggerSkip, Trigger, PopupSurveyModel, SurveyWindowModel, TextPreProcessor, Notifier, dxSurveyService, englishStrings, surveyLocalization, surveyStrings, QuestionCustomWidget, CustomWidgetCollection, QuestionCustomModel, QuestionCompositeModel, ComponentQuestionJSON, ComponentCollection, StylesManager, ListModel, MultiSelectListModel, PopupModel, createDialogOptions, PopupBaseViewModel, PopupDropdownViewModel, PopupModalViewModel, createPopupViewModel, createPopupModalViewModel, DropdownListModel, DropdownMultiSelectListModel, QuestionButtonGroupModel, ButtonGroupItemModel, ButtonGroupItemValue, IsMobile, IsTouch, _setIsTouch, confirmAction, confirmActionAsync, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, sanitizeEditableContent, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropCore, DragDropChoices, DragDropRankingSelectToRank, defaultStandardCss, modernCss, SvgIconRegistry, SvgRegistry, SvgBundleViewModel, RendererFactory, ResponsivityManager, VerticalResponsivityManager, unwrap, getOriginalEvent, getElement, createDropdownActionModel, createDropdownActionModelAdvanced, getActionDropdownButtonTarget, BaseAction, Action, ActionDropdownViewModel, AdaptiveActionContainer, defaultActionBarCss, ActionContainer, TooltipManager, DragOrClickHelper, Model, bootstrapThemeName, bootstrapThemeColors, bootstrapThemeCssRules, bootstrapMaterialThemeName, bootstrapMaterialThemeColors, bootstrapMaterialThemeCssRules, defaultBootstrapCss, defaultBootstrapMaterialCss, Survey, attachKey2click, ReactSurveyElementsWrapper, SurveyNavigationBase, SurveyTimerPanel, SurveyPage, SurveyRow, SurveyPanel, SurveyFlowPanel, SurveyQuestion, SurveyElementErrors, SurveyQuestionAndErrorsCell, ReactSurveyElement, SurveyElementBase, SurveyQuestionElementBase, SurveyQuestionCommentItem, SurveyQuestionComment, SurveyQuestionCheckbox, SurveyQuestionCheckboxItem, SurveyQuestionRanking, SurveyQuestionRankingItem, RatingItem, RatingItemStar, RatingItemSmiley, TagboxFilterString, SurveyQuestionOptionItem, SurveyQuestionDropdownBase, SurveyQuestionDropdown, SurveyQuestionTagboxItem, SurveyQuestionTagbox, SurveyQuestionDropdownSelect, SurveyQuestionMatrix, SurveyQuestionMatrixRow, SurveyQuestionHtml, SurveyQuestionFile, 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, SurveyLocStringViewer, SurveyLocStringEditor */
10642
+ /*! exports provided: Version, ReleaseDate, checkLibraryVersion, setLicenseKey, hasLicense, settings, Helpers, AnswerCountValidator, EmailValidator, NumericValidator, RegexValidator, SurveyValidator, TextValidator, ValidatorResult, ExpressionValidator, ValidatorRunner, ItemValue, Base, Event, EventBase, ArrayChanges, ComputedUpdater, SurveyError, SurveyElementCore, SurveyElement, DragTypeOverMeEnum, CalculatedValue, CustomError, AnswerRequiredError, OneAnswerRequiredError, RequreNumericError, ExceedSizeError, LocalizableString, LocalizableStrings, HtmlConditionItem, UrlConditionItem, ChoicesRestful, ChoicesRestfull, FunctionFactory, registerFunction, ConditionRunner, ExpressionRunner, ExpressionExecutor, Operand, Const, BinaryOperand, Variable, FunctionOperand, ArrayOperand, UnaryOperand, ConditionsParser, ProcessValue, JsonError, JsonIncorrectTypeError, JsonMetadata, JsonMetadataClass, JsonMissingTypeError, JsonMissingTypeErrorBase, JsonObject, JsonObjectProperty, JsonRequiredPropertyError, JsonUnknownPropertyError, Serializer, property, propertyArray, MatrixDropdownCell, MatrixDropdownRowModelBase, QuestionMatrixDropdownModelBase, MatrixDropdownColumn, matrixDropdownColumnTypes, QuestionMatrixDropdownRenderedCell, QuestionMatrixDropdownRenderedRow, QuestionMatrixDropdownRenderedTable, MatrixDropdownRowModel, QuestionMatrixDropdownModel, MatrixDynamicRowModel, QuestionMatrixDynamicModel, MatrixRowModel, MatrixCells, QuestionMatrixModel, QuestionMatrixBaseModel, MultipleTextItemModel, MultipleTextCell, MultipleTextErrorCell, MutlipleTextErrorRow, MutlipleTextRow, QuestionMultipleTextModel, MultipleTextEditorModel, PanelModel, PanelModelBase, QuestionRowModel, FlowPanelModel, PageModel, DefaultTitleModel, Question, QuestionNonValue, QuestionEmptyModel, QuestionCheckboxBase, QuestionSelectBase, QuestionCheckboxModel, QuestionTagboxModel, QuestionRankingModel, QuestionCommentModel, QuestionDropdownModel, QuestionFactory, ElementFactory, QuestionFileModel, QuestionHtmlModel, QuestionRadiogroupModel, QuestionRatingModel, RenderedRatingItem, QuestionExpressionModel, QuestionTextBase, CharacterCounter, QuestionTextModel, QuestionBooleanModel, QuestionImagePickerModel, ImageItemValue, QuestionImageModel, QuestionSignaturePadModel, QuestionPanelDynamicModel, QuestionPanelDynamicItem, SurveyTimer, SurveyTimerModel, tryNavigateToPage, tryFocusPage, createTOCListModel, getTocRootCss, TOCModel, SurveyProgressModel, SurveyProgressButtonsModel, SurveyModel, SurveyTrigger, SurveyTriggerComplete, SurveyTriggerSetValue, SurveyTriggerVisible, SurveyTriggerCopyValue, SurveyTriggerRunExpression, SurveyTriggerSkip, Trigger, PopupSurveyModel, SurveyWindowModel, TextPreProcessor, Notifier, dxSurveyService, englishStrings, surveyLocalization, surveyStrings, QuestionCustomWidget, CustomWidgetCollection, QuestionCustomModel, QuestionCompositeModel, ComponentQuestionJSON, ComponentCollection, StylesManager, ListModel, MultiSelectListModel, PopupModel, createDialogOptions, PopupBaseViewModel, PopupDropdownViewModel, PopupModalViewModel, createPopupViewModel, createPopupModalViewModel, DropdownListModel, DropdownMultiSelectListModel, QuestionButtonGroupModel, ButtonGroupItemModel, ButtonGroupItemValue, IsMobile, IsTouch, _setIsTouch, confirmAction, confirmActionAsync, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, sanitizeEditableContent, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropCore, DragDropChoices, DragDropRankingSelectToRank, defaultStandardCss, modernCss, SvgIconRegistry, SvgRegistry, SvgBundleViewModel, RendererFactory, ResponsivityManager, VerticalResponsivityManager, unwrap, getOriginalEvent, getElement, createDropdownActionModel, createDropdownActionModelAdvanced, getActionDropdownButtonTarget, BaseAction, Action, ActionDropdownViewModel, AdaptiveActionContainer, defaultActionBarCss, ActionContainer, DragOrClickHelper, Model, bootstrapThemeName, bootstrapThemeColors, bootstrapThemeCssRules, bootstrapMaterialThemeName, bootstrapMaterialThemeColors, bootstrapMaterialThemeCssRules, defaultBootstrapCss, defaultBootstrapMaterialCss, Survey, attachKey2click, ReactSurveyElementsWrapper, SurveyNavigationBase, SurveyTimerPanel, SurveyPage, SurveyRow, SurveyPanel, SurveyFlowPanel, SurveyQuestion, SurveyElementErrors, SurveyQuestionAndErrorsCell, ReactSurveyElement, SurveyElementBase, SurveyQuestionElementBase, SurveyQuestionCommentItem, SurveyQuestionComment, SurveyQuestionCheckbox, SurveyQuestionCheckboxItem, SurveyQuestionRanking, SurveyQuestionRankingItem, RatingItem, RatingItemStar, RatingItemSmiley, TagboxFilterString, SurveyQuestionOptionItem, SurveyQuestionDropdownBase, SurveyQuestionDropdown, SurveyQuestionTagboxItem, SurveyQuestionTagbox, SurveyQuestionDropdownSelect, SurveyQuestionMatrix, SurveyQuestionMatrixRow, SurveyQuestionHtml, SurveyQuestionFile, 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, SurveyLocStringViewer, SurveyLocStringEditor */
10567
10643
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
10568
10644
 
10569
10645
  "use strict";
@@ -10733,6 +10809,14 @@ __webpack_require__.r(__webpack_exports__);
10733
10809
 
10734
10810
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MultipleTextItemModel", function() { return _core__WEBPACK_IMPORTED_MODULE_0__["MultipleTextItemModel"]; });
10735
10811
 
10812
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MultipleTextCell", function() { return _core__WEBPACK_IMPORTED_MODULE_0__["MultipleTextCell"]; });
10813
+
10814
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MultipleTextErrorCell", function() { return _core__WEBPACK_IMPORTED_MODULE_0__["MultipleTextErrorCell"]; });
10815
+
10816
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MutlipleTextErrorRow", function() { return _core__WEBPACK_IMPORTED_MODULE_0__["MutlipleTextErrorRow"]; });
10817
+
10818
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MutlipleTextRow", function() { return _core__WEBPACK_IMPORTED_MODULE_0__["MutlipleTextRow"]; });
10819
+
10736
10820
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "QuestionMultipleTextModel", function() { return _core__WEBPACK_IMPORTED_MODULE_0__["QuestionMultipleTextModel"]; });
10737
10821
 
10738
10822
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MultipleTextEditorModel", function() { return _core__WEBPACK_IMPORTED_MODULE_0__["MultipleTextEditorModel"]; });
@@ -10979,8 +11063,6 @@ __webpack_require__.r(__webpack_exports__);
10979
11063
 
10980
11064
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ActionContainer", function() { return _core__WEBPACK_IMPORTED_MODULE_0__["ActionContainer"]; });
10981
11065
 
10982
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "TooltipManager", function() { return _core__WEBPACK_IMPORTED_MODULE_0__["TooltipManager"]; });
10983
-
10984
11066
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "DragOrClickHelper", function() { return _core__WEBPACK_IMPORTED_MODULE_0__["DragOrClickHelper"]; });
10985
11067
 
10986
11068
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Model", function() { return _core__WEBPACK_IMPORTED_MODULE_0__["Model"]; });
@@ -17666,6 +17748,8 @@ function getLocStringValue(target, options, key) {
17666
17748
  return "";
17667
17749
  }
17668
17750
  function property(options) {
17751
+ if (options === void 0) { options = {}; }
17752
+ // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
17669
17753
  return function (target, key) {
17670
17754
  var processComputedUpdater = function (obj, val) {
17671
17755
  if (!!val && typeof val === "object" && val.type === _base__WEBPACK_IMPORTED_MODULE_1__["ComputedUpdater"].ComputedUpdaterType) {
@@ -17673,6 +17757,10 @@ function property(options) {
17673
17757
  var result = val.updater();
17674
17758
  var dependencies = _base__WEBPACK_IMPORTED_MODULE_1__["Base"].finishCollectDependencies();
17675
17759
  val.setDependencies(dependencies);
17760
+ if (obj.dependencies[key]) {
17761
+ obj.dependencies[key].dispose();
17762
+ }
17763
+ obj.dependencies[key] = val;
17676
17764
  return result;
17677
17765
  }
17678
17766
  return val;
@@ -17874,9 +17962,10 @@ var JsonObjectProperty = /** @class */ (function () {
17874
17962
  if (!_helpers__WEBPACK_IMPORTED_MODULE_2__["Helpers"].isValueEmpty(this.defaultValue)) {
17875
17963
  return _helpers__WEBPACK_IMPORTED_MODULE_2__["Helpers"].isTwoValueEquals(value, this.defaultValue, false, true, false);
17876
17964
  }
17965
+ if (this.isLocalizable)
17966
+ return value === null || value === undefined;
17877
17967
  return ((value === false && (this.type == "boolean" || this.type == "switch")) ||
17878
- value === "" ||
17879
- _helpers__WEBPACK_IMPORTED_MODULE_2__["Helpers"].isValueEmpty(value));
17968
+ value === "" || _helpers__WEBPACK_IMPORTED_MODULE_2__["Helpers"].isValueEmpty(value));
17880
17969
  };
17881
17970
  JsonObjectProperty.prototype.getValue = function (obj) {
17882
17971
  if (this.onGetValue)
@@ -19258,7 +19347,7 @@ var JsonObject = /** @class */ (function () {
19258
19347
  }
19259
19348
  };
19260
19349
  JsonObject.prototype.valueToObj = function (value, obj, property) {
19261
- if (value == null)
19350
+ if (value === null || value === undefined)
19262
19351
  return;
19263
19352
  this.removePos(property, value);
19264
19353
  if (property != null && property.hasToUseSetValue) {
@@ -19783,6 +19872,7 @@ var ListModel = /** @class */ (function (_super) {
19783
19872
  if (!!this.loadingIndicatorValue) {
19784
19873
  this.loadingIndicatorValue.dispose();
19785
19874
  }
19875
+ this.listContainerHtmlElement = undefined;
19786
19876
  };
19787
19877
  ListModel.INDENT = 16;
19788
19878
  ListModel.MINELEMENTCOUNT = 10;
@@ -19879,6 +19969,19 @@ var LocalizableString = /** @class */ (function () {
19879
19969
  enumerable: false,
19880
19970
  configurable: true
19881
19971
  });
19972
+ Object.defineProperty(LocalizableString.prototype, "localizationName", {
19973
+ get: function () {
19974
+ return this._localizationName;
19975
+ },
19976
+ set: function (val) {
19977
+ if (this._localizationName != val) {
19978
+ this._localizationName = val;
19979
+ this.strChanged();
19980
+ }
19981
+ },
19982
+ enumerable: false,
19983
+ configurable: true
19984
+ });
19882
19985
  LocalizableString.prototype.getIsMultiple = function () { return false; };
19883
19986
  Object.defineProperty(LocalizableString.prototype, "locale", {
19884
19987
  get: function () {
@@ -19947,19 +20050,19 @@ var LocalizableString = /** @class */ (function () {
19947
20050
  if (!loc)
19948
20051
  loc = this.defaultLoc;
19949
20052
  var res = this.getValue(loc);
19950
- if (!res && loc === this.defaultLoc) {
20053
+ if (this.isValueEmpty(res) && loc === this.defaultLoc) {
19951
20054
  res = this.getValue(_surveyStrings__WEBPACK_IMPORTED_MODULE_1__["surveyLocalization"].defaultLocale);
19952
20055
  }
19953
- if (!res) {
20056
+ if (this.isValueEmpty(res)) {
19954
20057
  var dialect = this.getRootDialect(loc);
19955
20058
  if (!!dialect) {
19956
20059
  res = this.getValue(dialect);
19957
20060
  }
19958
20061
  }
19959
- if (!res && loc !== this.defaultLoc) {
20062
+ if (this.isValueEmpty(res) && loc !== this.defaultLoc) {
19960
20063
  res = this.getValue(this.defaultLoc);
19961
20064
  }
19962
- if (!res && !!this.getLocalizationName()) {
20065
+ if (this.isValueEmpty(res) && !!this.getLocalizationName()) {
19963
20066
  res = this.getLocalizationStr();
19964
20067
  if (!!this.onGetLocalizationTextCallback) {
19965
20068
  res = this.onGetLocalizationTextCallback(res);
@@ -20023,35 +20126,44 @@ var LocalizableString = /** @class */ (function () {
20023
20126
  configurable: true
20024
20127
  });
20025
20128
  LocalizableString.prototype.getLocaleText = function (loc) {
20129
+ var res = this.getLocaleTextCore(loc);
20130
+ return res ? res : "";
20131
+ };
20132
+ LocalizableString.prototype.getLocaleTextCore = function (loc) {
20026
20133
  if (!loc)
20027
20134
  loc = this.defaultLoc;
20028
- var res = this.getValue(loc);
20029
- return res ? res : "";
20135
+ return this.getValue(loc);
20030
20136
  };
20031
- LocalizableString.prototype.getLocaleTextWithDefault = function (loc) {
20032
- var res = this.getLocaleText(loc);
20137
+ LocalizableString.prototype.isLocaleTextEqualsWithDefault = function (loc, val) {
20138
+ var res = this.getLocaleTextCore(loc);
20033
20139
  if (!res && this.onGetDefaultTextCallback) {
20034
- return this.onGetDefaultTextCallback();
20140
+ res = this.onGetDefaultTextCallback();
20035
20141
  }
20036
- return res;
20142
+ if (res === val)
20143
+ return true;
20144
+ return this.isValueEmpty(res) && this.isValueEmpty(val);
20145
+ };
20146
+ LocalizableString.prototype.clear = function () {
20147
+ this.setJson(undefined);
20148
+ };
20149
+ LocalizableString.prototype.clearLocale = function (loc) {
20150
+ this.setLocaleText(loc, undefined);
20037
20151
  };
20038
20152
  LocalizableString.prototype.setLocaleText = function (loc, value) {
20039
20153
  loc = this.getValueLoc(loc);
20040
- if (!this.storeDefaultText && value == this.getLocaleTextWithDefault(loc)) {
20041
- if (!!value || !!loc && loc !== this.defaultLoc)
20154
+ if (!this.storeDefaultText && this.isLocaleTextEqualsWithDefault(loc, value)) {
20155
+ if (!this.isValueEmpty(value) || !!loc && loc !== this.defaultLoc)
20042
20156
  return;
20043
20157
  var dl = _surveyStrings__WEBPACK_IMPORTED_MODULE_1__["surveyLocalization"].defaultLocale;
20044
20158
  var oldValue_1 = this.getValue(dl);
20045
- if (!!dl && !!oldValue_1) {
20159
+ if (!!dl && !this.isValueEmpty(oldValue_1)) {
20046
20160
  this.setValue(dl, value);
20047
20161
  this.fireStrChanged(dl, oldValue_1);
20048
20162
  }
20049
20163
  return;
20050
20164
  }
20051
20165
  if (!_settings__WEBPACK_IMPORTED_MODULE_2__["settings"].localization.storeDuplicatedTranslations &&
20052
- value &&
20053
- loc &&
20054
- loc != this.defaultLoc &&
20166
+ !this.isValueEmpty(value) && loc && loc != this.defaultLoc &&
20055
20167
  !this.getValue(loc) &&
20056
20168
  value == this.getLocaleText(this.defaultLoc))
20057
20169
  return;
@@ -20060,9 +20172,8 @@ var LocalizableString = /** @class */ (function () {
20060
20172
  loc = this.defaultLoc;
20061
20173
  var oldValue = this.onStrChanged && loc === curLoc ? this.pureText : undefined;
20062
20174
  delete this.htmlValues[loc];
20063
- if (!value) {
20064
- if (this.getValue(loc))
20065
- this.deleteValue(loc);
20175
+ if (this.isValueEmpty(value)) {
20176
+ this.deleteValue(loc);
20066
20177
  }
20067
20178
  else {
20068
20179
  if (typeof value === "string") {
@@ -20079,6 +20190,13 @@ var LocalizableString = /** @class */ (function () {
20079
20190
  }
20080
20191
  this.fireStrChanged(loc, oldValue);
20081
20192
  };
20193
+ LocalizableString.prototype.isValueEmpty = function (val) {
20194
+ if (val === undefined || val === null)
20195
+ return true;
20196
+ if (this.localizationName)
20197
+ return false;
20198
+ return val === "";
20199
+ };
20082
20200
  Object.defineProperty(LocalizableString.prototype, "curLocale", {
20083
20201
  get: function () {
20084
20202
  return !!this.locale ? this.locale : this.defaultLoc;
@@ -20142,7 +20260,7 @@ var LocalizableString = /** @class */ (function () {
20142
20260
  }
20143
20261
  this.values = {};
20144
20262
  this.htmlValues = {};
20145
- if (!value)
20263
+ if (value === null || value === undefined)
20146
20264
  return;
20147
20265
  if (typeof value === "string") {
20148
20266
  this.setLocaleText(null, value);
@@ -23552,8 +23670,8 @@ __webpack_require__.r(__webpack_exports__);
23552
23670
  /* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! survey-core */ "./src/entries/core.ts");
23553
23671
 
23554
23672
  var latvianSurveyStrings = {
23555
- pagePrevText: "Atpakaļ",
23556
- pageNextText: "Tālāk",
23673
+ pagePrevText: "Iepriekšēja lapa",
23674
+ pageNextText: "Nākamā lapa",
23557
23675
  completeText: "Iesniegt",
23558
23676
  previewText: "Priekšskatījums",
23559
23677
  editText: "Rediģēt",
@@ -31389,11 +31507,7 @@ var PopupDropdownViewModel = /** @class */ (function (_super) {
31389
31507
  _this.touchMoveEventCallback = function (event) {
31390
31508
  _this.preventScrollOuside(event, _this.clientY - event.changedTouches[0].clientY);
31391
31509
  };
31392
- _this.model.onRecalculatePosition.add(function (_, options) {
31393
- if (!_this.isOverlay) {
31394
- _this.updatePosition(options.isResetHeight);
31395
- }
31396
- });
31510
+ _this.model.onRecalculatePosition.add(_this.recalculatePositionHandler);
31397
31511
  return _this;
31398
31512
  }
31399
31513
  PopupDropdownViewModel.prototype.calculateIsTablet = function (windowWidth, windowHeight) {
@@ -31488,6 +31602,10 @@ var PopupDropdownViewModel = /** @class */ (function (_super) {
31488
31602
  this.targetElement = targetElement || componentRoot.parentElement;
31489
31603
  }
31490
31604
  };
31605
+ PopupDropdownViewModel.prototype.resetComponentElement = function () {
31606
+ _super.prototype.resetComponentElement.call(this);
31607
+ this.targetElement = undefined;
31608
+ };
31491
31609
  PopupDropdownViewModel.prototype.updateOnShowing = function () {
31492
31610
  var root = _settings__WEBPACK_IMPORTED_MODULE_4__["settings"].environment.root;
31493
31611
  this.prevActiveElement = root.activeElement;
@@ -31551,6 +31669,30 @@ var PopupDropdownViewModel = /** @class */ (function (_super) {
31551
31669
  this.minWidth = undefined;
31552
31670
  }
31553
31671
  };
31672
+ PopupDropdownViewModel.prototype.onModelChanging = function (newModel) {
31673
+ var _this = this;
31674
+ if (!!this.model) {
31675
+ this.model.onRecalculatePosition.remove(this.recalculatePositionHandler);
31676
+ }
31677
+ if (!this.recalculatePositionHandler) {
31678
+ this.recalculatePositionHandler = function (_, options) {
31679
+ if (!_this.isOverlay) {
31680
+ _this.updatePosition(options.isResetHeight);
31681
+ }
31682
+ };
31683
+ }
31684
+ _super.prototype.onModelChanging.call(this, newModel);
31685
+ newModel.onRecalculatePosition.add(this.recalculatePositionHandler);
31686
+ };
31687
+ PopupDropdownViewModel.prototype.dispose = function () {
31688
+ _super.prototype.dispose.call(this);
31689
+ this.updateOnHiding();
31690
+ if (!!this.model) {
31691
+ this.model.onRecalculatePosition.remove(this.recalculatePositionHandler);
31692
+ this.recalculatePositionHandler = undefined;
31693
+ }
31694
+ this.resetComponentElement();
31695
+ };
31554
31696
  PopupDropdownViewModel.tabletSizeBreakpoint = 600;
31555
31697
  __decorate([
31556
31698
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__["property"])()
@@ -31738,16 +31880,6 @@ var PopupSurveyModel = /** @class */ (function (_super) {
31738
31880
  _this.width = _this.survey.width;
31739
31881
  _this.updateCss();
31740
31882
  _this.onCreating();
31741
- _this.survey.onPopupVisibleChanged.add(function (_, opt) {
31742
- if (opt.visible) {
31743
- _this.onScrollCallback = function () {
31744
- opt.popup.toggleVisibility();
31745
- };
31746
- }
31747
- else {
31748
- _this.onScrollCallback = undefined;
31749
- }
31750
- });
31751
31883
  return _this;
31752
31884
  }
31753
31885
  PopupSurveyModel.prototype.onCreating = function () { };
@@ -31981,9 +32113,7 @@ var PopupSurveyModel = /** @class */ (function (_super) {
31981
32113
  }
31982
32114
  };
31983
32115
  PopupSurveyModel.prototype.onScroll = function () {
31984
- if (this.onScrollCallback) {
31985
- this.onScrollCallback();
31986
- }
32116
+ this.survey.onScroll();
31987
32117
  };
31988
32118
  __decorate([
31989
32119
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__["property"])()
@@ -32103,6 +32233,7 @@ var PopupBaseViewModel = /** @class */ (function (_super) {
32103
32233
  __extends(PopupBaseViewModel, _super);
32104
32234
  function PopupBaseViewModel(model) {
32105
32235
  var _this = _super.call(this) || this;
32236
+ _this.subscriptionId = PopupBaseViewModel.SubscriptionId++;
32106
32237
  _this.popupSelector = ".sv-popup";
32107
32238
  _this.fixedPopupContainer = ".sv-popup";
32108
32239
  _this.containerSelector = ".sv-popup__container";
@@ -32165,11 +32296,14 @@ var PopupBaseViewModel = /** @class */ (function (_super) {
32165
32296
  this.width = nullableValue;
32166
32297
  this.minWidth = nullableValue;
32167
32298
  };
32299
+ PopupBaseViewModel.prototype.onModelChanging = function (newModel) {
32300
+ };
32168
32301
  PopupBaseViewModel.prototype.setupModel = function (model) {
32169
32302
  var _this = this;
32170
32303
  if (!!this.model) {
32171
- this.model.unregisterPropertyChangedHandlers(["isVisible"], "PopupBaseViewModel");
32304
+ this.model.unregisterPropertyChangedHandlers(["isVisible"], "PopupBaseViewModel" + this.subscriptionId);
32172
32305
  }
32306
+ this.onModelChanging(model);
32173
32307
  this._model = model;
32174
32308
  var onIsVisibleChangedHandler = function () {
32175
32309
  if (!model.isVisible) {
@@ -32177,7 +32311,7 @@ var PopupBaseViewModel = /** @class */ (function (_super) {
32177
32311
  }
32178
32312
  _this.isVisible = model.isVisible;
32179
32313
  };
32180
- model.registerPropertyChangedHandlers(["isVisible"], onIsVisibleChangedHandler, "PopupBaseViewModel");
32314
+ model.registerPropertyChangedHandlers(["isVisible"], onIsVisibleChangedHandler, "PopupBaseViewModel" + this.subscriptionId);
32181
32315
  onIsVisibleChangedHandler();
32182
32316
  };
32183
32317
  Object.defineProperty(PopupBaseViewModel.prototype, "model", {
@@ -32357,6 +32491,9 @@ var PopupBaseViewModel = /** @class */ (function (_super) {
32357
32491
  };
32358
32492
  PopupBaseViewModel.prototype.dispose = function () {
32359
32493
  _super.prototype.dispose.call(this);
32494
+ if (this.model) {
32495
+ this.model.unregisterPropertyChangedHandlers(["isVisible"], "PopupBaseViewModel" + this.subscriptionId);
32496
+ }
32360
32497
  if (!!this.createdContainer) {
32361
32498
  this.createdContainer.remove();
32362
32499
  this.createdContainer = undefined;
@@ -32364,6 +32501,7 @@ var PopupBaseViewModel = /** @class */ (function (_super) {
32364
32501
  if (!!this.footerToolbarValue) {
32365
32502
  this.footerToolbarValue.dispose();
32366
32503
  }
32504
+ this.resetComponentElement();
32367
32505
  };
32368
32506
  PopupBaseViewModel.prototype.initializePopupContainer = function () {
32369
32507
  if (!this.container) {
@@ -32379,6 +32517,7 @@ var PopupBaseViewModel = /** @class */ (function (_super) {
32379
32517
  };
32380
32518
  PopupBaseViewModel.prototype.resetComponentElement = function () {
32381
32519
  this.containerElement = undefined;
32520
+ this.prevActiveElement = undefined;
32382
32521
  };
32383
32522
  PopupBaseViewModel.prototype.preventScrollOuside = function (event, deltaY) {
32384
32523
  var currentElement = event.target;
@@ -32393,6 +32532,7 @@ var PopupBaseViewModel = /** @class */ (function (_super) {
32393
32532
  }
32394
32533
  event.preventDefault();
32395
32534
  };
32535
+ PopupBaseViewModel.SubscriptionId = 0;
32396
32536
  __decorate([
32397
32537
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])({ defaultValue: "0px" })
32398
32538
  ], PopupBaseViewModel.prototype, "top", void 0);
@@ -32459,7 +32599,7 @@ var __decorate = (undefined && undefined.__decorate) || function (decorators, ta
32459
32599
 
32460
32600
  var PopupModel = /** @class */ (function (_super) {
32461
32601
  __extends(PopupModel, _super);
32462
- function PopupModel(contentComponentName, contentComponentData, verticalPosition, horizontalPosition, showPointer, isModal, onCancel, onApply, onHide, onShow, cssClass, title) {
32602
+ function PopupModel(contentComponentName, contentComponentData, verticalPosition, horizontalPosition, showPointer, isModal, onCancel, onApply, onHide, onShow, cssClass, title, onDispose) {
32463
32603
  if (verticalPosition === void 0) { verticalPosition = "bottom"; }
32464
32604
  if (horizontalPosition === void 0) { horizontalPosition = "left"; }
32465
32605
  if (showPointer === void 0) { showPointer = true; }
@@ -32470,7 +32610,9 @@ var PopupModel = /** @class */ (function (_super) {
32470
32610
  if (onShow === void 0) { onShow = function () { }; }
32471
32611
  if (cssClass === void 0) { cssClass = ""; }
32472
32612
  if (title === void 0) { title = ""; }
32613
+ if (onDispose === void 0) { onDispose = function () { }; }
32473
32614
  var _this = _super.call(this) || this;
32615
+ _this.onDispose = onDispose;
32474
32616
  _this.focusFirstInputSelector = "";
32475
32617
  _this.onVisibilityChanged = _this.addEvent();
32476
32618
  _this.onFooterActionsCreated = _this.addEvent();
@@ -32525,6 +32667,10 @@ var PopupModel = /** @class */ (function (_super) {
32525
32667
  this.onFooterActionsCreated.fire(this, options);
32526
32668
  return options.actions;
32527
32669
  };
32670
+ PopupModel.prototype.dispose = function () {
32671
+ _super.prototype.dispose.call(this);
32672
+ this.onDispose();
32673
+ };
32528
32674
  __decorate([
32529
32675
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])()
32530
32676
  ], PopupModel.prototype, "contentComponentName", void 0);
@@ -32932,11 +33078,14 @@ var Question = /** @class */ (function (_super) {
32932
33078
  configurable: true
32933
33079
  });
32934
33080
  Question.prototype.onVisibleChanged = function () {
32935
- this.setPropertyValue("isVisible", this.isVisible);
33081
+ this.updateIsVisibleProp();
32936
33082
  if (!this.isVisible && this.errors && this.errors.length > 0) {
32937
33083
  this.errors = [];
32938
33084
  }
32939
33085
  };
33086
+ Question.prototype.updateIsVisibleProp = function () {
33087
+ this.setPropertyValue("isVisible", this.isVisible);
33088
+ };
32940
33089
  Object.defineProperty(Question.prototype, "useDisplayValuesInDynamicTexts", {
32941
33090
  /**
32942
33091
  * Specifies whether to use display names for question values in placeholders.
@@ -33112,6 +33261,9 @@ var Question = /** @class */ (function (_super) {
33112
33261
  this.runConditions();
33113
33262
  }
33114
33263
  this.calcRenderedCommentPlaceholder();
33264
+ if (!this.visible) {
33265
+ this.updateIsVisibleProp();
33266
+ }
33115
33267
  };
33116
33268
  Object.defineProperty(Question.prototype, "parent", {
33117
33269
  /**
@@ -33696,11 +33848,8 @@ var Question = /** @class */ (function (_super) {
33696
33848
  .append(cssClasses.descriptionUnderInput, this.hasDescriptionUnderInput)
33697
33849
  .toString();
33698
33850
  };
33699
- Question.prototype.getIsErrorsModeTooltip = function () {
33700
- return _super.prototype.getIsErrorsModeTooltip.call(this) && !this.customWidget;
33701
- };
33702
33851
  Question.prototype.showErrorOnCore = function (location) {
33703
- return !this.isErrorsModeTooltip && !this.showErrorsAboveQuestion && !this.showErrorsBelowQuestion && this.getErrorLocation() === location;
33852
+ return !this.showErrorsAboveQuestion && !this.showErrorsBelowQuestion && this.getErrorLocation() === location;
33704
33853
  };
33705
33854
  Object.defineProperty(Question.prototype, "showErrorOnTop", {
33706
33855
  get: function () {
@@ -33716,17 +33865,9 @@ var Question = /** @class */ (function (_super) {
33716
33865
  enumerable: false,
33717
33866
  configurable: true
33718
33867
  });
33719
- Question.prototype.getIsTooltipErrorSupportedByParent = function () {
33720
- if (this.parentQuestion) {
33721
- return this.parentQuestion.getIsTooltipErrorInsideSupported();
33722
- }
33723
- else {
33724
- return _super.prototype.getIsTooltipErrorSupportedByParent.call(this);
33725
- }
33726
- };
33727
33868
  Object.defineProperty(Question.prototype, "showErrorsOutsideQuestion", {
33728
33869
  get: function () {
33729
- return this.isDefaultV2Theme && !(this.hasParent && this.getIsTooltipErrorSupportedByParent());
33870
+ return this.isDefaultV2Theme;
33730
33871
  },
33731
33872
  enumerable: false,
33732
33873
  configurable: true
@@ -33762,7 +33903,6 @@ var Question = /** @class */ (function (_super) {
33762
33903
  .append(cssClasses.error.outsideQuestion, this.showErrorsBelowQuestion || this.showErrorsAboveQuestion)
33763
33904
  .append(cssClasses.error.belowQuestion, this.showErrorsBelowQuestion)
33764
33905
  .append(cssClasses.error.aboveQuestion, this.showErrorsAboveQuestion)
33765
- .append(cssClasses.error.tooltip, this.isErrorsModeTooltip)
33766
33906
  .append(cssClasses.error.locationTop, this.showErrorOnTop)
33767
33907
  .append(cssClasses.error.locationBottom, this.showErrorOnBottom)
33768
33908
  .toString();
@@ -34280,6 +34420,12 @@ var Question = /** @class */ (function (_super) {
34280
34420
  enumerable: false,
34281
34421
  configurable: true
34282
34422
  });
34423
+ Object.defineProperty(Question.prototype, "hasFilteredValue", {
34424
+ get: function () { return false; },
34425
+ enumerable: false,
34426
+ configurable: true
34427
+ });
34428
+ Question.prototype.getFilteredValue = function () { return this.value; };
34283
34429
  Object.defineProperty(Question.prototype, "valueForSurvey", {
34284
34430
  get: function () {
34285
34431
  if (!!this.valueToDataCallback) {
@@ -36378,53 +36524,51 @@ var QuestionSelectBase = /** @class */ (function (_super) {
36378
36524
  return this.hasUnknownValue(val, true, false);
36379
36525
  };
36380
36526
  QuestionSelectBase.prototype.updateSelectedItemValues = function () {
36381
- if (this.waitingGetChoiceDisplayValueResponse)
36382
- return;
36383
- var IsMultipleValue = this.getIsMultipleValue();
36384
- if (IsMultipleValue) {
36385
- this.updateMultipleSelectedItemValues();
36386
- }
36387
- else {
36388
- this.updateSingleSelectedItemValues();
36389
- }
36390
- };
36391
- QuestionSelectBase.prototype.updateSingleSelectedItemValues = function () {
36392
36527
  var _this = this;
36393
- if (!!this.survey && !this.isEmpty() && !_itemvalue__WEBPACK_IMPORTED_MODULE_3__["ItemValue"].getItemByValue(this.choices, this.value)) {
36528
+ if (this.waitingGetChoiceDisplayValueResponse || !this.survey || this.isEmpty())
36529
+ return;
36530
+ var value = this.value;
36531
+ var valueArray = Array.isArray(value) ? value : [value];
36532
+ var hasItemWithoutValues = valueArray.some(function (val) { return !_itemvalue__WEBPACK_IMPORTED_MODULE_3__["ItemValue"].getItemByValue(_this.choices, val); });
36533
+ if (hasItemWithoutValues) {
36394
36534
  this.waitingGetChoiceDisplayValueResponse = true;
36395
36535
  this.isReady = !this.waitingAcyncOperations;
36396
36536
  this.survey.getChoiceDisplayValue({
36397
36537
  question: this,
36398
- values: [this.value],
36538
+ values: valueArray,
36399
36539
  setItems: function (displayValues) {
36540
+ var customValues = [];
36541
+ for (var _i = 1; _i < arguments.length; _i++) {
36542
+ customValues[_i - 1] = arguments[_i];
36543
+ }
36400
36544
  _this.waitingGetChoiceDisplayValueResponse = false;
36401
36545
  if (!displayValues || !displayValues.length)
36402
36546
  return;
36403
- _this.selectedItemValues = _this.createItemValue(_this.value, displayValues[0]);
36547
+ var items = displayValues.map(function (displayValue, index) { return _this.createItemValue(valueArray[index], displayValue); });
36548
+ _this.setCustomValuesIntoItems(items, customValues);
36549
+ if (Array.isArray(value)) {
36550
+ _this.selectedItemValues = items;
36551
+ }
36552
+ else {
36553
+ _this.selectedItemValues = items[0];
36554
+ }
36404
36555
  _this.isReady = !_this.waitingAcyncOperations;
36405
36556
  }
36406
36557
  });
36407
36558
  }
36408
36559
  };
36409
- QuestionSelectBase.prototype.updateMultipleSelectedItemValues = function () {
36410
- var _this = this;
36411
- var valueArray = this.value;
36412
- var hasItemWithValues = valueArray.some(function (val) { return !_itemvalue__WEBPACK_IMPORTED_MODULE_3__["ItemValue"].getItemByValue(_this.choices, val); });
36413
- if (!!this.survey && !this.isEmpty() && hasItemWithValues) {
36414
- this.waitingGetChoiceDisplayValueResponse = true;
36415
- this.isReady = this.waitingAcyncOperations;
36416
- this.survey.getChoiceDisplayValue({
36417
- question: this,
36418
- values: valueArray,
36419
- setItems: function (displayValues) {
36420
- _this.waitingGetChoiceDisplayValueResponse = false;
36421
- if (!displayValues || !displayValues.length)
36422
- return;
36423
- _this.selectedItemValues = displayValues.map(function (displayValue, index) { return _this.createItemValue(_this.value[index], displayValue); });
36424
- _this.isReady = !_this.waitingAcyncOperations;
36560
+ QuestionSelectBase.prototype.setCustomValuesIntoItems = function (items, customValues) {
36561
+ if (!Array.isArray(customValues) || customValues.length === 0)
36562
+ return;
36563
+ customValues.forEach(function (customValue) {
36564
+ var vals = customValue.values;
36565
+ var propName = customValue.propertyName;
36566
+ if (Array.isArray(vals)) {
36567
+ for (var i = 0; i < items.length && i < vals.length; i++) {
36568
+ items[i][propName] = vals[i];
36425
36569
  }
36426
- });
36427
- }
36570
+ }
36571
+ });
36428
36572
  };
36429
36573
  QuestionSelectBase.prototype.hasUnknownValue = function (val, includeOther, isFilteredChoices, checkEmptyValue) {
36430
36574
  if (includeOther === void 0) { includeOther = false; }
@@ -38795,6 +38939,16 @@ var QuestionCheckboxModel = /** @class */ (function (_super) {
38795
38939
  enumerable: false,
38796
38940
  configurable: true
38797
38941
  });
38942
+ Object.defineProperty(QuestionCheckboxModel.prototype, "hasFilteredValue", {
38943
+ get: function () { return !!this.valuePropertyName; },
38944
+ enumerable: false,
38945
+ configurable: true
38946
+ });
38947
+ QuestionCheckboxModel.prototype.getFilteredValue = function () {
38948
+ if (this.hasFilteredValue)
38949
+ return this.renderedValue;
38950
+ return _super.prototype.getFilteredValue.call(this);
38951
+ };
38798
38952
  QuestionCheckboxModel.prototype.getMultipleSelectedItems = function () {
38799
38953
  return this.selectedChoices;
38800
38954
  };
@@ -44881,8 +45035,6 @@ var MatrixDropdownRowModelBase = /** @class */ (function () {
44881
45035
  var columns = this.data.columns;
44882
45036
  for (var i = 0; i < columns.length; i++) {
44883
45037
  var column = columns[i];
44884
- if (!column.isVisible)
44885
- continue;
44886
45038
  var cell = this.createCell(column);
44887
45039
  this.cells.push(cell);
44888
45040
  var cellValue = this.getCellValue(value, column.name);
@@ -45521,10 +45673,15 @@ var QuestionMatrixDropdownModelBase = /** @class */ (function (_super) {
45521
45673
  }
45522
45674
  };
45523
45675
  QuestionMatrixDropdownModelBase.prototype.onShowInMultipleColumnsChanged = function (column) {
45524
- this.clearGeneratedRows();
45525
- this.resetRenderedTable();
45676
+ this.resetTableAndRows();
45677
+ };
45678
+ QuestionMatrixDropdownModelBase.prototype.onColumnVisibilityChanged = function (column) {
45679
+ this.resetTableAndRows();
45526
45680
  };
45527
45681
  QuestionMatrixDropdownModelBase.prototype.onColumnCellTypeChanged = function (column) {
45682
+ this.resetTableAndRows();
45683
+ };
45684
+ QuestionMatrixDropdownModelBase.prototype.resetTableAndRows = function () {
45528
45685
  this.clearGeneratedRows();
45529
45686
  this.resetRenderedTable();
45530
45687
  };
@@ -45651,6 +45808,8 @@ var QuestionMatrixDropdownModelBase = /** @class */ (function (_super) {
45651
45808
  this.checkColumnsRenderedRequired();
45652
45809
  };
45653
45810
  QuestionMatrixDropdownModelBase.prototype.checkColumnsVisibility = function () {
45811
+ if (this.isDesignMode)
45812
+ return;
45654
45813
  var hasChanged = false;
45655
45814
  for (var i = 0; i < this.visibleColumns.length; i++) {
45656
45815
  var column = this.visibleColumns[i];
@@ -45679,7 +45838,7 @@ var QuestionMatrixDropdownModelBase = /** @class */ (function (_super) {
45679
45838
  }
45680
45839
  };
45681
45840
  QuestionMatrixDropdownModelBase.prototype.isColumnVisibilityChanged = function (column) {
45682
- var curVis = column.hasVisibleCell;
45841
+ var curVis = column.isColumnVisible;
45683
45842
  var isMultipleColumnsVisibility = column.isFilteredMultipleColumns;
45684
45843
  var curVisibleChoices = isMultipleColumnsVisibility ? column.getVisibleChoicesInCell : [];
45685
45844
  var newVisibleChoices = new Array();
@@ -45697,15 +45856,13 @@ var QuestionMatrixDropdownModelBase = /** @class */ (function (_super) {
45697
45856
  break;
45698
45857
  }
45699
45858
  }
45700
- if (curVis != hasVisCell) {
45701
- column.hasVisibleCell = hasVisCell;
45702
- }
45859
+ column.hasVisibleCell = hasVisCell;
45703
45860
  if (isMultipleColumnsVisibility) {
45704
45861
  column.setVisibleChoicesInCell(newVisibleChoices);
45705
45862
  if (!_helpers__WEBPACK_IMPORTED_MODULE_2__["Helpers"].isArraysEqual(curVisibleChoices, newVisibleChoices, true, false, false))
45706
45863
  return true;
45707
45864
  }
45708
- return curVis != hasVisCell;
45865
+ return curVis != column.isVisible;
45709
45866
  };
45710
45867
  QuestionMatrixDropdownModelBase.prototype.updateNewVisibleChoices = function (q, dest) {
45711
45868
  var choices = q.visibleChoices;
@@ -46681,9 +46838,6 @@ var QuestionMatrixDropdownModelBase = /** @class */ (function (_super) {
46681
46838
  QuestionMatrixDropdownModelBase.prototype.getRootCss = function () {
46682
46839
  return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_11__["CssClassBuilder"]().append(_super.prototype.getRootCss.call(this)).append(this.cssClasses.rootScroll, this.horizontalScroll).toString();
46683
46840
  };
46684
- QuestionMatrixDropdownModelBase.prototype.getIsTooltipErrorInsideSupported = function () {
46685
- return false;
46686
- };
46687
46841
  return QuestionMatrixDropdownModelBase;
46688
46842
  }(_martixBase__WEBPACK_IMPORTED_MODULE_1__["QuestionMatrixBaseModel"]));
46689
46843
 
@@ -46826,12 +46980,12 @@ var MatrixDropdownColumn = /** @class */ (function (_super) {
46826
46980
  var _this = _super.call(this) || this;
46827
46981
  _this.colOwnerValue = null;
46828
46982
  _this.indexValue = -1;
46829
- _this._isVisible = true;
46830
46983
  _this._hasVisibleCell = true;
46831
46984
  _this.previousChoicesId = undefined;
46832
46985
  _this.createLocalizableString("totalFormat", _this);
46833
46986
  _this.createLocalizableString("cellHint", _this);
46834
46987
  _this.registerPropertyChangedHandlers(["showInMultipleColumns"], function () { _this.doShowInMultipleColumnsChanged(); });
46988
+ _this.registerPropertyChangedHandlers(["visible"], function () { _this.doColumnVisibilityChanged(); });
46835
46989
  _this.updateTemplateQuestion();
46836
46990
  _this.name = name;
46837
46991
  if (title) {
@@ -46941,15 +47095,30 @@ var MatrixDropdownColumn = /** @class */ (function (_super) {
46941
47095
  configurable: true
46942
47096
  });
46943
47097
  Object.defineProperty(MatrixDropdownColumn.prototype, "isVisible", {
47098
+ //For filtering columns
46944
47099
  get: function () {
46945
- return this._isVisible;
47100
+ return true;
47101
+ },
47102
+ enumerable: false,
47103
+ configurable: true
47104
+ });
47105
+ Object.defineProperty(MatrixDropdownColumn.prototype, "isColumnVisible", {
47106
+ get: function () {
47107
+ if (this.isDesignMode)
47108
+ return true;
47109
+ return this.visible && this.hasVisibleCell;
47110
+ },
47111
+ enumerable: false,
47112
+ configurable: true
47113
+ });
47114
+ Object.defineProperty(MatrixDropdownColumn.prototype, "visible", {
47115
+ get: function () { return this.getPropertyValue("visible"); },
47116
+ set: function (val) {
47117
+ this.setPropertyValue("visible", val);
46946
47118
  },
46947
47119
  enumerable: false,
46948
47120
  configurable: true
46949
47121
  });
46950
- MatrixDropdownColumn.prototype.setIsVisible = function (newVal) {
46951
- this._isVisible = newVal;
46952
- };
46953
47122
  Object.defineProperty(MatrixDropdownColumn.prototype, "hasVisibleCell", {
46954
47123
  get: function () {
46955
47124
  return this._hasVisibleCell;
@@ -47487,13 +47656,18 @@ var MatrixDropdownColumn = /** @class */ (function (_super) {
47487
47656
  }
47488
47657
  };
47489
47658
  MatrixDropdownColumn.prototype.doShowInMultipleColumnsChanged = function () {
47490
- if (this.colOwner != null && !this.isLoadingFromJson) {
47659
+ if (this.colOwner != null) {
47491
47660
  this.colOwner.onShowInMultipleColumnsChanged(this);
47492
47661
  }
47493
47662
  if (this.templateQuestion) {
47494
47663
  this.templateQuestion.autoOtherMode = this.isShowInMultipleColumns;
47495
47664
  }
47496
47665
  };
47666
+ MatrixDropdownColumn.prototype.doColumnVisibilityChanged = function () {
47667
+ if (this.colOwner != null && !this.isDesignMode) {
47668
+ this.colOwner.onColumnVisibilityChanged(this);
47669
+ }
47670
+ };
47497
47671
  MatrixDropdownColumn.prototype.getProperties = function (curCellType) {
47498
47672
  return _jsonobject__WEBPACK_IMPORTED_MODULE_0__["Serializer"].getDynamicPropertiesByObj(this, curCellType);
47499
47673
  };
@@ -47575,6 +47749,7 @@ _jsonobject__WEBPACK_IMPORTED_MODULE_0__["Serializer"].addClass("matrixdropdownc
47575
47749
  }
47576
47750
  },
47577
47751
  "width",
47752
+ { name: "visible:switch", default: true, overridingProperty: "visibleIf" },
47578
47753
  "visibleIf:condition",
47579
47754
  "enableIf:condition",
47580
47755
  "requiredIf:condition",
@@ -48178,7 +48353,7 @@ var QuestionMatrixDropdownRenderedTable = /** @class */ (function (_super) {
48178
48353
  if (this.matrix.isColumnLayoutHorizontal) {
48179
48354
  for (var i = 0; i < this.matrix.visibleColumns.length; i++) {
48180
48355
  var column = this.matrix.visibleColumns[i];
48181
- if (!column.hasVisibleCell)
48356
+ if (!column.isColumnVisible)
48182
48357
  continue;
48183
48358
  if (this.matrix.IsMultiplyColumn(column)) {
48184
48359
  this.createMutlipleColumnsHeader(column);
@@ -48203,7 +48378,7 @@ var QuestionMatrixDropdownRenderedTable = /** @class */ (function (_super) {
48203
48378
  }
48204
48379
  }
48205
48380
  if (this.hasActionCellInRows("end")) {
48206
- this.headerRow.cells.push(this.createHeaderCell(null));
48381
+ this.headerRow.cells.push(this.createHeaderCell(null, "action"));
48207
48382
  }
48208
48383
  };
48209
48384
  QuestionMatrixDropdownRenderedTable.prototype.buildFooter = function () {
@@ -48222,7 +48397,7 @@ var QuestionMatrixDropdownRenderedTable = /** @class */ (function (_super) {
48222
48397
  var cells = this.matrix.visibleTotalRow.cells;
48223
48398
  for (var i = 0; i < cells.length; i++) {
48224
48399
  var cell = cells[i];
48225
- if (!cell.column.hasVisibleCell)
48400
+ if (!cell.column.isColumnVisible)
48226
48401
  continue;
48227
48402
  if (this.matrix.IsMultiplyColumn(cell.column)) {
48228
48403
  this.createMutlipleColumnsFooter(this.footerRow, cell);
@@ -48400,14 +48575,14 @@ var QuestionMatrixDropdownRenderedTable = /** @class */ (function (_super) {
48400
48575
  for (var i = 0; i < row.cells.length; i++) {
48401
48576
  var cell = row.cells[i];
48402
48577
  if (!cell.hasQuestion) {
48403
- res.cells.push(this.createEmptyCell());
48578
+ res.cells.push(this.createEmptyCell(true));
48404
48579
  }
48405
48580
  else if (this.matrix.IsMultiplyColumn(cell.cell.column)) {
48406
48581
  if (cell.isFirstChoice) {
48407
48582
  res.cells.push(this.createErrorCell(cell.cell));
48408
48583
  }
48409
48584
  else {
48410
- res.cells.push(this.createEmptyCell());
48585
+ res.cells.push(this.createEmptyCell(true));
48411
48586
  }
48412
48587
  }
48413
48588
  else {
@@ -48440,7 +48615,7 @@ var QuestionMatrixDropdownRenderedTable = /** @class */ (function (_super) {
48440
48615
  }
48441
48616
  for (var i = 0; i < row.cells.length; i++) {
48442
48617
  var cell = row.cells[i];
48443
- if (!cell.column.hasVisibleCell)
48618
+ if (!cell.column.isColumnVisible)
48444
48619
  continue;
48445
48620
  if (this.matrix.IsMultiplyColumn(cell.column)) {
48446
48621
  this.createMutlipleEditCells(res, cell);
@@ -48510,7 +48685,7 @@ var QuestionMatrixDropdownRenderedTable = /** @class */ (function (_super) {
48510
48685
  var renderedRows = [];
48511
48686
  for (var i = 0; i < columns.length; i++) {
48512
48687
  var col = columns[i];
48513
- if (col.isVisible && col.hasVisibleCell) {
48688
+ if (col.isColumnVisible) {
48514
48689
  if (this.matrix.IsMultiplyColumn(col)) {
48515
48690
  this.createMutlipleVerticalRows(renderedRows, col, i);
48516
48691
  }
@@ -48725,12 +48900,14 @@ var QuestionMatrixDropdownRenderedTable = /** @class */ (function (_super) {
48725
48900
  }
48726
48901
  return cell;
48727
48902
  };
48728
- QuestionMatrixDropdownRenderedTable.prototype.createEmptyCell = function () {
48903
+ QuestionMatrixDropdownRenderedTable.prototype.createEmptyCell = function (isError) {
48904
+ if (isError === void 0) { isError = false; }
48729
48905
  var res = this.createTextCell(null);
48730
48906
  res.isEmpty = true;
48731
48907
  res.className = new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_5__["CssClassBuilder"]()
48732
48908
  .append(this.cssClasses.cell)
48733
48909
  .append(this.cssClasses.emptyCell)
48910
+ .append(this.cssClasses.errorsCell, isError)
48734
48911
  .toString();
48735
48912
  return res;
48736
48913
  };
@@ -49863,7 +50040,7 @@ _questionfactory__WEBPACK_IMPORTED_MODULE_1__["QuestionFactory"].Instance.regist
49863
50040
  /*!**************************************!*\
49864
50041
  !*** ./src/question_multipletext.ts ***!
49865
50042
  \**************************************/
49866
- /*! exports provided: MultipleTextEditorModel, MultipleTextItemModel, QuestionMultipleTextModel */
50043
+ /*! exports provided: MultipleTextEditorModel, MultipleTextItemModel, QuestionMultipleTextModel, MutlipleTextRow, MutlipleTextErrorRow, MultipleTextCell, MultipleTextErrorCell */
49867
50044
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
49868
50045
 
49869
50046
  "use strict";
@@ -49871,6 +50048,10 @@ __webpack_require__.r(__webpack_exports__);
49871
50048
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MultipleTextEditorModel", function() { return MultipleTextEditorModel; });
49872
50049
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MultipleTextItemModel", function() { return MultipleTextItemModel; });
49873
50050
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "QuestionMultipleTextModel", function() { return QuestionMultipleTextModel; });
50051
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MutlipleTextRow", function() { return MutlipleTextRow; });
50052
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MutlipleTextErrorRow", function() { return MutlipleTextErrorRow; });
50053
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MultipleTextCell", function() { return MultipleTextCell; });
50054
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MultipleTextErrorCell", function() { return MultipleTextErrorCell; });
49874
50055
  /* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base */ "./src/base.ts");
49875
50056
  /* harmony import */ var _survey_element__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./survey-element */ "./src/survey-element.ts");
49876
50057
  /* harmony import */ var _question__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./question */ "./src/question.ts");
@@ -49895,6 +50076,12 @@ var __extends = (undefined && undefined.__extends) || (function () {
49895
50076
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
49896
50077
  };
49897
50078
  })();
50079
+ var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
50080
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
50081
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
50082
+ 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;
50083
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
50084
+ };
49898
50085
 
49899
50086
 
49900
50087
 
@@ -49937,6 +50124,9 @@ var MultipleTextItemModel = /** @class */ (function (_super) {
49937
50124
  if (name === void 0) { name = null; }
49938
50125
  if (title === void 0) { title = null; }
49939
50126
  var _this = _super.call(this) || this;
50127
+ _this.focusIn = function () {
50128
+ _this.editor.focusIn();
50129
+ };
49940
50130
  _this.editorValue = _this.createEditor(name);
49941
50131
  _this.editor.questionTitleTemplateCallback = function () {
49942
50132
  return "";
@@ -50011,9 +50201,6 @@ var MultipleTextItemModel = /** @class */ (function (_super) {
50011
50201
  this.editor.setParentQuestion(data);
50012
50202
  }
50013
50203
  };
50014
- MultipleTextItemModel.prototype.focusIn = function () {
50015
- this.editor.focusIn();
50016
- };
50017
50204
  Object.defineProperty(MultipleTextItemModel.prototype, "isRequired", {
50018
50205
  /**
50019
50206
  * Set this property to true, to make the item a required. If a user doesn't fill the item then a validation error will be generated.
@@ -50278,8 +50465,8 @@ var QuestionMultipleTextModel = /** @class */ (function (_super) {
50278
50465
  _this.survey.multipleTextItemAdded(_this, item);
50279
50466
  }
50280
50467
  });
50281
- _this.registerPropertyChangedHandlers(["items", "colCount"], function () {
50282
- _this.fireCallback(_this.colCountChangedCallback);
50468
+ _this.registerPropertyChangedHandlers(["items", "colCount", "itemErrorLocation"], function () {
50469
+ _this.calcVisibleRows();
50283
50470
  });
50284
50471
  _this.registerPropertyChangedHandlers(["itemSize"], function () { _this.updateItemsSize(); });
50285
50472
  return _this;
@@ -50330,7 +50517,6 @@ var QuestionMultipleTextModel = /** @class */ (function (_super) {
50330
50517
  QuestionMultipleTextModel.prototype.onSurveyLoad = function () {
50331
50518
  this.editorsOnSurveyLoad();
50332
50519
  _super.prototype.onSurveyLoad.call(this);
50333
- this.fireCallback(this.colCountChangedCallback);
50334
50520
  };
50335
50521
  QuestionMultipleTextModel.prototype.setQuestionValue = function (newValue, updateIsAnswered) {
50336
50522
  if (updateIsAnswered === void 0) { updateIsAnswered = true; }
@@ -50469,6 +50655,20 @@ var QuestionMultipleTextModel = /** @class */ (function (_super) {
50469
50655
  return this.itemErrorLocation;
50470
50656
  return this.getErrorLocation();
50471
50657
  };
50658
+ Object.defineProperty(QuestionMultipleTextModel.prototype, "showItemErrorOnTop", {
50659
+ get: function () {
50660
+ return this.getQuestionErrorLocation() == "top";
50661
+ },
50662
+ enumerable: false,
50663
+ configurable: true
50664
+ });
50665
+ Object.defineProperty(QuestionMultipleTextModel.prototype, "showItemErrorOnBottom", {
50666
+ get: function () {
50667
+ return this.getQuestionErrorLocation() == "bottom";
50668
+ },
50669
+ enumerable: false,
50670
+ configurable: true
50671
+ });
50472
50672
  QuestionMultipleTextModel.prototype.getChildErrorLocation = function (child) {
50473
50673
  return this.getQuestionErrorLocation();
50474
50674
  };
@@ -50512,22 +50712,44 @@ var QuestionMultipleTextModel = /** @class */ (function (_super) {
50512
50712
  enumerable: false,
50513
50713
  configurable: true
50514
50714
  });
50515
- QuestionMultipleTextModel.prototype.getRows = function () {
50715
+ QuestionMultipleTextModel.prototype.onRowCreated = function (row) {
50716
+ return row;
50717
+ };
50718
+ QuestionMultipleTextModel.prototype.calcVisibleRows = function () {
50516
50719
  var colCount = this.colCount;
50517
50720
  var items = this.items;
50518
- var rows = [];
50519
50721
  var index = 0;
50722
+ var row;
50723
+ var errorRow;
50724
+ var rows = [];
50520
50725
  for (var i = 0; i < items.length; i++) {
50521
50726
  if (index == 0) {
50522
- rows.push([]);
50727
+ row = this.onRowCreated(new MutlipleTextRow());
50728
+ errorRow = this.onRowCreated(new MutlipleTextErrorRow());
50729
+ if (this.showItemErrorOnTop) {
50730
+ rows.push(errorRow);
50731
+ rows.push(row);
50732
+ }
50733
+ else {
50734
+ rows.push(row);
50735
+ rows.push(errorRow);
50736
+ }
50523
50737
  }
50524
- rows[rows.length - 1].push(items[i]);
50738
+ row.cells.push(new MultipleTextCell(items[i], this));
50739
+ errorRow.cells.push(new MultipleTextErrorCell(items[i], this));
50525
50740
  index++;
50526
- if (index >= colCount) {
50741
+ if (index >= colCount || i == items.length - 1) {
50527
50742
  index = 0;
50743
+ errorRow.onAfterCreated();
50528
50744
  }
50529
50745
  }
50530
- return rows;
50746
+ this.rows = rows;
50747
+ };
50748
+ QuestionMultipleTextModel.prototype.getRows = function () {
50749
+ if (_helpers__WEBPACK_IMPORTED_MODULE_6__["Helpers"].isValueEmpty(this.rows)) {
50750
+ this.calcVisibleRows();
50751
+ }
50752
+ return this.rows;
50531
50753
  };
50532
50754
  QuestionMultipleTextModel.prototype.onValueChanged = function () {
50533
50755
  _super.prototype.onValueChanged.call(this);
@@ -50705,12 +50927,87 @@ var QuestionMultipleTextModel = /** @class */ (function (_super) {
50705
50927
  QuestionMultipleTextModel.prototype.getItemTitleCss = function () {
50706
50928
  return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_7__["CssClassBuilder"]().append(this.cssClasses.itemTitle).toString();
50707
50929
  };
50708
- QuestionMultipleTextModel.prototype.getIsTooltipErrorInsideSupported = function () {
50709
- return true;
50710
- };
50930
+ __decorate([
50931
+ Object(_jsonobject__WEBPACK_IMPORTED_MODULE_4__["propertyArray"])()
50932
+ ], QuestionMultipleTextModel.prototype, "rows", void 0);
50711
50933
  return QuestionMultipleTextModel;
50712
50934
  }(_question__WEBPACK_IMPORTED_MODULE_2__["Question"]));
50713
50935
 
50936
+ var MutlipleTextRow = /** @class */ (function (_super) {
50937
+ __extends(MutlipleTextRow, _super);
50938
+ function MutlipleTextRow() {
50939
+ var _this = _super !== null && _super.apply(this, arguments) || this;
50940
+ _this.isVisible = true;
50941
+ _this.cells = [];
50942
+ return _this;
50943
+ }
50944
+ __decorate([
50945
+ Object(_jsonobject__WEBPACK_IMPORTED_MODULE_4__["property"])()
50946
+ ], MutlipleTextRow.prototype, "isVisible", void 0);
50947
+ __decorate([
50948
+ Object(_jsonobject__WEBPACK_IMPORTED_MODULE_4__["propertyArray"])()
50949
+ ], MutlipleTextRow.prototype, "cells", void 0);
50950
+ return MutlipleTextRow;
50951
+ }(_base__WEBPACK_IMPORTED_MODULE_0__["Base"]));
50952
+
50953
+ var MutlipleTextErrorRow = /** @class */ (function (_super) {
50954
+ __extends(MutlipleTextErrorRow, _super);
50955
+ function MutlipleTextErrorRow() {
50956
+ return _super !== null && _super.apply(this, arguments) || this;
50957
+ }
50958
+ MutlipleTextErrorRow.prototype.onAfterCreated = function () {
50959
+ var _this = this;
50960
+ var callback = function () {
50961
+ _this.isVisible = _this.cells.some(function (cell) { var _a, _b; return ((_a = cell.item) === null || _a === void 0 ? void 0 : _a.editor) && ((_b = cell.item) === null || _b === void 0 ? void 0 : _b.editor.hasVisibleErrors); });
50962
+ };
50963
+ this.cells.forEach(function (cell) {
50964
+ var _a, _b;
50965
+ if ((_a = cell.item) === null || _a === void 0 ? void 0 : _a.editor) {
50966
+ (_b = cell.item) === null || _b === void 0 ? void 0 : _b.editor.registerFunctionOnPropertyValueChanged("hasVisibleErrors", callback);
50967
+ }
50968
+ });
50969
+ callback();
50970
+ };
50971
+ return MutlipleTextErrorRow;
50972
+ }(MutlipleTextRow));
50973
+
50974
+ var MultipleTextCell = /** @class */ (function () {
50975
+ function MultipleTextCell(item, question) {
50976
+ this.item = item;
50977
+ this.question = question;
50978
+ this.isErrorsCell = false;
50979
+ }
50980
+ MultipleTextCell.prototype.getClassName = function () {
50981
+ return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_7__["CssClassBuilder"]().append(this.question.cssClasses.cell).toString();
50982
+ };
50983
+ Object.defineProperty(MultipleTextCell.prototype, "className", {
50984
+ get: function () {
50985
+ return this.getClassName();
50986
+ },
50987
+ enumerable: false,
50988
+ configurable: true
50989
+ });
50990
+ return MultipleTextCell;
50991
+ }());
50992
+
50993
+ var MultipleTextErrorCell = /** @class */ (function (_super) {
50994
+ __extends(MultipleTextErrorCell, _super);
50995
+ function MultipleTextErrorCell() {
50996
+ var _this = _super !== null && _super.apply(this, arguments) || this;
50997
+ _this.isErrorsCell = true;
50998
+ return _this;
50999
+ }
51000
+ MultipleTextErrorCell.prototype.getClassName = function () {
51001
+ return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_7__["CssClassBuilder"]()
51002
+ .append(_super.prototype.getClassName.call(this))
51003
+ .append(this.question.cssClasses.cellError)
51004
+ .append(this.question.cssClasses.cellErrorTop, this.question.showItemErrorOnTop)
51005
+ .append(this.question.cssClasses.cellErrorBottom, this.question.showItemErrorOnBottom)
51006
+ .toString();
51007
+ };
51008
+ return MultipleTextErrorCell;
51009
+ }(MultipleTextCell));
51010
+
50714
51011
  _jsonobject__WEBPACK_IMPORTED_MODULE_4__["Serializer"].addClass("multipletextitem", [
50715
51012
  { name: "!name", isUnique: true },
50716
51013
  "isRequired:boolean",
@@ -52562,6 +52859,7 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
52562
52859
  if (!!this.parentQuestion && !!this.parent) {
52563
52860
  cachedValues[QuestionPanelDynamicItem.ParentItemVariableName] = this.parent.getValue();
52564
52861
  }
52862
+ this.isValueChangingInternally = true;
52565
52863
  for (var i = 0; i < this.panels.length; i++) {
52566
52864
  var panel = this.panels[i];
52567
52865
  var panelValues = this.getPanelItemData(panel.data);
@@ -52574,6 +52872,7 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
52574
52872
  newProps[panelName] = panel;
52575
52873
  panel.runCondition(newValues, newProps);
52576
52874
  }
52875
+ this.isValueChangingInternally = false;
52577
52876
  };
52578
52877
  QuestionPanelDynamicModel.prototype.onAnyValueChanged = function (name) {
52579
52878
  _super.prototype.onAnyValueChanged.call(this, name);
@@ -53218,11 +53517,22 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
53218
53517
  this.updateFooterActionsCallback();
53219
53518
  this.footerToolbarValue.setItems(items);
53220
53519
  };
53221
- QuestionPanelDynamicModel.prototype.createTabByPanel = function (panel) {
53520
+ QuestionPanelDynamicModel.prototype.createTabByPanel = function (panel, visPanelIndex) {
53222
53521
  var _this = this;
53223
53522
  if (!this.isRenderModeTab)
53224
53523
  return;
53225
53524
  var locTitle = new _localizablestring__WEBPACK_IMPORTED_MODULE_2__["LocalizableString"](panel, true);
53525
+ locTitle.onGetTextCallback = function (str) {
53526
+ if (!_this.survey)
53527
+ return str;
53528
+ var options = {
53529
+ title: str,
53530
+ panel: panel,
53531
+ visiblePanelIndex: visPanelIndex
53532
+ };
53533
+ _this.survey.dynamicPanelGetTabTitle(_this, options);
53534
+ return options.title;
53535
+ };
53226
53536
  locTitle.sharedData = this.locTemplateTabTitle;
53227
53537
  var isActive = this.getPanelIndexById(panel.id) === this.currentIndex;
53228
53538
  var newItem = new _actions_action__WEBPACK_IMPORTED_MODULE_11__["Action"]({
@@ -53266,13 +53576,20 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
53266
53576
  if (!this.isRenderModeTab)
53267
53577
  return;
53268
53578
  var items = [];
53269
- this.visiblePanels.forEach(function (panel) { return items.push(_this.createTabByPanel(panel)); });
53579
+ var visPanels = this.visiblePanels;
53580
+ var _loop_1 = function (i) {
53581
+ this_1.visiblePanels.forEach(function (panel) { return items.push(_this.createTabByPanel(visPanels[i], i)); });
53582
+ };
53583
+ var this_1 = this;
53584
+ for (var i = 0; i < visPanels.length; i++) {
53585
+ _loop_1(i);
53586
+ }
53270
53587
  this.additionalTitleToolbar.setItems(items);
53271
53588
  };
53272
53589
  QuestionPanelDynamicModel.prototype.addTabFromToolbar = function (panel, index) {
53273
53590
  if (!this.isRenderModeTab)
53274
53591
  return;
53275
- var newItem = this.createTabByPanel(panel);
53592
+ var newItem = this.createTabByPanel(panel, index);
53276
53593
  this.additionalTitleToolbar.actions.splice(index, 0, newItem);
53277
53594
  this.updateTabToolbarItemsPressedState();
53278
53595
  };
@@ -53659,7 +53976,9 @@ var QuestionRankingModel = /** @class */ (function (_super) {
53659
53976
  var target = event.target;
53660
53977
  if (!_this.isDragStartNodeValid(target))
53661
53978
  return;
53662
- if (_this.allowStartDrag && _this.canStartDragDueMaxSelectedChoices(target)) {
53979
+ if (_this.allowStartDrag &&
53980
+ _this.canStartDragDueMaxSelectedChoices(target) &&
53981
+ _this.canStartDragDueItemEnabled(choice)) {
53663
53982
  _this.dragDropRankingChoices.startDrag(event, choice, _this, node);
53664
53983
  }
53665
53984
  };
@@ -53732,7 +54051,9 @@ var QuestionRankingModel = /** @class */ (function (_super) {
53732
54051
  return "ranking";
53733
54052
  };
53734
54053
  QuestionRankingModel.prototype.getItemTabIndex = function (item) {
53735
- return this.isDesignMode ? undefined : 0;
54054
+ if (this.isDesignMode || item.disabled)
54055
+ return undefined;
54056
+ return 0;
53736
54057
  };
53737
54058
  Object.defineProperty(QuestionRankingModel.prototype, "rootClass", {
53738
54059
  get: function () {
@@ -53947,6 +54268,9 @@ var QuestionRankingModel = /** @class */ (function (_super) {
53947
54268
  }
53948
54269
  return true;
53949
54270
  };
54271
+ QuestionRankingModel.prototype.canStartDragDueItemEnabled = function (item) {
54272
+ return item.enabled;
54273
+ };
53950
54274
  QuestionRankingModel.prototype.checkMaxSelectedChoicesUnreached = function () {
53951
54275
  if (this.maxSelectedChoices < 1)
53952
54276
  return true;
@@ -55724,18 +56048,24 @@ var QuestionTagboxModel = /** @class */ (function (_super) {
55724
56048
  _this.onOpened = _this.addEvent();
55725
56049
  _this.createLocalizableString("placeholder", _this, false, true);
55726
56050
  _this.createLocalizableString("clearCaption", _this, false, true);
56051
+ _this.registerPropertyChangedHandlers(["value", "renderAs", "showOtherItem", "otherText", "placeholder", "choices", "visibleChoices"], function () {
56052
+ _this.updateReadOnlyText();
56053
+ });
56054
+ _this.updateReadOnlyText();
55727
56055
  return _this;
55728
56056
  }
56057
+ QuestionTagboxModel.prototype.locStrsChanged = function () {
56058
+ var _a;
56059
+ _super.prototype.locStrsChanged.call(this);
56060
+ this.updateReadOnlyText();
56061
+ (_a = this.dropdownListModel) === null || _a === void 0 ? void 0 : _a.locStrsChanged();
56062
+ };
56063
+ QuestionTagboxModel.prototype.updateReadOnlyText = function () {
56064
+ this.readOnlyText = this.displayValue || this.placeholder;
56065
+ };
55729
56066
  QuestionTagboxModel.prototype.getDefaultItemComponent = function () {
55730
56067
  return "";
55731
56068
  };
55732
- Object.defineProperty(QuestionTagboxModel.prototype, "readOnlyText", {
55733
- get: function () {
55734
- return this.displayValue || this.placeholder;
55735
- },
55736
- enumerable: false,
55737
- configurable: true
55738
- });
55739
56069
  QuestionTagboxModel.prototype.onSurveyLoad = function () {
55740
56070
  _super.prototype.onSurveyLoad.call(this);
55741
56071
  if (!this.dropdownListModel) {
@@ -55888,6 +56218,9 @@ var QuestionTagboxModel = /** @class */ (function (_super) {
55888
56218
  _super.prototype.clearValue.call(this);
55889
56219
  this.dropdownListModel.clear();
55890
56220
  };
56221
+ __decorate([
56222
+ Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__["property"])({ defaultValue: "" })
56223
+ ], QuestionTagboxModel.prototype, "readOnlyText", void 0);
55891
56224
  __decorate([
55892
56225
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__["property"])()
55893
56226
  ], QuestionTagboxModel.prototype, "allowClear", void 0);
@@ -57993,11 +58326,11 @@ var ComponentsContainer = /** @class */ (function (_super) {
57993
58326
  }
57994
58327
  if (!needRenderWrapper) {
57995
58328
  return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, components.map(function (component) {
57996
- return _element_factory__WEBPACK_IMPORTED_MODULE_1__["ReactElementFactory"].Instance.createElement(component.component, { survey: _this.props.survey, model: component.data, key: component.id });
58329
+ return _element_factory__WEBPACK_IMPORTED_MODULE_1__["ReactElementFactory"].Instance.createElement(component.component, { survey: _this.props.survey, model: component.data, container: _this.props.container, key: component.id });
57997
58330
  }));
57998
58331
  }
57999
58332
  return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { className: "sv-components-column" }, components.map(function (component) {
58000
- return _element_factory__WEBPACK_IMPORTED_MODULE_1__["ReactElementFactory"].Instance.createElement(component.component, { survey: _this.props.survey, model: component.data, key: component.id });
58333
+ return _element_factory__WEBPACK_IMPORTED_MODULE_1__["ReactElementFactory"].Instance.createElement(component.component, { survey: _this.props.survey, model: component.data, container: _this.props.container, key: component.id });
58001
58334
  }));
58002
58335
  };
58003
58336
  return ComponentsContainer;
@@ -58195,6 +58528,12 @@ var List = /** @class */ (function (_super) {
58195
58528
  this.model.initListContainerHtmlElement(this.listContainerRef.current);
58196
58529
  }
58197
58530
  };
58531
+ List.prototype.componentWillUnmount = function () {
58532
+ _super.prototype.componentWillUnmount.call(this);
58533
+ if (!!this.model) {
58534
+ this.model.initListContainerHtmlElement(undefined);
58535
+ }
58536
+ };
58198
58537
  List.prototype.renderElement = function () {
58199
58538
  return (react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { className: this.model.cssClasses.root, ref: this.listContainerRef },
58200
58539
  this.searchElementContent(),
@@ -59000,6 +59339,10 @@ var Popup = /** @class */ (function (_super) {
59000
59339
  _super.prototype.componentDidUpdate.call(this, prevProps, prevState);
59001
59340
  this.setTargetElement();
59002
59341
  };
59342
+ Popup.prototype.componentWillUnmount = function () {
59343
+ _super.prototype.componentWillUnmount.call(this);
59344
+ this.popup.resetComponentElement();
59345
+ };
59003
59346
  Popup.prototype.shouldComponentUpdate = function (nextProps, nextState) {
59004
59347
  var _a;
59005
59348
  if (!_super.prototype.shouldComponentUpdate.call(this, nextProps, nextState))
@@ -61560,6 +61903,8 @@ var Survey = /** @class */ (function (_super) {
61560
61903
  };
61561
61904
  Survey.prototype.destroySurvey = function () {
61562
61905
  if (this.survey) {
61906
+ this.survey.renderCallback = undefined;
61907
+ this.survey.onPartialSend.clear();
61563
61908
  this.survey.stopTimer();
61564
61909
  this.survey.destroyResizeObserver();
61565
61910
  }
@@ -61582,6 +61927,9 @@ var Survey = /** @class */ (function (_super) {
61582
61927
  else if (this.survey.state == "loading") {
61583
61928
  renderResult = this.renderLoading();
61584
61929
  }
61930
+ else if (this.survey.state == "empty") {
61931
+ renderResult = this.renderEmptySurvey();
61932
+ }
61585
61933
  else {
61586
61934
  renderResult = this.renderSurvey();
61587
61935
  }
@@ -61630,11 +61978,11 @@ var Survey = /** @class */ (function (_super) {
61630
61978
  };
61631
61979
  Survey.prototype.renderCompletedBefore = function () {
61632
61980
  var htmlValue = { __html: this.survey.processedCompletedBeforeHtml };
61633
- return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { dangerouslySetInnerHTML: htmlValue, className: this.css.body }));
61981
+ return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { dangerouslySetInnerHTML: htmlValue, className: this.survey.completedBeforeCss }));
61634
61982
  };
61635
61983
  Survey.prototype.renderLoading = function () {
61636
61984
  var htmlValue = { __html: this.survey.processedLoadingHtml };
61637
- return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { dangerouslySetInnerHTML: htmlValue, className: this.css.body }));
61985
+ return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { dangerouslySetInnerHTML: htmlValue, className: this.survey.loadingBodyCss }));
61638
61986
  };
61639
61987
  Survey.prototype.renderSurvey = function () {
61640
61988
  var activePage = this.survey.activePage
@@ -61643,10 +61991,6 @@ var Survey = /** @class */ (function (_super) {
61643
61991
  var isStaring = this.survey.isShowStartingPage;
61644
61992
  var pageId = this.survey.activePage ? this.survey.activePage.id : "";
61645
61993
  var className = this.survey.bodyCss;
61646
- if (!activePage) {
61647
- className = this.css.bodyEmpty;
61648
- activePage = this.renderEmptySurvey();
61649
- }
61650
61994
  var style = {};
61651
61995
  if (!!this.survey.renderedWidth) {
61652
61996
  style.maxWidth = this.survey.renderedWidth;
@@ -61663,7 +62007,7 @@ var Survey = /** @class */ (function (_super) {
61663
62007
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_page__WEBPACK_IMPORTED_MODULE_2__["SurveyPage"], { survey: this.survey, page: page, css: this.css, creator: this }));
61664
62008
  };
61665
62009
  Survey.prototype.renderEmptySurvey = function () {
61666
- return react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", null, this.survey.emptySurveyText);
62010
+ return react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.css.bodyEmpty }, this.survey.emptySurveyText);
61667
62011
  };
61668
62012
  Survey.prototype.createSurvey = function (newProps) {
61669
62013
  if (!newProps)
@@ -61920,7 +62264,7 @@ var SurveyProgress = /** @class */ (function (_super) {
61920
62264
  var progressStyle = {
61921
62265
  width: this.progress + "%",
61922
62266
  };
61923
- return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.survey.getProgressCssClasses() },
62267
+ return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.survey.getProgressCssClasses(this.props.container) },
61924
62268
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { style: progressStyle, className: this.css.progressBar, role: "progressbar", "aria-valuemin": 0, "aria-valuemax": 100 },
61925
62269
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", { className: survey_core__WEBPACK_IMPORTED_MODULE_1__["SurveyProgressModel"].getProgressTextInBarCss(this.css) }, this.progressText)),
61926
62270
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", { className: survey_core__WEBPACK_IMPORTED_MODULE_1__["SurveyProgressModel"].getProgressTextUnderBarCss(this.css) }, this.progressText)));
@@ -62129,7 +62473,7 @@ _element_factory__WEBPACK_IMPORTED_MODULE_3__["ReactElementFactory"].Instance.re
62129
62473
  /*!*************************************!*\
62130
62474
  !*** ./src/react/reactquestion.tsx ***!
62131
62475
  \*************************************/
62132
- /*! exports provided: SurveyQuestion, SurveyElementErrors, SurveyQuestionAndErrorsWrapped, SurveyQuestionAndErrorsCell */
62476
+ /*! exports provided: SurveyQuestion, SurveyElementErrors, SurveyQuestionAndErrorsWrapped, SurveyQuestionAndErrorsCell, SurveyQuestionErrorCell */
62133
62477
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
62134
62478
 
62135
62479
  "use strict";
@@ -62138,15 +62482,15 @@ __webpack_require__.r(__webpack_exports__);
62138
62482
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SurveyElementErrors", function() { return SurveyElementErrors; });
62139
62483
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SurveyQuestionAndErrorsWrapped", function() { return SurveyQuestionAndErrorsWrapped; });
62140
62484
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SurveyQuestionAndErrorsCell", function() { return SurveyQuestionAndErrorsCell; });
62485
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SurveyQuestionErrorCell", function() { return SurveyQuestionErrorCell; });
62141
62486
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
62142
62487
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
62143
- /* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! survey-core */ "./src/entries/core.ts");
62144
- /* harmony import */ var _reactsurveymodel__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./reactsurveymodel */ "./src/react/reactsurveymodel.tsx");
62145
- /* harmony import */ var _element_factory__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./element-factory */ "./src/react/element-factory.tsx");
62146
- /* harmony import */ var _reactquestion_element__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./reactquestion_element */ "./src/react/reactquestion_element.tsx");
62147
- /* harmony import */ var _reactquestion_comment__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./reactquestion_comment */ "./src/react/reactquestion_comment.tsx");
62148
- /* harmony import */ var _custom_widget__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./custom-widget */ "./src/react/custom-widget.tsx");
62149
- /* harmony import */ var _element_header__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./element-header */ "./src/react/element-header.tsx");
62488
+ /* harmony import */ var _reactsurveymodel__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./reactsurveymodel */ "./src/react/reactsurveymodel.tsx");
62489
+ /* harmony import */ var _element_factory__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./element-factory */ "./src/react/element-factory.tsx");
62490
+ /* harmony import */ var _reactquestion_element__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./reactquestion_element */ "./src/react/reactquestion_element.tsx");
62491
+ /* harmony import */ var _reactquestion_comment__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./reactquestion_comment */ "./src/react/reactquestion_comment.tsx");
62492
+ /* harmony import */ var _custom_widget__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./custom-widget */ "./src/react/custom-widget.tsx");
62493
+ /* harmony import */ var _element_header__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./element-header */ "./src/react/element-header.tsx");
62150
62494
  var __extends = (undefined && undefined.__extends) || (function () {
62151
62495
  var extendStatics = function (d, b) {
62152
62496
  extendStatics = Object.setPrototypeOf ||
@@ -62169,7 +62513,6 @@ var __extends = (undefined && undefined.__extends) || (function () {
62169
62513
 
62170
62514
 
62171
62515
 
62172
-
62173
62516
  var SurveyQuestion = /** @class */ (function (_super) {
62174
62517
  __extends(SurveyQuestion, _super);
62175
62518
  function SurveyQuestion(props) {
@@ -62185,7 +62528,7 @@ var SurveyQuestion = /** @class */ (function (_super) {
62185
62528
  if (!customWidget) {
62186
62529
  return creator.createQuestionElement(question);
62187
62530
  }
62188
- return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_custom_widget__WEBPACK_IMPORTED_MODULE_6__["SurveyCustomWidget"], { creator: creator, question: question });
62531
+ return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_custom_widget__WEBPACK_IMPORTED_MODULE_5__["SurveyCustomWidget"], { creator: creator, question: question });
62189
62532
  };
62190
62533
  SurveyQuestion.prototype.getStateElement = function () {
62191
62534
  return this.question;
@@ -62263,9 +62606,6 @@ var SurveyQuestion = /** @class */ (function (_super) {
62263
62606
  ? this.renderErrors(cssClasses, "bottom")
62264
62607
  : null;
62265
62608
  var comment = question && question.hasComment ? this.renderComment(cssClasses) : null;
62266
- var errorsTooltip = this.question.isErrorsModeTooltip
62267
- ? this.renderErrors(cssClasses, "tooltip")
62268
- : null;
62269
62609
  var descriptionUnderInput = question.hasDescriptionUnderInput
62270
62610
  ? this.renderDescription()
62271
62611
  : null;
@@ -62274,7 +62614,6 @@ var SurveyQuestion = /** @class */ (function (_super) {
62274
62614
  questionRender,
62275
62615
  comment,
62276
62616
  errorsBottom,
62277
- errorsTooltip,
62278
62617
  descriptionUnderInput));
62279
62618
  };
62280
62619
  SurveyQuestion.prototype.renderElement = function () {
@@ -62303,7 +62642,7 @@ var SurveyQuestion = /** @class */ (function (_super) {
62303
62642
  var survey = this.question.survey;
62304
62643
  var wrapper = null;
62305
62644
  if (survey) {
62306
- wrapper = _reactsurveymodel__WEBPACK_IMPORTED_MODULE_2__["ReactSurveyElementsWrapper"].wrapElement(survey, element, this.question);
62645
+ wrapper = _reactsurveymodel__WEBPACK_IMPORTED_MODULE_1__["ReactSurveyElementsWrapper"].wrapElement(survey, element, this.question);
62307
62646
  }
62308
62647
  return wrapper !== null && wrapper !== void 0 ? wrapper : element;
62309
62648
  };
@@ -62311,7 +62650,7 @@ var SurveyQuestion = /** @class */ (function (_super) {
62311
62650
  var survey = this.question.survey;
62312
62651
  var wrapper = null;
62313
62652
  if (survey) {
62314
- wrapper = _reactsurveymodel__WEBPACK_IMPORTED_MODULE_2__["ReactSurveyElementsWrapper"].wrapQuestionContent(survey, element, this.question);
62653
+ wrapper = _reactsurveymodel__WEBPACK_IMPORTED_MODULE_1__["ReactSurveyElementsWrapper"].wrapQuestionContent(survey, element, this.question);
62315
62654
  }
62316
62655
  return wrapper !== null && wrapper !== void 0 ? wrapper : element;
62317
62656
  };
@@ -62319,24 +62658,24 @@ var SurveyQuestion = /** @class */ (function (_super) {
62319
62658
  return SurveyQuestion.renderQuestionBody(this.creator, this.question);
62320
62659
  };
62321
62660
  SurveyQuestion.prototype.renderDescription = function () {
62322
- return _reactquestion_element__WEBPACK_IMPORTED_MODULE_4__["SurveyElementBase"].renderQuestionDescription(this.question);
62661
+ return _reactquestion_element__WEBPACK_IMPORTED_MODULE_3__["SurveyElementBase"].renderQuestionDescription(this.question);
62323
62662
  };
62324
62663
  SurveyQuestion.prototype.renderComment = function (cssClasses) {
62325
- var commentText = _reactquestion_element__WEBPACK_IMPORTED_MODULE_4__["SurveyElementBase"].renderLocString(this.question.locCommentText);
62664
+ var commentText = _reactquestion_element__WEBPACK_IMPORTED_MODULE_3__["SurveyElementBase"].renderLocString(this.question.locCommentText);
62326
62665
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.question.getCommentAreaCss() },
62327
62666
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", null, commentText),
62328
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_reactquestion_comment__WEBPACK_IMPORTED_MODULE_5__["SurveyQuestionCommentItem"], { question: this.question, cssClasses: cssClasses, otherCss: cssClasses.other, isDisplayMode: this.question.isInputReadOnly })));
62667
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_reactquestion_comment__WEBPACK_IMPORTED_MODULE_4__["SurveyQuestionCommentItem"], { question: this.question, cssClasses: cssClasses, otherCss: cssClasses.other, isDisplayMode: this.question.isInputReadOnly })));
62329
62668
  };
62330
62669
  SurveyQuestion.prototype.renderHeader = function (question) {
62331
- return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_element_header__WEBPACK_IMPORTED_MODULE_7__["SurveyElementHeader"], { element: question });
62670
+ return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_element_header__WEBPACK_IMPORTED_MODULE_6__["SurveyElementHeader"], { element: question });
62332
62671
  };
62333
62672
  SurveyQuestion.prototype.renderErrors = function (cssClasses, location) {
62334
62673
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"](SurveyElementErrors, { element: this.question, cssClasses: cssClasses, creator: this.creator, location: location, id: this.question.id + "_errors" }));
62335
62674
  };
62336
62675
  return SurveyQuestion;
62337
- }(_reactquestion_element__WEBPACK_IMPORTED_MODULE_4__["SurveyElementBase"]));
62676
+ }(_reactquestion_element__WEBPACK_IMPORTED_MODULE_3__["SurveyElementBase"]));
62338
62677
 
62339
- _element_factory__WEBPACK_IMPORTED_MODULE_3__["ReactElementFactory"].Instance.registerElement("question", function (props) {
62678
+ _element_factory__WEBPACK_IMPORTED_MODULE_2__["ReactElementFactory"].Instance.registerElement("question", function (props) {
62340
62679
  return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](SurveyQuestion, props);
62341
62680
  });
62342
62681
  var SurveyElementErrors = /** @class */ (function (_super) {
@@ -62344,7 +62683,6 @@ var SurveyElementErrors = /** @class */ (function (_super) {
62344
62683
  function SurveyElementErrors(props) {
62345
62684
  var _this = _super.call(this, props) || this;
62346
62685
  _this.state = _this.getState();
62347
- _this.tooltipRef = react__WEBPACK_IMPORTED_MODULE_0__["createRef"]();
62348
62686
  return _this;
62349
62687
  }
62350
62688
  Object.defineProperty(SurveyElementErrors.prototype, "id", {
@@ -62382,26 +62720,7 @@ var SurveyElementErrors = /** @class */ (function (_super) {
62382
62720
  SurveyElementErrors.prototype.canRender = function () {
62383
62721
  return !!this.element && this.element.hasVisibleErrors;
62384
62722
  };
62385
- SurveyElementErrors.prototype.componentDidUpdate = function (prevProps, prevState) {
62386
- _super.prototype.componentDidUpdate.call(this, prevProps, prevState);
62387
- if (this.props.location == "tooltip") {
62388
- if (this.tooltipRef.current && !this.tooltipManager) {
62389
- this.tooltipManager = new survey_core__WEBPACK_IMPORTED_MODULE_1__["TooltipManager"](this.tooltipRef.current);
62390
- }
62391
- if (!!this.tooltipManager && !this.tooltipRef.current) {
62392
- this.disposeTooltipManager();
62393
- }
62394
- }
62395
- };
62396
62723
  SurveyElementErrors.prototype.componentWillUnmount = function () {
62397
- if (!!this.tooltipManager) {
62398
- this.disposeTooltipManager();
62399
- }
62400
- };
62401
- SurveyElementErrors.prototype.disposeTooltipManager = function () {
62402
- var _a;
62403
- (_a = this.tooltipManager) === null || _a === void 0 ? void 0 : _a.dispose();
62404
- this.tooltipManager = undefined;
62405
62724
  };
62406
62725
  SurveyElementErrors.prototype.renderElement = function () {
62407
62726
  var errors = [];
@@ -62409,10 +62728,10 @@ var SurveyElementErrors = /** @class */ (function (_super) {
62409
62728
  var key = "error" + i;
62410
62729
  errors.push(this.creator.renderError(key, this.element.errors[i], this.cssClasses));
62411
62730
  }
62412
- return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { role: "alert", "aria-live": "polite", className: this.element.cssError, id: this.id, ref: this.tooltipRef }, errors));
62731
+ return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { role: "alert", "aria-live": "polite", className: this.element.cssError, id: this.id }, errors));
62413
62732
  };
62414
62733
  return SurveyElementErrors;
62415
- }(_reactquestion_element__WEBPACK_IMPORTED_MODULE_4__["ReactSurveyElement"]));
62734
+ }(_reactquestion_element__WEBPACK_IMPORTED_MODULE_3__["ReactSurveyElement"]));
62416
62735
 
62417
62736
  var SurveyQuestionAndErrorsWrapped = /** @class */ (function (_super) {
62418
62737
  __extends(SurveyQuestionAndErrorsWrapped, _super);
@@ -62458,23 +62777,9 @@ var SurveyQuestionAndErrorsWrapped = /** @class */ (function (_super) {
62458
62777
  SurveyQuestionAndErrorsWrapped.prototype.canRender = function () {
62459
62778
  return !!this.question;
62460
62779
  };
62461
- SurveyQuestionAndErrorsWrapped.prototype.renderErrors = function (errorsLocation) {
62462
- return this.getShowErrors() ? (react__WEBPACK_IMPORTED_MODULE_0__["createElement"](SurveyElementErrors, { element: this.question, cssClasses: this.cssClasses, creator: this.creator, location: errorsLocation })) : null;
62463
- };
62464
62780
  SurveyQuestionAndErrorsWrapped.prototype.renderContent = function () {
62465
- var errorsLocation = this.creator.questionErrorLocation();
62466
- var errors = this.renderErrors(errorsLocation);
62467
- var errorsTop = this.question.showErrorOnTop
62468
- ? errors
62469
- : null;
62470
- var errorsBottom = this.question.showErrorOnBottom
62471
- ? errors
62472
- : null;
62473
62781
  var renderedQuestion = this.renderQuestion();
62474
- return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null,
62475
- errorsTop,
62476
- renderedQuestion,
62477
- errorsBottom));
62782
+ return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null, renderedQuestion));
62478
62783
  };
62479
62784
  SurveyQuestionAndErrorsWrapped.prototype.getShowErrors = function () {
62480
62785
  return this.question.isVisible;
@@ -62483,7 +62788,7 @@ var SurveyQuestionAndErrorsWrapped = /** @class */ (function (_super) {
62483
62788
  return SurveyQuestion.renderQuestionBody(this.creator, this.question);
62484
62789
  };
62485
62790
  return SurveyQuestionAndErrorsWrapped;
62486
- }(_reactquestion_element__WEBPACK_IMPORTED_MODULE_4__["ReactSurveyElement"]));
62791
+ }(_reactquestion_element__WEBPACK_IMPORTED_MODULE_3__["ReactSurveyElement"]));
62487
62792
 
62488
62793
  var SurveyQuestionAndErrorsCell = /** @class */ (function (_super) {
62489
62794
  __extends(SurveyQuestionAndErrorsCell, _super);
@@ -62520,13 +62825,63 @@ var SurveyQuestionAndErrorsCell = /** @class */ (function (_super) {
62520
62825
  var survey = this.question.survey;
62521
62826
  var wrapper = null;
62522
62827
  if (survey) {
62523
- wrapper = _reactsurveymodel__WEBPACK_IMPORTED_MODULE_2__["ReactSurveyElementsWrapper"].wrapMatrixCell(survey, element, cell, this.props.reason);
62828
+ wrapper = _reactsurveymodel__WEBPACK_IMPORTED_MODULE_1__["ReactSurveyElementsWrapper"].wrapMatrixCell(survey, element, cell, this.props.reason);
62524
62829
  }
62525
62830
  return wrapper !== null && wrapper !== void 0 ? wrapper : element;
62526
62831
  };
62527
62832
  return SurveyQuestionAndErrorsCell;
62528
62833
  }(SurveyQuestionAndErrorsWrapped));
62529
62834
 
62835
+ var SurveyQuestionErrorCell = /** @class */ (function (_super) {
62836
+ __extends(SurveyQuestionErrorCell, _super);
62837
+ function SurveyQuestionErrorCell(props) {
62838
+ var _this = _super.call(this, props) || this;
62839
+ _this.state = {
62840
+ changed: 0
62841
+ };
62842
+ if (_this.question) {
62843
+ _this.registerCallback(_this.question);
62844
+ }
62845
+ return _this;
62846
+ }
62847
+ Object.defineProperty(SurveyQuestionErrorCell.prototype, "question", {
62848
+ get: function () {
62849
+ return this.props.question;
62850
+ },
62851
+ enumerable: false,
62852
+ configurable: true
62853
+ });
62854
+ SurveyQuestionErrorCell.prototype.update = function () {
62855
+ this.setState({ changed: this.state.changed + 1 });
62856
+ };
62857
+ SurveyQuestionErrorCell.prototype.registerCallback = function (question) {
62858
+ var _this = this;
62859
+ question.registerFunctionOnPropertyValueChanged("errors", function () {
62860
+ _this.update();
62861
+ }, "__reactSubscription");
62862
+ };
62863
+ SurveyQuestionErrorCell.prototype.unRegisterCallback = function (question) {
62864
+ question.unRegisterFunctionOnPropertyValueChanged("errors", "__reactSubscription");
62865
+ };
62866
+ SurveyQuestionErrorCell.prototype.componentDidUpdate = function (prevProps) {
62867
+ if (prevProps.question && prevProps.question !== this.question) {
62868
+ this.unRegisterCallback(prevProps.cell);
62869
+ }
62870
+ if (this.question) {
62871
+ this.registerCallback(this.question);
62872
+ }
62873
+ };
62874
+ SurveyQuestionErrorCell.prototype.componentWillUnmount = function () {
62875
+ if (this.question) {
62876
+ this.unRegisterCallback(this.question);
62877
+ }
62878
+ };
62879
+ SurveyQuestionErrorCell.prototype.render = function () {
62880
+ return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](SurveyElementErrors, { element: this.question, creator: this.props.creator, cssClasses: this.question.cssClasses });
62881
+ };
62882
+ return SurveyQuestionErrorCell;
62883
+ }(react__WEBPACK_IMPORTED_MODULE_0__["Component"]));
62884
+
62530
62885
 
62531
62886
 
62532
62887
  /***/ }),
@@ -64187,14 +64542,13 @@ _reactquestion_factory__WEBPACK_IMPORTED_MODULE_2__["ReactQuestionFactory"].Inst
64187
64542
  /*!********************************************************!*\
64188
64543
  !*** ./src/react/reactquestion_matrixdropdownbase.tsx ***!
64189
64544
  \********************************************************/
64190
- /*! exports provided: SurveyQuestionMatrixDropdownBase, SurveyQuestionMatrixDropdownCell, SurveyQuestionMatrixDropdownErrorCell */
64545
+ /*! exports provided: SurveyQuestionMatrixDropdownBase, SurveyQuestionMatrixDropdownCell */
64191
64546
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
64192
64547
 
64193
64548
  "use strict";
64194
64549
  __webpack_require__.r(__webpack_exports__);
64195
64550
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SurveyQuestionMatrixDropdownBase", function() { return SurveyQuestionMatrixDropdownBase; });
64196
64551
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SurveyQuestionMatrixDropdownCell", function() { return SurveyQuestionMatrixDropdownCell; });
64197
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SurveyQuestionMatrixDropdownErrorCell", function() { return SurveyQuestionMatrixDropdownErrorCell; });
64198
64552
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
64199
64553
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
64200
64554
  /* harmony import */ var _reactquestion_element__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./reactquestion_element */ "./src/react/reactquestion_element.tsx");
@@ -64405,7 +64759,7 @@ var SurveyQuestionMatrixDropdownBase = /** @class */ (function (_super) {
64405
64759
  }
64406
64760
  if (cell.isErrorsCell) {
64407
64761
  if (cell.isErrorsCell) {
64408
- return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"](SurveyQuestionMatrixDropdownErrorCell, { cell: cell, creator: this.creator }));
64762
+ return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_reactquestion__WEBPACK_IMPORTED_MODULE_2__["SurveyQuestionErrorCell"], { question: cell.question, creator: this.creator }));
64409
64763
  }
64410
64764
  }
64411
64765
  if (!cellContent)
@@ -64554,56 +64908,6 @@ var SurveyQuestionMatrixDropdownCell = /** @class */ (function (_super) {
64554
64908
  return SurveyQuestionMatrixDropdownCell;
64555
64909
  }(_reactquestion__WEBPACK_IMPORTED_MODULE_2__["SurveyQuestionAndErrorsCell"]));
64556
64910
 
64557
- var SurveyQuestionMatrixDropdownErrorCell = /** @class */ (function (_super) {
64558
- __extends(SurveyQuestionMatrixDropdownErrorCell, _super);
64559
- function SurveyQuestionMatrixDropdownErrorCell(props) {
64560
- var _this = _super.call(this, props) || this;
64561
- _this.state = {
64562
- changed: 0
64563
- };
64564
- if (_this.cell) {
64565
- _this.registerCallback(_this.cell);
64566
- }
64567
- return _this;
64568
- }
64569
- Object.defineProperty(SurveyQuestionMatrixDropdownErrorCell.prototype, "cell", {
64570
- get: function () {
64571
- return this.props.cell;
64572
- },
64573
- enumerable: false,
64574
- configurable: true
64575
- });
64576
- SurveyQuestionMatrixDropdownErrorCell.prototype.update = function () {
64577
- this.setState({ changed: this.state.changed + 1 });
64578
- };
64579
- SurveyQuestionMatrixDropdownErrorCell.prototype.registerCallback = function (cell) {
64580
- var _this = this;
64581
- cell.question.registerFunctionOnPropertyValueChanged("errors", function () {
64582
- _this.update();
64583
- }, "__reactSubscription");
64584
- };
64585
- SurveyQuestionMatrixDropdownErrorCell.prototype.unRegisterCallback = function (cell) {
64586
- cell.question.unRegisterFunctionOnPropertyValueChanged("errors", "__reactSubscription");
64587
- };
64588
- SurveyQuestionMatrixDropdownErrorCell.prototype.componentDidUpdate = function (prevProps) {
64589
- if (prevProps.cell && prevProps.cell !== this.cell) {
64590
- this.unRegisterCallback(prevProps.cell);
64591
- }
64592
- if (this.cell) {
64593
- this.registerCallback(this.cell);
64594
- }
64595
- };
64596
- SurveyQuestionMatrixDropdownErrorCell.prototype.componentWillUnmount = function () {
64597
- if (this.cell) {
64598
- this.unRegisterCallback(this.cell);
64599
- }
64600
- };
64601
- SurveyQuestionMatrixDropdownErrorCell.prototype.render = function () {
64602
- return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_reactquestion__WEBPACK_IMPORTED_MODULE_2__["SurveyElementErrors"], { element: this.cell.question, creator: this.props.creator, cssClasses: this.cell.question.cssClasses });
64603
- };
64604
- return SurveyQuestionMatrixDropdownErrorCell;
64605
- }(react__WEBPACK_IMPORTED_MODULE_0__["Component"]));
64606
-
64607
64911
 
64608
64912
 
64609
64913
  /***/ }),
@@ -64794,23 +65098,30 @@ var SurveyQuestionMultipleText = /** @class */ (function (_super) {
64794
65098
  var tableRows = this.question.getRows();
64795
65099
  var rows = [];
64796
65100
  for (var i = 0; i < tableRows.length; i++) {
64797
- rows.push(this.renderRow(i, tableRows[i], cssClasses));
65101
+ if (tableRows[i].isVisible) {
65102
+ rows.push(this.renderRow(i, tableRows[i].cells, cssClasses));
65103
+ }
64798
65104
  }
64799
65105
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("table", { className: cssClasses.root },
64800
65106
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("tbody", null, rows)));
64801
65107
  };
64802
- SurveyQuestionMultipleText.prototype.renderRow = function (rowIndex, items, cssClasses) {
65108
+ SurveyQuestionMultipleText.prototype.renderCell = function (cell, cssClasses, index) {
65109
+ var cellContent;
65110
+ var focusIn = function () { cell.item.focusIn(); };
65111
+ if (cell.isErrorsCell) {
65112
+ cellContent = react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_reactquestion__WEBPACK_IMPORTED_MODULE_2__["SurveyQuestionErrorCell"], { question: cell.item.editor, creator: this.creator });
65113
+ }
65114
+ else {
65115
+ cellContent = react__WEBPACK_IMPORTED_MODULE_0__["createElement"](SurveyMultipleTextItem, { question: this.question, item: cell.item, creator: this.creator, cssClasses: cssClasses });
65116
+ }
65117
+ return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("td", { key: "item" + index, className: cell.className, onFocus: focusIn }, cellContent));
65118
+ };
65119
+ SurveyQuestionMultipleText.prototype.renderRow = function (rowIndex, cells, cssClasses) {
64803
65120
  var key = "item" + rowIndex;
64804
65121
  var tds = [];
64805
- var _loop_1 = function (i) {
64806
- var item = items[i];
64807
- var focusIn = function () { item.focusIn(); };
64808
- tds.push(react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("td", { key: "item" + i, className: this_1.question.cssClasses.cell, onFocus: focusIn },
64809
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"](SurveyMultipleTextItem, { question: this_1.question, item: item, creator: this_1.creator, cssClasses: cssClasses })));
64810
- };
64811
- var this_1 = this;
64812
- for (var i = 0; i < items.length; i++) {
64813
- _loop_1(i);
65122
+ for (var i = 0; i < cells.length; i++) {
65123
+ var cell = cells[i];
65124
+ tds.push(this.renderCell(cell, cssClasses, i));
64814
65125
  }
64815
65126
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("tr", { key: key, className: cssClasses.row }, tds));
64816
65127
  };
@@ -64852,11 +65163,7 @@ var SurveyMultipleTextItem = /** @class */ (function (_super) {
64852
65163
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("label", { className: this.question.getItemLabelCss(item) },
64853
65164
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", { className: cssClasses.itemTitle },
64854
65165
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_components_title_title_content__WEBPACK_IMPORTED_MODULE_4__["TitleContent"], { element: item.editor, cssClasses: item.editor.cssClasses })),
64855
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"](SurveyMultipleTextItemEditor, { cssClasses: cssClasses, itemCss: this.question.getItemCss(), question: item.editor, creator: this.creator }),
64856
- this.renderItemTooltipError(item, cssClasses)));
64857
- };
64858
- SurveyMultipleTextItem.prototype.renderItemTooltipError = function (item, cssClasses) {
64859
- return this.item.editor.isErrorsModeTooltip ? (react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_reactquestion__WEBPACK_IMPORTED_MODULE_2__["SurveyElementErrors"], { element: item.editor, cssClasses: cssClasses, creator: this.creator, location: "tooltip" })) : null;
65166
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"](SurveyMultipleTextItemEditor, { cssClasses: cssClasses, itemCss: this.question.getItemCss(), question: item.editor, creator: this.creator })));
64860
65167
  };
64861
65168
  return SurveyMultipleTextItem;
64862
65169
  }(_reactquestion_element__WEBPACK_IMPORTED_MODULE_1__["ReactSurveyElement"]));
@@ -68714,23 +69021,6 @@ var SurveyElement = /** @class */ (function (_super) {
68714
69021
  enumerable: false,
68715
69022
  configurable: true
68716
69023
  });
68717
- Object.defineProperty(SurveyElement.prototype, "isErrorsModeTooltip", {
68718
- get: function () {
68719
- return this.getIsErrorsModeTooltip();
68720
- },
68721
- enumerable: false,
68722
- configurable: true
68723
- });
68724
- SurveyElement.prototype.getIsErrorsModeTooltip = function () {
68725
- return this.isDefaultV2Theme && this.hasParent && this.getIsTooltipErrorSupportedByParent();
68726
- };
68727
- SurveyElement.prototype.getIsTooltipErrorSupportedByParent = function () {
68728
- var _a;
68729
- return (_a = this.parent) === null || _a === void 0 ? void 0 : _a.getIsTooltipErrorInsideSupported();
68730
- };
68731
- SurveyElement.prototype.getIsTooltipErrorInsideSupported = function () {
68732
- return false;
68733
- };
68734
69024
  Object.defineProperty(SurveyElement.prototype, "hasParent", {
68735
69025
  get: function () {
68736
69026
  return (this.parent && !this.parent.isPage && (!this.parent.originalPage || this.survey.isShowingPreview)) || (this.parent === undefined);
@@ -68749,10 +69039,10 @@ var SurveyElement = /** @class */ (function (_super) {
68749
69039
  configurable: true
68750
69040
  });
68751
69041
  SurveyElement.prototype.getHasFrameV2 = function () {
68752
- return this.shouldAddRunnerStyles() && (!this.hasParent && this.isSingleInRow);
69042
+ return this.shouldAddRunnerStyles() && (!this.hasParent);
68753
69043
  };
68754
69044
  SurveyElement.prototype.getIsNested = function () {
68755
- return this.shouldAddRunnerStyles() && (this.hasParent || !this.isSingleInRow);
69045
+ return this.shouldAddRunnerStyles() && (this.hasParent);
68756
69046
  };
68757
69047
  SurveyElement.prototype.getCssRoot = function (cssClasses) {
68758
69048
  return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_6__["CssClassBuilder"]()
@@ -68958,6 +69248,12 @@ var SurveyElement = /** @class */ (function (_super) {
68958
69248
  });
68959
69249
  }
68960
69250
  };
69251
+ SurveyElement.prototype.dispose = function () {
69252
+ _super.prototype.dispose.call(this);
69253
+ if (this.titleToolbarValue) {
69254
+ this.titleToolbarValue.dispose();
69255
+ }
69256
+ };
68961
69257
  SurveyElement.CreateDisabledDesignElements = false;
68962
69258
  __decorate([
68963
69259
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__["property"])({ defaultValue: null })
@@ -69215,7 +69511,7 @@ var SurveyModel = /** @class */ (function (_super) {
69215
69511
  *
69216
69512
  * For information on event handler parameters, refer to descriptions within the interface.
69217
69513
  *
69218
- * [Continue an Incomplete Survey](https://surveyjs.io/form-library/documentation/handle-survey-results-continue-incomplete (linkStyle))
69514
+ * Alternatively, you can handle the [`onCurrentPageChanged`](#onCurrentPageChanged) and [`onValueChanged`](#onValueChanged) events, as shown in the following demo: [Continue an Incomplete Survey](https://surveyjs.io/form-library/examples/survey-editprevious/).
69219
69515
  */
69220
69516
  _this.onPartialSend = _this.addEvent();
69221
69517
  /**
@@ -69240,7 +69536,7 @@ var SurveyModel = /** @class */ (function (_super) {
69240
69536
  */
69241
69537
  _this.onValueChanging = _this.addEvent();
69242
69538
  /**
69243
- * An event that is raised after a question value is changed
69539
+ * An event that is raised after a question value is changed.
69244
69540
  *
69245
69541
  * For information on event handler parameters, refer to descriptions within the interface.
69246
69542
  *
@@ -69728,6 +70024,10 @@ var SurveyModel = /** @class */ (function (_super) {
69728
70024
  * An event that is raised after an item value is changed in a panel within a [Dynamic Panel](https://surveyjs.io/form-library/examples/questiontype-paneldynamic/) question.
69729
70025
  */
69730
70026
  _this.onDynamicPanelItemValueChanged = _this.addEvent();
70027
+ /**
70028
+ * An event that is raised before a [Dynamic Panel](https://surveyjs.io/form-library/examples/questiontype-paneldynamic/) renders [tab titles](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#templateTabTitle). Use this event to change individual tab titles.
70029
+ */
70030
+ _this.onGetDynamicPanelTabTitle = _this.addEvent();
69731
70031
  /**
69732
70032
  * Use this event to define, whether an answer to a question is correct or not.
69733
70033
  * @see Question.value
@@ -69945,6 +70245,16 @@ var SurveyModel = /** @class */ (function (_super) {
69945
70245
  _this.setCalculatedWidthModeUpdater();
69946
70246
  _this.notifier = new _notifier__WEBPACK_IMPORTED_MODULE_19__["Notifier"](_this.css.saveData);
69947
70247
  _this.notifier.addAction(_this.createTryAgainAction(), "error");
70248
+ _this.onPopupVisibleChanged.add(function (_, opt) {
70249
+ if (opt.visible) {
70250
+ _this.onScrollCallback = function () {
70251
+ opt.popup.toggleVisibility();
70252
+ };
70253
+ }
70254
+ else {
70255
+ _this.onScrollCallback = undefined;
70256
+ }
70257
+ });
69948
70258
  _this.layoutElements.push({
69949
70259
  id: "timerpanel",
69950
70260
  template: "survey-timerpanel",
@@ -70120,6 +70430,14 @@ var SurveyModel = /** @class */ (function (_super) {
70120
70430
  this.containerCss = this.css.container;
70121
70431
  this.completedCss = new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_18__["CssClassBuilder"]().append(this.css.body)
70122
70432
  .append(this.css.completedPage).toString(); // for completed page
70433
+ this.completedBeforeCss = new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_18__["CssClassBuilder"]()
70434
+ .append(this.css.body)
70435
+ .append(this.css.completedBeforePage)
70436
+ .toString();
70437
+ this.loadingBodyCss = new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_18__["CssClassBuilder"]()
70438
+ .append(this.css.body)
70439
+ .append(this.css.bodyLoading)
70440
+ .toString();
70123
70441
  };
70124
70442
  SurveyModel.prototype.updateCss = function () {
70125
70443
  this.rootCss = this.getRootCss();
@@ -70370,7 +70688,7 @@ var SurveyModel = /** @class */ (function (_super) {
70370
70688
  /**
70371
70689
  * Specifies whether to save survey results when respondents switch between pages. Handle the [`onPartialSend`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onPartialSend) event to implement the save operation.
70372
70690
  *
70373
- * [Continue an Incomplete Survey](https://surveyjs.io/form-library/documentation/handle-survey-results-continue-incomplete (linkStyle))
70691
+ * Alternatively, you can handle the [`onCurrentPageChanged`](#onCurrentPageChanged) and [`onValueChanged`](#onValueChanged) events, as shown in the following demo: [Continue an Incomplete Survey](https://surveyjs.io/form-library/examples/survey-editprevious/).
70374
70692
  */
70375
70693
  get: function () {
70376
70694
  return this.getPropertyValue("sendResultOnPageNext");
@@ -71926,11 +72244,12 @@ var SurveyModel = /** @class */ (function (_super) {
71926
72244
  SurveyModel.prototype.getProgressTypeComponent = function () {
71927
72245
  return "sv-progress-" + this.progressBarType.toLowerCase();
71928
72246
  };
71929
- SurveyModel.prototype.getProgressCssClasses = function () {
72247
+ SurveyModel.prototype.getProgressCssClasses = function (container) {
72248
+ if (container === void 0) { container = ""; }
71930
72249
  return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_18__["CssClassBuilder"]()
71931
72250
  .append(this.css.progress)
71932
- .append(this.css.progressTop, this.isShowProgressBarOnTop)
71933
- .append(this.css.progressBottom, this.isShowProgressBarOnBottom)
72251
+ .append(this.css.progressTop, this.isShowProgressBarOnTop && (!container || container == "header"))
72252
+ .append(this.css.progressBottom, this.isShowProgressBarOnBottom && (!container || container == "footer"))
71934
72253
  .toString();
71935
72254
  };
71936
72255
  SurveyModel.prototype.canShowProresBar = function () {
@@ -72278,6 +72597,11 @@ var SurveyModel = /** @class */ (function (_super) {
72278
72597
  var key = keys[i];
72279
72598
  values[key] = this.getDataValueCore(this.valuesHash, key);
72280
72599
  }
72600
+ this.getAllQuestions().forEach(function (q) {
72601
+ if (q.hasFilteredValue) {
72602
+ values[q.getValueName()] = q.getFilteredValue();
72603
+ }
72604
+ });
72281
72605
  return values;
72282
72606
  };
72283
72607
  SurveyModel.prototype.addCalculatedValuesIntoFilteredValues = function (values) {
@@ -74204,6 +74528,7 @@ var SurveyModel = /** @class */ (function (_super) {
74204
74528
  .append(this.css.rootMobile, this.isMobile)
74205
74529
  .append(this.css.rootReadOnly, this.mode === "display")
74206
74530
  .append(this.css.rootCompact, this.isCompact)
74531
+ .append(this.css.rootFitToContainer, this.fitToContainer)
74207
74532
  .toString();
74208
74533
  };
74209
74534
  SurveyModel.prototype.afterRenderSurvey = function (htmlElement) {
@@ -74234,6 +74559,7 @@ var SurveyModel = /** @class */ (function (_super) {
74234
74559
  htmlElement: htmlElement,
74235
74560
  });
74236
74561
  this.rootElement = htmlElement;
74562
+ this.addScrollEventListener();
74237
74563
  };
74238
74564
  SurveyModel.prototype.processResponsiveness = function (width, mobileWidth) {
74239
74565
  var isMobile = width < mobileWidth;
@@ -74496,6 +74822,10 @@ var SurveyModel = /** @class */ (function (_super) {
74496
74822
  options.panelData = options.itemValue;
74497
74823
  this.onDynamicPanelItemValueChanged.fire(this, options);
74498
74824
  };
74825
+ SurveyModel.prototype.dynamicPanelGetTabTitle = function (question, options) {
74826
+ options.question = question;
74827
+ this.onGetDynamicPanelTabTitle.fire(this, options);
74828
+ };
74499
74829
  SurveyModel.prototype.dragAndDropAllow = function (options) {
74500
74830
  this.onDragDropAllow.fire(this, options);
74501
74831
  return options.allow;
@@ -74758,9 +75088,11 @@ var SurveyModel = /** @class */ (function (_super) {
74758
75088
  }
74759
75089
  };
74760
75090
  /**
74761
- * Returns a question by its name.
74762
- * @param name a question name
74763
- * @param caseInsensitive
75091
+ * Returns a question with a specified [`name`](https://surveyjs.io/form-library/documentation/api-reference/question#name).
75092
+ * @param name A question name
75093
+ * @param caseInsensitive (Optional) A Boolean value that specifies case sensitivity when searching for the question. Default value: `false` (uppercase and lowercase letters are treated as distinct).
75094
+ * @returns A question with a specified name.
75095
+ * @see getAllQuestions
74764
75096
  * @see getQuestionByValueName
74765
75097
  */
74766
75098
  SurveyModel.prototype.getQuestionByName = function (name, caseInsensitive) {
@@ -74782,12 +75114,14 @@ var SurveyModel = /** @class */ (function (_super) {
74782
75114
  return this.getQuestionByName(name);
74783
75115
  };
74784
75116
  /**
74785
- * Returns a question by its value name
74786
- * @param valueName a question name
74787
- * @param caseInsensitive
75117
+ * Returns a question with a specified [`valueName`](https://surveyjs.io/form-library/documentation/api-reference/question#valueName).
75118
+ *
75119
+ * > Since `valueName` does not have to be unique, multiple questions can have the same `valueName` value. In this case, the `getQuestionByValueName()` method returns the first such question. If you need to get all questions with the same `valueName`, call the `getQuestionsByValueName()` method.
75120
+ * @param valueName A question's `valueName` property value.
75121
+ * @param caseInsensitive (Optional) A Boolean value that specifies case sensitivity when searching for the question. Default value: `false` (uppercase and lowercase letters are treated as distinct).
75122
+ * @returns A question with a specified `valueName`.
75123
+ * @see getAllQuestions
74788
75124
  * @see getQuestionByName
74789
- * @see getQuestionsByValueName
74790
- * @see Question.valueName
74791
75125
  */
74792
75126
  SurveyModel.prototype.getQuestionByValueName = function (valueName, caseInsensitive) {
74793
75127
  if (caseInsensitive === void 0) { caseInsensitive = false; }
@@ -74795,12 +75129,12 @@ var SurveyModel = /** @class */ (function (_super) {
74795
75129
  return !!res ? res[0] : null;
74796
75130
  };
74797
75131
  /**
74798
- * Returns all questions by their valueName. name property is used if valueName property is empty.
74799
- * @param valueName a question name
74800
- * @param caseInsensitive
75132
+ * Returns all questions with a specified [`valueName`](https://surveyjs.io/form-library/documentation/api-reference/question#valueName). If a question's `valueName` is undefined, its [`name`](https://surveyjs.io/form-library/documentation/api-reference/question#name) property is used.
75133
+ * @param valueName A question's `valueName` property value.
75134
+ * @param caseInsensitive (Optional) A Boolean value that specifies case sensitivity when searching for the questions. Default value: `false` (uppercase and lowercase letters are treated as distinct).
75135
+ * @returns An array of questions with a specified `valueName`.
75136
+ * @see getAllQuestions
74801
75137
  * @see getQuestionByName
74802
- * @see getQuestionByValueName
74803
- * @see Question.valueName
74804
75138
  */
74805
75139
  SurveyModel.prototype.getQuestionsByValueName = function (valueName, caseInsensitive) {
74806
75140
  if (caseInsensitive === void 0) { caseInsensitive = false; }
@@ -74820,9 +75154,11 @@ var SurveyModel = /** @class */ (function (_super) {
74820
75154
  return null;
74821
75155
  };
74822
75156
  /**
74823
- * Gets a list of questions by their names.
74824
- * @param names an array of question names
74825
- * @param caseInsensitive
75157
+ * Returns an array of questions with specified [names](https://surveyjs.io/form-library/documentation/api-reference/question#name).
75158
+ * @param names An array of question names.
75159
+ * @param caseInsensitive (Optional) A Boolean value that specifies case sensitivity when searching for the questions. Default value: `false` (uppercase and lowercase letters are treated as distinct).
75160
+ * @returns An array of questions with specified names
75161
+ * @see getAllQuestions
74826
75162
  */
74827
75163
  SurveyModel.prototype.getQuestionsByNames = function (names, caseInsensitive) {
74828
75164
  if (caseInsensitive === void 0) { caseInsensitive = false; }
@@ -74886,10 +75222,12 @@ var SurveyModel = /** @class */ (function (_super) {
74886
75222
  return result;
74887
75223
  };
74888
75224
  /**
74889
- * Returns a list of all questions in the survey.
75225
+ * Returns a list of all [questions](https://surveyjs.io/form-library/documentation/api-reference/question) in the survey.
74890
75226
  * @param visibleOnly A Boolean value that specifies whether to include only visible questions.
74891
75227
  * @param includeDesignTime For internal use.
74892
75228
  * @param includeNested A Boolean value that specifies whether to include nested questions, such as questions within matrix cells.
75229
+ * @returns An array of questions.
75230
+ * @see getQuestionByName
74893
75231
  */
74894
75232
  SurveyModel.prototype.getAllQuestions = function (visibleOnly, includeDesignTime, includeNested) {
74895
75233
  if (visibleOnly === void 0) { visibleOnly = false; }
@@ -74911,7 +75249,10 @@ var SurveyModel = /** @class */ (function (_super) {
74911
75249
  return res2;
74912
75250
  };
74913
75251
  /**
74914
- * Returns quiz questions. All visible questions that has input(s) widgets.
75252
+ * Returns an array of quiz questions. A question counts if it is visible, has an input field, and specifies [`correctAnswer`](https://surveyjs.io/form-library/documentation/api-reference/checkbox-question-model#correctAnswer).
75253
+ *
75254
+ * For more information about quizzes, refer to the following tutorial: [Create a Quiz](https://surveyjs.io/form-library/documentation/design-survey/create-a-quiz).
75255
+ * @returns An array of quiz questions.
74915
75256
  * @see getQuizQuestionCount
74916
75257
  */
74917
75258
  SurveyModel.prototype.getQuizQuestions = function () {
@@ -74931,10 +75272,11 @@ var SurveyModel = /** @class */ (function (_super) {
74931
75272
  return result;
74932
75273
  };
74933
75274
  /**
74934
- * Returns a panel by its name.
74935
- * @param name a panel name
74936
- * @param caseInsensitive
74937
- * @see getQuestionByName
75275
+ * Returns a [panel](https://surveyjs.io/form-library/documentation/api-reference/panel-model) with a specified [`name`](https://surveyjs.io/form-library/documentation/api-reference/panel-model#name).
75276
+ * @param name A panel name.
75277
+ * @param caseInsensitive (Optional) A Boolean value that specifies case sensitivity when searching for the panel. Default value: `false` (uppercase and lowercase letters are treated as distinct).
75278
+ * @returns A panel with a specified name.
75279
+ * @see getAllPanels
74938
75280
  */
74939
75281
  SurveyModel.prototype.getPanelByName = function (name, caseInsensitive) {
74940
75282
  if (caseInsensitive === void 0) { caseInsensitive = false; }
@@ -74951,7 +75293,11 @@ var SurveyModel = /** @class */ (function (_super) {
74951
75293
  return null;
74952
75294
  };
74953
75295
  /**
74954
- * Returns a list of all survey's panels.
75296
+ * Returns a list of all [panels](https://surveyjs.io/form-library/documentation/api-reference/panel-model) in the survey.
75297
+ * @param visibleOnly A Boolean value that specifies whether to include only visible panels.
75298
+ * @param includeDesignTime For internal use.
75299
+ * @returns An array of panels.
75300
+ * @see getPanelByName
74955
75301
  */
74956
75302
  SurveyModel.prototype.getAllPanels = function (visibleOnly, includeDesignTime) {
74957
75303
  if (visibleOnly === void 0) { visibleOnly = false; }
@@ -75666,9 +76012,13 @@ var SurveyModel = /** @class */ (function (_super) {
75666
76012
  }
75667
76013
  };
75668
76014
  /**
75669
- * Returns a variable value. Variable, unlike values, are not stored in the survey results.
75670
- * @param name A variable name
75671
- * @see SetVariable
76015
+ * Returns a variable value.
76016
+ *
76017
+ * [Variables help topic](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#variables (linkStyle))
76018
+ * @param name A variable name.
76019
+ * @return A variable value.
76020
+ * @see setVariable
76021
+ * @see getVariableNames
75672
76022
  */
75673
76023
  SurveyModel.prototype.getVariable = function (name) {
75674
76024
  if (!name)
@@ -75684,10 +76034,13 @@ var SurveyModel = /** @class */ (function (_super) {
75684
76034
  return res;
75685
76035
  };
75686
76036
  /**
75687
- * Sets a variable value. Variable, unlike values, are not stored in the survey results.
75688
- * @param name A variable name
75689
- * @param newValue A variable new value
75690
- * @see GetVariable
76037
+ * Sets a variable value.
76038
+ *
76039
+ * [Variables help topic](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#variables (linkStyle))
76040
+ * @param name A variable name.
76041
+ * @param newValue A new variable value.
76042
+ * @see getVariable
76043
+ * @see getVariableNames
75691
76044
  */
75692
76045
  SurveyModel.prototype.setVariable = function (name, newValue) {
75693
76046
  if (!name)
@@ -75702,7 +76055,10 @@ var SurveyModel = /** @class */ (function (_super) {
75702
76055
  this.onVariableChanged.fire(this, { name: name, value: newValue });
75703
76056
  };
75704
76057
  /**
75705
- * Returns all variables in the survey. Use setVariable function to create a new variable.
76058
+ * Returns the names of all variables in the survey.
76059
+ *
76060
+ * [Variables help topic](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#variables (linkStyle))
76061
+ * @returns An array of variable names.
75706
76062
  * @see getVariable
75707
76063
  * @see setVariable
75708
76064
  */
@@ -75720,8 +76076,9 @@ var SurveyModel = /** @class */ (function (_super) {
75720
76076
  return _helpers__WEBPACK_IMPORTED_MODULE_0__["Helpers"].getUnbindValue(value);
75721
76077
  };
75722
76078
  /**
75723
- * Returns a question value (answer) by a question's name.
75724
- * @param name A question name
76079
+ * Returns a value (answer) for a question with a specified `name`.
76080
+ * @param name A question name.
76081
+ * @returns A question value (answer).
75725
76082
  * @see data
75726
76083
  * @see setValue
75727
76084
  */
@@ -75732,16 +76089,15 @@ var SurveyModel = /** @class */ (function (_super) {
75732
76089
  return this.getUnbindValue(value);
75733
76090
  };
75734
76091
  /**
75735
- * Sets a question value (answer). It runs all triggers and conditions (`visibleIf` properties).
76092
+ * Sets a question value (answer).
75736
76093
  *
75737
- * Goes to the next page if `goNextPageAutomatic` is `true` and all questions on the current page are answered correctly.
75738
- * @param name A question name
75739
- * @param newValue A new question value
76094
+ * > This method executes all triggers and reevaluates conditions (`visibleIf`, `requiredId`, and others). It also switches the survey to the next page if the [`goNextPageAutomatic`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#goNextPageAutomatic) property is enabled and all questions on the current page have correct answers.
76095
+ * @param name A question name.
76096
+ * @param newValue A new question value.
76097
+ * @param locNotification For internal use.
76098
+ * @param allowNotifyValueChanged For internal use.
75740
76099
  * @see data
75741
76100
  * @see getValue
75742
- * @see PageModel.visibleIf
75743
- * @see Question.visibleIf
75744
- * @see goNextPageAutomatic
75745
76101
  */
75746
76102
  SurveyModel.prototype.setValue = function (name, newQuestionValue, locNotification, allowNotifyValueChanged) {
75747
76103
  if (locNotification === void 0) { locNotification = false; }
@@ -75758,7 +76114,7 @@ var SurveyModel = /** @class */ (function (_super) {
75758
76114
  this.isTwoValueEquals(newValue, newQuestionValue))
75759
76115
  return;
75760
76116
  var oldValue = this.getValue(name);
75761
- if (this.isValueEmpty(newValue, false)) {
76117
+ if (this.isValueEmpyOnSetValue(name, newValue)) {
75762
76118
  this.deleteDataValueCore(this.valuesHash, name);
75763
76119
  }
75764
76120
  else {
@@ -75767,6 +76123,13 @@ var SurveyModel = /** @class */ (function (_super) {
75767
76123
  }
75768
76124
  this.updateOnSetValue(name, newValue, oldValue, locNotification, allowNotifyValueChanged);
75769
76125
  };
76126
+ SurveyModel.prototype.isValueEmpyOnSetValue = function (name, val) {
76127
+ if (!this.isValueEmpty(val, false))
76128
+ return false;
76129
+ if (!this.editingObj || val === null || val === undefined)
76130
+ return true;
76131
+ return this.editingObj.getDefaultPropertyValue(name) === val;
76132
+ };
75770
76133
  SurveyModel.prototype.updateOnSetValue = function (name, newValue, oldValue, locNotification, allowNotifyValueChanged) {
75771
76134
  if (locNotification === void 0) { locNotification = false; }
75772
76135
  if (allowNotifyValueChanged === void 0) { allowNotifyValueChanged = true; }
@@ -75865,8 +76228,9 @@ var SurveyModel = /** @class */ (function (_super) {
75865
76228
  }
75866
76229
  };
75867
76230
  /**
75868
- * Returns the comment value.
75869
- * @param name A comment's name.
76231
+ * Returns a comment value from a question with a specified `name`.
76232
+ * @param name A question name.
76233
+ * @returns A comment.
75870
76234
  * @see setComment
75871
76235
  */
75872
76236
  SurveyModel.prototype.getComment = function (name) {
@@ -75874,9 +76238,10 @@ var SurveyModel = /** @class */ (function (_super) {
75874
76238
  return res || "";
75875
76239
  };
75876
76240
  /**
75877
- * Sets a comment value.
75878
- * @param name A comment name.
76241
+ * Sets a comment value to a question with a specified `name`.
76242
+ * @param name A question name.
75879
76243
  * @param newValue A new comment value.
76244
+ * @param locNotification For internal use.
75880
76245
  * @see getComment
75881
76246
  */
75882
76247
  SurveyModel.prototype.setComment = function (name, newValue, locNotification) {
@@ -76149,13 +76514,23 @@ var SurveyModel = /** @class */ (function (_super) {
76149
76514
  return this.getCorrectedAnswerCountCore(true);
76150
76515
  };
76151
76516
  /**
76152
- * Returns an amount of corrected quiz answers.
76517
+ * Returns the number of correct answers in a quiz.
76518
+ *
76519
+ * For more information about quizzes, refer to the following tutorial: [Create a Quiz](https://surveyjs.io/form-library/documentation/design-survey/create-a-quiz).
76520
+ * @returns The number of correct answers in a quiz.
76521
+ * @see getQuizQuestionCount
76522
+ * @see getInCorrectAnswerCount
76153
76523
  */
76154
76524
  SurveyModel.prototype.getCorrectAnswerCount = function () {
76155
76525
  return this.getCorrectedAnswerCountCore(true);
76156
76526
  };
76157
76527
  /**
76158
- * Returns quiz question number. It may be different from `getQuizQuestions.length` because some widgets like matrix may have several questions.
76528
+ * Returns the number of quiz questions. A question counts if it is visible, has an input field, and specifies [`correctAnswer`](https://surveyjs.io/form-library/documentation/api-reference/checkbox-question-model#correctAnswer).
76529
+ *
76530
+ * This number may be different from `getQuizQuestions().length` because certain question types (for instance, matrix-like types) include more than one question.
76531
+ *
76532
+ * For more information about quizzes, refer to the following tutorial: [Create a Quiz](https://surveyjs.io/form-library/documentation/design-survey/create-a-quiz).
76533
+ * @returns The number of quiz questions.
76159
76534
  * @see getQuizQuestions
76160
76535
  */
76161
76536
  SurveyModel.prototype.getQuizQuestionCount = function () {
@@ -76170,7 +76545,11 @@ var SurveyModel = /** @class */ (function (_super) {
76170
76545
  return this.getCorrectedAnswerCountCore(false);
76171
76546
  };
76172
76547
  /**
76173
- * Returns an amount of incorrect quiz answers.
76548
+ * Returns the number of incorrect answers in a quiz.
76549
+ *
76550
+ * For more information about quizzes, refer to the following tutorial: [Create a Quiz](https://surveyjs.io/form-library/documentation/design-survey/create-a-quiz).
76551
+ * @returns The number of incorrect answers in a quiz.
76552
+ * @see getCorrectAnswerCount
76174
76553
  */
76175
76554
  SurveyModel.prototype.getInCorrectAnswerCount = function () {
76176
76555
  return this.getCorrectedAnswerCountCore(false);
@@ -76810,7 +77189,7 @@ var SurveyModel = /** @class */ (function (_super) {
76810
77189
  containerLayoutElements.push(layoutElement);
76811
77190
  }
76812
77191
  }
76813
- if (container === "contentBottom") {
77192
+ if (container === "footer") {
76814
77193
  if (this.isShowProgressBarOnBottom && !this.isShowStartingPage) {
76815
77194
  containerLayoutElements.push(layoutElement);
76816
77195
  }
@@ -76869,12 +77248,14 @@ var SurveyModel = /** @class */ (function (_super) {
76869
77248
  * Use this method to dispose survey model properly.
76870
77249
  */
76871
77250
  SurveyModel.prototype.dispose = function () {
76872
- this.currentPage = null;
77251
+ this.removeScrollEventListener();
76873
77252
  this.destroyResizeObserver();
77253
+ this.rootElement = undefined;
76874
77254
  _super.prototype.dispose.call(this);
76875
77255
  this.editingObj = null;
76876
77256
  if (!this.pages)
76877
77257
  return;
77258
+ this.currentPage = null;
76878
77259
  for (var i = 0; i < this.pages.length; i++) {
76879
77260
  this.pages[i].setSurveyImpl(undefined);
76880
77261
  this.pages[i].dispose();
@@ -76884,15 +77265,39 @@ var SurveyModel = /** @class */ (function (_super) {
76884
77265
  this.disposeCallback();
76885
77266
  }
76886
77267
  };
77268
+ SurveyModel.prototype.onScroll = function () {
77269
+ if (this.onScrollCallback) {
77270
+ this.onScrollCallback();
77271
+ }
77272
+ };
77273
+ SurveyModel.prototype.addScrollEventListener = function () {
77274
+ var _this = this;
77275
+ this.scrollHandler = function () { _this.onScroll(); };
77276
+ this.rootElement.addEventListener("scroll", this.scrollHandler);
77277
+ };
77278
+ SurveyModel.prototype.removeScrollEventListener = function () {
77279
+ if (!!this.rootElement && !!this.scrollHandler) {
77280
+ this.rootElement.removeEventListener("scroll", this.scrollHandler);
77281
+ }
77282
+ };
76887
77283
  SurveyModel.TemplateRendererComponentName = "sv-template-renderer";
76888
77284
  SurveyModel.stylesManager = null;
76889
77285
  SurveyModel.platform = "unknown";
76890
77286
  __decorate([
76891
77287
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])()
76892
77288
  ], SurveyModel.prototype, "completedCss", void 0);
77289
+ __decorate([
77290
+ Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])()
77291
+ ], SurveyModel.prototype, "completedBeforeCss", void 0);
77292
+ __decorate([
77293
+ Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])()
77294
+ ], SurveyModel.prototype, "loadingBodyCss", void 0);
76893
77295
  __decorate([
76894
77296
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])()
76895
77297
  ], SurveyModel.prototype, "containerCss", void 0);
77298
+ __decorate([
77299
+ Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])({ onSet: function (newValue, target) { target.updateCss(); } })
77300
+ ], SurveyModel.prototype, "fitToContainer", void 0);
76896
77301
  __decorate([
76897
77302
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])()
76898
77303
  ], SurveyModel.prototype, "showBrandInfo", void 0);
@@ -77168,6 +77573,7 @@ _jsonobject__WEBPACK_IMPORTED_MODULE_1__["Serializer"].addClass("survey", [
77168
77573
  choices: ["auto", "static", "responsive"],
77169
77574
  },
77170
77575
  { name: "width", visibleIf: function (obj) { return obj.widthMode === "static"; } },
77576
+ { name: "fitToContainer:boolean", default: false },
77171
77577
  { name: "backgroundImage", visible: false },
77172
77578
  { name: "backgroundImageFit", default: "cover", choices: ["auto", "contain", "cover"], visible: false },
77173
77579
  { name: "backgroundImageAttachment", default: "scroll", choices: ["scroll", "fixed"], visible: false },
@@ -79242,37 +79648,6 @@ var VerticalResponsivityManager = /** @class */ (function (_super) {
79242
79648
 
79243
79649
 
79244
79650
 
79245
- /***/ }),
79246
-
79247
- /***/ "./src/utils/tooltip.ts":
79248
- /*!******************************!*\
79249
- !*** ./src/utils/tooltip.ts ***!
79250
- \******************************/
79251
- /*! exports provided: TooltipManager */
79252
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
79253
-
79254
- "use strict";
79255
- __webpack_require__.r(__webpack_exports__);
79256
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "TooltipManager", function() { return TooltipManager; });
79257
- var TooltipManager = /** @class */ (function () {
79258
- function TooltipManager(tooltipElement) {
79259
- var _this = this;
79260
- this.tooltipElement = tooltipElement;
79261
- this.onMouseMoveCallback = function (e) {
79262
- _this.tooltipElement.style.left = e.clientX + 12 + "px";
79263
- _this.tooltipElement.style.top = e.clientY + 12 + "px";
79264
- };
79265
- this.targetElement = tooltipElement.parentElement;
79266
- this.targetElement.addEventListener("mousemove", this.onMouseMoveCallback);
79267
- }
79268
- TooltipManager.prototype.dispose = function () {
79269
- this.targetElement.removeEventListener("mousemove", this.onMouseMoveCallback);
79270
- };
79271
- return TooltipManager;
79272
- }());
79273
-
79274
-
79275
-
79276
79651
  /***/ }),
79277
79652
 
79278
79653
  /***/ "./src/utils/utils.ts":