survey-react 1.9.94 → 1.9.96

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.94
2
+ * surveyjs - Survey JavaScript library v1.9.96
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
  */
@@ -7526,6 +7526,7 @@ var DropdownListModel = /** @class */ (function (_super) {
7526
7526
  _this.resetItemsSettings();
7527
7527
  }
7528
7528
  }
7529
+ _this.question.processPopupVisiblilityChanged(_this.popupModel, option.isVisible);
7529
7530
  });
7530
7531
  };
7531
7532
  DropdownListModel.prototype.setFilterStringToListModel = function (newValue) {
@@ -8539,7 +8540,7 @@ __webpack_require__.r(__webpack_exports__);
8539
8540
  /*!*************************************!*\
8540
8541
  !*** ./src/entries/chunks/model.ts ***!
8541
8542
  \*************************************/
8542
- /*! 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, DragDropCore, DragDropChoices, DragDropRankingSelectToRank */
8543
+ /*! 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, TOCModel, SurveyProgressModel, SurveyProgressButtonsModel, SurveyModel, SurveyTrigger, SurveyTriggerComplete, SurveyTriggerSetValue, SurveyTriggerVisible, SurveyTriggerCopyValue, SurveyTriggerRunExpression, Trigger, PopupSurveyModel, SurveyWindowModel, TextPreProcessor, Notifier, dxSurveyService, englishStrings, surveyLocalization, surveyStrings, QuestionCustomWidget, CustomWidgetCollection, QuestionCustomModel, QuestionCompositeModel, ComponentQuestionJSON, ComponentCollection, StylesManager, ListModel, MultiSelectListModel, PopupModel, createDialogOptions, PopupBaseViewModel, PopupDropdownViewModel, PopupModalViewModel, createPopupViewModel, createPopupModalViewModel, DropdownListModel, DropdownMultiSelectListModel, QuestionButtonGroupModel, ButtonGroupItemModel, ButtonGroupItemValue, IsMobile, IsTouch, _setIsTouch, confirmAction, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, sanitizeEditableContent, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropCore, DragDropChoices, DragDropRankingSelectToRank */
8543
8544
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
8544
8545
 
8545
8546
  "use strict";
@@ -8838,6 +8839,8 @@ __webpack_require__.r(__webpack_exports__);
8838
8839
 
8839
8840
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getTocRootCss", function() { return _surveyToc__WEBPACK_IMPORTED_MODULE_55__["getTocRootCss"]; });
8840
8841
 
8842
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "TOCModel", function() { return _surveyToc__WEBPACK_IMPORTED_MODULE_55__["TOCModel"]; });
8843
+
8841
8844
  /* harmony import */ var _surveyProgress__WEBPACK_IMPORTED_MODULE_56__ = __webpack_require__(/*! ../../surveyProgress */ "./src/surveyProgress.ts");
8842
8845
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyProgressModel", function() { return _surveyProgress__WEBPACK_IMPORTED_MODULE_56__["SurveyProgressModel"]; });
8843
8846
 
@@ -8990,7 +8993,7 @@ __webpack_require__.r(__webpack_exports__);
8990
8993
  // import "../../main.scss";
8991
8994
  //import "../../modern.scss";
8992
8995
  var Version;
8993
- Version = "" + "1.9.94";
8996
+ Version = "" + "1.9.96";
8994
8997
  function checkLibraryVersion(ver, libraryName) {
8995
8998
  if (Version != ver) {
8996
8999
  var str = "survey-core has version '" + Version + "' and " + libraryName
@@ -9098,7 +9101,7 @@ function checkLibraryVersion(ver, libraryName) {
9098
9101
  /*!**************************************!*\
9099
9102
  !*** ./src/entries/core-wo-model.ts ***!
9100
9103
  \**************************************/
9101
- /*! 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, DragDropCore, DragDropChoices, DragDropRankingSelectToRank, defaultStandardCss, modernCss, SvgIconRegistry, SvgRegistry, SvgBundleViewModel, RendererFactory, ResponsivityManager, VerticalResponsivityManager, unwrap, getOriginalEvent, getElement, createDropdownActionModel, createDropdownActionModelAdvanced, getActionDropdownButtonTarget, BaseAction, Action, ActionDropdownViewModel, AdaptiveActionContainer, defaultActionBarCss, ActionContainer, TooltipManager, DragOrClickHelper */
9104
+ /*! 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, TOCModel, SurveyProgressModel, SurveyProgressButtonsModel, SurveyModel, SurveyTrigger, SurveyTriggerComplete, SurveyTriggerSetValue, SurveyTriggerVisible, SurveyTriggerCopyValue, SurveyTriggerRunExpression, Trigger, PopupSurveyModel, SurveyWindowModel, TextPreProcessor, Notifier, dxSurveyService, englishStrings, surveyLocalization, surveyStrings, QuestionCustomWidget, CustomWidgetCollection, QuestionCustomModel, QuestionCompositeModel, ComponentQuestionJSON, ComponentCollection, StylesManager, ListModel, MultiSelectListModel, PopupModel, createDialogOptions, PopupBaseViewModel, PopupDropdownViewModel, PopupModalViewModel, createPopupViewModel, createPopupModalViewModel, DropdownListModel, DropdownMultiSelectListModel, QuestionButtonGroupModel, ButtonGroupItemModel, ButtonGroupItemValue, IsMobile, IsTouch, _setIsTouch, confirmAction, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, sanitizeEditableContent, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropCore, DragDropChoices, DragDropRankingSelectToRank, defaultStandardCss, modernCss, SvgIconRegistry, SvgRegistry, SvgBundleViewModel, RendererFactory, ResponsivityManager, VerticalResponsivityManager, unwrap, getOriginalEvent, getElement, createDropdownActionModel, createDropdownActionModelAdvanced, getActionDropdownButtonTarget, BaseAction, Action, ActionDropdownViewModel, AdaptiveActionContainer, defaultActionBarCss, ActionContainer, TooltipManager, DragOrClickHelper */
9102
9105
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
9103
9106
 
9104
9107
  "use strict";
@@ -9344,6 +9347,8 @@ __webpack_require__.r(__webpack_exports__);
9344
9347
 
9345
9348
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getTocRootCss", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__["getTocRootCss"]; });
9346
9349
 
9350
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "TOCModel", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__["TOCModel"]; });
9351
+
9347
9352
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyProgressModel", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__["SurveyProgressModel"]; });
9348
9353
 
9349
9354
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyProgressButtonsModel", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__["SurveyProgressButtonsModel"]; });
@@ -9539,7 +9544,7 @@ __webpack_require__.r(__webpack_exports__);
9539
9544
  /*!*****************************!*\
9540
9545
  !*** ./src/entries/core.ts ***!
9541
9546
  \*****************************/
9542
- /*! 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, DragDropCore, DragDropChoices, DragDropRankingSelectToRank, defaultStandardCss, modernCss, SvgIconRegistry, SvgRegistry, SvgBundleViewModel, RendererFactory, ResponsivityManager, VerticalResponsivityManager, unwrap, getOriginalEvent, getElement, createDropdownActionModel, createDropdownActionModelAdvanced, getActionDropdownButtonTarget, BaseAction, Action, ActionDropdownViewModel, AdaptiveActionContainer, defaultActionBarCss, ActionContainer, TooltipManager, DragOrClickHelper, Model */
9547
+ /*! 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, TOCModel, SurveyProgressModel, SurveyProgressButtonsModel, SurveyModel, SurveyTrigger, SurveyTriggerComplete, SurveyTriggerSetValue, SurveyTriggerVisible, SurveyTriggerCopyValue, SurveyTriggerRunExpression, Trigger, PopupSurveyModel, SurveyWindowModel, TextPreProcessor, Notifier, dxSurveyService, englishStrings, surveyLocalization, surveyStrings, QuestionCustomWidget, CustomWidgetCollection, QuestionCustomModel, QuestionCompositeModel, ComponentQuestionJSON, ComponentCollection, StylesManager, ListModel, MultiSelectListModel, PopupModel, createDialogOptions, PopupBaseViewModel, PopupDropdownViewModel, PopupModalViewModel, createPopupViewModel, createPopupModalViewModel, DropdownListModel, DropdownMultiSelectListModel, QuestionButtonGroupModel, ButtonGroupItemModel, ButtonGroupItemValue, IsMobile, IsTouch, _setIsTouch, confirmAction, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, sanitizeEditableContent, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropCore, DragDropChoices, DragDropRankingSelectToRank, defaultStandardCss, modernCss, SvgIconRegistry, SvgRegistry, SvgBundleViewModel, RendererFactory, ResponsivityManager, VerticalResponsivityManager, unwrap, getOriginalEvent, getElement, createDropdownActionModel, createDropdownActionModelAdvanced, getActionDropdownButtonTarget, BaseAction, Action, ActionDropdownViewModel, AdaptiveActionContainer, defaultActionBarCss, ActionContainer, TooltipManager, DragOrClickHelper, Model */
9543
9548
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
9544
9549
 
9545
9550
  "use strict";
@@ -9785,6 +9790,8 @@ __webpack_require__.r(__webpack_exports__);
9785
9790
 
9786
9791
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getTocRootCss", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__["getTocRootCss"]; });
9787
9792
 
9793
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "TOCModel", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__["TOCModel"]; });
9794
+
9788
9795
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyProgressModel", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__["SurveyProgressModel"]; });
9789
9796
 
9790
9797
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyProgressButtonsModel", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__["SurveyProgressButtonsModel"]; });
@@ -10340,7 +10347,7 @@ __webpack_require__.r(__webpack_exports__);
10340
10347
  /*!******************************!*\
10341
10348
  !*** ./src/entries/react.ts ***!
10342
10349
  \******************************/
