survey-react 1.9.103 → 1.9.104

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/survey.react.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - Survey JavaScript library v1.9.103
2
+ * surveyjs - Survey JavaScript library v1.9.104
3
3
  * Copyright (c) 2015-2023 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
5
5
  */
@@ -2066,13 +2066,13 @@ var Base = /** @class */ (function () {
2066
2066
  return locStr.text;
2067
2067
  if (defaultValue != null)
2068
2068
  return defaultValue;
2069
- var propDefaultValue = this.getDefaultValueFromProperty(name);
2069
+ var propDefaultValue = this.getDefaultPropertyValue(name);
2070
2070
  if (propDefaultValue !== undefined)
2071
2071
  return propDefaultValue;
2072
2072
  }
2073
2073
  return res;
2074
2074
  };
2075
- Base.prototype.getDefaultValueFromProperty = function (name) {
2075
+ Base.prototype.getDefaultPropertyValue = function (name) {
2076
2076
  var prop = this.getPropertyByName(name);
2077
2077
  if (!prop || prop.isCustom && this.isCreating)
2078
2078
  return undefined;
@@ -2085,6 +2085,12 @@ var Base = /** @class */ (function () {
2085
2085
  return prop.onGetValue(this);
2086
2086
  return undefined;
2087
2087
  };
2088
+ Base.prototype.hasDefaultPropertyValue = function (name) {
2089
+ return this.getDefaultPropertyValue(name) !== undefined;
2090
+ };
2091
+ Base.prototype.resetPropertyValue = function (name) {
2092
+ this.setPropertyValue(name, undefined);
2093
+ };
2088
2094
  Base.prototype.getPropertyValueWithoutDefault = function (name) {
2089
2095
  return this.getPropertyValueCore(this.propertyHash, name);
2090
2096
  };
@@ -5509,6 +5515,7 @@ var defaultV2Css = {
5509
5515
  mainRoot: "sd-element sd-question sd-row__question sd-element--complex sd-question--complex sd-question--table",
5510
5516
  tableWrapper: "sd-matrix sd-table-wrapper",
5511
5517
  root: "sd-table sd-matrix__table",
5518
+ noHeader: "sd-table--no-header",
5512
5519
  rootVerticalAlignTop: "sd-table--align-top",
5513
5520
  rootVerticalAlignMiddle: "sd-table--align-middle",
5514
5521
  rootAlternateRows: "sd-table--alternate-rows",
@@ -5535,6 +5542,7 @@ var defaultV2Css = {
5535
5542
  mainRoot: "sd-element sd-question sd-row__question sd-element--complex sd-question--complex sd-question--table",
5536
5543
  rootScroll: "sd-question--scroll",
5537
5544
  root: "sd-table sd-matrixdropdown",
5545
+ noHeader: "sd-table--no-header",
5538
5546
  rootVerticalAlignTop: "sd-table--align-top",
5539
5547
  rootVerticalAlignMiddle: "sd-table--align-middle",
5540
5548
  tableWrapper: "sd-table-wrapper",
@@ -5547,6 +5555,7 @@ var defaultV2Css = {
5547
5555
  row: "sd-table__row",
5548
5556
  headerCell: "sd-table__cell sd-table__cell--header",
5549
5557
  rowTextCell: "sd-table__cell sd-table__cell--row-text",
5558
+ columnTitleCell: "sd-table__cell--column-title",
5550
5559
  cellRequiredText: "sd-question__required-text",
5551
5560
  detailButton: "sd-table__cell--detail-button",
5552
5561
  detailButtonExpanded: "sd-table__cell--detail-button--expanded",
@@ -5554,7 +5563,9 @@ var defaultV2Css = {
5554
5563
  detailIconExpanded: "sd-detail-panel__icon--expanded",
5555
5564
  detailIconId: "icon-expanddetail",
5556
5565
  detailIconExpandedId: "icon-collapsedetail",
5566
+ detailPanelCell: "sd-table__cell--detail-panel",
5557
5567
  actionsCell: "sd-table__cell sd-table__cell--actions",
5568
+ actionsCellDrag: "sd-table__cell--drag",
5558
5569
  emptyCell: "sd-table__cell--empty",
5559
5570
  verticalCell: "sd-table__cell--vertical",
5560
5571
  cellQuestionWrapper: "sd-table__question-wrapper",
@@ -5565,6 +5576,7 @@ var defaultV2Css = {
5565
5576
  rootScroll: "sd-question--scroll",
5566
5577
  empty: "sd-question--empty",
5567
5578
  root: "sd-table sd-matrixdynamic",
5579
+ noHeader: "sd-table--no-header",
5568
5580
  tableWrapper: "sd-table-wrapper",
5569
5581
  content: "sd-matrixdynamic__content sd-question__content",
5570
5582
  cell: "sd-table__cell",
@@ -5572,6 +5584,7 @@ var defaultV2Css = {
5572
5584
  itemCell: "sd-table__cell--item",
5573
5585
  headerCell: "sd-table__cell sd-table__cell--header",
5574
5586
  rowTextCell: "sd-table__cell sd-table__cell--row-text",
5587
+ columnTitleCell: "sd-table__cell--column-title",
5575
5588
  cellRequiredText: "sd-question__required-text",
5576
5589
  button: "sd-action sd-matrixdynamic__btn",
5577
5590
  detailRow: "sd-table__row sd-table__row--detail",
@@ -5583,6 +5596,7 @@ var defaultV2Css = {
5583
5596
  detailIconExpandedId: "icon-collapsedetail",
5584
5597
  detailPanelCell: "sd-table__cell--detail-panel",
5585
5598
  actionsCell: "sd-table__cell sd-table__cell--actions",
5599
+ actionsCellDrag: "sd-table__cell--drag",
5586
5600
  buttonAdd: "sd-matrixdynamic__add-btn",
5587
5601
  buttonRemove: "sd-action--negative sd-matrixdynamic__remove-btn",
5588
5602
  iconAdd: "",
@@ -7720,6 +7734,13 @@ var DropdownListModel = /** @class */ (function (_super) {
7720
7734
  enumerable: false,
7721
7735
  configurable: true
7722
7736
  });
7737
+ Object.defineProperty(DropdownListModel.prototype, "canShowSelectedItem", {
7738
+ get: function () {
7739
+ return !this.focused || this._markdownMode || !this.searchEnabled;
7740
+ },
7741
+ enumerable: false,
7742
+ configurable: true
7743
+ });
7723
7744
  DropdownListModel.prototype.applyInputString = function (item) {
7724
7745
  var hasHtml = item === null || item === void 0 ? void 0 : item.locText.hasHtml;
7725
7746
  if (hasHtml || this.question.inputFieldComponentName) {
@@ -7754,7 +7775,12 @@ var DropdownListModel = /** @class */ (function (_super) {
7754
7775
  set: function (val) {
7755
7776
  this.inputString = val;
7756
7777
  this.filterString = val;
7757
- this.applyHintString(this.listModel.focusedItem || this.question.selectedItem);
7778
+ if (!val) {
7779
+ this.hintString = "";
7780
+ }
7781
+ else {
7782
+ this.applyHintString(this.listModel.focusedItem || this.question.selectedItem);
7783
+ }
7758
7784
  },
7759
7785
  enumerable: false,
7760
7786
  configurable: true
@@ -8635,7 +8661,7 @@ __webpack_require__.r(__webpack_exports__);
8635
8661
  /*!*************************************!*\
8636
8662
  !*** ./src/entries/chunks/model.ts ***!
8637
8663
  \*************************************/
8638
- /*! exports provided: Version, ReleaseDate, checkLibraryVersion, setLicenseKey, hasLicense, settings, Helpers, AnswerCountValidator, EmailValidator, NumericValidator, RegexValidator, SurveyValidator, TextValidator, ValidatorResult, ExpressionValidator, ValidatorRunner, ItemValue, Base, Event, EventBase, ArrayChanges, ComputedUpdater, SurveyError, SurveyElementCore, SurveyElement, DragTypeOverMeEnum, CalculatedValue, CustomError, AnswerRequiredError, OneAnswerRequiredError, RequreNumericError, ExceedSizeError, LocalizableString, LocalizableStrings, HtmlConditionItem, UrlConditionItem, ChoicesRestful, ChoicesRestfull, FunctionFactory, registerFunction, ConditionRunner, ExpressionRunner, ExpressionExecutor, Operand, Const, BinaryOperand, Variable, FunctionOperand, ArrayOperand, UnaryOperand, ConditionsParser, ProcessValue, JsonError, JsonIncorrectTypeError, JsonMetadata, JsonMetadataClass, JsonMissingTypeError, JsonMissingTypeErrorBase, JsonObject, JsonObjectProperty, JsonRequiredPropertyError, JsonUnknownPropertyError, Serializer, property, propertyArray, MatrixDropdownCell, MatrixDropdownRowModelBase, QuestionMatrixDropdownModelBase, MatrixDropdownColumn, matrixDropdownColumnTypes, QuestionMatrixDropdownRenderedCell, QuestionMatrixDropdownRenderedRow, QuestionMatrixDropdownRenderedTable, MatrixDropdownRowModel, QuestionMatrixDropdownModel, MatrixDynamicRowModel, QuestionMatrixDynamicModel, MatrixRowModel, MatrixCells, QuestionMatrixModel, QuestionMatrixBaseModel, MultipleTextItemModel, QuestionMultipleTextModel, MultipleTextEditorModel, PanelModel, PanelModelBase, QuestionRowModel, FlowPanelModel, PageModel, DefaultTitleModel, Question, QuestionNonValue, QuestionEmptyModel, QuestionCheckboxBase, QuestionSelectBase, QuestionCheckboxModel, QuestionTagboxModel, QuestionRankingModel, QuestionCommentModel, QuestionDropdownModel, QuestionFactory, ElementFactory, QuestionFileModel, QuestionHtmlModel, QuestionRadiogroupModel, QuestionRatingModel, RenderedRatingItem, QuestionExpressionModel, QuestionTextBase, CharacterCounter, QuestionTextModel, QuestionBooleanModel, QuestionImagePickerModel, ImageItemValue, QuestionImageModel, QuestionSignaturePadModel, QuestionPanelDynamicModel, QuestionPanelDynamicItem, SurveyTimer, SurveyTimerModel, tryNavigateToPage, tryFocusPage, createTOCListModel, getTocRootCss, TOCModel, SurveyProgressModel, SurveyProgressButtonsModel, SurveyModel, SurveyTrigger, SurveyTriggerComplete, SurveyTriggerSetValue, SurveyTriggerVisible, SurveyTriggerCopyValue, SurveyTriggerRunExpression, Trigger, PopupSurveyModel, SurveyWindowModel, TextPreProcessor, Notifier, dxSurveyService, englishStrings, surveyLocalization, surveyStrings, QuestionCustomWidget, CustomWidgetCollection, QuestionCustomModel, QuestionCompositeModel, ComponentQuestionJSON, ComponentCollection, StylesManager, ListModel, MultiSelectListModel, PopupModel, createDialogOptions, PopupBaseViewModel, PopupDropdownViewModel, PopupModalViewModel, createPopupViewModel, createPopupModalViewModel, DropdownListModel, DropdownMultiSelectListModel, QuestionButtonGroupModel, ButtonGroupItemModel, ButtonGroupItemValue, IsMobile, IsTouch, _setIsTouch, confirmAction, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, sanitizeEditableContent, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropCore, DragDropChoices, DragDropRankingSelectToRank */
8664
+ /*! exports provided: Version, ReleaseDate, checkLibraryVersion, setLicenseKey, hasLicense, settings, Helpers, AnswerCountValidator, EmailValidator, NumericValidator, RegexValidator, SurveyValidator, TextValidator, ValidatorResult, ExpressionValidator, ValidatorRunner, ItemValue, Base, Event, EventBase, ArrayChanges, ComputedUpdater, SurveyError, SurveyElementCore, SurveyElement, DragTypeOverMeEnum, CalculatedValue, CustomError, AnswerRequiredError, OneAnswerRequiredError, RequreNumericError, ExceedSizeError, LocalizableString, LocalizableStrings, HtmlConditionItem, UrlConditionItem, ChoicesRestful, ChoicesRestfull, FunctionFactory, registerFunction, ConditionRunner, ExpressionRunner, ExpressionExecutor, Operand, Const, BinaryOperand, Variable, FunctionOperand, ArrayOperand, UnaryOperand, ConditionsParser, ProcessValue, JsonError, JsonIncorrectTypeError, JsonMetadata, JsonMetadataClass, JsonMissingTypeError, JsonMissingTypeErrorBase, JsonObject, JsonObjectProperty, JsonRequiredPropertyError, JsonUnknownPropertyError, Serializer, property, propertyArray, MatrixDropdownCell, MatrixDropdownRowModelBase, QuestionMatrixDropdownModelBase, MatrixDropdownColumn, matrixDropdownColumnTypes, QuestionMatrixDropdownRenderedCell, QuestionMatrixDropdownRenderedRow, QuestionMatrixDropdownRenderedTable, MatrixDropdownRowModel, QuestionMatrixDropdownModel, MatrixDynamicRowModel, QuestionMatrixDynamicModel, MatrixRowModel, MatrixCells, QuestionMatrixModel, QuestionMatrixBaseModel, MultipleTextItemModel, QuestionMultipleTextModel, MultipleTextEditorModel, PanelModel, PanelModelBase, QuestionRowModel, FlowPanelModel, PageModel, DefaultTitleModel, Question, QuestionNonValue, QuestionEmptyModel, QuestionCheckboxBase, QuestionSelectBase, QuestionCheckboxModel, QuestionTagboxModel, QuestionRankingModel, QuestionCommentModel, QuestionDropdownModel, QuestionFactory, ElementFactory, QuestionFileModel, QuestionHtmlModel, QuestionRadiogroupModel, QuestionRatingModel, RenderedRatingItem, QuestionExpressionModel, QuestionTextBase, CharacterCounter, QuestionTextModel, QuestionBooleanModel, QuestionImagePickerModel, ImageItemValue, QuestionImageModel, QuestionSignaturePadModel, QuestionPanelDynamicModel, QuestionPanelDynamicItem, SurveyTimer, SurveyTimerModel, tryNavigateToPage, tryFocusPage, createTOCListModel, getTocRootCss, TOCModel, SurveyProgressModel, SurveyProgressButtonsModel, SurveyModel, SurveyTrigger, SurveyTriggerComplete, SurveyTriggerSetValue, SurveyTriggerVisible, SurveyTriggerCopyValue, SurveyTriggerRunExpression, Trigger, PopupSurveyModel, SurveyWindowModel, TextPreProcessor, Notifier, dxSurveyService, englishStrings, surveyLocalization, surveyStrings, QuestionCustomWidget, CustomWidgetCollection, QuestionCustomModel, QuestionCompositeModel, ComponentQuestionJSON, ComponentCollection, StylesManager, ListModel, MultiSelectListModel, PopupModel, createDialogOptions, PopupBaseViewModel, PopupDropdownViewModel, PopupModalViewModel, createPopupViewModel, createPopupModalViewModel, DropdownListModel, DropdownMultiSelectListModel, QuestionButtonGroupModel, ButtonGroupItemModel, ButtonGroupItemValue, IsMobile, IsTouch, _setIsTouch, confirmAction, confirmActionAsync, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, sanitizeEditableContent, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropCore, DragDropChoices, DragDropRankingSelectToRank */
8639
8665
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
8640
8666
 
8641
8667
  "use strict";
@@ -9054,6 +9080,8 @@ __webpack_require__.r(__webpack_exports__);
9054
9080
  /* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_82__ = __webpack_require__(/*! ../../utils/utils */ "./src/utils/utils.ts");
9055
9081
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "confirmAction", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_82__["confirmAction"]; });
9056
9082
 
9083
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "confirmActionAsync", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_82__["confirmActionAsync"]; });
9084
+
9057
9085
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "detectIEOrEdge", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_82__["detectIEOrEdge"]; });
9058
9086
 
9059
9087
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "doKey2ClickUp", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_82__["doKey2ClickUp"]; });
@@ -9094,8 +9122,8 @@ __webpack_require__.r(__webpack_exports__);
9094
9122
  //import "../../modern.scss";
9095
9123
  var Version;
9096
9124
  var ReleaseDate;
9097
- Version = "" + "1.9.103";
9098
- ReleaseDate = "" + "2023-08-15";
9125
+ Version = "" + "1.9.104";
9126
+ ReleaseDate = "" + "2023-08-22";
9099
9127
  function checkLibraryVersion(ver, libraryName) {
9100
9128
  if (Version != ver) {
9101
9129
  var str = "survey-core has version '" + Version + "' and " + libraryName
@@ -9243,7 +9271,7 @@ function slk(k, lh, rd) {
9243
9271
  /*!**************************************!*\
9244
9272
  !*** ./src/entries/core-wo-model.ts ***!
9245
9273
  \**************************************/
9246
- /*! exports provided: Version, ReleaseDate, checkLibraryVersion, setLicenseKey, hasLicense, settings, Helpers, AnswerCountValidator, EmailValidator, NumericValidator, RegexValidator, SurveyValidator, TextValidator, ValidatorResult, ExpressionValidator, ValidatorRunner, ItemValue, Base, Event, EventBase, ArrayChanges, ComputedUpdater, SurveyError, SurveyElementCore, SurveyElement, DragTypeOverMeEnum, CalculatedValue, CustomError, AnswerRequiredError, OneAnswerRequiredError, RequreNumericError, ExceedSizeError, LocalizableString, LocalizableStrings, HtmlConditionItem, UrlConditionItem, ChoicesRestful, ChoicesRestfull, FunctionFactory, registerFunction, ConditionRunner, ExpressionRunner, ExpressionExecutor, Operand, Const, BinaryOperand, Variable, FunctionOperand, ArrayOperand, UnaryOperand, ConditionsParser, ProcessValue, JsonError, JsonIncorrectTypeError, JsonMetadata, JsonMetadataClass, JsonMissingTypeError, JsonMissingTypeErrorBase, JsonObject, JsonObjectProperty, JsonRequiredPropertyError, JsonUnknownPropertyError, Serializer, property, propertyArray, MatrixDropdownCell, MatrixDropdownRowModelBase, QuestionMatrixDropdownModelBase, MatrixDropdownColumn, matrixDropdownColumnTypes, QuestionMatrixDropdownRenderedCell, QuestionMatrixDropdownRenderedRow, QuestionMatrixDropdownRenderedTable, MatrixDropdownRowModel, QuestionMatrixDropdownModel, MatrixDynamicRowModel, QuestionMatrixDynamicModel, MatrixRowModel, MatrixCells, QuestionMatrixModel, QuestionMatrixBaseModel, MultipleTextItemModel, QuestionMultipleTextModel, MultipleTextEditorModel, PanelModel, PanelModelBase, QuestionRowModel, FlowPanelModel, PageModel, DefaultTitleModel, Question, QuestionNonValue, QuestionEmptyModel, QuestionCheckboxBase, QuestionSelectBase, QuestionCheckboxModel, QuestionTagboxModel, QuestionRankingModel, QuestionCommentModel, QuestionDropdownModel, QuestionFactory, ElementFactory, QuestionFileModel, QuestionHtmlModel, QuestionRadiogroupModel, QuestionRatingModel, RenderedRatingItem, QuestionExpressionModel, QuestionTextBase, CharacterCounter, QuestionTextModel, QuestionBooleanModel, QuestionImagePickerModel, ImageItemValue, QuestionImageModel, QuestionSignaturePadModel, QuestionPanelDynamicModel, QuestionPanelDynamicItem, SurveyTimer, SurveyTimerModel, tryNavigateToPage, tryFocusPage, createTOCListModel, getTocRootCss, TOCModel, SurveyProgressModel, SurveyProgressButtonsModel, SurveyModel, SurveyTrigger, SurveyTriggerComplete, SurveyTriggerSetValue, SurveyTriggerVisible, SurveyTriggerCopyValue, SurveyTriggerRunExpression, Trigger, PopupSurveyModel, SurveyWindowModel, TextPreProcessor, Notifier, dxSurveyService, englishStrings, surveyLocalization, surveyStrings, QuestionCustomWidget, CustomWidgetCollection, QuestionCustomModel, QuestionCompositeModel, ComponentQuestionJSON, ComponentCollection, StylesManager, ListModel, MultiSelectListModel, PopupModel, createDialogOptions, PopupBaseViewModel, PopupDropdownViewModel, PopupModalViewModel, createPopupViewModel, createPopupModalViewModel, DropdownListModel, DropdownMultiSelectListModel, QuestionButtonGroupModel, ButtonGroupItemModel, ButtonGroupItemValue, IsMobile, IsTouch, _setIsTouch, confirmAction, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, sanitizeEditableContent, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropCore, DragDropChoices, DragDropRankingSelectToRank, defaultStandardCss, modernCss, SvgIconRegistry, SvgRegistry, SvgBundleViewModel, RendererFactory, ResponsivityManager, VerticalResponsivityManager, unwrap, getOriginalEvent, getElement, createDropdownActionModel, createDropdownActionModelAdvanced, getActionDropdownButtonTarget, BaseAction, Action, ActionDropdownViewModel, AdaptiveActionContainer, defaultActionBarCss, ActionContainer, TooltipManager, DragOrClickHelper */
9274
+ /*! exports provided: Version, ReleaseDate, checkLibraryVersion, setLicenseKey, hasLicense, settings, Helpers, AnswerCountValidator, EmailValidator, NumericValidator, RegexValidator, SurveyValidator, TextValidator, ValidatorResult, ExpressionValidator, ValidatorRunner, ItemValue, Base, Event, EventBase, ArrayChanges, ComputedUpdater, SurveyError, SurveyElementCore, SurveyElement, DragTypeOverMeEnum, CalculatedValue, CustomError, AnswerRequiredError, OneAnswerRequiredError, RequreNumericError, ExceedSizeError, LocalizableString, LocalizableStrings, HtmlConditionItem, UrlConditionItem, ChoicesRestful, ChoicesRestfull, FunctionFactory, registerFunction, ConditionRunner, ExpressionRunner, ExpressionExecutor, Operand, Const, BinaryOperand, Variable, FunctionOperand, ArrayOperand, UnaryOperand, ConditionsParser, ProcessValue, JsonError, JsonIncorrectTypeError, JsonMetadata, JsonMetadataClass, JsonMissingTypeError, JsonMissingTypeErrorBase, JsonObject, JsonObjectProperty, JsonRequiredPropertyError, JsonUnknownPropertyError, Serializer, property, propertyArray, MatrixDropdownCell, MatrixDropdownRowModelBase, QuestionMatrixDropdownModelBase, MatrixDropdownColumn, matrixDropdownColumnTypes, QuestionMatrixDropdownRenderedCell, QuestionMatrixDropdownRenderedRow, QuestionMatrixDropdownRenderedTable, MatrixDropdownRowModel, QuestionMatrixDropdownModel, MatrixDynamicRowModel, QuestionMatrixDynamicModel, MatrixRowModel, MatrixCells, QuestionMatrixModel, QuestionMatrixBaseModel, MultipleTextItemModel, QuestionMultipleTextModel, MultipleTextEditorModel, PanelModel, PanelModelBase, QuestionRowModel, FlowPanelModel, PageModel, DefaultTitleModel, Question, QuestionNonValue, QuestionEmptyModel, QuestionCheckboxBase, QuestionSelectBase, QuestionCheckboxModel, QuestionTagboxModel, QuestionRankingModel, QuestionCommentModel, QuestionDropdownModel, QuestionFactory, ElementFactory, QuestionFileModel, QuestionHtmlModel, QuestionRadiogroupModel, QuestionRatingModel, RenderedRatingItem, QuestionExpressionModel, QuestionTextBase, CharacterCounter, QuestionTextModel, QuestionBooleanModel, QuestionImagePickerModel, ImageItemValue, QuestionImageModel, QuestionSignaturePadModel, QuestionPanelDynamicModel, QuestionPanelDynamicItem, SurveyTimer, SurveyTimerModel, tryNavigateToPage, tryFocusPage, createTOCListModel, getTocRootCss, TOCModel, SurveyProgressModel, SurveyProgressButtonsModel, SurveyModel, SurveyTrigger, SurveyTriggerComplete, SurveyTriggerSetValue, SurveyTriggerVisible, SurveyTriggerCopyValue, SurveyTriggerRunExpression, Trigger, PopupSurveyModel, SurveyWindowModel, TextPreProcessor, Notifier, dxSurveyService, englishStrings, surveyLocalization, surveyStrings, QuestionCustomWidget, CustomWidgetCollection, QuestionCustomModel, QuestionCompositeModel, ComponentQuestionJSON, ComponentCollection, StylesManager, ListModel, MultiSelectListModel, PopupModel, createDialogOptions, PopupBaseViewModel, PopupDropdownViewModel, PopupModalViewModel, createPopupViewModel, createPopupModalViewModel, DropdownListModel, DropdownMultiSelectListModel, QuestionButtonGroupModel, ButtonGroupItemModel, ButtonGroupItemValue, IsMobile, IsTouch, _setIsTouch, confirmAction, confirmActionAsync, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, sanitizeEditableContent, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropCore, DragDropChoices, DragDropRankingSelectToRank, defaultStandardCss, modernCss, SvgIconRegistry, SvgRegistry, SvgBundleViewModel, RendererFactory, ResponsivityManager, VerticalResponsivityManager, unwrap, getOriginalEvent, getElement, createDropdownActionModel, createDropdownActionModelAdvanced, getActionDropdownButtonTarget, BaseAction, Action, ActionDropdownViewModel, AdaptiveActionContainer, defaultActionBarCss, ActionContainer, TooltipManager, DragOrClickHelper */
9247
9275
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
9248
9276
 
9249
9277
  "use strict";
@@ -9585,6 +9613,8 @@ __webpack_require__.r(__webpack_exports__);
9585
9613
 
9586
9614
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "confirmAction", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__["confirmAction"]; });
9587
9615
 
9616
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "confirmActionAsync", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__["confirmActionAsync"]; });
9617
+
9588
9618
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "detectIEOrEdge", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__["detectIEOrEdge"]; });
9589
9619
 
9590
9620
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "doKey2ClickUp", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__["doKey2ClickUp"]; });
@@ -9694,7 +9724,7 @@ __webpack_require__.r(__webpack_exports__);
9694
9724
  /*!*****************************!*\
9695
9725
  !*** ./src/entries/core.ts ***!
9696
9726
  \*****************************/
