survey-react 1.9.104 → 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.104
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 () {
@@ -2064,7 +2095,7 @@ var Base = /** @class */ (function () {
2064
2095
  var locStr = this.localizableStrings ? this.localizableStrings[name] : undefined;
2065
2096
  if (locStr)
2066
2097
  return locStr.text;
2067
- if (defaultValue != null)
2098
+ if (defaultValue !== null && defaultValue !== undefined)
2068
2099
  return defaultValue;
2069
2100
  var propDefaultValue = this.getDefaultPropertyValue(name);
2070
2101
  if (propDefaultValue !== undefined)
@@ -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);
@@ -3390,7 +3430,8 @@ var ChoicesRestful = /** @class */ (function (_super) {
3390
3430
  * @see titleName
3391
3431
  */
3392
3432
  get: function () {
3393
- return this.getPropertyValue("path", "");
3433
+ var res = this.getPropertyValue("path");
3434
+ return !!res ? res : "";
3394
3435
  },
3395
3436
  set: function (val) {
3396
3437
  this.setPropertyValue("path", val);
@@ -4675,6 +4716,8 @@ var modernCss = {
4675
4716
  small: "sv-row__question--small",
4676
4717
  controls: "sjs_sp_controls",
4677
4718
  placeholder: "sjs_sp_placeholder",
4719
+ canvas: "sjs_sp_canvas",
4720
+ backgroundImage: "sjs_sp__background-image",
4678
4721
  clearButton: "sjs_sp_clear",
4679
4722
  },
4680
4723
  saveData: {
@@ -5065,6 +5108,8 @@ var defaultStandardCss = {
5065
5108
  root: "sv_q_signaturepad sjs_sp_container",
5066
5109
  controls: "sjs_sp_controls",
5067
5110
  placeholder: "sjs_sp_placeholder",
5111
+ canvas: "sjs_sp_canvas",
5112
+ backgroundImage: "sjs_sp__background-image",
5068
5113
  clearButton: "sjs_sp_clear",
5069
5114
  },
5070
5115
  saveData: {
@@ -5153,6 +5198,7 @@ var defaultV2Css = {
5153
5198
  rootMobile: "sd-root-modern--mobile",
5154
5199
  rootReadOnly: "sd-root--readonly",
5155
5200
  rootCompact: "sd-root--compact",
5201
+ rootFitToContainer: "sd-root-modern--full-container",
5156
5202
  rootBackgroundImage: "sd-root_background-image",
5157
5203
  container: "sd-container-modern",
5158
5204
  header: "sd-title sd-container-modern__title",
@@ -5168,6 +5214,7 @@ var defaultV2Css = {
5168
5214
  clockTimerMinorText: "sd-timer__text--minor",
5169
5215
  clockTimerMajorText: "sd-timer__text--major",
5170
5216
  bodyEmpty: "sd-body sd-body--empty",
5217
+ bodyLoading: "sd-body--loading",
5171
5218
  footer: "sd-footer sd-body__navigation sd-clearfix",
5172
5219
  title: "sd-title",
5173
5220
  description: "sd-description",
@@ -5178,6 +5225,7 @@ var defaultV2Css = {
5178
5225
  navigationButton: "",
5179
5226
  bodyNavigationButton: "sd-btn",
5180
5227
  completedPage: "sd-completedpage",
5228
+ completedBeforePage: "sd-completed-before-page",
5181
5229
  timerRoot: "sd-body__timer",
5182
5230
  navigation: {
5183
5231
  complete: "sd-btn--action sd-navigation__complete-btn",
@@ -5453,7 +5501,10 @@ var defaultV2Css = {
5453
5501
  itemTitle: "sd-multipletext__item-title",
5454
5502
  content: "sd-multipletext__content sd-question__content",
5455
5503
  row: "sd-multipletext__row",
5456
- 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"
5457
5508
  },
5458
5509
  dropdown: {
5459
5510
  root: "sd-selectbase",
@@ -5712,6 +5763,8 @@ var defaultV2Css = {
5712
5763
  small: "sd-row__question--small",
5713
5764
  controls: "sjs_sp_controls sd-signaturepad__controls",
5714
5765
  placeholder: "sjs_sp_placeholder",
5766
+ canvas: "sjs_sp_canvas sd-signaturepad__canvas",
5767
+ backgroundImage: "sjs_sp__background-image sd-signaturepad__background-image",
5715
5768
  clearButton: "sjs_sp_clear sd-context-btn sd-context-btn--negative sd-signaturepad__clear",
5716
5769
  clearButtonIconId: "icon-clear"
5717
5770
  },
@@ -6413,8 +6466,14 @@ var DragDropChoices = /** @class */ (function (_super) {
6413
6466
  };
6414
6467
  DragDropChoices.prototype.getVisibleChoices = function () {
6415
6468
  var parent = this.parentElement;
6416
- if (parent.getType() === "ranking")
6417
- return parent.rankingChoices;
6469
+ if (parent.getType() === "ranking") {
6470
+ if (parent.selectToRankEnabled) {
6471
+ return parent.visibleChoices;
6472
+ }
6473
+ else {
6474
+ return parent.rankingChoices;
6475
+ }
6476
+ }
6418
6477
  return parent.visibleChoices;
6419
6478
  };
6420
6479
  DragDropChoices.prototype.isDropTargetValid = function (dropTarget, dropTargetNode) {
@@ -6596,9 +6655,12 @@ var DragDropCore = /** @class */ (function () {
6596
6655
  DragDropCore.prototype.doDragOver = function () { };
6597
6656
  DragDropCore.prototype.afterDragOver = function (dropTargetNode) { };
6598
6657
  DragDropCore.prototype.findDropTargetNodeFromPoint = function (clientX, clientY) {
6599
- this.domAdapter.draggedElementShortcut.hidden = true;
6658
+ var displayProp = this.domAdapter.draggedElementShortcut.style.display;
6659
+ //this.domAdapter.draggedElementShortcut.hidden = true;
6660
+ this.domAdapter.draggedElementShortcut.style.display = "none";
6600
6661
  var dragOverNode = document.elementFromPoint(clientX, clientY);
6601
- this.domAdapter.draggedElementShortcut.hidden = false;
6662
+ // this.domAdapter.draggedElementShortcut.hidden = false;
6663
+ this.domAdapter.draggedElementShortcut.style.display = displayProp || "block";
6602
6664
  if (!dragOverNode)
6603
6665
  return null;
6604
6666
  return this.findDropTargetNodeByDragOverNode(dragOverNode);
@@ -6707,6 +6769,7 @@ if (typeof window !== "undefined") {
6707
6769
  var DragDropDOMAdapter = /** @class */ (function () {
6708
6770
  function DragDropDOMAdapter(dd, longTap) {
6709
6771
  var _this = this;
6772
+ if (longTap === void 0) { longTap = true; }
6710
6773
  this.dd = dd;
6711
6774
  this.longTap = longTap;
6712
6775
  this.scrollIntervalId = null;
@@ -6759,9 +6822,13 @@ var DragDropDOMAdapter = /** @class */ (function () {
6759
6822
  _this.draggedElementShortcut = null;
6760
6823
  _this.scrollIntervalId = null;
6761
6824
  if (_utils_devices__WEBPACK_IMPORTED_MODULE_1__["IsTouch"]) {
6825
+ _this.savedTargetNode.style.cssText = null;
6762
6826
  _this.savedTargetNode && _this.savedTargetNode.parentElement.removeChild(_this.savedTargetNode);
6827
+ _this.savedTargetNodeParent.appendChild(_this.savedTargetNode);
6763
6828
  DragDropDOMAdapter.PreventScrolling = false;
6764
6829
  }
6830
+ _this.savedTargetNode = null;
6831
+ _this.savedTargetNodeParent = null;
6765
6832
  document.body.style.setProperty("touch-action", "");
6766
6833
  document.body.style.setProperty("user-select", "");
6767
6834
  document.body.style.setProperty("-webkit-user-select", "");
@@ -6809,6 +6876,7 @@ var DragDropDOMAdapter = /** @class */ (function () {
6809
6876
  _this.savedTargetNode = event.target;
6810
6877
  _this.savedTargetNode.style.cssText =
6811
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;
6812
6880
  _this.rootElement.appendChild(_this.savedTargetNode);
6813
6881
  }
6814
6882
  _this.stopLongTap();
@@ -7537,9 +7605,10 @@ var DropdownListModel = /** @class */ (function (_super) {
7537
7605
  _this.filterString = newValue;
7538
7606
  }
7539
7607
  };
7540
- question.onPropertyChanged.add(function (sender, options) {
7608
+ _this.qustionPropertyChangedHandler = function (sender, options) {
7541
7609
  _this.onPropertyChangedHandler(sender, options);
7542
- });
7610
+ };
7611
+ question.onPropertyChanged.add(_this.qustionPropertyChangedHandler);
7543
7612
  _this.showInputFieldComponent = _this.question.showInputFieldComponent;
7544
7613
  _this.listModel = _this.createListModel();
7545
7614
  _this.updateAfterListModelCreated(_this.listModel);
@@ -7893,7 +7962,7 @@ var DropdownListModel = /** @class */ (function (_super) {
7893
7962
  this.listModel.setItems(this.getAvailableItems());
7894
7963
  };
7895
7964
  DropdownListModel.prototype.onClick = function (event) {
7896
- if (this.question.readOnly)
7965
+ if (this.question.readOnly || this.question.isDesignMode)
7897
7966
  return;
7898
7967
  this._popupModel.toggleVisibility();
7899
7968
  this.focusItemOnClickAndPopup();
@@ -7908,6 +7977,9 @@ var DropdownListModel = /** @class */ (function (_super) {
7908
7977
  if (options.name == "value") {
7909
7978
  this.showInputFieldComponent = this.question.showInputFieldComponent;
7910
7979
  }
7980
+ if (options.name == "choicesLazyLoadEnabled" && options.newValue) {
7981
+ this.listModel.setOnFilterStringChangedCallback(this.listModelFilterStringChanged);
7982
+ }
7911
7983
  };
7912
7984
  DropdownListModel.prototype.focusItemOnClickAndPopup = function () {
7913
7985
  if (this._popupModel.isVisible && this.question.value)
@@ -8061,6 +8133,8 @@ var DropdownListModel = /** @class */ (function (_super) {
8061
8133
  };
8062
8134
  DropdownListModel.prototype.dispose = function () {
8063
8135
  _super.prototype.dispose.call(this);
8136
+ this.question && this.question.onPropertyChanged.remove(this.qustionPropertyChangedHandler);
8137
+ this.qustionPropertyChangedHandler = undefined;
8064
8138
  if (!!this.listModel) {
8065
8139
  this.listModel.dispose();
8066
8140
  }
@@ -8172,6 +8246,10 @@ var DropdownMultiSelectListModel = /** @class */ (function (_super) {
8172
8246
  _this.closeOnSelect = question.closeOnSelect;
8173
8247
  return _this;
8174
8248
  }
8249
+ DropdownMultiSelectListModel.prototype.locStrsChanged = function () {
8250
+ _super.prototype.locStrsChanged.call(this);
8251
+ this.syncFilterStringPlaceholder();
8252
+ };
8175
8253
  DropdownMultiSelectListModel.prototype.updateListState = function () {
8176
8254
  this.listModel.updateState();
8177
8255
  this.syncFilterStringPlaceholder();
@@ -8661,7 +8739,7 @@ __webpack_require__.r(__webpack_exports__);
8661
8739
  /*!*************************************!*\
8662
8740
  !*** ./src/entries/chunks/model.ts ***!
8663
8741
  \*************************************/
8664
- /*! 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, 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 */
8665
8743
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
8666
8744
 
8667
8745
  "use strict";
@@ -8851,6 +8929,14 @@ __webpack_require__.r(__webpack_exports__);
8851
8929
  /* harmony import */ var _question_multipletext__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ../../question_multipletext */ "./src/question_multipletext.ts");
8852
8930
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MultipleTextItemModel", function() { return _question_multipletext__WEBPACK_IMPORTED_MODULE_25__["MultipleTextItemModel"]; });
8853
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
+
8854
8940
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "QuestionMultipleTextModel", function() { return _question_multipletext__WEBPACK_IMPORTED_MODULE_25__["QuestionMultipleTextModel"]; });
8855
8941
 
8856
8942
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MultipleTextEditorModel", function() { return _question_multipletext__WEBPACK_IMPORTED_MODULE_25__["MultipleTextEditorModel"]; });
@@ -8991,6 +9077,8 @@ __webpack_require__.r(__webpack_exports__);
8991
9077
 
8992
9078
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyTriggerRunExpression", function() { return _trigger__WEBPACK_IMPORTED_MODULE_61__["SurveyTriggerRunExpression"]; });
8993
9079
 
9080
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyTriggerSkip", function() { return _trigger__WEBPACK_IMPORTED_MODULE_61__["SurveyTriggerSkip"]; });
9081
+
8994
9082
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Trigger", function() { return _trigger__WEBPACK_IMPORTED_MODULE_61__["Trigger"]; });
8995
9083
 
8996
9084
  /* harmony import */ var _popup_survey__WEBPACK_IMPORTED_MODULE_62__ = __webpack_require__(/*! ../../popup-survey */ "./src/popup-survey.ts");
@@ -9122,8 +9210,8 @@ __webpack_require__.r(__webpack_exports__);
9122
9210
  //import "../../modern.scss";
9123
9211
  var Version;
9124
9212
  var ReleaseDate;
9125
- Version = "" + "1.9.104";
9126
- ReleaseDate = "" + "2023-08-22";
9213
+ Version = "" + "1.9.106";
9214
+ ReleaseDate = "" + "2023-09-06";
9127
9215
  function checkLibraryVersion(ver, libraryName) {
9128
9216
  if (Version != ver) {
9129
9217
  var str = "survey-core has version '" + Version + "' and " + libraryName
@@ -9271,7 +9359,7 @@ function slk(k, lh, rd) {
9271
9359
  /*!**************************************!*\
9272
9360
  !*** ./src/entries/core-wo-model.ts ***!
9273
9361
  \**************************************/
9274
- /*! 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, 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 */
9275
9363
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
9276
9364
 
9277
9365
  "use strict";
@@ -9441,6 +9529,14 @@ __webpack_require__.r(__webpack_exports__);
9441
9529
 
9442
9530
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MultipleTextItemModel", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__["MultipleTextItemModel"]; });
9443
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
+
9444
9540
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "QuestionMultipleTextModel", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__["QuestionMultipleTextModel"]; });
9445
9541
 
9446
9542
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MultipleTextEditorModel", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__["MultipleTextEditorModel"]; });
@@ -9545,6 +9641,8 @@ __webpack_require__.r(__webpack_exports__);
9545
9641
 
9546
9642
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyTriggerRunExpression", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__["SurveyTriggerRunExpression"]; });
9547
9643
 
9644
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyTriggerSkip", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__["SurveyTriggerSkip"]; });
9645
+
9548
9646
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Trigger", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__["Trigger"]; });
9549
9647
 
9550
9648
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "PopupSurveyModel", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__["PopupSurveyModel"]; });
@@ -9694,11 +9792,8 @@ __webpack_require__.r(__webpack_exports__);
9694
9792
 
9695
9793
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ActionContainer", function() { return _actions_container__WEBPACK_IMPORTED_MODULE_9__["ActionContainer"]; });
9696
9794
 
9697
- /* harmony import */ var _utils_tooltip__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../utils/tooltip */ "./src/utils/tooltip.ts");
9698
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "TooltipManager", function() { return _utils_tooltip__WEBPACK_IMPORTED_MODULE_10__["TooltipManager"]; });
9699
-
9700
- /* harmony import */ var _utils_dragOrClickHelper__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../utils/dragOrClickHelper */ "./src/utils/dragOrClickHelper.ts");
9701
- /* 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"]; });
9702
9797
 
9703
9798
  // model
9704
9799
 
@@ -9717,14 +9812,13 @@ __webpack_require__.r(__webpack_exports__);
9717
9812
 
9718
9813
 
9719
9814
 
9720
-
9721
9815
  /***/ }),
9722
9816
 
9723
9817
  /***/ "./src/entries/core.ts":
9724
9818
  /*!*****************************!*\
9725
9819
  !*** ./src/entries/core.ts ***!
9726
9820
  \*****************************/
9727
- /*! 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, 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 */
9728
9822
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
9729
9823
 
9730
9824
  "use strict";
@@ -9894,6 +9988,14 @@ __webpack_require__.r(__webpack_exports__);
9894
9988
 
9895
9989
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MultipleTextItemModel", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__["MultipleTextItemModel"]; });
9896
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
+
9897
9999
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "QuestionMultipleTextModel", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__["QuestionMultipleTextModel"]; });
9898
10000
 
9899
10001
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MultipleTextEditorModel", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__["MultipleTextEditorModel"]; });
@@ -9998,6 +10100,8 @@ __webpack_require__.r(__webpack_exports__);
9998
10100
 
9999
10101
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyTriggerRunExpression", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__["SurveyTriggerRunExpression"]; });
10000
10102
 
10103
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyTriggerSkip", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__["SurveyTriggerSkip"]; });
10104
+
10001
10105
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Trigger", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__["Trigger"]; });
10002
10106
 
10003
10107
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "PopupSurveyModel", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__["PopupSurveyModel"]; });
@@ -10138,8 +10242,6 @@ __webpack_require__.r(__webpack_exports__);
10138
10242
 
10139
10243
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ActionContainer", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__["ActionContainer"]; });
10140
10244
 
10141
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "TooltipManager", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__["TooltipManager"]; });
10142
-
10143
10245
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "DragOrClickHelper", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__["DragOrClickHelper"]; });
10144
10246
 
10145
10247
  /* harmony import */ var _survey__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../survey */ "./src/survey.ts");
@@ -10537,7 +10639,7 @@ __webpack_require__.r(__webpack_exports__);
10537
10639
  /*!******************************!*\
10538
10640
  !*** ./src/entries/react.ts ***!
10539
10641
  \******************************/
10540
- /*! 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, 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 */
10541
10643
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
10542
10644
 
10543
10645
  "use strict";
@@ -10707,6 +10809,14 @@ __webpack_require__.r(__webpack_exports__);
10707
10809
 
10708
10810
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MultipleTextItemModel", function() { return _core__WEBPACK_IMPORTED_MODULE_0__["MultipleTextItemModel"]; });
10709
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
+
10710
10820
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "QuestionMultipleTextModel", function() { return _core__WEBPACK_IMPORTED_MODULE_0__["QuestionMultipleTextModel"]; });
10711
10821
 
10712
10822
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MultipleTextEditorModel", function() { return _core__WEBPACK_IMPORTED_MODULE_0__["MultipleTextEditorModel"]; });
@@ -10811,6 +10921,8 @@ __webpack_require__.r(__webpack_exports__);
10811
10921
 
10812
10922
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyTriggerRunExpression", function() { return _core__WEBPACK_IMPORTED_MODULE_0__["SurveyTriggerRunExpression"]; });
10813
10923
 
10924
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyTriggerSkip", function() { return _core__WEBPACK_IMPORTED_MODULE_0__["SurveyTriggerSkip"]; });
10925
+
10814
10926
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Trigger", function() { return _core__WEBPACK_IMPORTED_MODULE_0__["Trigger"]; });
10815
10927
 
10816
10928
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "PopupSurveyModel", function() { return _core__WEBPACK_IMPORTED_MODULE_0__["PopupSurveyModel"]; });
@@ -10951,8 +11063,6 @@ __webpack_require__.r(__webpack_exports__);
10951
11063
 
10952
11064
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ActionContainer", function() { return _core__WEBPACK_IMPORTED_MODULE_0__["ActionContainer"]; });
10953
11065
 
10954
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "TooltipManager", function() { return _core__WEBPACK_IMPORTED_MODULE_0__["TooltipManager"]; });
10955
-
10956
11066
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "DragOrClickHelper", function() { return _core__WEBPACK_IMPORTED_MODULE_0__["DragOrClickHelper"]; });
10957
11067
 
10958
11068
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Model", function() { return _core__WEBPACK_IMPORTED_MODULE_0__["Model"]; });
@@ -16161,8 +16271,8 @@ var Helpers = /** @class */ (function () {
16161
16271
  !Array.isArray(value) &&
16162
16272
  !isNaN(value));
16163
16273
  };
16164
- Helpers.isValueObject = function (val) {
16165
- return val instanceof Object;
16274
+ Helpers.isValueObject = function (val, excludeArray) {
16275
+ return val instanceof Object && (!excludeArray || !Array.isArray(val));
16166
16276
  };
16167
16277
  Helpers.isNumber = function (value) {
16168
16278
  return !isNaN(this.getNumber(value));
@@ -17638,6 +17748,8 @@ function getLocStringValue(target, options, key) {
17638
17748
  return "";
17639
17749
  }
17640
17750
  function property(options) {
17751
+ if (options === void 0) { options = {}; }
17752
+ // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
17641
17753
  return function (target, key) {
17642
17754
  var processComputedUpdater = function (obj, val) {
17643
17755
  if (!!val && typeof val === "object" && val.type === _base__WEBPACK_IMPORTED_MODULE_1__["ComputedUpdater"].ComputedUpdaterType) {
@@ -17645,6 +17757,10 @@ function property(options) {
17645
17757
  var result = val.updater();
17646
17758
  var dependencies = _base__WEBPACK_IMPORTED_MODULE_1__["Base"].finishCollectDependencies();
17647
17759
  val.setDependencies(dependencies);
17760
+ if (obj.dependencies[key]) {
17761
+ obj.dependencies[key].dispose();
17762
+ }
17763
+ obj.dependencies[key] = val;
17648
17764
  return result;
17649
17765
  }
17650
17766
  return val;
@@ -17846,9 +17962,10 @@ var JsonObjectProperty = /** @class */ (function () {
17846
17962
  if (!_helpers__WEBPACK_IMPORTED_MODULE_2__["Helpers"].isValueEmpty(this.defaultValue)) {
17847
17963
  return _helpers__WEBPACK_IMPORTED_MODULE_2__["Helpers"].isTwoValueEquals(value, this.defaultValue, false, true, false);
17848
17964
  }
17965
+ if (this.isLocalizable)
17966
+ return value === null || value === undefined;
17849
17967
  return ((value === false && (this.type == "boolean" || this.type == "switch")) ||
17850
- value === "" ||
17851
- _helpers__WEBPACK_IMPORTED_MODULE_2__["Helpers"].isValueEmpty(value));
17968
+ value === "" || _helpers__WEBPACK_IMPORTED_MODULE_2__["Helpers"].isValueEmpty(value));
17852
17969
  };
17853
17970
  JsonObjectProperty.prototype.getValue = function (obj) {
17854
17971
  if (this.onGetValue)
@@ -19230,7 +19347,7 @@ var JsonObject = /** @class */ (function () {
19230
19347
  }
19231
19348
  };
19232
19349
  JsonObject.prototype.valueToObj = function (value, obj, property) {
19233
- if (value == null)
19350
+ if (value === null || value === undefined)
19234
19351
  return;
19235
19352
  this.removePos(property, value);
19236
19353
  if (property != null && property.hasToUseSetValue) {
@@ -19567,6 +19684,9 @@ var ListModel = /** @class */ (function (_super) {
19567
19684
  }
19568
19685
  }, ms);
19569
19686
  };
19687
+ ListModel.prototype.setOnFilterStringChangedCallback = function (callback) {
19688
+ this.onFilterStringChangedCallback = callback;
19689
+ };
19570
19690
  ListModel.prototype.setItems = function (items, sortByVisibleIndex) {
19571
19691
  var _this = this;
19572
19692
  if (sortByVisibleIndex === void 0) { sortByVisibleIndex = true; }
@@ -19752,6 +19872,7 @@ var ListModel = /** @class */ (function (_super) {
19752
19872
  if (!!this.loadingIndicatorValue) {
19753
19873
  this.loadingIndicatorValue.dispose();
19754
19874
  }
19875
+ this.listContainerHtmlElement = undefined;
19755
19876
  };
19756
19877
  ListModel.INDENT = 16;
19757
19878
  ListModel.MINELEMENTCOUNT = 10;
@@ -19848,6 +19969,19 @@ var LocalizableString = /** @class */ (function () {
19848
19969
  enumerable: false,
19849
19970
  configurable: true
19850
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
+ });
19851
19985
  LocalizableString.prototype.getIsMultiple = function () { return false; };
19852
19986
  Object.defineProperty(LocalizableString.prototype, "locale", {
19853
19987
  get: function () {
@@ -19916,19 +20050,19 @@ var LocalizableString = /** @class */ (function () {
19916
20050
  if (!loc)
19917
20051
  loc = this.defaultLoc;
19918
20052
  var res = this.getValue(loc);
19919
- if (!res && loc === this.defaultLoc) {
20053
+ if (this.isValueEmpty(res) && loc === this.defaultLoc) {
19920
20054
  res = this.getValue(_surveyStrings__WEBPACK_IMPORTED_MODULE_1__["surveyLocalization"].defaultLocale);
19921
20055
  }
19922
- if (!res) {
20056
+ if (this.isValueEmpty(res)) {
19923
20057
  var dialect = this.getRootDialect(loc);
19924
20058
  if (!!dialect) {
19925
20059
  res = this.getValue(dialect);
19926
20060
  }
19927
20061
  }
19928
- if (!res && loc !== this.defaultLoc) {
20062
+ if (this.isValueEmpty(res) && loc !== this.defaultLoc) {
19929
20063
  res = this.getValue(this.defaultLoc);
19930
20064
  }
19931
- if (!res && !!this.getLocalizationName()) {
20065
+ if (this.isValueEmpty(res) && !!this.getLocalizationName()) {
19932
20066
  res = this.getLocalizationStr();
19933
20067
  if (!!this.onGetLocalizationTextCallback) {
19934
20068
  res = this.onGetLocalizationTextCallback(res);
@@ -19992,35 +20126,44 @@ var LocalizableString = /** @class */ (function () {
19992
20126
  configurable: true
19993
20127
  });
19994
20128
  LocalizableString.prototype.getLocaleText = function (loc) {
20129
+ var res = this.getLocaleTextCore(loc);
20130
+ return res ? res : "";
20131
+ };
20132
+ LocalizableString.prototype.getLocaleTextCore = function (loc) {
19995
20133
  if (!loc)
19996
20134
  loc = this.defaultLoc;
19997
- var res = this.getValue(loc);
19998
- return res ? res : "";
20135
+ return this.getValue(loc);
19999
20136
  };
20000
- LocalizableString.prototype.getLocaleTextWithDefault = function (loc) {
20001
- var res = this.getLocaleText(loc);
20137
+ LocalizableString.prototype.isLocaleTextEqualsWithDefault = function (loc, val) {
20138
+ var res = this.getLocaleTextCore(loc);
20002
20139
  if (!res && this.onGetDefaultTextCallback) {
20003
- return this.onGetDefaultTextCallback();
20140
+ res = this.onGetDefaultTextCallback();
20004
20141
  }
20005
- 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);
20006
20151
  };
20007
20152
  LocalizableString.prototype.setLocaleText = function (loc, value) {
20008
20153
  loc = this.getValueLoc(loc);
20009
- if (!this.storeDefaultText && value == this.getLocaleTextWithDefault(loc)) {
20010
- if (!!value || !!loc && loc !== this.defaultLoc)
20154
+ if (!this.storeDefaultText && this.isLocaleTextEqualsWithDefault(loc, value)) {
20155
+ if (!this.isValueEmpty(value) || !!loc && loc !== this.defaultLoc)
20011
20156
  return;
20012
20157
  var dl = _surveyStrings__WEBPACK_IMPORTED_MODULE_1__["surveyLocalization"].defaultLocale;
20013
20158
  var oldValue_1 = this.getValue(dl);
20014
- if (!!dl && !!oldValue_1) {
20159
+ if (!!dl && !this.isValueEmpty(oldValue_1)) {
20015
20160
  this.setValue(dl, value);
20016
20161
  this.fireStrChanged(dl, oldValue_1);
20017
20162
  }
20018
20163
  return;
20019
20164
  }
20020
20165
  if (!_settings__WEBPACK_IMPORTED_MODULE_2__["settings"].localization.storeDuplicatedTranslations &&
20021
- value &&
20022
- loc &&
20023
- loc != this.defaultLoc &&
20166
+ !this.isValueEmpty(value) && loc && loc != this.defaultLoc &&
20024
20167
  !this.getValue(loc) &&
20025
20168
  value == this.getLocaleText(this.defaultLoc))
20026
20169
  return;
@@ -20029,9 +20172,8 @@ var LocalizableString = /** @class */ (function () {
20029
20172
  loc = this.defaultLoc;
20030
20173
  var oldValue = this.onStrChanged && loc === curLoc ? this.pureText : undefined;
20031
20174
  delete this.htmlValues[loc];
20032
- if (!value) {
20033
- if (this.getValue(loc))
20034
- this.deleteValue(loc);
20175
+ if (this.isValueEmpty(value)) {
20176
+ this.deleteValue(loc);
20035
20177
  }
20036
20178
  else {
20037
20179
  if (typeof value === "string") {
@@ -20048,6 +20190,13 @@ var LocalizableString = /** @class */ (function () {
20048
20190
  }
20049
20191
  this.fireStrChanged(loc, oldValue);
20050
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
+ };
20051
20200
  Object.defineProperty(LocalizableString.prototype, "curLocale", {
20052
20201
  get: function () {
20053
20202
  return !!this.locale ? this.locale : this.defaultLoc;
@@ -20111,7 +20260,7 @@ var LocalizableString = /** @class */ (function () {
20111
20260
  }
20112
20261
  this.values = {};
20113
20262
  this.htmlValues = {};
20114
- if (!value)
20263
+ if (value === null || value === undefined)
20115
20264
  return;
20116
20265
  if (typeof value === "string") {
20117
20266
  this.setLocaleText(null, value);
@@ -23521,8 +23670,8 @@ __webpack_require__.r(__webpack_exports__);
23521
23670
  /* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! survey-core */ "./src/entries/core.ts");
23522
23671
 
23523
23672
  var latvianSurveyStrings = {
23524
- pagePrevText: "Atpakaļ",
23525
- pageNextText: "Tālāk",
23673
+ pagePrevText: "Iepriekšēja lapa",
23674
+ pageNextText: "Nākamā lapa",
23526
23675
  completeText: "Iesniegt",
23527
23676
  previewText: "Priekšskatījums",
23528
23677
  editText: "Rediģēt",
@@ -28082,9 +28231,12 @@ var PanelModelBase = /** @class */ (function (_super) {
28082
28231
  enumerable: false,
28083
28232
  configurable: true
28084
28233
  });
28085
- PanelModelBase.prototype.delete = function () {
28234
+ PanelModelBase.prototype.delete = function (doDispose) {
28235
+ if (doDispose === void 0) { doDispose = true; }
28086
28236
  this.removeFromParent();
28087
- this.dispose();
28237
+ if (doDispose) {
28238
+ this.dispose();
28239
+ }
28088
28240
  };
28089
28241
  PanelModelBase.prototype.removeFromParent = function () { };
28090
28242
  PanelModelBase.prototype.canShowTitle = function () { return true; };
@@ -30267,6 +30419,8 @@ var defaultCss = {
30267
30419
  root: "sv_q_signaturepad sjs_sp_container",
30268
30420
  controls: "sjs_sp_controls",
30269
30421
  placeholder: "sjs_sp_placeholder",
30422
+ canvas: "sjs_sp_canvas",
30423
+ backgroundImage: "sjs_sp__background-image",
30270
30424
  clearButton: "sjs_sp_clear",
30271
30425
  },
30272
30426
  saveData: {
@@ -30724,6 +30878,8 @@ var defaultCss = {
30724
30878
  root: "sv_q_signaturepad sjs_sp_container",
30725
30879
  controls: "sjs_sp_controls",
30726
30880
  placeholder: "sjs_sp_placeholder",
30881
+ canvas: "sjs_sp_canvas",
30882
+ backgroundImage: "sjs_sp__background-image",
30727
30883
  clearButton: "sjs_sp_clear",
30728
30884
  },
30729
30885
  saveData: {
@@ -31162,6 +31318,8 @@ function setStyles() {
31162
31318
  ".sv_main .sjs_sp_controls > button": "user-select: none;",
31163
31319
  ".sv_main .sjs_sp_container>div>canvas:focus": "outline: none;",
31164
31320
  ".sv_main .sjs_sp_placeholder": "display: flex; align-items: center; justify-content: center; position: absolute; z-index: 0; user-select: none; pointer-events: none; width: 100%; height: 100%;",
31321
+ ".sv_main .sjs_sp_canvas": "position: absolute; top: 0; left: 0;",
31322
+ ".sv_main .sjs_sp__background-image": "position: absolute; top: 0; left: 0;",
31165
31323
  // logo
31166
31324
  // ".sv_main .sv_header": "white-space: nowrap;",
31167
31325
  ".sv_main .sv_logo": "",
@@ -31349,11 +31507,7 @@ var PopupDropdownViewModel = /** @class */ (function (_super) {
31349
31507
  _this.touchMoveEventCallback = function (event) {
31350
31508
  _this.preventScrollOuside(event, _this.clientY - event.changedTouches[0].clientY);
31351
31509
  };
31352
- _this.model.onRecalculatePosition.add(function (_, options) {
31353
- if (!_this.isOverlay) {
31354
- _this.updatePosition(options.isResetHeight);
31355
- }
31356
- });
31510
+ _this.model.onRecalculatePosition.add(_this.recalculatePositionHandler);
31357
31511
  return _this;
31358
31512
  }
31359
31513
  PopupDropdownViewModel.prototype.calculateIsTablet = function (windowWidth, windowHeight) {
@@ -31448,6 +31602,10 @@ var PopupDropdownViewModel = /** @class */ (function (_super) {
31448
31602
  this.targetElement = targetElement || componentRoot.parentElement;
31449
31603
  }
31450
31604
  };
31605
+ PopupDropdownViewModel.prototype.resetComponentElement = function () {
31606
+ _super.prototype.resetComponentElement.call(this);
31607
+ this.targetElement = undefined;
31608
+ };
31451
31609
  PopupDropdownViewModel.prototype.updateOnShowing = function () {
31452
31610
  var root = _settings__WEBPACK_IMPORTED_MODULE_4__["settings"].environment.root;
31453
31611
  this.prevActiveElement = root.activeElement;
@@ -31511,6 +31669,30 @@ var PopupDropdownViewModel = /** @class */ (function (_super) {
31511
31669
  this.minWidth = undefined;
31512
31670
  }
31513
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
+ };
31514
31696
  PopupDropdownViewModel.tabletSizeBreakpoint = 600;
31515
31697
  __decorate([
31516
31698
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__["property"])()
@@ -31698,16 +31880,6 @@ var PopupSurveyModel = /** @class */ (function (_super) {
31698
31880
  _this.width = _this.survey.width;
31699
31881
  _this.updateCss();
31700
31882
  _this.onCreating();
31701
- _this.survey.onPopupVisibleChanged.add(function (_, opt) {
31702
- if (opt.visible) {
31703
- _this.onScrollCallback = function () {
31704
- opt.popup.toggleVisibility();
31705
- };
31706
- }
31707
- else {
31708
- _this.onScrollCallback = undefined;
31709
- }
31710
- });
31711
31883
  return _this;
31712
31884
  }
31713
31885
  PopupSurveyModel.prototype.onCreating = function () { };
@@ -31941,9 +32113,7 @@ var PopupSurveyModel = /** @class */ (function (_super) {
31941
32113
  }
31942
32114
  };
31943
32115
  PopupSurveyModel.prototype.onScroll = function () {
31944
- if (this.onScrollCallback) {
31945
- this.onScrollCallback();
31946
- }
32116
+ this.survey.onScroll();
31947
32117
  };
31948
32118
  __decorate([
31949
32119
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__["property"])()
@@ -32063,6 +32233,7 @@ var PopupBaseViewModel = /** @class */ (function (_super) {
32063
32233
  __extends(PopupBaseViewModel, _super);
32064
32234
  function PopupBaseViewModel(model) {
32065
32235
  var _this = _super.call(this) || this;
32236
+ _this.subscriptionId = PopupBaseViewModel.SubscriptionId++;
32066
32237
  _this.popupSelector = ".sv-popup";
32067
32238
  _this.fixedPopupContainer = ".sv-popup";
32068
32239
  _this.containerSelector = ".sv-popup__container";
@@ -32125,11 +32296,14 @@ var PopupBaseViewModel = /** @class */ (function (_super) {
32125
32296
  this.width = nullableValue;
32126
32297
  this.minWidth = nullableValue;
32127
32298
  };
32299
+ PopupBaseViewModel.prototype.onModelChanging = function (newModel) {
32300
+ };
32128
32301
  PopupBaseViewModel.prototype.setupModel = function (model) {
32129
32302
  var _this = this;
32130
32303
  if (!!this.model) {
32131
- this.model.unregisterPropertyChangedHandlers(["isVisible"], "PopupBaseViewModel");
32304
+ this.model.unregisterPropertyChangedHandlers(["isVisible"], "PopupBaseViewModel" + this.subscriptionId);
32132
32305
  }
32306
+ this.onModelChanging(model);
32133
32307
  this._model = model;
32134
32308
  var onIsVisibleChangedHandler = function () {
32135
32309
  if (!model.isVisible) {
@@ -32137,7 +32311,7 @@ var PopupBaseViewModel = /** @class */ (function (_super) {
32137
32311
  }
32138
32312
  _this.isVisible = model.isVisible;
32139
32313
  };
32140
- model.registerPropertyChangedHandlers(["isVisible"], onIsVisibleChangedHandler, "PopupBaseViewModel");
32314
+ model.registerPropertyChangedHandlers(["isVisible"], onIsVisibleChangedHandler, "PopupBaseViewModel" + this.subscriptionId);
32141
32315
  onIsVisibleChangedHandler();
32142
32316
  };
32143
32317
  Object.defineProperty(PopupBaseViewModel.prototype, "model", {
@@ -32317,6 +32491,9 @@ var PopupBaseViewModel = /** @class */ (function (_super) {
32317
32491
  };
32318
32492
  PopupBaseViewModel.prototype.dispose = function () {
32319
32493
  _super.prototype.dispose.call(this);
32494
+ if (this.model) {
32495
+ this.model.unregisterPropertyChangedHandlers(["isVisible"], "PopupBaseViewModel" + this.subscriptionId);
32496
+ }
32320
32497
  if (!!this.createdContainer) {
32321
32498
  this.createdContainer.remove();
32322
32499
  this.createdContainer = undefined;
@@ -32324,6 +32501,7 @@ var PopupBaseViewModel = /** @class */ (function (_super) {
32324
32501
  if (!!this.footerToolbarValue) {
32325
32502
  this.footerToolbarValue.dispose();
32326
32503
  }
32504
+ this.resetComponentElement();
32327
32505
  };
32328
32506
  PopupBaseViewModel.prototype.initializePopupContainer = function () {
32329
32507
  if (!this.container) {
@@ -32339,6 +32517,7 @@ var PopupBaseViewModel = /** @class */ (function (_super) {
32339
32517
  };
32340
32518
  PopupBaseViewModel.prototype.resetComponentElement = function () {
32341
32519
  this.containerElement = undefined;
32520
+ this.prevActiveElement = undefined;
32342
32521
  };
32343
32522
  PopupBaseViewModel.prototype.preventScrollOuside = function (event, deltaY) {
32344
32523
  var currentElement = event.target;
@@ -32353,6 +32532,7 @@ var PopupBaseViewModel = /** @class */ (function (_super) {
32353
32532
  }
32354
32533
  event.preventDefault();
32355
32534
  };
32535
+ PopupBaseViewModel.SubscriptionId = 0;
32356
32536
  __decorate([
32357
32537
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])({ defaultValue: "0px" })
32358
32538
  ], PopupBaseViewModel.prototype, "top", void 0);
@@ -32419,7 +32599,7 @@ var __decorate = (undefined && undefined.__decorate) || function (decorators, ta
32419
32599
 
32420
32600
  var PopupModel = /** @class */ (function (_super) {
32421
32601
  __extends(PopupModel, _super);
32422
- 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) {
32423
32603
  if (verticalPosition === void 0) { verticalPosition = "bottom"; }
32424
32604
  if (horizontalPosition === void 0) { horizontalPosition = "left"; }
32425
32605
  if (showPointer === void 0) { showPointer = true; }
@@ -32430,7 +32610,9 @@ var PopupModel = /** @class */ (function (_super) {
32430
32610
  if (onShow === void 0) { onShow = function () { }; }
32431
32611
  if (cssClass === void 0) { cssClass = ""; }
32432
32612
  if (title === void 0) { title = ""; }
32613
+ if (onDispose === void 0) { onDispose = function () { }; }
32433
32614
  var _this = _super.call(this) || this;
32615
+ _this.onDispose = onDispose;
32434
32616
  _this.focusFirstInputSelector = "";
32435
32617
  _this.onVisibilityChanged = _this.addEvent();
32436
32618
  _this.onFooterActionsCreated = _this.addEvent();
@@ -32485,6 +32667,10 @@ var PopupModel = /** @class */ (function (_super) {
32485
32667
  this.onFooterActionsCreated.fire(this, options);
32486
32668
  return options.actions;
32487
32669
  };
32670
+ PopupModel.prototype.dispose = function () {
32671
+ _super.prototype.dispose.call(this);
32672
+ this.onDispose();
32673
+ };
32488
32674
  __decorate([
32489
32675
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])()
32490
32676
  ], PopupModel.prototype, "contentComponentName", void 0);
@@ -32820,9 +33006,15 @@ var Question = /** @class */ (function (_super) {
32820
33006
  Question.prototype.getPanel = function () {
32821
33007
  return null;
32822
33008
  };
32823
- Question.prototype.delete = function () {
33009
+ Question.prototype.delete = function (doDispose) {
33010
+ if (doDispose === void 0) { doDispose = true; }
32824
33011
  this.removeFromParent();
32825
- this.dispose();
33012
+ if (doDispose) {
33013
+ this.dispose();
33014
+ }
33015
+ else {
33016
+ this.resetDependedQuestions();
33017
+ }
32826
33018
  };
32827
33019
  Question.prototype.removeFromParent = function () {
32828
33020
  if (!!this.parent) {
@@ -32886,11 +33078,14 @@ var Question = /** @class */ (function (_super) {
32886
33078
  configurable: true
32887
33079
  });
32888
33080
  Question.prototype.onVisibleChanged = function () {
32889
- this.setPropertyValue("isVisible", this.isVisible);
33081
+ this.updateIsVisibleProp();
32890
33082
  if (!this.isVisible && this.errors && this.errors.length > 0) {
32891
33083
  this.errors = [];
32892
33084
  }
32893
33085
  };
33086
+ Question.prototype.updateIsVisibleProp = function () {
33087
+ this.setPropertyValue("isVisible", this.isVisible);
33088
+ };
32894
33089
  Object.defineProperty(Question.prototype, "useDisplayValuesInDynamicTexts", {
32895
33090
  /**
32896
33091
  * Specifies whether to use display names for question values in placeholders.
@@ -33065,6 +33260,10 @@ var Question = /** @class */ (function (_super) {
33065
33260
  if (isLight !== true) {
33066
33261
  this.runConditions();
33067
33262
  }
33263
+ this.calcRenderedCommentPlaceholder();
33264
+ if (!this.visible) {
33265
+ this.updateIsVisibleProp();
33266
+ }
33068
33267
  };
33069
33268
  Object.defineProperty(Question.prototype, "parent", {
33070
33269
  /**
@@ -33375,6 +33574,17 @@ var Question = /** @class */ (function (_super) {
33375
33574
  enumerable: false,
33376
33575
  configurable: true
33377
33576
  });
33577
+ Object.defineProperty(Question.prototype, "renderedCommentPlaceholder", {
33578
+ get: function () {
33579
+ return this.getPropertyValue("renderedCommentPlaceholder");
33580
+ },
33581
+ enumerable: false,
33582
+ configurable: true
33583
+ });
33584
+ Question.prototype.calcRenderedCommentPlaceholder = function () {
33585
+ var res = !this.isReadOnly ? this.commentPlaceHolder : undefined;
33586
+ this.setPropertyValue("renderedCommentPlaceholder", res);
33587
+ };
33378
33588
  Question.prototype.getAllErrors = function () {
33379
33589
  return this.errors.slice();
33380
33590
  };
@@ -33401,6 +33611,7 @@ var Question = /** @class */ (function (_super) {
33401
33611
  };
33402
33612
  Question.prototype.localeChanged = function () {
33403
33613
  _super.prototype.localeChanged.call(this);
33614
+ this.calcRenderedCommentPlaceholder();
33404
33615
  if (!!this.localeChangedCallback) {
33405
33616
  this.localeChangedCallback();
33406
33617
  }
@@ -33412,6 +33623,11 @@ var Question = /** @class */ (function (_super) {
33412
33623
  enumerable: false,
33413
33624
  configurable: true
33414
33625
  });
33626
+ Object.defineProperty(Question.prototype, "isContainer", {
33627
+ get: function () { return false; },
33628
+ enumerable: false,
33629
+ configurable: true
33630
+ });
33415
33631
  Question.prototype.updateCommentElements = function () {
33416
33632
  if (!this.autoGrowComment || !Array.isArray(this.commentElements))
33417
33633
  return;
@@ -33632,11 +33848,8 @@ var Question = /** @class */ (function (_super) {
33632
33848
  .append(cssClasses.descriptionUnderInput, this.hasDescriptionUnderInput)
33633
33849
  .toString();
33634
33850
  };
33635
- Question.prototype.getIsErrorsModeTooltip = function () {
33636
- return _super.prototype.getIsErrorsModeTooltip.call(this) && !this.customWidget;
33637
- };
33638
33851
  Question.prototype.showErrorOnCore = function (location) {
33639
- return !this.isErrorsModeTooltip && !this.showErrorsAboveQuestion && !this.showErrorsBelowQuestion && this.getErrorLocation() === location;
33852
+ return !this.showErrorsAboveQuestion && !this.showErrorsBelowQuestion && this.getErrorLocation() === location;
33640
33853
  };
33641
33854
  Object.defineProperty(Question.prototype, "showErrorOnTop", {
33642
33855
  get: function () {
@@ -33652,17 +33865,9 @@ var Question = /** @class */ (function (_super) {
33652
33865
  enumerable: false,
33653
33866
  configurable: true
33654
33867
  });
33655
- Question.prototype.getIsTooltipErrorSupportedByParent = function () {
33656
- if (this.parentQuestion) {
33657
- return this.parentQuestion.getIsTooltipErrorInsideSupported();
33658
- }
33659
- else {
33660
- return _super.prototype.getIsTooltipErrorSupportedByParent.call(this);
33661
- }
33662
- };
33663
33868
  Object.defineProperty(Question.prototype, "showErrorsOutsideQuestion", {
33664
33869
  get: function () {
33665
- return this.isDefaultV2Theme && !(this.hasParent && this.getIsTooltipErrorSupportedByParent());
33870
+ return this.isDefaultV2Theme;
33666
33871
  },
33667
33872
  enumerable: false,
33668
33873
  configurable: true
@@ -33698,7 +33903,6 @@ var Question = /** @class */ (function (_super) {
33698
33903
  .append(cssClasses.error.outsideQuestion, this.showErrorsBelowQuestion || this.showErrorsAboveQuestion)
33699
33904
  .append(cssClasses.error.belowQuestion, this.showErrorsBelowQuestion)
33700
33905
  .append(cssClasses.error.aboveQuestion, this.showErrorsAboveQuestion)
33701
- .append(cssClasses.error.tooltip, this.isErrorsModeTooltip)
33702
33906
  .append(cssClasses.error.locationTop, this.showErrorOnTop)
33703
33907
  .append(cssClasses.error.locationBottom, this.showErrorOnBottom)
33704
33908
  .toString();
@@ -33782,7 +33986,7 @@ var Question = /** @class */ (function (_super) {
33782
33986
  * Moves focus to the input field of this question.
33783
33987
  * @param onError Pass `true` if you want to focus an input field with the first validation error. Default value: `false` (focuses the first input field). Applies to question types with multiple input fields.
33784
33988
  */
33785
- Question.prototype.focus = function (onError) {
33989
+ Question.prototype.focus = function (onError, scrollIfVisible) {
33786
33990
  if (onError === void 0) { onError = false; }
33787
33991
  if (this.isDesignMode || !this.isVisible || !this.survey)
33788
33992
  return;
@@ -33792,14 +33996,14 @@ var Question = /** @class */ (function (_super) {
33792
33996
  this.survey.focusQuestionByInstance(this, onError);
33793
33997
  }
33794
33998
  else {
33795
- this.focuscore(onError);
33999
+ this.focuscore(onError, scrollIfVisible);
33796
34000
  }
33797
34001
  };
33798
- Question.prototype.focuscore = function (onError) {
34002
+ Question.prototype.focuscore = function (onError, scrollIfVisible) {
33799
34003
  if (onError === void 0) { onError = false; }
33800
34004
  if (!!this.survey) {
33801
34005
  this.expandAllParents(this);
33802
- this.survey.scrollElementToTop(this, this, null, this.id);
34006
+ this.survey.scrollElementToTop(this, this, null, this.id, scrollIfVisible);
33803
34007
  }
33804
34008
  var id = !onError
33805
34009
  ? this.getFirstInputElementId()
@@ -33818,7 +34022,7 @@ var Question = /** @class */ (function (_super) {
33818
34022
  this.expandAllParents(element.parentQuestion);
33819
34023
  };
33820
34024
  Question.prototype.focusIn = function () {
33821
- if (!this.survey)
34025
+ if (!this.survey || this.isDisposed || this.isContainer)
33822
34026
  return;
33823
34027
  this.survey.whenQuestionFocusIn(this);
33824
34028
  };
@@ -34028,6 +34232,7 @@ var Question = /** @class */ (function (_super) {
34028
34232
  this.setPropertyValue("isInputReadOnly", this.isInputReadOnly);
34029
34233
  _super.prototype.onReadOnlyChanged.call(this);
34030
34234
  this.updateQuestionCss();
34235
+ this.calcRenderedCommentPlaceholder();
34031
34236
  };
34032
34237
  Object.defineProperty(Question.prototype, "enableIf", {
34033
34238
  /**
@@ -34100,6 +34305,7 @@ var Question = /** @class */ (function (_super) {
34100
34305
  if (this.isEmpty()) {
34101
34306
  this.initDataFromSurvey();
34102
34307
  }
34308
+ this.calcRenderedCommentPlaceholder();
34103
34309
  this.onIndentChanged();
34104
34310
  };
34105
34311
  Question.prototype.onSetData = function () {
@@ -34214,6 +34420,12 @@ var Question = /** @class */ (function (_super) {
34214
34420
  enumerable: false,
34215
34421
  configurable: true
34216
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; };
34217
34429
  Object.defineProperty(Question.prototype, "valueForSurvey", {
34218
34430
  get: function () {
34219
34431
  if (!!this.valueToDataCallback) {
@@ -34456,7 +34668,7 @@ var Question = /** @class */ (function (_super) {
34456
34668
  questionPlainData.questionType = this.getType();
34457
34669
  }
34458
34670
  (options.calculations || []).forEach(function (calculation) {
34459
- questionPlainData[calculation.propertyName] = _this[calculation.propertyName];
34671
+ questionPlainData[calculation.propertyName] = _this.getPlainDataCalculatedValue(calculation.propertyName);
34460
34672
  });
34461
34673
  if (this.hasComment) {
34462
34674
  questionPlainData.isNode = true;
@@ -34478,6 +34690,9 @@ var Question = /** @class */ (function (_super) {
34478
34690
  }
34479
34691
  return undefined;
34480
34692
  };
34693
+ Question.prototype.getPlainDataCalculatedValue = function (propName) {
34694
+ return this[propName];
34695
+ };
34481
34696
  Object.defineProperty(Question.prototype, "correctAnswer", {
34482
34697
  /**
34483
34698
  * A correct answer to this question. Specify this property if you want to [create a quiz](https://surveyjs.io/form-library/documentation/design-survey-create-a-quiz).
@@ -34792,6 +35007,9 @@ var Question = /** @class */ (function (_super) {
34792
35007
  this.survey.beforeSettingQuestionErrors(this, errors);
34793
35008
  }
34794
35009
  this.errors = errors;
35010
+ if (this.errors !== errors) {
35011
+ this.errors.forEach(function (er) { return er.locText.strChanged(); });
35012
+ }
34795
35013
  }
34796
35014
  this.updateContainsErrors();
34797
35015
  if (oldHasErrors != errors.length > 0) {
@@ -34942,10 +35160,8 @@ var Question = /** @class */ (function (_super) {
34942
35160
  Question.prototype.setNewValue = function (newValue) {
34943
35161
  if (this.isNewValueEqualsToValue(newValue))
34944
35162
  return;
34945
- if (!this.isValueEmpty(newValue, !this.allowSpaceAsAnswer) && !this.isNewValueCorrect(newValue)) {
34946
- _console_warnings__WEBPACK_IMPORTED_MODULE_12__["ConsoleWarnings"].inCorrectQuestionValue(this.name, newValue);
35163
+ if (!this.checkIsValueCorrect(newValue))
34947
35164
  return;
34948
- }
34949
35165
  this.isOldAnswered = this.isAnswered;
34950
35166
  this.setNewValueInData(newValue);
34951
35167
  this.allowNotifyValueChanged && this.onValueChanged();
@@ -34954,6 +35170,13 @@ var Question = /** @class */ (function (_super) {
34954
35170
  }
34955
35171
  this.isOldAnswered = undefined;
34956
35172
  };
35173
+ Question.prototype.checkIsValueCorrect = function (val) {
35174
+ var res = this.isValueEmpty(val, !this.allowSpaceAsAnswer) || this.isNewValueCorrect(val);
35175
+ if (!res) {
35176
+ _console_warnings__WEBPACK_IMPORTED_MODULE_12__["ConsoleWarnings"].inCorrectQuestionValue(this.name, val);
35177
+ }
35178
+ return res;
35179
+ };
34957
35180
  Question.prototype.isNewValueCorrect = function (val) {
34958
35181
  return true;
34959
35182
  };
@@ -35036,6 +35259,8 @@ var Question = /** @class */ (function (_super) {
35036
35259
  if (!!this.valueFromDataCallback) {
35037
35260
  newValue = this.valueFromDataCallback(newValue);
35038
35261
  }
35262
+ if (!this.checkIsValueCorrect(newValue))
35263
+ return;
35039
35264
  this.setQuestionValue(this.valueFromData(newValue));
35040
35265
  this.updateDependedQuestions();
35041
35266
  this.updateIsAnswered();
@@ -35148,6 +35373,11 @@ var Question = /** @class */ (function (_super) {
35148
35373
  Question.prototype.processPopupVisiblilityChanged = function (popupModel, visible) {
35149
35374
  this.survey.processPopupVisiblityChanged(this, popupModel, visible);
35150
35375
  };
35376
+ Question.prototype.onTextKeyDownHandler = function (event) {
35377
+ if (event.keyCode === 13) {
35378
+ this.survey.questionEditFinishCallback(this, event);
35379
+ }
35380
+ };
35151
35381
  Question.prototype.transformToMobileView = function () { };
35152
35382
  Question.prototype.transformToDesktopView = function () { };
35153
35383
  Question.prototype.needResponsiveWidth = function () {
@@ -35269,10 +35499,13 @@ var Question = /** @class */ (function (_super) {
35269
35499
  };
35270
35500
  Question.prototype.dispose = function () {
35271
35501
  _super.prototype.dispose.call(this);
35502
+ this.resetDependedQuestions();
35503
+ this.destroyResizeObserver();
35504
+ };
35505
+ Question.prototype.resetDependedQuestions = function () {
35272
35506
  for (var i = 0; i < this.dependedQuestions.length; i++) {
35273
35507
  this.dependedQuestions[i].resetDependedQuestion();
35274
35508
  }
35275
- this.destroyResizeObserver();
35276
35509
  };
35277
35510
  Question.TextPreprocessorValuesMap = {
35278
35511
  title: "processedTitle",
@@ -35288,7 +35521,7 @@ var Question = /** @class */ (function (_super) {
35288
35521
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])()
35289
35522
  ], Question.prototype, "forceIsInputReadOnly", void 0);
35290
35523
  __decorate([
35291
- Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])({ localizable: true })
35524
+ Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])({ localizable: true, onSet: function (val, target) { return target.calcRenderedCommentPlaceholder(); } })
35292
35525
  ], Question.prototype, "commentPlaceholder", void 0);
35293
35526
  __decorate([
35294
35527
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])()
@@ -36291,53 +36524,51 @@ var QuestionSelectBase = /** @class */ (function (_super) {
36291
36524
  return this.hasUnknownValue(val, true, false);
36292
36525
  };
36293
36526
  QuestionSelectBase.prototype.updateSelectedItemValues = function () {
36294
- if (this.waitingGetChoiceDisplayValueResponse)
36295
- return;
36296
- var IsMultipleValue = this.getIsMultipleValue();
36297
- if (IsMultipleValue) {
36298
- this.updateMultipleSelectedItemValues();
36299
- }
36300
- else {
36301
- this.updateSingleSelectedItemValues();
36302
- }
36303
- };
36304
- QuestionSelectBase.prototype.updateSingleSelectedItemValues = function () {
36305
36527
  var _this = this;
36306
- 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) {
36307
36534
  this.waitingGetChoiceDisplayValueResponse = true;
36308
36535
  this.isReady = !this.waitingAcyncOperations;
36309
36536
  this.survey.getChoiceDisplayValue({
36310
36537
  question: this,
36311
- values: [this.value],
36538
+ values: valueArray,
36312
36539
  setItems: function (displayValues) {
36540
+ var customValues = [];
36541
+ for (var _i = 1; _i < arguments.length; _i++) {
36542
+ customValues[_i - 1] = arguments[_i];
36543
+ }
36313
36544
  _this.waitingGetChoiceDisplayValueResponse = false;
36314
36545
  if (!displayValues || !displayValues.length)
36315
36546
  return;
36316
- _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
+ }
36317
36555
  _this.isReady = !_this.waitingAcyncOperations;
36318
36556
  }
36319
36557
  });
36320
36558
  }
36321
36559
  };
36322
- QuestionSelectBase.prototype.updateMultipleSelectedItemValues = function () {
36323
- var _this = this;
36324
- var valueArray = this.value;
36325
- var hasItemWithValues = valueArray.some(function (val) { return !_itemvalue__WEBPACK_IMPORTED_MODULE_3__["ItemValue"].getItemByValue(_this.choices, val); });
36326
- if (!!this.survey && !this.isEmpty() && hasItemWithValues) {
36327
- this.waitingGetChoiceDisplayValueResponse = true;
36328
- this.isReady = this.waitingAcyncOperations;
36329
- this.survey.getChoiceDisplayValue({
36330
- question: this,
36331
- values: valueArray,
36332
- setItems: function (displayValues) {
36333
- _this.waitingGetChoiceDisplayValueResponse = false;
36334
- if (!displayValues || !displayValues.length)
36335
- return;
36336
- _this.selectedItemValues = displayValues.map(function (displayValue, index) { return _this.createItemValue(_this.value[index], displayValue); });
36337
- _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];
36338
36569
  }
36339
- });
36340
- }
36570
+ }
36571
+ });
36341
36572
  };
36342
36573
  QuestionSelectBase.prototype.hasUnknownValue = function (val, includeOther, isFilteredChoices, checkEmptyValue) {
36343
36574
  if (includeOther === void 0) { includeOther = false; }
@@ -37859,7 +38090,7 @@ var QuestionBooleanModel = /** @class */ (function (_super) {
37859
38090
  return this.value == this.getValueTrue();
37860
38091
  },
37861
38092
  set: function (val) {
37862
- if (this.isReadOnly) {
38093
+ if (this.isReadOnly || this.isDesignMode) {
37863
38094
  return;
37864
38095
  }
37865
38096
  this.setBooleanValue(val);
@@ -38108,9 +38339,8 @@ var QuestionBooleanModel = /** @class */ (function (_super) {
38108
38339
  };
38109
38340
  QuestionBooleanModel.prototype.onKeyDownCore = function (event) {
38110
38341
  if (event.key === "ArrowLeft" || event.key === "ArrowRight") {
38111
- Object(_utils_utils__WEBPACK_IMPORTED_MODULE_4__["preventDefaults"])(event);
38342
+ event.stopPropagation();
38112
38343
  this.calculateBooleanValueByEvent(event, event.key === "ArrowRight");
38113
- return;
38114
38344
  }
38115
38345
  return true;
38116
38346
  };
@@ -38709,6 +38939,16 @@ var QuestionCheckboxModel = /** @class */ (function (_super) {
38709
38939
  enumerable: false,
38710
38940
  configurable: true
38711
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
+ };
38712
38952
  QuestionCheckboxModel.prototype.getMultipleSelectedItems = function () {
38713
38953
  return this.selectedChoices;
38714
38954
  };
@@ -40000,6 +40240,16 @@ var QuestionCompositeModel = /** @class */ (function (_super) {
40000
40240
  questions[i].onAnyValueChanged(name);
40001
40241
  }
40002
40242
  };
40243
+ Object.defineProperty(QuestionCompositeModel.prototype, "hasSingleInput", {
40244
+ get: function () { return false; },
40245
+ enumerable: false,
40246
+ configurable: true
40247
+ });
40248
+ Object.defineProperty(QuestionCompositeModel.prototype, "isContainer", {
40249
+ get: function () { return true; },
40250
+ enumerable: false,
40251
+ configurable: true
40252
+ });
40003
40253
  QuestionCompositeModel.prototype.createPanel = function () {
40004
40254
  var _this = this;
40005
40255
  var res = _jsonobject__WEBPACK_IMPORTED_MODULE_1__["Serializer"].createClass("panel");
@@ -41260,12 +41510,13 @@ __webpack_require__.r(__webpack_exports__);
41260
41510
  /* harmony import */ var _question__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./question */ "./src/question.ts");
41261
41511
  /* harmony import */ var _jsonobject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./jsonobject */ "./src/jsonobject.ts");
41262
41512
  /* harmony import */ var _questionfactory__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./questionfactory */ "./src/questionfactory.ts");
41263
- /* harmony import */ var _error__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./error */ "./src/error.ts");
41264
- /* harmony import */ var _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./utils/cssClassBuilder */ "./src/utils/cssClassBuilder.ts");
41265
- /* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./utils/utils */ "./src/utils/utils.ts");
41266
- /* harmony import */ var _actions_container__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./actions/container */ "./src/actions/container.ts");
41267
- /* harmony import */ var _actions_action__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./actions/action */ "./src/actions/action.ts");
41268
- /* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./helpers */ "./src/helpers.ts");
41513
+ /* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./base */ "./src/base.ts");
41514
+ /* harmony import */ var _error__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./error */ "./src/error.ts");
41515
+ /* harmony import */ var _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./utils/cssClassBuilder */ "./src/utils/cssClassBuilder.ts");
41516
+ /* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./utils/utils */ "./src/utils/utils.ts");
41517
+ /* harmony import */ var _actions_container__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./actions/container */ "./src/actions/container.ts");
41518
+ /* harmony import */ var _actions_action__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./actions/action */ "./src/actions/action.ts");
41519
+ /* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./helpers */ "./src/helpers.ts");
41269
41520
  var __extends = (undefined && undefined.__extends) || (function () {
41270
41521
  var extendStatics = function (d, b) {
41271
41522
  extendStatics = Object.setPrototypeOf ||
@@ -41296,6 +41547,7 @@ var __decorate = (undefined && undefined.__decorate) || function (decorators, ta
41296
41547
 
41297
41548
 
41298
41549
 
41550
+
41299
41551
  /**
41300
41552
  * A class that describes the File Upload question type.
41301
41553
  *
@@ -41319,7 +41571,7 @@ var QuestionFileModel = /** @class */ (function (_super) {
41319
41571
  */
41320
41572
  _this.onUploadStateChanged = _this.addEvent();
41321
41573
  _this.onStateChanged = _this.addEvent();
41322
- _this.mobileFileNavigator = new _actions_container__WEBPACK_IMPORTED_MODULE_6__["ActionContainer"]();
41574
+ _this.mobileFileNavigator = new _actions_container__WEBPACK_IMPORTED_MODULE_7__["ActionContainer"]();
41323
41575
  _this.dragCounter = 0;
41324
41576
  _this.onDragEnter = function (event) {
41325
41577
  if (!_this.isInputReadOnly) {
@@ -41359,23 +41611,23 @@ var QuestionFileModel = /** @class */ (function (_super) {
41359
41611
  };
41360
41612
  _this.doClean = function (event) {
41361
41613
  if (_this.needConfirmRemoveFile) {
41362
- Object(_utils_utils__WEBPACK_IMPORTED_MODULE_5__["confirmActionAsync"])(_this.confirmRemoveAllMessage, function () { _this.clearFilesCore(); });
41614
+ Object(_utils_utils__WEBPACK_IMPORTED_MODULE_6__["confirmActionAsync"])(_this.confirmRemoveAllMessage, function () { _this.clearFilesCore(); });
41363
41615
  return;
41364
41616
  }
41365
41617
  _this.clearFilesCore();
41366
41618
  };
41367
41619
  _this.doDownloadFile = function (event, data) {
41368
- if (Object(_utils_utils__WEBPACK_IMPORTED_MODULE_5__["detectIEOrEdge"])()) {
41620
+ if (Object(_utils_utils__WEBPACK_IMPORTED_MODULE_6__["detectIEOrEdge"])()) {
41369
41621
  event.preventDefault();
41370
- Object(_utils_utils__WEBPACK_IMPORTED_MODULE_5__["loadFileFromBase64"])(data.content, data.name);
41622
+ Object(_utils_utils__WEBPACK_IMPORTED_MODULE_6__["loadFileFromBase64"])(data.content, data.name);
41371
41623
  }
41372
41624
  };
41373
- _this.fileIndexAction = new _actions_action__WEBPACK_IMPORTED_MODULE_7__["Action"]({
41625
+ _this.fileIndexAction = new _actions_action__WEBPACK_IMPORTED_MODULE_8__["Action"]({
41374
41626
  id: "fileIndex",
41375
41627
  title: _this.getFileIndexCaption(),
41376
41628
  enabled: false
41377
41629
  });
41378
- _this.prevFileAction = new _actions_action__WEBPACK_IMPORTED_MODULE_7__["Action"]({
41630
+ _this.prevFileAction = new _actions_action__WEBPACK_IMPORTED_MODULE_8__["Action"]({
41379
41631
  id: "prevPage",
41380
41632
  iconSize: 16,
41381
41633
  action: function () {
@@ -41383,7 +41635,7 @@ var QuestionFileModel = /** @class */ (function (_super) {
41383
41635
  _this.fileIndexAction.title = _this.getFileIndexCaption();
41384
41636
  }
41385
41637
  });
41386
- _this.nextFileAction = new _actions_action__WEBPACK_IMPORTED_MODULE_7__["Action"]({
41638
+ _this.nextFileAction = new _actions_action__WEBPACK_IMPORTED_MODULE_8__["Action"]({
41387
41639
  id: "nextPage",
41388
41640
  iconSize: 16,
41389
41641
  action: function () {
@@ -41576,6 +41828,21 @@ var QuestionFileModel = /** @class */ (function (_super) {
41576
41828
  QuestionFileModel.prototype.getConfirmRemoveMessage = function (fileName) {
41577
41829
  return this.confirmRemoveMessage.format(fileName);
41578
41830
  };
41831
+ Object.defineProperty(QuestionFileModel.prototype, "renderedPlaceholder", {
41832
+ get: function () {
41833
+ var _this = this;
41834
+ if (this.renderedPlaceholderValue === undefined) {
41835
+ this.renderedPlaceholderValue = (new _base__WEBPACK_IMPORTED_MODULE_3__["ComputedUpdater"](function () {
41836
+ var dragAreaText = _this.dragAreaPlaceholder;
41837
+ var readOnlyText = _this.noFileChosenCaption;
41838
+ return _this.isReadOnly ? readOnlyText : dragAreaText;
41839
+ }));
41840
+ }
41841
+ return this.renderedPlaceholderValue;
41842
+ },
41843
+ enumerable: false,
41844
+ configurable: true
41845
+ });
41579
41846
  Object.defineProperty(QuestionFileModel.prototype, "inputTitle", {
41580
41847
  get: function () {
41581
41848
  if (this.isUploading)
@@ -41654,7 +41921,7 @@ var QuestionFileModel = /** @class */ (function (_super) {
41654
41921
  if (status === "success") {
41655
41922
  var oldValue = _this.value;
41656
41923
  if (Array.isArray(oldValue)) {
41657
- _this.value = oldValue.filter(function (f) { return !_helpers__WEBPACK_IMPORTED_MODULE_8__["Helpers"].isTwoValueEquals(f, content, true, false, false); });
41924
+ _this.value = oldValue.filter(function (f) { return !_helpers__WEBPACK_IMPORTED_MODULE_9__["Helpers"].isTwoValueEquals(f, content, true, false, false); });
41658
41925
  }
41659
41926
  else {
41660
41927
  _this.value = undefined;
@@ -41764,7 +42031,7 @@ var QuestionFileModel = /** @class */ (function (_super) {
41764
42031
  QuestionFileModel.prototype.onCheckForErrors = function (errors, isOnValueChanged) {
41765
42032
  _super.prototype.onCheckForErrors.call(this, errors, isOnValueChanged);
41766
42033
  if (this.isUploading && this.waitForUpload) {
41767
- errors.push(new _error__WEBPACK_IMPORTED_MODULE_3__["UploadingFileError"](this.getLocalizationString("uploadingFile"), this));
42034
+ errors.push(new _error__WEBPACK_IMPORTED_MODULE_4__["UploadingFileError"](this.getLocalizationString("uploadingFile"), this));
41768
42035
  }
41769
42036
  };
41770
42037
  QuestionFileModel.prototype.stateChanged = function (state) {
@@ -41789,7 +42056,7 @@ var QuestionFileModel = /** @class */ (function (_super) {
41789
42056
  var errorLength = this.errors ? this.errors.length : 0;
41790
42057
  (files || []).forEach(function (file) {
41791
42058
  if (_this.maxSize > 0 && file.size > _this.maxSize) {
41792
- _this.errors.push(new _error__WEBPACK_IMPORTED_MODULE_3__["ExceedSizeError"](_this.maxSize, _this));
42059
+ _this.errors.push(new _error__WEBPACK_IMPORTED_MODULE_4__["ExceedSizeError"](_this.maxSize, _this));
41793
42060
  }
41794
42061
  });
41795
42062
  return errorLength === this.errors.length;
@@ -41829,7 +42096,7 @@ var QuestionFileModel = /** @class */ (function (_super) {
41829
42096
  };
41830
42097
  QuestionFileModel.prototype.getChooseFileCss = function () {
41831
42098
  var isAnswered = this.isAnswered;
41832
- return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_4__["CssClassBuilder"]()
42099
+ return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_5__["CssClassBuilder"]()
41833
42100
  .append(this.cssClasses.chooseFile)
41834
42101
  .append(this.cssClasses.controlDisabled, this.isReadOnly)
41835
42102
  .append(this.cssClasses.chooseFileAsText, !isAnswered)
@@ -41838,14 +42105,14 @@ var QuestionFileModel = /** @class */ (function (_super) {
41838
42105
  .toString();
41839
42106
  };
41840
42107
  QuestionFileModel.prototype.getReadOnlyFileCss = function () {
41841
- return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_4__["CssClassBuilder"]()
42108
+ return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_5__["CssClassBuilder"]()
41842
42109
  .append("form-control")
41843
42110
  .append(this.cssClasses.placeholderInput)
41844
42111
  .toString();
41845
42112
  };
41846
42113
  Object.defineProperty(QuestionFileModel.prototype, "fileRootCss", {
41847
42114
  get: function () {
41848
- return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_4__["CssClassBuilder"]()
42115
+ return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_5__["CssClassBuilder"]()
41849
42116
  .append(this.cssClasses.root)
41850
42117
  .append(this.cssClasses.single, !this.allowMultiple)
41851
42118
  .append(this.cssClasses.singleImage, !this.allowMultiple && this.isAnswered && this.canPreviewImage(this.value[0]))
@@ -41856,7 +42123,7 @@ var QuestionFileModel = /** @class */ (function (_super) {
41856
42123
  configurable: true
41857
42124
  });
41858
42125
  QuestionFileModel.prototype.getFileDecoratorCss = function () {
41859
- return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_4__["CssClassBuilder"]()
42126
+ return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_5__["CssClassBuilder"]()
41860
42127
  .append(this.cssClasses.fileDecorator)
41861
42128
  .append(this.cssClasses.onError, this.errors.length > 0)
41862
42129
  .append(this.cssClasses.fileDecoratorDrag, this.isDragging)
@@ -41899,7 +42166,7 @@ var QuestionFileModel = /** @class */ (function (_super) {
41899
42166
  QuestionFileModel.prototype.doRemoveFile = function (data) {
41900
42167
  var _this = this;
41901
42168
  if (this.needConfirmRemoveFile) {
41902
- Object(_utils_utils__WEBPACK_IMPORTED_MODULE_5__["confirmActionAsync"])(this.getConfirmRemoveMessage(data.name), function () { _this.removeFileCore(data); });
42169
+ Object(_utils_utils__WEBPACK_IMPORTED_MODULE_6__["confirmActionAsync"])(this.getConfirmRemoveMessage(data.name), function () { _this.removeFileCore(data); });
41903
42170
  return;
41904
42171
  }
41905
42172
  this.removeFileCore(data);
@@ -41956,6 +42223,9 @@ var QuestionFileModel = /** @class */ (function (_super) {
41956
42223
  __decorate([
41957
42224
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])({ localizable: { defaultStr: "fileDragAreaPlaceholder" } })
41958
42225
  ], QuestionFileModel.prototype, "dragAreaPlaceholder", void 0);
42226
+ __decorate([
42227
+ Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])()
42228
+ ], QuestionFileModel.prototype, "renderedPlaceholderValue", void 0);
41959
42229
  return QuestionFileModel;
41960
42230
  }(_question__WEBPACK_IMPORTED_MODULE_0__["Question"]));
41961
42231
 
@@ -42988,9 +43258,11 @@ var QuestionImagePickerModel = /** @class */ (function (_super) {
42988
43258
  QuestionImagePickerModel.prototype.afterRender = function (el) {
42989
43259
  var _this = this;
42990
43260
  _super.prototype.afterRender.call(this, el);
42991
- if (el && el.querySelector(this.getObservedElementSelector())) {
43261
+ var selector = this.getObservedElementSelector();
43262
+ var observedElement = el && selector ? el.querySelector(selector) : undefined;
43263
+ if (!!observedElement) {
42992
43264
  this.reCalcGapBetweenItemsCallback = function () {
42993
- _this.gapBetweenItems = Math.ceil(Number.parseFloat(window.getComputedStyle(el.querySelector(_this.getObservedElementSelector())).gap)) || 16;
43265
+ _this.gapBetweenItems = Math.ceil(Number.parseFloat(window.getComputedStyle(observedElement).gap)) || 16;
42994
43266
  };
42995
43267
  this.reCalcGapBetweenItemsCallback();
42996
43268
  }
@@ -43533,7 +43805,7 @@ var QuestionMatrixModel = /** @class */ (function (_super) {
43533
43805
  this.rows = this.sortVisibleRows(this.rows);
43534
43806
  };
43535
43807
  QuestionMatrixModel.prototype.isNewValueCorrect = function (val) {
43536
- return _helpers__WEBPACK_IMPORTED_MODULE_0__["Helpers"].isValueObject(val);
43808
+ return _helpers__WEBPACK_IMPORTED_MODULE_0__["Helpers"].isValueObject(val, true);
43537
43809
  };
43538
43810
  QuestionMatrixModel.prototype.processRowsOnSet = function (newRows) {
43539
43811
  return this.sortVisibleRows(newRows);
@@ -43992,7 +44264,7 @@ var QuestionMatrixDropdownModel = /** @class */ (function (_super) {
43992
44264
  return res;
43993
44265
  };
43994
44266
  QuestionMatrixDropdownModel.prototype.isNewValueCorrect = function (val) {
43995
- return _helpers__WEBPACK_IMPORTED_MODULE_4__["Helpers"].isValueObject(val);
44267
+ return _helpers__WEBPACK_IMPORTED_MODULE_4__["Helpers"].isValueObject(val, true);
43996
44268
  };
43997
44269
  QuestionMatrixDropdownModel.prototype.clearIncorrectValues = function () {
43998
44270
  var val = this.value;
@@ -44456,15 +44728,14 @@ var MatrixDropdownRowModelBase = /** @class */ (function () {
44456
44728
  }
44457
44729
  values[MatrixDropdownRowModelBase.IndexVariableName] = this.rowIndex;
44458
44730
  values[MatrixDropdownRowModelBase.RowValueVariableName] = this.rowName;
44459
- if (!properties)
44460
- properties = {};
44461
- properties[MatrixDropdownRowModelBase.RowVariableName] = this;
44731
+ var newProps = _helpers__WEBPACK_IMPORTED_MODULE_2__["Helpers"].createCopy(properties);
44732
+ newProps[MatrixDropdownRowModelBase.RowVariableName] = this;
44462
44733
  for (var i = 0; i < this.cells.length; i++) {
44463
44734
  values[MatrixDropdownRowModelBase.RowVariableName] = this.value;
44464
- this.cells[i].runCondition(values, properties);
44735
+ this.cells[i].runCondition(values, newProps);
44465
44736
  }
44466
44737
  if (!!this.detailPanel) {
44467
- this.detailPanel.runCondition(values, properties);
44738
+ this.detailPanel.runCondition(values, newProps);
44468
44739
  }
44469
44740
  };
44470
44741
  MatrixDropdownRowModelBase.prototype.clearValue = function () {
@@ -44764,8 +45035,6 @@ var MatrixDropdownRowModelBase = /** @class */ (function () {
44764
45035
  var columns = this.data.columns;
44765
45036
  for (var i = 0; i < columns.length; i++) {
44766
45037
  var column = columns[i];
44767
- if (!column.isVisible)
44768
- continue;
44769
45038
  var cell = this.createCell(column);
44770
45039
  this.cells.push(cell);
44771
45040
  var cellValue = this.getCellValue(value, column.name);
@@ -44955,9 +45224,12 @@ var QuestionMatrixDropdownModelBase = /** @class */ (function (_super) {
44955
45224
  this.clearGeneratedRows();
44956
45225
  };
44957
45226
  Object.defineProperty(QuestionMatrixDropdownModelBase.prototype, "hasSingleInput", {
44958
- get: function () {
44959
- return false;
44960
- },
45227
+ get: function () { return false; },
45228
+ enumerable: false,
45229
+ configurable: true
45230
+ });
45231
+ Object.defineProperty(QuestionMatrixDropdownModelBase.prototype, "isContainer", {
45232
+ get: function () { return true; },
44961
45233
  enumerable: false,
44962
45234
  configurable: true
44963
45235
  });
@@ -45024,7 +45296,7 @@ var QuestionMatrixDropdownModelBase = /** @class */ (function (_super) {
45024
45296
  });
45025
45297
  Object.defineProperty(QuestionMatrixDropdownModelBase.prototype, "detailErrorLocation", {
45026
45298
  /**
45027
- * Specifies the error message position for question within detail sections.
45299
+ * Specifies the error message position for questions within detail sections.
45028
45300
  *
45029
45301
  * Possible values:
45030
45302
  *
@@ -45401,10 +45673,15 @@ var QuestionMatrixDropdownModelBase = /** @class */ (function (_super) {
45401
45673
  }
45402
45674
  };
45403
45675
  QuestionMatrixDropdownModelBase.prototype.onShowInMultipleColumnsChanged = function (column) {
45404
- this.clearGeneratedRows();
45405
- this.resetRenderedTable();
45676
+ this.resetTableAndRows();
45677
+ };
45678
+ QuestionMatrixDropdownModelBase.prototype.onColumnVisibilityChanged = function (column) {
45679
+ this.resetTableAndRows();
45406
45680
  };
45407
45681
  QuestionMatrixDropdownModelBase.prototype.onColumnCellTypeChanged = function (column) {
45682
+ this.resetTableAndRows();
45683
+ };
45684
+ QuestionMatrixDropdownModelBase.prototype.resetTableAndRows = function () {
45408
45685
  this.clearGeneratedRows();
45409
45686
  this.resetRenderedTable();
45410
45687
  };
@@ -45531,12 +45808,14 @@ var QuestionMatrixDropdownModelBase = /** @class */ (function (_super) {
45531
45808
  this.checkColumnsRenderedRequired();
45532
45809
  };
45533
45810
  QuestionMatrixDropdownModelBase.prototype.checkColumnsVisibility = function () {
45811
+ if (this.isDesignMode)
45812
+ return;
45534
45813
  var hasChanged = false;
45535
45814
  for (var i = 0; i < this.visibleColumns.length; i++) {
45536
- if (!this.visibleColumns[i].visibleIf)
45815
+ var column = this.visibleColumns[i];
45816
+ if (!column.visibleIf && !column.isFilteredMultipleColumns)
45537
45817
  continue;
45538
- hasChanged =
45539
- this.isColumnVisibilityChanged(this.visibleColumns[i]) || hasChanged;
45818
+ hasChanged = this.isColumnVisibilityChanged(column) || hasChanged;
45540
45819
  }
45541
45820
  if (hasChanged) {
45542
45821
  this.resetRenderedTable();
@@ -45559,20 +45838,41 @@ var QuestionMatrixDropdownModelBase = /** @class */ (function (_super) {
45559
45838
  }
45560
45839
  };
45561
45840
  QuestionMatrixDropdownModelBase.prototype.isColumnVisibilityChanged = function (column) {
45562
- var curVis = column.hasVisibleCell;
45841
+ var curVis = column.isColumnVisible;
45842
+ var isMultipleColumnsVisibility = column.isFilteredMultipleColumns;
45843
+ var curVisibleChoices = isMultipleColumnsVisibility ? column.getVisibleChoicesInCell : [];
45844
+ var newVisibleChoices = new Array();
45563
45845
  var hasVisCell = false;
45564
45846
  var rows = this.generatedVisibleRows;
45565
45847
  for (var i = 0; i < rows.length; i++) {
45566
45848
  var cell = rows[i].cells[column.index];
45567
- if (!!cell && !!cell.question && cell.question.isVisible) {
45849
+ var q = cell === null || cell === void 0 ? void 0 : cell.question;
45850
+ if (!!q && q.isVisible) {
45568
45851
  hasVisCell = true;
45569
- break;
45852
+ if (isMultipleColumnsVisibility) {
45853
+ this.updateNewVisibleChoices(q, newVisibleChoices);
45854
+ }
45855
+ else
45856
+ break;
45570
45857
  }
45571
45858
  }
45572
- if (curVis != hasVisCell) {
45573
- column.hasVisibleCell = hasVisCell;
45859
+ column.hasVisibleCell = hasVisCell;
45860
+ if (isMultipleColumnsVisibility) {
45861
+ column.setVisibleChoicesInCell(newVisibleChoices);
45862
+ if (!_helpers__WEBPACK_IMPORTED_MODULE_2__["Helpers"].isArraysEqual(curVisibleChoices, newVisibleChoices, true, false, false))
45863
+ return true;
45864
+ }
45865
+ return curVis != column.isVisible;
45866
+ };
45867
+ QuestionMatrixDropdownModelBase.prototype.updateNewVisibleChoices = function (q, dest) {
45868
+ var choices = q.visibleChoices;
45869
+ if (!Array.isArray(choices))
45870
+ return;
45871
+ for (var i = 0; i < choices.length; i++) {
45872
+ var ch = choices[i];
45873
+ if (dest.indexOf(ch.value) < 0)
45874
+ dest.push(ch.value);
45574
45875
  }
45575
- return curVis != hasVisCell;
45576
45876
  };
45577
45877
  QuestionMatrixDropdownModelBase.prototype.runTotalsCondition = function (values, properties) {
45578
45878
  if (!this.generatedTotalRow)
@@ -45913,9 +46213,7 @@ var QuestionMatrixDropdownModelBase = /** @class */ (function (_super) {
45913
46213
  };
45914
46214
  QuestionMatrixDropdownModelBase.prototype.getPlainData = function (options) {
45915
46215
  var _this = this;
45916
- if (options === void 0) { options = {
45917
- includeEmpty: true,
45918
- }; }
46216
+ if (options === void 0) { options = { includeEmpty: true }; }
45919
46217
  var questionPlainData = _super.prototype.getPlainData.call(this, options);
45920
46218
  if (!!questionPlainData) {
45921
46219
  questionPlainData.isNode = true;
@@ -46540,9 +46838,6 @@ var QuestionMatrixDropdownModelBase = /** @class */ (function (_super) {
46540
46838
  QuestionMatrixDropdownModelBase.prototype.getRootCss = function () {
46541
46839
  return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_11__["CssClassBuilder"]().append(_super.prototype.getRootCss.call(this)).append(this.cssClasses.rootScroll, this.horizontalScroll).toString();
46542
46840
  };
46543
- QuestionMatrixDropdownModelBase.prototype.getIsTooltipErrorInsideSupported = function () {
46544
- return false;
46545
- };
46546
46841
  return QuestionMatrixDropdownModelBase;
46547
46842
  }(_martixBase__WEBPACK_IMPORTED_MODULE_1__["QuestionMatrixBaseModel"]));
46548
46843
 
@@ -46685,12 +46980,12 @@ var MatrixDropdownColumn = /** @class */ (function (_super) {
46685
46980
  var _this = _super.call(this) || this;
46686
46981
  _this.colOwnerValue = null;
46687
46982
  _this.indexValue = -1;
46688
- _this._isVisible = true;
46689
46983
  _this._hasVisibleCell = true;
46690
46984
  _this.previousChoicesId = undefined;
46691
46985
  _this.createLocalizableString("totalFormat", _this);
46692
46986
  _this.createLocalizableString("cellHint", _this);
46693
46987
  _this.registerPropertyChangedHandlers(["showInMultipleColumns"], function () { _this.doShowInMultipleColumnsChanged(); });
46988
+ _this.registerPropertyChangedHandlers(["visible"], function () { _this.doColumnVisibilityChanged(); });
46694
46989
  _this.updateTemplateQuestion();
46695
46990
  _this.name = name;
46696
46991
  if (title) {
@@ -46800,15 +47095,30 @@ var MatrixDropdownColumn = /** @class */ (function (_super) {
46800
47095
  configurable: true
46801
47096
  });
46802
47097
  Object.defineProperty(MatrixDropdownColumn.prototype, "isVisible", {
47098
+ //For filtering columns
46803
47099
  get: function () {
46804
- 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);
46805
47118
  },
46806
47119
  enumerable: false,
46807
47120
  configurable: true
46808
47121
  });
46809
- MatrixDropdownColumn.prototype.setIsVisible = function (newVal) {
46810
- this._isVisible = newVal;
46811
- };
46812
47122
  Object.defineProperty(MatrixDropdownColumn.prototype, "hasVisibleCell", {
46813
47123
  get: function () {
46814
47124
  return this._hasVisibleCell;
@@ -46819,6 +47129,49 @@ var MatrixDropdownColumn = /** @class */ (function (_super) {
46819
47129
  enumerable: false,
46820
47130
  configurable: true
46821
47131
  });
47132
+ MatrixDropdownColumn.prototype.getVisibleMultipleChoices = function () {
47133
+ var choices = this.templateQuestion.visibleChoices;
47134
+ if (!Array.isArray(choices))
47135
+ return [];
47136
+ if (!Array.isArray(this._visiblechoices))
47137
+ return choices;
47138
+ var res = new Array();
47139
+ for (var i = 0; i < choices.length; i++) {
47140
+ var item = choices[i];
47141
+ if (this._visiblechoices.indexOf(item.value) > -1)
47142
+ res.push(item);
47143
+ }
47144
+ return res;
47145
+ };
47146
+ Object.defineProperty(MatrixDropdownColumn.prototype, "getVisibleChoicesInCell", {
47147
+ get: function () {
47148
+ if (Array.isArray(this._visiblechoices))
47149
+ return this._visiblechoices;
47150
+ var res = this.templateQuestion.visibleChoices;
47151
+ return Array.isArray(res) ? res : [];
47152
+ },
47153
+ enumerable: false,
47154
+ configurable: true
47155
+ });
47156
+ MatrixDropdownColumn.prototype.setVisibleChoicesInCell = function (val) {
47157
+ this._visiblechoices = val;
47158
+ };
47159
+ Object.defineProperty(MatrixDropdownColumn.prototype, "isFilteredMultipleColumns", {
47160
+ get: function () {
47161
+ if (!this.showInMultipleColumns)
47162
+ return false;
47163
+ var choices = this.templateQuestion.choices;
47164
+ if (!Array.isArray(choices))
47165
+ return false;
47166
+ for (var i = 0; i < choices.length; i++) {
47167
+ if (choices[i].visibleIf)
47168
+ return true;
47169
+ }
47170
+ return false;
47171
+ },
47172
+ enumerable: false,
47173
+ configurable: true
47174
+ });
46822
47175
  Object.defineProperty(MatrixDropdownColumn.prototype, "name", {
46823
47176
  get: function () {
46824
47177
  return this.templateQuestion.name;
@@ -47303,13 +47656,18 @@ var MatrixDropdownColumn = /** @class */ (function (_super) {
47303
47656
  }
47304
47657
  };
47305
47658
  MatrixDropdownColumn.prototype.doShowInMultipleColumnsChanged = function () {
47306
- if (this.colOwner != null && !this.isLoadingFromJson) {
47659
+ if (this.colOwner != null) {
47307
47660
  this.colOwner.onShowInMultipleColumnsChanged(this);
47308
47661
  }
47309
47662
  if (this.templateQuestion) {
47310
47663
  this.templateQuestion.autoOtherMode = this.isShowInMultipleColumns;
47311
47664
  }
47312
47665
  };
47666
+ MatrixDropdownColumn.prototype.doColumnVisibilityChanged = function () {
47667
+ if (this.colOwner != null && !this.isDesignMode) {
47668
+ this.colOwner.onColumnVisibilityChanged(this);
47669
+ }
47670
+ };
47313
47671
  MatrixDropdownColumn.prototype.getProperties = function (curCellType) {
47314
47672
  return _jsonobject__WEBPACK_IMPORTED_MODULE_0__["Serializer"].getDynamicPropertiesByObj(this, curCellType);
47315
47673
  };
@@ -47391,6 +47749,7 @@ _jsonobject__WEBPACK_IMPORTED_MODULE_0__["Serializer"].addClass("matrixdropdownc
47391
47749
  }
47392
47750
  },
47393
47751
  "width",
47752
+ { name: "visible:switch", default: true, overridingProperty: "visibleIf" },
47394
47753
  "visibleIf:condition",
47395
47754
  "enableIf:condition",
47396
47755
  "requiredIf:condition",
@@ -47644,6 +48003,11 @@ var QuestionMatrixDropdownRenderedCell = /** @class */ (function () {
47644
48003
  .append(matrixCssClasses.choiceCell, this.isChoice)
47645
48004
  .toString();
47646
48005
  };
48006
+ QuestionMatrixDropdownRenderedCell.prototype.focusIn = function () {
48007
+ if (this.question) {
48008
+ this.question.focusIn();
48009
+ }
48010
+ };
47647
48011
  QuestionMatrixDropdownRenderedCell.counter = 1;
47648
48012
  return QuestionMatrixDropdownRenderedCell;
47649
48013
  }());
@@ -47989,7 +48353,7 @@ var QuestionMatrixDropdownRenderedTable = /** @class */ (function (_super) {
47989
48353
  if (this.matrix.isColumnLayoutHorizontal) {
47990
48354
  for (var i = 0; i < this.matrix.visibleColumns.length; i++) {
47991
48355
  var column = this.matrix.visibleColumns[i];
47992
- if (!column.hasVisibleCell)
48356
+ if (!column.isColumnVisible)
47993
48357
  continue;
47994
48358
  if (this.matrix.IsMultiplyColumn(column)) {
47995
48359
  this.createMutlipleColumnsHeader(column);
@@ -48014,7 +48378,7 @@ var QuestionMatrixDropdownRenderedTable = /** @class */ (function (_super) {
48014
48378
  }
48015
48379
  }
48016
48380
  if (this.hasActionCellInRows("end")) {
48017
- this.headerRow.cells.push(this.createHeaderCell(null));
48381
+ this.headerRow.cells.push(this.createHeaderCell(null, "action"));
48018
48382
  }
48019
48383
  };
48020
48384
  QuestionMatrixDropdownRenderedTable.prototype.buildFooter = function () {
@@ -48033,7 +48397,7 @@ var QuestionMatrixDropdownRenderedTable = /** @class */ (function (_super) {
48033
48397
  var cells = this.matrix.visibleTotalRow.cells;
48034
48398
  for (var i = 0; i < cells.length; i++) {
48035
48399
  var cell = cells[i];
48036
- if (!cell.column.hasVisibleCell)
48400
+ if (!cell.column.isColumnVisible)
48037
48401
  continue;
48038
48402
  if (this.matrix.IsMultiplyColumn(cell.column)) {
48039
48403
  this.createMutlipleColumnsFooter(this.footerRow, cell);
@@ -48181,6 +48545,7 @@ var QuestionMatrixDropdownRenderedTable = /** @class */ (function (_super) {
48181
48545
  actions.push(new _actions_action__WEBPACK_IMPORTED_MODULE_3__["Action"]({
48182
48546
  id: "remove-row",
48183
48547
  iconName: "icon-delete",
48548
+ iconSize: "auto",
48184
48549
  component: "sv-action-bar-item",
48185
48550
  innerCss: new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_5__["CssClassBuilder"]().append(this.matrix.cssClasses.button).append(this.matrix.cssClasses.buttonRemove).toString(),
48186
48551
  location: "end",
@@ -48210,14 +48575,14 @@ var QuestionMatrixDropdownRenderedTable = /** @class */ (function (_super) {
48210
48575
  for (var i = 0; i < row.cells.length; i++) {
48211
48576
  var cell = row.cells[i];
48212
48577
  if (!cell.hasQuestion) {
48213
- res.cells.push(this.createEmptyCell());
48578
+ res.cells.push(this.createEmptyCell(true));
48214
48579
  }
48215
48580
  else if (this.matrix.IsMultiplyColumn(cell.cell.column)) {
48216
48581
  if (cell.isFirstChoice) {
48217
48582
  res.cells.push(this.createErrorCell(cell.cell));
48218
48583
  }
48219
48584
  else {
48220
- res.cells.push(this.createEmptyCell());
48585
+ res.cells.push(this.createEmptyCell(true));
48221
48586
  }
48222
48587
  }
48223
48588
  else {
@@ -48250,7 +48615,7 @@ var QuestionMatrixDropdownRenderedTable = /** @class */ (function (_super) {
48250
48615
  }
48251
48616
  for (var i = 0; i < row.cells.length; i++) {
48252
48617
  var cell = row.cells[i];
48253
- if (!cell.column.hasVisibleCell)
48618
+ if (!cell.column.isColumnVisible)
48254
48619
  continue;
48255
48620
  if (this.matrix.IsMultiplyColumn(cell.column)) {
48256
48621
  this.createMutlipleEditCells(res, cell);
@@ -48320,7 +48685,7 @@ var QuestionMatrixDropdownRenderedTable = /** @class */ (function (_super) {
48320
48685
  var renderedRows = [];
48321
48686
  for (var i = 0; i < columns.length; i++) {
48322
48687
  var col = columns[i];
48323
- if (col.isVisible && col.hasVisibleCell) {
48688
+ if (col.isColumnVisible) {
48324
48689
  if (this.matrix.IsMultiplyColumn(col)) {
48325
48690
  this.createMutlipleVerticalRows(renderedRows, col, i);
48326
48691
  }
@@ -48479,7 +48844,7 @@ var QuestionMatrixDropdownRenderedTable = /** @class */ (function (_super) {
48479
48844
  var choices = column.templateQuestion.choices;
48480
48845
  if (!!choices && Array.isArray(choices) && choices.length == 0)
48481
48846
  return this.matrix.choices;
48482
- choices = column.templateQuestion.visibleChoices;
48847
+ choices = column.getVisibleMultipleChoices();
48483
48848
  if (!choices || !Array.isArray(choices))
48484
48849
  return null;
48485
48850
  return choices;
@@ -48535,12 +48900,14 @@ var QuestionMatrixDropdownRenderedTable = /** @class */ (function (_super) {
48535
48900
  }
48536
48901
  return cell;
48537
48902
  };
48538
- QuestionMatrixDropdownRenderedTable.prototype.createEmptyCell = function () {
48903
+ QuestionMatrixDropdownRenderedTable.prototype.createEmptyCell = function (isError) {
48904
+ if (isError === void 0) { isError = false; }
48539
48905
  var res = this.createTextCell(null);
48540
48906
  res.isEmpty = true;
48541
48907
  res.className = new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_5__["CssClassBuilder"]()
48542
48908
  .append(this.cssClasses.cell)
48543
48909
  .append(this.cssClasses.emptyCell)
48910
+ .append(this.cssClasses.errorsCell, isError)
48544
48911
  .toString();
48545
48912
  return res;
48546
48913
  };
@@ -49673,7 +50040,7 @@ _questionfactory__WEBPACK_IMPORTED_MODULE_1__["QuestionFactory"].Instance.regist
49673
50040
  /*!**************************************!*\
49674
50041
  !*** ./src/question_multipletext.ts ***!
49675
50042
  \**************************************/
49676
- /*! exports provided: MultipleTextEditorModel, MultipleTextItemModel, QuestionMultipleTextModel */
50043
+ /*! exports provided: MultipleTextEditorModel, MultipleTextItemModel, QuestionMultipleTextModel, MutlipleTextRow, MutlipleTextErrorRow, MultipleTextCell, MultipleTextErrorCell */
49677
50044
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
49678
50045
 
49679
50046
  "use strict";
@@ -49681,6 +50048,10 @@ __webpack_require__.r(__webpack_exports__);
49681
50048
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MultipleTextEditorModel", function() { return MultipleTextEditorModel; });
49682
50049
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MultipleTextItemModel", function() { return MultipleTextItemModel; });
49683
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; });
49684
50055
  /* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base */ "./src/base.ts");
49685
50056
  /* harmony import */ var _survey_element__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./survey-element */ "./src/survey-element.ts");
49686
50057
  /* harmony import */ var _question__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./question */ "./src/question.ts");
@@ -49705,6 +50076,12 @@ var __extends = (undefined && undefined.__extends) || (function () {
49705
50076
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
49706
50077
  };
49707
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
+ };
49708
50085
 
49709
50086
 
49710
50087
 
@@ -49747,6 +50124,9 @@ var MultipleTextItemModel = /** @class */ (function (_super) {
49747
50124
  if (name === void 0) { name = null; }
49748
50125
  if (title === void 0) { title = null; }
49749
50126
  var _this = _super.call(this) || this;
50127
+ _this.focusIn = function () {
50128
+ _this.editor.focusIn();
50129
+ };
49750
50130
  _this.editorValue = _this.createEditor(name);
49751
50131
  _this.editor.questionTitleTemplateCallback = function () {
49752
50132
  return "";
@@ -50085,8 +50465,8 @@ var QuestionMultipleTextModel = /** @class */ (function (_super) {
50085
50465
  _this.survey.multipleTextItemAdded(_this, item);
50086
50466
  }
50087
50467
  });
50088
- _this.registerPropertyChangedHandlers(["items", "colCount"], function () {
50089
- _this.fireCallback(_this.colCountChangedCallback);
50468
+ _this.registerPropertyChangedHandlers(["items", "colCount", "itemErrorLocation"], function () {
50469
+ _this.calcVisibleRows();
50090
50470
  });
50091
50471
  _this.registerPropertyChangedHandlers(["itemSize"], function () { _this.updateItemsSize(); });
50092
50472
  return _this;
@@ -50113,9 +50493,12 @@ var QuestionMultipleTextModel = /** @class */ (function (_super) {
50113
50493
  configurable: true
50114
50494
  });
50115
50495
  Object.defineProperty(QuestionMultipleTextModel.prototype, "hasSingleInput", {
50116
- get: function () {
50117
- return false;
50118
- },
50496
+ get: function () { return false; },
50497
+ enumerable: false,
50498
+ configurable: true
50499
+ });
50500
+ Object.defineProperty(QuestionMultipleTextModel.prototype, "isContainer", {
50501
+ get: function () { return true; },
50119
50502
  enumerable: false,
50120
50503
  configurable: true
50121
50504
  });
@@ -50134,7 +50517,6 @@ var QuestionMultipleTextModel = /** @class */ (function (_super) {
50134
50517
  QuestionMultipleTextModel.prototype.onSurveyLoad = function () {
50135
50518
  this.editorsOnSurveyLoad();
50136
50519
  _super.prototype.onSurveyLoad.call(this);
50137
- this.fireCallback(this.colCountChangedCallback);
50138
50520
  };
50139
50521
  QuestionMultipleTextModel.prototype.setQuestionValue = function (newValue, updateIsAnswered) {
50140
50522
  if (updateIsAnswered === void 0) { updateIsAnswered = true; }
@@ -50273,11 +50655,25 @@ var QuestionMultipleTextModel = /** @class */ (function (_super) {
50273
50655
  return this.itemErrorLocation;
50274
50656
  return this.getErrorLocation();
50275
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
+ });
50276
50672
  QuestionMultipleTextModel.prototype.getChildErrorLocation = function (child) {
50277
50673
  return this.getQuestionErrorLocation();
50278
50674
  };
50279
50675
  QuestionMultipleTextModel.prototype.isNewValueCorrect = function (val) {
50280
- return _helpers__WEBPACK_IMPORTED_MODULE_6__["Helpers"].isValueObject(val);
50676
+ return _helpers__WEBPACK_IMPORTED_MODULE_6__["Helpers"].isValueObject(val, true);
50281
50677
  };
50282
50678
  QuestionMultipleTextModel.prototype.supportGoNextPageAutomatic = function () {
50283
50679
  for (var i = 0; i < this.items.length; i++) {
@@ -50316,22 +50712,44 @@ var QuestionMultipleTextModel = /** @class */ (function (_super) {
50316
50712
  enumerable: false,
50317
50713
  configurable: true
50318
50714
  });
50319
- QuestionMultipleTextModel.prototype.getRows = function () {
50715
+ QuestionMultipleTextModel.prototype.onRowCreated = function (row) {
50716
+ return row;
50717
+ };
50718
+ QuestionMultipleTextModel.prototype.calcVisibleRows = function () {
50320
50719
  var colCount = this.colCount;
50321
50720
  var items = this.items;
50322
- var rows = [];
50323
50721
  var index = 0;
50722
+ var row;
50723
+ var errorRow;
50724
+ var rows = [];
50324
50725
  for (var i = 0; i < items.length; i++) {
50325
50726
  if (index == 0) {
50326
- 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
+ }
50327
50737
  }
50328
- 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));
50329
50740
  index++;
50330
- if (index >= colCount) {
50741
+ if (index >= colCount || i == items.length - 1) {
50331
50742
  index = 0;
50743
+ errorRow.onAfterCreated();
50332
50744
  }
50333
50745
  }
50334
- 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;
50335
50753
  };
50336
50754
  QuestionMultipleTextModel.prototype.onValueChanged = function () {
50337
50755
  _super.prototype.onValueChanged.call(this);
@@ -50509,12 +50927,87 @@ var QuestionMultipleTextModel = /** @class */ (function (_super) {
50509
50927
  QuestionMultipleTextModel.prototype.getItemTitleCss = function () {
50510
50928
  return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_7__["CssClassBuilder"]().append(this.cssClasses.itemTitle).toString();
50511
50929
  };
50512
- QuestionMultipleTextModel.prototype.getIsTooltipErrorInsideSupported = function () {
50513
- return true;
50514
- };
50930
+ __decorate([
50931
+ Object(_jsonobject__WEBPACK_IMPORTED_MODULE_4__["propertyArray"])()
50932
+ ], QuestionMultipleTextModel.prototype, "rows", void 0);
50515
50933
  return QuestionMultipleTextModel;
50516
50934
  }(_question__WEBPACK_IMPORTED_MODULE_2__["Question"]));
50517
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
+
50518
51011
  _jsonobject__WEBPACK_IMPORTED_MODULE_4__["Serializer"].addClass("multipletextitem", [
50519
51012
  { name: "!name", isUnique: true },
50520
51013
  "isRequired:boolean",
@@ -50876,10 +51369,18 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
50876
51369
  _this.registerPropertyChangedHandlers(["allowAddPanel"], function () { _this.updateNoEntriesTextDefaultLoc(); });
50877
51370
  return _this;
50878
51371
  }
51372
+ Object.defineProperty(QuestionPanelDynamicModel.prototype, "isCompositeQuestion", {
51373
+ get: function () { return true; },
51374
+ enumerable: false,
51375
+ configurable: true
51376
+ });
50879
51377
  Object.defineProperty(QuestionPanelDynamicModel.prototype, "hasSingleInput", {
50880
- get: function () {
50881
- return false;
50882
- },
51378
+ get: function () { return false; },
51379
+ enumerable: false,
51380
+ configurable: true
51381
+ });
51382
+ Object.defineProperty(QuestionPanelDynamicModel.prototype, "isContainer", {
51383
+ get: function () { return true; },
50883
51384
  enumerable: false,
50884
51385
  configurable: true
50885
51386
  });
@@ -50940,13 +51441,6 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
50940
51441
  QuestionPanelDynamicModel.prototype.getType = function () {
50941
51442
  return "paneldynamic";
50942
51443
  };
50943
- Object.defineProperty(QuestionPanelDynamicModel.prototype, "isCompositeQuestion", {
50944
- get: function () {
50945
- return true;
50946
- },
50947
- enumerable: false,
50948
- configurable: true
50949
- });
50950
51444
  QuestionPanelDynamicModel.prototype.clearOnDeletingContainer = function () {
50951
51445
  this.panels.forEach(function (panel) {
50952
51446
  panel.clearOnDeletingContainer();
@@ -52365,14 +52859,20 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
52365
52859
  if (!!this.parentQuestion && !!this.parent) {
52366
52860
  cachedValues[QuestionPanelDynamicItem.ParentItemVariableName] = this.parent.getValue();
52367
52861
  }
52862
+ this.isValueChangingInternally = true;
52368
52863
  for (var i = 0; i < this.panels.length; i++) {
52369
- var panelValues = this.getPanelItemData(this.panels[i].data);
52864
+ var panel = this.panels[i];
52865
+ var panelValues = this.getPanelItemData(panel.data);
52370
52866
  //Should be unique for every panel due async expression support
52371
52867
  var newValues = _helpers__WEBPACK_IMPORTED_MODULE_0__["Helpers"].createCopy(cachedValues);
52372
- newValues[QuestionPanelDynamicItem.ItemVariableName.toLowerCase()] = panelValues;
52868
+ var panelName = QuestionPanelDynamicItem.ItemVariableName;
52869
+ newValues[panelName] = panelValues;
52373
52870
  newValues[QuestionPanelDynamicItem.IndexVariableName.toLowerCase()] = i;
52374
- this.panels[i].runCondition(newValues, properties);
52871
+ var newProps = _helpers__WEBPACK_IMPORTED_MODULE_0__["Helpers"].createCopy(properties);
52872
+ newProps[panelName] = panel;
52873
+ panel.runCondition(newValues, newProps);
52375
52874
  }
52875
+ this.isValueChangingInternally = false;
52376
52876
  };
52377
52877
  QuestionPanelDynamicModel.prototype.onAnyValueChanged = function (name) {
52378
52878
  _super.prototype.onAnyValueChanged.call(this, name);
@@ -52807,9 +53307,7 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
52807
53307
  return this.data;
52808
53308
  };
52809
53309
  QuestionPanelDynamicModel.prototype.getPlainData = function (options) {
52810
- if (options === void 0) { options = {
52811
- includeEmpty: true,
52812
- }; }
53310
+ if (options === void 0) { options = { includeEmpty: true }; }
52813
53311
  var questionPlainData = _super.prototype.getPlainData.call(this, options);
52814
53312
  if (!!questionPlainData) {
52815
53313
  questionPlainData.isNode = true;
@@ -53019,11 +53517,22 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
53019
53517
  this.updateFooterActionsCallback();
53020
53518
  this.footerToolbarValue.setItems(items);
53021
53519
  };
53022
- QuestionPanelDynamicModel.prototype.createTabByPanel = function (panel) {
53520
+ QuestionPanelDynamicModel.prototype.createTabByPanel = function (panel, visPanelIndex) {
53023
53521
  var _this = this;
53024
53522
  if (!this.isRenderModeTab)
53025
53523
  return;
53026
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
+ };
53027
53536
  locTitle.sharedData = this.locTemplateTabTitle;
53028
53537
  var isActive = this.getPanelIndexById(panel.id) === this.currentIndex;
53029
53538
  var newItem = new _actions_action__WEBPACK_IMPORTED_MODULE_11__["Action"]({
@@ -53067,13 +53576,20 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
53067
53576
  if (!this.isRenderModeTab)
53068
53577
  return;
53069
53578
  var items = [];
53070
- 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
+ }
53071
53587
  this.additionalTitleToolbar.setItems(items);
53072
53588
  };
53073
53589
  QuestionPanelDynamicModel.prototype.addTabFromToolbar = function (panel, index) {
53074
53590
  if (!this.isRenderModeTab)
53075
53591
  return;
53076
- var newItem = this.createTabByPanel(panel);
53592
+ var newItem = this.createTabByPanel(panel, index);
53077
53593
  this.additionalTitleToolbar.actions.splice(index, 0, newItem);
53078
53594
  this.updateTabToolbarItemsPressedState();
53079
53595
  };
@@ -53460,7 +53976,9 @@ var QuestionRankingModel = /** @class */ (function (_super) {
53460
53976
  var target = event.target;
53461
53977
  if (!_this.isDragStartNodeValid(target))
53462
53978
  return;
53463
- if (_this.allowStartDrag && _this.canStartDragDueMaxSelectedChoices(target)) {
53979
+ if (_this.allowStartDrag &&
53980
+ _this.canStartDragDueMaxSelectedChoices(target) &&
53981
+ _this.canStartDragDueItemEnabled(choice)) {
53464
53982
  _this.dragDropRankingChoices.startDrag(event, choice, _this, node);
53465
53983
  }
53466
53984
  };
@@ -53533,7 +54051,9 @@ var QuestionRankingModel = /** @class */ (function (_super) {
53533
54051
  return "ranking";
53534
54052
  };
53535
54053
  QuestionRankingModel.prototype.getItemTabIndex = function (item) {
53536
- return this.isDesignMode ? undefined : 0;
54054
+ if (this.isDesignMode || item.disabled)
54055
+ return undefined;
54056
+ return 0;
53537
54057
  };
53538
54058
  Object.defineProperty(QuestionRankingModel.prototype, "rootClass", {
53539
54059
  get: function () {
@@ -53748,6 +54268,9 @@ var QuestionRankingModel = /** @class */ (function (_super) {
53748
54268
  }
53749
54269
  return true;
53750
54270
  };
54271
+ QuestionRankingModel.prototype.canStartDragDueItemEnabled = function (item) {
54272
+ return item.enabled;
54273
+ };
53751
54274
  QuestionRankingModel.prototype.checkMaxSelectedChoicesUnreached = function () {
53752
54275
  if (this.maxSelectedChoices < 1)
53753
54276
  return true;
@@ -54341,6 +54864,8 @@ var QuestionRatingModel = /** @class */ (function (_super) {
54341
54864
  this.colorsCalculated = true;
54342
54865
  };
54343
54866
  QuestionRatingModel.prototype.getDisplayValueCore = function (keysAsText, value) {
54867
+ if (!this.useRateValues)
54868
+ return _super.prototype.getDisplayValueCore.call(this, keysAsText, value);
54344
54869
  var res = _itemvalue__WEBPACK_IMPORTED_MODULE_0__["ItemValue"].getTextOrHtmlByValue(this.visibleRateValues, value);
54345
54870
  return !!res ? res : value;
54346
54871
  };
@@ -54418,6 +54943,13 @@ var QuestionRatingModel = /** @class */ (function (_super) {
54418
54943
  QuestionRatingModel.prototype.supportOther = function () {
54419
54944
  return false;
54420
54945
  };
54946
+ QuestionRatingModel.prototype.getPlainDataCalculatedValue = function (propName) {
54947
+ var res = _super.prototype.getPlainDataCalculatedValue.call(this, propName);
54948
+ if (res !== undefined || !this.useRateValues || this.isEmpty())
54949
+ return res;
54950
+ var item = _itemvalue__WEBPACK_IMPORTED_MODULE_0__["ItemValue"].getItemByValue(this.visibleRateValues, this.value);
54951
+ return item ? item[propName] : undefined;
54952
+ };
54421
54953
  Object.defineProperty(QuestionRatingModel.prototype, "minRateDescription", {
54422
54954
  /**
54423
54955
  * Specifies a description for the minimum (first) rate value.
@@ -55124,7 +55656,8 @@ var QuestionSignaturePadModel = /** @class */ (function (_super) {
55124
55656
  signaturePad.penColor = this.penColor || penColorFromTheme || penColorProperty.defaultValue || "#1ab394";
55125
55657
  var backgroundColorProperty = this.getPropertyByName("backgroundColor");
55126
55658
  var backgroundColorFromTheme = penColorFromTheme ? "transparent" : undefined;
55127
- signaturePad.backgroundColor = this.backgroundColor || backgroundColorFromTheme || backgroundColorProperty.defaultValue || "#ffffff";
55659
+ var background = !!this.backgroundImage ? "transparent" : this.backgroundColor;
55660
+ signaturePad.backgroundColor = background || backgroundColorFromTheme || backgroundColorProperty.defaultValue || "#ffffff";
55128
55661
  };
55129
55662
  QuestionSignaturePadModel.prototype.getCssRoot = function (cssClasses) {
55130
55663
  return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_4__["CssClassBuilder"]()
@@ -55300,7 +55833,13 @@ var QuestionSignaturePadModel = /** @class */ (function (_super) {
55300
55833
  });
55301
55834
  Object.defineProperty(QuestionSignaturePadModel.prototype, "penColor", {
55302
55835
  /**
55303
- * Specifies a color for the pen. Accepts hexadecimal colors (`"#FF0000"`), RGB colors (`"rgb(255,0,0)"`), or color names (`"red"`).
55836
+ * Specifies a color for the pen.
55837
+ *
55838
+ * This property accepts color values in the following formats:
55839
+ *
55840
+ * - Hexadecimal colors (`"#FF0000"`)
55841
+ * - RGB colors (`"rgb(255,0,0)"`)
55842
+ * - Color names (`"red"`)
55304
55843
  * @see backgroundColor
55305
55844
  */
55306
55845
  get: function () {
@@ -55308,13 +55847,20 @@ var QuestionSignaturePadModel = /** @class */ (function (_super) {
55308
55847
  },
55309
55848
  set: function (val) {
55310
55849
  this.setPropertyValue("penColor", val);
55850
+ !!this.signaturePad && this.updateColors(this.signaturePad);
55311
55851
  },
55312
55852
  enumerable: false,
55313
55853
  configurable: true
55314
55854
  });
55315
55855
  Object.defineProperty(QuestionSignaturePadModel.prototype, "backgroundColor", {
55316
55856
  /**
55317
- * Specifies a color for the signature area background. Accepts hexadecimal colors (`"#FF0000"`), RGB colors (`"rgb(255,0,0)"`), or color names (`"red"`).
55857
+ * Specifies a color for the signature area background. Ignored if [`backgroundImage`](#backgroundImage) is set.
55858
+ *
55859
+ * This property accepts color values in the following formats:
55860
+ *
55861
+ * - Hexadecimal colors (`"#FF0000"`)
55862
+ * - RGB colors (`"rgb(255,0,0)"`)
55863
+ * - Color names (`"red"`)
55318
55864
  * @see penColor
55319
55865
  */
55320
55866
  get: function () {
@@ -55322,6 +55868,22 @@ var QuestionSignaturePadModel = /** @class */ (function (_super) {
55322
55868
  },
55323
55869
  set: function (val) {
55324
55870
  this.setPropertyValue("backgroundColor", val);
55871
+ !!this.signaturePad && this.updateColors(this.signaturePad);
55872
+ },
55873
+ enumerable: false,
55874
+ configurable: true
55875
+ });
55876
+ Object.defineProperty(QuestionSignaturePadModel.prototype, "backgroundImage", {
55877
+ /**
55878
+ * An image to display in the background of the signature area. Accepts a base64 or URL string value.
55879
+ * @see backgroundColor
55880
+ */
55881
+ get: function () {
55882
+ return this.getPropertyValue("backgroundImage");
55883
+ },
55884
+ set: function (val) {
55885
+ this.setPropertyValue("backgroundImage", val);
55886
+ !!this.signaturePad && this.updateColors(this.signaturePad);
55325
55887
  },
55326
55888
  enumerable: false,
55327
55889
  configurable: true
@@ -55393,6 +55955,10 @@ _jsonobject__WEBPACK_IMPORTED_MODULE_0__["Serializer"].addClass("signaturepad",
55393
55955
  category: "general",
55394
55956
  default: true,
55395
55957
  },
55958
+ {
55959
+ name: "backgroundImage",
55960
+ category: "general",
55961
+ },
55396
55962
  {
55397
55963
  name: "penColor:color",
55398
55964
  category: "general",
@@ -55482,18 +56048,24 @@ var QuestionTagboxModel = /** @class */ (function (_super) {
55482
56048
  _this.onOpened = _this.addEvent();
55483
56049
  _this.createLocalizableString("placeholder", _this, false, true);
55484
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();
55485
56055
  return _this;
55486
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
+ };
55487
56066
  QuestionTagboxModel.prototype.getDefaultItemComponent = function () {
55488
56067
  return "";
55489
56068
  };
55490
- Object.defineProperty(QuestionTagboxModel.prototype, "readOnlyText", {
55491
- get: function () {
55492
- return this.displayValue || this.placeholder;
55493
- },
55494
- enumerable: false,
55495
- configurable: true
55496
- });
55497
56069
  QuestionTagboxModel.prototype.onSurveyLoad = function () {
55498
56070
  _super.prototype.onSurveyLoad.call(this);
55499
56071
  if (!this.dropdownListModel) {
@@ -55646,6 +56218,9 @@ var QuestionTagboxModel = /** @class */ (function (_super) {
55646
56218
  _super.prototype.clearValue.call(this);
55647
56219
  this.dropdownListModel.clear();
55648
56220
  };
56221
+ __decorate([
56222
+ Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__["property"])({ defaultValue: "" })
56223
+ ], QuestionTagboxModel.prototype, "readOnlyText", void 0);
55649
56224
  __decorate([
55650
56225
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__["property"])()
55651
56226
  ], QuestionTagboxModel.prototype, "allowClear", void 0);
@@ -55780,9 +56355,7 @@ var QuestionTextModel = /** @class */ (function (_super) {
55780
56355
  if (_this.isInputTextUpdate) {
55781
56356
  _this._isWaitingForEnter = event.keyCode === 229;
55782
56357
  }
55783
- if (event.keyCode === 13) {
55784
- _this.survey.questionEditFinishCallback(_this, event);
55785
- }
56358
+ _this.onTextKeyDownHandler(event);
55786
56359
  };
55787
56360
  _this.onChange = function (event) {
55788
56361
  if (event.target === _settings__WEBPACK_IMPORTED_MODULE_6__["settings"].environment.root.activeElement) {
@@ -56237,7 +56810,7 @@ var QuestionTextModel = /** @class */ (function (_super) {
56237
56810
  }
56238
56811
  return newValue;
56239
56812
  };
56240
- QuestionTextModel.prototype.hasPlaceHolder = function () {
56813
+ QuestionTextModel.prototype.hasPlaceholder = function () {
56241
56814
  return !this.isReadOnly && this.inputType !== "range";
56242
56815
  };
56243
56816
  QuestionTextModel.prototype.isReadOnlyRenderDiv = function () {
@@ -56638,12 +57211,12 @@ var QuestionTextBase = /** @class */ (function (_super) {
56638
57211
  };
56639
57212
  QuestionTextBase.prototype.calcRenderedPlaceholder = function () {
56640
57213
  var res = this.placeHolder;
56641
- if (!!res && !this.hasPlaceHolder()) {
57214
+ if (!!res && !this.hasPlaceholder()) {
56642
57215
  res = undefined;
56643
57216
  }
56644
57217
  this.setRenderedPlaceholder(res);
56645
57218
  };
56646
- QuestionTextBase.prototype.hasPlaceHolder = function () {
57219
+ QuestionTextBase.prototype.hasPlaceholder = function () {
56647
57220
  return !this.isReadOnly;
56648
57221
  };
56649
57222
  QuestionTextBase.prototype.setNewValue = function (newValue) {
@@ -57753,11 +58326,11 @@ var ComponentsContainer = /** @class */ (function (_super) {
57753
58326
  }
57754
58327
  if (!needRenderWrapper) {
57755
58328
  return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, components.map(function (component) {
57756
- 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 });
57757
58330
  }));
57758
58331
  }
57759
58332
  return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { className: "sv-components-column" }, components.map(function (component) {
57760
- 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 });
57761
58334
  }));
57762
58335
  };
57763
58336
  return ComponentsContainer;
@@ -57955,6 +58528,12 @@ var List = /** @class */ (function (_super) {
57955
58528
  this.model.initListContainerHtmlElement(this.listContainerRef.current);
57956
58529
  }
57957
58530
  };
58531
+ List.prototype.componentWillUnmount = function () {
58532
+ _super.prototype.componentWillUnmount.call(this);
58533
+ if (!!this.model) {
58534
+ this.model.initListContainerHtmlElement(undefined);
58535
+ }
58536
+ };
57958
58537
  List.prototype.renderElement = function () {
57959
58538
  return (react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { className: this.model.cssClasses.root, ref: this.listContainerRef },
57960
58539
  this.searchElementContent(),
@@ -58760,6 +59339,10 @@ var Popup = /** @class */ (function (_super) {
58760
59339
  _super.prototype.componentDidUpdate.call(this, prevProps, prevState);
58761
59340
  this.setTargetElement();
58762
59341
  };
59342
+ Popup.prototype.componentWillUnmount = function () {
59343
+ _super.prototype.componentWillUnmount.call(this);
59344
+ this.popup.resetComponentElement();
59345
+ };
58763
59346
  Popup.prototype.shouldComponentUpdate = function (nextProps, nextState) {
58764
59347
  var _a;
58765
59348
  if (!_super.prototype.shouldComponentUpdate.call(this, nextProps, nextState))
@@ -61320,6 +61903,8 @@ var Survey = /** @class */ (function (_super) {
61320
61903
  };
61321
61904
  Survey.prototype.destroySurvey = function () {
61322
61905
  if (this.survey) {
61906
+ this.survey.renderCallback = undefined;
61907
+ this.survey.onPartialSend.clear();
61323
61908
  this.survey.stopTimer();
61324
61909
  this.survey.destroyResizeObserver();
61325
61910
  }
@@ -61342,6 +61927,9 @@ var Survey = /** @class */ (function (_super) {
61342
61927
  else if (this.survey.state == "loading") {
61343
61928
  renderResult = this.renderLoading();
61344
61929
  }
61930
+ else if (this.survey.state == "empty") {
61931
+ renderResult = this.renderEmptySurvey();
61932
+ }
61345
61933
  else {
61346
61934
  renderResult = this.renderSurvey();
61347
61935
  }
@@ -61390,11 +61978,11 @@ var Survey = /** @class */ (function (_super) {
61390
61978
  };
61391
61979
  Survey.prototype.renderCompletedBefore = function () {
61392
61980
  var htmlValue = { __html: this.survey.processedCompletedBeforeHtml };
61393
- 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 }));
61394
61982
  };
61395
61983
  Survey.prototype.renderLoading = function () {
61396
61984
  var htmlValue = { __html: this.survey.processedLoadingHtml };
61397
- 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 }));
61398
61986
  };
61399
61987
  Survey.prototype.renderSurvey = function () {
61400
61988
  var activePage = this.survey.activePage
@@ -61403,10 +61991,6 @@ var Survey = /** @class */ (function (_super) {
61403
61991
  var isStaring = this.survey.isShowStartingPage;
61404
61992
  var pageId = this.survey.activePage ? this.survey.activePage.id : "";
61405
61993
  var className = this.survey.bodyCss;
61406
- if (!activePage) {
61407
- className = this.css.bodyEmpty;
61408
- activePage = this.renderEmptySurvey();
61409
- }
61410
61994
  var style = {};
61411
61995
  if (!!this.survey.renderedWidth) {
61412
61996
  style.maxWidth = this.survey.renderedWidth;
@@ -61423,7 +62007,7 @@ var Survey = /** @class */ (function (_super) {
61423
62007
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_page__WEBPACK_IMPORTED_MODULE_2__["SurveyPage"], { survey: this.survey, page: page, css: this.css, creator: this }));
61424
62008
  };
61425
62009
  Survey.prototype.renderEmptySurvey = function () {
61426
- 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);
61427
62011
  };
61428
62012
  Survey.prototype.createSurvey = function (newProps) {
61429
62013
  if (!newProps)
@@ -61680,7 +62264,7 @@ var SurveyProgress = /** @class */ (function (_super) {
61680
62264
  var progressStyle = {
61681
62265
  width: this.progress + "%",
61682
62266
  };
61683
- 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) },
61684
62268
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { style: progressStyle, className: this.css.progressBar, role: "progressbar", "aria-valuemin": 0, "aria-valuemax": 100 },
61685
62269
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", { className: survey_core__WEBPACK_IMPORTED_MODULE_1__["SurveyProgressModel"].getProgressTextInBarCss(this.css) }, this.progressText)),
61686
62270
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", { className: survey_core__WEBPACK_IMPORTED_MODULE_1__["SurveyProgressModel"].getProgressTextUnderBarCss(this.css) }, this.progressText)));
@@ -61889,7 +62473,7 @@ _element_factory__WEBPACK_IMPORTED_MODULE_3__["ReactElementFactory"].Instance.re
61889
62473
  /*!*************************************!*\
61890
62474
  !*** ./src/react/reactquestion.tsx ***!
61891
62475
  \*************************************/
61892
- /*! exports provided: SurveyQuestion, SurveyElementErrors, SurveyQuestionAndErrorsWrapped, SurveyQuestionAndErrorsCell */
62476
+ /*! exports provided: SurveyQuestion, SurveyElementErrors, SurveyQuestionAndErrorsWrapped, SurveyQuestionAndErrorsCell, SurveyQuestionErrorCell */
61893
62477
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
61894
62478
 
61895
62479
  "use strict";
@@ -61898,15 +62482,15 @@ __webpack_require__.r(__webpack_exports__);
61898
62482
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SurveyElementErrors", function() { return SurveyElementErrors; });
61899
62483
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SurveyQuestionAndErrorsWrapped", function() { return SurveyQuestionAndErrorsWrapped; });
61900
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; });
61901
62486
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
61902
62487
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
61903
- /* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! survey-core */ "./src/entries/core.ts");
61904
- /* harmony import */ var _reactsurveymodel__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./reactsurveymodel */ "./src/react/reactsurveymodel.tsx");
61905
- /* harmony import */ var _element_factory__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./element-factory */ "./src/react/element-factory.tsx");
61906
- /* harmony import */ var _reactquestion_element__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./reactquestion_element */ "./src/react/reactquestion_element.tsx");
61907
- /* harmony import */ var _reactquestion_comment__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./reactquestion_comment */ "./src/react/reactquestion_comment.tsx");
61908
- /* harmony import */ var _custom_widget__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./custom-widget */ "./src/react/custom-widget.tsx");
61909
- /* 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");
61910
62494
  var __extends = (undefined && undefined.__extends) || (function () {
61911
62495
  var extendStatics = function (d, b) {
61912
62496
  extendStatics = Object.setPrototypeOf ||
@@ -61929,7 +62513,6 @@ var __extends = (undefined && undefined.__extends) || (function () {
61929
62513
 
61930
62514
 
61931
62515
 
61932
-
61933
62516
  var SurveyQuestion = /** @class */ (function (_super) {
61934
62517
  __extends(SurveyQuestion, _super);
61935
62518
  function SurveyQuestion(props) {
@@ -61945,7 +62528,7 @@ var SurveyQuestion = /** @class */ (function (_super) {
61945
62528
  if (!customWidget) {
61946
62529
  return creator.createQuestionElement(question);
61947
62530
  }
61948
- 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 });
61949
62532
  };
61950
62533
  SurveyQuestion.prototype.getStateElement = function () {
61951
62534
  return this.question;
@@ -62023,9 +62606,6 @@ var SurveyQuestion = /** @class */ (function (_super) {
62023
62606
  ? this.renderErrors(cssClasses, "bottom")
62024
62607
  : null;
62025
62608
  var comment = question && question.hasComment ? this.renderComment(cssClasses) : null;
62026
- var errorsTooltip = this.question.isErrorsModeTooltip
62027
- ? this.renderErrors(cssClasses, "tooltip")
62028
- : null;
62029
62609
  var descriptionUnderInput = question.hasDescriptionUnderInput
62030
62610
  ? this.renderDescription()
62031
62611
  : null;
@@ -62034,7 +62614,6 @@ var SurveyQuestion = /** @class */ (function (_super) {
62034
62614
  questionRender,
62035
62615
  comment,
62036
62616
  errorsBottom,
62037
- errorsTooltip,
62038
62617
  descriptionUnderInput));
62039
62618
  };
62040
62619
  SurveyQuestion.prototype.renderElement = function () {
@@ -62063,7 +62642,7 @@ var SurveyQuestion = /** @class */ (function (_super) {
62063
62642
  var survey = this.question.survey;
62064
62643
  var wrapper = null;
62065
62644
  if (survey) {
62066
- 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);
62067
62646
  }
62068
62647
  return wrapper !== null && wrapper !== void 0 ? wrapper : element;
62069
62648
  };
@@ -62071,7 +62650,7 @@ var SurveyQuestion = /** @class */ (function (_super) {
62071
62650
  var survey = this.question.survey;
62072
62651
  var wrapper = null;
62073
62652
  if (survey) {
62074
- 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);
62075
62654
  }
62076
62655
  return wrapper !== null && wrapper !== void 0 ? wrapper : element;
62077
62656
  };
@@ -62079,24 +62658,24 @@ var SurveyQuestion = /** @class */ (function (_super) {
62079
62658
  return SurveyQuestion.renderQuestionBody(this.creator, this.question);
62080
62659
  };
62081
62660
  SurveyQuestion.prototype.renderDescription = function () {
62082
- return _reactquestion_element__WEBPACK_IMPORTED_MODULE_4__["SurveyElementBase"].renderQuestionDescription(this.question);
62661
+ return _reactquestion_element__WEBPACK_IMPORTED_MODULE_3__["SurveyElementBase"].renderQuestionDescription(this.question);
62083
62662
  };
62084
62663
  SurveyQuestion.prototype.renderComment = function (cssClasses) {
62085
- 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);
62086
62665
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.question.getCommentAreaCss() },
62087
62666
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", null, commentText),
62088
- 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 })));
62089
62668
  };
62090
62669
  SurveyQuestion.prototype.renderHeader = function (question) {
62091
- 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 });
62092
62671
  };
62093
62672
  SurveyQuestion.prototype.renderErrors = function (cssClasses, location) {
62094
62673
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"](SurveyElementErrors, { element: this.question, cssClasses: cssClasses, creator: this.creator, location: location, id: this.question.id + "_errors" }));
62095
62674
  };
62096
62675
  return SurveyQuestion;
62097
- }(_reactquestion_element__WEBPACK_IMPORTED_MODULE_4__["SurveyElementBase"]));
62676
+ }(_reactquestion_element__WEBPACK_IMPORTED_MODULE_3__["SurveyElementBase"]));
62098
62677
 
62099
- _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) {
62100
62679
  return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](SurveyQuestion, props);
62101
62680
  });
62102
62681
  var SurveyElementErrors = /** @class */ (function (_super) {
@@ -62104,7 +62683,6 @@ var SurveyElementErrors = /** @class */ (function (_super) {
62104
62683
  function SurveyElementErrors(props) {
62105
62684
  var _this = _super.call(this, props) || this;
62106
62685
  _this.state = _this.getState();
62107
- _this.tooltipRef = react__WEBPACK_IMPORTED_MODULE_0__["createRef"]();
62108
62686
  return _this;
62109
62687
  }
62110
62688
  Object.defineProperty(SurveyElementErrors.prototype, "id", {
@@ -62142,26 +62720,7 @@ var SurveyElementErrors = /** @class */ (function (_super) {
62142
62720
  SurveyElementErrors.prototype.canRender = function () {
62143
62721
  return !!this.element && this.element.hasVisibleErrors;
62144
62722
  };
62145
- SurveyElementErrors.prototype.componentDidUpdate = function (prevProps, prevState) {
62146
- _super.prototype.componentDidUpdate.call(this, prevProps, prevState);
62147
- if (this.props.location == "tooltip") {
62148
- if (this.tooltipRef.current && !this.tooltipManager) {
62149
- this.tooltipManager = new survey_core__WEBPACK_IMPORTED_MODULE_1__["TooltipManager"](this.tooltipRef.current);
62150
- }
62151
- if (!!this.tooltipManager && !this.tooltipRef.current) {
62152
- this.disposeTooltipManager();
62153
- }
62154
- }
62155
- };
62156
62723
  SurveyElementErrors.prototype.componentWillUnmount = function () {
62157
- if (!!this.tooltipManager) {
62158
- this.disposeTooltipManager();
62159
- }
62160
- };
62161
- SurveyElementErrors.prototype.disposeTooltipManager = function () {
62162
- var _a;
62163
- (_a = this.tooltipManager) === null || _a === void 0 ? void 0 : _a.dispose();
62164
- this.tooltipManager = undefined;
62165
62724
  };
62166
62725
  SurveyElementErrors.prototype.renderElement = function () {
62167
62726
  var errors = [];
@@ -62169,10 +62728,10 @@ var SurveyElementErrors = /** @class */ (function (_super) {
62169
62728
  var key = "error" + i;
62170
62729
  errors.push(this.creator.renderError(key, this.element.errors[i], this.cssClasses));
62171
62730
  }
62172
- 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));
62173
62732
  };
62174
62733
  return SurveyElementErrors;
62175
- }(_reactquestion_element__WEBPACK_IMPORTED_MODULE_4__["ReactSurveyElement"]));
62734
+ }(_reactquestion_element__WEBPACK_IMPORTED_MODULE_3__["ReactSurveyElement"]));
62176
62735
 
62177
62736
  var SurveyQuestionAndErrorsWrapped = /** @class */ (function (_super) {
62178
62737
  __extends(SurveyQuestionAndErrorsWrapped, _super);
@@ -62218,23 +62777,9 @@ var SurveyQuestionAndErrorsWrapped = /** @class */ (function (_super) {
62218
62777
  SurveyQuestionAndErrorsWrapped.prototype.canRender = function () {
62219
62778
  return !!this.question;
62220
62779
  };
62221
- SurveyQuestionAndErrorsWrapped.prototype.renderErrors = function (errorsLocation) {
62222
- return this.getShowErrors() ? (react__WEBPACK_IMPORTED_MODULE_0__["createElement"](SurveyElementErrors, { element: this.question, cssClasses: this.cssClasses, creator: this.creator, location: errorsLocation })) : null;
62223
- };
62224
62780
  SurveyQuestionAndErrorsWrapped.prototype.renderContent = function () {
62225
- var errorsLocation = this.creator.questionErrorLocation();
62226
- var errors = this.renderErrors(errorsLocation);
62227
- var errorsTop = this.question.showErrorOnTop
62228
- ? errors
62229
- : null;
62230
- var errorsBottom = this.question.showErrorOnBottom
62231
- ? errors
62232
- : null;
62233
62781
  var renderedQuestion = this.renderQuestion();
62234
- return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null,
62235
- errorsTop,
62236
- renderedQuestion,
62237
- errorsBottom));
62782
+ return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null, renderedQuestion));
62238
62783
  };
62239
62784
  SurveyQuestionAndErrorsWrapped.prototype.getShowErrors = function () {
62240
62785
  return this.question.isVisible;
@@ -62243,7 +62788,7 @@ var SurveyQuestionAndErrorsWrapped = /** @class */ (function (_super) {
62243
62788
  return SurveyQuestion.renderQuestionBody(this.creator, this.question);
62244
62789
  };
62245
62790
  return SurveyQuestionAndErrorsWrapped;
62246
- }(_reactquestion_element__WEBPACK_IMPORTED_MODULE_4__["ReactSurveyElement"]));
62791
+ }(_reactquestion_element__WEBPACK_IMPORTED_MODULE_3__["ReactSurveyElement"]));
62247
62792
 
62248
62793
  var SurveyQuestionAndErrorsCell = /** @class */ (function (_super) {
62249
62794
  __extends(SurveyQuestionAndErrorsCell, _super);
@@ -62263,7 +62808,9 @@ var SurveyQuestionAndErrorsCell = /** @class */ (function (_super) {
62263
62808
  };
62264
62809
  SurveyQuestionAndErrorsCell.prototype.renderElement = function () {
62265
62810
  var style = this.getCellStyle();
62266
- return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("td", { ref: this.cellRef, className: this.itemCss, colSpan: this.props.cell.colSpans, "data-responsive-title": this.getHeaderText(), title: this.props.cell.getTitle(), style: style }, this.wrapCell(this.props.cell, (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.cssClasses.cellQuestionWrapper }, this.renderQuestion())))));
62811
+ var cell = this.props.cell;
62812
+ var focusIn = function () { cell.focusIn(); };
62813
+ return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("td", { ref: this.cellRef, className: this.itemCss, colSpan: cell.colSpans, "data-responsive-title": this.getHeaderText(), title: cell.getTitle(), style: style, onFocus: focusIn }, this.wrapCell(this.props.cell, (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.cssClasses.cellQuestionWrapper }, this.renderQuestion())))));
62267
62814
  };
62268
62815
  SurveyQuestionAndErrorsCell.prototype.getCellStyle = function () {
62269
62816
  return null;
@@ -62278,13 +62825,63 @@ var SurveyQuestionAndErrorsCell = /** @class */ (function (_super) {
62278
62825
  var survey = this.question.survey;
62279
62826
  var wrapper = null;
62280
62827
  if (survey) {
62281
- 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);
62282
62829
  }
62283
62830
  return wrapper !== null && wrapper !== void 0 ? wrapper : element;
62284
62831
  };
62285
62832
  return SurveyQuestionAndErrorsCell;
62286
62833
  }(SurveyQuestionAndErrorsWrapped));
62287
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
+
62288
62885
 
62289
62886
 
62290
62887
  /***/ }),
@@ -62766,7 +63363,7 @@ var SurveyQuestionCommentItem = /** @class */ (function (_super) {
62766
63363
  return this.props.question.commentId;
62767
63364
  };
62768
63365
  SurveyQuestionCommentItem.prototype.getPlaceholder = function () {
62769
- return this.props.question.commentPlaceholder;
63366
+ return this.props.question.renderedCommentPlaceholder;
62770
63367
  };
62771
63368
  SurveyQuestionCommentItem.prototype.renderElement = function () {
62772
63369
  var _this = this;
@@ -63565,7 +64162,7 @@ var SurveyQuestionFile = /** @class */ (function (_super) {
63565
64162
  noFileChosen = (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", { className: this.question.cssClasses.noFileChosen }, this.question.noFileChosenCaption));
63566
64163
  }
63567
64164
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.question.getFileDecoratorCss() },
63568
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", { className: this.question.cssClasses.dragAreaPlaceholder }, this.question.dragAreaPlaceholder),
64165
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", { className: this.question.cssClasses.dragAreaPlaceholder }, this.question.renderedPlaceholder),
63569
64166
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.question.cssClasses.wrapper },
63570
64167
  chooseFile,
63571
64168
  noFileChosen)));
@@ -63945,14 +64542,13 @@ _reactquestion_factory__WEBPACK_IMPORTED_MODULE_2__["ReactQuestionFactory"].Inst
63945
64542
  /*!********************************************************!*\
63946
64543
  !*** ./src/react/reactquestion_matrixdropdownbase.tsx ***!
63947
64544
  \********************************************************/
63948
- /*! exports provided: SurveyQuestionMatrixDropdownBase, SurveyQuestionMatrixDropdownCell, SurveyQuestionMatrixDropdownErrorCell */
64545
+ /*! exports provided: SurveyQuestionMatrixDropdownBase, SurveyQuestionMatrixDropdownCell */
63949
64546
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
63950
64547
 
63951
64548
  "use strict";
63952
64549
  __webpack_require__.r(__webpack_exports__);
63953
64550
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SurveyQuestionMatrixDropdownBase", function() { return SurveyQuestionMatrixDropdownBase; });
63954
64551
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SurveyQuestionMatrixDropdownCell", function() { return SurveyQuestionMatrixDropdownCell; });
63955
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SurveyQuestionMatrixDropdownErrorCell", function() { return SurveyQuestionMatrixDropdownErrorCell; });
63956
64552
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
63957
64553
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
63958
64554
  /* harmony import */ var _reactquestion_element__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./reactquestion_element */ "./src/react/reactquestion_element.tsx");
@@ -64163,7 +64759,7 @@ var SurveyQuestionMatrixDropdownBase = /** @class */ (function (_super) {
64163
64759
  }
64164
64760
  if (cell.isErrorsCell) {
64165
64761
  if (cell.isErrorsCell) {
64166
- 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 }));
64167
64763
  }
64168
64764
  }
64169
64765
  if (!cellContent)
@@ -64312,56 +64908,6 @@ var SurveyQuestionMatrixDropdownCell = /** @class */ (function (_super) {
64312
64908
  return SurveyQuestionMatrixDropdownCell;
64313
64909
  }(_reactquestion__WEBPACK_IMPORTED_MODULE_2__["SurveyQuestionAndErrorsCell"]));
64314
64910
 
64315
- var SurveyQuestionMatrixDropdownErrorCell = /** @class */ (function (_super) {
64316
- __extends(SurveyQuestionMatrixDropdownErrorCell, _super);
64317
- function SurveyQuestionMatrixDropdownErrorCell(props) {
64318
- var _this = _super.call(this, props) || this;
64319
- _this.state = {
64320
- changed: 0
64321
- };
64322
- if (_this.cell) {
64323
- _this.registerCallback(_this.cell);
64324
- }
64325
- return _this;
64326
- }
64327
- Object.defineProperty(SurveyQuestionMatrixDropdownErrorCell.prototype, "cell", {
64328
- get: function () {
64329
- return this.props.cell;
64330
- },
64331
- enumerable: false,
64332
- configurable: true
64333
- });
64334
- SurveyQuestionMatrixDropdownErrorCell.prototype.update = function () {
64335
- this.setState({ changed: this.state.changed + 1 });
64336
- };
64337
- SurveyQuestionMatrixDropdownErrorCell.prototype.registerCallback = function (cell) {
64338
- var _this = this;
64339
- cell.question.registerFunctionOnPropertyValueChanged("errors", function () {
64340
- _this.update();
64341
- }, "__reactSubscription");
64342
- };
64343
- SurveyQuestionMatrixDropdownErrorCell.prototype.unRegisterCallback = function (cell) {
64344
- cell.question.unRegisterFunctionOnPropertyValueChanged("errors", "__reactSubscription");
64345
- };
64346
- SurveyQuestionMatrixDropdownErrorCell.prototype.componentDidUpdate = function (prevProps) {
64347
- if (prevProps.cell && prevProps.cell !== this.cell) {
64348
- this.unRegisterCallback(prevProps.cell);
64349
- }
64350
- if (this.cell) {
64351
- this.registerCallback(this.cell);
64352
- }
64353
- };
64354
- SurveyQuestionMatrixDropdownErrorCell.prototype.componentWillUnmount = function () {
64355
- if (this.cell) {
64356
- this.unRegisterCallback(this.cell);
64357
- }
64358
- };
64359
- SurveyQuestionMatrixDropdownErrorCell.prototype.render = function () {
64360
- 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 });
64361
- };
64362
- return SurveyQuestionMatrixDropdownErrorCell;
64363
- }(react__WEBPACK_IMPORTED_MODULE_0__["Component"]));
64364
-
64365
64911
 
64366
64912
 
64367
64913
  /***/ }),
@@ -64552,18 +65098,30 @@ var SurveyQuestionMultipleText = /** @class */ (function (_super) {
64552
65098
  var tableRows = this.question.getRows();
64553
65099
  var rows = [];
64554
65100
  for (var i = 0; i < tableRows.length; i++) {
64555
- rows.push(this.renderRow(i, tableRows[i], cssClasses));
65101
+ if (tableRows[i].isVisible) {
65102
+ rows.push(this.renderRow(i, tableRows[i].cells, cssClasses));
65103
+ }
64556
65104
  }
64557
65105
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("table", { className: cssClasses.root },
64558
65106
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("tbody", null, rows)));
64559
65107
  };
64560
- 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) {
64561
65120
  var key = "item" + rowIndex;
64562
65121
  var tds = [];
64563
- for (var i = 0; i < items.length; i++) {
64564
- var item = items[i];
64565
- tds.push(react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("td", { key: "item" + i, className: this.question.cssClasses.cell },
64566
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"](SurveyMultipleTextItem, { question: this.question, item: item, creator: this.creator, cssClasses: cssClasses })));
65122
+ for (var i = 0; i < cells.length; i++) {
65123
+ var cell = cells[i];
65124
+ tds.push(this.renderCell(cell, cssClasses, i));
64567
65125
  }
64568
65126
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("tr", { key: key, className: cssClasses.row }, tds));
64569
65127
  };
@@ -64605,11 +65163,7 @@ var SurveyMultipleTextItem = /** @class */ (function (_super) {
64605
65163
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("label", { className: this.question.getItemLabelCss(item) },
64606
65164
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", { className: cssClasses.itemTitle },
64607
65165
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_components_title_title_content__WEBPACK_IMPORTED_MODULE_4__["TitleContent"], { element: item.editor, cssClasses: item.editor.cssClasses })),
64608
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"](SurveyMultipleTextItemEditor, { cssClasses: cssClasses, itemCss: this.question.getItemCss(), question: item.editor, creator: this.creator }),
64609
- this.renderItemTooltipError(item, cssClasses)));
64610
- };
64611
- SurveyMultipleTextItem.prototype.renderItemTooltipError = function (item, cssClasses) {
64612
- 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 })));
64613
65167
  };
64614
65168
  return SurveyMultipleTextItem;
64615
65169
  }(_reactquestion_element__WEBPACK_IMPORTED_MODULE_1__["ReactSurveyElement"]));
@@ -65813,7 +66367,7 @@ var SurveyRow = /** @class */ (function (_super) {
65813
66367
  var css = element.cssClassesValue;
65814
66368
  var focusIn = function () {
65815
66369
  var el = element;
65816
- if (el && !el.isDisposed && el.isQuestion) {
66370
+ if (el && el.isQuestion) {
65817
66371
  el.focusIn();
65818
66372
  }
65819
66373
  };
@@ -65932,9 +66486,15 @@ var SurveyQuestionSignaturePad = /** @class */ (function (_super) {
65932
66486
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: cssClasses.root, ref: function (root) { return (_this.setControl(root)); }, style: { height: this.question.signatureHeight, width: this.question.signatureWidth } },
65933
66487
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: cssClasses.placeholder, style: { display: this.question.needShowPlaceholder() ? "" : "none" } }, this.question.placeHolderText),
65934
66488
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", null,
65935
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("canvas", { tabIndex: 0 })),
66489
+ this.renderBackgroundImage(),
66490
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("canvas", { tabIndex: 0, className: this.question.cssClasses.canvas })),
65936
66491
  clearButton));
65937
66492
  };
66493
+ SurveyQuestionSignaturePad.prototype.renderBackgroundImage = function () {
66494
+ if (!this.question.backgroundImage)
66495
+ return null;
66496
+ return react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("img", { className: this.question.cssClasses.backgroundImage, src: this.question.backgroundImage, width: this.question.signatureWidth, height: this.question.signatureHeight });
66497
+ };
65938
66498
  SurveyQuestionSignaturePad.prototype.renderCleanButton = function () {
65939
66499
  var _this = this;
65940
66500
  if (!this.question.canShowClearButton)
@@ -67711,14 +68271,14 @@ var SurveyElement = /** @class */ (function (_super) {
67711
68271
  }
67712
68272
  return info;
67713
68273
  };
67714
- SurveyElement.ScrollElementToTop = function (elementId) {
68274
+ SurveyElement.ScrollElementToTop = function (elementId, scrollIfVisible) {
67715
68275
  var root = _settings__WEBPACK_IMPORTED_MODULE_4__["settings"].environment.root;
67716
68276
  if (!elementId || typeof root === "undefined")
67717
68277
  return false;
67718
68278
  var el = root.getElementById(elementId);
67719
68279
  if (!el || !el.scrollIntoView)
67720
68280
  return false;
67721
- var elemTop = el.getBoundingClientRect().top;
68281
+ var elemTop = scrollIfVisible ? -1 : el.getBoundingClientRect().top;
67722
68282
  if (elemTop < 0)
67723
68283
  el.scrollIntoView();
67724
68284
  return elemTop < 0;
@@ -68328,7 +68888,7 @@ var SurveyElement = /** @class */ (function (_super) {
68328
68888
  enumerable: false,
68329
68889
  configurable: true
68330
68890
  });
68331
- SurveyElement.prototype.delete = function () { };
68891
+ SurveyElement.prototype.delete = function (doDispose) { };
68332
68892
  /**
68333
68893
  * Returns the survey's [locale](https://surveyjs.io/form-library/documentation/surveymodel#locale).
68334
68894
  *
@@ -68461,23 +69021,6 @@ var SurveyElement = /** @class */ (function (_super) {
68461
69021
  enumerable: false,
68462
69022
  configurable: true
68463
69023
  });
68464
- Object.defineProperty(SurveyElement.prototype, "isErrorsModeTooltip", {
68465
- get: function () {
68466
- return this.getIsErrorsModeTooltip();
68467
- },
68468
- enumerable: false,
68469
- configurable: true
68470
- });
68471
- SurveyElement.prototype.getIsErrorsModeTooltip = function () {
68472
- return this.isDefaultV2Theme && this.hasParent && this.getIsTooltipErrorSupportedByParent();
68473
- };
68474
- SurveyElement.prototype.getIsTooltipErrorSupportedByParent = function () {
68475
- var _a;
68476
- return (_a = this.parent) === null || _a === void 0 ? void 0 : _a.getIsTooltipErrorInsideSupported();
68477
- };
68478
- SurveyElement.prototype.getIsTooltipErrorInsideSupported = function () {
68479
- return false;
68480
- };
68481
69024
  Object.defineProperty(SurveyElement.prototype, "hasParent", {
68482
69025
  get: function () {
68483
69026
  return (this.parent && !this.parent.isPage && (!this.parent.originalPage || this.survey.isShowingPreview)) || (this.parent === undefined);
@@ -68496,10 +69039,10 @@ var SurveyElement = /** @class */ (function (_super) {
68496
69039
  configurable: true
68497
69040
  });
68498
69041
  SurveyElement.prototype.getHasFrameV2 = function () {
68499
- return this.shouldAddRunnerStyles() && (!this.hasParent && this.isSingleInRow);
69042
+ return this.shouldAddRunnerStyles() && (!this.hasParent);
68500
69043
  };
68501
69044
  SurveyElement.prototype.getIsNested = function () {
68502
- return this.shouldAddRunnerStyles() && (this.hasParent || !this.isSingleInRow);
69045
+ return this.shouldAddRunnerStyles() && (this.hasParent);
68503
69046
  };
68504
69047
  SurveyElement.prototype.getCssRoot = function (cssClasses) {
68505
69048
  return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_6__["CssClassBuilder"]()
@@ -68705,6 +69248,12 @@ var SurveyElement = /** @class */ (function (_super) {
68705
69248
  });
68706
69249
  }
68707
69250
  };
69251
+ SurveyElement.prototype.dispose = function () {
69252
+ _super.prototype.dispose.call(this);
69253
+ if (this.titleToolbarValue) {
69254
+ this.titleToolbarValue.dispose();
69255
+ }
69256
+ };
68708
69257
  SurveyElement.CreateDisabledDesignElements = false;
68709
69258
  __decorate([
68710
69259
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__["property"])({ defaultValue: null })
@@ -68962,7 +69511,7 @@ var SurveyModel = /** @class */ (function (_super) {
68962
69511
  *
68963
69512
  * For information on event handler parameters, refer to descriptions within the interface.
68964
69513
  *
68965
- * [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/).
68966
69515
  */
68967
69516
  _this.onPartialSend = _this.addEvent();
68968
69517
  /**
@@ -68987,7 +69536,7 @@ var SurveyModel = /** @class */ (function (_super) {
68987
69536
  */
68988
69537
  _this.onValueChanging = _this.addEvent();
68989
69538
  /**
68990
- * An event that is raised after a question value is changed
69539
+ * An event that is raised after a question value is changed.
68991
69540
  *
68992
69541
  * For information on event handler parameters, refer to descriptions within the interface.
68993
69542
  *
@@ -69182,7 +69731,8 @@ var SurveyModel = /** @class */ (function (_super) {
69182
69731
  */
69183
69732
  _this.onGetQuestionNo = _this.addEvent();
69184
69733
  /**
69185
- * Use this event to change the progress text in code.
69734
+ * An event that is raised before the survey displays progress text. Handle this event to change the progress text in code.
69735
+ * @see showProgressBar
69186
69736
  * @see progressBarType
69187
69737
  */
69188
69738
  _this.onProgressText = _this.addEvent();
@@ -69474,6 +70024,10 @@ var SurveyModel = /** @class */ (function (_super) {
69474
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.
69475
70025
  */
69476
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();
69477
70031
  /**
69478
70032
  * Use this event to define, whether an answer to a question is correct or not.
69479
70033
  * @see Question.value
@@ -69691,6 +70245,16 @@ var SurveyModel = /** @class */ (function (_super) {
69691
70245
  _this.setCalculatedWidthModeUpdater();
69692
70246
  _this.notifier = new _notifier__WEBPACK_IMPORTED_MODULE_19__["Notifier"](_this.css.saveData);
69693
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
+ });
69694
70258
  _this.layoutElements.push({
69695
70259
  id: "timerpanel",
69696
70260
  template: "survey-timerpanel",
@@ -69759,7 +70323,7 @@ var SurveyModel = /** @class */ (function (_super) {
69759
70323
  *
69760
70324
  * Many question types allow respondents to leave comments. To enable this functionality, set a question's [`showCommentArea`](https://surveyjs.io/form-library/documentation/api-reference/checkbox-question-model#showCommentArea) property to `true`. Comment values are saved in a separate property. The property name is composed of the question `name` and `commentSuffix`.
69761
70325
  *
69762
- * Respondents can also leave a comment when they select "Other" in a single- or multi-select question, such as Dropdown or Checkboxes. The property name for the comment value is composed according to the same rules. However, you can use the question `name` as a key to store the comment value instead. Disable the [`storeOthersAsComment`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#storeOthersAsComment) property in this case.
70326
+ * Respondents can also leave comments when they select "Other" in choice-based questions, such as Dropdown or Checkboxes. The property name for the comment value is composed according to the same rules. However, you can use the question `name` as a key to store the comment value instead. Disable the [`storeOthersAsComment`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#storeOthersAsComment) property in this case.
69763
70327
  *
69764
70328
  * [View Demo](https://surveyjs.io/form-library/examples/create-checkboxes-question-in-javascript/ (linkStyle))
69765
70329
  */
@@ -69866,6 +70430,14 @@ var SurveyModel = /** @class */ (function (_super) {
69866
70430
  this.containerCss = this.css.container;
69867
70431
  this.completedCss = new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_18__["CssClassBuilder"]().append(this.css.body)
69868
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();
69869
70441
  };
69870
70442
  SurveyModel.prototype.updateCss = function () {
69871
70443
  this.rootCss = this.getRootCss();
@@ -70116,7 +70688,7 @@ var SurveyModel = /** @class */ (function (_super) {
70116
70688
  /**
70117
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.
70118
70690
  *
70119
- * [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/).
70120
70692
  */
70121
70693
  get: function () {
70122
70694
  return this.getPropertyValue("sendResultOnPageNext");
@@ -70387,12 +70959,9 @@ var SurveyModel = /** @class */ (function (_super) {
70387
70959
  };
70388
70960
  Object.defineProperty(SurveyModel.prototype, "questionStartIndex", {
70389
70961
  /**
70390
- * Gets or sets the first question index. The first question index is '1' by default. You may start it from '100' or from 'A', by setting '100' or 'A' to this property.
70391
- * You can set the start index to "(1)" or "# A)" or "a)" to render question number as (1), # A) and a) accordingly.
70392
- * @see Question.title
70393
- * @see requiredText
70962
+ * Specifies the initial number or letter from which to start question numbering.
70394
70963
  *
70395
- * [View Demo](https://surveyjs.io/form-library/examples/survey-processtext/ (linkStyle))
70964
+ * [Question Numbers](https://surveyjs.io/form-library/documentation/design-survey/configure-question-titles#question-numbers (linkStyle))
70396
70965
  */
70397
70966
  get: function () {
70398
70967
  return this.getPropertyValue("questionStartIndex", "");
@@ -70405,11 +70974,12 @@ var SurveyModel = /** @class */ (function (_super) {
70405
70974
  });
70406
70975
  Object.defineProperty(SurveyModel.prototype, "storeOthersAsComment", {
70407
70976
  /**
70408
- * Gets or sets whether the "Others" option text is stored as question comment.
70977
+ * Specifies whether to store the "Other" option response in a separate property.
70978
+ *
70979
+ * Default value: `true`
70409
70980
  *
70410
- * By default the entered text in the "Others" input in the checkbox/radiogroup/dropdown is stored as `"question name " + "-Comment"`. The value itself is `"question name": "others"`.
70411
- * Set this property to `false`, to store the entered text directly in the `"question name"` key.
70412
- * @see commentSuffix
70981
+ * Respondents can leave comments when they select "Other" in choice-based questions, such as Dropdown or Checkboxes. Comment values are saved in a separate property. The property name is composed of the question `name` and [`commentSuffix`](#commentSuffix). However, you can use the question `name` as a key to store the comment value instead. Disable the `storeOthersAsComment` property in this case.
70982
+ * @see maxOthersLength
70413
70983
  */
70414
70984
  get: function () {
70415
70985
  return this.getPropertyValue("storeOthersAsComment");
@@ -70422,9 +70992,11 @@ var SurveyModel = /** @class */ (function (_super) {
70422
70992
  });
70423
70993
  Object.defineProperty(SurveyModel.prototype, "maxTextLength", {
70424
70994
  /**
70425
- * Specifies the default maximum length for questions like text and comment, including matrix cell questions.
70995
+ * Specifies the maximum text length in textual questions ([Single-Line Input](https://surveyjs.io/form-library/examples/text-entry-question/), [Long Text](https://surveyjs.io/form-library/examples/add-open-ended-question-to-a-form/), [Multiple Textboxes](https://surveyjs.io/form-library/examples/multiple-text-box-question/)), measured in characters.
70426
70996
  *
70427
- * The default value is `0`, that means that the text and comment have the same max length as the standard HTML input - 524288 characters: https://www.w3schools.com/tags/att_input_maxlength.asp.
70997
+ * Default value: 0 (unlimited)
70998
+ *
70999
+ * You can override this setting for individual questions if you specify their [`maxLength`](https://surveyjs.io/form-library/documentation/api-reference/text-entry-question-model#maxLength) property.
70428
71000
  * @see maxOthersLength
70429
71001
  */
70430
71002
  get: function () {
@@ -70438,11 +71010,9 @@ var SurveyModel = /** @class */ (function (_super) {
70438
71010
  });
70439
71011
  Object.defineProperty(SurveyModel.prototype, "maxOthersLength", {
70440
71012
  /**
70441
- * Gets or sets the default maximum length for question comments and others
71013
+ * Specifies the maximum text length for question comments. Applies to questions with the [`showCommentArea`](https://surveyjs.io/form-library/documentation/api-reference/question#showCommentArea) or [`showOtherItem`](https://surveyjs.io/form-library/documentation/api-reference/question#showOtherItem) property set to `true`.
70442
71014
  *
70443
- * The default value is `0`, that means that the question comments have the same max length as the standard HTML input - 524288 characters: https://www.w3schools.com/tags/att_input_maxlength.asp.
70444
- * @see Question.showCommentArea
70445
- * @see Question.showOtherItem
71015
+ * Default value: 0 (unlimited)
70446
71016
  * @see maxTextLength
70447
71017
  */
70448
71018
  get: function () {
@@ -71554,9 +72124,9 @@ var SurveyModel = /** @class */ (function (_super) {
71554
72124
  };
71555
72125
  Object.defineProperty(SurveyModel.prototype, "showPageNumbers", {
71556
72126
  /**
71557
- * Gets or sets whether the survey displays page numbers on pages titles.
72127
+ * Specifies whether page titles contain page numbers.
71558
72128
  *
71559
- * [View Demo](https://surveyjs.io/form-library/examples/survey-options/ (linkStyle))
72129
+ * [View Demo](https://surveyjs.io/form-library/examples/how-to-number-pages-and-questions/ (linkStyle))
71560
72130
  */
71561
72131
  get: function () {
71562
72132
  return this.getPropertyValue("showPageNumbers");
@@ -71674,11 +72244,12 @@ var SurveyModel = /** @class */ (function (_super) {
71674
72244
  SurveyModel.prototype.getProgressTypeComponent = function () {
71675
72245
  return "sv-progress-" + this.progressBarType.toLowerCase();
71676
72246
  };
71677
- SurveyModel.prototype.getProgressCssClasses = function () {
72247
+ SurveyModel.prototype.getProgressCssClasses = function (container) {
72248
+ if (container === void 0) { container = ""; }
71678
72249
  return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_18__["CssClassBuilder"]()
71679
72250
  .append(this.css.progress)
71680
- .append(this.css.progressTop, this.isShowProgressBarOnTop)
71681
- .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"))
71682
72253
  .toString();
71683
72254
  };
71684
72255
  SurveyModel.prototype.canShowProresBar = function () {
@@ -71744,12 +72315,15 @@ var SurveyModel = /** @class */ (function (_super) {
71744
72315
  });
71745
72316
  Object.defineProperty(SurveyModel.prototype, "questionDescriptionLocation", {
71746
72317
  /**
71747
- * Gets or sets the question description position. The default value is `underTitle`.
72318
+ * Specifies where to display question descriptions.
71748
72319
  *
71749
- * The following options are available:
72320
+ * Possible values:
72321
+ *
72322
+ * - `"underTitle"` (default) - Displays descriptions under question titles.
72323
+ * - `"underInput"` - Displays descriptions under the interactive area.
72324
+ *
72325
+ * You can override this setting for individual questions if you specify their [`descriptionLocation`](https://surveyjs.io/form-library/documentation/api-reference/question#descriptionLocation) property.
71750
72326
  *
71751
- * - `underTitle` - show question description under the question title,
71752
- * - `underInput` - show question description under the question input instead of question title.
71753
72327
  */
71754
72328
  get: function () {
71755
72329
  return this.getPropertyValue("questionDescriptionLocation");
@@ -72023,6 +72597,11 @@ var SurveyModel = /** @class */ (function (_super) {
72023
72597
  var key = keys[i];
72024
72598
  values[key] = this.getDataValueCore(this.valuesHash, key);
72025
72599
  }
72600
+ this.getAllQuestions().forEach(function (q) {
72601
+ if (q.hasFilteredValue) {
72602
+ values[q.getValueName()] = q.getFilteredValue();
72603
+ }
72604
+ });
72026
72605
  return values;
72027
72606
  };
72028
72607
  SurveyModel.prototype.addCalculatedValuesIntoFilteredValues = function (values) {
@@ -73949,6 +74528,7 @@ var SurveyModel = /** @class */ (function (_super) {
73949
74528
  .append(this.css.rootMobile, this.isMobile)
73950
74529
  .append(this.css.rootReadOnly, this.mode === "display")
73951
74530
  .append(this.css.rootCompact, this.isCompact)
74531
+ .append(this.css.rootFitToContainer, this.fitToContainer)
73952
74532
  .toString();
73953
74533
  };
73954
74534
  SurveyModel.prototype.afterRenderSurvey = function (htmlElement) {
@@ -73979,6 +74559,7 @@ var SurveyModel = /** @class */ (function (_super) {
73979
74559
  htmlElement: htmlElement,
73980
74560
  });
73981
74561
  this.rootElement = htmlElement;
74562
+ this.addScrollEventListener();
73982
74563
  };
73983
74564
  SurveyModel.prototype.processResponsiveness = function (width, mobileWidth) {
73984
74565
  var isMobile = width < mobileWidth;
@@ -74241,6 +74822,10 @@ var SurveyModel = /** @class */ (function (_super) {
74241
74822
  options.panelData = options.itemValue;
74242
74823
  this.onDynamicPanelItemValueChanged.fire(this, options);
74243
74824
  };
74825
+ SurveyModel.prototype.dynamicPanelGetTabTitle = function (question, options) {
74826
+ options.question = question;
74827
+ this.onGetDynamicPanelTabTitle.fire(this, options);
74828
+ };
74244
74829
  SurveyModel.prototype.dragAndDropAllow = function (options) {
74245
74830
  this.onDragDropAllow.fire(this, options);
74246
74831
  return options.allow;
@@ -74300,7 +74885,7 @@ var SurveyModel = /** @class */ (function (_super) {
74300
74885
  this.onGetMatrixRowActions.fire(this, options);
74301
74886
  return options.actions;
74302
74887
  };
74303
- SurveyModel.prototype.scrollElementToTop = function (element, question, page, id) {
74888
+ SurveyModel.prototype.scrollElementToTop = function (element, question, page, id, scrollIfVisible) {
74304
74889
  var options = {
74305
74890
  element: element,
74306
74891
  question: question,
@@ -74310,7 +74895,7 @@ var SurveyModel = /** @class */ (function (_super) {
74310
74895
  };
74311
74896
  this.onScrollingElementToTop.fire(this, options);
74312
74897
  if (!options.cancel) {
74313
- _survey_element__WEBPACK_IMPORTED_MODULE_3__["SurveyElement"].ScrollElementToTop(options.elementId);
74898
+ _survey_element__WEBPACK_IMPORTED_MODULE_3__["SurveyElement"].ScrollElementToTop(options.elementId, scrollIfVisible);
74314
74899
  }
74315
74900
  };
74316
74901
  /**
@@ -74503,9 +75088,11 @@ var SurveyModel = /** @class */ (function (_super) {
74503
75088
  }
74504
75089
  };
74505
75090
  /**
74506
- * Returns a question by its name.
74507
- * @param name a question name
74508
- * @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
74509
75096
  * @see getQuestionByValueName
74510
75097
  */
74511
75098
  SurveyModel.prototype.getQuestionByName = function (name, caseInsensitive) {
@@ -74527,12 +75114,14 @@ var SurveyModel = /** @class */ (function (_super) {
74527
75114
  return this.getQuestionByName(name);
74528
75115
  };
74529
75116
  /**
74530
- * Returns a question by its value name
74531
- * @param valueName a question name
74532
- * @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
74533
75124
  * @see getQuestionByName
74534
- * @see getQuestionsByValueName
74535
- * @see Question.valueName
74536
75125
  */
74537
75126
  SurveyModel.prototype.getQuestionByValueName = function (valueName, caseInsensitive) {
74538
75127
  if (caseInsensitive === void 0) { caseInsensitive = false; }
@@ -74540,12 +75129,12 @@ var SurveyModel = /** @class */ (function (_super) {
74540
75129
  return !!res ? res[0] : null;
74541
75130
  };
74542
75131
  /**
74543
- * Returns all questions by their valueName. name property is used if valueName property is empty.
74544
- * @param valueName a question name
74545
- * @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
74546
75137
  * @see getQuestionByName
74547
- * @see getQuestionByValueName
74548
- * @see Question.valueName
74549
75138
  */
74550
75139
  SurveyModel.prototype.getQuestionsByValueName = function (valueName, caseInsensitive) {
74551
75140
  if (caseInsensitive === void 0) { caseInsensitive = false; }
@@ -74565,9 +75154,11 @@ var SurveyModel = /** @class */ (function (_super) {
74565
75154
  return null;
74566
75155
  };
74567
75156
  /**
74568
- * Gets a list of questions by their names.
74569
- * @param names an array of question names
74570
- * @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
74571
75162
  */
74572
75163
  SurveyModel.prototype.getQuestionsByNames = function (names, caseInsensitive) {
74573
75164
  if (caseInsensitive === void 0) { caseInsensitive = false; }
@@ -74631,10 +75222,12 @@ var SurveyModel = /** @class */ (function (_super) {
74631
75222
  return result;
74632
75223
  };
74633
75224
  /**
74634
- * 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.
74635
75226
  * @param visibleOnly A Boolean value that specifies whether to include only visible questions.
74636
75227
  * @param includeDesignTime For internal use.
74637
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
74638
75231
  */
74639
75232
  SurveyModel.prototype.getAllQuestions = function (visibleOnly, includeDesignTime, includeNested) {
74640
75233
  if (visibleOnly === void 0) { visibleOnly = false; }
@@ -74656,7 +75249,10 @@ var SurveyModel = /** @class */ (function (_super) {
74656
75249
  return res2;
74657
75250
  };
74658
75251
  /**
74659
- * 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.
74660
75256
  * @see getQuizQuestionCount
74661
75257
  */
74662
75258
  SurveyModel.prototype.getQuizQuestions = function () {
@@ -74676,10 +75272,11 @@ var SurveyModel = /** @class */ (function (_super) {
74676
75272
  return result;
74677
75273
  };
74678
75274
  /**
74679
- * Returns a panel by its name.
74680
- * @param name a panel name
74681
- * @param caseInsensitive
74682
- * @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
74683
75280
  */
74684
75281
  SurveyModel.prototype.getPanelByName = function (name, caseInsensitive) {
74685
75282
  if (caseInsensitive === void 0) { caseInsensitive = false; }
@@ -74696,7 +75293,11 @@ var SurveyModel = /** @class */ (function (_super) {
74696
75293
  return null;
74697
75294
  };
74698
75295
  /**
74699
- * 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
74700
75301
  */
74701
75302
  SurveyModel.prototype.getAllPanels = function (visibleOnly, includeDesignTime) {
74702
75303
  if (visibleOnly === void 0) { visibleOnly = false; }
@@ -74882,7 +75483,7 @@ var SurveyModel = /** @class */ (function (_super) {
74882
75483
  }
74883
75484
  return result;
74884
75485
  };
74885
- SurveyModel.prototype.checkTriggers = function (key, isOnNextPage, isOnComplete) {
75486
+ SurveyModel.prototype.checkTriggers = function (key, isOnNextPage, isOnComplete, name) {
74886
75487
  if (isOnComplete === void 0) { isOnComplete = false; }
74887
75488
  if (this.isCompleted || this.triggers.length == 0 || this.isDisplayMode)
74888
75489
  return;
@@ -74893,19 +75494,38 @@ var SurveyModel = /** @class */ (function (_super) {
74893
75494
  }
74894
75495
  return;
74895
75496
  }
75497
+ var isQuestionInvalid = false;
75498
+ if (!isOnComplete && name && this.hasRequiredValidQuestionTrigger) {
75499
+ var question = this.getQuestionByValueName(name);
75500
+ isQuestionInvalid = question && !question.validate(false);
75501
+ }
74896
75502
  this.isTriggerIsRunning = true;
74897
75503
  this.triggerKeys = key;
74898
75504
  this.triggerValues = this.getFilteredValues();
74899
75505
  var properties = this.getFilteredProperties();
74900
75506
  var prevCanBeCompleted = this.canBeCompletedByTrigger;
74901
75507
  for (var i = 0; i < this.triggers.length; i++) {
74902
- this.triggers[i].checkExpression(isOnNextPage, isOnComplete, this.triggerKeys, this.triggerValues, properties);
75508
+ var trigger = this.triggers[i];
75509
+ if (isQuestionInvalid && trigger.requireValidQuestion)
75510
+ continue;
75511
+ trigger.checkExpression(isOnNextPage, isOnComplete, this.triggerKeys, this.triggerValues, properties);
74903
75512
  }
74904
75513
  if (prevCanBeCompleted !== this.canBeCompletedByTrigger) {
74905
75514
  this.updateButtonsVisibility();
74906
75515
  }
74907
75516
  this.isTriggerIsRunning = false;
74908
75517
  };
75518
+ Object.defineProperty(SurveyModel.prototype, "hasRequiredValidQuestionTrigger", {
75519
+ get: function () {
75520
+ for (var i = 0; i < this.triggers.length; i++) {
75521
+ if (this.triggers[i].requireValidQuestion)
75522
+ return true;
75523
+ }
75524
+ return false;
75525
+ },
75526
+ enumerable: false,
75527
+ configurable: true
75528
+ });
74909
75529
  SurveyModel.prototype.doElementsOnLoad = function () {
74910
75530
  for (var i = 0; i < this.pages.length; i++) {
74911
75531
  this.pages[i].onSurveyLoad();
@@ -75392,9 +76012,13 @@ var SurveyModel = /** @class */ (function (_super) {
75392
76012
  }
75393
76013
  };
75394
76014
  /**
75395
- * Returns a variable value. Variable, unlike values, are not stored in the survey results.
75396
- * @param name A variable name
75397
- * @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
75398
76022
  */
75399
76023
  SurveyModel.prototype.getVariable = function (name) {
75400
76024
  if (!name)
@@ -75410,10 +76034,13 @@ var SurveyModel = /** @class */ (function (_super) {
75410
76034
  return res;
75411
76035
  };
75412
76036
  /**
75413
- * Sets a variable value. Variable, unlike values, are not stored in the survey results.
75414
- * @param name A variable name
75415
- * @param newValue A variable new value
75416
- * @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
75417
76044
  */
75418
76045
  SurveyModel.prototype.setVariable = function (name, newValue) {
75419
76046
  if (!name)
@@ -75428,7 +76055,10 @@ var SurveyModel = /** @class */ (function (_super) {
75428
76055
  this.onVariableChanged.fire(this, { name: name, value: newValue });
75429
76056
  };
75430
76057
  /**
75431
- * 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.
75432
76062
  * @see getVariable
75433
76063
  * @see setVariable
75434
76064
  */
@@ -75446,8 +76076,9 @@ var SurveyModel = /** @class */ (function (_super) {
75446
76076
  return _helpers__WEBPACK_IMPORTED_MODULE_0__["Helpers"].getUnbindValue(value);
75447
76077
  };
75448
76078
  /**
75449
- * Returns a question value (answer) by a question's name.
75450
- * @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).
75451
76082
  * @see data
75452
76083
  * @see setValue
75453
76084
  */
@@ -75458,16 +76089,15 @@ var SurveyModel = /** @class */ (function (_super) {
75458
76089
  return this.getUnbindValue(value);
75459
76090
  };
75460
76091
  /**
75461
- * Sets a question value (answer). It runs all triggers and conditions (`visibleIf` properties).
76092
+ * Sets a question value (answer).
75462
76093
  *
75463
- * Goes to the next page if `goNextPageAutomatic` is `true` and all questions on the current page are answered correctly.
75464
- * @param name A question name
75465
- * @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.
75466
76099
  * @see data
75467
76100
  * @see getValue
75468
- * @see PageModel.visibleIf
75469
- * @see Question.visibleIf
75470
- * @see goNextPageAutomatic
75471
76101
  */
75472
76102
  SurveyModel.prototype.setValue = function (name, newQuestionValue, locNotification, allowNotifyValueChanged) {
75473
76103
  if (locNotification === void 0) { locNotification = false; }
@@ -75484,7 +76114,7 @@ var SurveyModel = /** @class */ (function (_super) {
75484
76114
  this.isTwoValueEquals(newValue, newQuestionValue))
75485
76115
  return;
75486
76116
  var oldValue = this.getValue(name);
75487
- if (this.isValueEmpty(newValue, false)) {
76117
+ if (this.isValueEmpyOnSetValue(name, newValue)) {
75488
76118
  this.deleteDataValueCore(this.valuesHash, name);
75489
76119
  }
75490
76120
  else {
@@ -75493,6 +76123,13 @@ var SurveyModel = /** @class */ (function (_super) {
75493
76123
  }
75494
76124
  this.updateOnSetValue(name, newValue, oldValue, locNotification, allowNotifyValueChanged);
75495
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
+ };
75496
76133
  SurveyModel.prototype.updateOnSetValue = function (name, newValue, oldValue, locNotification, allowNotifyValueChanged) {
75497
76134
  if (locNotification === void 0) { locNotification = false; }
75498
76135
  if (allowNotifyValueChanged === void 0) { allowNotifyValueChanged = true; }
@@ -75502,7 +76139,7 @@ var SurveyModel = /** @class */ (function (_super) {
75502
76139
  var triggerKeys = {};
75503
76140
  triggerKeys[name] = { newValue: newValue, oldValue: oldValue };
75504
76141
  this.runConditionOnValueChanged(name, newValue);
75505
- this.checkTriggers(triggerKeys, false);
76142
+ this.checkTriggers(triggerKeys, false, false, name);
75506
76143
  if (allowNotifyValueChanged)
75507
76144
  this.notifyQuestionOnValueChanged(name, newValue);
75508
76145
  if (locNotification !== "text") {
@@ -75591,8 +76228,9 @@ var SurveyModel = /** @class */ (function (_super) {
75591
76228
  }
75592
76229
  };
75593
76230
  /**
75594
- * Returns the comment value.
75595
- * @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.
75596
76234
  * @see setComment
75597
76235
  */
75598
76236
  SurveyModel.prototype.getComment = function (name) {
@@ -75600,9 +76238,10 @@ var SurveyModel = /** @class */ (function (_super) {
75600
76238
  return res || "";
75601
76239
  };
75602
76240
  /**
75603
- * Sets a comment value.
75604
- * @param name A comment name.
76241
+ * Sets a comment value to a question with a specified `name`.
76242
+ * @param name A question name.
75605
76243
  * @param newValue A new comment value.
76244
+ * @param locNotification For internal use.
75606
76245
  * @see getComment
75607
76246
  */
75608
76247
  SurveyModel.prototype.setComment = function (name, newValue, locNotification) {
@@ -75875,13 +76514,23 @@ var SurveyModel = /** @class */ (function (_super) {
75875
76514
  return this.getCorrectedAnswerCountCore(true);
75876
76515
  };
75877
76516
  /**
75878
- * 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
75879
76523
  */
75880
76524
  SurveyModel.prototype.getCorrectAnswerCount = function () {
75881
76525
  return this.getCorrectedAnswerCountCore(true);
75882
76526
  };
75883
76527
  /**
75884
- * 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.
75885
76534
  * @see getQuizQuestions
75886
76535
  */
75887
76536
  SurveyModel.prototype.getQuizQuestionCount = function () {
@@ -75896,7 +76545,11 @@ var SurveyModel = /** @class */ (function (_super) {
75896
76545
  return this.getCorrectedAnswerCountCore(false);
75897
76546
  };
75898
76547
  /**
75899
- * 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
75900
76553
  */
75901
76554
  SurveyModel.prototype.getInCorrectAnswerCount = function () {
75902
76555
  return this.getCorrectedAnswerCountCore(false);
@@ -76536,7 +77189,7 @@ var SurveyModel = /** @class */ (function (_super) {
76536
77189
  containerLayoutElements.push(layoutElement);
76537
77190
  }
76538
77191
  }
76539
- if (container === "contentBottom") {
77192
+ if (container === "footer") {
76540
77193
  if (this.isShowProgressBarOnBottom && !this.isShowStartingPage) {
76541
77194
  containerLayoutElements.push(layoutElement);
76542
77195
  }
@@ -76595,12 +77248,14 @@ var SurveyModel = /** @class */ (function (_super) {
76595
77248
  * Use this method to dispose survey model properly.
76596
77249
  */
76597
77250
  SurveyModel.prototype.dispose = function () {
76598
- this.currentPage = null;
77251
+ this.removeScrollEventListener();
76599
77252
  this.destroyResizeObserver();
77253
+ this.rootElement = undefined;
76600
77254
  _super.prototype.dispose.call(this);
76601
77255
  this.editingObj = null;
76602
77256
  if (!this.pages)
76603
77257
  return;
77258
+ this.currentPage = null;
76604
77259
  for (var i = 0; i < this.pages.length; i++) {
76605
77260
  this.pages[i].setSurveyImpl(undefined);
76606
77261
  this.pages[i].dispose();
@@ -76610,15 +77265,39 @@ var SurveyModel = /** @class */ (function (_super) {
76610
77265
  this.disposeCallback();
76611
77266
  }
76612
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
+ };
76613
77283
  SurveyModel.TemplateRendererComponentName = "sv-template-renderer";
76614
77284
  SurveyModel.stylesManager = null;
76615
77285
  SurveyModel.platform = "unknown";
76616
77286
  __decorate([
76617
77287
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])()
76618
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);
76619
77295
  __decorate([
76620
77296
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])()
76621
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);
76622
77301
  __decorate([
76623
77302
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])()
76624
77303
  ], SurveyModel.prototype, "showBrandInfo", void 0);
@@ -76894,6 +77573,7 @@ _jsonobject__WEBPACK_IMPORTED_MODULE_1__["Serializer"].addClass("survey", [
76894
77573
  choices: ["auto", "static", "responsive"],
76895
77574
  },
76896
77575
  { name: "width", visibleIf: function (obj) { return obj.widthMode === "static"; } },
77576
+ { name: "fitToContainer:boolean", default: false },
76897
77577
  { name: "backgroundImage", visible: false },
76898
77578
  { name: "backgroundImageFit", default: "cover", choices: ["auto", "contain", "cover"], visible: false },
76899
77579
  { name: "backgroundImageAttachment", default: "scroll", choices: ["scroll", "fixed"], visible: false },
@@ -78050,6 +78730,11 @@ var Trigger = /** @class */ (function (_super) {
78050
78730
  this.onFailure();
78051
78731
  }
78052
78732
  };
78733
+ Object.defineProperty(Trigger.prototype, "requireValidQuestion", {
78734
+ get: function () { return false; },
78735
+ enumerable: false,
78736
+ configurable: true
78737
+ });
78053
78738
  Trigger.prototype.perform = function (values, properties) {
78054
78739
  var _this = this;
78055
78740
  this.conditionRunner.onRunComplete = function (res) {
@@ -78236,6 +78921,11 @@ var SurveyTriggerComplete = /** @class */ (function (_super) {
78236
78921
  SurveyTriggerComplete.prototype.getType = function () {
78237
78922
  return "completetrigger";
78238
78923
  };
78924
+ Object.defineProperty(SurveyTriggerComplete.prototype, "requireValidQuestion", {
78925
+ get: function () { return true; },
78926
+ enumerable: false,
78927
+ configurable: true
78928
+ });
78239
78929
  SurveyTriggerComplete.prototype.isRealExecution = function () {
78240
78930
  return !_settings__WEBPACK_IMPORTED_MODULE_6__["settings"].triggers.executeCompleteOnValueChanged === this.isExecutingOnNextPage;
78241
78931
  };
@@ -78327,6 +79017,11 @@ var SurveyTriggerSkip = /** @class */ (function (_super) {
78327
79017
  SurveyTriggerSkip.prototype.getType = function () {
78328
79018
  return "skiptrigger";
78329
79019
  };
79020
+ Object.defineProperty(SurveyTriggerSkip.prototype, "requireValidQuestion", {
79021
+ get: function () { return this.canBeExecuted(false); },
79022
+ enumerable: false,
79023
+ configurable: true
79024
+ });
78330
79025
  Object.defineProperty(SurveyTriggerSkip.prototype, "gotoName", {
78331
79026
  get: function () {
78332
79027
  return this.getPropertyValue("gotoName", "");
@@ -78953,37 +79648,6 @@ var VerticalResponsivityManager = /** @class */ (function (_super) {
78953
79648
 
78954
79649
 
78955
79650
 
78956
- /***/ }),
78957
-
78958
- /***/ "./src/utils/tooltip.ts":
78959
- /*!******************************!*\
78960
- !*** ./src/utils/tooltip.ts ***!
78961
- \******************************/
78962
- /*! exports provided: TooltipManager */
78963
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
78964
-
78965
- "use strict";
78966
- __webpack_require__.r(__webpack_exports__);
78967
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "TooltipManager", function() { return TooltipManager; });
78968
- var TooltipManager = /** @class */ (function () {
78969
- function TooltipManager(tooltipElement) {
78970
- var _this = this;
78971
- this.tooltipElement = tooltipElement;
78972
- this.onMouseMoveCallback = function (e) {
78973
- _this.tooltipElement.style.left = e.clientX + 12 + "px";
78974
- _this.tooltipElement.style.top = e.clientY + 12 + "px";
78975
- };
78976
- this.targetElement = tooltipElement.parentElement;
78977
- this.targetElement.addEventListener("mousemove", this.onMouseMoveCallback);
78978
- }
78979
- TooltipManager.prototype.dispose = function () {
78980
- this.targetElement.removeEventListener("mousemove", this.onMouseMoveCallback);
78981
- };
78982
- return TooltipManager;
78983
- }());
78984
-
78985
-
78986
-
78987
79651
  /***/ }),
78988
79652
 
78989
79653
  /***/ "./src/utils/utils.ts":