survey-react 1.10.4 → 1.10.6

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.10.4
2
+ * surveyjs - Survey JavaScript library v1.10.6
3
3
  * Copyright (c) 2015-2024 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
5
5
  */
@@ -686,13 +686,14 @@ class SignaturePad extends SignatureEventTarget {
686
686
  /*!*******************************!*\
687
687
  !*** ./src/actions/action.ts ***!
688
688
  \*******************************/
689
- /*! exports provided: createDropdownActionModel, createDropdownActionModelAdvanced, getActionDropdownButtonTarget, BaseAction, Action, ActionDropdownViewModel */
689
+ /*! exports provided: createDropdownActionModel, createDropdownActionModelAdvanced, createPopupModelWithListModel, getActionDropdownButtonTarget, BaseAction, Action, ActionDropdownViewModel */
690
690
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
691
691
 
692
692
  "use strict";
693
693
  __webpack_require__.r(__webpack_exports__);
694
694
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "createDropdownActionModel", function() { return createDropdownActionModel; });
695
695
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "createDropdownActionModelAdvanced", function() { return createDropdownActionModelAdvanced; });
696
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "createPopupModelWithListModel", function() { return createPopupModelWithListModel; });
696
697
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getActionDropdownButtonTarget", function() { return getActionDropdownButtonTarget; });
697
698
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "BaseAction", function() { return BaseAction; });
698
699
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Action", function() { return Action; });
@@ -733,36 +734,53 @@ var __decorate = (undefined && undefined.__decorate) || function (decorators, ta
733
734
 
734
735
 
735
736
  function createDropdownActionModel(actionOptions, dropdownOptions, locOwner) {
736
- return createDropdownActionModelAdvanced(actionOptions, dropdownOptions, dropdownOptions, locOwner);
737
+ dropdownOptions.locOwner = locOwner;
738
+ return createDropdownActionModelAdvanced(actionOptions, dropdownOptions, dropdownOptions);
737
739
  }
738
- function createDropdownActionModelAdvanced(actionOptions, listOptions, popupOptions, locOwner) {
739
- var listModel = new _list__WEBPACK_IMPORTED_MODULE_3__["ListModel"](listOptions.items, function (item) {
740
+ function createDropdownActionModelAdvanced(actionOptions, listOptions, popupOptions) {
741
+ var _a;
742
+ var originalSelectionChanged = listOptions.onSelectionChanged;
743
+ listOptions.onSelectionChanged = function (item) {
744
+ var params = [];
745
+ for (var _i = 1; _i < arguments.length; _i++) {
746
+ params[_i - 1] = arguments[_i];
747
+ }
740
748
  if (newAction.hasTitle) {
741
749
  newAction.title = item.title;
742
750
  }
743
- listOptions.onSelectionChanged(item);
744
- innerPopupModel.toggleVisibility();
745
- }, listOptions.allowSelection, listOptions.selectedItem);
746
- listModel.locOwner = locOwner;
747
- listModel.setOnFilterStringChangedCallback(listOptions.onFilterStringChangedCallback);
748
- var options = popupOptions || {};
749
- options.onDispose = function () { listModel.dispose(); };
750
- var innerPopupModel = new _popup__WEBPACK_IMPORTED_MODULE_4__["PopupModel"]("sv-list", { model: listModel }, options);
751
- innerPopupModel.displayMode = popupOptions === null || popupOptions === void 0 ? void 0 : popupOptions.displayMode;
751
+ originalSelectionChanged(item, params);
752
+ };
753
+ var popupModel = createPopupModelWithListModel(listOptions, popupOptions);
752
754
  var newActionOptions = Object.assign({}, actionOptions, {
753
755
  component: "sv-action-bar-item-dropdown",
754
- popupModel: innerPopupModel,
756
+ popupModel: popupModel,
755
757
  action: function (action, isUserAction) {
756
758
  !!(actionOptions.action) && actionOptions.action();
757
- innerPopupModel.isFocusedContent = !isUserAction || listModel.showFilter;
758
- innerPopupModel.toggleVisibility();
759
- listModel.scrollToSelectedItem();
759
+ popupModel.isFocusedContent = popupModel.isFocusedContent || !isUserAction;
760
+ popupModel.show();
760
761
  },
761
762
  });
762
763
  var newAction = new Action(newActionOptions);
763
- newAction.data = listModel;
764
+ newAction.data = (_a = popupModel.contentComponentData) === null || _a === void 0 ? void 0 : _a.model;
764
765
  return newAction;
765
766
  }
767
+ function createPopupModelWithListModel(listOptions, popupOptions) {
768
+ var listModel = new _list__WEBPACK_IMPORTED_MODULE_3__["ListModel"](listOptions);
769
+ listModel.onSelectionChanged = function (item) {
770
+ listOptions.onSelectionChanged(item);
771
+ popupModel.hide();
772
+ };
773
+ var _popupOptions = popupOptions || {};
774
+ _popupOptions.onDispose = function () { listModel.dispose(); };
775
+ var popupModel = new _popup__WEBPACK_IMPORTED_MODULE_4__["PopupModel"]("sv-list", { model: listModel }, _popupOptions);
776
+ popupModel.isFocusedContent = listModel.showFilter;
777
+ popupModel.onShow = function () {
778
+ if (!!_popupOptions.onShow)
779
+ _popupOptions.onShow();
780
+ listModel.scrollToSelectedItem();
781
+ };
782
+ return popupModel;
783
+ }
766
784
  function getActionDropdownButtonTarget(container) {
767
785
  return container === null || container === void 0 ? void 0 : container.previousElementSibling;
768
786
  }
@@ -5430,6 +5448,7 @@ var defaultV2Css = {
5430
5448
  rootFitToContainer: "sd-root-modern--full-container",
5431
5449
  rootWrapper: "sd-root-modern__wrapper",
5432
5450
  rootWrapperFixed: "sd-root-modern__wrapper--fixed",
5451
+ rootWrapperHasImage: "sd-root-modern__wrapper--has-image",
5433
5452
  rootBackgroundImage: "sd-root_background-image",
5434
5453
  container: "sd-container-modern",
5435
5454
  header: "sd-title sd-container-modern__title",
@@ -5989,6 +6008,7 @@ var defaultV2Css = {
5989
6008
  dragElementDecorator: "sd-drag-element__svg",
5990
6009
  iconDragElement: "#icon-v2dragelement_16x16",
5991
6010
  footer: "sd-matrixdynamic__footer",
6011
+ footerTotalCell: "sd-table__cell sd-table__cell--footer-total",
5992
6012
  emptyRowsSection: "sd-matrixdynamic__placeholder sd-question__placeholder",
5993
6013
  iconDrag: "sv-matrixdynamic__drag-icon",
5994
6014
  ghostRow: "sv-matrix-row--drag-drop-ghost-mod",
@@ -8263,10 +8283,17 @@ var DropdownListModel = /** @class */ (function (_super) {
8263
8283
  _this.question.value = item.id;
8264
8284
  if (_this.question.searchEnabled)
8265
8285
  _this.applyInputString(item);
8266
- _this.popupModel.isVisible = false;
8286
+ _this.popupModel.hide();
8267
8287
  };
8268
8288
  }
8269
- var res = new _list__WEBPACK_IMPORTED_MODULE_4__["ListModel"](visibleItems, _onSelectionChanged, false, undefined, this.listElementId);
8289
+ var listOptions = {
8290
+ items: visibleItems,
8291
+ onSelectionChanged: _onSelectionChanged,
8292
+ allowSelection: false,
8293
+ locOwner: this.question,
8294
+ elementId: this.listElementId
8295
+ };
8296
+ var res = new _list__WEBPACK_IMPORTED_MODULE_4__["ListModel"](listOptions);
8270
8297
  this.setOnTextSearchCallbackForListModel(res);
8271
8298
  res.renderElements = false;
8272
8299
  res.forceShowFilter = true;
@@ -8278,7 +8305,6 @@ var DropdownListModel = /** @class */ (function (_super) {
8278
8305
  DropdownListModel.prototype.updateAfterListModelCreated = function (model) {
8279
8306
  var _this = this;
8280
8307
  model.isItemSelected = function (action) { return !!action.selected; };
8281
- model.locOwner = this.question;
8282
8308
  model.onPropertyChanged.add(function (sender, options) {
8283
8309
  if (options.name == "hasVerticalScroller") {
8284
8310
  _this.hasScroll = options.newValue;
@@ -8310,7 +8336,7 @@ var DropdownListModel = /** @class */ (function (_super) {
8310
8336
  this.question.survey.onChoicesSearch.fire(this.question.survey, options);
8311
8337
  this.filteredItems = options.filteredChoices;
8312
8338
  if (!!this.filterString && !this.popupModel.isVisible) {
8313
- this.popupModel.isVisible = true;
8339
+ this.popupModel.show();
8314
8340
  }
8315
8341
  var updateAfterFilterStringChanged = function () {
8316
8342
  _this.setFilterStringToListModel(_this.filterString);
@@ -8530,8 +8556,8 @@ var DropdownListModel = /** @class */ (function (_super) {
8530
8556
  this.changeSelectionWithKeyboard(false);
8531
8557
  };
8532
8558
  DropdownListModel.prototype.onClear = function (event) {
8533
- this.question.clearValue();
8534
- this._popupModel.isVisible = false;
8559
+ this.question.clearValue(true);
8560
+ this._popupModel.hide();
8535
8561
  if (event) {
8536
8562
  event.preventDefault();
8537
8563
  event.stopPropagation();
@@ -8587,19 +8613,17 @@ var DropdownListModel = /** @class */ (function (_super) {
8587
8613
  event.stopPropagation();
8588
8614
  }
8589
8615
  else if (event.keyCode === 40) {
8590
- if (!this.popupModel.isVisible) {
8591
- this.popupModel.toggleVisibility();
8592
- }
8616
+ this.popupModel.show();
8593
8617
  this.changeSelectionWithKeyboard(false);
8594
8618
  event.preventDefault();
8595
8619
  event.stopPropagation();
8596
8620
  }
8597
8621
  if (event.keyCode === 9) {
8598
- this.popupModel.isVisible = false;
8622
+ this.popupModel.hide();
8599
8623
  }
8600
8624
  else if (!this.popupModel.isVisible && (event.keyCode === 13 || event.keyCode === 32)) {
8601
8625
  if (event.keyCode === 32) {
8602
- this.popupModel.toggleVisibility();
8626
+ this.popupModel.show();
8603
8627
  this.changeSelectionWithKeyboard(false);
8604
8628
  }
8605
8629
  if (event.keyCode === 13) {
@@ -8610,7 +8634,7 @@ var DropdownListModel = /** @class */ (function (_super) {
8610
8634
  }
8611
8635
  else if (this.popupModel.isVisible && (event.keyCode === 13 || event.keyCode === 32 && (!this.question.searchEnabled || !this.inputString))) {
8612
8636
  if (event.keyCode === 13 && this.question.searchEnabled && !this.inputString && this.question instanceof _question_dropdown__WEBPACK_IMPORTED_MODULE_6__["QuestionDropdownModel"] && !this._markdownMode && this.question.value) {
8613
- this._popupModel.isVisible = false;
8637
+ this._popupModel.hide();
8614
8638
  this.onClear(event);
8615
8639
  }
8616
8640
  else {
@@ -8626,7 +8650,7 @@ var DropdownListModel = /** @class */ (function (_super) {
8626
8650
  }
8627
8651
  }
8628
8652
  else if (event.keyCode === 27) {
8629
- this._popupModel.isVisible = false;
8653
+ this._popupModel.hide();
8630
8654
  this.hintString = "";
8631
8655
  this.onEscape();
8632
8656
  }
@@ -8654,11 +8678,11 @@ var DropdownListModel = /** @class */ (function (_super) {
8654
8678
  DropdownListModel.prototype.onBlur = function (event) {
8655
8679
  this.focused = false;
8656
8680
  if (this.popupModel.isVisible && _utils_devices__WEBPACK_IMPORTED_MODULE_9__["IsTouch"]) {
8657
- this._popupModel.isVisible = true;
8681
+ this._popupModel.show();
8658
8682
  return;
8659
8683
  }
8660
8684
  Object(_utils_utils__WEBPACK_IMPORTED_MODULE_10__["doKey2ClickBlur"])(event);
8661
- this._popupModel.isVisible = false;
8685
+ this._popupModel.hide();
8662
8686
  this.resetFilterString();
8663
8687
  this.inputString = null;
8664
8688
  this.hintString = "";
@@ -8849,7 +8873,14 @@ var DropdownMultiSelectListModel = /** @class */ (function (_super) {
8849
8873
  }
8850
8874
  };
8851
8875
  }
8852
- var res = new _multiSelectListModel__WEBPACK_IMPORTED_MODULE_3__["MultiSelectListModel"](visibleItems, _onSelectionChanged, false, undefined, this.listElementId);
8876
+ var listOptions = {
8877
+ items: visibleItems,
8878
+ onSelectionChanged: _onSelectionChanged,
8879
+ allowSelection: false,
8880
+ locOwner: this.question,
8881
+ elementId: this.listElementId
8882
+ };
8883
+ var res = new _multiSelectListModel__WEBPACK_IMPORTED_MODULE_3__["MultiSelectListModel"](listOptions);
8853
8884
  res.actions.forEach(function (a) { return a.disableTabStop = true; });
8854
8885
  this.setOnTextSearchCallbackForListModel(res);
8855
8886
  res.forceShowFilter = true;
@@ -9269,6 +9300,8 @@ __webpack_require__.r(__webpack_exports__);
9269
9300
  /* harmony import */ var _localization_vietnamese__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(/*! ../../localization/vietnamese */ "./src/localization/vietnamese.ts");
9270
9301
  /* harmony import */ var _localization_welsh__WEBPACK_IMPORTED_MODULE_47__ = __webpack_require__(/*! ../../localization/welsh */ "./src/localization/welsh.ts");
9271
9302
  /* harmony import */ var _localization_telugu__WEBPACK_IMPORTED_MODULE_48__ = __webpack_require__(/*! ../../localization/telugu */ "./src/localization/telugu.ts");
9303
+ /* harmony import */ var _localization_philippines__WEBPACK_IMPORTED_MODULE_49__ = __webpack_require__(/*! ../../localization/philippines */ "./src/localization/philippines.ts");
9304
+
9272
9305
 
9273
9306
 
9274
9307
 
@@ -9824,8 +9857,8 @@ __webpack_require__.r(__webpack_exports__);
9824
9857
 
9825
9858
  var Version;
9826
9859
  var ReleaseDate;
9827
- Version = "" + "1.10.4";
9828
- ReleaseDate = "" + "2024-05-15";
9860
+ Version = "" + "1.10.6";
9861
+ ReleaseDate = "" + "2024-05-28";
9829
9862
  function checkLibraryVersion(ver, libraryName) {
9830
9863
  if (Version != ver) {
9831
9864
  var str = "survey-core has version '" + Version + "' and " + libraryName
@@ -10006,7 +10039,7 @@ function checkPrefix(prefix) {
10006
10039
  /*!**************************************!*\
10007
10040
  !*** ./src/entries/core-wo-model.ts ***!
10008
10041
  \**************************************/
10009
- /*! exports provided: Version, ReleaseDate, checkLibraryVersion, setLicenseKey, slk, hasLicense, settings, Helpers, AnswerCountValidator, EmailValidator, NumericValidator, RegexValidator, SurveyValidator, TextValidator, ValidatorResult, ExpressionValidator, ValidatorRunner, ItemValue, Base, Event, EventBase, ArrayChanges, ComputedUpdater, SurveyError, SurveyElementCore, SurveyElement, DragTypeOverMeEnum, CalculatedValue, CustomError, AnswerRequiredError, OneAnswerRequiredError, RequreNumericError, ExceedSizeError, LocalizableString, LocalizableStrings, HtmlConditionItem, UrlConditionItem, ChoicesRestful, ChoicesRestfull, FunctionFactory, registerFunction, ConditionRunner, ExpressionRunner, ExpressionExecutor, Operand, Const, BinaryOperand, Variable, FunctionOperand, ArrayOperand, UnaryOperand, ConditionsParser, ProcessValue, JsonError, JsonIncorrectTypeError, JsonMetadata, JsonMetadataClass, JsonMissingTypeError, JsonMissingTypeErrorBase, JsonObject, JsonObjectProperty, JsonRequiredPropertyError, JsonUnknownPropertyError, Serializer, property, propertyArray, MatrixDropdownCell, MatrixDropdownRowModelBase, QuestionMatrixDropdownModelBase, MatrixDropdownColumn, matrixDropdownColumnTypes, QuestionMatrixDropdownRenderedCell, QuestionMatrixDropdownRenderedRow, QuestionMatrixDropdownRenderedErrorRow, QuestionMatrixDropdownRenderedTable, MatrixDropdownRowModel, QuestionMatrixDropdownModel, MatrixDynamicRowModel, QuestionMatrixDynamicModel, MatrixRowModel, MatrixCells, QuestionMatrixModel, QuestionMatrixBaseModel, MultipleTextItemModel, MultipleTextCell, MultipleTextErrorCell, MutlipleTextErrorRow, MutlipleTextRow, QuestionMultipleTextModel, MultipleTextEditorModel, PanelModel, PanelModelBase, QuestionRowModel, FlowPanelModel, PageModel, DefaultTitleModel, Question, QuestionNonValue, QuestionEmptyModel, QuestionCheckboxBase, QuestionSelectBase, QuestionCheckboxModel, QuestionTagboxModel, QuestionRankingModel, QuestionCommentModel, QuestionDropdownModel, QuestionFactory, ElementFactory, QuestionFileModel, QuestionHtmlModel, QuestionRadiogroupModel, QuestionRatingModel, RenderedRatingItem, QuestionExpressionModel, QuestionTextBase, CharacterCounter, QuestionTextModel, QuestionBooleanModel, QuestionImagePickerModel, ImageItemValue, QuestionImageModel, QuestionSignaturePadModel, QuestionPanelDynamicModel, QuestionPanelDynamicItem, SurveyTimer, SurveyTimerModel, tryFocusPage, createTOCListModel, getTocRootCss, TOCModel, SurveyProgressModel, ProgressButtons, ProgressButtonsResponsivityManager, SurveyModel, SurveyTrigger, SurveyTriggerComplete, SurveyTriggerSetValue, SurveyTriggerVisible, SurveyTriggerCopyValue, SurveyTriggerRunExpression, SurveyTriggerSkip, Trigger, PopupSurveyModel, SurveyWindowModel, TextPreProcessor, Notifier, Cover, CoverCell, dxSurveyService, englishStrings, surveyLocalization, surveyStrings, QuestionCustomWidget, CustomWidgetCollection, QuestionCustomModel, QuestionCompositeModel, ComponentQuestionJSON, ComponentCollection, StylesManager, ListModel, MultiSelectListModel, PopupModel, createDialogOptions, PopupBaseViewModel, PopupDropdownViewModel, PopupModalViewModel, createPopupViewModel, createPopupModalViewModel, DropdownListModel, DropdownMultiSelectListModel, QuestionButtonGroupModel, ButtonGroupItemModel, ButtonGroupItemValue, IsMobile, IsTouch, _setIsTouch, confirmAction, confirmActionAsync, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, chooseFiles, sanitizeEditableContent, InputMaskBase, InputMaskPattern, InputMaskNumeric, InputMaskDateTime, InputMaskCurrency, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropCore, DragDropChoices, DragDropRankingSelectToRank, defaultStandardCss, modernCss, SvgIconRegistry, SvgRegistry, SvgBundleViewModel, RendererFactory, ResponsivityManager, VerticalResponsivityManager, unwrap, getOriginalEvent, getElement, createDropdownActionModel, createDropdownActionModelAdvanced, getActionDropdownButtonTarget, BaseAction, Action, ActionDropdownViewModel, AnimationUtils, AnimationPropertyUtils, AnimationGroupUtils, AnimationProperty, AnimationBoolean, AnimationGroup, AnimationTab, AdaptiveActionContainer, defaultActionBarCss, ActionContainer, DragOrClickHelper */
10042
+ /*! exports provided: Version, ReleaseDate, checkLibraryVersion, setLicenseKey, slk, hasLicense, settings, Helpers, AnswerCountValidator, EmailValidator, NumericValidator, RegexValidator, SurveyValidator, TextValidator, ValidatorResult, ExpressionValidator, ValidatorRunner, ItemValue, Base, Event, EventBase, ArrayChanges, ComputedUpdater, SurveyError, SurveyElementCore, SurveyElement, DragTypeOverMeEnum, CalculatedValue, CustomError, AnswerRequiredError, OneAnswerRequiredError, RequreNumericError, ExceedSizeError, LocalizableString, LocalizableStrings, HtmlConditionItem, UrlConditionItem, ChoicesRestful, ChoicesRestfull, FunctionFactory, registerFunction, ConditionRunner, ExpressionRunner, ExpressionExecutor, Operand, Const, BinaryOperand, Variable, FunctionOperand, ArrayOperand, UnaryOperand, ConditionsParser, ProcessValue, JsonError, JsonIncorrectTypeError, JsonMetadata, JsonMetadataClass, JsonMissingTypeError, JsonMissingTypeErrorBase, JsonObject, JsonObjectProperty, JsonRequiredPropertyError, JsonUnknownPropertyError, Serializer, property, propertyArray, MatrixDropdownCell, MatrixDropdownRowModelBase, QuestionMatrixDropdownModelBase, MatrixDropdownColumn, matrixDropdownColumnTypes, QuestionMatrixDropdownRenderedCell, QuestionMatrixDropdownRenderedRow, QuestionMatrixDropdownRenderedErrorRow, QuestionMatrixDropdownRenderedTable, MatrixDropdownRowModel, QuestionMatrixDropdownModel, MatrixDynamicRowModel, QuestionMatrixDynamicModel, MatrixRowModel, MatrixCells, QuestionMatrixModel, QuestionMatrixBaseModel, MultipleTextItemModel, MultipleTextCell, MultipleTextErrorCell, MutlipleTextErrorRow, MutlipleTextRow, QuestionMultipleTextModel, MultipleTextEditorModel, PanelModel, PanelModelBase, QuestionRowModel, FlowPanelModel, PageModel, DefaultTitleModel, Question, QuestionNonValue, QuestionEmptyModel, QuestionCheckboxBase, QuestionSelectBase, QuestionCheckboxModel, QuestionTagboxModel, QuestionRankingModel, QuestionCommentModel, QuestionDropdownModel, QuestionFactory, ElementFactory, QuestionFileModel, QuestionHtmlModel, QuestionRadiogroupModel, QuestionRatingModel, RenderedRatingItem, QuestionExpressionModel, QuestionTextBase, CharacterCounter, QuestionTextModel, QuestionBooleanModel, QuestionImagePickerModel, ImageItemValue, QuestionImageModel, QuestionSignaturePadModel, QuestionPanelDynamicModel, QuestionPanelDynamicItem, SurveyTimer, SurveyTimerModel, tryFocusPage, createTOCListModel, getTocRootCss, TOCModel, SurveyProgressModel, ProgressButtons, ProgressButtonsResponsivityManager, SurveyModel, SurveyTrigger, SurveyTriggerComplete, SurveyTriggerSetValue, SurveyTriggerVisible, SurveyTriggerCopyValue, SurveyTriggerRunExpression, SurveyTriggerSkip, Trigger, PopupSurveyModel, SurveyWindowModel, TextPreProcessor, Notifier, Cover, CoverCell, dxSurveyService, englishStrings, surveyLocalization, surveyStrings, QuestionCustomWidget, CustomWidgetCollection, QuestionCustomModel, QuestionCompositeModel, ComponentQuestionJSON, ComponentCollection, StylesManager, ListModel, MultiSelectListModel, PopupModel, createDialogOptions, PopupBaseViewModel, PopupDropdownViewModel, PopupModalViewModel, createPopupViewModel, createPopupModalViewModel, DropdownListModel, DropdownMultiSelectListModel, QuestionButtonGroupModel, ButtonGroupItemModel, ButtonGroupItemValue, IsMobile, IsTouch, _setIsTouch, confirmAction, confirmActionAsync, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, chooseFiles, sanitizeEditableContent, InputMaskBase, InputMaskPattern, InputMaskNumeric, InputMaskDateTime, InputMaskCurrency, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropCore, DragDropChoices, DragDropRankingSelectToRank, defaultStandardCss, modernCss, SvgIconRegistry, SvgRegistry, SvgBundleViewModel, RendererFactory, ResponsivityManager, VerticalResponsivityManager, unwrap, getOriginalEvent, getElement, createDropdownActionModel, createDropdownActionModelAdvanced, createPopupModelWithListModel, getActionDropdownButtonTarget, BaseAction, Action, ActionDropdownViewModel, AnimationUtils, AnimationPropertyUtils, AnimationGroupUtils, AnimationProperty, AnimationBoolean, AnimationGroup, AnimationTab, AdaptiveActionContainer, defaultActionBarCss, ActionContainer, DragOrClickHelper */
10010
10043
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
10011
10044
 
10012
10045
  "use strict";
@@ -10443,6 +10476,8 @@ __webpack_require__.r(__webpack_exports__);
10443
10476
 
10444
10477
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "createDropdownActionModelAdvanced", function() { return _actions_action__WEBPACK_IMPORTED_MODULE_7__["createDropdownActionModelAdvanced"]; });
10445
10478
 
10479
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "createPopupModelWithListModel", function() { return _actions_action__WEBPACK_IMPORTED_MODULE_7__["createPopupModelWithListModel"]; });
10480
+
10446
10481
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getActionDropdownButtonTarget", function() { return _actions_action__WEBPACK_IMPORTED_MODULE_7__["getActionDropdownButtonTarget"]; });
10447
10482
 
10448
10483
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "BaseAction", function() { return _actions_action__WEBPACK_IMPORTED_MODULE_7__["BaseAction"]; });
@@ -10501,7 +10536,7 @@ __webpack_require__.r(__webpack_exports__);
10501
10536
  /*!*****************************!*\
10502
10537
  !*** ./src/entries/core.ts ***!
10503
10538
  \*****************************/
10504
- /*! exports provided: Version, ReleaseDate, checkLibraryVersion, setLicenseKey, slk, hasLicense, settings, Helpers, AnswerCountValidator, EmailValidator, NumericValidator, RegexValidator, SurveyValidator, TextValidator, ValidatorResult, ExpressionValidator, ValidatorRunner, ItemValue, Base, Event, EventBase, ArrayChanges, ComputedUpdater, SurveyError, SurveyElementCore, SurveyElement, DragTypeOverMeEnum, CalculatedValue, CustomError, AnswerRequiredError, OneAnswerRequiredError, RequreNumericError, ExceedSizeError, LocalizableString, LocalizableStrings, HtmlConditionItem, UrlConditionItem, ChoicesRestful, ChoicesRestfull, FunctionFactory, registerFunction, ConditionRunner, ExpressionRunner, ExpressionExecutor, Operand, Const, BinaryOperand, Variable, FunctionOperand, ArrayOperand, UnaryOperand, ConditionsParser, ProcessValue, JsonError, JsonIncorrectTypeError, JsonMetadata, JsonMetadataClass, JsonMissingTypeError, JsonMissingTypeErrorBase, JsonObject, JsonObjectProperty, JsonRequiredPropertyError, JsonUnknownPropertyError, Serializer, property, propertyArray, MatrixDropdownCell, MatrixDropdownRowModelBase, QuestionMatrixDropdownModelBase, MatrixDropdownColumn, matrixDropdownColumnTypes, QuestionMatrixDropdownRenderedCell, QuestionMatrixDropdownRenderedRow, QuestionMatrixDropdownRenderedErrorRow, QuestionMatrixDropdownRenderedTable, MatrixDropdownRowModel, QuestionMatrixDropdownModel, MatrixDynamicRowModel, QuestionMatrixDynamicModel, MatrixRowModel, MatrixCells, QuestionMatrixModel, QuestionMatrixBaseModel, MultipleTextItemModel, MultipleTextCell, MultipleTextErrorCell, MutlipleTextErrorRow, MutlipleTextRow, QuestionMultipleTextModel, MultipleTextEditorModel, PanelModel, PanelModelBase, QuestionRowModel, FlowPanelModel, PageModel, DefaultTitleModel, Question, QuestionNonValue, QuestionEmptyModel, QuestionCheckboxBase, QuestionSelectBase, QuestionCheckboxModel, QuestionTagboxModel, QuestionRankingModel, QuestionCommentModel, QuestionDropdownModel, QuestionFactory, ElementFactory, QuestionFileModel, QuestionHtmlModel, QuestionRadiogroupModel, QuestionRatingModel, RenderedRatingItem, QuestionExpressionModel, QuestionTextBase, CharacterCounter, QuestionTextModel, QuestionBooleanModel, QuestionImagePickerModel, ImageItemValue, QuestionImageModel, QuestionSignaturePadModel, QuestionPanelDynamicModel, QuestionPanelDynamicItem, SurveyTimer, SurveyTimerModel, tryFocusPage, createTOCListModel, getTocRootCss, TOCModel, SurveyProgressModel, ProgressButtons, ProgressButtonsResponsivityManager, SurveyModel, SurveyTrigger, SurveyTriggerComplete, SurveyTriggerSetValue, SurveyTriggerVisible, SurveyTriggerCopyValue, SurveyTriggerRunExpression, SurveyTriggerSkip, Trigger, PopupSurveyModel, SurveyWindowModel, TextPreProcessor, Notifier, Cover, CoverCell, dxSurveyService, englishStrings, surveyLocalization, surveyStrings, QuestionCustomWidget, CustomWidgetCollection, QuestionCustomModel, QuestionCompositeModel, ComponentQuestionJSON, ComponentCollection, StylesManager, ListModel, MultiSelectListModel, PopupModel, createDialogOptions, PopupBaseViewModel, PopupDropdownViewModel, PopupModalViewModel, createPopupViewModel, createPopupModalViewModel, DropdownListModel, DropdownMultiSelectListModel, QuestionButtonGroupModel, ButtonGroupItemModel, ButtonGroupItemValue, IsMobile, IsTouch, _setIsTouch, confirmAction, confirmActionAsync, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, chooseFiles, sanitizeEditableContent, InputMaskBase, InputMaskPattern, InputMaskNumeric, InputMaskDateTime, InputMaskCurrency, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropCore, DragDropChoices, DragDropRankingSelectToRank, defaultStandardCss, modernCss, SvgIconRegistry, SvgRegistry, SvgBundleViewModel, RendererFactory, ResponsivityManager, VerticalResponsivityManager, unwrap, getOriginalEvent, getElement, createDropdownActionModel, createDropdownActionModelAdvanced, getActionDropdownButtonTarget, BaseAction, Action, ActionDropdownViewModel, AnimationUtils, AnimationPropertyUtils, AnimationGroupUtils, AnimationProperty, AnimationBoolean, AnimationGroup, AnimationTab, AdaptiveActionContainer, defaultActionBarCss, ActionContainer, DragOrClickHelper, Model */
10539
+ /*! exports provided: Version, ReleaseDate, checkLibraryVersion, setLicenseKey, slk, hasLicense, settings, Helpers, AnswerCountValidator, EmailValidator, NumericValidator, RegexValidator, SurveyValidator, TextValidator, ValidatorResult, ExpressionValidator, ValidatorRunner, ItemValue, Base, Event, EventBase, ArrayChanges, ComputedUpdater, SurveyError, SurveyElementCore, SurveyElement, DragTypeOverMeEnum, CalculatedValue, CustomError, AnswerRequiredError, OneAnswerRequiredError, RequreNumericError, ExceedSizeError, LocalizableString, LocalizableStrings, HtmlConditionItem, UrlConditionItem, ChoicesRestful, ChoicesRestfull, FunctionFactory, registerFunction, ConditionRunner, ExpressionRunner, ExpressionExecutor, Operand, Const, BinaryOperand, Variable, FunctionOperand, ArrayOperand, UnaryOperand, ConditionsParser, ProcessValue, JsonError, JsonIncorrectTypeError, JsonMetadata, JsonMetadataClass, JsonMissingTypeError, JsonMissingTypeErrorBase, JsonObject, JsonObjectProperty, JsonRequiredPropertyError, JsonUnknownPropertyError, Serializer, property, propertyArray, MatrixDropdownCell, MatrixDropdownRowModelBase, QuestionMatrixDropdownModelBase, MatrixDropdownColumn, matrixDropdownColumnTypes, QuestionMatrixDropdownRenderedCell, QuestionMatrixDropdownRenderedRow, QuestionMatrixDropdownRenderedErrorRow, QuestionMatrixDropdownRenderedTable, MatrixDropdownRowModel, QuestionMatrixDropdownModel, MatrixDynamicRowModel, QuestionMatrixDynamicModel, MatrixRowModel, MatrixCells, QuestionMatrixModel, QuestionMatrixBaseModel, MultipleTextItemModel, MultipleTextCell, MultipleTextErrorCell, MutlipleTextErrorRow, MutlipleTextRow, QuestionMultipleTextModel, MultipleTextEditorModel, PanelModel, PanelModelBase, QuestionRowModel, FlowPanelModel, PageModel, DefaultTitleModel, Question, QuestionNonValue, QuestionEmptyModel, QuestionCheckboxBase, QuestionSelectBase, QuestionCheckboxModel, QuestionTagboxModel, QuestionRankingModel, QuestionCommentModel, QuestionDropdownModel, QuestionFactory, ElementFactory, QuestionFileModel, QuestionHtmlModel, QuestionRadiogroupModel, QuestionRatingModel, RenderedRatingItem, QuestionExpressionModel, QuestionTextBase, CharacterCounter, QuestionTextModel, QuestionBooleanModel, QuestionImagePickerModel, ImageItemValue, QuestionImageModel, QuestionSignaturePadModel, QuestionPanelDynamicModel, QuestionPanelDynamicItem, SurveyTimer, SurveyTimerModel, tryFocusPage, createTOCListModel, getTocRootCss, TOCModel, SurveyProgressModel, ProgressButtons, ProgressButtonsResponsivityManager, SurveyModel, SurveyTrigger, SurveyTriggerComplete, SurveyTriggerSetValue, SurveyTriggerVisible, SurveyTriggerCopyValue, SurveyTriggerRunExpression, SurveyTriggerSkip, Trigger, PopupSurveyModel, SurveyWindowModel, TextPreProcessor, Notifier, Cover, CoverCell, dxSurveyService, englishStrings, surveyLocalization, surveyStrings, QuestionCustomWidget, CustomWidgetCollection, QuestionCustomModel, QuestionCompositeModel, ComponentQuestionJSON, ComponentCollection, StylesManager, ListModel, MultiSelectListModel, PopupModel, createDialogOptions, PopupBaseViewModel, PopupDropdownViewModel, PopupModalViewModel, createPopupViewModel, createPopupModalViewModel, DropdownListModel, DropdownMultiSelectListModel, QuestionButtonGroupModel, ButtonGroupItemModel, ButtonGroupItemValue, IsMobile, IsTouch, _setIsTouch, confirmAction, confirmActionAsync, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, chooseFiles, sanitizeEditableContent, InputMaskBase, InputMaskPattern, InputMaskNumeric, InputMaskDateTime, InputMaskCurrency, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropCore, DragDropChoices, DragDropRankingSelectToRank, defaultStandardCss, modernCss, SvgIconRegistry, SvgRegistry, SvgBundleViewModel, RendererFactory, ResponsivityManager, VerticalResponsivityManager, unwrap, getOriginalEvent, getElement, createDropdownActionModel, createDropdownActionModelAdvanced, createPopupModelWithListModel, getActionDropdownButtonTarget, BaseAction, Action, ActionDropdownViewModel, AnimationUtils, AnimationPropertyUtils, AnimationGroupUtils, AnimationProperty, AnimationBoolean, AnimationGroup, AnimationTab, AdaptiveActionContainer, defaultActionBarCss, ActionContainer, DragOrClickHelper, Model */
10505
10540
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
10506
10541
 
10507
10542
  "use strict";
@@ -10931,6 +10966,8 @@ __webpack_require__.r(__webpack_exports__);
10931
10966
 
10932
10967
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "createDropdownActionModelAdvanced", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__["createDropdownActionModelAdvanced"]; });
10933
10968
 
10969
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "createPopupModelWithListModel", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__["createPopupModelWithListModel"]; });
10970
+
10934
10971
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getActionDropdownButtonTarget", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__["getActionDropdownButtonTarget"]; });
10935
10972
 
10936
10973
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "BaseAction", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__["BaseAction"]; });
@@ -11390,7 +11427,7 @@ __webpack_require__.r(__webpack_exports__);
11390
11427
  /*!******************************!*\
11391
11428
  !*** ./src/entries/react.ts ***!
11392
11429
  \******************************/
11393
- /*! exports provided: Version, ReleaseDate, checkLibraryVersion, setLicenseKey, slk, hasLicense, settings, Helpers, AnswerCountValidator, EmailValidator, NumericValidator, RegexValidator, SurveyValidator, TextValidator, ValidatorResult, ExpressionValidator, ValidatorRunner, ItemValue, Base, Event, EventBase, ArrayChanges, ComputedUpdater, SurveyError, SurveyElementCore, SurveyElement, DragTypeOverMeEnum, CalculatedValue, CustomError, AnswerRequiredError, OneAnswerRequiredError, RequreNumericError, ExceedSizeError, LocalizableString, LocalizableStrings, HtmlConditionItem, UrlConditionItem, ChoicesRestful, ChoicesRestfull, FunctionFactory, registerFunction, ConditionRunner, ExpressionRunner, ExpressionExecutor, Operand, Const, BinaryOperand, Variable, FunctionOperand, ArrayOperand, UnaryOperand, ConditionsParser, ProcessValue, JsonError, JsonIncorrectTypeError, JsonMetadata, JsonMetadataClass, JsonMissingTypeError, JsonMissingTypeErrorBase, JsonObject, JsonObjectProperty, JsonRequiredPropertyError, JsonUnknownPropertyError, Serializer, property, propertyArray, MatrixDropdownCell, MatrixDropdownRowModelBase, QuestionMatrixDropdownModelBase, MatrixDropdownColumn, matrixDropdownColumnTypes, QuestionMatrixDropdownRenderedCell, QuestionMatrixDropdownRenderedRow, QuestionMatrixDropdownRenderedErrorRow, QuestionMatrixDropdownRenderedTable, MatrixDropdownRowModel, QuestionMatrixDropdownModel, MatrixDynamicRowModel, QuestionMatrixDynamicModel, MatrixRowModel, MatrixCells, QuestionMatrixModel, QuestionMatrixBaseModel, MultipleTextItemModel, MultipleTextCell, MultipleTextErrorCell, MutlipleTextErrorRow, MutlipleTextRow, QuestionMultipleTextModel, MultipleTextEditorModel, PanelModel, PanelModelBase, QuestionRowModel, FlowPanelModel, PageModel, DefaultTitleModel, Question, QuestionNonValue, QuestionEmptyModel, QuestionCheckboxBase, QuestionSelectBase, QuestionCheckboxModel, QuestionTagboxModel, QuestionRankingModel, QuestionCommentModel, QuestionDropdownModel, QuestionFactory, ElementFactory, QuestionFileModel, QuestionHtmlModel, QuestionRadiogroupModel, QuestionRatingModel, RenderedRatingItem, QuestionExpressionModel, QuestionTextBase, CharacterCounter, QuestionTextModel, QuestionBooleanModel, QuestionImagePickerModel, ImageItemValue, QuestionImageModel, QuestionSignaturePadModel, QuestionPanelDynamicModel, QuestionPanelDynamicItem, SurveyTimer, SurveyTimerModel, tryFocusPage, createTOCListModel, getTocRootCss, TOCModel, SurveyProgressModel, ProgressButtons, ProgressButtonsResponsivityManager, SurveyModel, SurveyTrigger, SurveyTriggerComplete, SurveyTriggerSetValue, SurveyTriggerVisible, SurveyTriggerCopyValue, SurveyTriggerRunExpression, SurveyTriggerSkip, Trigger, PopupSurveyModel, SurveyWindowModel, TextPreProcessor, Notifier, Cover, CoverCell, dxSurveyService, englishStrings, surveyLocalization, surveyStrings, QuestionCustomWidget, CustomWidgetCollection, QuestionCustomModel, QuestionCompositeModel, ComponentQuestionJSON, ComponentCollection, StylesManager, ListModel, MultiSelectListModel, PopupModel, createDialogOptions, PopupBaseViewModel, PopupDropdownViewModel, PopupModalViewModel, createPopupViewModel, createPopupModalViewModel, DropdownListModel, DropdownMultiSelectListModel, QuestionButtonGroupModel, ButtonGroupItemModel, ButtonGroupItemValue, IsMobile, IsTouch, _setIsTouch, confirmAction, confirmActionAsync, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, chooseFiles, sanitizeEditableContent, InputMaskBase, InputMaskPattern, InputMaskNumeric, InputMaskDateTime, InputMaskCurrency, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropCore, DragDropChoices, DragDropRankingSelectToRank, defaultStandardCss, modernCss, SvgIconRegistry, SvgRegistry, SvgBundleViewModel, RendererFactory, ResponsivityManager, VerticalResponsivityManager, unwrap, getOriginalEvent, getElement, createDropdownActionModel, createDropdownActionModelAdvanced, getActionDropdownButtonTarget, BaseAction, Action, ActionDropdownViewModel, AnimationUtils, AnimationPropertyUtils, AnimationGroupUtils, AnimationProperty, AnimationBoolean, AnimationGroup, AnimationTab, AdaptiveActionContainer, defaultActionBarCss, ActionContainer, DragOrClickHelper, Model, bootstrapThemeName, bootstrapThemeColors, bootstrapThemeCssRules, bootstrapMaterialThemeName, bootstrapMaterialThemeColors, bootstrapMaterialThemeCssRules, defaultBootstrapCss, defaultBootstrapMaterialCss, Survey, attachKey2click, ReactSurveyElementsWrapper, SurveyNavigationBase, SurveyTimerPanel, SurveyPage, SurveyRow, SurveyPanel, SurveyFlowPanel, SurveyQuestion, SurveyElementErrors, SurveyQuestionAndErrorsCell, ReactSurveyElement, SurveyElementBase, SurveyQuestionElementBase, SurveyQuestionCommentItem, SurveyQuestionComment, SurveyQuestionCheckbox, SurveyQuestionCheckboxItem, SurveyQuestionRanking, SurveyQuestionRankingItem, RatingItem, RatingItemStar, RatingItemSmiley, RatingDropdownItem, TagboxFilterString, SurveyQuestionOptionItem, SurveyQuestionDropdownBase, SurveyQuestionDropdown, SurveyQuestionTagboxItem, SurveyQuestionTagbox, SurveyQuestionDropdownSelect, SurveyQuestionMatrix, SurveyQuestionMatrixRow, SurveyQuestionMatrixCell, SurveyQuestionHtml, SurveyQuestionFile, SurveyFileChooseButton, SurveyFilePreview, 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, QuestionErrorComponent, MatrixRow, Skeleton, NotifierComponent, ComponentsContainer, CharacterCounterComponent, HeaderMobile, HeaderCell, Header, SurveyLocStringViewer, SurveyLocStringEditor, LoadingIndicatorComponent, SvgBundleComponent */
11430
+ /*! exports provided: Version, ReleaseDate, checkLibraryVersion, setLicenseKey, slk, hasLicense, settings, Helpers, AnswerCountValidator, EmailValidator, NumericValidator, RegexValidator, SurveyValidator, TextValidator, ValidatorResult, ExpressionValidator, ValidatorRunner, ItemValue, Base, Event, EventBase, ArrayChanges, ComputedUpdater, SurveyError, SurveyElementCore, SurveyElement, DragTypeOverMeEnum, CalculatedValue, CustomError, AnswerRequiredError, OneAnswerRequiredError, RequreNumericError, ExceedSizeError, LocalizableString, LocalizableStrings, HtmlConditionItem, UrlConditionItem, ChoicesRestful, ChoicesRestfull, FunctionFactory, registerFunction, ConditionRunner, ExpressionRunner, ExpressionExecutor, Operand, Const, BinaryOperand, Variable, FunctionOperand, ArrayOperand, UnaryOperand, ConditionsParser, ProcessValue, JsonError, JsonIncorrectTypeError, JsonMetadata, JsonMetadataClass, JsonMissingTypeError, JsonMissingTypeErrorBase, JsonObject, JsonObjectProperty, JsonRequiredPropertyError, JsonUnknownPropertyError, Serializer, property, propertyArray, MatrixDropdownCell, MatrixDropdownRowModelBase, QuestionMatrixDropdownModelBase, MatrixDropdownColumn, matrixDropdownColumnTypes, QuestionMatrixDropdownRenderedCell, QuestionMatrixDropdownRenderedRow, QuestionMatrixDropdownRenderedErrorRow, QuestionMatrixDropdownRenderedTable, MatrixDropdownRowModel, QuestionMatrixDropdownModel, MatrixDynamicRowModel, QuestionMatrixDynamicModel, MatrixRowModel, MatrixCells, QuestionMatrixModel, QuestionMatrixBaseModel, MultipleTextItemModel, MultipleTextCell, MultipleTextErrorCell, MutlipleTextErrorRow, MutlipleTextRow, QuestionMultipleTextModel, MultipleTextEditorModel, PanelModel, PanelModelBase, QuestionRowModel, FlowPanelModel, PageModel, DefaultTitleModel, Question, QuestionNonValue, QuestionEmptyModel, QuestionCheckboxBase, QuestionSelectBase, QuestionCheckboxModel, QuestionTagboxModel, QuestionRankingModel, QuestionCommentModel, QuestionDropdownModel, QuestionFactory, ElementFactory, QuestionFileModel, QuestionHtmlModel, QuestionRadiogroupModel, QuestionRatingModel, RenderedRatingItem, QuestionExpressionModel, QuestionTextBase, CharacterCounter, QuestionTextModel, QuestionBooleanModel, QuestionImagePickerModel, ImageItemValue, QuestionImageModel, QuestionSignaturePadModel, QuestionPanelDynamicModel, QuestionPanelDynamicItem, SurveyTimer, SurveyTimerModel, tryFocusPage, createTOCListModel, getTocRootCss, TOCModel, SurveyProgressModel, ProgressButtons, ProgressButtonsResponsivityManager, SurveyModel, SurveyTrigger, SurveyTriggerComplete, SurveyTriggerSetValue, SurveyTriggerVisible, SurveyTriggerCopyValue, SurveyTriggerRunExpression, SurveyTriggerSkip, Trigger, PopupSurveyModel, SurveyWindowModel, TextPreProcessor, Notifier, Cover, CoverCell, dxSurveyService, englishStrings, surveyLocalization, surveyStrings, QuestionCustomWidget, CustomWidgetCollection, QuestionCustomModel, QuestionCompositeModel, ComponentQuestionJSON, ComponentCollection, StylesManager, ListModel, MultiSelectListModel, PopupModel, createDialogOptions, PopupBaseViewModel, PopupDropdownViewModel, PopupModalViewModel, createPopupViewModel, createPopupModalViewModel, DropdownListModel, DropdownMultiSelectListModel, QuestionButtonGroupModel, ButtonGroupItemModel, ButtonGroupItemValue, IsMobile, IsTouch, _setIsTouch, confirmAction, confirmActionAsync, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, chooseFiles, sanitizeEditableContent, InputMaskBase, InputMaskPattern, InputMaskNumeric, InputMaskDateTime, InputMaskCurrency, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropCore, DragDropChoices, DragDropRankingSelectToRank, defaultStandardCss, modernCss, SvgIconRegistry, SvgRegistry, SvgBundleViewModel, RendererFactory, ResponsivityManager, VerticalResponsivityManager, unwrap, getOriginalEvent, getElement, createDropdownActionModel, createDropdownActionModelAdvanced, createPopupModelWithListModel, getActionDropdownButtonTarget, BaseAction, Action, ActionDropdownViewModel, AnimationUtils, AnimationPropertyUtils, AnimationGroupUtils, AnimationProperty, AnimationBoolean, AnimationGroup, AnimationTab, AdaptiveActionContainer, defaultActionBarCss, ActionContainer, DragOrClickHelper, Model, bootstrapThemeName, bootstrapThemeColors, bootstrapThemeCssRules, bootstrapMaterialThemeName, bootstrapMaterialThemeColors, bootstrapMaterialThemeCssRules, defaultBootstrapCss, defaultBootstrapMaterialCss, Survey, attachKey2click, ReactSurveyElementsWrapper, SurveyNavigationBase, SurveyTimerPanel, SurveyPage, SurveyRow, SurveyPanel, SurveyFlowPanel, SurveyQuestion, SurveyElementErrors, SurveyQuestionAndErrorsCell, ReactSurveyElement, SurveyElementBase, SurveyQuestionElementBase, SurveyQuestionCommentItem, SurveyQuestionComment, SurveyQuestionCheckbox, SurveyQuestionCheckboxItem, SurveyQuestionRanking, SurveyQuestionRankingItem, RatingItem, RatingItemStar, RatingItemSmiley, RatingDropdownItem, TagboxFilterString, SurveyQuestionOptionItem, SurveyQuestionDropdownBase, SurveyQuestionDropdown, SurveyQuestionTagboxItem, SurveyQuestionTagbox, SurveyQuestionDropdownSelect, SurveyQuestionMatrix, SurveyQuestionMatrixRow, SurveyQuestionMatrixCell, SurveyQuestionHtml, SurveyQuestionFile, SurveyFileChooseButton, SurveyFilePreview, 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, QuestionErrorComponent, MatrixRow, Skeleton, NotifierComponent, ComponentsContainer, CharacterCounterComponent, HeaderMobile, HeaderCell, Header, SurveyLocStringViewer, SurveyLocStringEditor, LoadingIndicatorComponent, SvgBundleComponent */
11394
11431
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
11395
11432
 
11396
11433
  "use strict";
@@ -11820,6 +11857,8 @@ __webpack_require__.r(__webpack_exports__);
11820
11857
 
11821
11858
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "createDropdownActionModelAdvanced", function() { return _core__WEBPACK_IMPORTED_MODULE_0__["createDropdownActionModelAdvanced"]; });
11822
11859
 
11860
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "createPopupModelWithListModel", function() { return _core__WEBPACK_IMPORTED_MODULE_0__["createPopupModelWithListModel"]; });
11861
+
11823
11862
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getActionDropdownButtonTarget", function() { return _core__WEBPACK_IMPORTED_MODULE_0__["getActionDropdownButtonTarget"]; });
11824
11863
 
11825
11864
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "BaseAction", function() { return _core__WEBPACK_IMPORTED_MODULE_0__["BaseAction"]; });
@@ -21457,8 +21496,28 @@ var ListModel = /** @class */ (function (_super) {
21457
21496
  var level = itemValue.level || 0;
21458
21497
  return (level + 1) * ListModel.INDENT + "px";
21459
21498
  };
21460
- _this.setItems(items);
21461
- _this.selectedItem = selectedItem;
21499
+ if (Object.keys(items).indexOf("items") !== -1) {
21500
+ var options_1 = items;
21501
+ Object.keys(options_1).forEach(function (key) {
21502
+ switch (key) {
21503
+ case "items":
21504
+ _this.setItems(options_1.items);
21505
+ break;
21506
+ case "onFilterStringChangedCallback":
21507
+ _this.setOnFilterStringChangedCallback(options_1.onFilterStringChangedCallback);
21508
+ break;
21509
+ case "onTextSearchCallback":
21510
+ _this.setOnTextSearchCallback(options_1.onTextSearchCallback);
21511
+ break;
21512
+ default:
21513
+ _this[key] = options_1[key];
21514
+ }
21515
+ });
21516
+ }
21517
+ else {
21518
+ _this.setItems(items);
21519
+ _this.selectedItem = selectedItem;
21520
+ }
21462
21521
  return _this;
21463
21522
  }
21464
21523
  ListModel.prototype.hasText = function (item, filterStringInLow) {
@@ -21685,6 +21744,7 @@ var ListModel = /** @class */ (function (_super) {
21685
21744
  };
21686
21745
  ListModel.prototype.addScrollEventListener = function (handler) {
21687
21746
  if (!!handler) {
21747
+ this.removeScrollEventListener();
21688
21748
  this.scrollHandler = handler;
21689
21749
  }
21690
21750
  if (!!this.scrollHandler) {
@@ -27015,6 +27075,134 @@ survey_core__WEBPACK_IMPORTED_MODULE_0__["surveyLocalization"].localeNames["fa"]
27015
27075
  // signaturePlaceHolderReadOnly: "No signature" => "بدون امضا"
27016
27076
 
27017
27077
 
27078
+ /***/ }),
27079
+
27080
+ /***/ "./src/localization/philippines.ts":
27081
+ /*!*****************************************!*\
27082
+ !*** ./src/localization/philippines.ts ***!
27083
+ \*****************************************/
27084
+ /*! exports provided: philippinesStrings */
27085
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
27086
+
27087
+ "use strict";
27088
+ __webpack_require__.r(__webpack_exports__);
27089
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "philippinesStrings", function() { return philippinesStrings; });
27090
+ /* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! survey-core */ "./src/entries/core.ts");
27091
+ // Uncomment the line below if you create a custom dictionary
27092
+
27093
+ var philippinesStrings = {
27094
+ pagePrevText: "Nakaraang",
27095
+ pageNextText: "Susunod",
27096
+ completeText: "Kumpleto",
27097
+ previewText: "Silipin",
27098
+ editText: "I-edit",
27099
+ startSurveyText: "Magsimula",
27100
+ otherItemText: "Iba pa (ilarawan)",
27101
+ noneItemText: "wala",
27102
+ refuseItemText: "Tumangging sumagot",
27103
+ dontKnowItemText: "hindi ko alam",
27104
+ selectAllItemText: "Piliin lahat",
27105
+ progressText: "Pahina {0} ng {1}",
27106
+ indexText: "{0} ng {1}",
27107
+ panelDynamicProgressText: "{0} ng {1}",
27108
+ panelDynamicTabTextFormat: "Panel {panelIndex}",
27109
+ questionsProgressText: "Sinagot ang {0}/{1} mga tanong",
27110
+ emptySurvey: "Ang survey ay hindi naglalaman ng anumang nakikitang elemento.",
27111
+ completingSurvey: "Salamat sa pagkumpleto ng survey",
27112
+ completingSurveyBefore: "Nakumpleto mo na ang survey na ito.",
27113
+ loadingSurvey: "Nilo-load ang Survey...",
27114
+ placeholder: "Pumili...",
27115
+ ratingOptionsCaption: "Pumili...",
27116
+ value: "halaga",
27117
+ requiredError: "Kinakailangan ang tugon.",
27118
+ requiredErrorInPanel: "Kinakailangan ang tugon: sagutin ang kahit isang tanong.",
27119
+ requiredInAllRowsError: "Kinakailangan ang tugon: sagutin ang mga tanong sa lahat ng row.",
27120
+ eachRowUniqueError: "Ang bawat hilera ay dapat may natatanging halaga.",
27121
+ numericError: "Ang halaga ay dapat na numero.",
27122
+ minError: "Ang halaga ay hindi dapat mas mababa sa {0}",
27123
+ maxError: "Ang halaga ay hindi dapat mas malaki sa {0}",
27124
+ textMinLength: "Mangyaring magpasok ng hindi bababa sa {0} (mga) character.",
27125
+ textMaxLength: "Mangyaring magpasok ng hindi hihigit sa {0} (mga) character.",
27126
+ textMinMaxLength: "Mangyaring magpasok ng hindi bababa sa {0} at hindi hihigit sa {1} (na) character.",
27127
+ minRowCountError: "Mangyaring punan ang hindi bababa sa {0} (na) hilera.",
27128
+ minSelectError: "Mangyaring pumili ng hindi bababa sa {0} (mga) opsyon.",
27129
+ maxSelectError: "Mangyaring pumili ng hindi hihigit sa {0} (mga) opsyon.",
27130
+ numericMinMax: "Ang '{0}' ay dapat na hindi bababa sa {1} at hindi hihigit sa {2}",
27131
+ numericMin: "Ang '{0}' ay dapat na hindi bababa sa {1}",
27132
+ numericMax: "Ang '{0}' ay dapat na hindi hihigit sa {1}",
27133
+ invalidEmail: "Mangyaring magpasok ng wastong e-mail address.",
27134
+ invalidExpression: "Ang expression na: {0} ay dapat magbalik ng 'true'.",
27135
+ urlRequestError: "Ang kahilingan ay nagbalik ng error na '{0}'. {1}",
27136
+ urlGetChoicesError: "Ang kahilingan ay nagbalik ng walang laman na data o ang 'path' property ay hindi tama",
27137
+ exceedMaxSize: "Ang laki ng file ay hindi dapat lumampas sa {0}.",
27138
+ noUploadFilesHandler: "Hindi ma-upload ang mga file. Mangyaring magdagdag ng handler para sa kaganapang 'onUploadFiles'.",
27139
+ otherRequiredError: "Kinakailangan ang tugon: maglagay ng isa pang halaga.",
27140
+ uploadingFile: "Ina-upload ang iyong file. Mangyaring maghintay ng ilang segundo at subukang muli.",
27141
+ loadingFile: "Naglo-load...",
27142
+ chooseFile: "Pumili ng (mga) file...",
27143
+ noFileChosen: "Walang napiling file",
27144
+ filePlaceholder: "I-drag at i-drop ang isang file dito o i-click ang button sa ibaba upang pumili ng file na ia-upload.",
27145
+ confirmDelete: "Sigurado ka bang gusto mong tanggalin ang talang ito?",
27146
+ keyDuplicationError: "Ang halagang ito ay dapat na natatangi.",
27147
+ addColumn: "Magdagdag ng Column",
27148
+ addRow: "Magdagdag ng hilera",
27149
+ removeRow: "Alisin",
27150
+ emptyRowsText: "Walang mga hilera.",
27151
+ addPanel: "Magdagdag ng bago",
27152
+ removePanel: "Alisin",
27153
+ showDetails: "Ipakita ang mga detalye",
27154
+ hideDetails: "Itago ang Mga Detalye",
27155
+ choices_Item: "aytem",
27156
+ matrix_column: "Kolum",
27157
+ matrix_row: "hilera",
27158
+ multipletext_itemname: "text",
27159
+ savingData: "Ang mga resulta ay sini-save sa server...",
27160
+ savingDataError: "May naganap na error at hindi namin mai-save ang mga resulta.",
27161
+ savingDataSuccess: "Matagumpay na na-save ang mga resulta!",
27162
+ savingExceedSize: "Ang iyong tugon ay lumampas sa 64KB. Mangyaring bawasan ang laki ng iyong (mga) file at subukang muli o makipag-ugnayan sa may-ari ng survey.",
27163
+ saveAgainButton: "Subukan muli",
27164
+ timerMin: "min",
27165
+ timerSec: "sec",
27166
+ timerSpentAll: "Gumastos ka ng {0} sa pahinang ito at {1} sa kabuuan.",
27167
+ timerSpentPage: "Gumastos ka ng {0} sa pahinang ito.",
27168
+ timerSpentSurvey: "Gumastos ka ng {0} sa kabuuan.",
27169
+ timerLimitAll: "Gumastos ka ng {0} ng {1} sa pahinang ito at {2} ng {3} sa kabuuan.",
27170
+ timerLimitPage: "Gumastos ka ng {0} sa {1} sa pahinang ito.",
27171
+ timerLimitSurvey: "Gumastos ka ng {0} sa {1} sa kabuuan.",
27172
+ clearCaption: "Maaliwalas",
27173
+ signaturePlaceHolder: "Pumirma dito",
27174
+ signaturePlaceHolderReadOnly: "Walang pirma",
27175
+ chooseFileCaption: "Piliin ang File",
27176
+ takePhotoCaption: "Kunan ng litrato",
27177
+ photoPlaceholder: "I-click ang button sa ibaba para kumuha ng larawan gamit ang camera.",
27178
+ fileOrPhotoPlaceholder: "I-drag at i-drop o pumili ng file na ia-upload o kumuha ng larawan gamit ang camera.",
27179
+ replaceFileCaption: "Palitan ang file",
27180
+ removeFileCaption: "Alisin ang file na ito",
27181
+ booleanCheckedLabel: "Oo",
27182
+ booleanUncheckedLabel: "Hindi",
27183
+ confirmRemoveFile: "Sigurado ka bang gusto mong alisin ang file na ito: {0}?",
27184
+ confirmRemoveAllFiles: "Sigurado ka bang gusto mong alisin ang lahat ng file?",
27185
+ questionTitlePatternText: "Pamagat ng Tanong",
27186
+ modalCancelButtonText: "Kanselahin",
27187
+ modalApplyButtonText: "Mag-apply",
27188
+ filterStringPlaceholder: "I-type para maghanap...",
27189
+ emptyMessage: "walang maipakitang datos",
27190
+ noEntriesText: "Wala pang entry.\nI-click ang button sa ibaba para magdagdag ng bagong entry.",
27191
+ noEntriesReadonlyText: "Walang entry",
27192
+ more: "Higit pa",
27193
+ tagboxDoneButtonCaption: "OK",
27194
+ selectToRankEmptyRankedAreaText: "Ang lahat ng mga pagpipilian ay pinili para sa pagraranggo",
27195
+ selectToRankEmptyUnrankedAreaText: "I-drag ang mga pagpipilian dito upang i-rank ang mga ito",
27196
+ ok: "OK",
27197
+ cancel: "Kanselahin",
27198
+ };
27199
+ // Uncomment the lines below if you create a custom dictionary.
27200
+ // Replace "en" with a custom locale code (for example, "fr" or "de"),
27201
+ // Replace `englishStrings` with the name of the variable that contains the custom dictionary.
27202
+ survey_core__WEBPACK_IMPORTED_MODULE_0__["surveyLocalization"].locales["fil"] = philippinesStrings;
27203
+ survey_core__WEBPACK_IMPORTED_MODULE_0__["surveyLocalization"].localeNames["fil"] = "Filipino";
27204
+
27205
+
27018
27206
  /***/ }),
27019
27207
 
27020
27208
  /***/ "./src/localization/polish.ts":
@@ -31530,12 +31718,53 @@ var InputMaskNumeric = /** @class */ (function (_super) {
31530
31718
  if (Number.isNaN(value)) {
31531
31719
  return true;
31532
31720
  }
31721
+ if (value >= min && value <= max)
31722
+ return true;
31533
31723
  if (!matchWholeMask) {
31724
+ if (!number.hasDecimalSeparator) {
31725
+ var test_high = value;
31726
+ var test_low = value;
31727
+ if (value >= 0) {
31728
+ if (value + 1 > min && value <= max)
31729
+ return true;
31730
+ while (true) {
31731
+ test_high = test_high * 10 + 9;
31732
+ test_low = test_low * 10;
31733
+ if (test_low > max) {
31734
+ break;
31735
+ }
31736
+ if (test_high > min) {
31737
+ return true;
31738
+ }
31739
+ }
31740
+ return false;
31741
+ }
31742
+ if (value < 0) {
31743
+ if (value >= min && value - 1 < max)
31744
+ return true;
31745
+ while (true) {
31746
+ test_high = test_high * 10;
31747
+ test_low = test_low * 10 - 9;
31748
+ if (test_high < min) {
31749
+ break;
31750
+ }
31751
+ if (test_low < max) {
31752
+ return true;
31753
+ }
31754
+ }
31755
+ return false;
31756
+ }
31757
+ }
31758
+ else {
31759
+ var delta = Math.pow(0.1, (number.fractionalPart || "").length);
31760
+ if (value >= 0)
31761
+ return value + delta > min && value <= max;
31762
+ if (value < 0)
31763
+ return value >= min && value - delta < max;
31764
+ }
31534
31765
  return value >= 0 && value <= max || value < 0 && value >= min;
31535
31766
  }
31536
- else {
31537
- return value >= min && value <= max;
31538
- }
31767
+ return false;
31539
31768
  }
31540
31769
  return true;
31541
31770
  };
@@ -31931,8 +32160,8 @@ var __decorate = (undefined && undefined.__decorate) || function (decorators, ta
31931
32160
 
31932
32161
  var MultiSelectListModel = /** @class */ (function (_super) {
31933
32162
  __extends(MultiSelectListModel, _super);
31934
- function MultiSelectListModel(items, onSelectionChanged, allowSelection, selectedItems, elementId) {
31935
- var _this = _super.call(this, items, onSelectionChanged, allowSelection, undefined, elementId) || this;
32163
+ function MultiSelectListModel(options) {
32164
+ var _this = _super.call(this, options) || this;
31936
32165
  _this.onItemClick = function (item) {
31937
32166
  if (_this.isItemDisabled(item))
31938
32167
  return;
@@ -31952,7 +32181,7 @@ var MultiSelectListModel = /** @class */ (function (_super) {
31952
32181
  _this.isItemSelected = function (itemValue) {
31953
32182
  return !!_this.allowSelection && _this.selectedItems.filter(function (item) { return _this.areSameItems(item, itemValue); }).length > 0;
31954
32183
  };
31955
- _this.setSelectedItems(selectedItems || []);
32184
+ _this.setSelectedItems(options.selectedItems || []);
31956
32185
  return _this;
31957
32186
  }
31958
32187
  MultiSelectListModel.prototype.updateItemState = function () {
@@ -33582,7 +33811,7 @@ var PanelModelBase = /** @class */ (function (_super) {
33582
33811
  else {
33583
33812
  var question = element;
33584
33813
  if (!question.validate(rec.fireCallback, rec)) {
33585
- if (rec.focuseOnFirstError && rec.firstErrorQuestion == null) {
33814
+ if (!rec.firstErrorQuestion) {
33586
33815
  rec.firstErrorQuestion = question;
33587
33816
  }
33588
33817
  rec.result = true;
@@ -37316,9 +37545,11 @@ var PopupBaseViewModel = /** @class */ (function (_super) {
37316
37545
  if (!val) {
37317
37546
  _this.updateOnHiding();
37318
37547
  _this.updateIsVisible(val);
37548
+ _this.updateAfterHiding();
37319
37549
  _this._isPositionSetValue = false;
37320
37550
  }
37321
37551
  else {
37552
+ _this.updateBeforeShowing();
37322
37553
  _this.updateIsVisible(val);
37323
37554
  }
37324
37555
  }
@@ -37336,6 +37567,12 @@ var PopupBaseViewModel = /** @class */ (function (_super) {
37336
37567
  this._isVisible = val;
37337
37568
  this.onVisibilityChanged.fire(this, { isVisible: val });
37338
37569
  };
37570
+ PopupBaseViewModel.prototype.updateBeforeShowing = function () {
37571
+ this.model.onShow();
37572
+ };
37573
+ PopupBaseViewModel.prototype.updateAfterHiding = function () {
37574
+ this.model.onHiding();
37575
+ };
37339
37576
  PopupBaseViewModel.prototype.getLeaveOptions = function () {
37340
37577
  return { cssClass: "sv-popup--animate-leave" };
37341
37578
  };
@@ -37763,13 +38000,6 @@ var PopupModel = /** @class */ (function (_super) {
37763
38000
  }
37764
38001
  this.setPropertyValue("isVisible", value);
37765
38002
  this.onVisibilityChanged.fire(this, { model: this, isVisible: value });
37766
- if (this.isVisible) {
37767
- this.onShow();
37768
- }
37769
- else {
37770
- this.refreshInnerModel();
37771
- this.onHide();
37772
- }
37773
38003
  },
37774
38004
  enumerable: false,
37775
38005
  configurable: true
@@ -37777,6 +38007,14 @@ var PopupModel = /** @class */ (function (_super) {
37777
38007
  PopupModel.prototype.toggleVisibility = function () {
37778
38008
  this.isVisible = !this.isVisible;
37779
38009
  };
38010
+ PopupModel.prototype.show = function () {
38011
+ if (!this.isVisible)
38012
+ this.isVisible = true;
38013
+ };
38014
+ PopupModel.prototype.hide = function () {
38015
+ if (this.isVisible)
38016
+ this.isVisible = false;
38017
+ };
37780
38018
  PopupModel.prototype.recalculatePosition = function (isResetHeight) {
37781
38019
  this.onRecalculatePosition.fire(this, { isResetHeight: isResetHeight });
37782
38020
  };
@@ -37785,6 +38023,10 @@ var PopupModel = /** @class */ (function (_super) {
37785
38023
  this.onFooterActionsCreated.fire(this, options);
37786
38024
  return options.actions;
37787
38025
  };
38026
+ PopupModel.prototype.onHiding = function () {
38027
+ this.refreshInnerModel();
38028
+ this.onHide();
38029
+ };
37788
38030
  PopupModel.prototype.dispose = function () {
37789
38031
  _super.prototype.dispose.call(this);
37790
38032
  this.onDispose();
@@ -39966,15 +40208,18 @@ var Question = /** @class */ (function (_super) {
39966
40208
  * @see value
39967
40209
  * @see comment
39968
40210
  */
39969
- Question.prototype.clearValue = function () {
40211
+ Question.prototype.clearValue = function (keepComment) {
39970
40212
  if (this.value !== undefined) {
39971
40213
  this.value = undefined;
39972
40214
  }
39973
- if (!!this.comment) {
40215
+ if (!!this.comment && keepComment !== true) {
39974
40216
  this.comment = undefined;
39975
40217
  }
39976
40218
  this.setValueChangedDirectly(false);
39977
40219
  };
40220
+ Question.prototype.clearValueOnly = function () {
40221
+ this.clearValue(true);
40222
+ };
39978
40223
  Question.prototype.unbindValue = function () {
39979
40224
  this.clearValue();
39980
40225
  };
@@ -40658,6 +40903,8 @@ var Question = /** @class */ (function (_super) {
40658
40903
  return new _error__WEBPACK_IMPORTED_MODULE_3__["CustomError"](error, this.survey);
40659
40904
  };
40660
40905
  Question.prototype.removeError = function (error) {
40906
+ if (!error)
40907
+ return;
40661
40908
  var errors = this.errors;
40662
40909
  var index = errors.indexOf(error);
40663
40910
  if (index !== -1)
@@ -41102,14 +41349,18 @@ var Question = /** @class */ (function (_super) {
41102
41349
  Question.prototype.getDesktopRenderAs = function () {
41103
41350
  return "default";
41104
41351
  };
41352
+ Question.prototype.onBeforeSetCompactRenderer = function () { };
41353
+ Question.prototype.onBeforeSetDesktopRenderer = function () { };
41105
41354
  Question.prototype.processResponsiveness = function (requiredWidth, availableWidth) {
41106
41355
  availableWidth = Math.round(availableWidth);
41107
41356
  if (Math.abs(requiredWidth - availableWidth) > 2) {
41108
41357
  var oldRenderAs = this.renderAs;
41109
41358
  if (requiredWidth > availableWidth) {
41359
+ this.onBeforeSetCompactRenderer();
41110
41360
  this.renderAs = this.getCompactRenderAs();
41111
41361
  }
41112
41362
  else {
41363
+ this.onBeforeSetDesktopRenderer();
41113
41364
  this.renderAs = this.getDesktopRenderAs();
41114
41365
  }
41115
41366
  return oldRenderAs !== this.renderAs;
@@ -41441,8 +41692,7 @@ _jsonobject__WEBPACK_IMPORTED_MODULE_1__["Serializer"].addClass("question", [
41441
41692
  visibleIf: function (obj) {
41442
41693
  return obj.showCommentArea;
41443
41694
  },
41444
- serializationProperty: "locCommentText",
41445
- layout: "row",
41695
+ serializationProperty: "locCommentText"
41446
41696
  },
41447
41697
  {
41448
41698
  name: "commentPlaceholder",
@@ -42338,8 +42588,8 @@ var QuestionSelectBase = /** @class */ (function (_super) {
42338
42588
  this.isSettingComment = false;
42339
42589
  }
42340
42590
  };
42341
- QuestionSelectBase.prototype.clearValue = function () {
42342
- _super.prototype.clearValue.call(this);
42591
+ QuestionSelectBase.prototype.clearValue = function (keepComment) {
42592
+ _super.prototype.clearValue.call(this, keepComment);
42343
42593
  this.prevOtherValue = undefined;
42344
42594
  };
42345
42595
  QuestionSelectBase.prototype.updateCommentFromSurvey = function (newValue) {
@@ -42596,6 +42846,9 @@ var QuestionSelectBase = /** @class */ (function (_super) {
42596
42846
  this.isLockVisibleChoices = !!question && question.name === val;
42597
42847
  if (!!question && question.name !== val) {
42598
42848
  question.removeDependedQuestion(this);
42849
+ if (this.isDesignMode && !this.isLoadingFromJson && !!val) {
42850
+ this.setPropertyValue("choicesFromQuestion", undefined);
42851
+ }
42599
42852
  }
42600
42853
  this.setPropertyValue("choicesFromQuestion", val);
42601
42854
  this.isLockVisibleChoices = false;
@@ -42881,13 +43134,18 @@ var QuestionSelectBase = /** @class */ (function (_super) {
42881
43134
  }
42882
43135
  };
42883
43136
  QuestionSelectBase.prototype.addNewItemToVisibleChoices = function (items, isAddAll) {
43137
+ var _this = this;
42884
43138
  if (!isAddAll)
42885
43139
  return;
42886
43140
  if (!this.newItemValue) {
42887
43141
  this.newItemValue = this.createItemValue("newitem"); //TODO
42888
43142
  this.newItemValue.isGhost = true;
43143
+ this.newItemValue.registerFunctionOnPropertyValueChanged("isVisible", function () {
43144
+ _this.updateVisibleChoices();
43145
+ });
42889
43146
  }
42890
- if (!this.isUsingCarryForward && this.canShowOptionItem(this.newItemValue, isAddAll, false)) {
43147
+ if (this.newItemValue.isVisible && !this.isUsingCarryForward
43148
+ && this.canShowOptionItem(this.newItemValue, isAddAll, false)) {
42891
43149
  this.footItemsCount = 1;
42892
43150
  items.push(this.newItemValue);
42893
43151
  }
@@ -43545,7 +43803,7 @@ var QuestionSelectBase = /** @class */ (function (_super) {
43545
43803
  QuestionSelectBase.prototype.clearIncorrectValuesCore = function () {
43546
43804
  var val = this.value;
43547
43805
  if (this.canClearValueAnUnknown(val)) {
43548
- this.clearValue();
43806
+ this.clearValue(true);
43549
43807
  }
43550
43808
  };
43551
43809
  QuestionSelectBase.prototype.canClearValueAnUnknown = function (val) {
@@ -43555,7 +43813,7 @@ var QuestionSelectBase = /** @class */ (function (_super) {
43555
43813
  };
43556
43814
  QuestionSelectBase.prototype.clearDisabledValuesCore = function () {
43557
43815
  if (this.isValueDisabled(this.value)) {
43558
- this.clearValue();
43816
+ this.clearValue(true);
43559
43817
  }
43560
43818
  };
43561
43819
  QuestionSelectBase.prototype.clearUnusedValues = function () {
@@ -44983,7 +45241,7 @@ var QuestionCheckboxModel = /** @class */ (function (_super) {
44983
45241
  this.selectAll();
44984
45242
  }
44985
45243
  else {
44986
- this.clearValue();
45244
+ this.clearValue(true);
44987
45245
  }
44988
45246
  },
44989
45247
  enumerable: false,
@@ -45395,7 +45653,7 @@ var QuestionCheckboxModel = /** @class */ (function (_super) {
45395
45653
  this.value = null;
45396
45654
  }
45397
45655
  else {
45398
- this.clearValue();
45656
+ this.clearValue(true);
45399
45657
  }
45400
45658
  }
45401
45659
  this.isChangingValueOnClearIncorrect = false;
@@ -45426,7 +45684,7 @@ var QuestionCheckboxModel = /** @class */ (function (_super) {
45426
45684
  return;
45427
45685
  this.isChangingValueOnClearIncorrect = true;
45428
45686
  if (newValue.length == 0) {
45429
- this.clearValue();
45687
+ this.clearValue(true);
45430
45688
  }
45431
45689
  else {
45432
45690
  this.value = newValue;
@@ -47332,9 +47590,9 @@ var QuestionDropdownModel = /** @class */ (function (_super) {
47332
47590
  QuestionDropdownModel.prototype.getInputId = function () {
47333
47591
  return this.inputId + "_0";
47334
47592
  };
47335
- QuestionDropdownModel.prototype.clearValue = function () {
47593
+ QuestionDropdownModel.prototype.clearValue = function (keepComment) {
47336
47594
  var _a;
47337
- _super.prototype.clearValue.call(this);
47595
+ _super.prototype.clearValue.call(this, keepComment);
47338
47596
  this.lastSelectedItemValue = null;
47339
47597
  (_a = this.dropdownListModel) === null || _a === void 0 ? void 0 : _a.clear();
47340
47598
  };
@@ -47344,7 +47602,7 @@ var QuestionDropdownModel = /** @class */ (function (_super) {
47344
47602
  QuestionDropdownModel.prototype.onKeyUp = function (event) {
47345
47603
  var char = event.which || event.keyCode;
47346
47604
  if (char === 46) {
47347
- this.clearValue();
47605
+ this.clearValue(true);
47348
47606
  event.preventDefault();
47349
47607
  event.stopPropagation();
47350
47608
  }
@@ -48165,9 +48423,9 @@ var QuestionFileModelBase = /** @class */ (function (_super) {
48165
48423
  enumerable: false,
48166
48424
  configurable: true
48167
48425
  });
48168
- QuestionFileModelBase.prototype.clearValue = function () {
48426
+ QuestionFileModelBase.prototype.clearValue = function (keepComment) {
48169
48427
  this.clearOnDeletingContainer();
48170
- _super.prototype.clearValue.call(this);
48428
+ _super.prototype.clearValue.call(this, keepComment);
48171
48429
  };
48172
48430
  QuestionFileModelBase.prototype.clearOnDeletingContainer = function () {
48173
48431
  if (!this.survey)
@@ -50074,7 +50332,7 @@ var QuestionImagePickerModel = /** @class */ (function (_super) {
50074
50332
  if (!val)
50075
50333
  return;
50076
50334
  if (!Array.isArray(val) || val.length == 0) {
50077
- this.clearValue();
50335
+ this.clearValue(true);
50078
50336
  return;
50079
50337
  }
50080
50338
  var newValue = [];
@@ -50086,7 +50344,7 @@ var QuestionImagePickerModel = /** @class */ (function (_super) {
50086
50344
  if (newValue.length == val.length)
50087
50345
  return;
50088
50346
  if (newValue.length == 0) {
50089
- this.clearValue();
50347
+ this.clearValue(true);
50090
50348
  }
50091
50349
  else {
50092
50350
  this.value = newValue;
@@ -52024,10 +52282,10 @@ var MatrixDropdownRowModelBase = /** @class */ (function () {
52024
52282
  this.detailPanel.runCondition(values, newProps);
52025
52283
  }
52026
52284
  };
52027
- MatrixDropdownRowModelBase.prototype.clearValue = function () {
52285
+ MatrixDropdownRowModelBase.prototype.clearValue = function (keepComment) {
52028
52286
  var questions = this.questions;
52029
52287
  for (var i = 0; i < questions.length; i++) {
52030
- questions[i].clearValue();
52288
+ questions[i].clearValue(keepComment);
52031
52289
  }
52032
52290
  };
52033
52291
  MatrixDropdownRowModelBase.prototype.onAnyValueChanged = function (name, questionName) {
@@ -53433,23 +53691,7 @@ var QuestionMatrixDropdownModelBase = /** @class */ (function (_super) {
53433
53691
  QuestionMatrixDropdownModelBase.prototype.checkIfValueInRowDuplicated = function (checkedRow, cellQuestion) {
53434
53692
  if (!this.generatedVisibleRows)
53435
53693
  return false;
53436
- var res = false;
53437
- for (var i = 0; i < this.generatedVisibleRows.length; i++) {
53438
- var row = this.generatedVisibleRows[i];
53439
- if (checkedRow === row)
53440
- continue;
53441
- if (_helpers__WEBPACK_IMPORTED_MODULE_2__["Helpers"].isTwoValueEquals(row.getValue(cellQuestion.name), cellQuestion.value, true, this.isUniqueCaseSensitive)) {
53442
- res = true;
53443
- break;
53444
- }
53445
- }
53446
- if (res) {
53447
- this.addDuplicationError(cellQuestion);
53448
- }
53449
- else {
53450
- cellQuestion.clearErrors();
53451
- }
53452
- return res;
53694
+ return this.isValueInColumnDuplicated(cellQuestion.name, true, checkedRow);
53453
53695
  };
53454
53696
  /**
53455
53697
  * Assigns values to a row.
@@ -53787,51 +54029,104 @@ var QuestionMatrixDropdownModelBase = /** @class */ (function (_super) {
53787
54029
  QuestionMatrixDropdownModelBase.prototype.isValueDuplicated = function () {
53788
54030
  if (!this.generatedVisibleRows)
53789
54031
  return false;
53790
- var columns = this.getUniqueColumns();
53791
- var res = false;
53792
- for (var i = 0; i < columns.length; i++) {
53793
- res = this.isValueInColumnDuplicated(columns[i]) || res;
53794
- }
53795
- return res;
53796
- };
53797
- QuestionMatrixDropdownModelBase.prototype.isValueInColumnDuplicated = function (column) {
53798
- var keyValues = [];
54032
+ var names = this.getUniqueColumnsNames();
53799
54033
  var res = false;
53800
- for (var i = 0; i < this.generatedVisibleRows.length; i++) {
53801
- res =
53802
- this.isValueDuplicatedInRow(this.generatedVisibleRows[i], column, keyValues) || res;
54034
+ for (var i = 0; i < names.length; i++) {
54035
+ res = this.isValueInColumnDuplicated(names[i], true) || res;
53803
54036
  }
53804
54037
  return res;
53805
54038
  };
53806
- QuestionMatrixDropdownModelBase.prototype.getUniqueColumns = function () {
54039
+ QuestionMatrixDropdownModelBase.prototype.getUniqueColumnsNames = function () {
53807
54040
  var res = new Array();
53808
54041
  for (var i = 0; i < this.columns.length; i++) {
53809
54042
  if (this.columns[i].isUnique) {
53810
- res.push(this.columns[i]);
54043
+ res.push(this.columns[i].name);
53811
54044
  }
53812
54045
  }
53813
54046
  return res;
53814
54047
  };
53815
- QuestionMatrixDropdownModelBase.prototype.isValueDuplicatedInRow = function (row, column, keyValues) {
53816
- var question = row.getQuestionByColumn(column);
53817
- if (!question || question.isEmpty())
53818
- return false;
53819
- var value = question.value;
53820
- for (var i = 0; i < keyValues.length; i++) {
53821
- if (_helpers__WEBPACK_IMPORTED_MODULE_2__["Helpers"].isTwoValueEquals(value, keyValues[i], true, this.isUniqueCaseSensitive)) {
53822
- this.addDuplicationError(question);
53823
- return true;
54048
+ QuestionMatrixDropdownModelBase.prototype.isValueInColumnDuplicated = function (columnName, showErrors, row) {
54049
+ var rows = this.getDuplicatedRows(columnName);
54050
+ if (showErrors) {
54051
+ this.showDuplicatedErrorsInRows(rows, columnName);
54052
+ }
54053
+ this.removeDuplicatedErrorsInRows(rows, columnName);
54054
+ return !!row ? rows.indexOf(row) > -1 : rows.length > 0;
54055
+ };
54056
+ QuestionMatrixDropdownModelBase.prototype.getDuplicatedRows = function (columnName) {
54057
+ var keyValues = {};
54058
+ var res = [];
54059
+ var rows = this.generatedVisibleRows;
54060
+ for (var i = 0; i < rows.length; i++) {
54061
+ var val = undefined;
54062
+ var question = rows[i].getQuestionByName(columnName);
54063
+ if (!!question) {
54064
+ val = question.value;
54065
+ }
54066
+ else {
54067
+ var rowVal = this.getRowValue(i);
54068
+ val = !!rowVal ? rowVal[columnName] : undefined;
54069
+ }
54070
+ if (!this.isValueEmpty(val)) {
54071
+ if (!this.isUniqueCaseSensitive && typeof val === "string") {
54072
+ val = val.toLocaleLowerCase();
54073
+ }
54074
+ if (!keyValues[val]) {
54075
+ keyValues[val] = [];
54076
+ }
54077
+ keyValues[val].push(rows[i]);
53824
54078
  }
53825
54079
  }
53826
- keyValues.push(value);
53827
- return false;
54080
+ for (var key in keyValues) {
54081
+ if (keyValues[key].length > 1) {
54082
+ keyValues[key].forEach(function (row) { return res.push(row); });
54083
+ }
54084
+ }
54085
+ return res;
54086
+ };
54087
+ QuestionMatrixDropdownModelBase.prototype.showDuplicatedErrorsInRows = function (duplicatedRows, columnName) {
54088
+ var _this = this;
54089
+ duplicatedRows.forEach(function (row) {
54090
+ var question = row.getQuestionByName(columnName);
54091
+ if (!question && _this.detailPanel.getQuestionByName(columnName)) {
54092
+ row.showDetailPanel();
54093
+ if (row.detailPanel) {
54094
+ question = row.detailPanel.getQuestionByName(columnName);
54095
+ }
54096
+ }
54097
+ if (question) {
54098
+ row.showDetailPanel();
54099
+ _this.addDuplicationError(question);
54100
+ }
54101
+ });
54102
+ };
54103
+ QuestionMatrixDropdownModelBase.prototype.removeDuplicatedErrorsInRows = function (duplicatedRows, columnName) {
54104
+ var _this = this;
54105
+ this.generatedVisibleRows.forEach(function (row) {
54106
+ if (duplicatedRows.indexOf(row) < 0) {
54107
+ var question = row.getQuestionByName(columnName);
54108
+ if (question) {
54109
+ _this.removeDuplicationError(question);
54110
+ }
54111
+ }
54112
+ });
54113
+ };
54114
+ QuestionMatrixDropdownModelBase.prototype.getDuplicationError = function (question) {
54115
+ var errors = question.errors;
54116
+ for (var i = 0; i < errors.length; i++) {
54117
+ if (errors[i].getErrorType() === "keyduplicationerror")
54118
+ return errors[i];
54119
+ }
54120
+ return null;
53828
54121
  };
53829
54122
  QuestionMatrixDropdownModelBase.prototype.addDuplicationError = function (question) {
53830
- var keyError = question.errors.find(function (error) { return error.getErrorType() === "keyduplicationerror"; });
53831
- if (!keyError) {
54123
+ if (!this.getDuplicationError(question)) {
53832
54124
  question.addError(new _error__WEBPACK_IMPORTED_MODULE_10__["KeyDuplicationError"](this.keyDuplicationError, this));
53833
54125
  }
53834
54126
  };
54127
+ QuestionMatrixDropdownModelBase.prototype.removeDuplicationError = function (question) {
54128
+ question.removeError(this.getDuplicationError(question));
54129
+ };
53835
54130
  QuestionMatrixDropdownModelBase.prototype.getFirstQuestionToFocus = function (withError) {
53836
54131
  return this.getFirstCellQuestion(withError);
53837
54132
  };
@@ -53977,6 +54272,9 @@ var QuestionMatrixDropdownModelBase = /** @class */ (function (_super) {
53977
54272
  this.onCellValueChanged(row, columnName, combine.rowValue);
53978
54273
  }
53979
54274
  }
54275
+ if (this.getUniqueColumnsNames().indexOf(columnName) > -1) {
54276
+ this.isValueInColumnDuplicated(columnName, !!rowObj);
54277
+ }
53980
54278
  };
53981
54279
  QuestionMatrixDropdownModelBase.prototype.getNewValueOnRowChanged = function (row, columnName, newRowValue, isDeletingValue, newValue) {
53982
54280
  var rowValue = this.getRowValueCore(row, newValue, true);
@@ -57537,13 +57835,11 @@ var QuestionMatrixDynamicModel = /** @class */ (function (_super) {
57537
57835
  }
57538
57836
  return setRowCount < this.minRowCount;
57539
57837
  };
57540
- QuestionMatrixDynamicModel.prototype.getUniqueColumns = function () {
57541
- var res = _super.prototype.getUniqueColumns.call(this);
57542
- if (!!this.keyName) {
57543
- var column = this.getColumnByName(this.keyName);
57544
- if (!!column && res.indexOf(column) < 0) {
57545
- res.push(column);
57546
- }
57838
+ QuestionMatrixDynamicModel.prototype.getUniqueColumnsNames = function () {
57839
+ var res = _super.prototype.getUniqueColumnsNames.call(this);
57840
+ var name = this.keyName;
57841
+ if (!!name && res.indexOf(name) < 0) {
57842
+ res.push(name);
57547
57843
  }
57548
57844
  return res;
57549
57845
  };
@@ -62100,7 +62396,7 @@ var QuestionRadiogroupModel = /** @class */ (function (_super) {
62100
62396
  var clearAction = new _actions_action__WEBPACK_IMPORTED_MODULE_3__["Action"]({
62101
62397
  title: this.clearButtonCaption,
62102
62398
  id: "sv-clr-btn-" + this.id,
62103
- action: function () { _this.clearValue(); },
62399
+ action: function () { _this.clearValue(true); },
62104
62400
  innerCss: this.cssClasses.clearButton,
62105
62401
  visible: new _base__WEBPACK_IMPORTED_MODULE_4__["ComputedUpdater"](function () { return _this.canShowClearButton; })
62106
62402
  });
@@ -62317,7 +62613,7 @@ var QuestionRankingModel = /** @class */ (function (_super) {
62317
62613
  _this.createNewArray("rankingChoices");
62318
62614
  _this.createNewArray("unRankingChoices");
62319
62615
  _this.registerFunctionOnPropertyValueChanged("selectToRankEnabled", function () {
62320
- _this.clearValue();
62616
+ _this.clearValue(true);
62321
62617
  _this.setDragDropRankingChoices();
62322
62618
  _this.updateRankingChoicesSync();
62323
62619
  });
@@ -62932,8 +63228,9 @@ __webpack_require__.r(__webpack_exports__);
62932
63228
  /* harmony import */ var _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./utils/cssClassBuilder */ "./src/utils/cssClassBuilder.ts");
62933
63229
  /* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./base */ "./src/base.ts");
62934
63230
  /* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./utils/utils */ "./src/utils/utils.ts");
62935
- /* harmony import */ var _utils_devices__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./utils/devices */ "./src/utils/devices.ts");
62936
- /* harmony import */ var _global_variables_utils__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./global_variables_utils */ "./src/global_variables_utils.ts");
63231
+ /* harmony import */ var _dropdownListModel__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./dropdownListModel */ "./src/dropdownListModel.ts");
63232
+ /* harmony import */ var _utils_devices__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./utils/devices */ "./src/utils/devices.ts");
63233
+ /* harmony import */ var _global_variables_utils__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./global_variables_utils */ "./src/global_variables_utils.ts");
62937
63234
  var __extends = (undefined && undefined.__extends) || (function () {
62938
63235
  var extendStatics = function (d, b) {
62939
63236
  extendStatics = Object.setPrototypeOf ||
@@ -62966,6 +63263,7 @@ var __decorate = (undefined && undefined.__decorate) || function (decorators, ta
62966
63263
 
62967
63264
 
62968
63265
 
63266
+
62969
63267
  var RenderedRatingItem = /** @class */ (function (_super) {
62970
63268
  __extends(RenderedRatingItem, _super);
62971
63269
  function RenderedRatingItem(itemValue, locString) {
@@ -63257,19 +63555,19 @@ var QuestionRatingModel = /** @class */ (function (_super) {
63257
63555
  QuestionRatingModel.prototype.updateColors = function (themeVariables) {
63258
63556
  if (this.colorMode === "monochrome")
63259
63557
  return;
63260
- if (!_global_variables_utils__WEBPACK_IMPORTED_MODULE_10__["DomDocumentHelper"].isAvailable())
63558
+ if (!_global_variables_utils__WEBPACK_IMPORTED_MODULE_11__["DomDocumentHelper"].isAvailable())
63261
63559
  return;
63262
63560
  if (QuestionRatingModel.colorsCalculated)
63263
63561
  return;
63264
63562
  function getRGBColor(colorName, varName) {
63265
63563
  var str = !!themeVariables && themeVariables[colorName];
63266
63564
  if (!str) {
63267
- var style = getComputedStyle(_global_variables_utils__WEBPACK_IMPORTED_MODULE_10__["DomDocumentHelper"].getDocumentElement());
63565
+ var style = getComputedStyle(_global_variables_utils__WEBPACK_IMPORTED_MODULE_11__["DomDocumentHelper"].getDocumentElement());
63268
63566
  str = style.getPropertyValue && style.getPropertyValue(varName);
63269
63567
  }
63270
63568
  if (!str)
63271
63569
  return null;
63272
- var canvasElement = _global_variables_utils__WEBPACK_IMPORTED_MODULE_10__["DomDocumentHelper"].createElement("canvas");
63570
+ var canvasElement = _global_variables_utils__WEBPACK_IMPORTED_MODULE_11__["DomDocumentHelper"].createElement("canvas");
63273
63571
  if (!canvasElement)
63274
63572
  return null;
63275
63573
  var ctx = canvasElement.getContext("2d");
@@ -63541,7 +63839,7 @@ var QuestionRatingModel = /** @class */ (function (_super) {
63541
63839
  };
63542
63840
  QuestionRatingModel.prototype.setValueFromClick = function (value) {
63543
63841
  if (this.value === parseFloat(value)) {
63544
- this.clearValue();
63842
+ this.clearValue(true);
63545
63843
  }
63546
63844
  else {
63547
63845
  this.value = value;
@@ -63551,7 +63849,7 @@ var QuestionRatingModel = /** @class */ (function (_super) {
63551
63849
  }
63552
63850
  };
63553
63851
  QuestionRatingModel.prototype.onItemMouseIn = function (item) {
63554
- if (_utils_devices__WEBPACK_IMPORTED_MODULE_9__["IsTouch"])
63852
+ if (_utils_devices__WEBPACK_IMPORTED_MODULE_10__["IsTouch"])
63555
63853
  return;
63556
63854
  if (this.isReadOnly || !item.itemValue.isEnabled || this.isDesignMode)
63557
63855
  return;
@@ -63570,7 +63868,7 @@ var QuestionRatingModel = /** @class */ (function (_super) {
63570
63868
  }
63571
63869
  };
63572
63870
  QuestionRatingModel.prototype.onItemMouseOut = function (item) {
63573
- if (_utils_devices__WEBPACK_IMPORTED_MODULE_9__["IsTouch"])
63871
+ if (_utils_devices__WEBPACK_IMPORTED_MODULE_10__["IsTouch"])
63574
63872
  return;
63575
63873
  this.renderedRateItems.forEach(function (item) { return item.highlight = "none"; });
63576
63874
  };
@@ -63841,6 +64139,11 @@ var QuestionRatingModel = /** @class */ (function (_super) {
63841
64139
  QuestionRatingModel.prototype.supportResponsiveness = function () {
63842
64140
  return true;
63843
64141
  };
64142
+ QuestionRatingModel.prototype.onBeforeSetCompactRenderer = function () {
64143
+ if (!this.dropdownListModelValue) {
64144
+ this.dropdownListModel = new _dropdownListModel__WEBPACK_IMPORTED_MODULE_9__["DropdownListModel"](this);
64145
+ }
64146
+ };
63844
64147
  QuestionRatingModel.prototype.getCompactRenderAs = function () {
63845
64148
  return (this.displayMode == "buttons") ? "default" : "dropdown";
63846
64149
  };
@@ -63860,6 +64163,9 @@ var QuestionRatingModel = /** @class */ (function (_super) {
63860
64163
  });
63861
64164
  Object.defineProperty(QuestionRatingModel.prototype, "dropdownListModel", {
63862
64165
  get: function () {
64166
+ if (this.renderAs === "dropdown") {
64167
+ this.onBeforeSetCompactRenderer();
64168
+ }
63863
64169
  return this.dropdownListModelValue;
63864
64170
  },
63865
64171
  set: function (val) {
@@ -64505,9 +64811,9 @@ var QuestionSignaturePadModel = /** @class */ (function (_super) {
64505
64811
  this.value = (arg === null || arg === void 0 ? void 0 : arg.length) ? arg.map(function (r) { return r.content; })[0] : undefined;
64506
64812
  this.valueIsUpdatingInternally = false;
64507
64813
  };
64508
- QuestionSignaturePadModel.prototype.clearValue = function () {
64814
+ QuestionSignaturePadModel.prototype.clearValue = function (keepComment) {
64509
64815
  this.valueWasChangedFromLastUpload = false;
64510
- _super.prototype.clearValue.call(this);
64816
+ _super.prototype.clearValue.call(this, keepComment);
64511
64817
  this.refreshCanvas();
64512
64818
  };
64513
64819
  QuestionSignaturePadModel.prototype.endLoadingFromJson = function () {
@@ -64903,9 +65209,9 @@ var QuestionTagboxModel = /** @class */ (function (_super) {
64903
65209
  this.dropdownListModel.dispose();
64904
65210
  }
64905
65211
  };
64906
- QuestionTagboxModel.prototype.clearValue = function () {
65212
+ QuestionTagboxModel.prototype.clearValue = function (keepComment) {
64907
65213
  var _a;
64908
- _super.prototype.clearValue.call(this);
65214
+ _super.prototype.clearValue.call(this, keepComment);
64909
65215
  (_a = this.dropdownListModel) === null || _a === void 0 ? void 0 : _a.clear();
64910
65216
  };
64911
65217
  Object.defineProperty(QuestionTagboxModel.prototype, "showClearButton", {
@@ -69788,9 +70094,6 @@ var SurveyQuestionDropdownBase = /** @class */ (function (_super) {
69788
70094
  this.renderReadOnlyElement());
69789
70095
  }
69790
70096
  else {
69791
- if (!this.question["dropdownListModel"]) {
69792
- this.question["dropdownListModel"] = new survey_core__WEBPACK_IMPORTED_MODULE_1__["DropdownListModel"](this.question);
69793
- }
69794
70097
  selectElement = react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null,
69795
70098
  this.renderInput(this.question["dropdownListModel"]),
69796
70099
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_components_popup_popup__WEBPACK_IMPORTED_MODULE_2__["Popup"], { model: (_b = (_a = this.question) === null || _a === void 0 ? void 0 : _a.dropdownListModel) === null || _b === void 0 ? void 0 : _b.popupModel }));
@@ -74496,6 +74799,8 @@ var SurveyQuestionMatrixDropdownCell = /** @class */ (function (_super) {
74496
74799
  return this.cell.headers;
74497
74800
  };
74498
74801
  SurveyQuestionMatrixDropdownCell.prototype.renderQuestion = function () {
74802
+ if (!this.question.isVisible)
74803
+ return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null);
74499
74804
  if (!this.cell.isChoice)
74500
74805
  return _reactquestion__WEBPACK_IMPORTED_MODULE_2__["SurveyQuestion"].renderQuestionBody(this.creator, this.question);
74501
74806
  if (this.cell.isOtherChoice)
@@ -75088,7 +75393,7 @@ var SurveyQuestionRadiogroup = /** @class */ (function (_super) {
75088
75393
  var clearButton = null;
75089
75394
  if (this.question.showClearButtonInContent) {
75090
75395
  clearButton = (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", null,
75091
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("input", { type: "button", className: this.question.cssClasses.clearButton, onClick: function () { return _this.question.clearValue(); }, value: this.question.clearButtonCaption })));
75396
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("input", { type: "button", className: this.question.cssClasses.clearButton, onClick: function () { return _this.question.clearValue(true); }, value: this.question.clearButtonCaption })));
75092
75397
  }
75093
75398
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("fieldset", { className: this.question.getSelectBaseRootCss(), ref: function (fieldset) { return (_this.setControl(fieldset)); }, role: this.question.a11y_input_ariaRole, "aria-required": this.question.a11y_input_ariaRequired, "aria-label": this.question.a11y_input_ariaLabel, "aria-labelledby": this.question.a11y_input_ariaLabelledBy, "aria-describedby": this.question.a11y_input_ariaDescribedBy, "aria-invalid": this.question.a11y_input_ariaInvalid, "aria-errormessage": this.question.a11y_input_ariaErrormessage },
75094
75399
  this.question.hasColumns
@@ -76150,7 +76455,7 @@ var SurveyQuestionSignaturePad = /** @class */ (function (_super) {
76150
76455
  return null;
76151
76456
  var cssClasses = this.question.cssClasses;
76152
76457
  return react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: cssClasses.controls },
76153
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("button", { type: "button", className: cssClasses.clearButton, title: this.question.clearButtonCaption, onClick: function () { return _this.question.clearValue(); } }, this.question.cssClasses.clearButtonIconId ? react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_components_svg_icon_svg_icon__WEBPACK_IMPORTED_MODULE_3__["SvgIcon"], { iconName: this.question.cssClasses.clearButtonIconId, size: "auto" }) : react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", null, "\u2716")));
76458
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("button", { type: "button", className: cssClasses.clearButton, title: this.question.clearButtonCaption, onClick: function () { return _this.question.clearValue(true); } }, this.question.cssClasses.clearButtonIconId ? react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_components_svg_icon_svg_icon__WEBPACK_IMPORTED_MODULE_3__["SvgIcon"], { iconName: this.question.cssClasses.clearButtonIconId, size: "auto" }) : react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", null, "\u2716")));
76154
76459
  };
76155
76460
  return SurveyQuestionSignaturePad;
76156
76461
  }(_reactquestion_element__WEBPACK_IMPORTED_MODULE_1__["SurveyQuestionElementBase"]));
@@ -80262,7 +80567,7 @@ var SurveyModel = /** @class */ (function (_super) {
80262
80567
  _this.onPopupVisibleChanged.add(function (_, opt) {
80263
80568
  if (opt.visible) {
80264
80569
  _this.onScrollCallback = function () {
80265
- opt.popup.toggleVisibility();
80570
+ opt.popup.hide();
80266
80571
  };
80267
80572
  }
80268
80573
  else {
@@ -81755,7 +82060,8 @@ var SurveyModel = /** @class */ (function (_super) {
81755
82060
  SurveyModel.prototype.updateWrapperFormCss = function () {
81756
82061
  this.wrapperFormCss = new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_18__["CssClassBuilder"]()
81757
82062
  .append(this.css.rootWrapper)
81758
- .append(this.css.rootWrapperFixed, this.backgroundImageAttachment === "fixed")
82063
+ .append(this.css.rootWrapperHasImage, !!this.backgroundImage)
82064
+ .append(this.css.rootWrapperFixed, !!this.backgroundImage && this.backgroundImageAttachment === "fixed")
81759
82065
  .toString();
81760
82066
  };
81761
82067
  Object.defineProperty(SurveyModel.prototype, "completedHtml", {
@@ -83569,7 +83875,7 @@ var SurveyModel = /** @class */ (function (_super) {
83569
83875
  if (this.isValidateOnComplete) {
83570
83876
  if (!this.isLastPage)
83571
83877
  return false;
83572
- return this.validate(true, true, func) !== true && !skipValidation;
83878
+ return this.validate(true, this.focusOnFirstError, func, true) !== true && !skipValidation;
83573
83879
  }
83574
83880
  return this.validateCurrentPage(func) !== true && !skipValidation;
83575
83881
  };
@@ -83701,25 +84007,27 @@ var SurveyModel = /** @class */ (function (_super) {
83701
84007
  * @see validateCurrentPage
83702
84008
  * @see validatePage
83703
84009
  */
83704
- SurveyModel.prototype.validate = function (fireCallback, focusOnFirstError, onAsyncValidation) {
84010
+ SurveyModel.prototype.validate = function (fireCallback, focusOnFirstError, onAsyncValidation, changeCurrentPage) {
83705
84011
  if (fireCallback === void 0) { fireCallback = true; }
83706
84012
  if (focusOnFirstError === void 0) { focusOnFirstError = false; }
83707
84013
  if (!!onAsyncValidation) {
83708
84014
  fireCallback = true;
83709
84015
  }
83710
84016
  var visPages = this.visiblePages;
83711
- var firstErrorPage = null;
83712
84017
  var res = true;
83713
84018
  var rec = { fireCallback: fireCallback, focuseOnFirstError: focusOnFirstError, firstErrorQuestion: null, result: false };
83714
84019
  for (var i = 0; i < visPages.length; i++) {
83715
84020
  if (!visPages[i].validate(fireCallback, focusOnFirstError, rec)) {
83716
- if (!firstErrorPage)
83717
- firstErrorPage = visPages[i];
83718
84021
  res = false;
83719
84022
  }
83720
84023
  }
83721
- if (focusOnFirstError && !!firstErrorPage && !!rec.firstErrorQuestion) {
83722
- rec.firstErrorQuestion.focus(true);
84024
+ if (!!rec.firstErrorQuestion && (focusOnFirstError || changeCurrentPage)) {
84025
+ if (focusOnFirstError) {
84026
+ rec.firstErrorQuestion.focus(true);
84027
+ }
84028
+ else {
84029
+ this.currentPage = rec.firstErrorQuestion.page;
84030
+ }
83723
84031
  }
83724
84032
  if (!res || !onAsyncValidation)
83725
84033
  return res;
@@ -85513,7 +85821,7 @@ var SurveyModel = /** @class */ (function (_super) {
85513
85821
  page.name = name;
85514
85822
  return page;
85515
85823
  };
85516
- SurveyModel.prototype.questionOnValueChanging = function (valueName, newValue) {
85824
+ SurveyModel.prototype.questionOnValueChanging = function (valueName, newValue, questionValueName) {
85517
85825
  if (!!this.editingObj) {
85518
85826
  var prop = _jsonobject__WEBPACK_IMPORTED_MODULE_1__["Serializer"].findProperty(this.editingObj.getType(), valueName);
85519
85827
  if (!!prop)
@@ -85523,7 +85831,7 @@ var SurveyModel = /** @class */ (function (_super) {
85523
85831
  return newValue;
85524
85832
  var options = {
85525
85833
  name: valueName,
85526
- question: this.getQuestionByValueName(valueName),
85834
+ question: this.getQuestionByValueName(questionValueName || valueName),
85527
85835
  value: this.getUnbindValue(newValue),
85528
85836
  oldValue: this.getValue(valueName),
85529
85837
  };
@@ -85708,6 +86016,12 @@ var SurveyModel = /** @class */ (function (_super) {
85708
86016
  }
85709
86017
  this.isTriggerIsRunning = false;
85710
86018
  };
86019
+ SurveyModel.prototype.checkTriggersAndRunConditions = function (name, newValue, oldValue) {
86020
+ var triggerKeys = {};
86021
+ triggerKeys[name] = { newValue: newValue, oldValue: oldValue };
86022
+ this.runConditionOnValueChanged(name, newValue);
86023
+ this.checkTriggers(triggerKeys, false, false, name);
86024
+ };
85711
86025
  Object.defineProperty(SurveyModel.prototype, "hasRequiredValidQuestionTrigger", {
85712
86026
  get: function () {
85713
86027
  for (var i = 0; i < this.triggers.length; i++) {
@@ -86265,10 +86579,7 @@ var SurveyModel = /** @class */ (function (_super) {
86265
86579
  this.variablesHash[name] = newValue;
86266
86580
  this.notifyElementsOnAnyValueOrVariableChanged(name);
86267
86581
  if (!_helpers__WEBPACK_IMPORTED_MODULE_0__["Helpers"].isTwoValueEquals(oldValue, newValue)) {
86268
- this.runConditionOnValueChanged(name, newValue);
86269
- var triggerKeys = {};
86270
- triggerKeys[name] = { newValue: newValue, oldValue: oldValue };
86271
- this.checkTriggers(triggerKeys, false, false, name);
86582
+ this.checkTriggersAndRunConditions(name, newValue, oldValue);
86272
86583
  this.onVariableChanged.fire(this, { name: name, value: newValue });
86273
86584
  }
86274
86585
  };
@@ -86357,10 +86668,7 @@ var SurveyModel = /** @class */ (function (_super) {
86357
86668
  if (locNotification === true || this.isDisposed || this.isRunningElementsBindings)
86358
86669
  return;
86359
86670
  questionName = questionName || name;
86360
- var triggerKeys = {};
86361
- triggerKeys[name] = { newValue: newValue, oldValue: oldValue };
86362
- this.runConditionOnValueChanged(name, newValue);
86363
- this.checkTriggers(triggerKeys, false, false, name);
86671
+ this.checkTriggersAndRunConditions(name, newValue, oldValue);
86364
86672
  if (allowNotifyValueChanged)
86365
86673
  this.notifyQuestionOnValueChanged(name, newValue, questionName);
86366
86674
  if (locNotification !== "text") {
@@ -86478,6 +86786,7 @@ var SurveyModel = /** @class */ (function (_super) {
86478
86786
  if (this.isTwoValueEquals(newValue, this.getComment(name)))
86479
86787
  return;
86480
86788
  var commentName = name + this.commentSuffix;
86789
+ newValue = this.questionOnValueChanging(commentName, newValue, name);
86481
86790
  if (this.isValueEmpty(newValue)) {
86482
86791
  this.deleteDataValueCore(this.valuesHash, commentName);
86483
86792
  }
@@ -86492,7 +86801,7 @@ var SurveyModel = /** @class */ (function (_super) {
86492
86801
  }
86493
86802
  }
86494
86803
  if (!locNotification) {
86495
- this.runConditionOnValueChanged(name, this.getValue(name));
86804
+ this.checkTriggersAndRunConditions(name, this.getValue(name), undefined);
86496
86805
  }
86497
86806
  if (locNotification !== "text") {
86498
86807
  this.tryGoNextPageAutomatic(name);
@@ -86504,6 +86813,10 @@ var SurveyModel = /** @class */ (function (_super) {
86504
86813
  question: question,
86505
86814
  value: newValue,
86506
86815
  });
86816
+ question.comment = newValue;
86817
+ if (question.comment != newValue) {
86818
+ question.comment = newValue;
86819
+ }
86507
86820
  }
86508
86821
  };
86509
86822
  /**
@@ -87651,7 +87964,11 @@ var SurveyModel = /** @class */ (function (_super) {
87651
87964
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])()
87652
87965
  ], SurveyModel.prototype, "_isCompact", void 0);
87653
87966
  __decorate([
87654
- Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])()
87967
+ Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])({
87968
+ onSet: function (newValue, target) {
87969
+ target.updateCss();
87970
+ }
87971
+ })
87655
87972
  ], SurveyModel.prototype, "backgroundImage", void 0);
87656
87973
  __decorate([
87657
87974
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])()
@@ -88477,14 +88794,21 @@ function createTOCListModel(survey, onAction) {
88477
88794
  visible: new _base__WEBPACK_IMPORTED_MODULE_1__["ComputedUpdater"](function () { return page.isVisible && !(page["isStartPage"]); })
88478
88795
  });
88479
88796
  });
88480
- var listModel = new _list__WEBPACK_IMPORTED_MODULE_3__["ListModel"](items, function (item) {
88481
- if (!!item.action()) {
88482
- listModel.selectedItem = item;
88483
- }
88484
- }, true, items.filter(function (i) { return !!survey.currentPage && i.id === survey.currentPage.name; })[0] || items.filter(function (i) { return i.id === pagesSource[0].name; })[0]);
88797
+ var selectedItem = items.filter(function (i) { return !!survey.currentPage && i.id === survey.currentPage.name; })[0] || items.filter(function (i) { return i.id === pagesSource[0].name; })[0];
88798
+ var listOptions = {
88799
+ items: items,
88800
+ onSelectionChanged: function (item) {
88801
+ if (!!item.action()) {
88802
+ listModel.selectedItem = item;
88803
+ }
88804
+ },
88805
+ allowSelection: true,
88806
+ searchEnabled: false,
88807
+ locOwner: survey,
88808
+ selectedItem: selectedItem
88809
+ };
88810
+ var listModel = new _list__WEBPACK_IMPORTED_MODULE_3__["ListModel"](listOptions);
88485
88811
  listModel.allowSelection = false;
88486
- listModel.locOwner = survey;
88487
- listModel.searchEnabled = false;
88488
88812
  survey.onCurrentPageChanged.add(function (s, o) {
88489
88813
  listModel.selectedItem = items.filter(function (i) { return !!survey.currentPage && i.id === survey.currentPage.name; })[0];
88490
88814
  });