9697
- /*! exports provided: Version, ReleaseDate, checkLibraryVersion, setLicenseKey, hasLicense, settings, Helpers, AnswerCountValidator, EmailValidator, NumericValidator, RegexValidator, SurveyValidator, TextValidator, ValidatorResult, ExpressionValidator, ValidatorRunner, ItemValue, Base, Event, EventBase, ArrayChanges, ComputedUpdater, SurveyError, SurveyElementCore, SurveyElement, DragTypeOverMeEnum, CalculatedValue, CustomError, AnswerRequiredError, OneAnswerRequiredError, RequreNumericError, ExceedSizeError, LocalizableString, LocalizableStrings, HtmlConditionItem, UrlConditionItem, ChoicesRestful, ChoicesRestfull, FunctionFactory, registerFunction, ConditionRunner, ExpressionRunner, ExpressionExecutor, Operand, Const, BinaryOperand, Variable, FunctionOperand, ArrayOperand, UnaryOperand, ConditionsParser, ProcessValue, JsonError, JsonIncorrectTypeError, JsonMetadata, JsonMetadataClass, JsonMissingTypeError, JsonMissingTypeErrorBase, JsonObject, JsonObjectProperty, JsonRequiredPropertyError, JsonUnknownPropertyError, Serializer, property, propertyArray, MatrixDropdownCell, MatrixDropdownRowModelBase, QuestionMatrixDropdownModelBase, MatrixDropdownColumn, matrixDropdownColumnTypes, QuestionMatrixDropdownRenderedCell, QuestionMatrixDropdownRenderedRow, QuestionMatrixDropdownRenderedTable, MatrixDropdownRowModel, QuestionMatrixDropdownModel, MatrixDynamicRowModel, QuestionMatrixDynamicModel, MatrixRowModel, MatrixCells, QuestionMatrixModel, QuestionMatrixBaseModel, MultipleTextItemModel, QuestionMultipleTextModel, MultipleTextEditorModel, PanelModel, PanelModelBase, QuestionRowModel, FlowPanelModel, PageModel, DefaultTitleModel, Question, QuestionNonValue, QuestionEmptyModel, QuestionCheckboxBase, QuestionSelectBase, QuestionCheckboxModel, QuestionTagboxModel, QuestionRankingModel, QuestionCommentModel, QuestionDropdownModel, QuestionFactory, ElementFactory, QuestionFileModel, QuestionHtmlModel, QuestionRadiogroupModel, QuestionRatingModel, RenderedRatingItem, QuestionExpressionModel, QuestionTextBase, CharacterCounter, QuestionTextModel, QuestionBooleanModel, QuestionImagePickerModel, ImageItemValue, QuestionImageModel, QuestionSignaturePadModel, QuestionPanelDynamicModel, QuestionPanelDynamicItem, SurveyTimer, SurveyTimerModel, tryNavigateToPage, tryFocusPage, createTOCListModel, getTocRootCss, TOCModel, SurveyProgressModel, SurveyProgressButtonsModel, SurveyModel, SurveyTrigger, SurveyTriggerComplete, SurveyTriggerSetValue, SurveyTriggerVisible, SurveyTriggerCopyValue, SurveyTriggerRunExpression, Trigger, PopupSurveyModel, SurveyWindowModel, TextPreProcessor, Notifier, dxSurveyService, englishStrings, surveyLocalization, surveyStrings, QuestionCustomWidget, CustomWidgetCollection, QuestionCustomModel, QuestionCompositeModel, ComponentQuestionJSON, ComponentCollection, StylesManager, ListModel, MultiSelectListModel, PopupModel, createDialogOptions, PopupBaseViewModel, PopupDropdownViewModel, PopupModalViewModel, createPopupViewModel, createPopupModalViewModel, DropdownListModel, DropdownMultiSelectListModel, QuestionButtonGroupModel, ButtonGroupItemModel, ButtonGroupItemValue, IsMobile, IsTouch, _setIsTouch, confirmAction, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, sanitizeEditableContent, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropCore, DragDropChoices, DragDropRankingSelectToRank, defaultStandardCss, modernCss, SvgIconRegistry, SvgRegistry, SvgBundleViewModel, RendererFactory, ResponsivityManager, VerticalResponsivityManager, unwrap, getOriginalEvent, getElement, createDropdownActionModel, createDropdownActionModelAdvanced, getActionDropdownButtonTarget, BaseAction, Action, ActionDropdownViewModel, AdaptiveActionContainer, defaultActionBarCss, ActionContainer, TooltipManager, DragOrClickHelper, Model */
9727
+ /*! exports provided: Version, ReleaseDate, checkLibraryVersion, setLicenseKey, hasLicense, settings, Helpers, AnswerCountValidator, EmailValidator, NumericValidator, RegexValidator, SurveyValidator, TextValidator, ValidatorResult, ExpressionValidator, ValidatorRunner, ItemValue, Base, Event, EventBase, ArrayChanges, ComputedUpdater, SurveyError, SurveyElementCore, SurveyElement, DragTypeOverMeEnum, CalculatedValue, CustomError, AnswerRequiredError, OneAnswerRequiredError, RequreNumericError, ExceedSizeError, LocalizableString, LocalizableStrings, HtmlConditionItem, UrlConditionItem, ChoicesRestful, ChoicesRestfull, FunctionFactory, registerFunction, ConditionRunner, ExpressionRunner, ExpressionExecutor, Operand, Const, BinaryOperand, Variable, FunctionOperand, ArrayOperand, UnaryOperand, ConditionsParser, ProcessValue, JsonError, JsonIncorrectTypeError, JsonMetadata, JsonMetadataClass, JsonMissingTypeError, JsonMissingTypeErrorBase, JsonObject, JsonObjectProperty, JsonRequiredPropertyError, JsonUnknownPropertyError, Serializer, property, propertyArray, MatrixDropdownCell, MatrixDropdownRowModelBase, QuestionMatrixDropdownModelBase, MatrixDropdownColumn, matrixDropdownColumnTypes, QuestionMatrixDropdownRenderedCell, QuestionMatrixDropdownRenderedRow, QuestionMatrixDropdownRenderedTable, MatrixDropdownRowModel, QuestionMatrixDropdownModel, MatrixDynamicRowModel, QuestionMatrixDynamicModel, MatrixRowModel, MatrixCells, QuestionMatrixModel, QuestionMatrixBaseModel, MultipleTextItemModel, QuestionMultipleTextModel, MultipleTextEditorModel, PanelModel, PanelModelBase, QuestionRowModel, FlowPanelModel, PageModel, DefaultTitleModel, Question, QuestionNonValue, QuestionEmptyModel, QuestionCheckboxBase, QuestionSelectBase, QuestionCheckboxModel, QuestionTagboxModel, QuestionRankingModel, QuestionCommentModel, QuestionDropdownModel, QuestionFactory, ElementFactory, QuestionFileModel, QuestionHtmlModel, QuestionRadiogroupModel, QuestionRatingModel, RenderedRatingItem, QuestionExpressionModel, QuestionTextBase, CharacterCounter, QuestionTextModel, QuestionBooleanModel, QuestionImagePickerModel, ImageItemValue, QuestionImageModel, QuestionSignaturePadModel, QuestionPanelDynamicModel, QuestionPanelDynamicItem, SurveyTimer, SurveyTimerModel, tryNavigateToPage, tryFocusPage, createTOCListModel, getTocRootCss, TOCModel, SurveyProgressModel, SurveyProgressButtonsModel, SurveyModel, SurveyTrigger, SurveyTriggerComplete, SurveyTriggerSetValue, SurveyTriggerVisible, SurveyTriggerCopyValue, SurveyTriggerRunExpression, Trigger, PopupSurveyModel, SurveyWindowModel, TextPreProcessor, Notifier, dxSurveyService, englishStrings, surveyLocalization, surveyStrings, QuestionCustomWidget, CustomWidgetCollection, QuestionCustomModel, QuestionCompositeModel, ComponentQuestionJSON, ComponentCollection, StylesManager, ListModel, MultiSelectListModel, PopupModel, createDialogOptions, PopupBaseViewModel, PopupDropdownViewModel, PopupModalViewModel, createPopupViewModel, createPopupModalViewModel, DropdownListModel, DropdownMultiSelectListModel, QuestionButtonGroupModel, ButtonGroupItemModel, ButtonGroupItemValue, IsMobile, IsTouch, _setIsTouch, confirmAction, confirmActionAsync, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, sanitizeEditableContent, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropCore, DragDropChoices, DragDropRankingSelectToRank, defaultStandardCss, modernCss, SvgIconRegistry, SvgRegistry, SvgBundleViewModel, RendererFactory, ResponsivityManager, VerticalResponsivityManager, unwrap, getOriginalEvent, getElement, createDropdownActionModel, createDropdownActionModelAdvanced, getActionDropdownButtonTarget, BaseAction, Action, ActionDropdownViewModel, AdaptiveActionContainer, defaultActionBarCss, ActionContainer, TooltipManager, DragOrClickHelper, Model */
9698
9728
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
9699
9729
 