10343
- /*! 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, DragDropCore, DragDropChoices, DragDropRankingSelectToRank, defaultStandardCss, modernCss, SvgIconRegistry, SvgRegistry, SvgBundleViewModel, RendererFactory, ResponsivityManager, VerticalResponsivityManager, unwrap, getOriginalEvent, getElement, createDropdownActionModel, createDropdownActionModelAdvanced, getActionDropdownButtonTarget, BaseAction, Action, ActionDropdownViewModel, AdaptiveActionContainer, defaultActionBarCss, ActionContainer, TooltipManager, DragOrClickHelper, Model, bootstrapThemeName, bootstrapThemeColors, bootstrapThemeCssRules, bootstrapMaterialThemeName, bootstrapMaterialThemeColors, bootstrapMaterialThemeCssRules, defaultBootstrapCss, defaultBootstrapMaterialCss, Survey, attachKey2click, ReactSurveyElementsWrapper, SurveyNavigationBase, SurveyTimerPanel, SurveyPage, SurveyRow, SurveyPanel, SurveyFlowPanel, SurveyQuestion, SurveyElementErrors, SurveyQuestionAndErrorsCell, ReactSurveyElement, SurveyElementBase, SurveyQuestionElementBase, SurveyQuestionCommentItem, SurveyQuestionComment, SurveyQuestionCheckbox, SurveyQuestionCheckboxItem, SurveyQuestionRanking, SurveyQuestionRankingItem, RatingItem, RatingItemStar, RatingItemSmiley, TagboxFilterString, SurveyQuestionOptionItem, SurveyQuestionDropdownBase, SurveyQuestionDropdown, SurveyQuestionTagboxItem, SurveyQuestionTagbox, SurveyQuestionDropdownSelect, SurveyQuestionMatrix, SurveyQuestionMatrixRow, SurveyQuestionHtml, SurveyQuestionFile, SurveyQuestionMultipleText, SurveyQuestionRadiogroup, SurveyQuestionRadioItem, SurveyQuestionText, SurveyQuestionBoolean, SurveyQuestionBooleanCheckbox, SurveyQuestionBooleanRadio, SurveyQuestionEmpty, SurveyQuestionMatrixDropdownCell, SurveyQuestionMatrixDropdownBase, SurveyQuestionMatrixDropdown, SurveyQuestionMatrixDynamic, SurveyQuestionMatrixDynamicAddButton, SurveyQuestionPanelDynamic, SurveyProgress, SurveyProgressButtons, SurveyProgressToc, SurveyQuestionRating, SurveyQuestionRatingDropdown, SurveyQuestionExpression, PopupSurvey, SurveyWindow, ReactQuestionFactory, ReactElementFactory, SurveyQuestionImagePicker, SurveyQuestionImage, SurveyQuestionSignaturePad, SurveyQuestionButtonGroup, SurveyQuestionCustom, SurveyQuestionComposite, Popup, List, TitleActions, TitleElement, SurveyActionBar, LogoImage, SurveyHeader, SvgIcon, SurveyQuestionMatrixDynamicRemoveButton, SurveyQuestionMatrixDetailButton, SurveyQuestionMatrixDynamicDragDropIcon, SurveyQuestionPanelDynamicAddButton, SurveyQuestionPanelDynamicRemoveButton, SurveyQuestionPanelDynamicPrevButton, SurveyQuestionPanelDynamicNextButton, SurveyQuestionPanelDynamicProgressText, SurveyNavigationButton, MatrixRow, Skeleton, NotifierComponent, ComponentsContainer, CharacterCounterComponent, SurveyLocStringViewer, SurveyLocStringEditor */
10350
+ /*! 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, TOCModel, SurveyProgressModel, SurveyProgressButtonsModel, SurveyModel, SurveyTrigger, SurveyTriggerComplete, SurveyTriggerSetValue, SurveyTriggerVisible, SurveyTriggerCopyValue, SurveyTriggerRunExpression, Trigger, PopupSurveyModel, SurveyWindowModel, TextPreProcessor, Notifier, dxSurveyService, englishStrings, surveyLocalization, surveyStrings, QuestionCustomWidget, CustomWidgetCollection, QuestionCustomModel, QuestionCompositeModel, ComponentQuestionJSON, ComponentCollection, StylesManager, ListModel, MultiSelectListModel, PopupModel, createDialogOptions, PopupBaseViewModel, PopupDropdownViewModel, PopupModalViewModel, createPopupViewModel, createPopupModalViewModel, DropdownListModel, DropdownMultiSelectListModel, QuestionButtonGroupModel, ButtonGroupItemModel, ButtonGroupItemValue, IsMobile, IsTouch, _setIsTouch, confirmAction, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, sanitizeEditableContent, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropCore, DragDropChoices, DragDropRankingSelectToRank, defaultStandardCss, modernCss, SvgIconRegistry, SvgRegistry, SvgBundleViewModel, RendererFactory, ResponsivityManager, VerticalResponsivityManager, unwrap, getOriginalEvent, getElement, createDropdownActionModel, createDropdownActionModelAdvanced, getActionDropdownButtonTarget, BaseAction, Action, ActionDropdownViewModel, AdaptiveActionContainer, defaultActionBarCss, ActionContainer, TooltipManager, DragOrClickHelper, Model, bootstrapThemeName, bootstrapThemeColors, bootstrapThemeCssRules, bootstrapMaterialThemeName, bootstrapMaterialThemeColors, bootstrapMaterialThemeCssRules, defaultBootstrapCss, defaultBootstrapMaterialCss, Survey, attachKey2click, ReactSurveyElementsWrapper, SurveyNavigationBase, SurveyTimerPanel, SurveyPage, SurveyRow, SurveyPanel, SurveyFlowPanel, SurveyQuestion, SurveyElementErrors, SurveyQuestionAndErrorsCell, ReactSurveyElement, SurveyElementBase, SurveyQuestionElementBase, SurveyQuestionCommentItem, SurveyQuestionComment, SurveyQuestionCheckbox, SurveyQuestionCheckboxItem, SurveyQuestionRanking, SurveyQuestionRankingItem, RatingItem, RatingItemStar, RatingItemSmiley, TagboxFilterString, SurveyQuestionOptionItem, SurveyQuestionDropdownBase, SurveyQuestionDropdown, SurveyQuestionTagboxItem, SurveyQuestionTagbox, SurveyQuestionDropdownSelect, SurveyQuestionMatrix, SurveyQuestionMatrixRow, SurveyQuestionHtml, SurveyQuestionFile, SurveyQuestionMultipleText, SurveyQuestionRadiogroup, SurveyQuestionRadioItem, SurveyQuestionText, SurveyQuestionBoolean, SurveyQuestionBooleanCheckbox, SurveyQuestionBooleanRadio, SurveyQuestionEmpty, SurveyQuestionMatrixDropdownCell, SurveyQuestionMatrixDropdownBase, SurveyQuestionMatrixDropdown, SurveyQuestionMatrixDynamic, SurveyQuestionMatrixDynamicAddButton, SurveyQuestionPanelDynamic, SurveyProgress, SurveyProgressButtons, SurveyProgressToc, SurveyQuestionRating, SurveyQuestionRatingDropdown, SurveyQuestionExpression, PopupSurvey, SurveyWindow, ReactQuestionFactory, ReactElementFactory, SurveyQuestionImagePicker, SurveyQuestionImage, SurveyQuestionSignaturePad, SurveyQuestionButtonGroup, SurveyQuestionCustom, SurveyQuestionComposite, Popup, List, TitleActions, TitleElement, SurveyActionBar, LogoImage, SurveyHeader, SvgIcon, SurveyQuestionMatrixDynamicRemoveButton, SurveyQuestionMatrixDetailButton, SurveyQuestionMatrixDynamicDragDropIcon, SurveyQuestionPanelDynamicAddButton, SurveyQuestionPanelDynamicRemoveButton, SurveyQuestionPanelDynamicPrevButton, SurveyQuestionPanelDynamicNextButton, SurveyQuestionPanelDynamicProgressText, SurveyNavigationButton, MatrixRow, Skeleton, NotifierComponent, ComponentsContainer, CharacterCounterComponent, SurveyLocStringViewer, SurveyLocStringEditor */
10344
10351
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
10345
10352
 
10346
10353
  "use strict";
@@ -10586,6 +10593,8 @@ __webpack_require__.r(__webpack_exports__);
10586
10593
 
10587
10594
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getTocRootCss", function() { return _core__WEBPACK_IMPORTED_MODULE_0__["getTocRootCss"]; });
10588
10595
 
10596
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "TOCModel", function() { return _core__WEBPACK_IMPORTED_MODULE_0__["TOCModel"]; });
10597
+
10589
10598
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyProgressModel", function() { return _core__WEBPACK_IMPORTED_MODULE_0__["SurveyProgressModel"]; });
10590
10599
 
10591
10600
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyProgressButtonsModel", function() { return _core__WEBPACK_IMPORTED_MODULE_0__["SurveyProgressButtonsModel"]; });
@@ -16151,6 +16160,7 @@ var map = {
16151
16160
  "./ModernCheck.svg": "./src/images/ModernCheck.svg",
16152
16161
  "./ModernRadio.svg": "./src/images/ModernRadio.svg",
16153
16162
  "./More.svg": "./src/images/More.svg",
16163
+ "./NavMenu_24x24.svg": "./src/images/NavMenu_24x24.svg",
16154
16164
  "./ProgressButton.svg": "./src/images/ProgressButton.svg",
16155
16165
  "./ProgressButtonV2.svg": "./src/images/ProgressButtonV2.svg",
16156
16166
  "./RemoveFile.svg": "./src/images/RemoveFile.svg",
@@ -16369,6 +16379,17 @@ module.exports = "<svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\
16369
16379
 
16370
16380
  /***/ }),
16371
16381
 
16382
+ /***/ "./src/images/NavMenu_24x24.svg":
16383
+ /*!**************************************!*\
16384
+ !*** ./src/images/NavMenu_24x24.svg ***!
16385
+ \**************************************/
16386
+ /*! no static exports found */
16387
+ /***/ (function(module, exports) {
16388
+
16389
+ module.exports = "<svg viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M16 7H2V5H16V7ZM2 11V13H22V11H2ZM2 19H10V17H2V19Z\" fill=\"black\" fill-opacity=\"0.45\"></path></svg>"
16390
+
16391
+ /***/ }),
16392
+
16372
16393
  /***/ "./src/images/ProgressButton.svg":
16373
16394
  /*!***************************************!*\
16374
16395
  !*** ./src/images/ProgressButton.svg ***!
@@ -16736,8 +16757,7 @@ __webpack_require__.r(__webpack_exports__);
16736
16757
  /* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./base */ "./src/base.ts");
