survey-react 1.9.87 → 1.9.89

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.87
2
+ * surveyjs - Survey JavaScript library v1.9.89
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
  */
@@ -5840,7 +5840,7 @@ var defaultV2Css = {
5840
5840
  },
5841
5841
  boolean: {
5842
5842
  mainRoot: "sd-element sd-question sd-row__question sd-question--boolean",
5843
- root: "sv_qcbc sv_qbln sd-scrollable-container",
5843
+ root: "sv_qcbc sv_qbln sd-scrollable-container sd-boolean-root",
5844
5844
  rootRadio: "sv_qcbc sv_qbln sd-scrollable-container sd-scrollable-container--compact",
5845
5845
  item: "sd-boolean",
5846
5846
  itemOnError: "sd-boolean--error",
@@ -6797,7 +6797,7 @@ var DragDropChoices = /** @class */ (function (_super) {
6797
6797
  };
6798
6798
  DragDropChoices.prototype.createImagePickerShortcut = function (item, text, draggedElementNode, event) {
6799
6799
  var draggedElementShortcut = document.createElement("div");
6800
- draggedElementShortcut.style.cssText = " \n cursor: grabbing;\n position: absolute;\n z-index: 1000;\n filter: drop-shadow(0px 2px 6px rgba(0, 0, 0, 0.1));\n box-shadow: 0px 8px 16px rgba(0, 0, 0, 0.1);\n padding: 4px;\n border-radius: 4px;\n background: white;\n ";
6800
+ draggedElementShortcut.style.cssText = " \n cursor: grabbing;\n position: absolute;\n z-index: 1000;\n box-shadow: 0px 8px 16px rgba(0, 0, 0, 0.1), 0px 2px 6px rgba(0, 0, 0, 0.1);\n padding: 4px;\n border-radius: 4px;\n background: white;\n ";
6801
6801
  var itemValueNode = draggedElementNode.closest("[data-sv-drop-target-item-value]");
6802
6802
  var controlsNode = itemValueNode.querySelector(".svc-image-item-value-controls");
6803
6803
  var imageContainerNode = itemValueNode.querySelector(".sd-imagepicker__image-container");
@@ -7384,7 +7384,7 @@ var DragDropMatrixRows = /** @class */ (function (_super) {
7384
7384
  var row = (draggedElementNode
7385
7385
  .closest("[data-sv-drop-target-matrix-row]"));
7386
7386
  var clone = (row.cloneNode(isDeepClone));
7387
- clone.style.cssText = "\n filter: drop-shadow(0px 2px 6px rgba(0, 0, 0, 0.1));\n box-shadow: rgb(0 0 0 / 10%) 0px 8px 16px;\n background-color: white;\n display: flex;\n flex-grow: 0;\n flex-shrink: 0;\n align-items: center;\n line-height: 0;\n width: " + row.offsetWidth + "px;\n ";
7387
+ clone.style.cssText = "\n box-shadow: 0px 8px 16px rgba(0, 0, 0, 0.1), 0px 2px 6px rgba(0, 0, 0, 0.1);\n background-color: white;\n display: flex;\n flex-grow: 0;\n flex-shrink: 0;\n align-items: center;\n line-height: 0;\n width: " + row.offsetWidth + "px;\n ";
7388
7388
  clone.classList.remove("sv-matrix__drag-drop--moveup");
7389
7389
  clone.classList.remove("sv-matrix__drag-drop--movedown");
7390
7390
  this.draggedElement.isDragDropMoveDown = false;
@@ -7551,7 +7551,7 @@ var DragDropRankingChoices = /** @class */ (function (_super) {
7551
7551
  DragDropRankingChoices.prototype.createDraggedElementShortcut = function (text, draggedElementNode, event) {
7552
7552
  var draggedElementShortcut = document.createElement("div");
7553
7553
  draggedElementShortcut.className = this.shortcutClass + " sv-ranking-shortcut";
7554
- draggedElementShortcut.style.cssText = " \n cursor: grabbing;\n position: absolute;\n z-index: 1000;\n border-radius: 36px;\n min-width: 100px;\n filter: drop-shadow(0px 2px 6px rgba(0, 0, 0, 0.1));\n box-shadow: 0px 8px 16px rgba(0, 0, 0, 0.1);\n background-color: var(--background, white);\n font-family: var(--font-family, $font-family);\n ";
7554
+ draggedElementShortcut.style.cssText = " \n cursor: grabbing;\n position: absolute;\n z-index: 1000;\n border-radius: 36px;\n min-width: 100px;\n box-shadow: 0px 8px 16px rgba(0, 0, 0, 0.1), 0px 2px 6px rgba(0, 0, 0, 0.1);\n background-color: var(--background, white);\n font-family: var(--font-family, $font-family);\n ";
7555
7555
  var isDeepClone = true;
7556
7556
  var clone = draggedElementNode.cloneNode(isDeepClone);
7557
7557
  draggedElementShortcut.appendChild(clone);
@@ -9215,7 +9215,7 @@ __webpack_require__.r(__webpack_exports__);
9215
9215
  /*!*************************************!*\
9216
9216
  !*** ./src/entries/chunks/model.ts ***!
9217
9217
  \*************************************/
9218
- /*! exports provided: Version, checkLibraryVersion, 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, 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, createTOCListModel, getTocRootCss, 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, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, sanitizeEditableContent, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropSurveyElements, DragDropChoices */
9218
+ /*! exports provided: Version, checkLibraryVersion, 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, createTOCListModel, getTocRootCss, 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, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, sanitizeEditableContent, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropSurveyElements, DragDropChoices */
9219
9219
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
9220
9220
 
9221
9221
  "use strict";
@@ -9404,6 +9404,8 @@ __webpack_require__.r(__webpack_exports__);
9404
9404
 
9405
9405
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "QuestionMultipleTextModel", function() { return _question_multipletext__WEBPACK_IMPORTED_MODULE_25__["QuestionMultipleTextModel"]; });
9406
9406
 
9407
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MultipleTextEditorModel", function() { return _question_multipletext__WEBPACK_IMPORTED_MODULE_25__["MultipleTextEditorModel"]; });
9408
+
9407
9409
  /* harmony import */ var _panel__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ../../panel */ "./src/panel.ts");
9408
9410
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "PanelModel", function() { return _panel__WEBPACK_IMPORTED_MODULE_26__["PanelModel"]; });
9409
9411
 
@@ -9659,7 +9661,7 @@ __webpack_require__.r(__webpack_exports__);
9659
9661
  // import "../../main.scss";
9660
9662
  //import "../../modern.scss";
9661
9663
  var Version;
9662
- Version = "" + "1.9.87";
9664
+ Version = "" + "1.9.89";
9663
9665
  function checkLibraryVersion(ver, libraryName) {
9664
9666
  if (Version != ver) {
9665
9667
  var str = "survey-core has version '" + Version + "' and " + libraryName
@@ -9764,7 +9766,7 @@ function checkLibraryVersion(ver, libraryName) {
9764
9766
  /*!**************************************!*\
9765
9767
  !*** ./src/entries/core-wo-model.ts ***!
9766
9768
  \**************************************/
9767
- /*! exports provided: Version, checkLibraryVersion, 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, 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, createTOCListModel, getTocRootCss, 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, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, sanitizeEditableContent, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropSurveyElements, DragDropChoices, defaultStandardCss, modernCss, SvgIconRegistry, SvgRegistry, SvgBundleViewModel, RendererFactory, ResponsivityManager, VerticalResponsivityManager, unwrap, getOriginalEvent, getElement, createDropdownActionModel, createDropdownActionModelAdvanced, BaseAction, Action, ActionDropdownViewModel, AdaptiveActionContainer, defaultActionBarCss, ActionContainer, TooltipManager, DragOrClickHelper */
9769
+ /*! exports provided: Version, checkLibraryVersion, 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, createTOCListModel, getTocRootCss, 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, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, sanitizeEditableContent, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropSurveyElements, DragDropChoices, defaultStandardCss, modernCss, SvgIconRegistry, SvgRegistry, SvgBundleViewModel, RendererFactory, ResponsivityManager, VerticalResponsivityManager, unwrap, getOriginalEvent, getElement, createDropdownActionModel, createDropdownActionModelAdvanced, BaseAction, Action, ActionDropdownViewModel, AdaptiveActionContainer, defaultActionBarCss, ActionContainer, TooltipManager, DragOrClickHelper */
9768
9770
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
9769
9771
 
9770
9772
  "use strict";
@@ -9930,6 +9932,8 @@ __webpack_require__.r(__webpack_exports__);
9930
9932
 
9931
9933
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "QuestionMultipleTextModel", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__["QuestionMultipleTextModel"]; });
9932
9934
 
9935
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MultipleTextEditorModel", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__["MultipleTextEditorModel"]; });
9936
+
9933
9937
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "PanelModel", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__["PanelModel"]; });
9934
9938
 
9935
9939
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "PanelModelBase", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__["PanelModelBase"]; });
@@ -10199,7 +10203,7 @@ __webpack_require__.r(__webpack_exports__);
10199
10203
  /*!*****************************!*\
10200
10204
  !*** ./src/entries/core.ts ***!
10201
10205
  \*****************************/
10202
- /*! exports provided: Version, checkLibraryVersion, 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, 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, createTOCListModel, getTocRootCss, 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, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, sanitizeEditableContent, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropSurveyElements, DragDropChoices, defaultStandardCss, modernCss, SvgIconRegistry, SvgRegistry, SvgBundleViewModel, RendererFactory, ResponsivityManager, VerticalResponsivityManager, unwrap, getOriginalEvent, getElement, createDropdownActionModel, createDropdownActionModelAdvanced, BaseAction, Action, ActionDropdownViewModel, AdaptiveActionContainer, defaultActionBarCss, ActionContainer, TooltipManager, DragOrClickHelper, Model */
10206
+ /*! exports provided: Version, checkLibraryVersion, 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, createTOCListModel, getTocRootCss, 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, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, sanitizeEditableContent, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropSurveyElements, DragDropChoices, defaultStandardCss, modernCss, SvgIconRegistry, SvgRegistry, SvgBundleViewModel, RendererFactory, ResponsivityManager, VerticalResponsivityManager, unwrap, getOriginalEvent, getElement, createDropdownActionModel, createDropdownActionModelAdvanced, BaseAction, Action, ActionDropdownViewModel, AdaptiveActionContainer, defaultActionBarCss, ActionContainer, TooltipManager, DragOrClickHelper, Model */
10203
10207
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
10204
10208
 
10205
10209
  "use strict";
@@ -10365,6 +10369,8 @@ __webpack_require__.r(__webpack_exports__);
10365
10369
 
10366
10370
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "QuestionMultipleTextModel", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__["QuestionMultipleTextModel"]; });
10367
10371
 
10372
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MultipleTextEditorModel", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__["MultipleTextEditorModel"]; });
10373
+
10368
10374
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "PanelModel", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__["PanelModel"]; });
10369
10375
 
10370
10376
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "PanelModelBase", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__["PanelModelBase"]; });
@@ -10994,7 +11000,7 @@ __webpack_require__.r(__webpack_exports__);
10994
11000
  /*!******************************!*\
10995
11001
  !*** ./src/entries/react.ts ***!
10996
11002
  \******************************/
10997
- /*! exports provided: Version, checkLibraryVersion, 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, 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, createTOCListModel, getTocRootCss, 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, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, sanitizeEditableContent, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropSurveyElements, DragDropChoices, defaultStandardCss, modernCss, SvgIconRegistry, SvgRegistry, SvgBundleViewModel, RendererFactory, ResponsivityManager, VerticalResponsivityManager, unwrap, getOriginalEvent, getElement, createDropdownActionModel, createDropdownActionModelAdvanced, 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 */
11003
+ /*! exports provided: Version, checkLibraryVersion, 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, createTOCListModel, getTocRootCss, 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, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, sanitizeEditableContent, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropSurveyElements, DragDropChoices, defaultStandardCss, modernCss, SvgIconRegistry, SvgRegistry, SvgBundleViewModel, RendererFactory, ResponsivityManager, VerticalResponsivityManager, unwrap, getOriginalEvent, getElement, createDropdownActionModel, createDropdownActionModelAdvanced, 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 */
10998
11004
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
10999
11005
 