9700
9730
  "use strict";
@@ -10036,6 +10066,8 @@ __webpack_require__.r(__webpack_exports__);
10036
10066
 
10037
10067
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "confirmAction", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__["confirmAction"]; });
10038
10068
 
10069
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "confirmActionAsync", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__["confirmActionAsync"]; });
10070
+
10039
10071
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "detectIEOrEdge", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__["detectIEOrEdge"]; });
10040
10072
 
10041
10073
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "doKey2ClickUp", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__["doKey2ClickUp"]; });
@@ -10505,7 +10537,7 @@ __webpack_require__.r(__webpack_exports__);
10505
10537
  /*!******************************!*\
10506
10538
  !*** ./src/entries/react.ts ***!
10507
10539
  \******************************/
10508
- /*! exports provided: Version, ReleaseDate, checkLibraryVersion, setLicenseKey, hasLicense, settings, Helpers, AnswerCountValidator, EmailValidator, NumericValidator, RegexValidator, SurveyValidator, TextValidator, ValidatorResult, ExpressionValidator, ValidatorRunner, ItemValue, Base, Event, EventBase, ArrayChanges, ComputedUpdater, SurveyError, SurveyElementCore, SurveyElement, DragTypeOverMeEnum, CalculatedValue, CustomError, AnswerRequiredError, OneAnswerRequiredError, RequreNumericError, ExceedSizeError, LocalizableString, LocalizableStrings, HtmlConditionItem, UrlConditionItem, ChoicesRestful, ChoicesRestfull, FunctionFactory, registerFunction, ConditionRunner, ExpressionRunner, ExpressionExecutor, Operand, Const, BinaryOperand, Variable, FunctionOperand, ArrayOperand, UnaryOperand, ConditionsParser, ProcessValue, JsonError, JsonIncorrectTypeError, JsonMetadata, JsonMetadataClass, JsonMissingTypeError, JsonMissingTypeErrorBase, JsonObject, JsonObjectProperty, JsonRequiredPropertyError, JsonUnknownPropertyError, Serializer, property, propertyArray, MatrixDropdownCell, MatrixDropdownRowModelBase, QuestionMatrixDropdownModelBase, MatrixDropdownColumn, matrixDropdownColumnTypes, QuestionMatrixDropdownRenderedCell, QuestionMatrixDropdownRenderedRow, QuestionMatrixDropdownRenderedTable, MatrixDropdownRowModel, QuestionMatrixDropdownModel, MatrixDynamicRowModel, QuestionMatrixDynamicModel, MatrixRowModel, MatrixCells, QuestionMatrixModel, QuestionMatrixBaseModel, MultipleTextItemModel, QuestionMultipleTextModel, MultipleTextEditorModel, PanelModel, PanelModelBase, QuestionRowModel, FlowPanelModel, PageModel, DefaultTitleModel, Question, QuestionNonValue, QuestionEmptyModel, QuestionCheckboxBase, QuestionSelectBase, QuestionCheckboxModel, QuestionTagboxModel, QuestionRankingModel, QuestionCommentModel, QuestionDropdownModel, QuestionFactory, ElementFactory, QuestionFileModel, QuestionHtmlModel, QuestionRadiogroupModel, QuestionRatingModel, RenderedRatingItem, QuestionExpressionModel, QuestionTextBase, CharacterCounter, QuestionTextModel, QuestionBooleanModel, QuestionImagePickerModel, ImageItemValue, QuestionImageModel, QuestionSignaturePadModel, QuestionPanelDynamicModel, QuestionPanelDynamicItem, SurveyTimer, SurveyTimerModel, tryNavigateToPage, tryFocusPage, createTOCListModel, getTocRootCss, TOCModel, SurveyProgressModel, SurveyProgressButtonsModel, SurveyModel, SurveyTrigger, SurveyTriggerComplete, SurveyTriggerSetValue, SurveyTriggerVisible, SurveyTriggerCopyValue, SurveyTriggerRunExpression, Trigger, PopupSurveyModel, SurveyWindowModel, TextPreProcessor, Notifier, dxSurveyService, englishStrings, surveyLocalization, surveyStrings, QuestionCustomWidget, CustomWidgetCollection, QuestionCustomModel, QuestionCompositeModel, ComponentQuestionJSON, ComponentCollection, StylesManager, ListModel, MultiSelectListModel, PopupModel, createDialogOptions, PopupBaseViewModel, PopupDropdownViewModel, PopupModalViewModel, createPopupViewModel, createPopupModalViewModel, DropdownListModel, DropdownMultiSelectListModel, QuestionButtonGroupModel, ButtonGroupItemModel, ButtonGroupItemValue, IsMobile, IsTouch, _setIsTouch, confirmAction, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, sanitizeEditableContent, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropCore, DragDropChoices, DragDropRankingSelectToRank, defaultStandardCss, modernCss, SvgIconRegistry, SvgRegistry, SvgBundleViewModel, RendererFactory, ResponsivityManager, VerticalResponsivityManager, unwrap, getOriginalEvent, getElement, createDropdownActionModel, createDropdownActionModelAdvanced, getActionDropdownButtonTarget, BaseAction, Action, ActionDropdownViewModel, AdaptiveActionContainer, defaultActionBarCss, ActionContainer, TooltipManager, DragOrClickHelper, Model, bootstrapThemeName, bootstrapThemeColors, bootstrapThemeCssRules, bootstrapMaterialThemeName, bootstrapMaterialThemeColors, bootstrapMaterialThemeCssRules, defaultBootstrapCss, defaultBootstrapMaterialCss, Survey, attachKey2click, ReactSurveyElementsWrapper, SurveyNavigationBase, SurveyTimerPanel, SurveyPage, SurveyRow, SurveyPanel, SurveyFlowPanel, SurveyQuestion, SurveyElementErrors, SurveyQuestionAndErrorsCell, ReactSurveyElement, SurveyElementBase, SurveyQuestionElementBase, SurveyQuestionCommentItem, SurveyQuestionComment, SurveyQuestionCheckbox, SurveyQuestionCheckboxItem, SurveyQuestionRanking, SurveyQuestionRankingItem, RatingItem, RatingItemStar, RatingItemSmiley, TagboxFilterString, SurveyQuestionOptionItem, SurveyQuestionDropdownBase, SurveyQuestionDropdown, SurveyQuestionTagboxItem, SurveyQuestionTagbox, SurveyQuestionDropdownSelect, SurveyQuestionMatrix, SurveyQuestionMatrixRow, SurveyQuestionHtml, SurveyQuestionFile, SurveyQuestionMultipleText, SurveyQuestionRadiogroup, SurveyQuestionRadioItem, SurveyQuestionText, SurveyQuestionBoolean, SurveyQuestionBooleanCheckbox, SurveyQuestionBooleanRadio, SurveyQuestionEmpty, SurveyQuestionMatrixDropdownCell, SurveyQuestionMatrixDropdownBase, SurveyQuestionMatrixDropdown, SurveyQuestionMatrixDynamic, SurveyQuestionMatrixDynamicAddButton, SurveyQuestionPanelDynamic, SurveyProgress, SurveyProgressButtons, SurveyProgressToc, SurveyQuestionRating, SurveyQuestionRatingDropdown, SurveyQuestionExpression, PopupSurvey, SurveyWindow, ReactQuestionFactory, ReactElementFactory, SurveyQuestionImagePicker, SurveyQuestionImage, SurveyQuestionSignaturePad, SurveyQuestionButtonGroup, SurveyQuestionCustom, SurveyQuestionComposite, Popup, List, TitleActions, TitleElement, SurveyActionBar, LogoImage, SurveyHeader, SvgIcon, SurveyQuestionMatrixDynamicRemoveButton, SurveyQuestionMatrixDetailButton, SurveyQuestionMatrixDynamicDragDropIcon, SurveyQuestionPanelDynamicAddButton, SurveyQuestionPanelDynamicRemoveButton, SurveyQuestionPanelDynamicPrevButton, SurveyQuestionPanelDynamicNextButton, SurveyQuestionPanelDynamicProgressText, SurveyNavigationButton, MatrixRow, Skeleton, NotifierComponent, ComponentsContainer, CharacterCounterComponent, SurveyLocStringViewer, SurveyLocStringEditor */
10540
+ /*! exports provided: Version, ReleaseDate, checkLibraryVersion, setLicenseKey, hasLicense, settings, Helpers, AnswerCountValidator, EmailValidator, NumericValidator, RegexValidator, SurveyValidator, TextValidator, ValidatorResult, ExpressionValidator, ValidatorRunner, ItemValue, Base, Event, EventBase, ArrayChanges, ComputedUpdater, SurveyError, SurveyElementCore, SurveyElement, DragTypeOverMeEnum, CalculatedValue, CustomError, AnswerRequiredError, OneAnswerRequiredError, RequreNumericError, ExceedSizeError, LocalizableString, LocalizableStrings, HtmlConditionItem, UrlConditionItem, ChoicesRestful, ChoicesRestfull, FunctionFactory, registerFunction, ConditionRunner, ExpressionRunner, ExpressionExecutor, Operand, Const, BinaryOperand, Variable, FunctionOperand, ArrayOperand, UnaryOperand, ConditionsParser, ProcessValue, JsonError, JsonIncorrectTypeError, JsonMetadata, JsonMetadataClass, JsonMissingTypeError, JsonMissingTypeErrorBase, JsonObject, JsonObjectProperty, JsonRequiredPropertyError, JsonUnknownPropertyError, Serializer, property, propertyArray, MatrixDropdownCell, MatrixDropdownRowModelBase, QuestionMatrixDropdownModelBase, MatrixDropdownColumn, matrixDropdownColumnTypes, QuestionMatrixDropdownRenderedCell, QuestionMatrixDropdownRenderedRow, QuestionMatrixDropdownRenderedTable, MatrixDropdownRowModel, QuestionMatrixDropdownModel, MatrixDynamicRowModel, QuestionMatrixDynamicModel, MatrixRowModel, MatrixCells, QuestionMatrixModel, QuestionMatrixBaseModel, MultipleTextItemModel, QuestionMultipleTextModel, MultipleTextEditorModel, PanelModel, PanelModelBase, QuestionRowModel, FlowPanelModel, PageModel, DefaultTitleModel, Question, QuestionNonValue, QuestionEmptyModel, QuestionCheckboxBase, QuestionSelectBase, QuestionCheckboxModel, QuestionTagboxModel, QuestionRankingModel, QuestionCommentModel, QuestionDropdownModel, QuestionFactory, ElementFactory, QuestionFileModel, QuestionHtmlModel, QuestionRadiogroupModel, QuestionRatingModel, RenderedRatingItem, QuestionExpressionModel, QuestionTextBase, CharacterCounter, QuestionTextModel, QuestionBooleanModel, QuestionImagePickerModel, ImageItemValue, QuestionImageModel, QuestionSignaturePadModel, QuestionPanelDynamicModel, QuestionPanelDynamicItem, SurveyTimer, SurveyTimerModel, tryNavigateToPage, tryFocusPage, createTOCListModel, getTocRootCss, TOCModel, SurveyProgressModel, SurveyProgressButtonsModel, SurveyModel, SurveyTrigger, SurveyTriggerComplete, SurveyTriggerSetValue, SurveyTriggerVisible, SurveyTriggerCopyValue, SurveyTriggerRunExpression, Trigger, PopupSurveyModel, SurveyWindowModel, TextPreProcessor, Notifier, dxSurveyService, englishStrings, surveyLocalization, surveyStrings, QuestionCustomWidget, CustomWidgetCollection, QuestionCustomModel, QuestionCompositeModel, ComponentQuestionJSON, ComponentCollection, StylesManager, ListModel, MultiSelectListModel, PopupModel, createDialogOptions, PopupBaseViewModel, PopupDropdownViewModel, PopupModalViewModel, createPopupViewModel, createPopupModalViewModel, DropdownListModel, DropdownMultiSelectListModel, QuestionButtonGroupModel, ButtonGroupItemModel, ButtonGroupItemValue, IsMobile, IsTouch, _setIsTouch, confirmAction, confirmActionAsync, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, sanitizeEditableContent, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropCore, DragDropChoices, DragDropRankingSelectToRank, defaultStandardCss, modernCss, SvgIconRegistry, SvgRegistry, SvgBundleViewModel, RendererFactory, ResponsivityManager, VerticalResponsivityManager, unwrap, getOriginalEvent, getElement, createDropdownActionModel, createDropdownActionModelAdvanced, getActionDropdownButtonTarget, BaseAction, Action, ActionDropdownViewModel, AdaptiveActionContainer, defaultActionBarCss, ActionContainer, TooltipManager, DragOrClickHelper, Model, bootstrapThemeName, bootstrapThemeColors, bootstrapThemeCssRules, bootstrapMaterialThemeName, bootstrapMaterialThemeColors, bootstrapMaterialThemeCssRules, defaultBootstrapCss, defaultBootstrapMaterialCss, Survey, attachKey2click, ReactSurveyElementsWrapper, SurveyNavigationBase, SurveyTimerPanel, SurveyPage, SurveyRow, SurveyPanel, SurveyFlowPanel, SurveyQuestion, SurveyElementErrors, SurveyQuestionAndErrorsCell, ReactSurveyElement, SurveyElementBase, SurveyQuestionElementBase, SurveyQuestionCommentItem, SurveyQuestionComment, SurveyQuestionCheckbox, SurveyQuestionCheckboxItem, SurveyQuestionRanking, SurveyQuestionRankingItem, RatingItem, RatingItemStar, RatingItemSmiley, TagboxFilterString, SurveyQuestionOptionItem, SurveyQuestionDropdownBase, SurveyQuestionDropdown, SurveyQuestionTagboxItem, SurveyQuestionTagbox, SurveyQuestionDropdownSelect, SurveyQuestionMatrix, SurveyQuestionMatrixRow, SurveyQuestionHtml, SurveyQuestionFile, SurveyQuestionMultipleText, SurveyQuestionRadiogroup, SurveyQuestionRadioItem, SurveyQuestionText, SurveyQuestionBoolean, SurveyQuestionBooleanCheckbox, SurveyQuestionBooleanRadio, SurveyQuestionEmpty, SurveyQuestionMatrixDropdownCell, SurveyQuestionMatrixDropdownBase, SurveyQuestionMatrixDropdown, SurveyQuestionMatrixDynamic, SurveyQuestionMatrixDynamicAddButton, SurveyQuestionPanelDynamic, SurveyProgress, SurveyProgressButtons, SurveyProgressToc, SurveyQuestionRating, SurveyQuestionRatingDropdown, SurveyQuestionExpression, PopupSurvey, SurveyWindow, ReactQuestionFactory, ReactElementFactory, SurveyQuestionImagePicker, SurveyQuestionImage, SurveyQuestionSignaturePad, SurveyQuestionButtonGroup, SurveyQuestionCustom, SurveyQuestionComposite, Popup, List, TitleActions, TitleElement, SurveyActionBar, LogoImage, SurveyHeader, SvgIcon, SurveyQuestionMatrixDynamicRemoveButton, SurveyQuestionMatrixDetailButton, SurveyQuestionMatrixDynamicDragDropIcon, SurveyQuestionPanelDynamicAddButton, SurveyQuestionPanelDynamicRemoveButton, SurveyQuestionPanelDynamicPrevButton, SurveyQuestionPanelDynamicNextButton, SurveyQuestionPanelDynamicProgressText, SurveyNavigationButton, MatrixRow, Skeleton, NotifierComponent, ComponentsContainer, CharacterCounterComponent, SurveyLocStringViewer, SurveyLocStringEditor */
10509
10541
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
10510
10542
 