16737
16758
  /* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./settings */ "./src/settings.ts");
16738
16759
  /* harmony import */ var _actions_action__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./actions/action */ "./src/actions/action.ts");
16739
- /* harmony import */ var _question_baseselect__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./question_baseselect */ "./src/question_baseselect.ts");
16740
- /* harmony import */ var _question__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./question */ "./src/question.ts");
16760
+ /* harmony import */ var _question__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./question */ "./src/question.ts");
16741
16761
  var __extends = (undefined && undefined.__extends) || (function () {
16742
16762
  var extendStatics = function (d, b) {
16743
16763
  extendStatics = Object.setPrototypeOf ||
@@ -16767,7 +16787,6 @@ var __decorate = (undefined && undefined.__decorate) || function (decorators, ta
16767
16787
 
16768
16788
 
16769
16789
 
16770
-
16771
16790
  /**
16772
16791
  * Array of ItemValue is used in checkbox, dropdown and radiogroup choices, matrix columns and rows.
16773
16792
  * It has two main properties: value and text. If text is empty, value is used for displaying.
@@ -17181,8 +17200,9 @@ var ItemValue = /** @class */ (function (_super) {
17181
17200
  Object.defineProperty(ItemValue.prototype, "selected", {
17182
17201
  get: function () {
17183
17202
  var _this = this;
17184
- if (this._locOwner instanceof _question_baseselect__WEBPACK_IMPORTED_MODULE_7__["QuestionSelectBase"] && this.selectedValue === undefined) {
17185
- this.selectedValue = (new _base__WEBPACK_IMPORTED_MODULE_4__["ComputedUpdater"](function () { return _this._locOwner.isItemSelected(_this); }));
17203
+ var locOwner = this._locOwner;
17204
+ if (locOwner instanceof _question__WEBPACK_IMPORTED_MODULE_7__["Question"] && locOwner.isItemSelected && this.selectedValue === undefined) {
17205
+ this.selectedValue = (new _base__WEBPACK_IMPORTED_MODULE_4__["ComputedUpdater"](function () { return locOwner.isItemSelected(_this); }));
17186
17206
  }
17187
17207
  return this.selectedValue;
17188
17208
  },
@@ -17190,7 +17210,7 @@ var ItemValue = /** @class */ (function (_super) {
17190
17210
  configurable: true
17191
17211
  });
17192
17212
  ItemValue.prototype.getComponent = function () {
17193
- if (this._locOwner instanceof _question__WEBPACK_IMPORTED_MODULE_8__["Question"]) {
17213
+ if (this._locOwner instanceof _question__WEBPACK_IMPORTED_MODULE_7__["Question"]) {
17194
17214
  return this.componentValue || this._locOwner.itemComponent;
17195
17215
  }
17196
17216
  return this.componentValue;
@@ -27217,6 +27237,12 @@ var PanelModelBase = /** @class */ (function (_super) {
27217
27237
  }
27218
27238
  return !rec.result;
27219
27239
  };
27240
+ PanelModelBase.prototype.validateContainerOnly = function () {
27241
+ this.hasErrorsInPanels({ fireCallback: true });
27242
+ if (!!this.parent) {
27243
+ this.parent.validateContainerOnly();
27244
+ }
27245
+ };
27220
27246
  PanelModelBase.prototype.hasErrorsInPanels = function (rec) {
27221
27247
  var errors = [];
27222
27248
  this.hasRequiredError(rec, errors);
@@ -29901,18 +29927,7 @@ var PopupDropdownViewModel = /** @class */ (function (_super) {
29901
29927
  _this.clientY = event.touches[0].clientY;
29902
29928
  };
29903
29929
  _this.touchMoveEventCallback = function (event) {
29904
- var currentElement = event.target;
29905
- while (currentElement !== _this.container) {
29906
- if (window.getComputedStyle(currentElement).overflowY === "auto" && currentElement.scrollHeight !== currentElement.offsetHeight) {
29907
- var scrollHeight = currentElement.scrollHeight, scrollTop = currentElement.scrollTop, clientHeight = currentElement.clientHeight;
29908
- var deltaY = _this.clientY - event.changedTouches[0].clientY;
29909
- if (!(deltaY > 0 && Math.abs(scrollHeight - clientHeight - scrollTop) < 1) && !(deltaY < 0 && scrollTop <= 0)) {
29910
- return;
29911
- }
29912
- }
29913
- currentElement = currentElement.parentElement;
29914
- }
29915
- event.preventDefault();
29930
+ _this.preventScrollOuside(event, _this.clientY - event.changedTouches[0].clientY);
29916
29931
  };
29917
29932
  _this.model.onRecalculatePosition.add(function (_, options) {
29918
29933
  if (!_this.isOverlay) {
@@ -30091,7 +30106,6 @@ var PopupDropdownViewModel = /** @class */ (function (_super) {
30091
30106
  __webpack_require__.r(__webpack_exports__);
30092
30107
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PopupModalViewModel", function() { return PopupModalViewModel; });
30093
30108
  /* harmony import */ var _popup_view_model__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./popup-view-model */ "./src/popup-view-model.ts");
30094
- /* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils/utils */ "./src/utils/utils.ts");
30095
30109
  var __extends = (undefined && undefined.__extends) || (function () {
30096
30110
  var extendStatics = function (d, b) {
30097
30111
  extendStatics = Object.setPrototypeOf ||
@@ -30108,13 +30122,12 @@ var __extends = (undefined && undefined.__extends) || (function () {
30108
30122
  };
30109
30123
  })();
30110
30124
 
30111
-
30112
30125
  var PopupModalViewModel = /** @class */ (function (_super) {
30113
30126
  __extends(PopupModalViewModel, _super);
30114
30127
  function PopupModalViewModel(model) {
30115
30128
  var _this = _super.call(this, model) || this;
30116
30129
  _this.onScrollOutsideCallback = function (event) {
30117
- Object(_utils_utils__WEBPACK_IMPORTED_MODULE_1__["preventDefaults"])(event);
30130
+ _this.preventScrollOuside(event, event.deltaY);
30118
30131
  };
30119
30132
  return _this;
30120
30133
  }
@@ -30252,6 +30265,16 @@ var PopupSurveyModel = /** @class */ (function (_super) {
30252
30265
  _this.width = _this.survey.width;
30253
30266
  _this.updateCss();
30254
30267
  _this.onCreating();
30268
+ _this.survey.onPopupVisibleChanged.add(function (_, opt) {
30269
+ if (opt.visible) {
30270
+ _this.onScrollCallback = function () {
30271
+ opt.popup.toggleVisibility();
30272
+ };
30273
+ }
30274
+ else {
30275
+ _this.onScrollCallback = undefined;
30276
+ }
30277
+ });
30255
30278
  return _this;
30256
30279
  }
30257
30280
  PopupSurveyModel.prototype.onCreating = function () { };
@@ -30456,6 +30479,11 @@ var PopupSurveyModel = /** @class */ (function (_super) {
30456
30479
  : 0;
30457
30480
  }
30458
30481
  };
30482
+ PopupSurveyModel.prototype.onScroll = function () {
30483
+ if (this.onScrollCallback) {
30484
+ this.onScrollCallback();
30485
+ }
30486
+ };
30459
30487
  __decorate([
30460
30488
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__["property"])()
30461
30489
  ], PopupSurveyModel.prototype, "width", void 0);
@@ -30838,6 +30866,19 @@ var PopupBaseViewModel = /** @class */ (function (_super) {
30838
30866
  this.containerElement = componentRoot;
30839
30867
  }
30840
30868
  };
30869
+ PopupBaseViewModel.prototype.preventScrollOuside = function (event, deltaY) {
30870
+ var currentElement = event.target;
30871
+ while (currentElement !== this.container) {
30872
+ if (window.getComputedStyle(currentElement).overflowY === "auto" && currentElement.scrollHeight !== currentElement.offsetHeight) {
30873
+ var scrollHeight = currentElement.scrollHeight, scrollTop = currentElement.scrollTop, clientHeight = currentElement.clientHeight;
30874
+ if (!(deltaY > 0 && Math.abs(scrollHeight - clientHeight - scrollTop) < 1) && !(deltaY < 0 && scrollTop <= 0)) {
30875
+ return;
30876
+ }
30877
+ }
30878
+ currentElement = currentElement.parentElement;
30879
+ }
30880
+ event.preventDefault();
30881
+ };
30841
30882
  __decorate([
30842
30883
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])({ defaultValue: "0px" })
30843
30884
  ], PopupBaseViewModel.prototype, "top", void 0);
@@ -31229,6 +31270,17 @@ var Question = /** @class */ (function (_super) {
31229
31270
  get: function () {
31230
31271
  return this.isReadyValue;
31231
31272
  },
31273
+ set: function (val) {
31274
+ var oldIsReady = this.isReadyValue;
31275
+ this.isReadyValue = val;
31276
+ if (oldIsReady != val) {
31277
+ this.onReadyChanged.fire(this, {
31278
+ question: this,
31279
+ isReady: val,
31280
+ oldIsReady: oldIsReady,
31281
+ });
31282
+ }
31283
+ },
31232
31284
  enumerable: false,
31233
31285
  configurable: true
31234
31286
  });
@@ -33169,6 +33221,11 @@ var Question = /** @class */ (function (_super) {
33169
33221
  Question.prototype.validate = function (fireCallback, rec) {
33170
33222
  if (fireCallback === void 0) { fireCallback = true; }
33171
33223
  if (rec === void 0) { rec = null; }
33224
+ if (!!rec && rec.isOnValueChanged) {
33225
+ if (!!this.parent) {
33226
+ this.parent.validateContainerOnly();
33227
+ }
33228
+ }
33172
33229
  return !this.hasErrors(fireCallback, rec);
33173
33230
  };
33174
33231
  Object.defineProperty(Question.prototype, "currentErrorCount", {
@@ -33485,6 +33542,9 @@ var Question = /** @class */ (function (_super) {
33485
33542
  Question.prototype.getAllValues = function () {
33486
33543
  return !!this.data ? this.data.getAllValues() : null;
33487
33544
  };
33545
+ Question.prototype.processPopupVisiblilityChanged = function (popupModel, visible) {
33546
+ this.survey.processPopupVisiblityChanged(this, popupModel, visible);
33547
+ };
33488
33548
  Question.prototype.transformToMobileView = function () { };
33489
33549
  Question.prototype.transformToDesktopView = function () { };
33490
33550
  Question.prototype.needResponsiveWidth = function () {
@@ -34048,6 +34108,20 @@ var QuestionSelectBase = /** @class */ (function (_super) {
34048
34108
  };
34049
34109
  return _this;
34050
34110
  }
34111
+ Object.defineProperty(QuestionSelectBase.prototype, "waitingChoicesByURL", {
34112
+ get: function () {
34113
+ return !this.isChoicesLoaded && !this.choicesByUrl.isEmpty;
34114
+ },
34115
+ enumerable: false,
34116
+ configurable: true
34117
+ });
34118
+ Object.defineProperty(QuestionSelectBase.prototype, "waitingAcyncOperations", {
34119
+ get: function () {
34120
+ return this.waitingChoicesByURL || this.waitingGetChoiceDisplayValueResponse;
34121
+ },
34122
+ enumerable: false,
34123
+ configurable: true
34124
+ });
34051
34125
  QuestionSelectBase.prototype.getType = function () {
34052
34126
  return "selectbase";
34053
34127
  };
@@ -34346,7 +34420,7 @@ var QuestionSelectBase = /** @class */ (function (_super) {
34346
34420
  (_a = this.survey) === null || _a === void 0 ? void 0 : _a.loadedChoicesFromServer(this);
34347
34421
  };
34348
34422
  QuestionSelectBase.prototype.getItemIfChoicesNotContainThisValue = function (value, text) {
34349
- if (!this.isReady) {
34423
+ if (this.waitingChoicesByURL) {
34350
34424
  return this.createItemValue(value, text);
34351
34425
  }
34352
34426
  else {
@@ -34591,6 +34665,7 @@ var QuestionSelectBase = /** @class */ (function (_super) {
34591
34665
  var _this = this;
34592
34666
  if (!!this.survey && !this.isEmpty() && !_itemvalue__WEBPACK_IMPORTED_MODULE_3__["ItemValue"].getItemByValue(this.choices, this.value)) {
34593
34667
  this.waitingGetChoiceDisplayValueResponse = true;
34668
+ this.isReady = !this.waitingAcyncOperations;
34594
34669
  this.survey.getChoiceDisplayValue({
34595
34670
  question: this,
34596
34671
  values: [this.value],
@@ -34599,6 +34674,7 @@ var QuestionSelectBase = /** @class */ (function (_super) {
34599
34674
  if (!displayValues || !displayValues.length)
34600
34675
  return;
34601
34676
  _this.selectedItemValues = _this.createItemValue(_this.value, displayValues[0]);
34677
+ _this.isReady = !_this.waitingAcyncOperations;
34602
34678
  }
34603
34679
  });
34604
34680
  }
@@ -34609,6 +34685,7 @@ var QuestionSelectBase = /** @class */ (function (_super) {
34609
34685
  var hasItemWithValues = valueArray.some(function (val) { return !_itemvalue__WEBPACK_IMPORTED_MODULE_3__["ItemValue"].getItemByValue(_this.choices, val); });
34610
34686
  if (!!this.survey && !this.isEmpty() && hasItemWithValues) {
34611
34687
  this.waitingGetChoiceDisplayValueResponse = true;
34688
+ this.isReady = this.waitingAcyncOperations;
34612
34689
  this.survey.getChoiceDisplayValue({
34613
34690
  question: this,
34614
34691
  values: valueArray,
@@ -34617,6 +34694,7 @@ var QuestionSelectBase = /** @class */ (function (_super) {
34617
34694
  if (!displayValues || !displayValues.length)
34618
34695
  return;
34619
34696
  _this.selectedItemValues = displayValues.map(function (displayValue, index) { return _this.createItemValue(_this.value[index], displayValue); });
34697
+ _this.isReady = !_this.waitingAcyncOperations;
34620
34698
  }
34621
34699
  });
34622
34700
  }
@@ -35255,7 +35333,7 @@ var QuestionSelectBase = /** @class */ (function (_super) {
35255
35333
  processor = this.survey;
35256
35334
  if (!processor)
35257
35335
  return;
35258
- this.isReadyValue = this.isChoicesLoaded || this.choicesByUrl.isEmpty;
35336
+ this.isReadyValue = !this.waitingAcyncOperations;
35259
35337
  this.isRunningChoices = true;
35260
35338
  this.choicesByUrl.run(processor);
35261
35339
  this.isRunningChoices = false;
@@ -35656,14 +35734,7 @@ var QuestionSelectBase = /** @class */ (function (_super) {
35656
35734
  });
35657
35735
  QuestionSelectBase.prototype.choicesLoaded = function () {
35658
35736
  this.isChoicesLoaded = true;
35659
- var oldIsReady = this.isReadyValue;
35660
- this.isReadyValue = true;
35661
- this.onReadyChanged &&
35662
- this.onReadyChanged.fire(this, {
35663
- question: this,
35664
- isReady: true,
35665
- oldIsReady: oldIsReady,
35666
- });
35737
+ this.isReady = !this.waitingAcyncOperations;
35667
35738
  if (this.survey) {
35668
35739
  this.survey.loadedChoicesFromServer(this);
35669
35740
  }
@@ -37845,6 +37916,9 @@ var QuestionCustomModelBase = /** @class */ (function (_super) {
37845
37916
  QuestionCustomModelBase.prototype.ensureRowsVisibility = function () {
37846
37917
  // do nothing
37847
37918
  };
37919
+ QuestionCustomModelBase.prototype.validateContainerOnly = function () {
37920
+ // do nothing
37921
+ };
37848
37922
  QuestionCustomModelBase.prototype.getContentDisplayValueCore = function (keyAsText, value, question) {
37849
37923
  if (!question)
37850
37924
  return _super.prototype.getDisplayValueCore.call(this, keyAsText, value);
@@ -39815,13 +39889,7 @@ var QuestionFileModel = /** @class */ (function (_super) {
39815
39889
  _this.previewValue.push(val);
39816
39890
  });
39817
39891
  }
39818
- _this.isReadyValue = true;
39819
- _this.onReadyChanged &&
39820
- _this.onReadyChanged.fire(_this, {
39821
- question: _this,
39822
- isReady: true,
39823
- oldIsReady: false,
39824
- });
39892
+ _this.isReady = true;
39825
39893
  _this._previewLoader.dispose();
39826
39894
  _this._previewLoader = undefined;
39827
39895
  });
@@ -40043,19 +40111,22 @@ var FileLoader = /** @class */ (function () {
40043
40111
  }
40044
40112
  FileLoader.prototype.load = function (files) {
40045
40113
  var _this = this;
40046
- files.forEach(function (value) {
40114
+ var downloadedCount = 0;
40115
+ this.loaded = new Array(files.length);
40116
+ files.forEach(function (value, index) {
40047
40117
  if (_this.fileQuestion.survey) {
40048
40118
  _this.fileQuestion.survey.downloadFile(_this.fileQuestion, _this.fileQuestion.name, value, function (status, data) {
40049
40119
  if (!_this.fileQuestion || !_this.callback) {
40050
40120
  return;
40051
40121
  }
40052
40122
  if (status === "success") {
40053
- _this.loaded.push({
40123
+ _this.loaded[index] = {
40054
40124
  content: data,
40055
40125
  name: value.name,
40056
40126
  type: value.type,
40057
- });
40058
- if (_this.loaded.length === files.length) {
40127
+ };
40128
+ downloadedCount++;
40129
+ if (downloadedCount === files.length) {
40059
40130
  _this.callback("loaded", _this.loaded);
40060
40131
  }
40061
40132
  }
@@ -42463,7 +42534,10 @@ var MatrixDropdownRowModelBase = /** @class */ (function () {
42463
42534
  };
42464
42535
  MatrixDropdownRowModelBase.prototype.getFilteredValues = function () {
42465
42536
  var allValues = this.getAllValues();
42466
- var values = { row: allValues };
42537
+ var values = this.validationValues;
42538
+ if (!values)
42539
+ values = {};
42540
+ values.row = allValues;
42467
42541
  for (var key in allValues) {
42468
42542
  values[key] = allValues[key];
42469
42543
  }
@@ -42740,6 +42814,7 @@ var MatrixDropdownRowModelBase = /** @class */ (function () {
42740
42814
  var cells = this.cells;
42741
42815
  if (!cells)
42742
42816
  return res;
42817
+ this.validationValues = rec.validationValues;
42743
42818
  for (var colIndex = 0; colIndex < cells.length; colIndex++) {
42744
42819
  if (!cells[colIndex])
42745
42820
  continue;
@@ -42764,6 +42839,7 @@ var MatrixDropdownRowModelBase = /** @class */ (function () {
42764
42839
  }
42765
42840
  res = panelHasError || res;
42766
42841
  }
42842
+ this.validationValues = undefined;
42767
42843
  return res;
42768
42844
  };
42769
42845
  MatrixDropdownRowModelBase.prototype.updateCellOnColumnChanged = function (cell, name, newValue) {
@@ -44112,6 +44188,7 @@ var QuestionMatrixDropdownModelBase = /** @class */ (function (_super) {
44112
44188
  rec = {};
44113
44189
  if (!rows)
44114
44190
  return rec;
44191
+ rec.validationValues = this.getDataFilteredValues();
44115
44192
  rec.isSingleDetailPanel = this.detailPanelMode === "underRowSingle";
44116
44193
  for (var i = 0; i < rows.length; i++) {
44117
44194
  res = rows[i].hasErrors(fireCallback, rec, function () {
@@ -48250,6 +48327,9 @@ var QuestionMultipleTextModel = /** @class */ (function (_super) {
48250
48327
  QuestionMultipleTextModel.prototype.ensureRowsVisibility = function () {
48251
48328
  // do nothing
48252
48329
  };
48330
+ QuestionMultipleTextModel.prototype.validateContainerOnly = function () {
48331
+ // do nothing
48332
+ };
48253
48333
  QuestionMultipleTextModel.prototype.getItemLabelCss = function (item) {
48254
48334
  return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_7__["CssClassBuilder"]().append(this.cssClasses.itemLabel).append(this.cssClasses.itemLabelOnError, item.editor.errors.length > 0).toString();
48255
48335
  };
@@ -50124,12 +50204,11 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
50124
50204
  var res = this.changingValueQuestion.hasErrors(fireCallback, rec);
50125
50205
  res = this.hasKeysDuplicated(fireCallback, rec) || res;
50126
50206
  this.updatePanelsContainsErrors();
50127
- return res;
50128
50207
  }
50129
50208
  else {
50130
- var errosInPanels = this.hasErrorInPanels(fireCallback, rec);
50131
- return _super.prototype.hasErrors.call(this, fireCallback) || errosInPanels;
50209
+ res = this.hasErrorInPanels(fireCallback, rec);
50132
50210
  }
50211
+ return _super.prototype.hasErrors.call(this, fireCallback, rec) || res;
50133
50212
  };
50134
50213
  QuestionPanelDynamicModel.prototype.getContainsErrors = function () {
50135
50214
  var res = _super.prototype.getContainsErrors.call(this);
@@ -50414,7 +50493,6 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
50414
50493
  };
50415
50494
  QuestionPanelDynamicModel.prototype.recalculateIsReadyValue = function () {
50416
50495
  var _this = this;
50417
- var oldIsReady = this.isReadyValue;
50418
50496
  var isReady = true;
50419
50497
  this.panels.forEach(function (panel) {
50420
50498
  panel.questions.forEach(function (q) {
@@ -50427,14 +50505,7 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
50427
50505
  }
50428
50506
  });
50429
50507
  });
50430
- this.isReadyValue = isReady;
50431
- if (oldIsReady != this.isReadyValue) {
50432
- this.onReadyChanged.fire(this, {
50433
- question: this,
50434
- oldIsReady: oldIsReady,
50435
- isReady: this.isReadyValue
50436
- });
50437
- }
50508
+ this.isReady = isReady;
50438
50509
  };
50439
50510
  QuestionPanelDynamicModel.prototype.onSetData = function () {
50440
50511
  _super.prototype.onSetData.call(this);
@@ -51186,15 +51257,33 @@ var QuestionRankingModel = /** @class */ (function (_super) {
51186
51257
  return;
51187
51258
  }
51188
51259
  if (key === "ArrowUp" && index) {
51189
- _this.handleArrowKeys(index, choice, false);
51260
+ _this.handleArrowUp(index, choice);
51190
51261
  event.preventDefault();
51191
51262
  }
51192
51263
  if (key === "ArrowDown" && index !== _this.rankingChoices.length - 1) {
51193
- _this.handleArrowKeys(index, choice, true);
51264
+ _this.handleArrowDown(index, choice);
51194
51265
  event.preventDefault();
51195
51266
  }
51196
51267
  }
51197
51268
  };
51269
+ _this.handleArrowUp = function (index, choice) {
51270
+ var choices = _this.rankingChoices;
51271
+ choices.splice(index, 1);
51272
+ choices.splice(index - 1, 0, choice);
51273
+ _this.setValue();
51274
+ setTimeout(function () {
51275
+ _this.focusItem(index - 1);
51276
+ }, 1);
51277
+ };
51278
+ _this.handleArrowDown = function (index, choice) {
51279
+ var choices = _this.rankingChoices;
51280
+ choices.splice(index, 1);
51281
+ choices.splice(index + 1, 0, choice);
51282
+ _this.setValue();
51283
+ setTimeout(function () {
51284
+ _this.focusItem(index + 1);
51285
+ }, 1);
51286
+ };
51198
51287
  _this.focusItem = function (index, container) {
51199
51288
  if (_this.selectToRankEnabled && container) {
51200
51289
  var containerSelector = "[data-ranking='" + container + "']";
@@ -51447,53 +51536,49 @@ var QuestionRankingModel = /** @class */ (function (_super) {
51447
51536
  QuestionRankingModel.prototype.supportNone = function () {
51448
51537
  return false;
51449
51538
  };
51450
- QuestionRankingModel.prototype.handleArrowKeys = function (index, choice, isDown) {
51451
- var _this = this;
51452
- var delta = isDown ? 1 : -1;
51453
- var choices = this.rankingChoices;
51454
- choices.splice(index, 1);
51455
- choices.splice(index + delta, 0, choice);
51456
- this.setValue();
51457
- setTimeout(function () {
51458
- _this.focusItem(index + delta);
51459
- }, 1);
51460
- };
51461
51539
  QuestionRankingModel.prototype.handleKeydownSelectToRank = function (event, movedElement) {
51462
51540
  if (this.isDesignMode)
51463
51541
  return;
51464
- var key = event.key;
51465
- if (key !== " " && key !== "ArrowUp" && key !== "ArrowDown")
51466
- return;
51467
51542
  var dnd = this.dragDropRankingChoices; //????
51543
+ var key = event.key;
51468
51544
  var rankingChoices = this.rankingChoices;
51545
+ var unRankingChoices = this.unRankingChoices;
51469
51546
  var isMovedElementRanked = rankingChoices.indexOf(movedElement) !== -1;
51470
- var choices = isMovedElementRanked ? rankingChoices : this.unRankingChoices;
51471
- var fromIndex = choices.indexOf(movedElement);
51472
- if (fromIndex < 0)
51473
- return;
51547
+ var isMovedElementUnRanked = !isMovedElementRanked;
51548
+ var fromIndex;
51474
51549
  var toIndex;
51475
- if (key === " " && !isMovedElementRanked) {
51550
+ if (key === " " && isMovedElementUnRanked) {
51551
+ fromIndex = unRankingChoices.indexOf(movedElement);
51476
51552
  toIndex = 0;
51477
51553
  dnd.selectToRank(this, fromIndex, toIndex);
51478
51554
  this.setValueAfterKeydown(toIndex, "to-container");
51479
51555
  return;
51480
51556
  }
51481
- if (isMovedElementRanked)
51482
- return;
51483
- if (key === " ") {
51557
+ if (key === " " && isMovedElementRanked) {
51558
+ fromIndex = rankingChoices.indexOf(movedElement);
51484
51559
  dnd.unselectFromRank(this, fromIndex);
51485
51560
  toIndex = this.unRankingChoices.indexOf(movedElement); //'this.' leads to actual array after the 'unselectFromRank' method
51486
51561
  this.setValueAfterKeydown(toIndex, "from-container");
51487
51562
  return;
51488
51563
  }
51489
- var delta = key === "ArrowUp" ? -1 : (key === "ArrowDown" ? 1 : 0);
51490
- if (delta === 0)
51564
+ if (key === "ArrowUp" && isMovedElementRanked) {
51565
+ fromIndex = rankingChoices.indexOf(movedElement);
51566
+ toIndex = fromIndex - 1;
51567
+ if (fromIndex < 0)
51568
+ return;
51569
+ dnd.reorderRankedItem(this, fromIndex, toIndex);
51570
+ this.setValueAfterKeydown(toIndex, "to-container");
51491
51571
  return;
51492
- toIndex = fromIndex + delta;
51493
- if (toIndex < 0 || toIndex >= rankingChoices.length)
51572
+ }
51573
+ if (key === "ArrowDown" && isMovedElementRanked) {
51574
+ fromIndex = rankingChoices.indexOf(movedElement);
51575
+ toIndex = fromIndex + 1;
51576
+ if (toIndex >= rankingChoices.length)
51577
+ return;
51578
+ dnd.reorderRankedItem(this, fromIndex, toIndex);
51579
+ this.setValueAfterKeydown(toIndex, "to-container");
51494
51580
  return;
51495
- dnd.reorderRankedItem(this, fromIndex, toIndex);
51496
- this.setValueAfterKeydown(toIndex, "to-container");
51581
+ }
51497
51582
  };
51498
51583
  QuestionRankingModel.prototype.setValueAfterKeydown = function (index, container) {
51499
51584
  var _this = this;
@@ -52736,6 +52821,10 @@ var QuestionSignaturePadModel = /** @class */ (function (_super) {
52736
52821
  function QuestionSignaturePadModel(name) {
52737
52822
  return _super.call(this, name) || this;
52738
52823
  }
52824
+ QuestionSignaturePadModel.prototype.getPenColorFromTheme = function () {
52825
+ var _survey = this.survey;
52826
+ return !!_survey && !!_survey.themeVariables && _survey.themeVariables["--sjs-primary-backcolor"];
52827
+ };
52739
52828
  QuestionSignaturePadModel.prototype.getCssRoot = function (cssClasses) {
52740
52829
  return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_4__["CssClassBuilder"]()
52741
52830
  .append(_super.prototype.getCssRoot.call(this, cssClasses))
@@ -52744,7 +52833,9 @@ var QuestionSignaturePadModel = /** @class */ (function (_super) {
52744
52833
  };
52745
52834
  QuestionSignaturePadModel.prototype.updateValue = function () {
52746
52835
  if (this.signaturePad) {
52747
- var data = this.signaturePad.toDataURL(this.dataFormat);
52836
+ var format = this.dataFormat === "jpeg" ? "image/jpeg" :
52837
+ (this.dataFormat === "svg" ? "image/svg+xml" : "");
52838
+ var data = this.signaturePad.toDataURL(format);
52748
52839
  this.value = data;
52749
52840
  }
52750
52841
  };
@@ -52818,6 +52909,25 @@ var QuestionSignaturePadModel = /** @class */ (function (_super) {
52818
52909
  this.readOnlyChangedCallback = null;
52819
52910
  this.signaturePad = null;
52820
52911
  };
52912
+ Object.defineProperty(QuestionSignaturePadModel.prototype, "dataFormat", {
52913
+ /**
52914
+ * Specifies the format in which to store the signature image.
52915
+ *
52916
+ * Possible values:
52917
+ *
52918
+ * - `"png"` (default)
52919
+ * - `"jpeg"`
52920
+ * - `"svg"`
52921
+ */
52922
+ get: function () {
52923
+ return this.getPropertyValue("dataFormat");
52924
+ },
52925
+ set: function (val) {
52926
+ this.setPropertyValue("dataFormat", correctFormatData(val));
52927
+ },
52928
+ enumerable: false,
52929
+ configurable: true
52930
+ });
52821
52931
  Object.defineProperty(QuestionSignaturePadModel.prototype, "signatureWidth", {
52822
52932
  /**
52823
52933
  * Specifies the width of the signature area. Accepts positive integer numbers.
@@ -52883,7 +52993,7 @@ var QuestionSignaturePadModel = /** @class */ (function (_super) {
52883
52993
  * @see backgroundColor
52884
52994
  */
52885
52995
  get: function () {
52886
- return this.getPropertyValue("penColor");
52996
+ return this.getPropertyValue("penColor", this.getPenColorFromTheme());
52887
52997
  },
52888
52998
  set: function (val) {
52889
52999
  this.setPropertyValue("penColor", val);
@@ -52941,12 +53051,17 @@ var QuestionSignaturePadModel = /** @class */ (function (_super) {
52941
53051
  __decorate([
52942
53052
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__["property"])({ defaultValue: false })
52943
53053
  ], QuestionSignaturePadModel.prototype, "isDrawingValue", void 0);
52944
- __decorate([
52945
- Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__["property"])({ defaultValue: "" })
52946
- ], QuestionSignaturePadModel.prototype, "dataFormat", void 0);
52947
53054
  return QuestionSignaturePadModel;
52948
53055
  }(_question__WEBPACK_IMPORTED_MODULE_2__["Question"]));
52949
53056
 
53057
+ function correctFormatData(val) {
53058
+ if (!val)
53059
+ val = "png";
53060
+ val = val.replace("image/", "").replace("+xml", "");
53061
+ if (val !== "jpeg" && val !== "svg")
53062
+ val = "png";
53063
+ return val;
53064
+ }
52950
53065
  _jsonobject__WEBPACK_IMPORTED_MODULE_0__["Serializer"].addClass("signaturepad", [
52951
53066
  {
52952
53067
  name: "signatureWidth:number",
@@ -52982,12 +53097,15 @@ _jsonobject__WEBPACK_IMPORTED_MODULE_0__["Serializer"].addClass("signaturepad",
52982
53097
  {
52983
53098
  name: "dataFormat",
52984
53099
  category: "general",
52985
- default: "",
53100
+ default: "png",
52986
53101
  choices: [
52987
- { value: "", text: "PNG" },
53102
+ { value: "png", text: "PNG" },
52988
53103
  { value: "image/jpeg", text: "JPEG" },
52989
53104
  { value: "image/svg+xml", text: "SVG" },
52990
53105
  ],
53106
+ onSettingValue: function (obj, val) {
53107
+ return correctFormatData(val);
53108
+ }
52991
53109
  },
52992
53110
  { name: "defaultValue", visible: false },
52993
53111
  { name: "correctAnswer", visible: false },
@@ -58716,7 +58834,8 @@ var PopupSurvey = /** @class */ (function (_super) {
58716
58834
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", { className: this.popup.cssHeaderTitle, style: styleTitle }, "X"))) : null));
58717
58835
  };
58718
58836
  PopupSurvey.prototype.renderBody = function () {
58719
- return react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.popup.cssBody }, this.doRender());
58837
+ var _this = this;
58838
+ return react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.popup.cssBody, onScroll: function () { return _this.popup.onScroll(); } }, this.doRender());
58720
58839
  };
58721
58840
  PopupSurvey.prototype.createSurvey = function (newProps) {
58722
58841
  if (!newProps)
@@ -59381,6 +59500,8 @@ __webpack_require__.r(__webpack_exports__);
59381
59500
  /* harmony import */ var _reactSurveyNavigationBase__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./reactSurveyNavigationBase */ "./src/react/reactSurveyNavigationBase.tsx");
59382
59501
  /* harmony import */ var _element_factory__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./element-factory */ "./src/react/element-factory.tsx");
59383
59502
  /* harmony import */ var _components_list_list__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./components/list/list */ "./src/react/components/list/list.tsx");
59503
+ /* harmony import */ var _components_popup_popup__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./components/popup/popup */ "./src/react/components/popup/popup.tsx");
59504
+ /* harmony import */ var _components_svg_icon_svg_icon__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./components/svg-icon/svg-icon */ "./src/react/components/svg-icon/svg-icon.tsx");
59384
59505
  var __extends = (undefined && undefined.__extends) || (function () {
59385
59506
  var extendStatics = function (d, b) {
59386
59507
  extendStatics = Object.setPrototypeOf ||
@@ -59401,16 +59522,25 @@ var __extends = (undefined && undefined.__extends) || (function () {
59401
59522
 
59402
59523
 
59403
59524
 
59525
+
59526
+
59404
59527
  var SurveyProgressToc = /** @class */ (function (_super) {
59405
59528
  __extends(SurveyProgressToc, _super);
59406
59529
  function SurveyProgressToc() {
59407
59530
  return _super !== null && _super.apply(this, arguments) || this;
59408
59531
  }
59409
59532
  SurveyProgressToc.prototype.render = function () {
59410
- var listModel = Object(survey_core__WEBPACK_IMPORTED_MODULE_1__["createTOCListModel"])(this.props.model);
59411
- var rootCss = Object(survey_core__WEBPACK_IMPORTED_MODULE_1__["getTocRootCss"])(this.props.model);
59412
- return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: rootCss },
59413
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_components_list_list__WEBPACK_IMPORTED_MODULE_4__["List"], { model: listModel })));
59533
+ var tocModel = new survey_core__WEBPACK_IMPORTED_MODULE_1__["TOCModel"](this.props.model);
59534
+ var content;
59535
+ if (tocModel.isMobile) {
59536
+ content = react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { onClick: tocModel.togglePopup },
59537
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_components_svg_icon_svg_icon__WEBPACK_IMPORTED_MODULE_6__["SvgIcon"], { iconName: tocModel.icon, size: 24 }),
59538
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_components_popup_popup__WEBPACK_IMPORTED_MODULE_5__["Popup"], { model: tocModel.popupModel }));
59539
+ }
59540
+ else {
59541
+ content = react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_components_list_list__WEBPACK_IMPORTED_MODULE_4__["List"], { model: tocModel.listModel });
59542
+ }
59543
+ return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: tocModel.containerCss }, content));
59414
59544
  };
59415
59545
  return SurveyProgressToc;
59416
59546
  }(_reactSurveyNavigationBase__WEBPACK_IMPORTED_MODULE_2__["SurveyNavigationBase"]));
@@ -66364,11 +66494,11 @@ var SurveyModel = /** @class */ (function (_super) {
66364
66494
  _this.variablesHash = {};
66365
66495
  //#region Event declarations
66366
66496
  /**
66367
- * An event that is raised after a trigger is executed.
66497
+ * An event that is raised after a [trigger](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#triggers) is executed.
66368
66498
  *
66369
66499
  * For information on event handler parameters, refer to descriptions within the interface.
66370
66500
  *
66371
- * For more information about triggers, refer to the following help topic: [Conditional Survey Logic (Triggers)](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#conditional-survey-logic-triggers).
66501
+ * [Conditional Survey Logic (Triggers)](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#conditional-survey-logic-triggers (linkStyle)).
66372
66502
  * @see triggers
66373
66503
  * @see runTriggers
66374
66504
  */
@@ -66412,11 +66542,11 @@ var SurveyModel = /** @class */ (function (_super) {
66412
66542
  */
66413
66543
  _this.onStarted = _this.addEvent();
66414
66544
  /**
66415
- * Use this event to save incomplete survey results. Enable the [`sendResultOnPageNext`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#sendResultOnPageNext) property for this event to occur.
66545
+ * An event that is raised to save incomplete survey results. Enable the [`sendResultOnPageNext`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#sendResultOnPageNext) property for this event to occur.
66416
66546
  *
66417
66547
  * For information on event handler parameters, refer to descriptions within the interface.
66418
66548
  *
66419
- * Refer to the following help topic for more information on the use case: [Continue an Incomplete Survey](https://surveyjs.io/form-library/documentation/handle-survey-results-continue-incomplete).
66549
+ * [Continue an Incomplete Survey](https://surveyjs.io/form-library/documentation/handle-survey-results-continue-incomplete (linkStyle)).
66420
66550
  */
66421
66551
  _this.onPartialSend = _this.addEvent();
66422
66552
  /**
@@ -66642,11 +66772,11 @@ var SurveyModel = /** @class */ (function (_super) {
66642
66772
  */
66643
66773
  _this.onTextRenderAs = _this.addEvent();
66644
66774
  /**
66645
- * The event fires when it gets response from the [api.surveyjs.io](https://api.surveyjs.io) service on saving survey results. Use it to find out if the results have been saved successfully.
66775
+ * An event that is raised after a request to save survey results on [SurveyJS Service](https://api.surveyjs.io/) has been completed. Use this event to find out if the results have been saved successfully.
66646
66776
  */
66647
66777
  _this.onSendResult = _this.addEvent();
66648
66778
  /**
66649
- * Use it to get results after calling the `getResult` method. It returns a simple analytics from [api.surveyjs.io](https://api.surveyjs.io) service.
66779
+ * An event that is raised when the [`getResult(resultId, questionName)`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#getResult) method is called. Use this event to obtain answers to an individual question from [SurveyJS Service](https://api.surveyjs.io/).
66650
66780
  * @see getResult
66651
66781
  */
66652
66782
  _this.onGetResult = _this.addEvent();
@@ -66935,25 +67065,23 @@ var SurveyModel = /** @class */ (function (_super) {
66935
67065
  _this.onScrollingElementToTop = _this.addEvent();
66936
67066
  _this.onLocaleChangedEvent = _this.addEvent();
66937
67067
  /**
66938
- * Use this event to create/customize actions to be displayed in a question's title.
67068
+ * An event that allows you to add, delete, or modify actions in a question title.
66939
67069
  *
66940
67070
  * For information on event handler parameters, refer to descriptions within the interface.
66941
67071
  *
66942
67072
  * [View Demo](https://surveyjs.io/form-library/examples/survey-titleactions/ (linkStyle))
66943
- * @see IAction
66944
- * @see Question
66945
67073
  */
66946
67074
  _this.onGetQuestionTitleActions = _this.addEvent();
66947
67075
  /**
66948
- * Use this event to create/customize actions to be displayed in a panel's title.
66949
- * @see IAction
66950
- * @see PanelModel
67076
+ * An event that allows you to add, delete, or modify actions in a panel title.
66951
67077
  */
66952
67078
  _this.onGetPanelTitleActions = _this.addEvent();
66953
67079
  /**
66954
- * Use this event to create/customize actions to be displayed in a page's title.
66955
- * @see IAction
66956
- * @see PageModel
67080
+ * An event that allows you to add, delete, or modify actions in a page title.
67081
+ *
67082
+ * For information on event handler parameters, refer to descriptions within the interface.
67083
+ *
67084
+ * [View Demo](https://surveyjs.io/form-library/examples/modify-titles-of-survey-elements/ (linkStyle))
66957
67085
  */
66958
67086
  _this.onGetPageTitleActions = _this.addEvent();
66959
67087
  /**
@@ -66978,6 +67106,10 @@ var SurveyModel = /** @class */ (function (_super) {
66978
67106
  * An event that is raised before expression question convert it's value into display value for rendering.
66979
67107
  */
66980
67108
  _this.onGetExpressionDisplayValue = _this.addEvent();
67109
+ /**
67110
+ * An event that is raised after the visibility of a popup is changed. This event can be raised for [Single-](https://surveyjs.io/form-library/documentation/api-reference/dropdown-menu-model) and [Multi-Select Dropdown](https://surveyjs.io/form-library/documentation/api-reference/dropdown-tag-box-model) questions and [Rating](https://surveyjs.io/form-library/documentation/api-reference/rating-scale-question-model) questions [rendered as drop-down menus](https://surveyjs.io/form-library/documentation/api-reference/rating-scale-question-model#displayMode).
67111
+ */
67112
+ _this.onPopupVisibleChanged = _this.addEvent();
66981
67113
  /**
66982
67114
  * The list of errors on loading survey JSON. If the list is empty after loading a JSON, then the JSON is correct and has no errors.
66983
67115
  * @see JsonError
@@ -67225,6 +67357,9 @@ var SurveyModel = /** @class */ (function (_super) {
67225
67357
  enumerable: false,
67226
67358
  configurable: true
67227
67359
  });
67360
+ SurveyModel.prototype.processClosedPopup = function (question, popupModel) {
67361
+ throw new Error("Method not implemented.");
67362
+ };
67228
67363
  SurveyModel.prototype.createTryAgainAction = function () {
67229
67364
  var _this = this;
67230
67365
  return {
@@ -67453,8 +67588,11 @@ var SurveyModel = /** @class */ (function (_super) {
67453
67588
  };
67454
67589
  Object.defineProperty(SurveyModel.prototype, "triggers", {
67455
67590
  /**
67456
- * Gets or sets a list of triggers in the survey.
67457
- * @see SurveyTrigger
67591
+ * A list of triggers in the survey.
67592
+ *
67593
+ * [Conditional Survey Logic (Triggers)](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#conditional-survey-logic-triggers (linkStyle))
67594
+ * @see runTriggers
67595
+ * @see onTriggerExecuted
67458
67596
  */
67459
67597
  get: function () {
67460
67598
  return this.getPropertyValue("triggers");
@@ -67480,7 +67618,7 @@ var SurveyModel = /** @class */ (function (_super) {
67480
67618
  });
67481
67619
  Object.defineProperty(SurveyModel.prototype, "surveyId", {
67482
67620
  /**
67483
- * The identifier of a survey JSON schema to load from the [SurveyJS Service](https://api.surveyjs.io).
67621
+ * The identifier of a survey JSON schema to load from [SurveyJS Service](https://api.surveyjs.io).
67484
67622
  *
67485
67623
  * Refer to the following help topic for more information: [Store Survey Results in the SurveyJS Service](https://surveyjs.io/form-library/documentation/handle-survey-results-store#store-survey-results-in-the-surveyjs-service).
67486
67624
  * @see loadSurveyFromService
@@ -67497,7 +67635,7 @@ var SurveyModel = /** @class */ (function (_super) {
67497
67635
  });
67498
67636
  Object.defineProperty(SurveyModel.prototype, "surveyPostId", {
67499
67637
  /**
67500
- * An identifier used to save survey results to the [SurveyJS Service](https://api.surveyjs.io).
67638
+ * An identifier used to save survey results to [SurveyJS Service](https://api.surveyjs.io).
67501
67639
  *
67502
67640
  * Refer to the following help topic for more information: [Store Survey Results in the SurveyJS Service](https://surveyjs.io/form-library/documentation/handle-survey-results-store#store-survey-results-in-the-surveyjs-service).
67503
67641
  * @see onComplete
@@ -67516,7 +67654,7 @@ var SurveyModel = /** @class */ (function (_super) {
67516
67654
  /**
67517
67655
  * A user identifier (e-mail or other unique ID).
67518
67656
  *
67519
- * If your application works with the [SurveyJS Service](https://api.surveyjs.io), the ID ensures that users do not pass the same survey twice. On the second run, they will see the [Completed Before page](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#completedBeforeHtml).
67657
+ * If your application works with [SurveyJS Service](https://api.surveyjs.io), the ID ensures that users do not pass the same survey twice. On the second run, they will see the [Completed Before page](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#completedBeforeHtml).
67520
67658
  * @see cookieName
67521
67659
  */
67522
67660
  get: function () {
@@ -67546,9 +67684,9 @@ var SurveyModel = /** @class */ (function (_super) {
67546
67684
  });
67547
67685
  Object.defineProperty(SurveyModel.prototype, "sendResultOnPageNext", {
67548
67686
  /**
67549
- * Specifies whether to save survey results when respondents swtich between pages. Handle the [`onPartialSend`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onPartialSend) event to implement the save operation.
67687
+ * Specifies whether to save survey results when respondents switch between pages. Handle the [`onPartialSend`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onPartialSend) event to implement the save operation.
67550
67688
  *
67551
- * Refer to the following help topic for more information on the use case: [Continue an Incomplete Survey](https://surveyjs.io/form-library/documentation/handle-survey-results-continue-incomplete).
67689
+ * [Continue an Incomplete Survey](https://surveyjs.io/form-library/documentation/handle-survey-results-continue-incomplete (linkStyle)).
67552
67690
  */
67553
67691
  get: function () {
67554
67692
  return this.getPropertyValue("sendResultOnPageNext");
@@ -68084,8 +68222,13 @@ var SurveyModel = /** @class */ (function (_super) {
68084
68222
  });
68085
68223
  Object.defineProperty(SurveyModel.prototype, "locale", {
68086
68224
  /**
68087
- * Gets or sets the survey locale. The default value it is empty, this means the 'en' locale is used.
68088
- * You can set it to 'de' - German, 'fr' - French and so on. The library has built-in localization for several languages. The library has a multi-language support as well.
68225
+ * Specifies the survey's locale.
68226
+ *
68227
+ * Default value: `""` (a default locale is used)
68228
+ *
68229
+ * [Localization & Globalization help topic](https://surveyjs.io/form-library/documentation/survey-localization (linkStyle))
68230
+ *
68231
+ * [Survey Localization demo](https://surveyjs.io/form-library/examples/survey-localization/ (linkStyle))
68089
68232
  */
68090
68233
  get: function () {
68091
68234
  return this.getPropertyValue("locale", _surveyStrings__WEBPACK_IMPORTED_MODULE_8__["surveyLocalization"].currentLocale);
@@ -68105,7 +68248,11 @@ var SurveyModel = /** @class */ (function (_super) {
68105
68248
  this.onLocaleChangedEvent.fire(this, this.locale);
68106
68249
  };
68107
68250
  /**
68108
- * Returns an array of locales that are used in the survey's translation.
68251
+ * Returns an array of locales whose translations are used in the survey.
68252
+ *
68253
+ * [Localization & Globalization help topic](https://surveyjs.io/form-library/documentation/survey-localization (linkStyle))
68254
+ *
68255
+ * [Survey Localization demo](https://surveyjs.io/form-library/examples/survey-localization/ (linkStyle))
68109
68256
  */
68110
68257
  SurveyModel.prototype.getUsedLocales = function () {
68111
68258
  var locs = new Array();
@@ -68498,12 +68645,12 @@ var SurveyModel = /** @class */ (function (_super) {
68498
68645
  configurable: true
68499
68646
  });
68500
68647
  SurveyModel.prototype.updateRenderBackgroundImage = function () {
68501
- this.renderBackgroundImage = ["url(", this.getLocalizableString("backgroundImage").renderedHtml, ")"].join("");
68648
+ var path = this.getLocalizableString("backgroundImage").renderedHtml;
68649
+ this.renderBackgroundImage = !!path ? ["url(", path, ")"].join("") : "";
68502
68650
  };
68503
68651
  Object.defineProperty(SurveyModel.prototype, "backgroundOpacity", {
68504
68652
  /**
68505
- * A value from 0 to 1 that specifies how transparent the survey background should be: 0 makes the background completely transparent, and 1 makes it opaque.
68506
- * @see backgroundImage
68653
+ * A value from 0 to 1 that specifies how transparent the [background image](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#backgroundImage) should be: 0 makes the image completely transparent, and 1 makes it opaque.
68507
68654
  */
68508
68655
  get: function () {
68509
68656
  return this.getPropertyValue("backgroundOpacity");
@@ -68590,7 +68737,10 @@ var SurveyModel = /** @class */ (function (_super) {
68590
68737
  return new _conditions__WEBPACK_IMPORTED_MODULE_13__["ConditionRunner"](expression).run(values, properties);
68591
68738
  };
68592
68739
  /**
68593
- * Run all triggers that performs on value changed and not on moving to the next page.
68740
+ * Executes [all triggers](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#triggers), except ["complete"](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#complete).
68741
+ *
68742
+ * [Conditional Survey Logic (Triggers)](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#conditional-survey-logic-triggers (linkStyle))
68743
+ * @see onTriggerExecuted
68594
68744
  */
68595
68745
  SurveyModel.prototype.runTriggers = function () {
68596
68746
  this.checkTriggers(this.getFilteredValues(), false);
@@ -68640,7 +68790,7 @@ var SurveyModel = /** @class */ (function (_super) {
68640
68790
  });
68641
68791
  Object.defineProperty(SurveyModel.prototype, "loadingHtml", {
68642
68792
  /**
68643
- * HTML content displayed while a survey JSON schema is being loaded from the [SurveyJS Service](https://api.surveyjs.io).
68793
+ * HTML content displayed while a survey JSON schema is being loaded from [SurveyJS Service](https://api.surveyjs.io).
68644
68794
  * @see surveyId
68645
68795
  * @see processedLoadingHtml
68646
68796
  */
@@ -70967,7 +71117,7 @@ var SurveyModel = /** @class */ (function (_super) {
70967
71117
  * 1. Switches the survey [`state`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#state) to `"completed"`.
70968
71118
  * 1. Raises the [`onComplete`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onComplete) event.
70969
71119
  * 1. Navigates the user to a URL specified by the [`navigateToUrl`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#navigateToUrl) or [`navigateToUrlOnCondition`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#navigateToUrlOnCondition) property.
70970
- * 1. Calls the [`sendResult()`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#sendResult) method if Form Library works with the [SurveyJS Service](https://api.surveyjs.io/).
71120
+ * 1. Calls the [`sendResult()`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#sendResult) method if Form Library works with [SurveyJS Service](https://api.surveyjs.io/).
70971
71121
  *
70972
71122
  * The `doComplete()` method completes the survey regardless of validation errors and the current page. If you need to ensure that survey results are valid and full, call the [`completeLastPage()`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#completeLastPage) method instead.
70973
71123
  *
@@ -72286,20 +72436,18 @@ var SurveyModel = /** @class */ (function (_super) {
72286
72436
  }
72287
72437
  };
72288
72438
  /**
72289
- * Sends a survey result to the [api.surveyjs.io](https://api.surveyjs.io) service.
72290
- * @param postId [api.surveyjs.io](https://api.surveyjs.io) service postId
72291
- * @param clientId Typically a customer e-mail or an identifier
72292
- * @param isPartialCompleted Set it to `true` if the survey is not completed yet and the results are intermediate
72293
- * @see surveyPostId
72294
- * @see clientId
72439
+ * Posts a survey result to [SurveyJS Service](https://api.surveyjs.io/).
72440
+ * @param postId An identifier used to save survey results. You can find it on the [My Surveys](https://surveyjs.io/service/mysurveys) page. If you do not specify this parameter, the survey uses the [`surveyPostId`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#surveyPostId) property value.
72441
+ * @param clientId A respondent identifier (e-mail or other unique ID). This ID ensures that the respondent does not pass the same survey twice.
72442
+ * @param isPartial Pass `true` to save partial survey results (see [Continue an Incomplete Survey](https://surveyjs.io/form-library/documentation/handle-survey-results-continue-incomplete)).
72295
72443
  */
72296
- SurveyModel.prototype.sendResult = function (postId, clientId, isPartialCompleted) {
72444
+ SurveyModel.prototype.sendResult = function (postId, clientId, isPartial) {
72297
72445
  if (postId === void 0) { postId = null; }
72298
72446
  if (clientId === void 0) { clientId = null; }
72299
- if (isPartialCompleted === void 0) { isPartialCompleted = false; }
72447
+ if (isPartial === void 0) { isPartial = false; }
72300
72448
  if (!this.isEditMode)
72301
72449
  return;
72302
- if (isPartialCompleted && this.onPartialSend) {
72450
+ if (isPartial && this.onPartialSend) {
72303
72451
  this.onPartialSend.fire(this, null);
72304
72452
  }
72305
72453
  if (!postId && this.surveyPostId) {
@@ -72310,7 +72458,7 @@ var SurveyModel = /** @class */ (function (_super) {
72310
72458
  if (clientId) {
72311
72459
  this.clientId = clientId;
72312
72460
  }
72313
- if (isPartialCompleted && !this.clientId)
72461
+ if (isPartial && !this.clientId)
72314
72462
  return;
72315
72463
  var self = this;
72316
72464
  if (this.surveyShowDataSaving) {
@@ -72330,17 +72478,16 @@ var SurveyModel = /** @class */ (function (_super) {
72330
72478
  response: response,
72331
72479
  request: request,
72332
72480
  });
72333
- }, this.clientId, isPartialCompleted);
72481
+ }, this.clientId, isPartial);
72334
72482
  };
72335
72483
  /**
72336
- * Calls the [api.surveyjs.io](https://api.surveyjs.io) service and, on callback, fires the `onGetResult` event with all answers that your users made for a question.
72337
- * @param resultId [api.surveyjs.io](https://api.surveyjs.io) service resultId
72338
- * @param name The question name
72339
- * @see onGetResult
72484
+ * Requests [SurveyJS Service](https://api.surveyjs.io/) to retrieve all answers to a specified question. Handle the [`onGetResult`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onGetResult) event to access the answers.
72485
+ * @param resultId A result ID that identifies the required survey. You can find it on the [My Surveys](https://surveyjs.io/service/mysurveys) page.
72486
+ * @param questionName A question name.
72340
72487
  */
72341
- SurveyModel.prototype.getResult = function (resultId, name) {
72488
+ SurveyModel.prototype.getResult = function (resultId, questionName) {
72342
72489
  var self = this;
72343
- this.createSurveyService().getResult(resultId, name, function (success, data, dataList, response) {
72490
+ this.createSurveyService().getResult(resultId, questionName, function (success, data, dataList, response) {
72344
72491
  self.onGetResult.fire(self, {
72345
72492
  success: success,
72346
72493
  data: data,
@@ -73860,6 +74007,9 @@ var SurveyModel = /** @class */ (function (_super) {
73860
74007
  }
73861
74008
  return containerLayoutElements;
73862
74009
  };
74010
+ SurveyModel.prototype.processPopupVisiblityChanged = function (question, popup, visible) {
74011
+ this.onPopupVisibleChanged.fire(this, { question: question, popup: popup, visible: visible });
74012
+ };
73863
74013
  SurveyModel.prototype.applyTheme = function (theme) {
73864
74014
  var _this = this;
73865
74015
  if (!theme)
@@ -74585,7 +74735,7 @@ var SurveyTimerModel = /** @class */ (function (_super) {
74585
74735
  /*!**************************!*\
74586
74736
  !*** ./src/surveyToc.ts ***!
74587
74737
  \**************************/
74588
- /*! exports provided: tryNavigateToPage, createTOCListModel, getTocRootCss */
74738
+ /*! exports provided: tryNavigateToPage, createTOCListModel, getTocRootCss, TOCModel */
74589
74739
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
74590
74740
 
74591
74741
  "use strict";
@@ -74593,9 +74743,14 @@ __webpack_require__.r(__webpack_exports__);
74593
74743
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "tryNavigateToPage", function() { return tryNavigateToPage; });
74594
74744
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "createTOCListModel", function() { return createTOCListModel; });
74595
74745
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getTocRootCss", function() { return getTocRootCss; });
74746
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "TOCModel", function() { return TOCModel; });
74596
74747
  /* harmony import */ var _actions_action__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./actions/action */ "./src/actions/action.ts");
74597
74748
  /* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./base */ "./src/base.ts");
74598
74749
  /* harmony import */ var _list__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./list */ "./src/list.ts");
74750
+ /* harmony import */ var _popup__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./popup */ "./src/popup.ts");
74751
+ /* harmony import */ var _utils_devices__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./utils/devices */ "./src/utils/devices.ts");
74752
+
74753
+
74599
74754
 
74600
74755
 
74601
74756
 
@@ -74614,7 +74769,7 @@ function tryNavigateToPage(survey, page) {
74614
74769
  }
74615
74770
  return true;
74616
74771
  }
74617
- function createTOCListModel(survey) {
74772
+ function createTOCListModel(survey, onAction) {
74618
74773
  var items = survey.pages.map(function (page) {
74619
74774
  return new _actions_action__WEBPACK_IMPORTED_MODULE_0__["Action"]({
74620
74775
  id: page.name,
@@ -74623,6 +74778,7 @@ function createTOCListModel(survey) {
74623
74778
  if (typeof document !== undefined && !!document.activeElement) {
74624
74779
  !!document.activeElement.blur && document.activeElement.blur();
74625
74780
  }
74781
+ !!onAction && onAction();
74626
74782
  return tryNavigateToPage(survey, page);
74627
74783
  },
74628
74784
  visible: new _base__WEBPACK_IMPORTED_MODULE_1__["ComputedUpdater"](function () { return page.isVisible && !page.isStartPage; })
@@ -74640,9 +74796,35 @@ function createTOCListModel(survey) {
74640
74796
  });
74641
74797
  return listModel;
74642
74798
  }
74643
- function getTocRootCss(survey) {
74799
+ function getTocRootCss(survey, isMobile) {
74800
+ if (isMobile === void 0) { isMobile = false; }
74801
+ if (isMobile) {
74802
+ return "sv_progress-toc sv_progress-toc--mobile";
74803
+ }
74644
74804
  return "sv_progress-toc" + (" sv_progress-toc--" + (survey.tocLocation || "").toLowerCase());
74645
74805
  }
74806
+ var TOCModel = /** @class */ (function () {
74807
+ function TOCModel(survey) {
74808
+ var _this = this;
74809
+ this.survey = survey;
74810
+ this.isMobile = _utils_devices__WEBPACK_IMPORTED_MODULE_4__["IsTouch"];
74811
+ this.icon = "icon-navmenu_24x24";
74812
+ this.togglePopup = function () {
74813
+ _this.popupModel.toggleVisibility();
74814
+ };
74815
+ this.listModel = createTOCListModel(survey, function () { _this.popupModel.isVisible = false; });
74816
+ this.popupModel = new _popup__WEBPACK_IMPORTED_MODULE_3__["PopupModel"]("sv-list", { model: this.listModel });
74817
+ }
74818
+ Object.defineProperty(TOCModel.prototype, "containerCss", {
74819
+ get: function () {
74820
+ return getTocRootCss(this.survey, this.isMobile);
74821
+ },
74822
+ enumerable: false,
74823
+ configurable: true
74824
+ });
74825
+ return TOCModel;
74826
+ }());
74827
+
74646
74828
 
74647
74829
 
74648
74830
  /***/ }),