11000
11006
  "use strict";
@@ -11160,6 +11166,8 @@ __webpack_require__.r(__webpack_exports__);
11160
11166
 
11161
11167
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "QuestionMultipleTextModel", function() { return _core__WEBPACK_IMPORTED_MODULE_0__["QuestionMultipleTextModel"]; });
11162
11168
 
11169
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MultipleTextEditorModel", function() { return _core__WEBPACK_IMPORTED_MODULE_0__["MultipleTextEditorModel"]; });
11170
+
11163
11171
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "PanelModel", function() { return _core__WEBPACK_IMPORTED_MODULE_0__["PanelModel"]; });
11164
11172
 
11165
11173
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "PanelModelBase", function() { return _core__WEBPACK_IMPORTED_MODULE_0__["PanelModelBase"]; });
@@ -18340,14 +18348,25 @@ var JsonObjectProperty = /** @class */ (function () {
18340
18348
  return !!this.dependedProperties ? this.dependedProperties : [];
18341
18349
  };
18342
18350
  JsonObjectProperty.prototype.schemaType = function () {
18351
+ if (this.className === "choicesByUrl")
18352
+ return undefined;
18353
+ if (this.className === "string")
18354
+ return this.className;
18343
18355
  if (!!this.className)
18344
18356
  return "array";
18345
18357
  if (!!this.baseClassName)
18346
18358
  return "array";
18359
+ if (this.type == "switch")
18360
+ return "boolean";
18347
18361
  if (this.type == "boolean" || this.type == "number")
18348
18362
  return this.type;
18349
18363
  return "string";
18350
18364
  };
18365
+ JsonObjectProperty.prototype.schemaRef = function () {
18366
+ if (!!this.className)
18367
+ return this.className;
18368
+ return undefined;
18369
+ };
18351
18370
  JsonObjectProperty.prototype.mergeValue = function (prop, valueName) {
18352
18371
  if (this[valueName] == null && prop[valueName] != null) {
18353
18372
  this[valueName] = prop[valueName];
@@ -19187,27 +19206,85 @@ var JsonMetadata = /** @class */ (function () {
19187
19206
  title: "SurveyJS Library json schema",
19188
19207
  type: "object",
19189
19208
  properties: {},
19190
- definitions: {},
19209
+ definitions: { locstring: this.generateLocStrClass() },
19191
19210
  };
19192
- this.generateSchemaProperties(classInfo, res.properties, res.definitions);
19211
+ this.generateSchemaProperties(classInfo, res, res.definitions, true);
19193
19212
  return res;
19194
19213
  };
19195
- JsonMetadata.prototype.generateSchemaProperties = function (classInfo, schemaProperties, schemaDef) {
19214
+ JsonMetadata.prototype.generateLocStrClass = function () {
19215
+ var props = {};
19216
+ var locProp = Serializer.findProperty("survey", "locale");
19217
+ if (!!locProp) {
19218
+ var choices = locProp.getChoices(null);
19219
+ if (Array.isArray(choices)) {
19220
+ if (choices.indexOf("en") < 0) {
19221
+ choices.splice(0, 0, "en");
19222
+ }
19223
+ choices.splice(0, 0, "default");
19224
+ choices.forEach(function (l) { if (!!l) {
19225
+ props[l] = { type: "string" };
19226
+ } });
19227
+ }
19228
+ }
19229
+ return {
19230
+ $id: "#locstring",
19231
+ type: "object",
19232
+ properties: props
19233
+ };
19234
+ };
19235
+ JsonMetadata.prototype.generateSchemaProperties = function (classInfo, classSchema, schemaDef, isRoot) {
19196
19236
  if (!classInfo)
19197
19237
  return;
19238
+ var schemaProperties = classSchema.properties;
19239
+ var requiredProps = [];
19240
+ if (classInfo.name === "question" || classInfo.name === "panel") {
19241
+ schemaProperties.type = { type: "string" };
19242
+ requiredProps.push("type");
19243
+ }
19198
19244
  for (var i = 0; i < classInfo.properties.length; i++) {
19199
19245
  var prop = classInfo.properties[i];
19200
- schemaProperties[prop.name] = this.generateSchemaProperty(prop, schemaDef);
19246
+ if (!!classInfo.parentName && !!Serializer.findProperty(classInfo.parentName, prop.name))
19247
+ continue;
19248
+ schemaProperties[prop.name] = this.generateSchemaProperty(prop, schemaDef, isRoot);
19249
+ if (prop.isRequired)
19250
+ requiredProps.push(prop.name);
19251
+ }
19252
+ if (requiredProps.length > 0) {
19253
+ classSchema.required = requiredProps;
19201
19254
  }
19202
19255
  };
19203
- JsonMetadata.prototype.generateSchemaProperty = function (prop, schemaDef) {
19204
- var res = { type: prop.schemaType() };
19256
+ JsonMetadata.prototype.generateSchemaProperty = function (prop, schemaDef, isRoot) {
19257
+ if (prop.isLocalizable) {
19258
+ return { oneOf: [
19259
+ { "type": "string" },
19260
+ { "$ref": this.getChemeRefName("locstring", isRoot) }
19261
+ ] };
19262
+ }
19263
+ var propType = prop.schemaType();
19264
+ var refType = prop.schemaRef();
19265
+ var res = {};
19266
+ if (!!propType) {
19267
+ res.type = propType;
19268
+ }
19205
19269
  if (prop.hasChoices) {
19206
- res.enum = prop.getChoices(null);
19270
+ var enumRes = prop.getChoices(null);
19271
+ if (Array.isArray(enumRes) && enumRes.length > 0) {
19272
+ res.enum = enumRes;
19273
+ }
19207
19274
  }
19208
- if (!!prop.className) {
19209
- res.items = { $ref: "#" + prop.className };
19210
- this.generateChemaClass(prop.className, schemaDef);
19275
+ if (!!refType) {
19276
+ if (propType === "array") {
19277
+ if (prop.className === "string") {
19278
+ res.items = { type: prop.className };
19279
+ }
19280
+ else {
19281
+ res.items = { $ref: this.getChemeRefName(prop.className, isRoot) };
19282
+ }
19283
+ }
19284
+ else {
19285
+ res["$ref"] = this.getChemeRefName(refType, isRoot);
19286
+ }
19287
+ this.generateChemaClass(prop.className, schemaDef, false);
19211
19288
  }
19212
19289
  if (!!prop.baseClassName) {
19213
19290
  var usedClasses = this.getChildrenClasses(prop.baseClassName, true);
@@ -19217,13 +19294,16 @@ var JsonMetadata = /** @class */ (function () {
19217
19294
  res.items = [];
19218
19295
  for (var i = 0; i < usedClasses.length; i++) {
19219
19296
  var className = usedClasses[i].name;
19220
- res.items.push({ $ref: "#" + className });
19221
- this.generateChemaClass(className, schemaDef);
19297
+ res.items.push({ $ref: this.getChemeRefName(className, isRoot) });
19298
+ this.generateChemaClass(className, schemaDef, false);
19222
19299
  }
19223
19300
  }
19224
19301
  return res;
19225
19302
  };
19226
- JsonMetadata.prototype.generateChemaClass = function (className, schemaDef) {
19303
+ JsonMetadata.prototype.getChemeRefName = function (className, isRoot) {
19304
+ return isRoot ? "#/definitions/" + className : className + "#";
19305
+ };
19306
+ JsonMetadata.prototype.generateChemaClass = function (className, schemaDef, isRoot) {
19227
19307
  if (!!schemaDef[className])
19228
19308
  return;
19229
19309
  var classInfo = this.findClass(className);
@@ -19231,52 +19311,26 @@ var JsonMetadata = /** @class */ (function () {
19231
19311
  return;
19232
19312
  var hasParent = !!classInfo.parentName && classInfo.parentName != "base";
19233
19313
  if (hasParent) {
19234
- this.generateChemaClass(classInfo.parentName, schemaDef);
19314
+ this.generateChemaClass(classInfo.parentName, schemaDef, isRoot);
19235
19315
  }
19236
- var res = { type: "object", $id: "#" + className };
19316
+ var id = isRoot ? className : "#" + className;
19317
+ var res = { type: "object", $id: id };
19237
19318
  schemaDef[className] = res;
19238
- var props = {};
19239
- this.generateSchemaProperties(classInfo, props, schemaDef);
19319
+ var chemaProps = { properties: {} };
19320
+ this.generateSchemaProperties(classInfo, chemaProps, schemaDef, isRoot);
19240
19321
  if (hasParent) {
19241
19322
  res.allOf = [
19242
- { $ref: "#" + classInfo.parentName },
19243
- { properties: props },
19323
+ { $ref: this.getChemeRefName(classInfo.parentName, isRoot) },
19324
+ { properties: chemaProps.properties },
19244
19325
  ];
19245
19326
  }
19246
19327
  else {
19247
- res.properties = props;
19328
+ res.properties = chemaProps.properties;
19248
19329
  }
19249
- };
19250
- JsonMetadata.prototype.fillProperties = function (name, list, hash) {
19251
- var metaDataClass = this.findClass(name);
19252
- if (!metaDataClass)
19253
- return;
19254
- if (metaDataClass.parentName) {
19255
- this.fillProperties(metaDataClass.parentName, list, hash);
19256
- }
19257
- for (var i = 0; i < metaDataClass.properties.length; i++) {
19258
- var prop = metaDataClass.properties[i];
19259
- this.addPropertyCore(prop, list, hash);
19260
- hash[prop.name] = prop;
19261
- if (prop.alternativeName)
19262
- hash[prop.alternativeName] = prop;
19330
+ if (Array.isArray(chemaProps.required)) {
19331
+ res.required = chemaProps.required;
19263
19332
  }
19264
19333
  };
19265
- JsonMetadata.prototype.addPropertyCore = function (property, list, hash) {
19266
- if (!hash[property.name]) {
19267
- list.push(property);
19268
- return;
19269
- }
19270
- var index = -1;
19271
- for (var i = 0; i < list.length; i++) {
19272
- if (list[i].name == property.name || list[i].alternativeName == property.name) {
19273
- index = i;
19274
- break;
19275
- }
19276
- }
19277
- property.mergeWith(list[index]);
19278
- list[index] = property;
19279
- };
19280
19334
  return JsonMetadata;
19281
19335
  }());
19282
19336
 
@@ -21549,7 +21603,7 @@ var englishStrings = {
21549
21603
  loadingFile: "Loading...",
21550
21604
  chooseFile: "Choose file(s)...",
21551
21605
  noFileChosen: "No file chosen",
21552
- fileDragAreaPlaceholder: "Drop a file here or click the button below to load the file.",
21606
+ fileDragAreaPlaceholder: "Drag and drop a file here or click the button below and choose a file to upload.",
21553
21607
  confirmDelete: "Do you want to delete the record?",
21554
21608
  keyDuplicationError: "This value should be unique.",
21555
21609
  addColumn: "Add Column",
@@ -31415,6 +31469,10 @@ var PopupModel = /** @class */ (function (_super) {
31415
31469
  _this.title = title;
31416
31470
  return _this;
31417
31471
  }
31472
+ PopupModel.prototype.refreshInnerModel = function () {
31473
+ var innerModel = this.contentComponentData["model"];
31474
+ innerModel && innerModel.refresh && innerModel.refresh();
31475
+ };
31418
31476
  Object.defineProperty(PopupModel.prototype, "isVisible", {
31419
31477
  get: function () {
31420
31478
  return this.getPropertyValue("isVisible", false);
@@ -31425,9 +31483,8 @@ var PopupModel = /** @class */ (function (_super) {
31425
31483
  }
31426
31484
  this.setPropertyValue("isVisible", value);
31427
31485
  this.onVisibilityChanged.fire(this, { model: this, isVisible: value });
31486
+ this.refreshInnerModel();
31428
31487
  if (this.isVisible) {
31429
- var innerModel = this.contentComponentData["model"];
31430
- innerModel && innerModel.refresh && innerModel.refresh();
31431
31488
  this.onShow();
31432
31489
  }
31433
31490
  else {
@@ -31733,6 +31790,13 @@ var Question = /** @class */ (function (_super) {
31733
31790
  enumerable: false,
31734
31791
  configurable: true
31735
31792
  });
31793
+ Object.defineProperty(Question.prototype, "ariaExpanded", {
31794
+ get: function () {
31795
+ return null;
31796
+ },
31797
+ enumerable: false,
31798
+ configurable: true
31799
+ });
31736
31800
  Object.defineProperty(Question.prototype, "ariaDescribedBy", {
31737
31801
  get: function () {
31738
31802
  return this.errors.length > 0 ? this.id + "_errors" : null;
@@ -36266,7 +36330,7 @@ _jsonobject__WEBPACK_IMPORTED_MODULE_0__["Serializer"].addClass("selectbase", [
36266
36330
  },
36267
36331
  {
36268
36332
  name: "choicesByUrl:restfull",
36269
- className: "ChoicesRestful",
36333
+ className: "choicesByUrl",
36270
36334
  onGetValue: function (obj) {
36271
36335
  return obj.choicesByUrl.getData();
36272
36336
  },
@@ -37497,6 +37561,7 @@ var QuestionCheckboxModel = /** @class */ (function (_super) {
37497
37561
  if (operator == "contains" || operator == "notcontains") {
37498
37562
  json["type"] = "radiogroup";
37499
37563
  }
37564
+ json["maxSelectedChoices"] = 0;
37500
37565
  return json;
37501
37566
  };
37502
37567
  QuestionCheckboxModel.prototype.isAnswerCorrect = function () {
@@ -38452,11 +38517,9 @@ var QuestionCompositeModel = /** @class */ (function (_super) {
38452
38517
  return this.textProcessing;
38453
38518
  };
38454
38519
  QuestionCompositeModel.prototype.findQuestionByName = function (name) {
38455
- if (!!this.contentPanel) {
38456
- var res = this.contentPanel.getQuestionByName(name);
38457
- if (!!res)
38458
- return res;
38459
- }
38520
+ var res = this.getQuestionByName(name);
38521
+ if (!!res)
38522
+ return res;
38460
38523
  return _super.prototype.findQuestionByName.call(this, name);
38461
38524
  };
38462
38525
  QuestionCompositeModel.prototype.clearValueIfInvisibleCore = function () {
@@ -38563,15 +38626,16 @@ var QuestionCompositeModel = /** @class */ (function (_super) {
38563
38626
  this.setValueCore(panelValue);
38564
38627
  }
38565
38628
  }
38629
+ this.setNewValueIntoQuestion(name, newValue);
38566
38630
  _super.prototype.setValue.call(this, name, newValue, locNotification, allowNotifyValueChanged);
38567
- if (!!this.contentPanel) {
38568
- var q = this.contentPanel.getQuestionByName(name);
38569
- if (!!q && !this.isTwoValueEquals(newValue, q.value)) {
38570
- q.value = newValue;
38571
- }
38572
- }
38573
38631
  this.settingNewValue = false;
38574
38632
  };
38633
+ QuestionCompositeModel.prototype.setNewValueIntoQuestion = function (name, newValue) {
38634
+ var q = this.getQuestionByName(name);
38635
+ if (!!q && !this.isTwoValueEquals(newValue, q.value)) {
38636
+ q.value = newValue;
38637
+ }
38638
+ };
38575
38639
  QuestionCompositeModel.prototype.addConditionObjectsByContext = function (objects, context) {
38576
38640
  if (!this.contentPanel)
38577
38641
  return;
@@ -38600,7 +38664,15 @@ var QuestionCompositeModel = /** @class */ (function (_super) {
38600
38664
  };
38601
38665
  QuestionCompositeModel.prototype.setQuestionValue = function (newValue, updateIsAnswered) {
38602
38666
  if (updateIsAnswered === void 0) { updateIsAnswered = true; }
38667
+ this.setValuesIntoQuestions(newValue);
38668
+ if (!this.isEditingSurveyElement && !!this.contentPanel) {
38669
+ newValue = this.contentPanel.getValue();
38670
+ }
38603
38671
  _super.prototype.setQuestionValue.call(this, newValue, updateIsAnswered);
38672
+ };
38673
+ QuestionCompositeModel.prototype.setValuesIntoQuestions = function (newValue) {
38674
+ if (!this.contentPanel)
38675
+ return;
38604
38676
  this.settingNewValue = true;
38605
38677
  var questions = this.contentPanel.questions;
38606
38678
  for (var i = 0; i < questions.length; i++) {
@@ -38611,6 +38683,7 @@ var QuestionCompositeModel = /** @class */ (function (_super) {
38611
38683
  q.value = val;
38612
38684
  }
38613
38685
  }
38686
+ this.runCondition(this.getDataFilteredValues(), this.getDataFilteredProperties());
38614
38687
  this.settingNewValue = false;
38615
38688
  };
38616
38689
  QuestionCompositeModel.prototype.getDisplayValueCore = function (keyAsText, value) {
@@ -38967,7 +39040,8 @@ var QuestionDropdownModel = /** @class */ (function (_super) {
38967
39040
  });
38968
39041
  Object.defineProperty(QuestionDropdownModel.prototype, "ariaExpanded", {
38969
39042
  get: function () {
38970
- return this.popupModel.isVisible;
39043
+ var popupModel = this.popupModel;
39044
+ return !!popupModel && popupModel.isVisible ? "true" : "false";
38971
39045
  },
38972
39046
  enumerable: false,
38973
39047
  configurable: true
@@ -47765,11 +47839,12 @@ _questionfactory__WEBPACK_IMPORTED_MODULE_1__["QuestionFactory"].Instance.regist
47765
47839
  /*!**************************************!*\
47766
47840
  !*** ./src/question_multipletext.ts ***!
47767
47841
  \**************************************/
47768
- /*! exports provided: MultipleTextItemModel, QuestionMultipleTextModel */
47842
+ /*! exports provided: MultipleTextEditorModel, MultipleTextItemModel, QuestionMultipleTextModel */
47769
47843
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
47770
47844
 
47771
47845
  "use strict";
47772
47846
  __webpack_require__.r(__webpack_exports__);
47847
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MultipleTextEditorModel", function() { return MultipleTextEditorModel; });
47773
47848
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MultipleTextItemModel", function() { return MultipleTextItemModel; });
47774
47849
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "QuestionMultipleTextModel", function() { return QuestionMultipleTextModel; });
47775
47850
  /* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base */ "./src/base.ts");
@@ -47805,6 +47880,28 @@ var __extends = (undefined && undefined.__extends) || (function () {
47805
47880
 
47806
47881
 
47807
47882
 
47883
+ var MultipleTextEditorModel = /** @class */ (function (_super) {
47884
+ __extends(MultipleTextEditorModel, _super);
47885
+ function MultipleTextEditorModel() {
47886
+ return _super !== null && _super.apply(this, arguments) || this;
47887
+ }
47888
+ Object.defineProperty(MultipleTextEditorModel.prototype, "a11y_input_ariaLabel", {
47889
+ get: function () {
47890
+ return this.locTitle.renderedHtml;
47891
+ },
47892
+ enumerable: false,
47893
+ configurable: true
47894
+ });
47895
+ Object.defineProperty(MultipleTextEditorModel.prototype, "a11y_input_ariaLabelledBy", {
47896
+ get: function () {
47897
+ return null;
47898
+ },
47899
+ enumerable: false,
47900
+ configurable: true
47901
+ });
47902
+ return MultipleTextEditorModel;
47903
+ }(_question_text__WEBPACK_IMPORTED_MODULE_3__["QuestionTextModel"]));
47904
+
47808
47905
  /**
47809
47906
  * A class that describes an item in a [Multiple Text](https://surveyjs.io/form-library/documentation/api-reference/multiple-text-entry-question-model) question.
47810
47907
  *
@@ -47867,7 +47964,7 @@ var MultipleTextItemModel = /** @class */ (function (_super) {
47867
47964
  configurable: true
47868
47965
  });
47869
47966
  MultipleTextItemModel.prototype.createEditor = function (name) {
47870
- return new _question_text__WEBPACK_IMPORTED_MODULE_3__["QuestionTextModel"](name);
47967
+ return new MultipleTextEditorModel(name);
47871
47968
  };
47872
47969
  MultipleTextItemModel.prototype.addUsedLocales = function (locales) {
47873
47970
  _super.prototype.addUsedLocales.call(this, locales);
@@ -48684,6 +48781,13 @@ var QuestionPanelDynamicItemTextProcessor = /** @class */ (function (_super) {
48684
48781
  enumerable: false,
48685
48782
  configurable: true
48686
48783
  });
48784
+ Object.defineProperty(QuestionPanelDynamicItemTextProcessor.prototype, "visiblePanelIndex", {
48785
+ get: function () {
48786
+ return !!this.data ? this.data.getVisibleItemIndex(this.panelItem) : -1;
48787
+ },
48788
+ enumerable: false,
48789
+ configurable: true
48790
+ });
48687
48791
  QuestionPanelDynamicItemTextProcessor.prototype.getValues = function () {
48688
48792
  return this.panelItem.getAllValues();
48689
48793
  };
@@ -48713,6 +48817,14 @@ var QuestionPanelDynamicItemTextProcessor = /** @class */ (function (_super) {
48713
48817
  return true;
48714
48818
  }
48715
48819
  }
48820
+ if (textValue.name == QuestionPanelDynamicItem.VisibleIndexVariableName) {
48821
+ var index = this.visiblePanelIndex;
48822
+ if (index > -1) {
48823
+ textValue.isExists = true;
48824
+ textValue.value = index + 1;
48825
+ return true;
48826
+ }
48827
+ }
48716
48828
  if (textValue.name.toLowerCase().indexOf(QuestionPanelDynamicItem.ParentItemVariableName + ".") == 0) {
48717
48829
  var q = this.data;
48718
48830
  if (!!q && !!q.parentQuestion && !!q.parent && !!q.parent.data) {
@@ -48798,8 +48910,11 @@ var QuestionPanelDynamicItem = /** @class */ (function () {
48798
48910
  values[QuestionPanelDynamicItem.ItemVariableName] = this.getAllValues();
48799
48911
  if (!!this.data) {
48800
48912
  var indexStr = QuestionPanelDynamicItem.IndexVariableName;
48913
+ var visibleIndexStr = QuestionPanelDynamicItem.VisibleIndexVariableName;
48801
48914
  delete values[indexStr];
48915
+ delete values[visibleIndexStr];
48802
48916
  values[indexStr.toLowerCase()] = this.data.getItemIndex(this);
48917
+ values[visibleIndexStr.toLowerCase()] = this.data.getVisibleItemIndex(this);
48803
48918
  var q = this.data;
48804
48919
  if (!!q && !!q.parentQuestion && !!q.parent) {
48805
48920
  values[QuestionPanelDynamicItem.ParentItemVariableName] = q.parent.getValue();
@@ -48824,6 +48939,7 @@ var QuestionPanelDynamicItem = /** @class */ (function () {
48824
48939
  QuestionPanelDynamicItem.ItemVariableName = "panel";
48825
48940
  QuestionPanelDynamicItem.ParentItemVariableName = "parentpanel";
48826
48941
  QuestionPanelDynamicItem.IndexVariableName = "panelIndex";
48942
+ QuestionPanelDynamicItem.VisibleIndexVariableName = "visiblePanelIndex";
48827
48943
  return QuestionPanelDynamicItem;
48828
48944
  }());
48829
48945
 
@@ -48859,7 +48975,8 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
48859
48975
  _this.recalculateIsReadyValue();
48860
48976
  };
48861
48977
  _this.isSetPanelItemData = {};
48862
- _this.createNewArray("panels");
48978
+ _this.createNewArray("panels", function (panel) { _this.onPanelAdded(panel); }, function (panel) { _this.onPanelRemoved(panel); });
48979
+ _this.createNewArray("visiblePanels");
48863
48980
  _this.templateValue = _this.createAndSetupNewPanelObject();
48864
48981
  _this.template.renderWidth = "100%";
48865
48982
  _this.template.selectedElementInDesign = _this;
@@ -48895,8 +49012,8 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
48895
49012
  configurable: true
48896
49013
  });
48897
49014
  QuestionPanelDynamicModel.prototype.getFirstQuestionToFocus = function (withError) {
48898
- for (var i = 0; i < this.panels.length; i++) {
48899
- var res = this.panels[i].getFirstQuestionToFocus(withError);
49015
+ for (var i = 0; i < this.visiblePanels.length; i++) {
49016
+ var res = this.visiblePanels[i].getFirstQuestionToFocus(withError);
48900
49017
  if (!!res)
48901
49018
  return res;
48902
49019
  }
@@ -49007,6 +49124,11 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
49007
49124
  Object.defineProperty(QuestionPanelDynamicModel.prototype, "templateTitle", {
49008
49125
  /**
49009
49126
  * A template for panel titles.
49127
+ *
49128
+ * The template can contain the following placeholders:
49129
+ *
49130
+ * - `{panelIndex}` - A zero-based index of a panel in the [`panels`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#panels) array.
49131
+ * - `{visiblePanelIndex}` - A zero-based index of a panel in the [`visiblePanels`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#visiblePanels) array.
49010
49132
  * @see template
49011
49133
  * @see templateDescription
49012
49134
  * @see templateElements
@@ -49032,6 +49154,11 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
49032
49154
  Object.defineProperty(QuestionPanelDynamicModel.prototype, "templateTabTitle", {
49033
49155
  /**
49034
49156
  * A template for tab titles. Applies when [`renderMode`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#renderMode) is `"tab"`.
49157
+ *
49158
+ * The template can contain the following placeholders:
49159
+ *
49160
+ * - `{panelIndex}` - A zero-based index of a panel in the [`panels`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#panels) array.
49161
+ * - `{visiblePanelIndex}` - A zero-based index of a panel in the [`visiblePanels`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#visiblePanels) array.
49035
49162
  * @see templateTitle
49036
49163
  * @see renderMode
49037
49164
  */
@@ -49076,6 +49203,27 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
49076
49203
  enumerable: false,
49077
49204
  configurable: true
49078
49205
  });
49206
+ Object.defineProperty(QuestionPanelDynamicModel.prototype, "templateVisibleIf", {
49207
+ /**
49208
+ * A Boolean expression that is evaluated against each panel. If the expression evaluates to `false`, the panel becomes hidden.
49209
+ *
49210
+ * A survey parses and runs all expressions on startup. If any values used in the expression change, the survey re-evaluates it.
49211
+ *
49212
+ * Use the `{panel}` placeholder to reference the current panel in the expression.
49213
+ *
49214
+ * Refer to the following help topic for more information: [Conditional Visibility](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#conditional-visibility).
49215
+ * @see visibleIf
49216
+ * @see visiblePanels
49217
+ */
49218
+ get: function () {
49219
+ return this.template.visibleIf;
49220
+ },
49221
+ set: function (val) {
49222
+ this.template.visibleIf = val;
49223
+ },
49224
+ enumerable: false,
49225
+ configurable: true
49226
+ });
49079
49227
  Object.defineProperty(QuestionPanelDynamicModel.prototype, "items", {
49080
49228
  get: function () {
49081
49229
  var res = [];
@@ -49100,6 +49248,53 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
49100
49248
  enumerable: false,
49101
49249
  configurable: true
49102
49250
  });
49251
+ Object.defineProperty(QuestionPanelDynamicModel.prototype, "visiblePanels", {
49252
+ /**
49253
+ * An array of currently visible panels ([`PanelModel`](https://surveyjs.io/form-library/documentation/api-reference/panel-model) objects).
49254
+ * @see templateVisibleIf
49255
+ */
49256
+ get: function () {
49257
+ return this.getPropertyValue("visiblePanels");
49258
+ },
49259
+ enumerable: false,
49260
+ configurable: true
49261
+ });
49262
+ QuestionPanelDynamicModel.prototype.onPanelAdded = function (panel) {
49263
+ this.onPanelRemovedCore(panel);
49264
+ if (!panel.visible)
49265
+ return;
49266
+ var index = 0;
49267
+ var panels = this.panels;
49268
+ for (var i = 0; i < panels.length; i++) {
49269
+ if (panels[i] === panel)
49270
+ break;
49271
+ if (panels[i].visible)
49272
+ index++;
49273
+ }
49274
+ this.visiblePanels.splice(index, 0, panel);
49275
+ this.addTabFromToolbar(panel, index);
49276
+ if (!this.currentPanel) {
49277
+ this.currentPanel = panel;
49278
+ }
49279
+ };
49280
+ QuestionPanelDynamicModel.prototype.onPanelRemoved = function (panel) {
49281
+ var index = this.onPanelRemovedCore(panel);
49282
+ if (this.currentPanel === panel) {
49283
+ var visPanels = this.visiblePanels;
49284
+ if (index >= visPanels.length)
49285
+ index = visPanels.length - 1;
49286
+ this.currentPanel = index >= 0 ? visPanels[index] : null;
49287
+ }
49288
+ };
49289
+ QuestionPanelDynamicModel.prototype.onPanelRemovedCore = function (panel) {
49290
+ var visPanels = this.visiblePanels;
49291
+ var index = visPanels.indexOf(panel);
49292
+ if (index > -1) {
49293
+ visPanels.splice(index, 1);
49294
+ this.removeTabFromToolbar(panel);
49295
+ }
49296
+ return index;
49297
+ };
49103
49298
  Object.defineProperty(QuestionPanelDynamicModel.prototype, "currentIndex", {
49104
49299
  /**
49105
49300
  * A zero-based index of the currently displayed panel.
@@ -49115,33 +49310,18 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
49115
49310
  return -1;
49116
49311
  if (this.useTemplatePanel)
49117
49312
  return 0;
49118
- if (this.currentIndexValue < 0 && this.panelCount > 0) {
49119
- this.currentIndexValue = 0;
49120
- }
49121
- if (this.currentIndexValue >= this.panelCount) {
49122
- this.currentIndexValue = this.panelCount - 1;
49123
- }
49124
- return this.currentIndexValue;
49313
+ return this.visiblePanels.indexOf(this.currentPanel);
49125
49314
  },
49126
49315
  set: function (val) {
49127
- if (this.currentIndexValue !== val) {
49128
- if (val >= this.panelCount)
49129
- val = this.panelCount - 1;
49130
- this.currentIndexValue = val;
49131
- this.updateFooterActions();
49132
- this.updateTabToolbarItemsPressedState();
49133
- this.fireCallback(this.currentIndexChangedCallback);
49134
- }
49316
+ if (val < 0 || this.visiblePanelCount < 1)
49317
+ return;
49318
+ if (val >= this.visiblePanelCount)
49319
+ val = this.visiblePanelCount - 1;
49320
+ this.currentPanel = this.visiblePanels[val];
49135
49321
  },
49136
49322
  enumerable: false,
49137
49323
  configurable: true
49138
49324
  });
49139
- Object.defineProperty(QuestionPanelDynamicModel.prototype, "currentIndexValue", {
49140
- get: function () { return this.getPropertyValue("currentIndexValue", -1); },
49141
- set: function (val) { this.setPropertyValue("currentIndexValue", val); },
49142
- enumerable: false,
49143
- configurable: true
49144
- });
49145
49325
  Object.defineProperty(QuestionPanelDynamicModel.prototype, "currentPanel", {
49146
49326
  /**
49147
49327
  * A `PanelModel` object that is the currently displayed panel.
@@ -49153,10 +49333,26 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
49153
49333
  * @see renderMode
49154
49334
  */
49155
49335
  get: function () {
49156
- var index = this.currentIndex;
49157
- if (index < 0 || index >= this.panels.length)
49336
+ if (this.isDesignMode)
49337
+ return this.template;
49338
+ if (this.isRenderModeList || this.useTemplatePanel)
49158
49339
  return null;
49159
- return this.panels[index];
49340
+ var res = this.getPropertyValue("currentPanel", null);
49341
+ if (!res && this.visiblePanelCount > 0) {
49342
+ res = this.visiblePanels[0];
49343
+ this.currentPanel = res;
49344
+ }
49345
+ return res;
49346
+ },
49347
+ set: function (val) {
49348
+ if (this.isRenderModeList || this.useTemplatePanel)
49349
+ return;
49350
+ if (!!val && this.visiblePanels.indexOf(val) < 0 || val === this.getPropertyValue("currentPanel"))
49351
+ return;
49352
+ this.setPropertyValue("currentPanel", val);
49353
+ this.updateFooterActions();
49354
+ this.updateTabToolbarItemsPressedState();
49355
+ this.fireCallback(this.currentIndexChangedCallback);
49160
49356
  },
49161
49357
  enumerable: false,
49162
49358
  configurable: true
@@ -49362,7 +49558,7 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
49362
49558
  * @see panelNextText
49363
49559
  */
49364
49560
  get: function () {
49365
- return this.currentIndex >= 0 && this.currentIndex < this.panelCount - 1;
49561
+ return this.currentIndex >= 0 && this.currentIndex < this.visiblePanelCount - 1;
49366
49562
  },
49367
49563
  enumerable: false,
49368
49564
  configurable: true
@@ -49374,10 +49570,10 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
49374
49570
  });
49375
49571
  Object.defineProperty(QuestionPanelDynamicModel.prototype, "isRangeShowing", {
49376
49572
  /**
49377
- * Returns true when showRangeInProgress equals to true, renderMode doesn't equal to "list" and panelCount is >= 2.
49573
+ * Returns true when showRangeInProgress equals to true, renderMode doesn't equal to "list" and visiblePanelCount is >= 2.
49378
49574
  */
49379
49575
  get: function () {
49380
- return (this.showRangeInProgress && this.currentIndex >= 0 && this.panelCount > 1);
49576
+ return (this.showRangeInProgress && this.currentIndex >= 0 && this.visiblePanelCount > 1);
49381
49577
  },
49382
49578
  enumerable: false,
49383
49579
  configurable: true
@@ -49445,7 +49641,6 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
49445
49641
  for (var i = this.panelCount; i < val; i++) {
49446
49642
  var panel = this.createNewPanel();
49447
49643
  this.panels.push(panel);
49448
- this.addTabFromToolbar(panel);
49449
49644
  if (this.renderMode == "list" && this.panelsState != "default") {
49450
49645
  if (this.panelsState === "expand") {
49451
49646
  panel.expand();
@@ -49466,11 +49661,19 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
49466
49661
  this.reRunCondition();
49467
49662
  this.updateFooterActions();
49468
49663
  this.fireCallback(this.panelCountChangedCallback);
49469
- (removedPanels.length > 0) && this.removeTabFromToolbar(removedPanels);
49470
49664
  },
49471
49665
  enumerable: false,
49472
49666
  configurable: true
49473
49667
  });
49668
+ Object.defineProperty(QuestionPanelDynamicModel.prototype, "visiblePanelCount", {
49669
+ /**
49670
+ * Returns the number of visible panels in Dynamic Panel.
49671
+ * @see templateVisibleIf
49672
+ */
49673
+ get: function () { return this.visiblePanels.length; },
49674
+ enumerable: false,
49675
+ configurable: true
49676
+ });
49474
49677
  Object.defineProperty(QuestionPanelDynamicModel.prototype, "panelsState", {
49475
49678
  /**
49476
49679
  * Specifies whether users can expand and collapse panels. Applies if `renderMode` is `"list"` and the `templateTitle` property is specified.
@@ -49745,7 +49948,7 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
49745
49948
  });
49746
49949
  Object.defineProperty(QuestionPanelDynamicModel.prototype, "hasTitleOnLeftTop", {
49747
49950
  get: function () {
49748
- if (this.isRenderModeTab && !!this.panelCount)
49951
+ if (this.isRenderModeTab && this.visiblePanelCount > 0)
49749
49952
  return true;
49750
49953
  if (!this.hasTitle)
49751
49954
  return false;
@@ -49759,8 +49962,8 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
49759
49962
  if (!this.isVisible)
49760
49963
  return 0;
49761
49964
  var startIndex = this.showQuestionNumbers == "onSurvey" ? value : 0;
49762
- for (var i = 0; i < this.panels.length; i++) {
49763
- var counter = this.setPanelVisibleIndex(this.panels[i], startIndex, this.showQuestionNumbers != "off");
49965
+ for (var i = 0; i < this.visiblePanels.length; i++) {
49966
+ var counter = this.setPanelVisibleIndex(this.visiblePanels[i], startIndex, this.showQuestionNumbers != "off");
49764
49967
  if (this.showQuestionNumbers == "onSurvey") {
49765
49968
  startIndex += counter;
49766
49969
  }
@@ -49793,7 +49996,7 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
49793
49996
  get: function () {
49794
49997
  if (this.isDesignMode)
49795
49998
  return false;
49796
- if (this.isDefaultV2Theme && !this.legacyNavigation && !this.isRenderModeList && this.currentIndex < this.panelCount - 1) {
49999
+ if (this.isDefaultV2Theme && !this.legacyNavigation && !this.isRenderModeList && this.currentIndex < this.visiblePanelCount - 1) {
49797
50000
  return false;
49798
50001
  }
49799
50002
  return (this.allowAddPanel &&
@@ -49912,7 +50115,7 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
49912
50115
  return true;
49913
50116
  };
49914
50117
  QuestionPanelDynamicModel.prototype.getProgressInfo = function () {
49915
- return _survey_element__WEBPACK_IMPORTED_MODULE_1__["SurveyElement"].getProgressInfoByElements(this.panels, this.isRequired);
50118
+ return _survey_element__WEBPACK_IMPORTED_MODULE_1__["SurveyElement"].getProgressInfoByElements(this.visiblePanels, this.isRequired);
49916
50119
  };
49917
50120
  QuestionPanelDynamicModel.prototype.isRowEmpty = function (val) {
49918
50121
  for (var prop in val) {
@@ -50028,10 +50231,13 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
50028
50231
  * @see template
50029
50232
  */
50030
50233
  QuestionPanelDynamicModel.prototype.removePanel = function (value) {
50031
- var index = this.getPanelIndex(value);
50032
- if (index < 0 || index >= this.panelCount)
50234
+ var visIndex = this.getVisualPanelIndex(value);
50235
+ if (visIndex < 0 || visIndex >= this.visiblePanelCount)
50236
+ return;
50237
+ var panel = this.visiblePanels[visIndex];
50238
+ var index = this.panels.indexOf(panel);
50239
+ if (index < 0)
50033
50240
  return;
50034
- var panel = this.panels[index];
50035
50241
  if (this.survey && !this.survey.dynamicPanelRemoving(this, index, panel))
50036
50242
  return;
50037
50243
  this.panels.splice(index, 1);
@@ -50047,14 +50253,13 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
50047
50253
  if (this.survey)
50048
50254
  this.survey.dynamicPanelRemoved(this, index, panel);
50049
50255
  this.isValueChangingInternally = false;
50050
- this.removeTabFromToolbar([panel]);
50051
50256
  };
50052
- QuestionPanelDynamicModel.prototype.getPanelIndex = function (val) {
50257
+ QuestionPanelDynamicModel.prototype.getVisualPanelIndex = function (val) {
50053
50258
  if (_helpers__WEBPACK_IMPORTED_MODULE_0__["Helpers"].isNumber(val))
50054
50259
  return val;
50055
- var items = this.items;
50056
- for (var i = 0; i < this.panels.length; i++) {
50057
- if (this.panels[i] === val || items[i] === val)
50260
+ var visPanels = this.visiblePanels;
50261
+ for (var i = 0; i < visPanels.length; i++) {
50262
+ if (visPanels[i] === val || visPanels[i].data === val)
50058
50263
  return i;
50059
50264
  }
50060
50265
  return -1;
@@ -50318,7 +50523,7 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
50318
50523
  QuestionPanelDynamicModel.prototype.getIsAnswered = function () {
50319
50524
  if (!_super.prototype.getIsAnswered.call(this))
50320
50525
  return false;
50321
- var panels = this.panels;
50526
+ var panels = this.visiblePanels;
50322
50527
  for (var i = 0; i < panels.length; i++) {
50323
50528
  var visibleQuestions = [];
50324
50529
  panels[i].addQuestionsToList(visibleQuestions, true);
@@ -50356,8 +50561,9 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
50356
50561
  };
50357
50562
  QuestionPanelDynamicModel.prototype.getAllErrors = function () {
50358
50563
  var result = _super.prototype.getAllErrors.call(this);
50359
- for (var i = 0; i < this.panels.length; i++) {
50360
- var questions = this.panels[i].questions;
50564
+ var panels = this.visiblePanels;
50565
+ for (var i = 0; i < panels.length; i++) {
50566
+ var questions = panels[i].questions;
50361
50567
  for (var j = 0; j < questions.length; j++) {
50362
50568
  var errors = questions[j].getAllErrors();
50363
50569
  if (errors && errors.length > 0) {
@@ -50403,7 +50609,7 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
50403
50609
  };
50404
50610
  QuestionPanelDynamicModel.prototype.hasErrorInPanels = function (fireCallback, rec) {
50405
50611
  var res = false;
50406
- var panels = this.panels;
50612
+ var panels = this.visiblePanels;
50407
50613
  var keyValues = [];
50408
50614
  for (var i = 0; i < panels.length; i++) {
50409
50615
  this.setOnCompleteAsyncInPanel(panels[i]);
@@ -50486,6 +50692,13 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
50486
50692
  return _this.getPanelActions(panel);
50487
50693
  };
50488
50694
  panel.footerToolbarCss = this.cssClasses.panelFooter;
50695
+ panel.registerPropertyChangedHandlers(["visible"], function () {
50696
+ if (panel.visible)
50697
+ _this.onPanelAdded(panel);
50698
+ else
50699
+ _this.onPanelRemoved(panel);
50700
+ _this.updateFooterActions();
50701
+ });
50489
50702
  return panel;
50490
50703
  };
50491
50704
  QuestionPanelDynamicModel.prototype.createAndSetupNewPanelObject = function () {
@@ -50596,6 +50809,14 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
50596
50809
  var res = this.items.indexOf(item);
50597
50810
  return res > -1 ? res : this.items.length;
50598
50811
  };
50812
+ QuestionPanelDynamicModel.prototype.getVisibleItemIndex = function (item) {
50813
+ var visPanels = this.visiblePanels;
50814
+ for (var i = 0; i < visPanels.length; i++) {
50815
+ if (visPanels[i].data === item)
50816
+ return i;
50817
+ }
50818
+ return visPanels.length;
50819
+ };
50599
50820
  QuestionPanelDynamicModel.prototype.getPanelItemData = function (item) {
50600
50821
  var items = this.items;
50601
50822
  var index = items.indexOf(item);
@@ -50699,7 +50920,7 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
50699
50920
  };
50700
50921
  Object.defineProperty(QuestionPanelDynamicModel.prototype, "progressText", {
50701
50922
  get: function () {
50702
- var rangeMax = this.panelCount;
50923
+ var rangeMax = this.visiblePanelCount;
50703
50924
  return this.getLocalizationFormatString("panelDynamicProgressText", this.currentIndex + 1, rangeMax);
50704
50925
  },
50705
50926
  enumerable: false,
@@ -50707,7 +50928,7 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
50707
50928
  });
50708
50929
  Object.defineProperty(QuestionPanelDynamicModel.prototype, "progress", {
50709
50930
  get: function () {
50710
- return ((this.currentIndex + 1) / this.panelCount) * 100 + "%";
50931
+ return ((this.currentIndex + 1) / this.visiblePanelCount) * 100 + "%";
50711
50932
  },
50712
50933
  enumerable: false,
50713
50934
  configurable: true
@@ -50780,7 +51001,7 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
50780
51001
  configurable: true
50781
51002
  });
50782
51003
  QuestionPanelDynamicModel.prototype.getShowNoEntriesPlaceholder = function () {
50783
- return !!this.cssClasses.noEntriesPlaceholder && !this.isDesignMode && this.panelCount === 0;
51004
+ return !!this.cssClasses.noEntriesPlaceholder && !this.isDesignMode && this.visiblePanelCount === 0;
50784
51005
  };
50785
51006
  QuestionPanelDynamicModel.prototype.needResponsiveWidth = function () {
50786
51007
  var panel = this.getPanel();
@@ -50840,7 +51061,6 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
50840
51061
  var addBtn = new _actions_action__WEBPACK_IMPORTED_MODULE_11__["Action"]({
50841
51062
  id: "sv-pd-add-btn",
50842
51063
  component: "sv-paneldynamic-add-btn",
50843
- visible: new _base__WEBPACK_IMPORTED_MODULE_12__["ComputedUpdater"](function () { return _this.canAddPanel; }),
50844
51064
  data: { question: this }
50845
51065
  });
50846
51066
  var prevBtnIcon = new _actions_action__WEBPACK_IMPORTED_MODULE_11__["Action"]({
@@ -50865,8 +51085,9 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
50865
51085
  var isMobile = _this.isMobile;
50866
51086
  var showNavigation = !isLegacyNavigation && !isRenderModeList;
50867
51087
  prevTextBtn.visible = showNavigation && _this.currentIndex > 0;
50868
- nextTextBtn.visible = showNavigation && _this.currentIndex < _this.panelCount - 1;
51088
+ nextTextBtn.visible = showNavigation && _this.currentIndex < _this.visiblePanelCount - 1;
50869
51089
  nextTextBtn.needSpace = isMobile && nextTextBtn.visible && prevTextBtn.visible;
51090
+ addBtn.visible = _this.canAddPanel;
50870
51091
  addBtn.needSpace = _this.isMobile && !nextTextBtn.visible && prevTextBtn.visible;
50871
51092
  progressText.visible = !_this.isRenderModeList && !isMobile;
50872
51093
  progressText.needSpace = !isLegacyNavigation && !_this.isMobile;
@@ -50907,9 +51128,9 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
50907
51128
  QuestionPanelDynamicModel.prototype.updateTabToolbarItemsPressedState = function () {
50908
51129
  if (!this.isRenderModeTab)
50909
51130
  return;
50910
- if (this.currentIndex < 0 || this.currentIndex >= this.panels.length)
51131
+ if (this.currentIndex < 0 || this.currentIndex >= this.visiblePanelCount)
50911
51132
  return;
50912
- var panel = this.panels[this.currentIndex];
51133
+ var panel = this.visiblePanels[this.currentIndex];
50913
51134
  this.additionalTitleToolbar.renderedActions.forEach(function (action) { return action.pressed = action.id === panel.id; });
50914
51135
  };
50915
51136
  QuestionPanelDynamicModel.prototype.updateTabToolbar = function () {
@@ -50917,24 +51138,23 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
50917
51138
  if (!this.isRenderModeTab)
50918
51139
  return;
50919
51140
  var items = [];
50920
- this.panels.forEach(function (panel) { return items.push(_this.createTabByPanel(panel)); });
51141
+ this.visiblePanels.forEach(function (panel) { return items.push(_this.createTabByPanel(panel)); });
50921
51142
  this.additionalTitleToolbar.setItems(items);
50922
51143
  };
50923
- QuestionPanelDynamicModel.prototype.addTabFromToolbar = function (panel) {
51144
+ QuestionPanelDynamicModel.prototype.addTabFromToolbar = function (panel, index) {
50924
51145
  if (!this.isRenderModeTab)
50925
51146
  return;
50926
51147
  var newItem = this.createTabByPanel(panel);
50927
- this.additionalTitleToolbar.actions.push(newItem);
51148
+ this.additionalTitleToolbar.actions.splice(index, 0, newItem);
50928
51149
  this.updateTabToolbarItemsPressedState();
50929
51150
  };
50930
- QuestionPanelDynamicModel.prototype.removeTabFromToolbar = function (panels) {
50931
- var _this = this;
51151
+ QuestionPanelDynamicModel.prototype.removeTabFromToolbar = function (panel) {
50932
51152
  if (!this.isRenderModeTab)
50933
51153
  return;
50934
- panels.forEach(function (panel) {
50935
- var removedItem = _this.additionalTitleToolbar.getActionById(panel.id);
50936
- _this.additionalTitleToolbar.actions.splice(_this.additionalTitleToolbar.actions.indexOf(removedItem), 1);
50937
- });
51154
+ var removedItem = this.additionalTitleToolbar.getActionById(panel.id);
51155
+ if (!removedItem)
51156
+ return;
51157
+ this.additionalTitleToolbar.actions.splice(this.additionalTitleToolbar.actions.indexOf(removedItem), 1);
50938
51158
  this.updateTabToolbarItemsPressedState();
50939
51159
  };
50940
51160
  Object.defineProperty(QuestionPanelDynamicModel.prototype, "showLegacyNavigation", {
@@ -50944,6 +51164,16 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
50944
51164
  enumerable: false,
50945
51165
  configurable: true
50946
51166
  });
51167
+ Object.defineProperty(QuestionPanelDynamicModel.prototype, "showNavigation", {
51168
+ get: function () {
51169
+ return this.visiblePanelCount > 0 && !this.showLegacyNavigation && !!this.cssClasses.footer;
51170
+ },
51171
+ enumerable: false,
51172
+ configurable: true
51173
+ });
51174
+ QuestionPanelDynamicModel.prototype.showSeparator = function (index) {
51175
+ return this.isRenderModeList && index < this.visiblePanelCount - 1;
51176
+ };
50947
51177
  QuestionPanelDynamicModel.maxCheckCount = 3;
50948
51178
  __decorate([
50949
51179
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_5__["property"])({ defaultValue: false, onSet: function (_, target) { target.updateFooterActions(); } })
@@ -51022,6 +51252,10 @@ _jsonobject__WEBPACK_IMPORTED_MODULE_5__["Serializer"].addClass("paneldynamic",
51022
51252
  default: "default",
51023
51253
  choices: ["default", "top", "bottom", "left"],
51024
51254
  },
51255
+ {
51256
+ name: "templateVisibleIf:expression",
51257
+ category: "logic"
51258
+ },
51025
51259
  {
51026
51260
  name: "panelRemoveButtonLocation",
51027
51261
  default: "bottom",
@@ -52361,6 +52595,17 @@ var QuestionRatingModel = /** @class */ (function (_super) {
52361
52595
  QuestionRatingModel.prototype.getDesktopRenderAs = function () {
52362
52596
  return (this.displayMode == "dropdown") ? "dropdown" : "default";
52363
52597
  };
52598
+ Object.defineProperty(QuestionRatingModel.prototype, "ariaExpanded", {
52599
+ get: function () {
52600
+ var _a;
52601
+ var popupModel = (_a = this.dropdownListModel) === null || _a === void 0 ? void 0 : _a.popupModel;
52602
+ if (!popupModel)
52603
+ return null;
52604
+ return popupModel.isVisible ? "true" : "false";
52605
+ },
52606
+ enumerable: false,
52607
+ configurable: true
52608
+ });
52364
52609
  Object.defineProperty(QuestionRatingModel.prototype, "dropdownListModel", {
52365
52610
  get: function () {
52366
52611
  return this.dropdownListModelValue;
@@ -52473,7 +52718,7 @@ _jsonobject__WEBPACK_IMPORTED_MODULE_2__["Serializer"].addClass("rating", [
52473
52718
  name: "autoGenerate",
52474
52719
  category: "rateValues",
52475
52720
  default: true,
52476
- choices: [{ value: true, text: "Generate" }, { value: false, text: "Enter manually" }],
52721
+ choices: [true, false],
52477
52722
  visibleIndex: 4
52478
52723
  },
52479
52724
  {
@@ -52548,14 +52793,18 @@ _jsonobject__WEBPACK_IMPORTED_MODULE_2__["Serializer"].addClass("rating", [
52548
52793
  serializationProperty: "locMaxRateDescription",
52549
52794
  visibleIndex: 18
52550
52795
  },
52551
- { name: "displayRateDescriptionsAsExtremeItems:boolean", default: false, visibleIndex: 19 },
52796
+ {
52797
+ name: "displayRateDescriptionsAsExtremeItems:boolean",
52798
+ default: false,
52799
+ visibleIndex: 19,
52800
+ visibleIf: function (obj) {
52801
+ return obj.rateType == "labels";
52802
+ }
52803
+ },
52552
52804
  {
52553
52805
  name: "displayMode",
52554
52806
  default: "auto",
52555
52807
  choices: ["auto", "buttons", "dropdown"],
52556
- visibleIf: function (obj) {
52557
- return obj.rateType == "labels";
52558
- },
52559
52808
  visibleIndex: 20
52560
52809
  }
52561
52810
  ], function () {
@@ -53037,7 +53286,8 @@ var QuestionTagboxModel = /** @class */ (function (_super) {
53037
53286
  });
53038
53287
  Object.defineProperty(QuestionTagboxModel.prototype, "ariaExpanded", {
53039
53288
  get: function () {
53040
- return this.popupModel.isVisible;
53289
+ var popupModel = this.popupModel;
53290
+ return !!popupModel && popupModel.isVisible ? "true" : "false";
53041
53291
  },
53042
53292
  enumerable: false,
53043
53293
  configurable: true
@@ -54104,6 +54354,11 @@ var QuestionTextBase = /** @class */ (function (_super) {
54104
54354
  _super.prototype.setNewValue.call(this, newValue);
54105
54355
  this.updateRemainingCharacterCounter(newValue);
54106
54356
  };
54357
+ QuestionTextBase.prototype.setQuestionValue = function (newValue, updateIsAnswered) {
54358
+ if (updateIsAnswered === void 0) { updateIsAnswered = true; }
54359
+ _super.prototype.setQuestionValue.call(this, newValue, updateIsAnswered);
54360
+ this.updateRemainingCharacterCounter(newValue);
54361
+ };
54107
54362
  QuestionTextBase.prototype.getControlClass = function () {
54108
54363
  return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_3__["CssClassBuilder"]()
54109
54364
  .append(this.cssClasses.root)
@@ -54112,12 +54367,100 @@ var QuestionTextBase = /** @class */ (function (_super) {
54112
54367
  .toString();
54113
54368
  };
54114
54369
  Object.defineProperty(QuestionTextBase.prototype, "ariaRole", {
54370
+ //a11y
54371
+ get: function () {
54372
+ return null;
54373
+ },
54374
+ enumerable: false,
54375
+ configurable: true
54376
+ });
54377
+ Object.defineProperty(QuestionTextBase.prototype, "ariaRequired", {
54378
+ get: function () {
54379
+ return null;
54380
+ },
54381
+ enumerable: false,
54382
+ configurable: true
54383
+ });
54384
+ Object.defineProperty(QuestionTextBase.prototype, "ariaInvalid", {
54385
+ get: function () {
54386
+ return null;
54387
+ },
54388
+ enumerable: false,
54389
+ configurable: true
54390
+ });
54391
+ Object.defineProperty(QuestionTextBase.prototype, "ariaLabel", {
54392
+ get: function () {
54393
+ return null;
54394
+ },
54395
+ enumerable: false,
54396
+ configurable: true
54397
+ });
54398
+ Object.defineProperty(QuestionTextBase.prototype, "ariaLabelledBy", {
54399
+ get: function () {
54400
+ return null;
54401
+ },
54402
+ enumerable: false,
54403
+ configurable: true
54404
+ });
54405
+ Object.defineProperty(QuestionTextBase.prototype, "ariaDescribedBy", {
54406
+ get: function () {
54407
+ return null;
54408
+ },
54409
+ enumerable: false,
54410
+ configurable: true
54411
+ });
54412
+ Object.defineProperty(QuestionTextBase.prototype, "a11y_input_ariaRole", {
54115
54413
  get: function () {
54116
54414
  return "textbox";
54117
54415
  },
54118
54416
  enumerable: false,
54119
54417
  configurable: true
54120
54418
  });
54419
+ Object.defineProperty(QuestionTextBase.prototype, "a11y_input_ariaRequired", {
54420
+ get: function () {
54421
+ return this.isRequired ? "true" : "false";
54422
+ },
54423
+ enumerable: false,
54424
+ configurable: true
54425
+ });
54426
+ Object.defineProperty(QuestionTextBase.prototype, "a11y_input_ariaInvalid", {
54427
+ get: function () {
54428
+ return this.errors.length > 0 ? "true" : "false";
54429
+ },
54430
+ enumerable: false,
54431
+ configurable: true
54432
+ });
54433
+ Object.defineProperty(QuestionTextBase.prototype, "a11y_input_ariaLabel", {
54434
+ get: function () {
54435
+ if (this.hasTitle) {
54436
+ return null;
54437
+ }
54438
+ else {
54439
+ return this.locTitle.renderedHtml;
54440
+ }
54441
+ },
54442
+ enumerable: false,
54443
+ configurable: true
54444
+ });
54445
+ Object.defineProperty(QuestionTextBase.prototype, "a11y_input_ariaLabelledBy", {
54446
+ get: function () {
54447
+ if (this.hasTitle) {
54448
+ return this.ariaTitleId;
54449
+ }
54450
+ else {
54451
+ return null;
54452
+ }
54453
+ },
54454
+ enumerable: false,
54455
+ configurable: true
54456
+ });
54457
+ Object.defineProperty(QuestionTextBase.prototype, "a11y_input_ariaDescribedBy", {
54458
+ get: function () {
54459
+ return this.errors.length > 0 ? this.id + "_errors" : null;
54460
+ },
54461
+ enumerable: false,
54462
+ configurable: true
54463
+ });
54121
54464
  __decorate([
54122
54465
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])({ localizable: true, onSet: function (val, target) { return target.calcRenderedPlaceholder(); } })
54123
54466
  ], QuestionTextBase.prototype, "placeholder", void 0);
@@ -55722,7 +56065,7 @@ var NotifierComponent = /** @class */ (function (_super) {
55722
56065
  if (!this.notifier.isDisplayed)
55723
56066
  return null;
55724
56067
  var style = { visibility: this.notifier.active ? "visible" : "hidden" };
55725
- return (react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { className: this.notifier.css, style: style },
56068
+ return (react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { className: this.notifier.css, style: style, role: "alert", "aria-live": "polite" },
55726
56069
  react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", null, this.notifier.message),
55727
56070
  react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_action_bar_action_bar__WEBPACK_IMPORTED_MODULE_3__["SurveyActionBar"], { model: this.notifier.actionBar })));
55728
56071
  };
@@ -57294,7 +57637,7 @@ var SurveyQuestionDropdownBase = /** @class */ (function (_super) {
57294
57637
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { id: this.question.inputId, className: this.question.getControlClass(), tabIndex: dropdownListModel.inputReadOnly ? undefined : 0, onClick: this.click,
57295
57638
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
57296
57639
  // @ts-ignore
57297
- disabled: this.question.isInputReadOnly, required: this.question.isRequired, onKeyDown: this.keyhandler, onBlur: this.blur, role: this.question.ariaRole, "aria-required": this.question.ariaRequired, "aria-label": this.question.ariaLabel, "aria-invalid": this.question.ariaInvalid, "aria-describedby": this.question.ariaDescribedBy, "aria-expanded": this.question.ariaExpanded ? "true" : "false", "aria-controls": dropdownListModel.listElementId, "aria-activedescendant": dropdownListModel.ariaActivedescendant },
57640
+ disabled: this.question.isInputReadOnly, required: this.question.isRequired, onKeyDown: this.keyhandler, onBlur: this.blur, role: this.question.ariaRole, "aria-required": this.question.ariaRequired, "aria-label": this.question.ariaLabel, "aria-invalid": this.question.ariaInvalid, "aria-describedby": this.question.ariaDescribedBy, "aria-expanded": this.question.ariaExpanded === null ? undefined : this.question.ariaExpanded === "true", "aria-controls": dropdownListModel.listElementId, "aria-activedescendant": dropdownListModel.ariaActivedescendant },
57298
57641
  dropdownListModel.showHintPrefix ?
57299
57642
  (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.question.cssClasses.hintPrefix },
57300
57643
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", null, dropdownListModel.hintStringPrefix))) : null,
@@ -57304,7 +57647,7 @@ var SurveyQuestionDropdownBase = /** @class */ (function (_super) {
57304
57647
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", { style: { visibility: "hidden" }, "data-bind": "text: model.filterString" }, dropdownListModel.inputStringRendered),
57305
57648
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", null, dropdownListModel.hintStringSuffix))) : null,
57306
57649
  valueElement,
57307
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("input", { type: "text", autoComplete: "off", id: this.question.getInputId(), ref: function (element) { return (_this.inputElement = element); }, className: this.question.cssClasses.filterStringInput, role: dropdownListModel.filterStringEnabled ? this.question.ariaRole : undefined, "aria-label": this.question.placeholder, "aria-expanded": this.question.ariaExpanded ? "true" : "false", "aria-controls": dropdownListModel.listElementId, "aria-activedescendant": dropdownListModel.ariaActivedescendant, placeholder: dropdownListModel.placeholderRendered, readOnly: !dropdownListModel.searchEnabled ? true : undefined, tabIndex: dropdownListModel.inputReadOnly ? undefined : -1, disabled: this.question.isInputReadOnly, inputMode: dropdownListModel.inputMode, onChange: function (e) { onInputChange(e); }, onBlur: this.blur, onFocus: this.focus })),
57650
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("input", { type: "text", autoComplete: "off", id: this.question.getInputId(), ref: function (element) { return (_this.inputElement = element); }, className: this.question.cssClasses.filterStringInput, role: dropdownListModel.filterStringEnabled ? this.question.ariaRole : undefined, "aria-label": this.question.placeholder, "aria-expanded": this.question.ariaExpanded === null ? undefined : this.question.ariaExpanded === "true", "aria-controls": dropdownListModel.listElementId, "aria-activedescendant": dropdownListModel.ariaActivedescendant, placeholder: dropdownListModel.placeholderRendered, readOnly: !dropdownListModel.searchEnabled ? true : undefined, tabIndex: dropdownListModel.inputReadOnly ? undefined : -1, disabled: this.question.isInputReadOnly, inputMode: dropdownListModel.inputMode, onChange: function (e) { onInputChange(e); }, onBlur: this.blur, onFocus: this.focus })),
57308
57651
  this.createClearButton()));
57309
57652
  };
57310
57653
  SurveyQuestionDropdownBase.prototype.createClearButton = function () {
@@ -57824,6 +58167,9 @@ var SurveyQuestionImage = /** @class */ (function (_super) {
57824
58167
  var _this = this;
57825
58168
  var cssClasses = this.question.getImageCss();
57826
58169
  var style = { objectFit: this.question.imageFit };
58170
+ if (!this.question.imageLink || this.question.contentNotLoaded) {
58171
+ style["display"] = "none";
58172
+ }
57827
58173
  var control = null;
57828
58174
  if (this.question.renderedMode === "image") {
57829
58175
  control = (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("img", { className: cssClasses, src: this.question.locImageLink.renderedHtml, alt: this.question.altText || this.question.title, width: this.question.renderedWidth, height: this.question.renderedHeight,
@@ -58616,6 +58962,17 @@ var __extends = (undefined && undefined.__extends) || (function () {
58616
58962
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
58617
58963
  };
58618
58964
  })();
58965
+ var __assign = (undefined && undefined.__assign) || function () {
58966
+ __assign = Object.assign || function(t) {
58967
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
58968
+ s = arguments[i];
58969
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
58970
+ t[p] = s[p];
58971
+ }
58972
+ return t;
58973
+ };
58974
+ return __assign.apply(this, arguments);
58975
+ };
58619
58976
 
58620
58977
 
58621
58978
 
@@ -58898,6 +59255,7 @@ function attachKey2click(element, viewModel, options) {
58898
59255
  if ((!!viewModel && viewModel.disableTabStop) || (!!options && options.disableTabStop)) {
58899
59256
  return react__WEBPACK_IMPORTED_MODULE_0__["cloneElement"](element, { tabIndex: -1 });
58900
59257
  }
59258
+ options = __assign({}, options);
58901
59259
  return react__WEBPACK_IMPORTED_MODULE_0__["cloneElement"](element, {
58902
59260
  tabIndex: 0,
58903
59261
  onKeyUp: function (evt) {
@@ -59411,7 +59769,7 @@ var SurveyQuestion = /** @class */ (function (_super) {
59411
59769
  var rootStyle = question.getRootStyle();
59412
59770
  var questionContent = this.wrapQuestionContent(this.renderQuestionContent());
59413
59771
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null,
59414
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { ref: this.rootRef, id: question.id, className: question.getRootCss(), style: rootStyle, role: question.ariaRole, "aria-required": this.question.ariaRequired, "aria-invalid": this.question.ariaInvalid, "aria-labelledby": question.ariaLabelledBy },
59772
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { ref: this.rootRef, id: question.id, className: question.getRootCss(), style: rootStyle, role: question.ariaRole, "aria-required": this.question.ariaRequired, "aria-invalid": this.question.ariaInvalid, "aria-labelledby": question.ariaLabelledBy, "aria-expanded": question.ariaExpanded === null ? undefined : question.ariaExpanded === "true" },
59415
59773
  errorsAboveQuestion,
59416
59774
  headerTop,
59417
59775
  questionContent,
@@ -60103,7 +60461,7 @@ var SurveyQuestionComment = /** @class */ (function (_super) {
60103
60461
  }
60104
60462
  var counter = !!this.question.getMaxLength() ? (react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_components_character_counter__WEBPACK_IMPORTED_MODULE_3__["CharacterCounterComponent"], { counter: this.question.characterCounter, remainingCharacterCounter: this.question.cssClasses.remainingCharacterCounter })) : null;
60105
60463
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null,
60106
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("textarea", { id: this.question.inputId, className: this.question.className, disabled: this.question.isInputReadOnly, readOnly: this.question.isInputReadOnly, ref: function (textarea) { return (_this.setControl(textarea)); }, maxLength: this.question.getMaxLength(), placeholder: placeholder, onBlur: onBlur, onInput: onInput, onKeyDown: function (event) { _this.question.onKeyDown(event); }, cols: this.question.cols, rows: this.question.rows, "aria-required": this.question.ariaRequired, "aria-label": this.question.ariaLabel, "aria-invalid": this.question.ariaInvalid, "aria-describedby": this.question.ariaDescribedBy, style: { resize: this.question.resizeStyle } }),
60464
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("textarea", { id: this.question.inputId, className: this.question.className, disabled: this.question.isInputReadOnly, readOnly: this.question.isInputReadOnly, ref: function (textarea) { return (_this.setControl(textarea)); }, maxLength: this.question.getMaxLength(), placeholder: placeholder, onBlur: onBlur, onInput: onInput, onKeyDown: function (event) { _this.question.onKeyDown(event); }, cols: this.question.cols, rows: this.question.rows, "aria-required": this.question.a11y_input_ariaRequired, "aria-label": this.question.a11y_input_ariaLabel, "aria-labelledby": this.question.a11y_input_ariaLabelledBy, "aria-invalid": this.question.a11y_input_ariaInvalid, "aria-describedby": this.question.a11y_input_ariaDescribedBy, style: { resize: this.question.resizeStyle } }),
60107
60465
  counter));
60108
60466
  };
60109
60467
  return SurveyQuestionComment;
@@ -60863,6 +61221,7 @@ __webpack_require__.r(__webpack_exports__);
60863
61221
  /* harmony import */ var _components_svg_icon_svg_icon__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./components/svg-icon/svg-icon */ "./src/react/components/svg-icon/svg-icon.tsx");
60864
61222
  /* harmony import */ var _reactquestion_element__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./reactquestion_element */ "./src/react/reactquestion_element.tsx");
60865
61223
  /* harmony import */ var _reactquestion_factory__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./reactquestion_factory */ "./src/react/reactquestion_factory.tsx");
61224
+ /* harmony import */ var _reactSurvey__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./reactSurvey */ "./src/react/reactSurvey.tsx");
60866
61225
  var __extends = (undefined && undefined.__extends) || (function () {
60867
61226
  var extendStatics = function (d, b) {
60868
61227
  extendStatics = Object.setPrototypeOf ||
@@ -60883,6 +61242,7 @@ var __extends = (undefined && undefined.__extends) || (function () {
60883
61242
 
60884
61243
 
60885
61244
 
61245
+
60886
61246
  var SurveyQuestionFile = /** @class */ (function (_super) {
60887
61247
  __extends(SurveyQuestionFile, _super);
60888
61248
  function SurveyQuestionFile(props) {
@@ -60920,7 +61280,7 @@ var SurveyQuestionFile = /** @class */ (function (_super) {
60920
61280
  var questionCss = this.question.cssClasses;
60921
61281
  var noFileChosen = null;
60922
61282
  var chooseFile = null;
60923
- chooseFile = (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("label", { role: "button", tabIndex: 0, className: this.question.getChooseFileCss(), htmlFor: this.question.inputId, "aria-label": this.question.chooseButtonCaption },
61283
+ chooseFile = Object(_reactSurvey__WEBPACK_IMPORTED_MODULE_5__["attachKey2click"])(react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("label", { role: "button", tabIndex: 0, className: this.question.getChooseFileCss(), htmlFor: this.question.inputId, "aria-label": this.question.chooseButtonCaption },
60924
61284
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", null, this.question.chooseButtonCaption),
60925
61285
  (!!this.question.cssClasses.chooseFileIconId) ? react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_components_svg_icon_svg_icon__WEBPACK_IMPORTED_MODULE_2__["SvgIcon"], { title: this.question.chooseButtonCaption, iconName: this.question.cssClasses.chooseFileIconId, size: "auto" }) : null));
60926
61286
  if (this.question.isEmpty()) {
@@ -62094,11 +62454,8 @@ var SurveyQuestionPanelDynamic = /** @class */ (function (_super) {
62094
62454
  });
62095
62455
  };
62096
62456
  SurveyQuestionPanelDynamic.prototype.renderNavigatorV2 = function () {
62097
- if (this.question.panelCount === 0 || this.question["showLegacyNavigation"])
62457
+ if (!this.question.showNavigation)
62098
62458
  return null;
62099
- if (!this.question.cssClasses.footer) {
62100
- return null;
62101
- }
62102
62459
  var range = this.question.isRangeShowing && this.question.isProgressBottomShowing ? this.renderRange() : null;
62103
62460
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.question.cssClasses.footer },
62104
62461
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("hr", { className: this.question.cssClasses.separator }),
@@ -62146,7 +62503,7 @@ var SurveyQuestionPanelDynamicItem = /** @class */ (function (_super) {
62146
62503
  SurveyQuestionPanelDynamicItem.prototype.render = function () {
62147
62504
  var panel = _super.prototype.render.call(this);
62148
62505
  var removeButton = this.renderButton();
62149
- var separator = this.question.isRenderModeList && this.index < this.question.panelCount - 1 ?
62506
+ var separator = this.question.showSeparator(this.index) ?
62150
62507
  (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("hr", { className: this.question.cssClasses.separator })) : null;
62151
62508
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null,
62152
62509
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.question.getPanelWrapperCss() },
@@ -62732,7 +63089,7 @@ var SurveyQuestionTagbox = /** @class */ (function (_super) {
62732
63089
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { id: this.question.inputId, className: this.question.getControlClass(), tabIndex: dropdownListModel.inputReadOnly ? undefined : 0, onClick: this.click,
62733
63090
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
62734
63091
  // @ts-ignore
62735
- disabled: this.question.isInputReadOnly, required: this.question.isRequired, onKeyDown: this.keyhandler, onBlur: this.blur, role: this.question.ariaRole, "aria-required": this.question.ariaRequired, "aria-label": this.question.ariaLabel, "aria-invalid": this.question.ariaInvalid, "aria-describedby": this.question.ariaDescribedBy, "aria-expanded": this.question.ariaExpanded ? "true" : "false", "aria-controls": dropdownListModel.listElementId, "aria-activedescendant": dropdownListModel.ariaActivedescendant },
63092
+ disabled: this.question.isInputReadOnly, required: this.question.isRequired, onKeyDown: this.keyhandler, onBlur: this.blur, role: this.question.ariaRole, "aria-required": this.question.ariaRequired, "aria-label": this.question.ariaLabel, "aria-invalid": this.question.ariaInvalid, "aria-describedby": this.question.ariaDescribedBy, "aria-expanded": this.question.ariaExpanded === null ? undefined : this.question.ariaExpanded === "true", "aria-controls": dropdownListModel.listElementId, "aria-activedescendant": dropdownListModel.ariaActivedescendant },
62736
63093
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.question.cssClasses.controlValue },
62737
63094
  items,
62738
63095
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_tagbox_filter__WEBPACK_IMPORTED_MODULE_4__["TagboxFilterString"], { model: dropdownMultiSelectListModel, question: this.question })),
@@ -62808,7 +63165,7 @@ var SurveyQuestionText = /** @class */ (function (_super) {
62808
63165
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null,
62809
63166
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("input", { id: this.question.inputId, disabled: this.isDisplayMode, className: inputClass, type: this.question.inputType,
62810
63167
  //ref={this.controlRef}
62811
- ref: function (input) { return (_this.setControl(input)); }, style: this.question.inputStyle, maxLength: this.question.getMaxLength(), min: this.question.renderedMin, max: this.question.renderedMax, step: this.question.renderedStep, size: this.question.inputSize, placeholder: placeholder, list: this.question.dataListId, autoComplete: this.question.autocomplete, onBlur: this.question.onBlur, onFocus: this.question.onFocus, onChange: this.question.onChange, onKeyUp: this.question.onKeyUp, onKeyDown: this.question.onKeyDown, onCompositionUpdate: function (event) { return _this.question.onCompositionUpdate(event.nativeEvent); }, "aria-required": this.question.ariaRequired, "aria-label": this.question.ariaLabel, "aria-invalid": this.question.ariaInvalid, "aria-describedby": this.question.ariaDescribedBy }),
63168
+ ref: function (input) { return (_this.setControl(input)); }, style: this.question.inputStyle, maxLength: this.question.getMaxLength(), min: this.question.renderedMin, max: this.question.renderedMax, step: this.question.renderedStep, size: this.question.inputSize, placeholder: placeholder, list: this.question.dataListId, autoComplete: this.question.autocomplete, onBlur: this.question.onBlur, onFocus: this.question.onFocus, onChange: this.question.onChange, onKeyUp: this.question.onKeyUp, onKeyDown: this.question.onKeyDown, onCompositionUpdate: function (event) { return _this.question.onCompositionUpdate(event.nativeEvent); }, "aria-required": this.question.a11y_input_ariaRequired, "aria-label": this.question.a11y_input_ariaLabel, "aria-labelledby": this.question.a11y_input_ariaLabelledBy, "aria-invalid": this.question.a11y_input_ariaInvalid, "aria-describedby": this.question.a11y_input_ariaDescribedBy }),
62812
63169
  counter));
62813
63170
  };
62814
63171
  SurveyQuestionText.prototype.renderElement = function () {
@@ -63518,7 +63875,7 @@ var TagboxFilterString = /** @class */ (function (_super) {
63518
63875
  (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.question.cssClasses.hintSuffix },
63519
63876
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", { style: { visibility: "hidden" }, "data-bind": "text: model.filterString" }, this.model.inputStringRendered),
63520
63877
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", null, this.model.hintStringSuffix))) : null,
63521
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("input", { type: "text", autoComplete: "off", id: this.question.getInputId(), inputMode: this.model.inputMode, ref: function (element) { return (_this.inputElement = element); }, className: this.question.cssClasses.filterStringInput, disabled: this.question.isInputReadOnly, readOnly: !this.model.searchEnabled ? true : undefined, size: !this.model.inputStringRendered ? 1 : undefined, role: this.model.filterStringEnabled ? this.question.ariaRole : undefined, "aria-label": this.question.placeholder, "aria-expanded": this.question.ariaExpanded ? "true" : "false", "aria-controls": this.model.listElementId, "aria-activedescendant": this.model.ariaActivedescendant, placeholder: this.model.filterStringPlaceholder, onKeyDown: function (e) { _this.keyhandler(e); }, onChange: function (e) { _this.onChange(e); }, onBlur: function (e) { _this.onBlur(e); }, onFocus: function (e) { _this.onFocus(e); } }))));
63878
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("input", { type: "text", autoComplete: "off", id: this.question.getInputId(), inputMode: this.model.inputMode, ref: function (element) { return (_this.inputElement = element); }, className: this.question.cssClasses.filterStringInput, disabled: this.question.isInputReadOnly, readOnly: !this.model.searchEnabled ? true : undefined, size: !this.model.inputStringRendered ? 1 : undefined, role: this.model.filterStringEnabled ? this.question.ariaRole : undefined, "aria-label": this.question.placeholder, "aria-expanded": this.question.ariaExpanded === null ? undefined : this.question.ariaExpanded === "true", "aria-controls": this.model.listElementId, "aria-activedescendant": this.model.ariaActivedescendant, placeholder: this.model.filterStringPlaceholder, onKeyDown: function (e) { _this.keyhandler(e); }, onChange: function (e) { _this.onChange(e); }, onBlur: function (e) { _this.onBlur(e); }, onFocus: function (e) { _this.onFocus(e); } }))));
63522
63879
  };
63523
63880
  return TagboxFilterString;
63524
63881
  }(_reactquestion_element__WEBPACK_IMPORTED_MODULE_3__["SurveyElementBase"]));
@@ -63567,9 +63924,6 @@ var SurveyQuestionTagboxItem = /** @class */ (function (_super) {
63567
63924
  function SurveyQuestionTagboxItem(props) {
63568
63925
  return _super.call(this, props) || this;
63569
63926
  }
63570
- SurveyQuestionTagboxItem.prototype.getStateElement = function () {
63571
- return this.item;
63572
- };
63573
63927
  Object.defineProperty(SurveyQuestionTagboxItem.prototype, "question", {
63574
63928
  get: function () {
63575
63929
  return this.props.question;
@@ -70514,8 +70868,8 @@ var SurveyModel = /** @class */ (function (_super) {
70514
70868
  this.stopTimer();
70515
70869
  this.isCompleted = true;
70516
70870
  this.clearUnusedValues();
70517
- this.setCookie();
70518
70871
  this.saveDataOnComplete(isCompleteOnTrigger);
70872
+ this.setCookie();
70519
70873
  return true;
70520
70874
  };
70521
70875
  SurveyModel.prototype.saveDataOnComplete = function (isCompleteOnTrigger) {
@@ -73347,7 +73701,7 @@ var SurveyModel = /** @class */ (function (_super) {
73347
73701
  }
73348
73702
  }
73349
73703
  }
73350
- else if (!this.isShowingPreview && isStrCiEqual(layoutElement.id, "toc-navigation") && this.showTOC) {
73704
+ else if (this.state === "running" && isStrCiEqual(layoutElement.id, "toc-navigation") && this.showTOC) {
73351
73705
  if (container === "left") {
73352
73706
  if (["left", "both"].indexOf(this.tocLocation) !== -1) {
73353
73707
  containerLayoutElements.push(layoutElement);
@@ -74080,7 +74434,9 @@ __webpack_require__.r(__webpack_exports__);
74080
74434
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "createTOCListModel", function() { return createTOCListModel; });
74081
74435
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getTocRootCss", function() { return getTocRootCss; });
74082
74436
  /* harmony import */ var _actions_action__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./actions/action */ "./src/actions/action.ts");
74083
- /* harmony import */ var _list__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./list */ "./src/list.ts");
74437
+ /* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./base */ "./src/base.ts");
74438
+ /* harmony import */ var _list__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./list */ "./src/list.ts");
74439
+
74084
74440
 
74085
74441
 
74086
74442
  function tryNavigateToPage(survey, index) {
@@ -74107,10 +74463,11 @@ function createTOCListModel(survey) {
74107
74463
  !!document.activeElement.blur && document.activeElement.blur();
74108
74464
  }
74109
74465
  return tryNavigateToPage(survey, index);
74110
- }
74466
+ },
74467
+ visible: new _base__WEBPACK_IMPORTED_MODULE_1__["ComputedUpdater"](function () { return page.isVisible && !page.isStartPage; })
74111
74468
  });
74112
74469
  });
74113
- var listModel = new _list__WEBPACK_IMPORTED_MODULE_1__["ListModel"](items, function (item) {
74470
+ var listModel = new _list__WEBPACK_IMPORTED_MODULE_2__["ListModel"](items, function (item) {
74114
74471
  if (!!item.action()) {
74115
74472
  listModel.selectedItem = item;
74116
74473
  }
@@ -75917,8 +76274,14 @@ function doKey2ClickUp(evt, options) {
75917
76274
  if (!!element.classList && !element.classList.contains(keyFocusedClassName)) {
75918
76275
  element.classList.add(keyFocusedClassName);
75919
76276
  }
76277
+ return;
76278
+ }
76279
+ if (options) {
76280
+ if (!options.__keyDownReceived)
76281
+ return;
76282
+ options.__keyDownReceived = false;
75920
76283
  }
75921
- else if (char === 13 || char === 32) {
76284
+ if (char === 13 || char === 32) {
75922
76285
  if (element.click)
75923
76286
  element.click();
75924
76287
  }
@@ -75929,6 +76292,8 @@ function doKey2ClickUp(evt, options) {
75929
76292
  }
75930
76293
  function doKey2ClickDown(evt, options) {
75931
76294
  if (options === void 0) { options = { processEsc: true }; }
76295
+ if (options)
76296
+ options.__keyDownReceived = true;
75932
76297
  if (!!evt.target && evt.target["contentEditable"] === "true") {
75933
76298
  return;
75934
76299
  }
@@ -76003,7 +76368,7 @@ function mergeValues(src, dest) {
76003
76368
  return;
76004
76369
  for (var key in src) {
76005
76370
  var value = src[key];
76006
- if (value && typeof value === "object") {
76371
+ if (!Array.isArray(value) && value && typeof value === "object") {
76007
76372
  if (!dest[key] || typeof dest[key] !== "object")
76008
76373
  dest[key] = {};
76009
76374
  mergeValues(value, dest[key]);