10511
10543
  "use strict";
@@ -10847,6 +10879,8 @@ __webpack_require__.r(__webpack_exports__);
10847
10879
 
10848
10880
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "confirmAction", function() { return _core__WEBPACK_IMPORTED_MODULE_0__["confirmAction"]; });
10849
10881
 
10882
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "confirmActionAsync", function() { return _core__WEBPACK_IMPORTED_MODULE_0__["confirmActionAsync"]; });
10883
+
10850
10884
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "detectIEOrEdge", function() { return _core__WEBPACK_IMPORTED_MODULE_0__["detectIEOrEdge"]; });
10851
10885
 
10852
10886
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "doKey2ClickUp", function() { return _core__WEBPACK_IMPORTED_MODULE_0__["doKey2ClickUp"]; });
@@ -27046,6 +27080,7 @@ var QuestionMatrixBaseModel = /** @class */ (function (_super) {
27046
27080
  QuestionMatrixBaseModel.prototype.getTableCss = function () {
27047
27081
  return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_5__["CssClassBuilder"]()
27048
27082
  .append(this.cssClasses.root)
27083
+ .append(this.cssClasses.noHeader, !this.showHeader)
27049
27084
  .append(this.cssClasses.rootAlternateRows, this.alternateRows)
27050
27085
  .append(this.cssClasses.rootVerticalAlignTop, (this.verticalAlign === "top"))
27051
27086
  .append(this.cssClasses.rootVerticalAlignMiddle, (this.verticalAlign === "middle")).toString();
@@ -29336,6 +29371,34 @@ var PanelModelBase = /** @class */ (function (_super) {
29336
29371
  enumerable: false,
29337
29372
  configurable: true
29338
29373
  });
29374
+ Object.defineProperty(PanelModelBase.prototype, "questionErrorLocation", {
29375
+ /**
29376
+ * Specifies the error message position for questions that belong to this page/panel.
29377
+ *
29378
+ * Use this property to override the [`questionErrorLocation`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#questionErrorLocation) property specified for the survey. You can also set the [`errorLocation`](https://surveyjs.io/form-library/documentation/question#errorLocation) property for individual questions.
29379
+ *
29380
+ * Possible values:
29381
+ *
29382
+ * - `"default"` (default) - Inherits the setting from the `questionErrorLocation` property specified for the survey.
29383
+ * - `"top"` - Displays error messages above questions.
29384
+ * - `"bottom"` - Displays error messages below questions.
29385
+ */
29386
+ get: function () {
29387
+ return this.getPropertyValue("questionErrorLocation");
29388
+ },
29389
+ set: function (val) {
29390
+ this.setPropertyValue("questionErrorLocation", val);
29391
+ },
29392
+ enumerable: false,
29393
+ configurable: true
29394
+ });
29395
+ PanelModelBase.prototype.getQuestionErrorLocation = function () {
29396
+ if (this.questionErrorLocation !== "default")
29397
+ return this.questionErrorLocation;
29398
+ if (this.parent)
29399
+ return this.parent.getQuestionErrorLocation();
29400
+ return this.survey ? this.survey.questionErrorLocation : "top";
29401
+ };
29339
29402
  Object.defineProperty(PanelModelBase.prototype, "no", {
29340
29403
  //ITitleOwner
29341
29404
  get: function () { return ""; },
@@ -29792,11 +29855,11 @@ _jsonobject__WEBPACK_IMPORTED_MODULE_0__["Serializer"].addClass("panelbase", [
29792
29855
  visible: false,
29793
29856
  isLightSerializable: false,
29794
29857
  },
29795
- { name: "visible:switch", default: true },
29858
+ { name: "visible:switch", default: true, overridingProperty: "visibleIf" },
29859
+ { name: "readOnly:boolean", overridingProperty: "enableIf" },
29796
29860
  "visibleIf:condition",
29797
29861
  "enableIf:condition",
29798
29862
  "requiredIf:condition",
29799
- "readOnly:boolean",
29800
29863
  {
29801
29864
  name: "questionTitleLocation",
29802
29865
  default: "default",
@@ -29809,6 +29872,7 @@ _jsonobject__WEBPACK_IMPORTED_MODULE_0__["Serializer"].addClass("panelbase", [
29809
29872
  default: "default",
29810
29873
  choices: ["default", "initial", "random"],
29811
29874
  },
29875
+ { name: "questionErrorLocation", default: "default", choices: ["default", "top", "bottom"] }
29812
29876
  ], function () {
29813
29877
  return new PanelModelBase();
29814
29878
  });
@@ -29818,7 +29882,7 @@ _jsonobject__WEBPACK_IMPORTED_MODULE_0__["Serializer"].addClass("panel", [
29818
29882
  default: "default",
29819
29883
  choices: ["default", "collapsed", "expanded"],
29820
29884
  },
29821
- "isRequired:switch",
29885
+ { name: "isRequired:switch", overridingProperty: "requiredIf" },
29822
29886
  {
29823
29887
  name: "requiredErrorText:text",
29824
29888
  serializationProperty: "locRequiredErrorText",
@@ -30976,9 +31040,12 @@ function setStyles() {
30976
31040
  ".sv_q_dd_clean-button-svg": "width: 1em; height: 1em;",
30977
31041
  ".sv_q_dd_control": "display: flex; justify-content: space-between; appearance: none;",
30978
31042
  ".sv_q_dd_value": "width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; position: relative;",
31043
+ ".sv_q_dd_hint-prefix span": "white-space: pre;",
31044
+ ".sv_q_dd_hint-suffix": "display: flex;",
30979
31045
  ".sv_q_dd_root": "position: relative;",
31046
+ ".sv_q_dd_select_wrapper": "position: relative;",
30980
31047
  ".sv_q_dd_select_wrapper::after": "content: \"\"; display: block;background-image: url(\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3C!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 10 10' style='enable-background:new 0 0 10 10;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%23404040;%7D%0A%3C/style%3E%3Cpolygon class='st0' points='2,2 0,4 5,9 10,4 8,2 5,5 '/%3E%3C/svg%3E%0A\"); background-repeat: no-repeat; background-position: center center; background-size: 10px 12px; width: 34px; height: 100%; position: absolute; inset-inline-end: 0; top: 0;",
30981
- ".sv_q_dd_filter-string-input": "outline: none; border: none; background-color: transparent; position: absolute; inset-inline-start: 0; inset-block-start: 0;",
31048
+ ".sv_q_dd_filter-string-input": "outline: none; border: none; background-color: transparent; position: absolute; inset-inline-start: 0; inset-block-start: 0; width: 100%; max-width: 100%; padding: 0;",
30982
31049
  ".sv_q_dropdown_clean-button": "margin: auto 2em;",
30983
31050
  ".sv_q_tagbox__placeholder": "position: absolute; top: 0; inset-inline-start: 1em; max-width: 100%; width: auto; height: 100%; text-align: start; cursor: text; pointer-events: none;",
30984
31051
  ".sv_qstn .sv-q-col-1, .sv-question .sv-q-col-1": "width: 100%; display: inline-block; padding-right: 1em; box-sizing: border-box; word-break: break-word;",
@@ -31138,6 +31205,7 @@ function setStyles() {
31138
31205
  //popup
31139
31206
  "sv-popup": "display: block; position: absolute; z-index: -1;",
31140
31207
  ".sv-popup": "position: fixed; left: 0; top: 0; width: 100vw; height: 100vh; outline: none; z-index: 1500;",
31208
+ ".sv-popup.sv-dropdown-popup": "height: 0;",
31141
31209
  ".sv-popup__container": "box-shadow: 0px 2px 6px rgba(0, 0, 0, 0.1); position: absolute; padding: 0;",
31142
31210
  ".sv-popup__body-content": "background-color: var(--background, #fff); border-radius: calc(0.5 * var(--base-unit, 8px)); width: 100%; height: 100%; box-sizing: border-box; display: flex; flex-direction: column; max-height: 90vh; max-width: 100vw;",
31143
31211
  ".sv-popup--modal .sv-list__filter": "padding-top: 8px;",
@@ -33135,12 +33203,36 @@ var Question = /** @class */ (function (_super) {
33135
33203
  configurable: true
33136
33204
  });
33137
33205
  Object.defineProperty(Question.prototype, "errorLocation", {
33206
+ /**
33207
+ * Specifies the error message position. Overrides the `questionErrorLocation` property specified for the question's container ([survey](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#questionErrorLocation), [page](https://surveyjs.io/form-library/documentation/api-reference/page-model#questionErrorLocation), or [panel](https://surveyjs.io/form-library/documentation/api-reference/panel-model#questionErrorLocation)).
33208
+ *
33209
+ * Possible values:
33210
+ *
33211
+ * - `"default"` (default) - Inherits the setting from the `questionErrorLocation` property specified for the question's container.
33212
+ * - `"top"` - Displays error messages above questions.
33213
+ * - `"bottom"` - Displays error messages below questions.
33214
+ */
33138
33215
  get: function () {
33139
- return this.survey ? this.survey.questionErrorLocation : "top";
33216
+ return this.getPropertyValue("errorLocation");
33217
+ },
33218
+ set: function (val) {
33219
+ this.setPropertyValue("errorLocation", val);
33140
33220
  },
33141
33221
  enumerable: false,
33142
33222
  configurable: true
33143
33223
  });
33224
+ Question.prototype.getErrorLocation = function () {
33225
+ if (this.errorLocation !== "default")
33226
+ return this.errorLocation;
33227
+ if (this.parentQuestion)
33228
+ return this.parentQuestion.getChildErrorLocation(this);
33229
+ if (this.parent)
33230
+ return this.parent.getQuestionErrorLocation();
33231
+ return this.survey ? this.survey.questionErrorLocation : "top";
33232
+ };
33233
+ Question.prototype.getChildErrorLocation = function (child) {
33234
+ return this.getErrorLocation();
33235
+ };
33144
33236
  Object.defineProperty(Question.prototype, "hasInput", {
33145
33237
  /**
33146
33238
  * Returns `false` if the question has no input fields ([HTML](https://surveyjs.io/form-library/documentation/questionhtmlmodel), [Image](https://surveyjs.io/form-library/documentation/questionimagemodel), and similar question types).
@@ -33544,7 +33636,7 @@ var Question = /** @class */ (function (_super) {
33544
33636
  return _super.prototype.getIsErrorsModeTooltip.call(this) && !this.customWidget;
33545
33637
  };
33546
33638
  Question.prototype.showErrorOnCore = function (location) {
33547
- return !this.isErrorsModeTooltip && !this.showErrorsAboveQuestion && !this.showErrorsBelowQuestion && this.errorLocation === location;
33639
+ return !this.isErrorsModeTooltip && !this.showErrorsAboveQuestion && !this.showErrorsBelowQuestion && this.getErrorLocation() === location;
33548
33640
  };
33549
33641
  Object.defineProperty(Question.prototype, "showErrorOnTop", {
33550
33642
  get: function () {
@@ -33577,14 +33669,14 @@ var Question = /** @class */ (function (_super) {
33577
33669
  });
33578
33670
  Object.defineProperty(Question.prototype, "showErrorsAboveQuestion", {
33579
33671
  get: function () {
33580
- return this.showErrorsOutsideQuestion && this.errorLocation === "top";
33672
+ return this.showErrorsOutsideQuestion && this.getErrorLocation() === "top";
33581
33673
  },
33582
33674
  enumerable: false,
33583
33675
  configurable: true
33584
33676
  });
33585
33677
  Object.defineProperty(Question.prototype, "showErrorsBelowQuestion", {
33586
33678
  get: function () {
33587
- return this.showErrorsOutsideQuestion && this.errorLocation === "bottom";
33679
+ return this.showErrorsOutsideQuestion && this.getErrorLocation() === "bottom";
33588
33680
  },
33589
33681
  enumerable: false,
33590
33682
  configurable: true
@@ -34086,8 +34178,32 @@ var Question = /** @class */ (function (_super) {
34086
34178
  Object.defineProperty(Question.prototype, "value", {
34087
34179
  /**
34088
34180
  * Gets or sets the question value.
34089
- * @see SurveyModel.setValue
34090
- * @see SurveyModel.getValue
34181
+ *
34182
+ * The following table illustrates how the value type depends on the question type:
34183
+ *
34184
+ * | Question type | Value type(s) |
34185
+ * | ------------- | ------------- |
34186
+ * | Checkboxes | `Array<String \| Number>` |
34187
+ * | Dropdown | `String` \| `Number` |
34188
+ * | Dynamic Matrix | `Array<Object>` |
34189
+ * | Dynamic Panel | `Array<Object>` |
34190
+ * | Expression | `String` \| `Number` \| `Boolean` |
34191
+ * | File Upload | `File` \| `Array<File>` |
34192
+ * | HTML | (no value) |
34193
+ * | Image | (no value) |
34194
+ * | Image Picker | `Array<String \| Number>` |
34195
+ * | Long Text | `String` |
34196
+ * | Multi-Select Dropdown | `Object` |
34197
+ * | Multi-Select Matrix | `Object` |
34198
+ * | Multiple Textboxes | `Array<String>` |
34199
+ * | Panel | (no value) |
34200
+ * | Radio Button Group | `String` \| `Number` |
34201
+ * | Ranking | `Array<String \| Number>` |
34202
+ * | Rating Scale | `Number` \| `String` |
34203
+ * | Signature | `String` (base64-encoded image) |
34204
+ * | Single-Line Input | `String` \| `Number` \| `Date` |
34205
+ * | Single-Select Matrix | `Object` |
34206
+ * | Yes/No (Boolean) | `Boolean` \| `String` |
34091
34207
  */
34092
34208
  get: function () {
34093
34209
  return this.getValueCore();
@@ -34921,6 +35037,7 @@ var Question = /** @class */ (function (_super) {
34921
35037
  newValue = this.valueFromDataCallback(newValue);
34922
35038
  }
34923
35039
  this.setQuestionValue(this.valueFromData(newValue));
35040
+ this.updateDependedQuestions();
34924
35041
  this.updateIsAnswered();
34925
35042
  };
34926
35043
  Question.prototype.updateCommentFromSurvey = function (newValue) {
@@ -35286,6 +35403,7 @@ _jsonobject__WEBPACK_IMPORTED_MODULE_1__["Serializer"].addClass("question", [
35286
35403
  name: "requiredErrorText:text",
35287
35404
  serializationProperty: "locRequiredErrorText",
35288
35405
  },
35406
+ { name: "errorLocation", default: "default", choices: ["default", "top", "bottom"] },
35289
35407
  { name: "readOnly:switch", overridingProperty: "enableIf" },
35290
35408
  {
35291
35409
  name: "validators:validators",
@@ -35567,7 +35685,7 @@ var __decorate = (undefined && undefined.__decorate) || function (decorators, ta
35567
35685
 
35568
35686
 
35569
35687
  /**
35570
- * A base class for multiple-choice question types ([Checkbox](https://surveyjs.io/form-library/documentation/questioncheckboxmodel), [Dropdown](https://surveyjs.io/form-library/documentation/questiondropdownmodel), [Radiogroup](https://surveyjs.io/form-library/documentation/questionradiogroupmodel), etc.).
35688
+ * A base class for multiple-choice question types ([Checkboxes](https://surveyjs.io/form-library/documentation/questioncheckboxmodel), [Dropdown](https://surveyjs.io/form-library/documentation/questiondropdownmodel), [Radio Button Group](https://surveyjs.io/form-library/documentation/questionradiogroupmodel), etc.).
35571
35689
  */
35572
35690
  var QuestionSelectBase = /** @class */ (function (_super) {
35573
35691
  __extends(QuestionSelectBase, _super);
@@ -36291,11 +36409,11 @@ var QuestionSelectBase = /** @class */ (function (_super) {
36291
36409
  });
36292
36410
  Object.defineProperty(QuestionSelectBase.prototype, "choicesFromQuestion", {
36293
36411
  /**
36294
- * Inherits choice items from a specified question. Accepts a question name.
36412
+ * Copies choice items from a specified question. Accepts a question name.
36295
36413
  *
36296
- * If you specify this property, the `choices`, `choicesVisibleIf`, `choicesEnableIf`, and `choicesOrder` properties do not apply because their values are inherited.
36414
+ * If you specify this property, the `choices`, `choicesVisibleIf`, `choicesEnableIf`, and `choicesOrder` properties do not apply because their values are copied.
36297
36415
  *
36298
- * In addition, you can specify the `choicesFromQuestionMode` property if you do not want to inherit all choice items.
36416
+ * In addition, you can specify the `choicesFromQuestionMode` property if you do not want to copy all choice items.
36299
36417
  * @see choicesFromQuestionMode
36300
36418
  * @see choices
36301
36419
  */
@@ -36316,15 +36434,15 @@ var QuestionSelectBase = /** @class */ (function (_super) {
36316
36434
  });
36317
36435
  Object.defineProperty(QuestionSelectBase.prototype, "choicesFromQuestionMode", {
36318
36436
  /**
36319
- * Specifies which choice items to inherit from another question. Applies only when the `choicesFromQuestion` property is specified.
36437
+ * Specifies which choice items to copy from another question. Applies only when the `choicesFromQuestion` property is specified.
36320
36438
  *
36321
36439
  * Possible values:
36322
36440
  *
36323
- * - `"all"` (default) - Inherits all choice items.
36324
- * - `"selected"` - Inherits only selected choice items.
36325
- * - `"unselected"` - Inherits only unselected choice items.
36441
+ * - `"all"` (default) - Copies all choice items.
36442
+ * - `"selected"` - Copies only selected choice items.
36443
+ * - `"unselected"` - Copies only unselected choice items.
36326
36444
  *
36327
- * Use the `visibleChoices` property to access inherited choice items.
36445
+ * Use the `visibleChoices` property to access copied choice items.
36328
36446
  * @see choicesFromQuestion
36329
36447
  * @see visibleChoices
36330
36448
  */
@@ -36338,6 +36456,11 @@ var QuestionSelectBase = /** @class */ (function (_super) {
36338
36456
  configurable: true
36339
36457
  });
36340
36458
  Object.defineProperty(QuestionSelectBase.prototype, "choiceValuesFromQuestion", {
36459
+ /**
36460
+ * Specifies which matrix column or dynamic panel question supplies choice values. Use this property to construct choice items based on cell values in Dynamic Matrix and question values in Dynamic Panel.
36461
+ *
36462
+ * Each choice item consists of a value saved in survey results and a text displayed in the UI. To construct a choice item, assign the `name` of a Dynamic Matrix or Dynamic Panel to the [`choicesFromQuestion`](#choicesFromQuestion) property and specify which dynamic panel question or matrix column supplies values and which provides texts. Use the `choiceValuesFromQuestion` and [`choiceTextsFromQuestion`](#choiceTextsFromQuestion) properties for this purpose. If a choice text is empty, a choice value is used as a display text and saved in survey results.
36463
+ */
36341
36464
  get: function () {
36342
36465
  return this.getPropertyValue("choiceValuesFromQuestion");
36343
36466
  },
@@ -36348,6 +36471,11 @@ var QuestionSelectBase = /** @class */ (function (_super) {
36348
36471
  configurable: true
36349
36472
  });
36350
36473
  Object.defineProperty(QuestionSelectBase.prototype, "choiceTextsFromQuestion", {
36474
+ /**
36475
+ * Specifies which matrix column or dynamic panel question supplies choice texts. Use this property to construct choice items based on cell values in Dynamic Matrix and question values in Dynamic Panel.
36476
+ *
36477
+ * Each choice item consists of a value saved in survey results and a text displayed in the UI. To construct a choice item, assign the `name` of a Dynamic Matrix or Dynamic Panel to the [`choicesFromQuestion`](#choicesFromQuestion) property and specify which dynamic panel question or matrix column supplies values and which provides texts. Use the [`choiceValuesFromQuestion`](#choiceValuesFromQuestion) and `choiceTextsFromQuestion` properties for this purpose. If a choice text is empty, a choice value is used as a display text and saved in survey results.
36478
+ */
36351
36479
  get: function () {
36352
36480
  return this.getPropertyValue("choiceTextsFromQuestion");
36353
36481
  },
@@ -37682,7 +37810,7 @@ var __decorate = (undefined && undefined.__decorate) || function (decorators, ta
37682
37810
 
37683
37811
 
37684
37812
  /**
37685
- * A class that describes the Boolean question type.
37813
+ * A class that describes the Yes/No (Boolean) question type.
37686
37814
  *
37687
37815
  * [View Demo](https://surveyjs.io/form-library/examples/questiontype-boolean/ (linkStyle))
37688
37816
  */
@@ -38317,7 +38445,7 @@ var __extends = (undefined && undefined.__extends) || (function () {
38317
38445
 
38318
38446
 
38319
38447
  /**
38320
- * A class that describes the Checkbox question type.
38448
+ * A class that describes the Checkboxes question type.
38321
38449
  *
38322
38450
  * [View Demo](https://surveyjs.io/form-library/examples/questiontype-checkbox/ (linkStyle))
38323
38451
  */
@@ -39017,7 +39145,7 @@ var __extends = (undefined && undefined.__extends) || (function () {
39017
39145
 
39018
39146
 
39019
39147
  /**
39020
- * A class that describes the Comment question type.
39148
+ * A class that describes the Long Text question type.
39021
39149
  *
39022
39150
  * [View Demo](https://surveyjs.io/form-library/examples/questiontype-comment/ (linkStyle))
39023
39151
  */
@@ -39583,6 +39711,9 @@ var QuestionCustomModelBase = /** @class */ (function (_super) {
39583
39711
  QuestionCustomModelBase.prototype.validateContainerOnly = function () {
39584
39712
  // do nothing
39585
39713
  };
39714
+ QuestionCustomModelBase.prototype.getQuestionErrorLocation = function () {
39715
+ return this.getErrorLocation();
39716
+ };
39586
39717
  QuestionCustomModelBase.prototype.getContentDisplayValueCore = function (keyAsText, value, question) {
39587
39718
  if (!question)
39588
39719
  return _super.prototype.getDisplayValueCore.call(this, keyAsText, value);
@@ -40355,7 +40486,7 @@ var QuestionDropdownModel = /** @class */ (function (_super) {
40355
40486
  });
40356
40487
  Object.defineProperty(QuestionDropdownModel.prototype, "showSelectedItemLocText", {
40357
40488
  get: function () {
40358
- return !this.inputHasValue && !this.inputFieldComponentName && !!this.selectedItemLocText;
40489
+ return !this.inputHasValue && !this.inputFieldComponentName && !!this.selectedItemLocText && this.dropdownListModel.canShowSelectedItem;
40359
40490
  },
40360
40491
  enumerable: false,
40361
40492
  configurable: true
@@ -41166,7 +41297,7 @@ var __decorate = (undefined && undefined.__decorate) || function (decorators, ta
41166
41297
 
41167
41298
 
41168
41299
  /**
41169
- * A class that describes the File question type.
41300
+ * A class that describes the File Upload question type.
41170
41301
  *
41171
41302
  * [View Demo](https://surveyjs.io/form-library/examples/file-upload/ (linkStyle))
41172
41303
  */
@@ -41227,16 +41358,11 @@ var QuestionFileModel = /** @class */ (function (_super) {
41227
41358
  _this.onChange(src);
41228
41359
  };
41229
41360
  _this.doClean = function (event) {
41230
- var src = event.currentTarget || event.srcElement;
41231
41361
  if (_this.needConfirmRemoveFile) {
41232
- var isConfirmed = Object(_utils_utils__WEBPACK_IMPORTED_MODULE_5__["confirmAction"])(_this.confirmRemoveAllMessage);
41233
- if (!isConfirmed)
41234
- return;
41235
- }
41236
- if (_this.rootElement) {
41237
- _this.rootElement.querySelectorAll("input")[0].value = "";
41362
+ Object(_utils_utils__WEBPACK_IMPORTED_MODULE_5__["confirmActionAsync"])(_this.confirmRemoveAllMessage, function () { _this.clearFilesCore(); });
41363
+ return;
41238
41364
  }
41239
- _this.clear();
41365
+ _this.clearFilesCore();
41240
41366
  };
41241
41367
  _this.doDownloadFile = function (event, data) {
41242
41368
  if (Object(_utils_utils__WEBPACK_IMPORTED_MODULE_5__["detectIEOrEdge"])()) {
@@ -41764,12 +41890,21 @@ var QuestionFileModel = /** @class */ (function (_super) {
41764
41890
  this.rootElement = el;
41765
41891
  _super.prototype.afterRender.call(this, el);
41766
41892
  };
41893
+ QuestionFileModel.prototype.clearFilesCore = function () {
41894
+ if (this.rootElement) {
41895
+ this.rootElement.querySelectorAll("input")[0].value = "";
41896
+ }
41897
+ this.clear();
41898
+ };
41767
41899
  QuestionFileModel.prototype.doRemoveFile = function (data) {
41900
+ var _this = this;
41768
41901
  if (this.needConfirmRemoveFile) {
41769
- var isConfirmed = Object(_utils_utils__WEBPACK_IMPORTED_MODULE_5__["confirmAction"])(this.getConfirmRemoveMessage(data.name));
41770
- if (!isConfirmed)
41771
- return;
41902
+ Object(_utils_utils__WEBPACK_IMPORTED_MODULE_5__["confirmActionAsync"])(this.getConfirmRemoveMessage(data.name), function () { _this.removeFileCore(data); });
41903
+ return;
41772
41904
  }
41905
+ this.removeFileCore(data);
41906
+ };
41907
+ QuestionFileModel.prototype.removeFileCore = function (data) {
41773
41908
  var previewIndex = this.previewValue.indexOf(data);
41774
41909
  this.removeFileByContent(previewIndex === -1 ? data : this.value[previewIndex]);
41775
41910
  };
@@ -41923,7 +42058,7 @@ var __extends = (undefined && undefined.__extends) || (function () {
41923
42058
 
41924
42059
 
41925
42060
  /**
41926
- * A class that describes the Html question type. Unlike other question types, Html cannot have a title or value.
42061
+ * A class that describes the HTML question type. Unlike other question types, HTML cannot have a title or value.
41927
42062
  *
41928
42063
  * [View Demo](https://surveyjs.io/form-library/examples/questiontype-html/ (linkStyle))
41929
42064
  */
@@ -43220,7 +43355,7 @@ var MatrixCells = /** @class */ (function () {
43220
43355
  }());
43221
43356
 
43222
43357
  /**
43223
- * A class that describes the Single-Choice Matrix question type.
43358
+ * A class that describes the Single-Select Matrix question type.
43224
43359
  *
43225
43360
  * [View Demo](https://surveyjs.io/form-library/examples/single-selection-matrix-table-question/ (linkStyle))
43226
43361
  */
@@ -43755,7 +43890,7 @@ var MatrixDropdownRowModel = /** @class */ (function (_super) {
43755
43890
  }(_question_matrixdropdownbase__WEBPACK_IMPORTED_MODULE_0__["MatrixDropdownRowModelBase"]));
43756
43891
 
43757
43892
  /**
43758
- * A class that describes the Multiple-Choice Matrix question type. Multiple-Choice Matrix allows you to use the [Dropdown](https://surveyjs.io/form-library/documentation/questiondropdownmodel), [Checkbox](https://surveyjs.io/form-library/documentation/questioncheckboxmodel), [Radiogroup](https://surveyjs.io/form-library/documentation/questionradiogroupmodel), [Text](https://surveyjs.io/form-library/documentation/questiontextmodel), and [Comment](https://surveyjs.io/form-library/documentation/questioncommentmodel) question types as cell editors.
43893
+ * A class that describes the Multi-Select Matrix question type. Multi-Select Matrix allows you to use the [Dropdown](https://surveyjs.io/form-library/documentation/questiondropdownmodel), [Checkbox](https://surveyjs.io/form-library/documentation/questioncheckboxmodel), [Radiogroup](https://surveyjs.io/form-library/documentation/questionradiogroupmodel), [Text](https://surveyjs.io/form-library/documentation/questiontextmodel), and [Comment](https://surveyjs.io/form-library/documentation/questioncommentmodel) question types as cell editors.
43759
43894
  *
43760
43895
  * [View Demo](https://surveyjs.io/form-library/examples/questiontype-matrixdropdown/ (linkStyle))
43761
43896
  */
@@ -44887,6 +45022,52 @@ var QuestionMatrixDropdownModelBase = /** @class */ (function (_super) {
44887
45022
  enumerable: false,
44888
45023
  configurable: true
44889
45024
  });
45025
+ Object.defineProperty(QuestionMatrixDropdownModelBase.prototype, "detailErrorLocation", {
45026
+ /**
45027
+ * Specifies the error message position for question within detail sections.
45028
+ *
45029
+ * Possible values:
45030
+ *
45031
+ * - `"default"` (default) - Inherits the setting from the [`errorLocation`](#errorLocation) property.
45032
+ * - `"top"` - Displays error messages above questions.
45033
+ * - `"bottom"` - Displays error messages below questions.
45034
+ * @see cellErrorLocation
45035
+ */
45036
+ get: function () {
45037
+ return this.getPropertyValue("detailErrorLocation");
45038
+ },
45039
+ set: function (value) {
45040
+ this.setPropertyValue("detailErrorLocation", value.toLowerCase());
45041
+ },
45042
+ enumerable: false,
45043
+ configurable: true
45044
+ });
45045
+ Object.defineProperty(QuestionMatrixDropdownModelBase.prototype, "cellErrorLocation", {
45046
+ /**
45047
+ * Specifies the error message position relative to matrix cells.
45048
+ *
45049
+ * Possible values:
45050
+ *
45051
+ * - `"default"` (default) - Inherits the setting from the [`errorLocation`](#errorLocation) property.
45052
+ * - `"top"` - Displays error messages above matrix cells.
45053
+ * - `"bottom"` - Displays error messages below matrix cells.
45054
+ * @see detailErrorLocation
45055
+ */
45056
+ get: function () {
45057
+ return this.getPropertyValue("cellErrorLocation");
45058
+ },
45059
+ set: function (value) {
45060
+ this.setPropertyValue("cellErrorLocation", value.toLowerCase());
45061
+ },
45062
+ enumerable: false,
45063
+ configurable: true
45064
+ });
45065
+ QuestionMatrixDropdownModelBase.prototype.getChildErrorLocation = function (child) {
45066
+ var errLocation = !!child.parent ? this.detailErrorLocation : this.cellErrorLocation;
45067
+ if (errLocation !== "default")
45068
+ return errLocation;
45069
+ return _super.prototype.getChildErrorLocation.call(this, child);
45070
+ };
44890
45071
  Object.defineProperty(QuestionMatrixDropdownModelBase.prototype, "isColumnLayoutHorizontal", {
44891
45072
  /**
44892
45073
  * Returns `true` if columns are placed in the horizontal direction and rows in the vertical direction.
@@ -46264,6 +46445,7 @@ var QuestionMatrixDropdownModelBase = /** @class */ (function (_super) {
46264
46445
  this.setPropertyValue("detailButtonCss" + row.id, buttonBuilder.toString());
46265
46446
  };
46266
46447
  QuestionMatrixDropdownModelBase.prototype.createRowDetailPanel = function (row) {
46448
+ var _this = this;
46267
46449
  if (this.isDesignMode)
46268
46450
  return this.detailPanel;
46269
46451
  var panel = this.createNewDetailPanel();
@@ -46275,6 +46457,7 @@ var QuestionMatrixDropdownModelBase = /** @class */ (function (_super) {
46275
46457
  if (!!this.onCreateDetailPanelCallback) {
46276
46458
  this.onCreateDetailPanelCallback(row, panel);
46277
46459
  }
46460
+ panel.questions.forEach(function (q) { return q.setParentQuestion(_this); });
46278
46461
  return panel;
46279
46462
  };
46280
46463
  QuestionMatrixDropdownModelBase.prototype.getSharedQuestionByName = function (columnName, row) {
@@ -46384,6 +46567,9 @@ _jsonobject__WEBPACK_IMPORTED_MODULE_0__["Serializer"].addClass("matrixdropdownb
46384
46567
  choices: ["none", "underRow", "underRowSingle"],
46385
46568
  default: "none",
46386
46569
  },
46570
+ { name: "cellErrorLocation", default: "default", choices: ["default", "top", "bottom"] },
46571
+ { name: "detailErrorLocation", default: "default", choices: ["default", "top", "bottom"], visibleIf: function (obj) { return !!obj && obj.detailPanelMode != "none"; }
46572
+ },
46387
46573
  "horizontalScroll:boolean",
46388
46574
  {
46389
46575
  name: "choices:itemvalue[]", uniqueProperty: "value",
@@ -47641,7 +47827,7 @@ var QuestionMatrixDropdownRenderedTable = /** @class */ (function (_super) {
47641
47827
  Object.defineProperty(QuestionMatrixDropdownRenderedTable.prototype, "showCellErrorsTop", {
47642
47828
  get: function () {
47643
47829
  //todo
47644
- return this.matrix.errorLocation == "top";
47830
+ return this.matrix.getErrorLocation() === "top";
47645
47831
  },
47646
47832
  enumerable: false,
47647
47833
  configurable: true
@@ -47649,7 +47835,7 @@ var QuestionMatrixDropdownRenderedTable = /** @class */ (function (_super) {
47649
47835
  Object.defineProperty(QuestionMatrixDropdownRenderedTable.prototype, "showCellErrorsBottom", {
47650
47836
  get: function () {
47651
47837
  //todo
47652
- return this.matrix.errorLocation == "bottom";
47838
+ return this.matrix.getErrorLocation() === "bottom";
47653
47839
  },
47654
47840
  enumerable: false,
47655
47841
  configurable: true
@@ -47792,10 +47978,10 @@ var QuestionMatrixDropdownRenderedTable = /** @class */ (function (_super) {
47792
47978
  return;
47793
47979
  this.headerRowValue = this.createRenderedRow(this.cssClasses);
47794
47980
  if (this.allowRowsDragAndDrop) {
47795
- this.headerRow.cells.push(this.createHeaderCell(null));
47981
+ this.headerRow.cells.push(this.createHeaderCell(null, "action"));
47796
47982
  }
47797
47983
  if (this.hasActionCellInRows("start")) {
47798
- this.headerRow.cells.push(this.createHeaderCell(null));
47984
+ this.headerRow.cells.push(this.createHeaderCell(null, "action"));
47799
47985
  }
47800
47986
  if (this.matrix.hasRowText && this.matrix.showHeader) {
47801
47987
  this.headerRow.cells.push(this.createHeaderCell(null));
@@ -47926,12 +48112,13 @@ var QuestionMatrixDropdownRenderedTable = /** @class */ (function (_super) {
47926
48112
  QuestionMatrixDropdownRenderedTable.prototype.getRowDragCell = function (rowIndex) {
47927
48113
  var cell = new QuestionMatrixDropdownRenderedCell();
47928
48114
  cell.isDragHandlerCell = true;
47929
- cell.className = this.getActionsCellClassName();
48115
+ cell.className = this.getActionsCellClassName(cell);
47930
48116
  cell.row = this.matrix.visibleRows[rowIndex];
47931
48117
  return cell;
47932
48118
  };
47933
- QuestionMatrixDropdownRenderedTable.prototype.getActionsCellClassName = function () {
47934
- return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_5__["CssClassBuilder"]().append(this.cssClasses.actionsCell).append(this.cssClasses.verticalCell, !this.matrix.isColumnLayoutHorizontal).toString();
48119
+ QuestionMatrixDropdownRenderedTable.prototype.getActionsCellClassName = function (cell) {
48120
+ if (cell === void 0) { cell = null; }
48121
+ return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_5__["CssClassBuilder"]().append(this.cssClasses.actionsCell).append(this.cssClasses.actionsCellDrag, cell === null || cell === void 0 ? void 0 : cell.isDragHandlerCell).append(this.cssClasses.verticalCell, !this.matrix.isColumnLayoutHorizontal).toString();
47935
48122
  };
47936
48123
  QuestionMatrixDropdownRenderedTable.prototype.getRowActionsCell = function (rowIndex, location) {
47937
48124
  var rowActions = this.getRowActions(rowIndex, location);
@@ -47945,7 +48132,8 @@ var QuestionMatrixDropdownRenderedTable = /** @class */ (function (_super) {
47945
48132
  var itemValue = new _itemvalue__WEBPACK_IMPORTED_MODULE_2__["ItemValue"](actionContainer);
47946
48133
  cell.item = itemValue;
47947
48134
  cell.isActionsCell = true;
47948
- cell.className = this.getActionsCellClassName();
48135
+ cell.isDragHandlerCell = false;
48136
+ cell.className = this.getActionsCellClassName(cell);
47949
48137
  cell.row = this.matrix.visibleRows[rowIndex];
47950
48138
  return cell;
47951
48139
  }
@@ -48056,6 +48244,7 @@ var QuestionMatrixDropdownRenderedTable = /** @class */ (function (_super) {
48056
48244
  renderedCell.className = new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_5__["CssClassBuilder"]()
48057
48245
  .append(renderedCell.className)
48058
48246
  .append(this.cssClasses.rowTextCell)
48247
+ .append(this.cssClasses.columnTitleCell, !this.matrix.isColumnLayoutHorizontal)
48059
48248
  .append(this.cssClasses.detailRowText, row.hasPanel)
48060
48249
  .toString();
48061
48250
  }
@@ -48181,7 +48370,8 @@ var QuestionMatrixDropdownRenderedTable = /** @class */ (function (_super) {
48181
48370
  hCell.column = column;
48182
48371
  hCell.className = new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_5__["CssClassBuilder"]()
48183
48372
  .append(hCell.className)
48184
- .append(this.cssClasses.rowTextCell).toString();
48373
+ .append(this.cssClasses.rowTextCell)
48374
+ .append(this.cssClasses.columnTitleCell).toString();
48185
48375
  if (!choice) {
48186
48376
  this.setRequriedToHeaderCell(column, hCell);
48187
48377
  }
@@ -48297,15 +48487,18 @@ var QuestionMatrixDropdownRenderedTable = /** @class */ (function (_super) {
48297
48487
  QuestionMatrixDropdownRenderedTable.prototype.setHeaderCellCssClasses = function (cell, cellType) {
48298
48488
  cell.className = new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_5__["CssClassBuilder"]()
48299
48489
  .append(this.cssClasses.headerCell)
48490
+ .append(this.cssClasses.columnTitleCell, this.matrix.isColumnLayoutHorizontal)
48300
48491
  .append(this.cssClasses.emptyCell, !!cell.isEmpty)
48301
48492
  .append(this.cssClasses.cell + "--" + cellType, !!cellType)
48302
48493
  .toString();
48303
48494
  };
48304
- QuestionMatrixDropdownRenderedTable.prototype.createHeaderCell = function (column) {
48495
+ QuestionMatrixDropdownRenderedTable.prototype.createHeaderCell = function (column, cellType) {
48496
+ if (cellType === void 0) { cellType = null; }
48305
48497
  var cell = !!column ? this.createTextCell(column.locTitle) : this.createEmptyCell();
48306
48498
  cell.column = column;
48307
48499
  this.setHeaderCell(column, cell);
48308
- var cellType = (!!column && column.cellType !== "default") ? column.cellType : this.matrix.cellType;
48500
+ if (!cellType)
48501
+ cellType = (!!column && column.cellType !== "default") ? column.cellType : this.matrix.cellType;
48309
48502
  this.setHeaderCellCssClasses(cell, cellType);
48310
48503
  return cell;
48311
48504
  };
@@ -48345,6 +48538,10 @@ var QuestionMatrixDropdownRenderedTable = /** @class */ (function (_super) {
48345
48538
  QuestionMatrixDropdownRenderedTable.prototype.createEmptyCell = function () {
48346
48539
  var res = this.createTextCell(null);
48347
48540
  res.isEmpty = true;
48541
+ res.className = new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_5__["CssClassBuilder"]()
48542
+ .append(this.cssClasses.cell)
48543
+ .append(this.cssClasses.emptyCell)
48544
+ .toString();
48348
48545
  return res;
48349
48546
  };
48350
48547
  __decorate([
@@ -49006,6 +49203,7 @@ var QuestionMatrixDynamicModel = /** @class */ (function (_super) {
49006
49203
  * @param confirmDelete *Optional.* A Boolean value that specifies whether to display a confirmation dialog. If you do not specify this parameter, the [`confirmDelete`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-matrix-table-question-model#confirmDelete) property value is used.
49007
49204
  */
49008
49205
  QuestionMatrixDynamicModel.prototype.removeRow = function (index, confirmDelete) {
49206
+ var _this = this;
49009
49207
  if (!this.canRemoveRows)
49010
49208
  return;
49011
49209
  if (index < 0 || index >= this.rowCount)
@@ -49016,8 +49214,13 @@ var QuestionMatrixDynamicModel = /** @class */ (function (_super) {
49016
49214
  if (confirmDelete === undefined) {
49017
49215
  confirmDelete = this.isRequireConfirmOnRowDelete(index);
49018
49216
  }
49019
- if (confirmDelete && !Object(_utils_utils__WEBPACK_IMPORTED_MODULE_5__["confirmAction"])(this.confirmDeleteText))
49217
+ if (confirmDelete) {
49218
+ Object(_utils_utils__WEBPACK_IMPORTED_MODULE_5__["confirmActionAsync"])(this.confirmDeleteText, function () { _this.removeRowAsync(index, row); });
49020
49219
  return;
49220
+ }
49221
+ this.removeRowAsync(index, row);
49222
+ };
49223
+ QuestionMatrixDynamicModel.prototype.removeRowAsync = function (index, row) {
49021
49224
  if (!!row && !!this.survey && !this.survey.matrixRowRemoving(this, index, row))
49022
49225
  return;
49023
49226
  this.onStartRowAddingRemoving();
@@ -49534,7 +49737,7 @@ var MultipleTextEditorModel = /** @class */ (function (_super) {
49534
49737
  }(_question_text__WEBPACK_IMPORTED_MODULE_3__["QuestionTextModel"]));
49535
49738
 
49536
49739
  /**
49537
- * A class that describes an item in a [Multiple Text](https://surveyjs.io/form-library/documentation/api-reference/multiple-text-entry-question-model) question.
49740
+ * A class that describes an item in a [Multiple Textboxes](https://surveyjs.io/form-library/documentation/api-reference/multiple-text-entry-question-model) question.
49538
49741
  *
49539
49742
  * [View Demo](/form-library/examples/multiple-text-box-question/)
49540
49743
  */
@@ -49615,6 +49818,7 @@ var MultipleTextItemModel = /** @class */ (function (_super) {
49615
49818
  this.editor.defaultValue = data.getItemDefaultValue(this.name);
49616
49819
  this.editor.setSurveyImpl(this);
49617
49820
  this.editor.parent = data;
49821
+ this.editor.setParentQuestion(data);
49618
49822
  }
49619
49823
  };
49620
49824
  Object.defineProperty(MultipleTextItemModel.prototype, "isRequired", {
@@ -50045,6 +50249,33 @@ var QuestionMultipleTextModel = /** @class */ (function (_super) {
50045
50249
  this.items[i].localeChanged();
50046
50250
  }
50047
50251
  };
50252
+ Object.defineProperty(QuestionMultipleTextModel.prototype, "itemErrorLocation", {
50253
+ /**
50254
+ * Specifies the error message position relative to individual input fields.
50255
+ *
50256
+ * Possible values:
50257
+ *
50258
+ * - `"default"` (default) - Inherits the setting from the [`errorLocation`](#errorLocation) property.
50259
+ * - `"top"` - Displays error messages above input fields.
50260
+ * - `"bottom"` - Displays error messages below input fields.
50261
+ */
50262
+ get: function () {
50263
+ return this.getPropertyValue("itemErrorLocation");
50264
+ },
50265
+ set: function (val) {
50266
+ this.setPropertyValue("itemErrorLocation", val);
50267
+ },
50268
+ enumerable: false,
50269
+ configurable: true
50270
+ });
50271
+ QuestionMultipleTextModel.prototype.getQuestionErrorLocation = function () {
50272
+ if (this.itemErrorLocation !== "default")
50273
+ return this.itemErrorLocation;
50274
+ return this.getErrorLocation();
50275
+ };
50276
+ QuestionMultipleTextModel.prototype.getChildErrorLocation = function (child) {
50277
+ return this.getQuestionErrorLocation();
50278
+ };
50048
50279
  QuestionMultipleTextModel.prototype.isNewValueCorrect = function (val) {
50049
50280
  return _helpers__WEBPACK_IMPORTED_MODULE_6__["Helpers"].isValueObject(val);
50050
50281
  };
@@ -50312,6 +50543,7 @@ _jsonobject__WEBPACK_IMPORTED_MODULE_4__["Serializer"].addClass("multipletext",
50312
50543
  { name: "!items:textitems", className: "multipletextitem" },
50313
50544
  { name: "itemSize:number", minValue: 0 },
50314
50545
  { name: "colCount:number", default: 1, choices: [1, 2, 3, 4, 5] },
50546
+ { name: "itemErrorLocation", default: "default", choices: ["default", "top", "bottom"], visible: false }
50315
50547
  ], function () {
50316
50548
  return new QuestionMultipleTextModel("");
50317
50549
  }, "question");
@@ -51483,6 +51715,25 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
51483
51715
  enumerable: false,
51484
51716
  configurable: true
51485
51717
  });
51718
+ Object.defineProperty(QuestionPanelDynamicModel.prototype, "templateErrorLocation", {
51719
+ /**
51720
+ * Specifies the error message position.
51721
+ *
51722
+ * Possible values:
51723
+ *
51724
+ * - `"default"` (default) - Inherits the setting from the [`errorLocation`](#errorLocation) property.
51725
+ * - `"top"` - Displays error messages above questions.
51726
+ * - `"bottom"` - Displays error messages below questions.
51727
+ */
51728
+ get: function () {
51729
+ return this.getPropertyValue("templateErrorLocation");
51730
+ },
51731
+ set: function (value) {
51732
+ this.setPropertyValue("templateErrorLocation", value.toLowerCase());
51733
+ },
51734
+ enumerable: false,
51735
+ configurable: true
51736
+ });
51486
51737
  Object.defineProperty(QuestionPanelDynamicModel.prototype, "showQuestionNumbers", {
51487
51738
  /**
51488
51739
  * Use this property to show/hide the numbers in titles in questions inside a dynamic panel.
@@ -51843,9 +52094,13 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
51843
52094
  *
51844
52095
  */
51845
52096
  QuestionPanelDynamicModel.prototype.removePanelUI = function (value) {
52097
+ var _this = this;
51846
52098
  if (!this.canRemovePanel)
51847
52099
  return;
51848
- if (!this.confirmDelete || Object(_utils_utils__WEBPACK_IMPORTED_MODULE_9__["confirmAction"])(this.confirmDeleteText)) {
52100
+ if (this.confirmDelete) {
52101
+ Object(_utils_utils__WEBPACK_IMPORTED_MODULE_9__["confirmActionAsync"])(this.confirmDeleteText, function () { _this.removePanel(value); });
52102
+ }
52103
+ else {
51849
52104
  this.removePanel(value);
51850
52105
  }
51851
52106
  };
@@ -52368,13 +52623,11 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
52368
52623
  return panel;
52369
52624
  };
52370
52625
  QuestionPanelDynamicModel.prototype.createAndSetupNewPanelObject = function () {
52626
+ var _this = this;
52371
52627
  var panel = this.createNewPanelObject();
52372
52628
  panel.isInteractiveDesignElement = false;
52373
52629
  panel.setParentQuestion(this);
52374
- var self = this;
52375
- panel.onGetQuestionTitleLocation = function () {
52376
- return self.getTemplateQuestionTitleLocation();
52377
- };
52630
+ panel.onGetQuestionTitleLocation = function () { return _this.getTemplateQuestionTitleLocation(); };
52378
52631
  return panel;
52379
52632
  };
52380
52633
  QuestionPanelDynamicModel.prototype.getTemplateQuestionTitleLocation = function () {
@@ -52382,6 +52635,11 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
52382
52635
  ? this.templateTitleLocation
52383
52636
  : this.getTitleLocationCore();
52384
52637
  };
52638
+ QuestionPanelDynamicModel.prototype.getChildErrorLocation = function (child) {
52639
+ if (this.templateErrorLocation !== "default")
52640
+ return this.templateErrorLocation;
52641
+ return _super.prototype.getChildErrorLocation.call(this, child);
52642
+ };
52385
52643
  QuestionPanelDynamicModel.prototype.createNewPanelObject = function () {
52386
52644
  return _jsonobject__WEBPACK_IMPORTED_MODULE_5__["Serializer"].createClass("panel");
52387
52645
  };
@@ -52934,6 +53192,7 @@ _jsonobject__WEBPACK_IMPORTED_MODULE_5__["Serializer"].addClass("paneldynamic",
52934
53192
  default: "default",
52935
53193
  choices: ["default", "top", "bottom", "left"],
52936
53194
  },
53195
+ { name: "templateErrorLocation", default: "default", choices: ["default", "top", "bottom"] },
52937
53196
  {
52938
53197
  name: "templateVisibleIf:expression",
52939
53198
  category: "logic"
@@ -52989,7 +53248,7 @@ var __extends = (undefined && undefined.__extends) || (function () {
52989
53248
 
52990
53249
 
52991
53250
  /**
52992
- * A class that describes the Radiogroup question type.
53251
+ * A class that describes the Radio Button Group question type.
52993
53252
  *
52994
53253
  * [View Demo](https://surveyjs.io/form-library/examples/questiontype-radiogroup/ (linkStyle))
52995
53254
  */
@@ -54846,7 +55105,7 @@ function resizeCanvas(canvas) {
54846
55105
  context.scale(ratio, ratio);
54847
55106
  }
54848
55107
  /**
54849
- * A class that describes the Signature Page question type.
55108
+ * A class that describes the Signature question type.
54850
55109
  *
54851
55110
  * [View Demo](https://surveyjs.io/form-library/examples/signature-pad-widget-javascript/ (linkStyle))
54852
55111
  */
@@ -55211,7 +55470,7 @@ var __decorate = (undefined && undefined.__decorate) || function (decorators, ta
55211
55470
 
55212
55471
 
55213
55472
  /**
55214
- * A Model for a tagbox question
55473
+ * A class that describes the Multi-Select Dropdown (Tag Box) question type.
55215
55474
  *
55216
55475
  * [View Demo](https://surveyjs.io/form-library/examples/how-to-create-multiselect-tag-box/ (linkStyle))
55217
55476
  */
@@ -55484,7 +55743,7 @@ var __extends = (undefined && undefined.__extends) || (function () {
55484
55743
 
55485
55744
 
55486
55745
  /**
55487
- * A class that describes the Text question type.
55746
+ * A class that describes the Single-Line Input question type.
55488
55747
  *
55489
55748
  * [View Demo](https://surveyjs.io/form-library/examples/questiontype-text/ (linkStyle))
55490
55749
  */
@@ -55590,6 +55849,11 @@ var QuestionTextModel = /** @class */ (function (_super) {
55590
55849
  enumerable: false,
55591
55850
  configurable: true
55592
55851
  });
55852
+ QuestionTextModel.prototype.getMaxLength = function () {
55853
+ if (this.inputType !== "text")
55854
+ return null;
55855
+ return _super.prototype.getMaxLength.call(this);
55856
+ };
55593
55857
  QuestionTextModel.prototype.runCondition = function (values, properties) {
55594
55858
  _super.prototype.runCondition.call(this, values, properties);
55595
55859
  if (!!this.minValueExpression || !!this.maxValueExpression) {
@@ -56264,7 +56528,7 @@ var CharacterCounter = /** @class */ (function (_super) {
56264
56528
  }(_base__WEBPACK_IMPORTED_MODULE_4__["Base"]));
56265
56529
 
56266
56530
  /**
56267
- * A base class for the [Text](https://surveyjs.io/form-library/documentation/questiontextmodel) and [Comment](https://surveyjs.io/form-library/documentation/questioncommentmodel) question types.
56531
+ * A base class for the [Single-Line Input](https://surveyjs.io/form-library/documentation/questiontextmodel) and [Long Text](https://surveyjs.io/form-library/documentation/questioncommentmodel) question types.
56268
56532
  */
56269
56533
  var QuestionTextBase = /** @class */ (function (_super) {
56270
56534
  __extends(QuestionTextBase, _super);
@@ -59659,7 +59923,7 @@ var SurveyQuestionDropdownBase = /** @class */ (function (_super) {
59659
59923
  if (!this.question.cssClasses.chevronButtonIconId)
59660
59924
  return null;
59661
59925
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.question.cssClasses.chevronButton },
59662
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_components_svg_icon_svg_icon__WEBPACK_IMPORTED_MODULE_3__["SvgIcon"], { className: this.question.cssClasses.chevronButtonSvg, iconName: this.question.cssClasses.chevronButtonIconId, size: 24 })));
59926
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_components_svg_icon_svg_icon__WEBPACK_IMPORTED_MODULE_3__["SvgIcon"], { className: this.question.cssClasses.chevronButtonSvg, iconName: this.question.cssClasses.chevronButtonIconId, size: "auto" })));
59663
59927
  };
59664
59928
  SurveyQuestionDropdownBase.prototype.renderOther = function (cssClasses) {
59665
59929
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.question.getCommentAreaCss(true) },
@@ -66591,12 +66855,24 @@ var settings = {
66591
66855
  */
66592
66856
  tagboxCloseOnSelect: false,
66593
66857
  /**
66594
- * A property that allows you to display a custom confirm dialog instead of the standard browser dialog. Set this property to a function that renders your custom dialog window.
66858
+ * A property that allows you to display a custom confirm dialog instead of the standard browser dialog.
66859
+ *
66860
+ * Set this property to a function that renders your custom dialog window. This function should return `true` if a user confirms an action or `false` otherwise.
66595
66861
  * @param message A message to be displayed in the confirm dialog window.
66596
66862
  */
66597
66863
  confirmActionFunc: function (message) {
66598
66864
  return confirm(message);
66599
66865
  },
66866
+ /**
66867
+ * A property that allows you to display a custom confirm dialog instead of the standard browser dialog in async mode.
66868
+ *
66869
+ * Set this property to a function that renders your custom dialog window. This function should return `true` to be enabled; otherwise, a survey executes the [`confirmActionFunc`](#confirmActionFunc) function. Pass the dialog result as the `callback` parameter: `true` if a user confirms an action, `false` otherwise.
66870
+ * @param message A message to be displayed in the confirm dialog window.
66871
+ * @param callback A callback function that should be called with `true` if a user confirms an action or `false` otherwise.
66872
+ */
66873
+ confirmActionAsync: function (message, callback) {
66874
+ return false;
66875
+ },
66600
66876
  /**
66601
66877
  * A minimum width value for all survey elements.
66602
66878
  *
@@ -69314,7 +69590,6 @@ var SurveyModel = /** @class */ (function (_super) {
69314
69590
  _this.createHtmlLocString("completedBeforeHtml", "completingSurveyBefore", htmlCallBack, "completed-before");
69315
69591
  _this.createHtmlLocString("loadingHtml", "loadingSurvey", htmlCallBack, "loading");
69316
69592
  _this.createLocalizableString("logo", _this, false);
69317
- _this.createLocalizableString("backgroundImage", _this, false);
69318
69593
  _this.createLocalizableString("startSurveyText", _this, false, true);
69319
69594
  _this.createLocalizableString("pagePrevText", _this, false, true);
69320
69595
  _this.createLocalizableString("pageNextText", _this, false, true);
@@ -70187,7 +70462,7 @@ var SurveyModel = /** @class */ (function (_super) {
70187
70462
  *
70188
70463
  * If you enable this property, the survey is also completed automatically. Set the [`allowCompleteSurveyAutomatic`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#allowCompleteSurveyAutomatic) property to `false` if you want to disable this behavior.
70189
70464
  *
70190
- * > If any of the following questions is answered last, the survey does not switch to the next page: Checkbox, Boolean (rendered as Checkbox), Comment, Signature Pad, Image Picker (with Multi Select), File, Single-Choice Matrix (not all rows are answered), Dynamic Matrix, Panel Dynamic.
70465
+ * > If any of the following questions is answered last, the survey does not switch to the next page: Checkboxes, Yes/No (Boolean) (rendered as Checkbox), Long Text, Signature, Image Picker (with Multi Select), File Upload, Single-Select Matrix (not all rows are answered), Dynamic Matrix, Dynamic Panel.
70191
70466
  *
70192
70467
  * [View Demo](https://surveyjs.io/form-library/examples/automatically-move-to-next-page-if-answer-selected/ (linkStyle))
70193
70468
  */
@@ -70806,29 +71081,8 @@ var SurveyModel = /** @class */ (function (_super) {
70806
71081
  enumerable: false,
70807
71082
  configurable: true
70808
71083
  });
70809
- Object.defineProperty(SurveyModel.prototype, "backgroundImage", {
70810
- /**
70811
- * An image to display in the background of the survey or form. Accepts a base64 or URL string value.
70812
- * @see backgroundOpacity
70813
- */
70814
- get: function () {
70815
- return this.getLocalizableStringText("backgroundImage");
70816
- },
70817
- set: function (value) {
70818
- this.setLocalizableStringText("backgroundImage", value);
70819
- },
70820
- enumerable: false,
70821
- configurable: true
70822
- });
70823
- Object.defineProperty(SurveyModel.prototype, "locBackgroundImage", {
70824
- get: function () {
70825
- return this.getLocalizableString("backgroundImage");
70826
- },
70827
- enumerable: false,
70828
- configurable: true
70829
- });
70830
71084
  SurveyModel.prototype.updateRenderBackgroundImage = function () {
70831
- var path = this.getLocalizableString("backgroundImage").renderedHtml;
71085
+ var path = this.backgroundImage;
70832
71086
  this.renderBackgroundImage = !!path ? ["url(", path, ")"].join("") : "";
70833
71087
  };
70834
71088
  Object.defineProperty(SurveyModel.prototype, "backgroundOpacity", {
@@ -71470,12 +71724,14 @@ var SurveyModel = /** @class */ (function (_super) {
71470
71724
  };
71471
71725
  Object.defineProperty(SurveyModel.prototype, "questionErrorLocation", {
71472
71726
  /**
71473
- * Gets or sets the error message position.
71727
+ * Specifies the error message position.
71474
71728
  *
71475
- * The following options are available:
71729
+ * Possible values:
71730
+ *
71731
+ * - `"top"` (default) - Displays error messages above questions.
71732
+ * - `"bottom"` - Displays error messages below questions.
71476
71733
  *
71477
- * - `top` - to show question error(s) over the question,
71478
- * - `bottom` - to show question error(s) under the question.
71734
+ * You can override this setting if you specify the `questionErrorLocation` property for an [individual page](https://surveyjs.io/form-library/documentation/pagemodel#questionErrorLocation) or [panel](https://surveyjs.io/form-library/documentation/panelmodel#questionErrorLocation) or set the `errorLocation` property for a [specific question](https://surveyjs.io/form-library/documentation/question#errorLocation).
71479
71735
  */
71480
71736
  get: function () {
71481
71737
  return this.getPropertyValue("questionErrorLocation");
@@ -73330,6 +73586,7 @@ var SurveyModel = /** @class */ (function (_super) {
73330
73586
  * The `doComplete()` method completes the survey regardless of validation errors and the current page. If you need to ensure that survey results are valid and full, call the [`completeLastPage()`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#completeLastPage) method instead.
73331
73587
  *
73332
73588
  * @param isCompleteOnTrigger For internal use.
73589
+ * @param completeTrigger For internal use.
73333
73590
  * @returns `false` if survey completion is cancelled within the [`onCompleting`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onCompleting) event handler; otherwise, `true`.
73334
73591
  * @see surveyPostId
73335
73592
  */
@@ -76377,6 +76634,9 @@ var SurveyModel = /** @class */ (function (_super) {
76377
76634
  __decorate([
76378
76635
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])()
76379
76636
  ], SurveyModel.prototype, "_isCompact", void 0);
76637
+ __decorate([
76638
+ Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])()
76639
+ ], SurveyModel.prototype, "backgroundImage", void 0);
76380
76640
  __decorate([
76381
76641
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])()
76382
76642
  ], SurveyModel.prototype, "renderBackgroundImage", void 0);
@@ -76538,10 +76798,8 @@ _jsonobject__WEBPACK_IMPORTED_MODULE_1__["Serializer"].addClass("survey", [
76538
76798
  name: "showTOC:switch",
76539
76799
  default: false
76540
76800
  },
76541
- {
76542
- name: "tocLocation",
76543
- default: "left",
76544
- choices: ["left", "right"],
76801
+ { name: "tocLocation", default: "left", choices: ["left", "right"],
76802
+ dependsOn: ["showTOC"], visibleIf: function (survey) { return !!survey && survey.showTOC; }
76545
76803
  },
76546
76804
  { name: "mode", default: "edit", choices: ["edit", "display"] },
76547
76805
  { name: "storeOthersAsComment:boolean", default: true },
@@ -76583,9 +76841,7 @@ _jsonobject__WEBPACK_IMPORTED_MODULE_1__["Serializer"].addClass("survey", [
76583
76841
  {
76584
76842
  name: "questionStartIndex",
76585
76843
  dependsOn: ["showQuestionNumbers"],
76586
- visibleIf: function (survey) {
76587
- return !survey || survey.showQuestionNumbers !== "off";
76588
- },
76844
+ visibleIf: function (survey) { return !survey || survey.showQuestionNumbers !== "off"; }
76589
76845
  },
76590
76846
  {
76591
76847
  name: "questionTitlePattern",
@@ -76638,7 +76894,7 @@ _jsonobject__WEBPACK_IMPORTED_MODULE_1__["Serializer"].addClass("survey", [
76638
76894
  choices: ["auto", "static", "responsive"],
76639
76895
  },
76640
76896
  { name: "width", visibleIf: function (obj) { return obj.widthMode === "static"; } },
76641
- { name: "backgroundImage", serializationProperty: "locBackgroundImage", visible: false },
76897
+ { name: "backgroundImage", visible: false },
76642
76898
  { name: "backgroundImageFit", default: "cover", choices: ["auto", "contain", "cover"], visible: false },
76643
76899
  { name: "backgroundImageAttachment", default: "scroll", choices: ["scroll", "fixed"], visible: false },
76644
76900
  { name: "backgroundOpacity:number", minValue: 0, maxValue: 1, default: 1, visible: false },
@@ -78734,7 +78990,7 @@ var TooltipManager = /** @class */ (function () {
78734
78990
  /*!****************************!*\
78735
78991
  !*** ./src/utils/utils.ts ***!
78736
78992
  \****************************/
78737
- /*! exports provided: unwrap, getRenderedSize, getRenderedStyleSize, doKey2ClickBlur, doKey2ClickUp, doKey2ClickDown, sanitizeEditableContent, Logger, mergeValues, getElementWidth, isContainerVisible, classesToSelector, compareVersions, confirmAction, detectIEOrEdge, detectIEBrowser, loadFileFromBase64, isMobile, isShadowDOM, getElement, isElementVisible, findScrollableParent, scrollElementByChildId, navigateToUrl, createSvg, getIconNameFromProxy, increaseHeightByContent, getOriginalEvent, preventDefaults, findParentByClassNames, getFirstVisibleChild */
78993
+ /*! exports provided: unwrap, getRenderedSize, getRenderedStyleSize, doKey2ClickBlur, doKey2ClickUp, doKey2ClickDown, sanitizeEditableContent, Logger, mergeValues, getElementWidth, isContainerVisible, classesToSelector, compareVersions, confirmAction, confirmActionAsync, detectIEOrEdge, detectIEBrowser, loadFileFromBase64, isMobile, isShadowDOM, getElement, isElementVisible, findScrollableParent, scrollElementByChildId, navigateToUrl, createSvg, getIconNameFromProxy, increaseHeightByContent, getOriginalEvent, preventDefaults, findParentByClassNames, getFirstVisibleChild */
78738
78994
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
78739
78995
 
78740
78996
  "use strict";
@@ -78753,6 +79009,7 @@ __webpack_require__.r(__webpack_exports__);
78753
79009
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "classesToSelector", function() { return classesToSelector; });
78754
79010
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "compareVersions", function() { return compareVersions; });
78755
79011
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "confirmAction", function() { return confirmAction; });
79012
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "confirmActionAsync", function() { return confirmActionAsync; });
78756
79013
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "detectIEOrEdge", function() { return detectIEOrEdge; });
78757
79014
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "detectIEBrowser", function() { return detectIEBrowser; });
78758
79015
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "loadFileFromBase64", function() { return loadFileFromBase64; });
@@ -78790,6 +79047,19 @@ function confirmAction(message) {
78790
79047
  return _settings__WEBPACK_IMPORTED_MODULE_0__["settings"].confirmActionFunc(message);
78791
79048
  return confirm(message);
78792
79049
  }
79050
+ function confirmActionAsync(message, funcOnYes, funcOnNo) {
79051
+ var callbackFunc = function (res) {
79052
+ if (res)
79053
+ funcOnYes();
79054
+ else if (!!funcOnNo)
79055
+ funcOnNo();
79056
+ };
79057
+ if (!!_settings__WEBPACK_IMPORTED_MODULE_0__["settings"] && !!_settings__WEBPACK_IMPORTED_MODULE_0__["settings"].confirmActionAsync) {
79058
+ if (_settings__WEBPACK_IMPORTED_MODULE_0__["settings"].confirmActionAsync(message, callbackFunc))
79059
+ return;
79060
+ }
79061
+ callbackFunc(confirmAction(message));
79062
+ }
78793
79063
  function detectIEBrowser() {
78794
79064
  if (typeof window === "undefined")
78795
79065
  return false;