survey-react 1.9.104 → 1.9.105

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.105
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
  */
@@ -2064,7 +2064,7 @@ var Base = /** @class */ (function () {
2064
2064
  var locStr = this.localizableStrings ? this.localizableStrings[name] : undefined;
2065
2065
  if (locStr)
2066
2066
  return locStr.text;
2067
- if (defaultValue != null)
2067
+ if (defaultValue !== null && defaultValue !== undefined)
2068
2068
  return defaultValue;
2069
2069
  var propDefaultValue = this.getDefaultPropertyValue(name);
2070
2070
  if (propDefaultValue !== undefined)
@@ -3390,7 +3390,8 @@ var ChoicesRestful = /** @class */ (function (_super) {
3390
3390
  * @see titleName
3391
3391
  */
3392
3392
  get: function () {
3393
- return this.getPropertyValue("path", "");
3393
+ var res = this.getPropertyValue("path");
3394
+ return !!res ? res : "";
3394
3395
  },
3395
3396
  set: function (val) {
3396
3397
  this.setPropertyValue("path", val);
@@ -4675,6 +4676,8 @@ var modernCss = {
4675
4676
  small: "sv-row__question--small",
4676
4677
  controls: "sjs_sp_controls",
4677
4678
  placeholder: "sjs_sp_placeholder",
4679
+ canvas: "sjs_sp_canvas",
4680
+ backgroundImage: "sjs_sp__background-image",
4678
4681
  clearButton: "sjs_sp_clear",
4679
4682
  },
4680
4683
  saveData: {
@@ -5065,6 +5068,8 @@ var defaultStandardCss = {
5065
5068
  root: "sv_q_signaturepad sjs_sp_container",
5066
5069
  controls: "sjs_sp_controls",
5067
5070
  placeholder: "sjs_sp_placeholder",
5071
+ canvas: "sjs_sp_canvas",
5072
+ backgroundImage: "sjs_sp__background-image",
5068
5073
  clearButton: "sjs_sp_clear",
5069
5074
  },
5070
5075
  saveData: {
@@ -5712,6 +5717,8 @@ var defaultV2Css = {
5712
5717
  small: "sd-row__question--small",
5713
5718
  controls: "sjs_sp_controls sd-signaturepad__controls",
5714
5719
  placeholder: "sjs_sp_placeholder",
5720
+ canvas: "sjs_sp_canvas sd-signaturepad__canvas",
5721
+ backgroundImage: "sjs_sp__background-image sd-signaturepad__background-image",
5715
5722
  clearButton: "sjs_sp_clear sd-context-btn sd-context-btn--negative sd-signaturepad__clear",
5716
5723
  clearButtonIconId: "icon-clear"
5717
5724
  },
@@ -6413,8 +6420,14 @@ var DragDropChoices = /** @class */ (function (_super) {
6413
6420
  };
6414
6421
  DragDropChoices.prototype.getVisibleChoices = function () {
6415
6422
  var parent = this.parentElement;
6416
- if (parent.getType() === "ranking")
6417
- return parent.rankingChoices;
6423
+ if (parent.getType() === "ranking") {
6424
+ if (parent.selectToRankEnabled) {
6425
+ return parent.visibleChoices;
6426
+ }
6427
+ else {
6428
+ return parent.rankingChoices;
6429
+ }
6430
+ }
6418
6431
  return parent.visibleChoices;
6419
6432
  };
6420
6433
  DragDropChoices.prototype.isDropTargetValid = function (dropTarget, dropTargetNode) {
@@ -6596,9 +6609,12 @@ var DragDropCore = /** @class */ (function () {
6596
6609
  DragDropCore.prototype.doDragOver = function () { };
6597
6610
  DragDropCore.prototype.afterDragOver = function (dropTargetNode) { };
6598
6611
  DragDropCore.prototype.findDropTargetNodeFromPoint = function (clientX, clientY) {
6599
- this.domAdapter.draggedElementShortcut.hidden = true;
6612
+ var displayProp = this.domAdapter.draggedElementShortcut.style.display;
6613
+ //this.domAdapter.draggedElementShortcut.hidden = true;
6614
+ this.domAdapter.draggedElementShortcut.style.display = "none";
6600
6615
  var dragOverNode = document.elementFromPoint(clientX, clientY);
6601
- this.domAdapter.draggedElementShortcut.hidden = false;
6616
+ // this.domAdapter.draggedElementShortcut.hidden = false;
6617
+ this.domAdapter.draggedElementShortcut.style.display = displayProp || "block";
6602
6618
  if (!dragOverNode)
6603
6619
  return null;
6604
6620
  return this.findDropTargetNodeByDragOverNode(dragOverNode);
@@ -6707,6 +6723,7 @@ if (typeof window !== "undefined") {
6707
6723
  var DragDropDOMAdapter = /** @class */ (function () {
6708
6724
  function DragDropDOMAdapter(dd, longTap) {
6709
6725
  var _this = this;
6726
+ if (longTap === void 0) { longTap = true; }
6710
6727
  this.dd = dd;
6711
6728
  this.longTap = longTap;
6712
6729
  this.scrollIntervalId = null;
@@ -7893,7 +7910,7 @@ var DropdownListModel = /** @class */ (function (_super) {
7893
7910
  this.listModel.setItems(this.getAvailableItems());
7894
7911
  };
7895
7912
  DropdownListModel.prototype.onClick = function (event) {
7896
- if (this.question.readOnly)
7913
+ if (this.question.readOnly || this.question.isDesignMode)
7897
7914
  return;
7898
7915
  this._popupModel.toggleVisibility();
7899
7916
  this.focusItemOnClickAndPopup();
@@ -7908,6 +7925,9 @@ var DropdownListModel = /** @class */ (function (_super) {
7908
7925
  if (options.name == "value") {
7909
7926
  this.showInputFieldComponent = this.question.showInputFieldComponent;
7910
7927
  }
7928
+ if (options.name == "choicesLazyLoadEnabled" && options.newValue) {
7929
+ this.listModel.setOnFilterStringChangedCallback(this.listModelFilterStringChanged);
7930
+ }
7911
7931
  };
7912
7932
  DropdownListModel.prototype.focusItemOnClickAndPopup = function () {
7913
7933
  if (this._popupModel.isVisible && this.question.value)
@@ -8661,7 +8681,7 @@ __webpack_require__.r(__webpack_exports__);
8661
8681
  /*!*************************************!*\
8662
8682
  !*** ./src/entries/chunks/model.ts ***!
8663
8683
  \*************************************/
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 */
8684
+ /*! exports provided: Version, ReleaseDate, checkLibraryVersion, setLicenseKey, hasLicense, settings, Helpers, AnswerCountValidator, EmailValidator, NumericValidator, RegexValidator, SurveyValidator, TextValidator, ValidatorResult, ExpressionValidator, ValidatorRunner, ItemValue, Base, Event, EventBase, ArrayChanges, ComputedUpdater, SurveyError, SurveyElementCore, SurveyElement, DragTypeOverMeEnum, CalculatedValue, CustomError, AnswerRequiredError, OneAnswerRequiredError, RequreNumericError, ExceedSizeError, LocalizableString, LocalizableStrings, HtmlConditionItem, UrlConditionItem, ChoicesRestful, ChoicesRestfull, FunctionFactory, registerFunction, ConditionRunner, ExpressionRunner, ExpressionExecutor, Operand, Const, BinaryOperand, Variable, FunctionOperand, ArrayOperand, UnaryOperand, ConditionsParser, ProcessValue, JsonError, JsonIncorrectTypeError, JsonMetadata, JsonMetadataClass, JsonMissingTypeError, JsonMissingTypeErrorBase, JsonObject, JsonObjectProperty, JsonRequiredPropertyError, JsonUnknownPropertyError, Serializer, property, propertyArray, MatrixDropdownCell, MatrixDropdownRowModelBase, QuestionMatrixDropdownModelBase, MatrixDropdownColumn, matrixDropdownColumnTypes, QuestionMatrixDropdownRenderedCell, QuestionMatrixDropdownRenderedRow, QuestionMatrixDropdownRenderedTable, MatrixDropdownRowModel, QuestionMatrixDropdownModel, MatrixDynamicRowModel, QuestionMatrixDynamicModel, MatrixRowModel, MatrixCells, QuestionMatrixModel, QuestionMatrixBaseModel, MultipleTextItemModel, QuestionMultipleTextModel, MultipleTextEditorModel, PanelModel, PanelModelBase, QuestionRowModel, FlowPanelModel, PageModel, DefaultTitleModel, Question, QuestionNonValue, QuestionEmptyModel, QuestionCheckboxBase, QuestionSelectBase, QuestionCheckboxModel, QuestionTagboxModel, QuestionRankingModel, QuestionCommentModel, QuestionDropdownModel, QuestionFactory, ElementFactory, QuestionFileModel, QuestionHtmlModel, QuestionRadiogroupModel, QuestionRatingModel, RenderedRatingItem, QuestionExpressionModel, QuestionTextBase, CharacterCounter, QuestionTextModel, QuestionBooleanModel, QuestionImagePickerModel, ImageItemValue, QuestionImageModel, QuestionSignaturePadModel, QuestionPanelDynamicModel, QuestionPanelDynamicItem, SurveyTimer, SurveyTimerModel, tryNavigateToPage, tryFocusPage, createTOCListModel, getTocRootCss, TOCModel, SurveyProgressModel, SurveyProgressButtonsModel, SurveyModel, SurveyTrigger, SurveyTriggerComplete, SurveyTriggerSetValue, SurveyTriggerVisible, SurveyTriggerCopyValue, SurveyTriggerRunExpression, SurveyTriggerSkip, Trigger, PopupSurveyModel, SurveyWindowModel, TextPreProcessor, Notifier, dxSurveyService, englishStrings, surveyLocalization, surveyStrings, QuestionCustomWidget, CustomWidgetCollection, QuestionCustomModel, QuestionCompositeModel, ComponentQuestionJSON, ComponentCollection, StylesManager, ListModel, MultiSelectListModel, PopupModel, createDialogOptions, PopupBaseViewModel, PopupDropdownViewModel, PopupModalViewModel, createPopupViewModel, createPopupModalViewModel, DropdownListModel, DropdownMultiSelectListModel, QuestionButtonGroupModel, ButtonGroupItemModel, ButtonGroupItemValue, IsMobile, IsTouch, _setIsTouch, confirmAction, confirmActionAsync, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, sanitizeEditableContent, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropCore, DragDropChoices, DragDropRankingSelectToRank */
8665
8685
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
8666
8686
 
8667
8687
  "use strict";
@@ -8991,6 +9011,8 @@ __webpack_require__.r(__webpack_exports__);
8991
9011
 
8992
9012
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyTriggerRunExpression", function() { return _trigger__WEBPACK_IMPORTED_MODULE_61__["SurveyTriggerRunExpression"]; });
8993
9013
 
9014
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyTriggerSkip", function() { return _trigger__WEBPACK_IMPORTED_MODULE_61__["SurveyTriggerSkip"]; });
9015
+
8994
9016
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Trigger", function() { return _trigger__WEBPACK_IMPORTED_MODULE_61__["Trigger"]; });
8995
9017
 
8996
9018
  /* harmony import */ var _popup_survey__WEBPACK_IMPORTED_MODULE_62__ = __webpack_require__(/*! ../../popup-survey */ "./src/popup-survey.ts");
@@ -9122,8 +9144,8 @@ __webpack_require__.r(__webpack_exports__);
9122
9144
  //import "../../modern.scss";
9123
9145
  var Version;
9124
9146
  var ReleaseDate;
9125
- Version = "" + "1.9.104";
9126
- ReleaseDate = "" + "2023-08-22";
9147
+ Version = "" + "1.9.105";
9148
+ ReleaseDate = "" + "2023-08-30";
9127
9149
  function checkLibraryVersion(ver, libraryName) {
9128
9150
  if (Version != ver) {
9129
9151
  var str = "survey-core has version '" + Version + "' and " + libraryName
@@ -9271,7 +9293,7 @@ function slk(k, lh, rd) {
9271
9293
  /*!**************************************!*\
9272
9294
  !*** ./src/entries/core-wo-model.ts ***!
9273
9295
  \**************************************/
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 */
9296
+ /*! exports provided: Version, ReleaseDate, checkLibraryVersion, setLicenseKey, hasLicense, settings, Helpers, AnswerCountValidator, EmailValidator, NumericValidator, RegexValidator, SurveyValidator, TextValidator, ValidatorResult, ExpressionValidator, ValidatorRunner, ItemValue, Base, Event, EventBase, ArrayChanges, ComputedUpdater, SurveyError, SurveyElementCore, SurveyElement, DragTypeOverMeEnum, CalculatedValue, CustomError, AnswerRequiredError, OneAnswerRequiredError, RequreNumericError, ExceedSizeError, LocalizableString, LocalizableStrings, HtmlConditionItem, UrlConditionItem, ChoicesRestful, ChoicesRestfull, FunctionFactory, registerFunction, ConditionRunner, ExpressionRunner, ExpressionExecutor, Operand, Const, BinaryOperand, Variable, FunctionOperand, ArrayOperand, UnaryOperand, ConditionsParser, ProcessValue, JsonError, JsonIncorrectTypeError, JsonMetadata, JsonMetadataClass, JsonMissingTypeError, JsonMissingTypeErrorBase, JsonObject, JsonObjectProperty, JsonRequiredPropertyError, JsonUnknownPropertyError, Serializer, property, propertyArray, MatrixDropdownCell, MatrixDropdownRowModelBase, QuestionMatrixDropdownModelBase, MatrixDropdownColumn, matrixDropdownColumnTypes, QuestionMatrixDropdownRenderedCell, QuestionMatrixDropdownRenderedRow, QuestionMatrixDropdownRenderedTable, MatrixDropdownRowModel, QuestionMatrixDropdownModel, MatrixDynamicRowModel, QuestionMatrixDynamicModel, MatrixRowModel, MatrixCells, QuestionMatrixModel, QuestionMatrixBaseModel, MultipleTextItemModel, QuestionMultipleTextModel, MultipleTextEditorModel, PanelModel, PanelModelBase, QuestionRowModel, FlowPanelModel, PageModel, DefaultTitleModel, Question, QuestionNonValue, QuestionEmptyModel, QuestionCheckboxBase, QuestionSelectBase, QuestionCheckboxModel, QuestionTagboxModel, QuestionRankingModel, QuestionCommentModel, QuestionDropdownModel, QuestionFactory, ElementFactory, QuestionFileModel, QuestionHtmlModel, QuestionRadiogroupModel, QuestionRatingModel, RenderedRatingItem, QuestionExpressionModel, QuestionTextBase, CharacterCounter, QuestionTextModel, QuestionBooleanModel, QuestionImagePickerModel, ImageItemValue, QuestionImageModel, QuestionSignaturePadModel, QuestionPanelDynamicModel, QuestionPanelDynamicItem, SurveyTimer, SurveyTimerModel, tryNavigateToPage, tryFocusPage, createTOCListModel, getTocRootCss, TOCModel, SurveyProgressModel, SurveyProgressButtonsModel, SurveyModel, SurveyTrigger, SurveyTriggerComplete, SurveyTriggerSetValue, SurveyTriggerVisible, SurveyTriggerCopyValue, SurveyTriggerRunExpression, SurveyTriggerSkip, Trigger, PopupSurveyModel, SurveyWindowModel, TextPreProcessor, Notifier, dxSurveyService, englishStrings, surveyLocalization, surveyStrings, QuestionCustomWidget, CustomWidgetCollection, QuestionCustomModel, QuestionCompositeModel, ComponentQuestionJSON, ComponentCollection, StylesManager, ListModel, MultiSelectListModel, PopupModel, createDialogOptions, PopupBaseViewModel, PopupDropdownViewModel, PopupModalViewModel, createPopupViewModel, createPopupModalViewModel, DropdownListModel, DropdownMultiSelectListModel, QuestionButtonGroupModel, ButtonGroupItemModel, ButtonGroupItemValue, IsMobile, IsTouch, _setIsTouch, confirmAction, confirmActionAsync, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, sanitizeEditableContent, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropCore, DragDropChoices, DragDropRankingSelectToRank, defaultStandardCss, modernCss, SvgIconRegistry, SvgRegistry, SvgBundleViewModel, RendererFactory, ResponsivityManager, VerticalResponsivityManager, unwrap, getOriginalEvent, getElement, createDropdownActionModel, createDropdownActionModelAdvanced, getActionDropdownButtonTarget, BaseAction, Action, ActionDropdownViewModel, AdaptiveActionContainer, defaultActionBarCss, ActionContainer, TooltipManager, DragOrClickHelper */
9275
9297
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
9276
9298
 
9277
9299
  "use strict";
@@ -9545,6 +9567,8 @@ __webpack_require__.r(__webpack_exports__);
9545
9567
 
9546
9568
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyTriggerRunExpression", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__["SurveyTriggerRunExpression"]; });
9547
9569
 
9570
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyTriggerSkip", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__["SurveyTriggerSkip"]; });
9571
+
9548
9572
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Trigger", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__["Trigger"]; });
9549
9573
 
9550
9574
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "PopupSurveyModel", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__["PopupSurveyModel"]; });
@@ -9724,7 +9748,7 @@ __webpack_require__.r(__webpack_exports__);
9724
9748
  /*!*****************************!*\
9725
9749
  !*** ./src/entries/core.ts ***!
9726
9750
  \*****************************/
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 */
9751
+ /*! exports provided: Version, ReleaseDate, checkLibraryVersion, setLicenseKey, hasLicense, settings, Helpers, AnswerCountValidator, EmailValidator, NumericValidator, RegexValidator, SurveyValidator, TextValidator, ValidatorResult, ExpressionValidator, ValidatorRunner, ItemValue, Base, Event, EventBase, ArrayChanges, ComputedUpdater, SurveyError, SurveyElementCore, SurveyElement, DragTypeOverMeEnum, CalculatedValue, CustomError, AnswerRequiredError, OneAnswerRequiredError, RequreNumericError, ExceedSizeError, LocalizableString, LocalizableStrings, HtmlConditionItem, UrlConditionItem, ChoicesRestful, ChoicesRestfull, FunctionFactory, registerFunction, ConditionRunner, ExpressionRunner, ExpressionExecutor, Operand, Const, BinaryOperand, Variable, FunctionOperand, ArrayOperand, UnaryOperand, ConditionsParser, ProcessValue, JsonError, JsonIncorrectTypeError, JsonMetadata, JsonMetadataClass, JsonMissingTypeError, JsonMissingTypeErrorBase, JsonObject, JsonObjectProperty, JsonRequiredPropertyError, JsonUnknownPropertyError, Serializer, property, propertyArray, MatrixDropdownCell, MatrixDropdownRowModelBase, QuestionMatrixDropdownModelBase, MatrixDropdownColumn, matrixDropdownColumnTypes, QuestionMatrixDropdownRenderedCell, QuestionMatrixDropdownRenderedRow, QuestionMatrixDropdownRenderedTable, MatrixDropdownRowModel, QuestionMatrixDropdownModel, MatrixDynamicRowModel, QuestionMatrixDynamicModel, MatrixRowModel, MatrixCells, QuestionMatrixModel, QuestionMatrixBaseModel, MultipleTextItemModel, QuestionMultipleTextModel, MultipleTextEditorModel, PanelModel, PanelModelBase, QuestionRowModel, FlowPanelModel, PageModel, DefaultTitleModel, Question, QuestionNonValue, QuestionEmptyModel, QuestionCheckboxBase, QuestionSelectBase, QuestionCheckboxModel, QuestionTagboxModel, QuestionRankingModel, QuestionCommentModel, QuestionDropdownModel, QuestionFactory, ElementFactory, QuestionFileModel, QuestionHtmlModel, QuestionRadiogroupModel, QuestionRatingModel, RenderedRatingItem, QuestionExpressionModel, QuestionTextBase, CharacterCounter, QuestionTextModel, QuestionBooleanModel, QuestionImagePickerModel, ImageItemValue, QuestionImageModel, QuestionSignaturePadModel, QuestionPanelDynamicModel, QuestionPanelDynamicItem, SurveyTimer, SurveyTimerModel, tryNavigateToPage, tryFocusPage, createTOCListModel, getTocRootCss, TOCModel, SurveyProgressModel, SurveyProgressButtonsModel, SurveyModel, SurveyTrigger, SurveyTriggerComplete, SurveyTriggerSetValue, SurveyTriggerVisible, SurveyTriggerCopyValue, SurveyTriggerRunExpression, SurveyTriggerSkip, Trigger, PopupSurveyModel, SurveyWindowModel, TextPreProcessor, Notifier, dxSurveyService, englishStrings, surveyLocalization, surveyStrings, QuestionCustomWidget, CustomWidgetCollection, QuestionCustomModel, QuestionCompositeModel, ComponentQuestionJSON, ComponentCollection, StylesManager, ListModel, MultiSelectListModel, PopupModel, createDialogOptions, PopupBaseViewModel, PopupDropdownViewModel, PopupModalViewModel, createPopupViewModel, createPopupModalViewModel, DropdownListModel, DropdownMultiSelectListModel, QuestionButtonGroupModel, ButtonGroupItemModel, ButtonGroupItemValue, IsMobile, IsTouch, _setIsTouch, confirmAction, confirmActionAsync, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, sanitizeEditableContent, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropCore, DragDropChoices, DragDropRankingSelectToRank, defaultStandardCss, modernCss, SvgIconRegistry, SvgRegistry, SvgBundleViewModel, RendererFactory, ResponsivityManager, VerticalResponsivityManager, unwrap, getOriginalEvent, getElement, createDropdownActionModel, createDropdownActionModelAdvanced, getActionDropdownButtonTarget, BaseAction, Action, ActionDropdownViewModel, AdaptiveActionContainer, defaultActionBarCss, ActionContainer, TooltipManager, DragOrClickHelper, Model */
9728
9752
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
9729
9753
 
9730
9754
  "use strict";
@@ -9998,6 +10022,8 @@ __webpack_require__.r(__webpack_exports__);
9998
10022
 
9999
10023
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyTriggerRunExpression", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__["SurveyTriggerRunExpression"]; });
10000
10024
 
10025
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyTriggerSkip", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__["SurveyTriggerSkip"]; });
10026
+
10001
10027
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Trigger", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__["Trigger"]; });
10002
10028
 
10003
10029
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "PopupSurveyModel", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__["PopupSurveyModel"]; });
@@ -10537,7 +10563,7 @@ __webpack_require__.r(__webpack_exports__);
10537
10563
  /*!******************************!*\
10538
10564
  !*** ./src/entries/react.ts ***!
10539
10565
  \******************************/
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 */
10566
+ /*! exports provided: Version, ReleaseDate, checkLibraryVersion, setLicenseKey, hasLicense, settings, Helpers, AnswerCountValidator, EmailValidator, NumericValidator, RegexValidator, SurveyValidator, TextValidator, ValidatorResult, ExpressionValidator, ValidatorRunner, ItemValue, Base, Event, EventBase, ArrayChanges, ComputedUpdater, SurveyError, SurveyElementCore, SurveyElement, DragTypeOverMeEnum, CalculatedValue, CustomError, AnswerRequiredError, OneAnswerRequiredError, RequreNumericError, ExceedSizeError, LocalizableString, LocalizableStrings, HtmlConditionItem, UrlConditionItem, ChoicesRestful, ChoicesRestfull, FunctionFactory, registerFunction, ConditionRunner, ExpressionRunner, ExpressionExecutor, Operand, Const, BinaryOperand, Variable, FunctionOperand, ArrayOperand, UnaryOperand, ConditionsParser, ProcessValue, JsonError, JsonIncorrectTypeError, JsonMetadata, JsonMetadataClass, JsonMissingTypeError, JsonMissingTypeErrorBase, JsonObject, JsonObjectProperty, JsonRequiredPropertyError, JsonUnknownPropertyError, Serializer, property, propertyArray, MatrixDropdownCell, MatrixDropdownRowModelBase, QuestionMatrixDropdownModelBase, MatrixDropdownColumn, matrixDropdownColumnTypes, QuestionMatrixDropdownRenderedCell, QuestionMatrixDropdownRenderedRow, QuestionMatrixDropdownRenderedTable, MatrixDropdownRowModel, QuestionMatrixDropdownModel, MatrixDynamicRowModel, QuestionMatrixDynamicModel, MatrixRowModel, MatrixCells, QuestionMatrixModel, QuestionMatrixBaseModel, MultipleTextItemModel, QuestionMultipleTextModel, MultipleTextEditorModel, PanelModel, PanelModelBase, QuestionRowModel, FlowPanelModel, PageModel, DefaultTitleModel, Question, QuestionNonValue, QuestionEmptyModel, QuestionCheckboxBase, QuestionSelectBase, QuestionCheckboxModel, QuestionTagboxModel, QuestionRankingModel, QuestionCommentModel, QuestionDropdownModel, QuestionFactory, ElementFactory, QuestionFileModel, QuestionHtmlModel, QuestionRadiogroupModel, QuestionRatingModel, RenderedRatingItem, QuestionExpressionModel, QuestionTextBase, CharacterCounter, QuestionTextModel, QuestionBooleanModel, QuestionImagePickerModel, ImageItemValue, QuestionImageModel, QuestionSignaturePadModel, QuestionPanelDynamicModel, QuestionPanelDynamicItem, SurveyTimer, SurveyTimerModel, tryNavigateToPage, tryFocusPage, createTOCListModel, getTocRootCss, TOCModel, SurveyProgressModel, SurveyProgressButtonsModel, SurveyModel, SurveyTrigger, SurveyTriggerComplete, SurveyTriggerSetValue, SurveyTriggerVisible, SurveyTriggerCopyValue, SurveyTriggerRunExpression, SurveyTriggerSkip, Trigger, PopupSurveyModel, SurveyWindowModel, TextPreProcessor, Notifier, dxSurveyService, englishStrings, surveyLocalization, surveyStrings, QuestionCustomWidget, CustomWidgetCollection, QuestionCustomModel, QuestionCompositeModel, ComponentQuestionJSON, ComponentCollection, StylesManager, ListModel, MultiSelectListModel, PopupModel, createDialogOptions, PopupBaseViewModel, PopupDropdownViewModel, PopupModalViewModel, createPopupViewModel, createPopupModalViewModel, DropdownListModel, DropdownMultiSelectListModel, QuestionButtonGroupModel, ButtonGroupItemModel, ButtonGroupItemValue, IsMobile, IsTouch, _setIsTouch, confirmAction, confirmActionAsync, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, sanitizeEditableContent, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropCore, DragDropChoices, DragDropRankingSelectToRank, defaultStandardCss, modernCss, SvgIconRegistry, SvgRegistry, SvgBundleViewModel, RendererFactory, ResponsivityManager, VerticalResponsivityManager, unwrap, getOriginalEvent, getElement, createDropdownActionModel, createDropdownActionModelAdvanced, getActionDropdownButtonTarget, BaseAction, Action, ActionDropdownViewModel, AdaptiveActionContainer, defaultActionBarCss, ActionContainer, TooltipManager, DragOrClickHelper, Model, bootstrapThemeName, bootstrapThemeColors, bootstrapThemeCssRules, bootstrapMaterialThemeName, bootstrapMaterialThemeColors, bootstrapMaterialThemeCssRules, defaultBootstrapCss, defaultBootstrapMaterialCss, Survey, attachKey2click, ReactSurveyElementsWrapper, SurveyNavigationBase, SurveyTimerPanel, SurveyPage, SurveyRow, SurveyPanel, SurveyFlowPanel, SurveyQuestion, SurveyElementErrors, SurveyQuestionAndErrorsCell, ReactSurveyElement, SurveyElementBase, SurveyQuestionElementBase, SurveyQuestionCommentItem, SurveyQuestionComment, SurveyQuestionCheckbox, SurveyQuestionCheckboxItem, SurveyQuestionRanking, SurveyQuestionRankingItem, RatingItem, RatingItemStar, RatingItemSmiley, TagboxFilterString, SurveyQuestionOptionItem, SurveyQuestionDropdownBase, SurveyQuestionDropdown, SurveyQuestionTagboxItem, SurveyQuestionTagbox, SurveyQuestionDropdownSelect, SurveyQuestionMatrix, SurveyQuestionMatrixRow, SurveyQuestionHtml, SurveyQuestionFile, SurveyQuestionMultipleText, SurveyQuestionRadiogroup, SurveyQuestionRadioItem, SurveyQuestionText, SurveyQuestionBoolean, SurveyQuestionBooleanCheckbox, SurveyQuestionBooleanRadio, SurveyQuestionEmpty, SurveyQuestionMatrixDropdownCell, SurveyQuestionMatrixDropdownBase, SurveyQuestionMatrixDropdown, SurveyQuestionMatrixDynamic, SurveyQuestionMatrixDynamicAddButton, SurveyQuestionPanelDynamic, SurveyProgress, SurveyProgressButtons, SurveyProgressToc, SurveyQuestionRating, SurveyQuestionRatingDropdown, SurveyQuestionExpression, PopupSurvey, SurveyWindow, ReactQuestionFactory, ReactElementFactory, SurveyQuestionImagePicker, SurveyQuestionImage, SurveyQuestionSignaturePad, SurveyQuestionButtonGroup, SurveyQuestionCustom, SurveyQuestionComposite, Popup, List, TitleActions, TitleElement, SurveyActionBar, LogoImage, SurveyHeader, SvgIcon, SurveyQuestionMatrixDynamicRemoveButton, SurveyQuestionMatrixDetailButton, SurveyQuestionMatrixDynamicDragDropIcon, SurveyQuestionPanelDynamicAddButton, SurveyQuestionPanelDynamicRemoveButton, SurveyQuestionPanelDynamicPrevButton, SurveyQuestionPanelDynamicNextButton, SurveyQuestionPanelDynamicProgressText, SurveyNavigationButton, MatrixRow, Skeleton, NotifierComponent, ComponentsContainer, CharacterCounterComponent, SurveyLocStringViewer, SurveyLocStringEditor */
10541
10567
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
10542
10568
 
10543
10569
  "use strict";
@@ -10811,6 +10837,8 @@ __webpack_require__.r(__webpack_exports__);
10811
10837
 
10812
10838
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyTriggerRunExpression", function() { return _core__WEBPACK_IMPORTED_MODULE_0__["SurveyTriggerRunExpression"]; });
10813
10839
 
10840
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyTriggerSkip", function() { return _core__WEBPACK_IMPORTED_MODULE_0__["SurveyTriggerSkip"]; });
10841
+
10814
10842
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Trigger", function() { return _core__WEBPACK_IMPORTED_MODULE_0__["Trigger"]; });
10815
10843
 
10816
10844
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "PopupSurveyModel", function() { return _core__WEBPACK_IMPORTED_MODULE_0__["PopupSurveyModel"]; });
@@ -16161,8 +16189,8 @@ var Helpers = /** @class */ (function () {
16161
16189
  !Array.isArray(value) &&
16162
16190
  !isNaN(value));
16163
16191
  };
16164
- Helpers.isValueObject = function (val) {
16165
- return val instanceof Object;
16192
+ Helpers.isValueObject = function (val, excludeArray) {
16193
+ return val instanceof Object && (!excludeArray || !Array.isArray(val));
16166
16194
  };
16167
16195
  Helpers.isNumber = function (value) {
16168
16196
  return !isNaN(this.getNumber(value));
@@ -19567,6 +19595,9 @@ var ListModel = /** @class */ (function (_super) {
19567
19595
  }
19568
19596
  }, ms);
19569
19597
  };
19598
+ ListModel.prototype.setOnFilterStringChangedCallback = function (callback) {
19599
+ this.onFilterStringChangedCallback = callback;
19600
+ };
19570
19601
  ListModel.prototype.setItems = function (items, sortByVisibleIndex) {
19571
19602
  var _this = this;
19572
19603
  if (sortByVisibleIndex === void 0) { sortByVisibleIndex = true; }
@@ -28082,9 +28113,12 @@ var PanelModelBase = /** @class */ (function (_super) {
28082
28113
  enumerable: false,
28083
28114
  configurable: true
28084
28115
  });
28085
- PanelModelBase.prototype.delete = function () {
28116
+ PanelModelBase.prototype.delete = function (doDispose) {
28117
+ if (doDispose === void 0) { doDispose = true; }
28086
28118
  this.removeFromParent();
28087
- this.dispose();
28119
+ if (doDispose) {
28120
+ this.dispose();
28121
+ }
28088
28122
  };
28089
28123
  PanelModelBase.prototype.removeFromParent = function () { };
28090
28124
  PanelModelBase.prototype.canShowTitle = function () { return true; };
@@ -30267,6 +30301,8 @@ var defaultCss = {
30267
30301
  root: "sv_q_signaturepad sjs_sp_container",
30268
30302
  controls: "sjs_sp_controls",
30269
30303
  placeholder: "sjs_sp_placeholder",
30304
+ canvas: "sjs_sp_canvas",
30305
+ backgroundImage: "sjs_sp__background-image",
30270
30306
  clearButton: "sjs_sp_clear",
30271
30307
  },
30272
30308
  saveData: {
@@ -30724,6 +30760,8 @@ var defaultCss = {
30724
30760
  root: "sv_q_signaturepad sjs_sp_container",
30725
30761
  controls: "sjs_sp_controls",
30726
30762
  placeholder: "sjs_sp_placeholder",
30763
+ canvas: "sjs_sp_canvas",
30764
+ backgroundImage: "sjs_sp__background-image",
30727
30765
  clearButton: "sjs_sp_clear",
30728
30766
  },
30729
30767
  saveData: {
@@ -31162,6 +31200,8 @@ function setStyles() {
31162
31200
  ".sv_main .sjs_sp_controls > button": "user-select: none;",
31163
31201
  ".sv_main .sjs_sp_container>div>canvas:focus": "outline: none;",
31164
31202
  ".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%;",
31203
+ ".sv_main .sjs_sp_canvas": "position: absolute; top: 0; left: 0;",
31204
+ ".sv_main .sjs_sp__background-image": "position: absolute; top: 0; left: 0;",
31165
31205
  // logo
31166
31206
  // ".sv_main .sv_header": "white-space: nowrap;",
31167
31207
  ".sv_main .sv_logo": "",
@@ -32820,9 +32860,15 @@ var Question = /** @class */ (function (_super) {
32820
32860
  Question.prototype.getPanel = function () {
32821
32861
  return null;
32822
32862
  };
32823
- Question.prototype.delete = function () {
32863
+ Question.prototype.delete = function (doDispose) {
32864
+ if (doDispose === void 0) { doDispose = true; }
32824
32865
  this.removeFromParent();
32825
- this.dispose();
32866
+ if (doDispose) {
32867
+ this.dispose();
32868
+ }
32869
+ else {
32870
+ this.resetDependedQuestions();
32871
+ }
32826
32872
  };
32827
32873
  Question.prototype.removeFromParent = function () {
32828
32874
  if (!!this.parent) {
@@ -33065,6 +33111,7 @@ var Question = /** @class */ (function (_super) {
33065
33111
  if (isLight !== true) {
33066
33112
  this.runConditions();
33067
33113
  }
33114
+ this.calcRenderedCommentPlaceholder();
33068
33115
  };
33069
33116
  Object.defineProperty(Question.prototype, "parent", {
33070
33117
  /**
@@ -33375,6 +33422,17 @@ var Question = /** @class */ (function (_super) {
33375
33422
  enumerable: false,
33376
33423
  configurable: true
33377
33424
  });
33425
+ Object.defineProperty(Question.prototype, "renderedCommentPlaceholder", {
33426
+ get: function () {
33427
+ return this.getPropertyValue("renderedCommentPlaceholder");
33428
+ },
33429
+ enumerable: false,
33430
+ configurable: true
33431
+ });
33432
+ Question.prototype.calcRenderedCommentPlaceholder = function () {
33433
+ var res = !this.isReadOnly ? this.commentPlaceHolder : undefined;
33434
+ this.setPropertyValue("renderedCommentPlaceholder", res);
33435
+ };
33378
33436
  Question.prototype.getAllErrors = function () {
33379
33437
  return this.errors.slice();
33380
33438
  };
@@ -33401,6 +33459,7 @@ var Question = /** @class */ (function (_super) {
33401
33459
  };
33402
33460
  Question.prototype.localeChanged = function () {
33403
33461
  _super.prototype.localeChanged.call(this);
33462
+ this.calcRenderedCommentPlaceholder();
33404
33463
  if (!!this.localeChangedCallback) {
33405
33464
  this.localeChangedCallback();
33406
33465
  }
@@ -33412,6 +33471,11 @@ var Question = /** @class */ (function (_super) {
33412
33471
  enumerable: false,
33413
33472
  configurable: true
33414
33473
  });
33474
+ Object.defineProperty(Question.prototype, "isContainer", {
33475
+ get: function () { return false; },
33476
+ enumerable: false,
33477
+ configurable: true
33478
+ });
33415
33479
  Question.prototype.updateCommentElements = function () {
33416
33480
  if (!this.autoGrowComment || !Array.isArray(this.commentElements))
33417
33481
  return;
@@ -33782,7 +33846,7 @@ var Question = /** @class */ (function (_super) {
33782
33846
  * Moves focus to the input field of this question.
33783
33847
  * @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
33848
  */
33785
- Question.prototype.focus = function (onError) {
33849
+ Question.prototype.focus = function (onError, scrollIfVisible) {
33786
33850
  if (onError === void 0) { onError = false; }
33787
33851
  if (this.isDesignMode || !this.isVisible || !this.survey)
33788
33852
  return;
@@ -33792,14 +33856,14 @@ var Question = /** @class */ (function (_super) {
33792
33856
  this.survey.focusQuestionByInstance(this, onError);
33793
33857
  }
33794
33858
  else {
33795
- this.focuscore(onError);
33859
+ this.focuscore(onError, scrollIfVisible);
33796
33860
  }
33797
33861
  };
33798
- Question.prototype.focuscore = function (onError) {
33862
+ Question.prototype.focuscore = function (onError, scrollIfVisible) {
33799
33863
  if (onError === void 0) { onError = false; }
33800
33864
  if (!!this.survey) {
33801
33865
  this.expandAllParents(this);
33802
- this.survey.scrollElementToTop(this, this, null, this.id);
33866
+ this.survey.scrollElementToTop(this, this, null, this.id, scrollIfVisible);
33803
33867
  }
33804
33868
  var id = !onError
33805
33869
  ? this.getFirstInputElementId()
@@ -33818,7 +33882,7 @@ var Question = /** @class */ (function (_super) {
33818
33882
  this.expandAllParents(element.parentQuestion);
33819
33883
  };
33820
33884
  Question.prototype.focusIn = function () {
33821
- if (!this.survey)
33885
+ if (!this.survey || this.isDisposed || this.isContainer)
33822
33886
  return;
33823
33887
  this.survey.whenQuestionFocusIn(this);
33824
33888
  };
@@ -34028,6 +34092,7 @@ var Question = /** @class */ (function (_super) {
34028
34092
  this.setPropertyValue("isInputReadOnly", this.isInputReadOnly);
34029
34093
  _super.prototype.onReadOnlyChanged.call(this);
34030
34094
  this.updateQuestionCss();
34095
+ this.calcRenderedCommentPlaceholder();
34031
34096
  };
34032
34097
  Object.defineProperty(Question.prototype, "enableIf", {
34033
34098
  /**
@@ -34100,6 +34165,7 @@ var Question = /** @class */ (function (_super) {
34100
34165
  if (this.isEmpty()) {
34101
34166
  this.initDataFromSurvey();
34102
34167
  }
34168
+ this.calcRenderedCommentPlaceholder();
34103
34169
  this.onIndentChanged();
34104
34170
  };
34105
34171
  Question.prototype.onSetData = function () {
@@ -34456,7 +34522,7 @@ var Question = /** @class */ (function (_super) {
34456
34522
  questionPlainData.questionType = this.getType();
34457
34523
  }
34458
34524
  (options.calculations || []).forEach(function (calculation) {
34459
- questionPlainData[calculation.propertyName] = _this[calculation.propertyName];
34525
+ questionPlainData[calculation.propertyName] = _this.getPlainDataCalculatedValue(calculation.propertyName);
34460
34526
  });
34461
34527
  if (this.hasComment) {
34462
34528
  questionPlainData.isNode = true;
@@ -34478,6 +34544,9 @@ var Question = /** @class */ (function (_super) {
34478
34544
  }
34479
34545
  return undefined;
34480
34546
  };
34547
+ Question.prototype.getPlainDataCalculatedValue = function (propName) {
34548
+ return this[propName];
34549
+ };
34481
34550
  Object.defineProperty(Question.prototype, "correctAnswer", {
34482
34551
  /**
34483
34552
  * 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 +34861,9 @@ var Question = /** @class */ (function (_super) {
34792
34861
  this.survey.beforeSettingQuestionErrors(this, errors);
34793
34862
  }
34794
34863
  this.errors = errors;
34864
+ if (this.errors !== errors) {
34865
+ this.errors.forEach(function (er) { return er.locText.strChanged(); });
34866
+ }
34795
34867
  }
34796
34868
  this.updateContainsErrors();
34797
34869
  if (oldHasErrors != errors.length > 0) {
@@ -34942,10 +35014,8 @@ var Question = /** @class */ (function (_super) {
34942
35014
  Question.prototype.setNewValue = function (newValue) {
34943
35015
  if (this.isNewValueEqualsToValue(newValue))
34944
35016
  return;
34945
- if (!this.isValueEmpty(newValue, !this.allowSpaceAsAnswer) && !this.isNewValueCorrect(newValue)) {
34946
- _console_warnings__WEBPACK_IMPORTED_MODULE_12__["ConsoleWarnings"].inCorrectQuestionValue(this.name, newValue);
35017
+ if (!this.checkIsValueCorrect(newValue))
34947
35018
  return;
34948
- }
34949
35019
  this.isOldAnswered = this.isAnswered;
34950
35020
  this.setNewValueInData(newValue);
34951
35021
  this.allowNotifyValueChanged && this.onValueChanged();
@@ -34954,6 +35024,13 @@ var Question = /** @class */ (function (_super) {
34954
35024
  }
34955
35025
  this.isOldAnswered = undefined;
34956
35026
  };
35027
+ Question.prototype.checkIsValueCorrect = function (val) {
35028
+ var res = this.isValueEmpty(val, !this.allowSpaceAsAnswer) || this.isNewValueCorrect(val);
35029
+ if (!res) {
35030
+ _console_warnings__WEBPACK_IMPORTED_MODULE_12__["ConsoleWarnings"].inCorrectQuestionValue(this.name, val);
35031
+ }
35032
+ return res;
35033
+ };
34957
35034
  Question.prototype.isNewValueCorrect = function (val) {
34958
35035
  return true;
34959
35036
  };
@@ -35036,6 +35113,8 @@ var Question = /** @class */ (function (_super) {
35036
35113
  if (!!this.valueFromDataCallback) {
35037
35114
  newValue = this.valueFromDataCallback(newValue);
35038
35115
  }
35116
+ if (!this.checkIsValueCorrect(newValue))
35117
+ return;
35039
35118
  this.setQuestionValue(this.valueFromData(newValue));
35040
35119
  this.updateDependedQuestions();
35041
35120
  this.updateIsAnswered();
@@ -35148,6 +35227,11 @@ var Question = /** @class */ (function (_super) {
35148
35227
  Question.prototype.processPopupVisiblilityChanged = function (popupModel, visible) {
35149
35228
  this.survey.processPopupVisiblityChanged(this, popupModel, visible);
35150
35229
  };
35230
+ Question.prototype.onTextKeyDownHandler = function (event) {
35231
+ if (event.keyCode === 13) {
35232
+ this.survey.questionEditFinishCallback(this, event);
35233
+ }
35234
+ };
35151
35235
  Question.prototype.transformToMobileView = function () { };
35152
35236
  Question.prototype.transformToDesktopView = function () { };
35153
35237
  Question.prototype.needResponsiveWidth = function () {
@@ -35269,10 +35353,13 @@ var Question = /** @class */ (function (_super) {
35269
35353
  };
35270
35354
  Question.prototype.dispose = function () {
35271
35355
  _super.prototype.dispose.call(this);
35356
+ this.resetDependedQuestions();
35357
+ this.destroyResizeObserver();
35358
+ };
35359
+ Question.prototype.resetDependedQuestions = function () {
35272
35360
  for (var i = 0; i < this.dependedQuestions.length; i++) {
35273
35361
  this.dependedQuestions[i].resetDependedQuestion();
35274
35362
  }
35275
- this.destroyResizeObserver();
35276
35363
  };
35277
35364
  Question.TextPreprocessorValuesMap = {
35278
35365
  title: "processedTitle",
@@ -35288,7 +35375,7 @@ var Question = /** @class */ (function (_super) {
35288
35375
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])()
35289
35376
  ], Question.prototype, "forceIsInputReadOnly", void 0);
35290
35377
  __decorate([
35291
- Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])({ localizable: true })
35378
+ Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])({ localizable: true, onSet: function (val, target) { return target.calcRenderedCommentPlaceholder(); } })
35292
35379
  ], Question.prototype, "commentPlaceholder", void 0);
35293
35380
  __decorate([
35294
35381
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])()
@@ -37859,7 +37946,7 @@ var QuestionBooleanModel = /** @class */ (function (_super) {
37859
37946
  return this.value == this.getValueTrue();
37860
37947
  },
37861
37948
  set: function (val) {
37862
- if (this.isReadOnly) {
37949
+ if (this.isReadOnly || this.isDesignMode) {
37863
37950
  return;
37864
37951
  }
37865
37952
  this.setBooleanValue(val);
@@ -38108,9 +38195,8 @@ var QuestionBooleanModel = /** @class */ (function (_super) {
38108
38195
  };
38109
38196
  QuestionBooleanModel.prototype.onKeyDownCore = function (event) {
38110
38197
  if (event.key === "ArrowLeft" || event.key === "ArrowRight") {
38111
- Object(_utils_utils__WEBPACK_IMPORTED_MODULE_4__["preventDefaults"])(event);
38198
+ event.stopPropagation();
38112
38199
  this.calculateBooleanValueByEvent(event, event.key === "ArrowRight");
38113
- return;
38114
38200
  }
38115
38201
  return true;
38116
38202
  };
@@ -40000,6 +40086,16 @@ var QuestionCompositeModel = /** @class */ (function (_super) {
40000
40086
  questions[i].onAnyValueChanged(name);
40001
40087
  }
40002
40088
  };
40089
+ Object.defineProperty(QuestionCompositeModel.prototype, "hasSingleInput", {
40090
+ get: function () { return false; },
40091
+ enumerable: false,
40092
+ configurable: true
40093
+ });
40094
+ Object.defineProperty(QuestionCompositeModel.prototype, "isContainer", {
40095
+ get: function () { return true; },
40096
+ enumerable: false,
40097
+ configurable: true
40098
+ });
40003
40099
  QuestionCompositeModel.prototype.createPanel = function () {
40004
40100
  var _this = this;
40005
40101
  var res = _jsonobject__WEBPACK_IMPORTED_MODULE_1__["Serializer"].createClass("panel");
@@ -41260,12 +41356,13 @@ __webpack_require__.r(__webpack_exports__);
41260
41356
  /* harmony import */ var _question__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./question */ "./src/question.ts");
41261
41357
  /* harmony import */ var _jsonobject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./jsonobject */ "./src/jsonobject.ts");
41262
41358
  /* 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");
41359
+ /* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./base */ "./src/base.ts");
41360
+ /* harmony import */ var _error__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./error */ "./src/error.ts");
41361
+ /* harmony import */ var _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./utils/cssClassBuilder */ "./src/utils/cssClassBuilder.ts");
41362
+ /* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./utils/utils */ "./src/utils/utils.ts");
41363
+ /* harmony import */ var _actions_container__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./actions/container */ "./src/actions/container.ts");
41364
+ /* harmony import */ var _actions_action__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./actions/action */ "./src/actions/action.ts");
41365
+ /* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./helpers */ "./src/helpers.ts");
41269
41366
  var __extends = (undefined && undefined.__extends) || (function () {
41270
41367
  var extendStatics = function (d, b) {
41271
41368
  extendStatics = Object.setPrototypeOf ||
@@ -41296,6 +41393,7 @@ var __decorate = (undefined && undefined.__decorate) || function (decorators, ta
41296
41393
 
41297
41394
 
41298
41395
 
41396
+
41299
41397
  /**
41300
41398
  * A class that describes the File Upload question type.
41301
41399
  *
@@ -41319,7 +41417,7 @@ var QuestionFileModel = /** @class */ (function (_super) {
41319
41417
  */
41320
41418
  _this.onUploadStateChanged = _this.addEvent();
41321
41419
  _this.onStateChanged = _this.addEvent();
41322
- _this.mobileFileNavigator = new _actions_container__WEBPACK_IMPORTED_MODULE_6__["ActionContainer"]();
41420
+ _this.mobileFileNavigator = new _actions_container__WEBPACK_IMPORTED_MODULE_7__["ActionContainer"]();
41323
41421
  _this.dragCounter = 0;
41324
41422
  _this.onDragEnter = function (event) {
41325
41423
  if (!_this.isInputReadOnly) {
@@ -41359,23 +41457,23 @@ var QuestionFileModel = /** @class */ (function (_super) {
41359
41457
  };
41360
41458
  _this.doClean = function (event) {
41361
41459
  if (_this.needConfirmRemoveFile) {
41362
- Object(_utils_utils__WEBPACK_IMPORTED_MODULE_5__["confirmActionAsync"])(_this.confirmRemoveAllMessage, function () { _this.clearFilesCore(); });
41460
+ Object(_utils_utils__WEBPACK_IMPORTED_MODULE_6__["confirmActionAsync"])(_this.confirmRemoveAllMessage, function () { _this.clearFilesCore(); });
41363
41461
  return;
41364
41462
  }
41365
41463
  _this.clearFilesCore();
41366
41464
  };
41367
41465
  _this.doDownloadFile = function (event, data) {
41368
- if (Object(_utils_utils__WEBPACK_IMPORTED_MODULE_5__["detectIEOrEdge"])()) {
41466
+ if (Object(_utils_utils__WEBPACK_IMPORTED_MODULE_6__["detectIEOrEdge"])()) {
41369
41467
  event.preventDefault();
41370
- Object(_utils_utils__WEBPACK_IMPORTED_MODULE_5__["loadFileFromBase64"])(data.content, data.name);
41468
+ Object(_utils_utils__WEBPACK_IMPORTED_MODULE_6__["loadFileFromBase64"])(data.content, data.name);
41371
41469
  }
41372
41470
  };
41373
- _this.fileIndexAction = new _actions_action__WEBPACK_IMPORTED_MODULE_7__["Action"]({
41471
+ _this.fileIndexAction = new _actions_action__WEBPACK_IMPORTED_MODULE_8__["Action"]({
41374
41472
  id: "fileIndex",
41375
41473
  title: _this.getFileIndexCaption(),
41376
41474
  enabled: false
41377
41475
  });
41378
- _this.prevFileAction = new _actions_action__WEBPACK_IMPORTED_MODULE_7__["Action"]({
41476
+ _this.prevFileAction = new _actions_action__WEBPACK_IMPORTED_MODULE_8__["Action"]({
41379
41477
  id: "prevPage",
41380
41478
  iconSize: 16,
41381
41479
  action: function () {
@@ -41383,7 +41481,7 @@ var QuestionFileModel = /** @class */ (function (_super) {
41383
41481
  _this.fileIndexAction.title = _this.getFileIndexCaption();
41384
41482
  }
41385
41483
  });
41386
- _this.nextFileAction = new _actions_action__WEBPACK_IMPORTED_MODULE_7__["Action"]({
41484
+ _this.nextFileAction = new _actions_action__WEBPACK_IMPORTED_MODULE_8__["Action"]({
41387
41485
  id: "nextPage",
41388
41486
  iconSize: 16,
41389
41487
  action: function () {
@@ -41576,6 +41674,21 @@ var QuestionFileModel = /** @class */ (function (_super) {
41576
41674
  QuestionFileModel.prototype.getConfirmRemoveMessage = function (fileName) {
41577
41675
  return this.confirmRemoveMessage.format(fileName);
41578
41676
  };
41677
+ Object.defineProperty(QuestionFileModel.prototype, "renderedPlaceholder", {
41678
+ get: function () {
41679
+ var _this = this;
41680
+ if (this.renderedPlaceholderValue === undefined) {
41681
+ this.renderedPlaceholderValue = (new _base__WEBPACK_IMPORTED_MODULE_3__["ComputedUpdater"](function () {
41682
+ var dragAreaText = _this.dragAreaPlaceholder;
41683
+ var readOnlyText = _this.noFileChosenCaption;
41684
+ return _this.isReadOnly ? readOnlyText : dragAreaText;
41685
+ }));
41686
+ }
41687
+ return this.renderedPlaceholderValue;
41688
+ },
41689
+ enumerable: false,
41690
+ configurable: true
41691
+ });
41579
41692
  Object.defineProperty(QuestionFileModel.prototype, "inputTitle", {
41580
41693
  get: function () {
41581
41694
  if (this.isUploading)
@@ -41654,7 +41767,7 @@ var QuestionFileModel = /** @class */ (function (_super) {
41654
41767
  if (status === "success") {
41655
41768
  var oldValue = _this.value;
41656
41769
  if (Array.isArray(oldValue)) {
41657
- _this.value = oldValue.filter(function (f) { return !_helpers__WEBPACK_IMPORTED_MODULE_8__["Helpers"].isTwoValueEquals(f, content, true, false, false); });
41770
+ _this.value = oldValue.filter(function (f) { return !_helpers__WEBPACK_IMPORTED_MODULE_9__["Helpers"].isTwoValueEquals(f, content, true, false, false); });
41658
41771
  }
41659
41772
  else {
41660
41773
  _this.value = undefined;
@@ -41764,7 +41877,7 @@ var QuestionFileModel = /** @class */ (function (_super) {
41764
41877
  QuestionFileModel.prototype.onCheckForErrors = function (errors, isOnValueChanged) {
41765
41878
  _super.prototype.onCheckForErrors.call(this, errors, isOnValueChanged);
41766
41879
  if (this.isUploading && this.waitForUpload) {
41767
- errors.push(new _error__WEBPACK_IMPORTED_MODULE_3__["UploadingFileError"](this.getLocalizationString("uploadingFile"), this));
41880
+ errors.push(new _error__WEBPACK_IMPORTED_MODULE_4__["UploadingFileError"](this.getLocalizationString("uploadingFile"), this));
41768
41881
  }
41769
41882
  };
41770
41883
  QuestionFileModel.prototype.stateChanged = function (state) {
@@ -41789,7 +41902,7 @@ var QuestionFileModel = /** @class */ (function (_super) {
41789
41902
  var errorLength = this.errors ? this.errors.length : 0;
41790
41903
  (files || []).forEach(function (file) {
41791
41904
  if (_this.maxSize > 0 && file.size > _this.maxSize) {
41792
- _this.errors.push(new _error__WEBPACK_IMPORTED_MODULE_3__["ExceedSizeError"](_this.maxSize, _this));
41905
+ _this.errors.push(new _error__WEBPACK_IMPORTED_MODULE_4__["ExceedSizeError"](_this.maxSize, _this));
41793
41906
  }
41794
41907
  });
41795
41908
  return errorLength === this.errors.length;
@@ -41829,7 +41942,7 @@ var QuestionFileModel = /** @class */ (function (_super) {
41829
41942
  };
41830
41943
  QuestionFileModel.prototype.getChooseFileCss = function () {
41831
41944
  var isAnswered = this.isAnswered;
41832
- return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_4__["CssClassBuilder"]()
41945
+ return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_5__["CssClassBuilder"]()
41833
41946
  .append(this.cssClasses.chooseFile)
41834
41947
  .append(this.cssClasses.controlDisabled, this.isReadOnly)
41835
41948
  .append(this.cssClasses.chooseFileAsText, !isAnswered)
@@ -41838,14 +41951,14 @@ var QuestionFileModel = /** @class */ (function (_super) {
41838
41951
  .toString();
41839
41952
  };
41840
41953
  QuestionFileModel.prototype.getReadOnlyFileCss = function () {
41841
- return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_4__["CssClassBuilder"]()
41954
+ return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_5__["CssClassBuilder"]()
41842
41955
  .append("form-control")
41843
41956
  .append(this.cssClasses.placeholderInput)
41844
41957
  .toString();
41845
41958
  };
41846
41959
  Object.defineProperty(QuestionFileModel.prototype, "fileRootCss", {
41847
41960
  get: function () {
41848
- return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_4__["CssClassBuilder"]()
41961
+ return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_5__["CssClassBuilder"]()
41849
41962
  .append(this.cssClasses.root)
41850
41963
  .append(this.cssClasses.single, !this.allowMultiple)
41851
41964
  .append(this.cssClasses.singleImage, !this.allowMultiple && this.isAnswered && this.canPreviewImage(this.value[0]))
@@ -41856,7 +41969,7 @@ var QuestionFileModel = /** @class */ (function (_super) {
41856
41969
  configurable: true
41857
41970
  });
41858
41971
  QuestionFileModel.prototype.getFileDecoratorCss = function () {
41859
- return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_4__["CssClassBuilder"]()
41972
+ return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_5__["CssClassBuilder"]()
41860
41973
  .append(this.cssClasses.fileDecorator)
41861
41974
  .append(this.cssClasses.onError, this.errors.length > 0)
41862
41975
  .append(this.cssClasses.fileDecoratorDrag, this.isDragging)
@@ -41899,7 +42012,7 @@ var QuestionFileModel = /** @class */ (function (_super) {
41899
42012
  QuestionFileModel.prototype.doRemoveFile = function (data) {
41900
42013
  var _this = this;
41901
42014
  if (this.needConfirmRemoveFile) {
41902
- Object(_utils_utils__WEBPACK_IMPORTED_MODULE_5__["confirmActionAsync"])(this.getConfirmRemoveMessage(data.name), function () { _this.removeFileCore(data); });
42015
+ Object(_utils_utils__WEBPACK_IMPORTED_MODULE_6__["confirmActionAsync"])(this.getConfirmRemoveMessage(data.name), function () { _this.removeFileCore(data); });
41903
42016
  return;
41904
42017
  }
41905
42018
  this.removeFileCore(data);
@@ -41956,6 +42069,9 @@ var QuestionFileModel = /** @class */ (function (_super) {
41956
42069
  __decorate([
41957
42070
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])({ localizable: { defaultStr: "fileDragAreaPlaceholder" } })
41958
42071
  ], QuestionFileModel.prototype, "dragAreaPlaceholder", void 0);
42072
+ __decorate([
42073
+ Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])()
42074
+ ], QuestionFileModel.prototype, "renderedPlaceholderValue", void 0);
41959
42075
  return QuestionFileModel;
41960
42076
  }(_question__WEBPACK_IMPORTED_MODULE_0__["Question"]));
41961
42077
 
@@ -42988,9 +43104,11 @@ var QuestionImagePickerModel = /** @class */ (function (_super) {
42988
43104
  QuestionImagePickerModel.prototype.afterRender = function (el) {
42989
43105
  var _this = this;
42990
43106
  _super.prototype.afterRender.call(this, el);
42991
- if (el && el.querySelector(this.getObservedElementSelector())) {
43107
+ var selector = this.getObservedElementSelector();
43108
+ var observedElement = el && selector ? el.querySelector(selector) : undefined;
43109
+ if (!!observedElement) {
42992
43110
  this.reCalcGapBetweenItemsCallback = function () {
42993
- _this.gapBetweenItems = Math.ceil(Number.parseFloat(window.getComputedStyle(el.querySelector(_this.getObservedElementSelector())).gap)) || 16;
43111
+ _this.gapBetweenItems = Math.ceil(Number.parseFloat(window.getComputedStyle(observedElement).gap)) || 16;
42994
43112
  };
42995
43113
  this.reCalcGapBetweenItemsCallback();
42996
43114
  }
@@ -43533,7 +43651,7 @@ var QuestionMatrixModel = /** @class */ (function (_super) {
43533
43651
  this.rows = this.sortVisibleRows(this.rows);
43534
43652
  };
43535
43653
  QuestionMatrixModel.prototype.isNewValueCorrect = function (val) {
43536
- return _helpers__WEBPACK_IMPORTED_MODULE_0__["Helpers"].isValueObject(val);
43654
+ return _helpers__WEBPACK_IMPORTED_MODULE_0__["Helpers"].isValueObject(val, true);
43537
43655
  };
43538
43656
  QuestionMatrixModel.prototype.processRowsOnSet = function (newRows) {
43539
43657
  return this.sortVisibleRows(newRows);
@@ -43992,7 +44110,7 @@ var QuestionMatrixDropdownModel = /** @class */ (function (_super) {
43992
44110
  return res;
43993
44111
  };
43994
44112
  QuestionMatrixDropdownModel.prototype.isNewValueCorrect = function (val) {
43995
- return _helpers__WEBPACK_IMPORTED_MODULE_4__["Helpers"].isValueObject(val);
44113
+ return _helpers__WEBPACK_IMPORTED_MODULE_4__["Helpers"].isValueObject(val, true);
43996
44114
  };
43997
44115
  QuestionMatrixDropdownModel.prototype.clearIncorrectValues = function () {
43998
44116
  var val = this.value;
@@ -44456,15 +44574,14 @@ var MatrixDropdownRowModelBase = /** @class */ (function () {
44456
44574
  }
44457
44575
  values[MatrixDropdownRowModelBase.IndexVariableName] = this.rowIndex;
44458
44576
  values[MatrixDropdownRowModelBase.RowValueVariableName] = this.rowName;
44459
- if (!properties)
44460
- properties = {};
44461
- properties[MatrixDropdownRowModelBase.RowVariableName] = this;
44577
+ var newProps = _helpers__WEBPACK_IMPORTED_MODULE_2__["Helpers"].createCopy(properties);
44578
+ newProps[MatrixDropdownRowModelBase.RowVariableName] = this;
44462
44579
  for (var i = 0; i < this.cells.length; i++) {
44463
44580
  values[MatrixDropdownRowModelBase.RowVariableName] = this.value;
44464
- this.cells[i].runCondition(values, properties);
44581
+ this.cells[i].runCondition(values, newProps);
44465
44582
  }
44466
44583
  if (!!this.detailPanel) {
44467
- this.detailPanel.runCondition(values, properties);
44584
+ this.detailPanel.runCondition(values, newProps);
44468
44585
  }
44469
44586
  };
44470
44587
  MatrixDropdownRowModelBase.prototype.clearValue = function () {
@@ -44955,9 +45072,12 @@ var QuestionMatrixDropdownModelBase = /** @class */ (function (_super) {
44955
45072
  this.clearGeneratedRows();
44956
45073
  };
44957
45074
  Object.defineProperty(QuestionMatrixDropdownModelBase.prototype, "hasSingleInput", {
44958
- get: function () {
44959
- return false;
44960
- },
45075
+ get: function () { return false; },
45076
+ enumerable: false,
45077
+ configurable: true
45078
+ });
45079
+ Object.defineProperty(QuestionMatrixDropdownModelBase.prototype, "isContainer", {
45080
+ get: function () { return true; },
44961
45081
  enumerable: false,
44962
45082
  configurable: true
44963
45083
  });
@@ -45024,7 +45144,7 @@ var QuestionMatrixDropdownModelBase = /** @class */ (function (_super) {
45024
45144
  });
45025
45145
  Object.defineProperty(QuestionMatrixDropdownModelBase.prototype, "detailErrorLocation", {
45026
45146
  /**
45027
- * Specifies the error message position for question within detail sections.
45147
+ * Specifies the error message position for questions within detail sections.
45028
45148
  *
45029
45149
  * Possible values:
45030
45150
  *
@@ -45533,10 +45653,10 @@ var QuestionMatrixDropdownModelBase = /** @class */ (function (_super) {
45533
45653
  QuestionMatrixDropdownModelBase.prototype.checkColumnsVisibility = function () {
45534
45654
  var hasChanged = false;
45535
45655
  for (var i = 0; i < this.visibleColumns.length; i++) {
45536
- if (!this.visibleColumns[i].visibleIf)
45656
+ var column = this.visibleColumns[i];
45657
+ if (!column.visibleIf && !column.isFilteredMultipleColumns)
45537
45658
  continue;
45538
- hasChanged =
45539
- this.isColumnVisibilityChanged(this.visibleColumns[i]) || hasChanged;
45659
+ hasChanged = this.isColumnVisibilityChanged(column) || hasChanged;
45540
45660
  }
45541
45661
  if (hasChanged) {
45542
45662
  this.resetRenderedTable();
@@ -45560,20 +45680,43 @@ var QuestionMatrixDropdownModelBase = /** @class */ (function (_super) {
45560
45680
  };
45561
45681
  QuestionMatrixDropdownModelBase.prototype.isColumnVisibilityChanged = function (column) {
45562
45682
  var curVis = column.hasVisibleCell;
45683
+ var isMultipleColumnsVisibility = column.isFilteredMultipleColumns;
45684
+ var curVisibleChoices = isMultipleColumnsVisibility ? column.getVisibleChoicesInCell : [];
45685
+ var newVisibleChoices = new Array();
45563
45686
  var hasVisCell = false;
45564
45687
  var rows = this.generatedVisibleRows;
45565
45688
  for (var i = 0; i < rows.length; i++) {
45566
45689
  var cell = rows[i].cells[column.index];
45567
- if (!!cell && !!cell.question && cell.question.isVisible) {
45690
+ var q = cell === null || cell === void 0 ? void 0 : cell.question;
45691
+ if (!!q && q.isVisible) {
45568
45692
  hasVisCell = true;
45569
- break;
45693
+ if (isMultipleColumnsVisibility) {
45694
+ this.updateNewVisibleChoices(q, newVisibleChoices);
45695
+ }
45696
+ else
45697
+ break;
45570
45698
  }
45571
45699
  }
45572
45700
  if (curVis != hasVisCell) {
45573
45701
  column.hasVisibleCell = hasVisCell;
45574
45702
  }
45703
+ if (isMultipleColumnsVisibility) {
45704
+ column.setVisibleChoicesInCell(newVisibleChoices);
45705
+ if (!_helpers__WEBPACK_IMPORTED_MODULE_2__["Helpers"].isArraysEqual(curVisibleChoices, newVisibleChoices, true, false, false))
45706
+ return true;
45707
+ }
45575
45708
  return curVis != hasVisCell;
45576
45709
  };
45710
+ QuestionMatrixDropdownModelBase.prototype.updateNewVisibleChoices = function (q, dest) {
45711
+ var choices = q.visibleChoices;
45712
+ if (!Array.isArray(choices))
45713
+ return;
45714
+ for (var i = 0; i < choices.length; i++) {
45715
+ var ch = choices[i];
45716
+ if (dest.indexOf(ch.value) < 0)
45717
+ dest.push(ch.value);
45718
+ }
45719
+ };
45577
45720
  QuestionMatrixDropdownModelBase.prototype.runTotalsCondition = function (values, properties) {
45578
45721
  if (!this.generatedTotalRow)
45579
45722
  return;
@@ -45913,9 +46056,7 @@ var QuestionMatrixDropdownModelBase = /** @class */ (function (_super) {
45913
46056
  };
45914
46057
  QuestionMatrixDropdownModelBase.prototype.getPlainData = function (options) {
45915
46058
  var _this = this;
45916
- if (options === void 0) { options = {
45917
- includeEmpty: true,
45918
- }; }
46059
+ if (options === void 0) { options = { includeEmpty: true }; }
45919
46060
  var questionPlainData = _super.prototype.getPlainData.call(this, options);
45920
46061
  if (!!questionPlainData) {
45921
46062
  questionPlainData.isNode = true;
@@ -46819,6 +46960,49 @@ var MatrixDropdownColumn = /** @class */ (function (_super) {
46819
46960
  enumerable: false,
46820
46961
  configurable: true
46821
46962
  });
46963
+ MatrixDropdownColumn.prototype.getVisibleMultipleChoices = function () {
46964
+ var choices = this.templateQuestion.visibleChoices;
46965
+ if (!Array.isArray(choices))
46966
+ return [];
46967
+ if (!Array.isArray(this._visiblechoices))
46968
+ return choices;
46969
+ var res = new Array();
46970
+ for (var i = 0; i < choices.length; i++) {
46971
+ var item = choices[i];
46972
+ if (this._visiblechoices.indexOf(item.value) > -1)
46973
+ res.push(item);
46974
+ }
46975
+ return res;
46976
+ };
46977
+ Object.defineProperty(MatrixDropdownColumn.prototype, "getVisibleChoicesInCell", {
46978
+ get: function () {
46979
+ if (Array.isArray(this._visiblechoices))
46980
+ return this._visiblechoices;
46981
+ var res = this.templateQuestion.visibleChoices;
46982
+ return Array.isArray(res) ? res : [];
46983
+ },
46984
+ enumerable: false,
46985
+ configurable: true
46986
+ });
46987
+ MatrixDropdownColumn.prototype.setVisibleChoicesInCell = function (val) {
46988
+ this._visiblechoices = val;
46989
+ };
46990
+ Object.defineProperty(MatrixDropdownColumn.prototype, "isFilteredMultipleColumns", {
46991
+ get: function () {
46992
+ if (!this.showInMultipleColumns)
46993
+ return false;
46994
+ var choices = this.templateQuestion.choices;
46995
+ if (!Array.isArray(choices))
46996
+ return false;
46997
+ for (var i = 0; i < choices.length; i++) {
46998
+ if (choices[i].visibleIf)
46999
+ return true;
47000
+ }
47001
+ return false;
47002
+ },
47003
+ enumerable: false,
47004
+ configurable: true
47005
+ });
46822
47006
  Object.defineProperty(MatrixDropdownColumn.prototype, "name", {
46823
47007
  get: function () {
46824
47008
  return this.templateQuestion.name;
@@ -47644,6 +47828,11 @@ var QuestionMatrixDropdownRenderedCell = /** @class */ (function () {
47644
47828
  .append(matrixCssClasses.choiceCell, this.isChoice)
47645
47829
  .toString();
47646
47830
  };
47831
+ QuestionMatrixDropdownRenderedCell.prototype.focusIn = function () {
47832
+ if (this.question) {
47833
+ this.question.focusIn();
47834
+ }
47835
+ };
47647
47836
  QuestionMatrixDropdownRenderedCell.counter = 1;
47648
47837
  return QuestionMatrixDropdownRenderedCell;
47649
47838
  }());
@@ -48181,6 +48370,7 @@ var QuestionMatrixDropdownRenderedTable = /** @class */ (function (_super) {
48181
48370
  actions.push(new _actions_action__WEBPACK_IMPORTED_MODULE_3__["Action"]({
48182
48371
  id: "remove-row",
48183
48372
  iconName: "icon-delete",
48373
+ iconSize: "auto",
48184
48374
  component: "sv-action-bar-item",
48185
48375
  innerCss: new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_5__["CssClassBuilder"]().append(this.matrix.cssClasses.button).append(this.matrix.cssClasses.buttonRemove).toString(),
48186
48376
  location: "end",
@@ -48479,7 +48669,7 @@ var QuestionMatrixDropdownRenderedTable = /** @class */ (function (_super) {
48479
48669
  var choices = column.templateQuestion.choices;
48480
48670
  if (!!choices && Array.isArray(choices) && choices.length == 0)
48481
48671
  return this.matrix.choices;
48482
- choices = column.templateQuestion.visibleChoices;
48672
+ choices = column.getVisibleMultipleChoices();
48483
48673
  if (!choices || !Array.isArray(choices))
48484
48674
  return null;
48485
48675
  return choices;
@@ -49821,6 +50011,9 @@ var MultipleTextItemModel = /** @class */ (function (_super) {
49821
50011
  this.editor.setParentQuestion(data);
49822
50012
  }
49823
50013
  };
50014
+ MultipleTextItemModel.prototype.focusIn = function () {
50015
+ this.editor.focusIn();
50016
+ };
49824
50017
  Object.defineProperty(MultipleTextItemModel.prototype, "isRequired", {
49825
50018
  /**
49826
50019
  * Set this property to true, to make the item a required. If a user doesn't fill the item then a validation error will be generated.
@@ -50113,9 +50306,12 @@ var QuestionMultipleTextModel = /** @class */ (function (_super) {
50113
50306
  configurable: true
50114
50307
  });
50115
50308
  Object.defineProperty(QuestionMultipleTextModel.prototype, "hasSingleInput", {
50116
- get: function () {
50117
- return false;
50118
- },
50309
+ get: function () { return false; },
50310
+ enumerable: false,
50311
+ configurable: true
50312
+ });
50313
+ Object.defineProperty(QuestionMultipleTextModel.prototype, "isContainer", {
50314
+ get: function () { return true; },
50119
50315
  enumerable: false,
50120
50316
  configurable: true
50121
50317
  });
@@ -50277,7 +50473,7 @@ var QuestionMultipleTextModel = /** @class */ (function (_super) {
50277
50473
  return this.getQuestionErrorLocation();
50278
50474
  };
50279
50475
  QuestionMultipleTextModel.prototype.isNewValueCorrect = function (val) {
50280
- return _helpers__WEBPACK_IMPORTED_MODULE_6__["Helpers"].isValueObject(val);
50476
+ return _helpers__WEBPACK_IMPORTED_MODULE_6__["Helpers"].isValueObject(val, true);
50281
50477
  };
50282
50478
  QuestionMultipleTextModel.prototype.supportGoNextPageAutomatic = function () {
50283
50479
  for (var i = 0; i < this.items.length; i++) {
@@ -50876,10 +51072,18 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
50876
51072
  _this.registerPropertyChangedHandlers(["allowAddPanel"], function () { _this.updateNoEntriesTextDefaultLoc(); });
50877
51073
  return _this;
50878
51074
  }
51075
+ Object.defineProperty(QuestionPanelDynamicModel.prototype, "isCompositeQuestion", {
51076
+ get: function () { return true; },
51077
+ enumerable: false,
51078
+ configurable: true
51079
+ });
50879
51080
  Object.defineProperty(QuestionPanelDynamicModel.prototype, "hasSingleInput", {
50880
- get: function () {
50881
- return false;
50882
- },
51081
+ get: function () { return false; },
51082
+ enumerable: false,
51083
+ configurable: true
51084
+ });
51085
+ Object.defineProperty(QuestionPanelDynamicModel.prototype, "isContainer", {
51086
+ get: function () { return true; },
50883
51087
  enumerable: false,
50884
51088
  configurable: true
50885
51089
  });
@@ -50940,13 +51144,6 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
50940
51144
  QuestionPanelDynamicModel.prototype.getType = function () {
50941
51145
  return "paneldynamic";
50942
51146
  };
50943
- Object.defineProperty(QuestionPanelDynamicModel.prototype, "isCompositeQuestion", {
50944
- get: function () {
50945
- return true;
50946
- },
50947
- enumerable: false,
50948
- configurable: true
50949
- });
50950
51147
  QuestionPanelDynamicModel.prototype.clearOnDeletingContainer = function () {
50951
51148
  this.panels.forEach(function (panel) {
50952
51149
  panel.clearOnDeletingContainer();
@@ -52366,12 +52563,16 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
52366
52563
  cachedValues[QuestionPanelDynamicItem.ParentItemVariableName] = this.parent.getValue();
52367
52564
  }
52368
52565
  for (var i = 0; i < this.panels.length; i++) {
52369
- var panelValues = this.getPanelItemData(this.panels[i].data);
52566
+ var panel = this.panels[i];
52567
+ var panelValues = this.getPanelItemData(panel.data);
52370
52568
  //Should be unique for every panel due async expression support
52371
52569
  var newValues = _helpers__WEBPACK_IMPORTED_MODULE_0__["Helpers"].createCopy(cachedValues);
52372
- newValues[QuestionPanelDynamicItem.ItemVariableName.toLowerCase()] = panelValues;
52570
+ var panelName = QuestionPanelDynamicItem.ItemVariableName;
52571
+ newValues[panelName] = panelValues;
52373
52572
  newValues[QuestionPanelDynamicItem.IndexVariableName.toLowerCase()] = i;
52374
- this.panels[i].runCondition(newValues, properties);
52573
+ var newProps = _helpers__WEBPACK_IMPORTED_MODULE_0__["Helpers"].createCopy(properties);
52574
+ newProps[panelName] = panel;
52575
+ panel.runCondition(newValues, newProps);
52375
52576
  }
52376
52577
  };
52377
52578
  QuestionPanelDynamicModel.prototype.onAnyValueChanged = function (name) {
@@ -52807,9 +53008,7 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
52807
53008
  return this.data;
52808
53009
  };
52809
53010
  QuestionPanelDynamicModel.prototype.getPlainData = function (options) {
52810
- if (options === void 0) { options = {
52811
- includeEmpty: true,
52812
- }; }
53011
+ if (options === void 0) { options = { includeEmpty: true }; }
52813
53012
  var questionPlainData = _super.prototype.getPlainData.call(this, options);
52814
53013
  if (!!questionPlainData) {
52815
53014
  questionPlainData.isNode = true;
@@ -54341,6 +54540,8 @@ var QuestionRatingModel = /** @class */ (function (_super) {
54341
54540
  this.colorsCalculated = true;
54342
54541
  };
54343
54542
  QuestionRatingModel.prototype.getDisplayValueCore = function (keysAsText, value) {
54543
+ if (!this.useRateValues)
54544
+ return _super.prototype.getDisplayValueCore.call(this, keysAsText, value);
54344
54545
  var res = _itemvalue__WEBPACK_IMPORTED_MODULE_0__["ItemValue"].getTextOrHtmlByValue(this.visibleRateValues, value);
54345
54546
  return !!res ? res : value;
54346
54547
  };
@@ -54418,6 +54619,13 @@ var QuestionRatingModel = /** @class */ (function (_super) {
54418
54619
  QuestionRatingModel.prototype.supportOther = function () {
54419
54620
  return false;
54420
54621
  };
54622
+ QuestionRatingModel.prototype.getPlainDataCalculatedValue = function (propName) {
54623
+ var res = _super.prototype.getPlainDataCalculatedValue.call(this, propName);
54624
+ if (res !== undefined || !this.useRateValues || this.isEmpty())
54625
+ return res;
54626
+ var item = _itemvalue__WEBPACK_IMPORTED_MODULE_0__["ItemValue"].getItemByValue(this.visibleRateValues, this.value);
54627
+ return item ? item[propName] : undefined;
54628
+ };
54421
54629
  Object.defineProperty(QuestionRatingModel.prototype, "minRateDescription", {
54422
54630
  /**
54423
54631
  * Specifies a description for the minimum (first) rate value.
@@ -55124,7 +55332,8 @@ var QuestionSignaturePadModel = /** @class */ (function (_super) {
55124
55332
  signaturePad.penColor = this.penColor || penColorFromTheme || penColorProperty.defaultValue || "#1ab394";
55125
55333
  var backgroundColorProperty = this.getPropertyByName("backgroundColor");
55126
55334
  var backgroundColorFromTheme = penColorFromTheme ? "transparent" : undefined;
55127
- signaturePad.backgroundColor = this.backgroundColor || backgroundColorFromTheme || backgroundColorProperty.defaultValue || "#ffffff";
55335
+ var background = !!this.backgroundImage ? "transparent" : this.backgroundColor;
55336
+ signaturePad.backgroundColor = background || backgroundColorFromTheme || backgroundColorProperty.defaultValue || "#ffffff";
55128
55337
  };
55129
55338
  QuestionSignaturePadModel.prototype.getCssRoot = function (cssClasses) {
55130
55339
  return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_4__["CssClassBuilder"]()
@@ -55300,7 +55509,13 @@ var QuestionSignaturePadModel = /** @class */ (function (_super) {
55300
55509
  });
55301
55510
  Object.defineProperty(QuestionSignaturePadModel.prototype, "penColor", {
55302
55511
  /**
55303
- * Specifies a color for the pen. Accepts hexadecimal colors (`"#FF0000"`), RGB colors (`"rgb(255,0,0)"`), or color names (`"red"`).
55512
+ * Specifies a color for the pen.
55513
+ *
55514
+ * This property accepts color values in the following formats:
55515
+ *
55516
+ * - Hexadecimal colors (`"#FF0000"`)
55517
+ * - RGB colors (`"rgb(255,0,0)"`)
55518
+ * - Color names (`"red"`)
55304
55519
  * @see backgroundColor
55305
55520
  */
55306
55521
  get: function () {
@@ -55308,13 +55523,20 @@ var QuestionSignaturePadModel = /** @class */ (function (_super) {
55308
55523
  },
55309
55524
  set: function (val) {
55310
55525
  this.setPropertyValue("penColor", val);
55526
+ !!this.signaturePad && this.updateColors(this.signaturePad);
55311
55527
  },
55312
55528
  enumerable: false,
55313
55529
  configurable: true
55314
55530
  });
55315
55531
  Object.defineProperty(QuestionSignaturePadModel.prototype, "backgroundColor", {
55316
55532
  /**
55317
- * Specifies a color for the signature area background. Accepts hexadecimal colors (`"#FF0000"`), RGB colors (`"rgb(255,0,0)"`), or color names (`"red"`).
55533
+ * Specifies a color for the signature area background. Ignored if [`backgroundImage`](#backgroundImage) is set.
55534
+ *
55535
+ * This property accepts color values in the following formats:
55536
+ *
55537
+ * - Hexadecimal colors (`"#FF0000"`)
55538
+ * - RGB colors (`"rgb(255,0,0)"`)
55539
+ * - Color names (`"red"`)
55318
55540
  * @see penColor
55319
55541
  */
55320
55542
  get: function () {
@@ -55322,6 +55544,22 @@ var QuestionSignaturePadModel = /** @class */ (function (_super) {
55322
55544
  },
55323
55545
  set: function (val) {
55324
55546
  this.setPropertyValue("backgroundColor", val);
55547
+ !!this.signaturePad && this.updateColors(this.signaturePad);
55548
+ },
55549
+ enumerable: false,
55550
+ configurable: true
55551
+ });
55552
+ Object.defineProperty(QuestionSignaturePadModel.prototype, "backgroundImage", {
55553
+ /**
55554
+ * An image to display in the background of the signature area. Accepts a base64 or URL string value.
55555
+ * @see backgroundColor
55556
+ */
55557
+ get: function () {
55558
+ return this.getPropertyValue("backgroundImage");
55559
+ },
55560
+ set: function (val) {
55561
+ this.setPropertyValue("backgroundImage", val);
55562
+ !!this.signaturePad && this.updateColors(this.signaturePad);
55325
55563
  },
55326
55564
  enumerable: false,
55327
55565
  configurable: true
@@ -55393,6 +55631,10 @@ _jsonobject__WEBPACK_IMPORTED_MODULE_0__["Serializer"].addClass("signaturepad",
55393
55631
  category: "general",
55394
55632
  default: true,
55395
55633
  },
55634
+ {
55635
+ name: "backgroundImage",
55636
+ category: "general",
55637
+ },
55396
55638
  {
55397
55639
  name: "penColor:color",
55398
55640
  category: "general",
@@ -55780,9 +56022,7 @@ var QuestionTextModel = /** @class */ (function (_super) {
55780
56022
  if (_this.isInputTextUpdate) {
55781
56023
  _this._isWaitingForEnter = event.keyCode === 229;
55782
56024
  }
55783
- if (event.keyCode === 13) {
55784
- _this.survey.questionEditFinishCallback(_this, event);
55785
- }
56025
+ _this.onTextKeyDownHandler(event);
55786
56026
  };
55787
56027
  _this.onChange = function (event) {
55788
56028
  if (event.target === _settings__WEBPACK_IMPORTED_MODULE_6__["settings"].environment.root.activeElement) {
@@ -56237,7 +56477,7 @@ var QuestionTextModel = /** @class */ (function (_super) {
56237
56477
  }
56238
56478
  return newValue;
56239
56479
  };
56240
- QuestionTextModel.prototype.hasPlaceHolder = function () {
56480
+ QuestionTextModel.prototype.hasPlaceholder = function () {
56241
56481
  return !this.isReadOnly && this.inputType !== "range";
56242
56482
  };
56243
56483
  QuestionTextModel.prototype.isReadOnlyRenderDiv = function () {
@@ -56638,12 +56878,12 @@ var QuestionTextBase = /** @class */ (function (_super) {
56638
56878
  };
56639
56879
  QuestionTextBase.prototype.calcRenderedPlaceholder = function () {
56640
56880
  var res = this.placeHolder;
56641
- if (!!res && !this.hasPlaceHolder()) {
56881
+ if (!!res && !this.hasPlaceholder()) {
56642
56882
  res = undefined;
56643
56883
  }
56644
56884
  this.setRenderedPlaceholder(res);
56645
56885
  };
56646
- QuestionTextBase.prototype.hasPlaceHolder = function () {
56886
+ QuestionTextBase.prototype.hasPlaceholder = function () {
56647
56887
  return !this.isReadOnly;
56648
56888
  };
56649
56889
  QuestionTextBase.prototype.setNewValue = function (newValue) {
@@ -62263,7 +62503,9 @@ var SurveyQuestionAndErrorsCell = /** @class */ (function (_super) {
62263
62503
  };
62264
62504
  SurveyQuestionAndErrorsCell.prototype.renderElement = function () {
62265
62505
  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())))));
62506
+ var cell = this.props.cell;
62507
+ var focusIn = function () { cell.focusIn(); };
62508
+ 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
62509
  };
62268
62510
  SurveyQuestionAndErrorsCell.prototype.getCellStyle = function () {
62269
62511
  return null;
@@ -62766,7 +63008,7 @@ var SurveyQuestionCommentItem = /** @class */ (function (_super) {
62766
63008
  return this.props.question.commentId;
62767
63009
  };
62768
63010
  SurveyQuestionCommentItem.prototype.getPlaceholder = function () {
62769
- return this.props.question.commentPlaceholder;
63011
+ return this.props.question.renderedCommentPlaceholder;
62770
63012
  };
62771
63013
  SurveyQuestionCommentItem.prototype.renderElement = function () {
62772
63014
  var _this = this;
@@ -63565,7 +63807,7 @@ var SurveyQuestionFile = /** @class */ (function (_super) {
63565
63807
  noFileChosen = (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", { className: this.question.cssClasses.noFileChosen }, this.question.noFileChosenCaption));
63566
63808
  }
63567
63809
  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),
63810
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", { className: this.question.cssClasses.dragAreaPlaceholder }, this.question.renderedPlaceholder),
63569
63811
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.question.cssClasses.wrapper },
63570
63812
  chooseFile,
63571
63813
  noFileChosen)));
@@ -64560,10 +64802,15 @@ var SurveyQuestionMultipleText = /** @class */ (function (_super) {
64560
64802
  SurveyQuestionMultipleText.prototype.renderRow = function (rowIndex, items, cssClasses) {
64561
64803
  var key = "item" + rowIndex;
64562
64804
  var tds = [];
64563
- for (var i = 0; i < items.length; i++) {
64805
+ var _loop_1 = function (i) {
64564
64806
  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 })));
64807
+ var focusIn = function () { item.focusIn(); };
64808
+ tds.push(react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("td", { key: "item" + i, className: this_1.question.cssClasses.cell, onFocus: focusIn },
64809
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"](SurveyMultipleTextItem, { question: this_1.question, item: item, creator: this_1.creator, cssClasses: cssClasses })));
64810
+ };
64811
+ var this_1 = this;
64812
+ for (var i = 0; i < items.length; i++) {
64813
+ _loop_1(i);
64567
64814
  }
64568
64815
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("tr", { key: key, className: cssClasses.row }, tds));
64569
64816
  };
@@ -65813,7 +66060,7 @@ var SurveyRow = /** @class */ (function (_super) {
65813
66060
  var css = element.cssClassesValue;
65814
66061
  var focusIn = function () {
65815
66062
  var el = element;
65816
- if (el && !el.isDisposed && el.isQuestion) {
66063
+ if (el && el.isQuestion) {
65817
66064
  el.focusIn();
65818
66065
  }
65819
66066
  };
@@ -65932,9 +66179,15 @@ var SurveyQuestionSignaturePad = /** @class */ (function (_super) {
65932
66179
  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
66180
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: cssClasses.placeholder, style: { display: this.question.needShowPlaceholder() ? "" : "none" } }, this.question.placeHolderText),
65934
66181
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", null,
65935
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("canvas", { tabIndex: 0 })),
66182
+ this.renderBackgroundImage(),
66183
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("canvas", { tabIndex: 0, className: this.question.cssClasses.canvas })),
65936
66184
  clearButton));
65937
66185
  };
66186
+ SurveyQuestionSignaturePad.prototype.renderBackgroundImage = function () {
66187
+ if (!this.question.backgroundImage)
66188
+ return null;
66189
+ 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 });
66190
+ };
65938
66191
  SurveyQuestionSignaturePad.prototype.renderCleanButton = function () {
65939
66192
  var _this = this;
65940
66193
  if (!this.question.canShowClearButton)
@@ -67711,14 +67964,14 @@ var SurveyElement = /** @class */ (function (_super) {
67711
67964
  }
67712
67965
  return info;
67713
67966
  };
67714
- SurveyElement.ScrollElementToTop = function (elementId) {
67967
+ SurveyElement.ScrollElementToTop = function (elementId, scrollIfVisible) {
67715
67968
  var root = _settings__WEBPACK_IMPORTED_MODULE_4__["settings"].environment.root;
67716
67969
  if (!elementId || typeof root === "undefined")
67717
67970
  return false;
67718
67971
  var el = root.getElementById(elementId);
67719
67972
  if (!el || !el.scrollIntoView)
67720
67973
  return false;
67721
- var elemTop = el.getBoundingClientRect().top;
67974
+ var elemTop = scrollIfVisible ? -1 : el.getBoundingClientRect().top;
67722
67975
  if (elemTop < 0)
67723
67976
  el.scrollIntoView();
67724
67977
  return elemTop < 0;
@@ -68328,7 +68581,7 @@ var SurveyElement = /** @class */ (function (_super) {
68328
68581
  enumerable: false,
68329
68582
  configurable: true
68330
68583
  });
68331
- SurveyElement.prototype.delete = function () { };
68584
+ SurveyElement.prototype.delete = function (doDispose) { };
68332
68585
  /**
68333
68586
  * Returns the survey's [locale](https://surveyjs.io/form-library/documentation/surveymodel#locale).
68334
68587
  *
@@ -69182,7 +69435,8 @@ var SurveyModel = /** @class */ (function (_super) {
69182
69435
  */
69183
69436
  _this.onGetQuestionNo = _this.addEvent();
69184
69437
  /**
69185
- * Use this event to change the progress text in code.
69438
+ * An event that is raised before the survey displays progress text. Handle this event to change the progress text in code.
69439
+ * @see showProgressBar
69186
69440
  * @see progressBarType
69187
69441
  */
69188
69442
  _this.onProgressText = _this.addEvent();
@@ -69759,7 +70013,7 @@ var SurveyModel = /** @class */ (function (_super) {
69759
70013
  *
69760
70014
  * 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
70015
  *
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.
70016
+ * 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
70017
  *
69764
70018
  * [View Demo](https://surveyjs.io/form-library/examples/create-checkboxes-question-in-javascript/ (linkStyle))
69765
70019
  */
@@ -70387,12 +70641,9 @@ var SurveyModel = /** @class */ (function (_super) {
70387
70641
  };
70388
70642
  Object.defineProperty(SurveyModel.prototype, "questionStartIndex", {
70389
70643
  /**
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
70644
+ * Specifies the initial number or letter from which to start question numbering.
70394
70645
  *
70395
- * [View Demo](https://surveyjs.io/form-library/examples/survey-processtext/ (linkStyle))
70646
+ * [Question Numbers](https://surveyjs.io/form-library/documentation/design-survey/configure-question-titles#question-numbers (linkStyle))
70396
70647
  */
70397
70648
  get: function () {
70398
70649
  return this.getPropertyValue("questionStartIndex", "");
@@ -70405,11 +70656,12 @@ var SurveyModel = /** @class */ (function (_super) {
70405
70656
  });
70406
70657
  Object.defineProperty(SurveyModel.prototype, "storeOthersAsComment", {
70407
70658
  /**
70408
- * Gets or sets whether the "Others" option text is stored as question comment.
70659
+ * Specifies whether to store the "Other" option response in a separate property.
70660
+ *
70661
+ * Default value: `true`
70409
70662
  *
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
70663
+ * 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.
70664
+ * @see maxOthersLength
70413
70665
  */
70414
70666
  get: function () {
70415
70667
  return this.getPropertyValue("storeOthersAsComment");
@@ -70422,9 +70674,11 @@ var SurveyModel = /** @class */ (function (_super) {
70422
70674
  });
70423
70675
  Object.defineProperty(SurveyModel.prototype, "maxTextLength", {
70424
70676
  /**
70425
- * Specifies the default maximum length for questions like text and comment, including matrix cell questions.
70677
+ * 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.
70678
+ *
70679
+ * Default value: 0 (unlimited)
70426
70680
  *
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.
70681
+ * 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
70682
  * @see maxOthersLength
70429
70683
  */
70430
70684
  get: function () {
@@ -70438,11 +70692,9 @@ var SurveyModel = /** @class */ (function (_super) {
70438
70692
  });
70439
70693
  Object.defineProperty(SurveyModel.prototype, "maxOthersLength", {
70440
70694
  /**
70441
- * Gets or sets the default maximum length for question comments and others
70695
+ * 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
70696
  *
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
70697
+ * Default value: 0 (unlimited)
70446
70698
  * @see maxTextLength
70447
70699
  */
70448
70700
  get: function () {
@@ -71554,9 +71806,9 @@ var SurveyModel = /** @class */ (function (_super) {
71554
71806
  };
71555
71807
  Object.defineProperty(SurveyModel.prototype, "showPageNumbers", {
71556
71808
  /**
71557
- * Gets or sets whether the survey displays page numbers on pages titles.
71809
+ * Specifies whether page titles contain page numbers.
71558
71810
  *
71559
- * [View Demo](https://surveyjs.io/form-library/examples/survey-options/ (linkStyle))
71811
+ * [View Demo](https://surveyjs.io/form-library/examples/how-to-number-pages-and-questions/ (linkStyle))
71560
71812
  */
71561
71813
  get: function () {
71562
71814
  return this.getPropertyValue("showPageNumbers");
@@ -71744,12 +71996,15 @@ var SurveyModel = /** @class */ (function (_super) {
71744
71996
  });
71745
71997
  Object.defineProperty(SurveyModel.prototype, "questionDescriptionLocation", {
71746
71998
  /**
71747
- * Gets or sets the question description position. The default value is `underTitle`.
71999
+ * Specifies where to display question descriptions.
71748
72000
  *
71749
- * The following options are available:
72001
+ * Possible values:
72002
+ *
72003
+ * - `"underTitle"` (default) - Displays descriptions under question titles.
72004
+ * - `"underInput"` - Displays descriptions under the interactive area.
72005
+ *
72006
+ * 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
72007
  *
71751
- * - `underTitle` - show question description under the question title,
71752
- * - `underInput` - show question description under the question input instead of question title.
71753
72008
  */
71754
72009
  get: function () {
71755
72010
  return this.getPropertyValue("questionDescriptionLocation");
@@ -74300,7 +74555,7 @@ var SurveyModel = /** @class */ (function (_super) {
74300
74555
  this.onGetMatrixRowActions.fire(this, options);
74301
74556
  return options.actions;
74302
74557
  };
74303
- SurveyModel.prototype.scrollElementToTop = function (element, question, page, id) {
74558
+ SurveyModel.prototype.scrollElementToTop = function (element, question, page, id, scrollIfVisible) {
74304
74559
  var options = {
74305
74560
  element: element,
74306
74561
  question: question,
@@ -74310,7 +74565,7 @@ var SurveyModel = /** @class */ (function (_super) {
74310
74565
  };
74311
74566
  this.onScrollingElementToTop.fire(this, options);
74312
74567
  if (!options.cancel) {
74313
- _survey_element__WEBPACK_IMPORTED_MODULE_3__["SurveyElement"].ScrollElementToTop(options.elementId);
74568
+ _survey_element__WEBPACK_IMPORTED_MODULE_3__["SurveyElement"].ScrollElementToTop(options.elementId, scrollIfVisible);
74314
74569
  }
74315
74570
  };
74316
74571
  /**
@@ -74882,7 +75137,7 @@ var SurveyModel = /** @class */ (function (_super) {
74882
75137
  }
74883
75138
  return result;
74884
75139
  };
74885
- SurveyModel.prototype.checkTriggers = function (key, isOnNextPage, isOnComplete) {
75140
+ SurveyModel.prototype.checkTriggers = function (key, isOnNextPage, isOnComplete, name) {
74886
75141
  if (isOnComplete === void 0) { isOnComplete = false; }
74887
75142
  if (this.isCompleted || this.triggers.length == 0 || this.isDisplayMode)
74888
75143
  return;
@@ -74893,19 +75148,38 @@ var SurveyModel = /** @class */ (function (_super) {
74893
75148
  }
74894
75149
  return;
74895
75150
  }
75151
+ var isQuestionInvalid = false;
75152
+ if (!isOnComplete && name && this.hasRequiredValidQuestionTrigger) {
75153
+ var question = this.getQuestionByValueName(name);
75154
+ isQuestionInvalid = question && !question.validate(false);
75155
+ }
74896
75156
  this.isTriggerIsRunning = true;
74897
75157
  this.triggerKeys = key;
74898
75158
  this.triggerValues = this.getFilteredValues();
74899
75159
  var properties = this.getFilteredProperties();
74900
75160
  var prevCanBeCompleted = this.canBeCompletedByTrigger;
74901
75161
  for (var i = 0; i < this.triggers.length; i++) {
74902
- this.triggers[i].checkExpression(isOnNextPage, isOnComplete, this.triggerKeys, this.triggerValues, properties);
75162
+ var trigger = this.triggers[i];
75163
+ if (isQuestionInvalid && trigger.requireValidQuestion)
75164
+ continue;
75165
+ trigger.checkExpression(isOnNextPage, isOnComplete, this.triggerKeys, this.triggerValues, properties);
74903
75166
  }
74904
75167
  if (prevCanBeCompleted !== this.canBeCompletedByTrigger) {
74905
75168
  this.updateButtonsVisibility();
74906
75169
  }
74907
75170
  this.isTriggerIsRunning = false;
74908
75171
  };
75172
+ Object.defineProperty(SurveyModel.prototype, "hasRequiredValidQuestionTrigger", {
75173
+ get: function () {
75174
+ for (var i = 0; i < this.triggers.length; i++) {
75175
+ if (this.triggers[i].requireValidQuestion)
75176
+ return true;
75177
+ }
75178
+ return false;
75179
+ },
75180
+ enumerable: false,
75181
+ configurable: true
75182
+ });
74909
75183
  SurveyModel.prototype.doElementsOnLoad = function () {
74910
75184
  for (var i = 0; i < this.pages.length; i++) {
74911
75185
  this.pages[i].onSurveyLoad();
@@ -75502,7 +75776,7 @@ var SurveyModel = /** @class */ (function (_super) {
75502
75776
  var triggerKeys = {};
75503
75777
  triggerKeys[name] = { newValue: newValue, oldValue: oldValue };
75504
75778
  this.runConditionOnValueChanged(name, newValue);
75505
- this.checkTriggers(triggerKeys, false);
75779
+ this.checkTriggers(triggerKeys, false, false, name);
75506
75780
  if (allowNotifyValueChanged)
75507
75781
  this.notifyQuestionOnValueChanged(name, newValue);
75508
75782
  if (locNotification !== "text") {
@@ -78050,6 +78324,11 @@ var Trigger = /** @class */ (function (_super) {
78050
78324
  this.onFailure();
78051
78325
  }
78052
78326
  };
78327
+ Object.defineProperty(Trigger.prototype, "requireValidQuestion", {
78328
+ get: function () { return false; },
78329
+ enumerable: false,
78330
+ configurable: true
78331
+ });
78053
78332
  Trigger.prototype.perform = function (values, properties) {
78054
78333
  var _this = this;
78055
78334
  this.conditionRunner.onRunComplete = function (res) {
@@ -78236,6 +78515,11 @@ var SurveyTriggerComplete = /** @class */ (function (_super) {
78236
78515
  SurveyTriggerComplete.prototype.getType = function () {
78237
78516
  return "completetrigger";
78238
78517
  };
78518
+ Object.defineProperty(SurveyTriggerComplete.prototype, "requireValidQuestion", {
78519
+ get: function () { return true; },
78520
+ enumerable: false,
78521
+ configurable: true
78522
+ });
78239
78523
  SurveyTriggerComplete.prototype.isRealExecution = function () {
78240
78524
  return !_settings__WEBPACK_IMPORTED_MODULE_6__["settings"].triggers.executeCompleteOnValueChanged === this.isExecutingOnNextPage;
78241
78525
  };
@@ -78327,6 +78611,11 @@ var SurveyTriggerSkip = /** @class */ (function (_super) {
78327
78611
  SurveyTriggerSkip.prototype.getType = function () {
78328
78612
  return "skiptrigger";
78329
78613
  };
78614
+ Object.defineProperty(SurveyTriggerSkip.prototype, "requireValidQuestion", {
78615
+ get: function () { return this.canBeExecuted(false); },
78616
+ enumerable: false,
78617
+ configurable: true
78618
+ });
78330
78619
  Object.defineProperty(SurveyTriggerSkip.prototype, "gotoName", {
78331
78620
  get: function () {
78332
78621
  return this.getPropertyValue("gotoName", "");