survey-react-ui 1.9.105 → 1.9.107

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.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - Survey JavaScript library v1.9.105
2
+ * surveyjs - Survey JavaScript library v1.9.107
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
  */
@@ -133,7 +133,7 @@ __webpack_require__.r(__webpack_exports__);
133
133
  /*!***************************************!*\
134
134
  !*** ./src/entries/react-ui-model.ts ***!
135
135
  \***************************************/
136
- /*! exports provided: 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 */
136
+ /*! exports provided: 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, LoadingIndicatorComponent */
137
137
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
138
138
 
139
139
  "use strict";
@@ -391,6 +391,9 @@ __webpack_require__.r(__webpack_exports__);
391
391
  /* harmony import */ var _react_string_editor__WEBPACK_IMPORTED_MODULE_74__ = __webpack_require__(/*! ../react/string-editor */ "./src/react/string-editor.tsx");
392
392
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyLocStringEditor", function() { return _react_string_editor__WEBPACK_IMPORTED_MODULE_74__["SurveyLocStringEditor"]; });
393
393
 
394
+ /* harmony import */ var _react_components_loading_indicator__WEBPACK_IMPORTED_MODULE_75__ = __webpack_require__(/*! ../react/components/loading-indicator */ "./src/react/components/loading-indicator.tsx");
395
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "LoadingIndicatorComponent", function() { return _react_components_loading_indicator__WEBPACK_IMPORTED_MODULE_75__["LoadingIndicatorComponent"]; });
396
+
394
397
  // react
395
398
 
396
399
 
@@ -465,6 +468,7 @@ __webpack_require__.r(__webpack_exports__);
465
468
 
466
469
 
467
470
 
471
+
468
472
 
469
473
 
470
474
  //Uncomment to include the "date" question type.
@@ -477,7 +481,7 @@ __webpack_require__.r(__webpack_exports__);
477
481
  /*!*********************************!*\
478
482
  !*** ./src/entries/react-ui.ts ***!
479
483
  \*********************************/
480
- /*! exports provided: 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, SurveyModel, SurveyWindowModel, settings, surveyLocalization, surveyStrings, Model, ResponsivityManager, VerticalResponsivityManager, unwrap */
484
+ /*! exports provided: 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, LoadingIndicatorComponent, SurveyModel, SurveyWindowModel, settings, surveyLocalization, surveyStrings, Model, ResponsivityManager, VerticalResponsivityManager, unwrap */
481
485
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
482
486
 
483
487
  "use strict";
@@ -661,6 +665,8 @@ __webpack_require__.r(__webpack_exports__);
661
665
 
662
666
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyLocStringEditor", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_0__["SurveyLocStringEditor"]; });
663
667
 
668
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "LoadingIndicatorComponent", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_0__["LoadingIndicatorComponent"]; });
669
+
664
670
  /* harmony import */ var _core_export__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./core-export */ "./src/entries/core-export.ts");
665
671
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyModel", function() { return _core_export__WEBPACK_IMPORTED_MODULE_1__["SurveyModel"]; });
666
672
 
@@ -690,7 +696,7 @@ __webpack_require__.r(__webpack_exports__);
690
696
 
691
697
 
692
698
 
693
- Object(survey_core__WEBPACK_IMPORTED_MODULE_2__["checkLibraryVersion"])("" + "1.9.105", "survey-react-ui");
699
+ Object(survey_core__WEBPACK_IMPORTED_MODULE_2__["checkLibraryVersion"])("" + "1.9.107", "survey-react-ui");
694
700
 
695
701
 
696
702
  /***/ }),
@@ -1441,11 +1447,11 @@ var ComponentsContainer = /** @class */ (function (_super) {
1441
1447
  }
1442
1448
  if (!needRenderWrapper) {
1443
1449
  return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, components.map(function (component) {
1444
- return _element_factory__WEBPACK_IMPORTED_MODULE_1__["ReactElementFactory"].Instance.createElement(component.component, { survey: _this.props.survey, model: component.data, key: component.id });
1450
+ return _element_factory__WEBPACK_IMPORTED_MODULE_1__["ReactElementFactory"].Instance.createElement(component.component, { survey: _this.props.survey, model: component.data, container: _this.props.container, key: component.id });
1445
1451
  }));
1446
1452
  }
1447
1453
  return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { className: "sv-components-column" }, components.map(function (component) {
1448
- return _element_factory__WEBPACK_IMPORTED_MODULE_1__["ReactElementFactory"].Instance.createElement(component.component, { survey: _this.props.survey, model: component.data, key: component.id });
1454
+ return _element_factory__WEBPACK_IMPORTED_MODULE_1__["ReactElementFactory"].Instance.createElement(component.component, { survey: _this.props.survey, model: component.data, container: _this.props.container, key: component.id });
1449
1455
  }));
1450
1456
  };
1451
1457
  return ComponentsContainer;
@@ -1644,6 +1650,12 @@ var List = /** @class */ (function (_super) {
1644
1650
  this.model.initListContainerHtmlElement(this.listContainerRef.current);
1645
1651
  }
1646
1652
  };
1653
+ List.prototype.componentWillUnmount = function () {
1654
+ _super.prototype.componentWillUnmount.call(this);
1655
+ if (!!this.model) {
1656
+ this.model.initListContainerHtmlElement(undefined);
1657
+ }
1658
+ };
1647
1659
  List.prototype.renderElement = function () {
1648
1660
  return (react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { className: this.model.cssClasses.root, ref: this.listContainerRef },
1649
1661
  this.searchElementContent(),
@@ -1709,6 +1721,52 @@ _element_factory__WEBPACK_IMPORTED_MODULE_2__["ReactElementFactory"].Instance.re
1709
1721
  });
1710
1722
 
1711
1723
 
1724
+ /***/ }),
1725
+
1726
+ /***/ "./src/react/components/loading-indicator.tsx":
1727
+ /*!****************************************************!*\
1728
+ !*** ./src/react/components/loading-indicator.tsx ***!
1729
+ \****************************************************/
1730
+ /*! exports provided: LoadingIndicatorComponent */
1731
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
1732
+
1733
+ "use strict";
1734
+ __webpack_require__.r(__webpack_exports__);
1735
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "LoadingIndicatorComponent", function() { return LoadingIndicatorComponent; });
1736
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
1737
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
1738
+ /* harmony import */ var _svg_icon_svg_icon__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./svg-icon/svg-icon */ "./src/react/components/svg-icon/svg-icon.tsx");
1739
+ var __extends = (undefined && undefined.__extends) || (function () {
1740
+ var extendStatics = function (d, b) {
1741
+ extendStatics = Object.setPrototypeOf ||
1742
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
1743
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
1744
+ return extendStatics(d, b);
1745
+ };
1746
+ return function (d, b) {
1747
+ if (typeof b !== "function" && b !== null)
1748
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
1749
+ extendStatics(d, b);
1750
+ function __() { this.constructor = d; }
1751
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
1752
+ };
1753
+ })();
1754
+
1755
+
1756
+ var LoadingIndicatorComponent = /** @class */ (function (_super) {
1757
+ __extends(LoadingIndicatorComponent, _super);
1758
+ function LoadingIndicatorComponent() {
1759
+ return _super !== null && _super.apply(this, arguments) || this;
1760
+ }
1761
+ LoadingIndicatorComponent.prototype.render = function () {
1762
+ return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: "sd-loading-indicator" },
1763
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_svg_icon_svg_icon__WEBPACK_IMPORTED_MODULE_1__["SvgIcon"], { iconName: "icon-loading", size: "auto" })));
1764
+ };
1765
+ return LoadingIndicatorComponent;
1766
+ }(react__WEBPACK_IMPORTED_MODULE_0__["Component"]));
1767
+
1768
+
1769
+
1712
1770
  /***/ }),
1713
1771
 
1714
1772
  /***/ "./src/react/components/matrix-actions/detail-button/detail-button.tsx":
@@ -2450,6 +2508,10 @@ var Popup = /** @class */ (function (_super) {
2450
2508
  _super.prototype.componentDidUpdate.call(this, prevProps, prevState);
2451
2509
  this.setTargetElement();
2452
2510
  };
2511
+ Popup.prototype.componentWillUnmount = function () {
2512
+ _super.prototype.componentWillUnmount.call(this);
2513
+ this.popup.resetComponentElement();
2514
+ };
2453
2515
  Popup.prototype.shouldComponentUpdate = function (nextProps, nextState) {
2454
2516
  var _a;
2455
2517
  if (!_super.prototype.shouldComponentUpdate.call(this, nextProps, nextState))
@@ -5018,6 +5080,8 @@ var Survey = /** @class */ (function (_super) {
5018
5080
  };
5019
5081
  Survey.prototype.destroySurvey = function () {
5020
5082
  if (this.survey) {
5083
+ this.survey.renderCallback = undefined;
5084
+ this.survey.onPartialSend.clear();
5021
5085
  this.survey.stopTimer();
5022
5086
  this.survey.destroyResizeObserver();
5023
5087
  }
@@ -5040,6 +5104,9 @@ var Survey = /** @class */ (function (_super) {
5040
5104
  else if (this.survey.state == "loading") {
5041
5105
  renderResult = this.renderLoading();
5042
5106
  }
5107
+ else if (this.survey.state == "empty") {
5108
+ renderResult = this.renderEmptySurvey();
5109
+ }
5043
5110
  else {
5044
5111
  renderResult = this.renderSurvey();
5045
5112
  }
@@ -5088,11 +5155,11 @@ var Survey = /** @class */ (function (_super) {
5088
5155
  };
5089
5156
  Survey.prototype.renderCompletedBefore = function () {
5090
5157
  var htmlValue = { __html: this.survey.processedCompletedBeforeHtml };
5091
- return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { dangerouslySetInnerHTML: htmlValue, className: this.css.body }));
5158
+ return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { dangerouslySetInnerHTML: htmlValue, className: this.survey.completedBeforeCss }));
5092
5159
  };
5093
5160
  Survey.prototype.renderLoading = function () {
5094
5161
  var htmlValue = { __html: this.survey.processedLoadingHtml };
5095
- return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { dangerouslySetInnerHTML: htmlValue, className: this.css.body }));
5162
+ return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { dangerouslySetInnerHTML: htmlValue, className: this.survey.loadingBodyCss }));
5096
5163
  };
5097
5164
  Survey.prototype.renderSurvey = function () {
5098
5165
  var activePage = this.survey.activePage
@@ -5101,10 +5168,6 @@ var Survey = /** @class */ (function (_super) {
5101
5168
  var isStaring = this.survey.isShowStartingPage;
5102
5169
  var pageId = this.survey.activePage ? this.survey.activePage.id : "";
5103
5170
  var className = this.survey.bodyCss;
5104
- if (!activePage) {
5105
- className = this.css.bodyEmpty;
5106
- activePage = this.renderEmptySurvey();
5107
- }
5108
5171
  var style = {};
5109
5172
  if (!!this.survey.renderedWidth) {
5110
5173
  style.maxWidth = this.survey.renderedWidth;
@@ -5121,7 +5184,7 @@ var Survey = /** @class */ (function (_super) {
5121
5184
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_page__WEBPACK_IMPORTED_MODULE_2__["SurveyPage"], { survey: this.survey, page: page, css: this.css, creator: this }));
5122
5185
  };
5123
5186
  Survey.prototype.renderEmptySurvey = function () {
5124
- return react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", null, this.survey.emptySurveyText);
5187
+ return react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.css.bodyEmpty }, this.survey.emptySurveyText);
5125
5188
  };
5126
5189
  Survey.prototype.createSurvey = function (newProps) {
5127
5190
  if (!newProps)
@@ -5379,7 +5442,7 @@ var SurveyProgress = /** @class */ (function (_super) {
5379
5442
  var progressStyle = {
5380
5443
  width: this.progress + "%",
5381
5444
  };
5382
- return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.survey.getProgressCssClasses() },
5445
+ return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.survey.getProgressCssClasses(this.props.container) },
5383
5446
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { style: progressStyle, className: this.css.progressBar, role: "progressbar", "aria-valuemin": 0, "aria-valuemax": 100 },
5384
5447
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", { className: survey_core__WEBPACK_IMPORTED_MODULE_1__["SurveyProgressModel"].getProgressTextInBarCss(this.css) }, this.progressText)),
5385
5448
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", { className: survey_core__WEBPACK_IMPORTED_MODULE_1__["SurveyProgressModel"].getProgressTextUnderBarCss(this.css) }, this.progressText)));
@@ -5590,7 +5653,7 @@ _element_factory__WEBPACK_IMPORTED_MODULE_3__["ReactElementFactory"].Instance.re
5590
5653
  /*!*************************************!*\
5591
5654
  !*** ./src/react/reactquestion.tsx ***!
5592
5655
  \*************************************/
5593
- /*! exports provided: SurveyQuestion, SurveyElementErrors, SurveyQuestionAndErrorsWrapped, SurveyQuestionAndErrorsCell */
5656
+ /*! exports provided: SurveyQuestion, SurveyElementErrors, SurveyQuestionAndErrorsWrapped, SurveyQuestionAndErrorsCell, SurveyQuestionErrorCell */
5594
5657
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
5595
5658
 
5596
5659
  "use strict";
@@ -5599,16 +5662,15 @@ __webpack_require__.r(__webpack_exports__);
5599
5662
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SurveyElementErrors", function() { return SurveyElementErrors; });
5600
5663
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SurveyQuestionAndErrorsWrapped", function() { return SurveyQuestionAndErrorsWrapped; });
5601
5664
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SurveyQuestionAndErrorsCell", function() { return SurveyQuestionAndErrorsCell; });
5665
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SurveyQuestionErrorCell", function() { return SurveyQuestionErrorCell; });
5602
5666
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
5603
5667
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
5604
- /* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! survey-core */ "survey-core");
5605
- /* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(survey_core__WEBPACK_IMPORTED_MODULE_1__);
5606
- /* harmony import */ var _reactsurveymodel__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./reactsurveymodel */ "./src/react/reactsurveymodel.tsx");
5607
- /* harmony import */ var _element_factory__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./element-factory */ "./src/react/element-factory.tsx");
5608
- /* harmony import */ var _reactquestion_element__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./reactquestion_element */ "./src/react/reactquestion_element.tsx");
5609
- /* harmony import */ var _reactquestion_comment__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./reactquestion_comment */ "./src/react/reactquestion_comment.tsx");
5610
- /* harmony import */ var _custom_widget__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./custom-widget */ "./src/react/custom-widget.tsx");
5611
- /* harmony import */ var _element_header__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./element-header */ "./src/react/element-header.tsx");
5668
+ /* harmony import */ var _reactsurveymodel__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./reactsurveymodel */ "./src/react/reactsurveymodel.tsx");
5669
+ /* harmony import */ var _element_factory__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./element-factory */ "./src/react/element-factory.tsx");
5670
+ /* harmony import */ var _reactquestion_element__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./reactquestion_element */ "./src/react/reactquestion_element.tsx");
5671
+ /* harmony import */ var _reactquestion_comment__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./reactquestion_comment */ "./src/react/reactquestion_comment.tsx");
5672
+ /* harmony import */ var _custom_widget__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./custom-widget */ "./src/react/custom-widget.tsx");
5673
+ /* harmony import */ var _element_header__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./element-header */ "./src/react/element-header.tsx");
5612
5674
  var __extends = (undefined && undefined.__extends) || (function () {
5613
5675
  var extendStatics = function (d, b) {
5614
5676
  extendStatics = Object.setPrototypeOf ||
@@ -5631,7 +5693,6 @@ var __extends = (undefined && undefined.__extends) || (function () {
5631
5693
 
5632
5694
 
5633
5695
 
5634
-
5635
5696
  var SurveyQuestion = /** @class */ (function (_super) {
5636
5697
  __extends(SurveyQuestion, _super);
5637
5698
  function SurveyQuestion(props) {
@@ -5647,7 +5708,7 @@ var SurveyQuestion = /** @class */ (function (_super) {
5647
5708
  if (!customWidget) {
5648
5709
  return creator.createQuestionElement(question);
5649
5710
  }
5650
- return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_custom_widget__WEBPACK_IMPORTED_MODULE_6__["SurveyCustomWidget"], { creator: creator, question: question });
5711
+ return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_custom_widget__WEBPACK_IMPORTED_MODULE_5__["SurveyCustomWidget"], { creator: creator, question: question });
5651
5712
  };
5652
5713
  SurveyQuestion.prototype.getStateElement = function () {
5653
5714
  return this.question;
@@ -5725,9 +5786,6 @@ var SurveyQuestion = /** @class */ (function (_super) {
5725
5786
  ? this.renderErrors(cssClasses, "bottom")
5726
5787
  : null;
5727
5788
  var comment = question && question.hasComment ? this.renderComment(cssClasses) : null;
5728
- var errorsTooltip = this.question.isErrorsModeTooltip
5729
- ? this.renderErrors(cssClasses, "tooltip")
5730
- : null;
5731
5789
  var descriptionUnderInput = question.hasDescriptionUnderInput
5732
5790
  ? this.renderDescription()
5733
5791
  : null;
@@ -5736,7 +5794,6 @@ var SurveyQuestion = /** @class */ (function (_super) {
5736
5794
  questionRender,
5737
5795
  comment,
5738
5796
  errorsBottom,
5739
- errorsTooltip,
5740
5797
  descriptionUnderInput));
5741
5798
  };
5742
5799
  SurveyQuestion.prototype.renderElement = function () {
@@ -5765,7 +5822,7 @@ var SurveyQuestion = /** @class */ (function (_super) {
5765
5822
  var survey = this.question.survey;
5766
5823
  var wrapper = null;
5767
5824
  if (survey) {
5768
- wrapper = _reactsurveymodel__WEBPACK_IMPORTED_MODULE_2__["ReactSurveyElementsWrapper"].wrapElement(survey, element, this.question);
5825
+ wrapper = _reactsurveymodel__WEBPACK_IMPORTED_MODULE_1__["ReactSurveyElementsWrapper"].wrapElement(survey, element, this.question);
5769
5826
  }
5770
5827
  return wrapper !== null && wrapper !== void 0 ? wrapper : element;
5771
5828
  };
@@ -5773,7 +5830,7 @@ var SurveyQuestion = /** @class */ (function (_super) {
5773
5830
  var survey = this.question.survey;
5774
5831
  var wrapper = null;
5775
5832
  if (survey) {
5776
- wrapper = _reactsurveymodel__WEBPACK_IMPORTED_MODULE_2__["ReactSurveyElementsWrapper"].wrapQuestionContent(survey, element, this.question);
5833
+ wrapper = _reactsurveymodel__WEBPACK_IMPORTED_MODULE_1__["ReactSurveyElementsWrapper"].wrapQuestionContent(survey, element, this.question);
5777
5834
  }
5778
5835
  return wrapper !== null && wrapper !== void 0 ? wrapper : element;
5779
5836
  };
@@ -5781,24 +5838,24 @@ var SurveyQuestion = /** @class */ (function (_super) {
5781
5838
  return SurveyQuestion.renderQuestionBody(this.creator, this.question);
5782
5839
  };
5783
5840
  SurveyQuestion.prototype.renderDescription = function () {
5784
- return _reactquestion_element__WEBPACK_IMPORTED_MODULE_4__["SurveyElementBase"].renderQuestionDescription(this.question);
5841
+ return _reactquestion_element__WEBPACK_IMPORTED_MODULE_3__["SurveyElementBase"].renderQuestionDescription(this.question);
5785
5842
  };
5786
5843
  SurveyQuestion.prototype.renderComment = function (cssClasses) {
5787
- var commentText = _reactquestion_element__WEBPACK_IMPORTED_MODULE_4__["SurveyElementBase"].renderLocString(this.question.locCommentText);
5844
+ var commentText = _reactquestion_element__WEBPACK_IMPORTED_MODULE_3__["SurveyElementBase"].renderLocString(this.question.locCommentText);
5788
5845
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.question.getCommentAreaCss() },
5789
5846
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", null, commentText),
5790
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_reactquestion_comment__WEBPACK_IMPORTED_MODULE_5__["SurveyQuestionCommentItem"], { question: this.question, cssClasses: cssClasses, otherCss: cssClasses.other, isDisplayMode: this.question.isInputReadOnly })));
5847
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_reactquestion_comment__WEBPACK_IMPORTED_MODULE_4__["SurveyQuestionCommentItem"], { question: this.question, cssClasses: cssClasses, otherCss: cssClasses.other, isDisplayMode: this.question.isInputReadOnly })));
5791
5848
  };
5792
5849
  SurveyQuestion.prototype.renderHeader = function (question) {
5793
- return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_element_header__WEBPACK_IMPORTED_MODULE_7__["SurveyElementHeader"], { element: question });
5850
+ return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_element_header__WEBPACK_IMPORTED_MODULE_6__["SurveyElementHeader"], { element: question });
5794
5851
  };
5795
5852
  SurveyQuestion.prototype.renderErrors = function (cssClasses, location) {
5796
5853
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"](SurveyElementErrors, { element: this.question, cssClasses: cssClasses, creator: this.creator, location: location, id: this.question.id + "_errors" }));
5797
5854
  };
5798
5855
  return SurveyQuestion;
5799
- }(_reactquestion_element__WEBPACK_IMPORTED_MODULE_4__["SurveyElementBase"]));
5856
+ }(_reactquestion_element__WEBPACK_IMPORTED_MODULE_3__["SurveyElementBase"]));
5800
5857
 
5801
- _element_factory__WEBPACK_IMPORTED_MODULE_3__["ReactElementFactory"].Instance.registerElement("question", function (props) {
5858
+ _element_factory__WEBPACK_IMPORTED_MODULE_2__["ReactElementFactory"].Instance.registerElement("question", function (props) {
5802
5859
  return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](SurveyQuestion, props);
5803
5860
  });
5804
5861
  var SurveyElementErrors = /** @class */ (function (_super) {
@@ -5806,7 +5863,6 @@ var SurveyElementErrors = /** @class */ (function (_super) {
5806
5863
  function SurveyElementErrors(props) {
5807
5864
  var _this = _super.call(this, props) || this;
5808
5865
  _this.state = _this.getState();
5809
- _this.tooltipRef = react__WEBPACK_IMPORTED_MODULE_0__["createRef"]();
5810
5866
  return _this;
5811
5867
  }
5812
5868
  Object.defineProperty(SurveyElementErrors.prototype, "id", {
@@ -5844,26 +5900,7 @@ var SurveyElementErrors = /** @class */ (function (_super) {
5844
5900
  SurveyElementErrors.prototype.canRender = function () {
5845
5901
  return !!this.element && this.element.hasVisibleErrors;
5846
5902
  };
5847
- SurveyElementErrors.prototype.componentDidUpdate = function (prevProps, prevState) {
5848
- _super.prototype.componentDidUpdate.call(this, prevProps, prevState);
5849
- if (this.props.location == "tooltip") {
5850
- if (this.tooltipRef.current && !this.tooltipManager) {
5851
- this.tooltipManager = new survey_core__WEBPACK_IMPORTED_MODULE_1__["TooltipManager"](this.tooltipRef.current);
5852
- }
5853
- if (!!this.tooltipManager && !this.tooltipRef.current) {
5854
- this.disposeTooltipManager();
5855
- }
5856
- }
5857
- };
5858
5903
  SurveyElementErrors.prototype.componentWillUnmount = function () {
5859
- if (!!this.tooltipManager) {
5860
- this.disposeTooltipManager();
5861
- }
5862
- };
5863
- SurveyElementErrors.prototype.disposeTooltipManager = function () {
5864
- var _a;
5865
- (_a = this.tooltipManager) === null || _a === void 0 ? void 0 : _a.dispose();
5866
- this.tooltipManager = undefined;
5867
5904
  };
5868
5905
  SurveyElementErrors.prototype.renderElement = function () {
5869
5906
  var errors = [];
@@ -5871,10 +5908,10 @@ var SurveyElementErrors = /** @class */ (function (_super) {
5871
5908
  var key = "error" + i;
5872
5909
  errors.push(this.creator.renderError(key, this.element.errors[i], this.cssClasses));
5873
5910
  }
5874
- return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { role: "alert", "aria-live": "polite", className: this.element.cssError, id: this.id, ref: this.tooltipRef }, errors));
5911
+ return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { role: "alert", "aria-live": "polite", className: this.element.cssError, id: this.id }, errors));
5875
5912
  };
5876
5913
  return SurveyElementErrors;
5877
- }(_reactquestion_element__WEBPACK_IMPORTED_MODULE_4__["ReactSurveyElement"]));
5914
+ }(_reactquestion_element__WEBPACK_IMPORTED_MODULE_3__["ReactSurveyElement"]));
5878
5915
 
5879
5916
  var SurveyQuestionAndErrorsWrapped = /** @class */ (function (_super) {
5880
5917
  __extends(SurveyQuestionAndErrorsWrapped, _super);
@@ -5920,23 +5957,9 @@ var SurveyQuestionAndErrorsWrapped = /** @class */ (function (_super) {
5920
5957
  SurveyQuestionAndErrorsWrapped.prototype.canRender = function () {
5921
5958
  return !!this.question;
5922
5959
  };
5923
- SurveyQuestionAndErrorsWrapped.prototype.renderErrors = function (errorsLocation) {
5924
- return this.getShowErrors() ? (react__WEBPACK_IMPORTED_MODULE_0__["createElement"](SurveyElementErrors, { element: this.question, cssClasses: this.cssClasses, creator: this.creator, location: errorsLocation })) : null;
5925
- };
5926
5960
  SurveyQuestionAndErrorsWrapped.prototype.renderContent = function () {
5927
- var errorsLocation = this.creator.questionErrorLocation();
5928
- var errors = this.renderErrors(errorsLocation);
5929
- var errorsTop = this.question.showErrorOnTop
5930
- ? errors
5931
- : null;
5932
- var errorsBottom = this.question.showErrorOnBottom
5933
- ? errors
5934
- : null;
5935
5961
  var renderedQuestion = this.renderQuestion();
5936
- return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null,
5937
- errorsTop,
5938
- renderedQuestion,
5939
- errorsBottom));
5962
+ return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null, renderedQuestion));
5940
5963
  };
5941
5964
  SurveyQuestionAndErrorsWrapped.prototype.getShowErrors = function () {
5942
5965
  return this.question.isVisible;
@@ -5945,7 +5968,7 @@ var SurveyQuestionAndErrorsWrapped = /** @class */ (function (_super) {
5945
5968
  return SurveyQuestion.renderQuestionBody(this.creator, this.question);
5946
5969
  };
5947
5970
  return SurveyQuestionAndErrorsWrapped;
5948
- }(_reactquestion_element__WEBPACK_IMPORTED_MODULE_4__["ReactSurveyElement"]));
5971
+ }(_reactquestion_element__WEBPACK_IMPORTED_MODULE_3__["ReactSurveyElement"]));
5949
5972
 
5950
5973
  var SurveyQuestionAndErrorsCell = /** @class */ (function (_super) {
5951
5974
  __extends(SurveyQuestionAndErrorsCell, _super);
@@ -5982,13 +6005,63 @@ var SurveyQuestionAndErrorsCell = /** @class */ (function (_super) {
5982
6005
  var survey = this.question.survey;
5983
6006
  var wrapper = null;
5984
6007
  if (survey) {
5985
- wrapper = _reactsurveymodel__WEBPACK_IMPORTED_MODULE_2__["ReactSurveyElementsWrapper"].wrapMatrixCell(survey, element, cell, this.props.reason);
6008
+ wrapper = _reactsurveymodel__WEBPACK_IMPORTED_MODULE_1__["ReactSurveyElementsWrapper"].wrapMatrixCell(survey, element, cell, this.props.reason);
5986
6009
  }
5987
6010
  return wrapper !== null && wrapper !== void 0 ? wrapper : element;
5988
6011
  };
5989
6012
  return SurveyQuestionAndErrorsCell;
5990
6013
  }(SurveyQuestionAndErrorsWrapped));
5991
6014
 
6015
+ var SurveyQuestionErrorCell = /** @class */ (function (_super) {
6016
+ __extends(SurveyQuestionErrorCell, _super);
6017
+ function SurveyQuestionErrorCell(props) {
6018
+ var _this = _super.call(this, props) || this;
6019
+ _this.state = {
6020
+ changed: 0
6021
+ };
6022
+ if (_this.question) {
6023
+ _this.registerCallback(_this.question);
6024
+ }
6025
+ return _this;
6026
+ }
6027
+ Object.defineProperty(SurveyQuestionErrorCell.prototype, "question", {
6028
+ get: function () {
6029
+ return this.props.question;
6030
+ },
6031
+ enumerable: false,
6032
+ configurable: true
6033
+ });
6034
+ SurveyQuestionErrorCell.prototype.update = function () {
6035
+ this.setState({ changed: this.state.changed + 1 });
6036
+ };
6037
+ SurveyQuestionErrorCell.prototype.registerCallback = function (question) {
6038
+ var _this = this;
6039
+ question.registerFunctionOnPropertyValueChanged("errors", function () {
6040
+ _this.update();
6041
+ }, "__reactSubscription");
6042
+ };
6043
+ SurveyQuestionErrorCell.prototype.unRegisterCallback = function (question) {
6044
+ question.unRegisterFunctionOnPropertyValueChanged("errors", "__reactSubscription");
6045
+ };
6046
+ SurveyQuestionErrorCell.prototype.componentDidUpdate = function (prevProps) {
6047
+ if (prevProps.question && prevProps.question !== this.question) {
6048
+ this.unRegisterCallback(prevProps.cell);
6049
+ }
6050
+ if (this.question) {
6051
+ this.registerCallback(this.question);
6052
+ }
6053
+ };
6054
+ SurveyQuestionErrorCell.prototype.componentWillUnmount = function () {
6055
+ if (this.question) {
6056
+ this.unRegisterCallback(this.question);
6057
+ }
6058
+ };
6059
+ SurveyQuestionErrorCell.prototype.render = function () {
6060
+ return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](SurveyElementErrors, { element: this.question, creator: this.props.creator, cssClasses: this.question.cssClasses });
6061
+ };
6062
+ return SurveyQuestionErrorCell;
6063
+ }(react__WEBPACK_IMPORTED_MODULE_0__["Component"]));
6064
+
5992
6065
 
5993
6066
 
5994
6067
  /***/ }),
@@ -7206,6 +7279,7 @@ __webpack_require__.r(__webpack_exports__);
7206
7279
  /* harmony import */ var _reactquestion_element__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./reactquestion_element */ "./src/react/reactquestion_element.tsx");
7207
7280
  /* harmony import */ var _reactquestion_factory__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./reactquestion_factory */ "./src/react/reactquestion_factory.tsx");
7208
7281
  /* harmony import */ var _reactSurvey__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./reactSurvey */ "./src/react/reactSurvey.tsx");
7282
+ /* harmony import */ var _components_loading_indicator__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./components/loading-indicator */ "./src/react/components/loading-indicator.tsx");
7209
7283
  var __extends = (undefined && undefined.__extends) || (function () {
7210
7284
  var extendStatics = function (d, b) {
7211
7285
  extendStatics = Object.setPrototypeOf ||
@@ -7227,6 +7301,7 @@ var __extends = (undefined && undefined.__extends) || (function () {
7227
7301
 
7228
7302
 
7229
7303
 
7304
+
7230
7305
  var SurveyQuestionFile = /** @class */ (function (_super) {
7231
7306
  __extends(SurveyQuestionFile, _super);
7232
7307
  function SurveyQuestionFile(props) {
@@ -7239,13 +7314,16 @@ var SurveyQuestionFile = /** @class */ (function (_super) {
7239
7314
  enumerable: false,
7240
7315
  configurable: true
7241
7316
  });
7317
+ SurveyQuestionFile.prototype.renderLoadingIndicator = function () {
7318
+ return this.question.showLoadingIndicator ? react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_components_loading_indicator__WEBPACK_IMPORTED_MODULE_6__["LoadingIndicatorComponent"], null) : null;
7319
+ };
7242
7320
  SurveyQuestionFile.prototype.renderElement = function () {
7243
7321
  var _this = this;
7244
7322
  var preview = this.renderPreview();
7245
7323
  var fileInput = null;
7246
7324
  var fileDecorator = this.renderFileDecorator();
7247
- var clearButton = this.renderClearButton(this.question.showRemoveButton);
7248
- var clearButtonBottom = this.renderClearButton(this.question.showRemoveButtonBottom);
7325
+ var clearButton = this.question.showRemoveButton ? this.renderClearButton(this.question.cssClasses.removeButton) : null;
7326
+ var clearButtonBottom = this.question.showRemoveButtonBottom ? this.renderClearButton(this.question.cssClasses.removeButtonBottom) : null;
7249
7327
  var mobileFileNavigator = this.question.mobileFileNavigatorVisible ? (react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_components_action_bar_action_bar__WEBPACK_IMPORTED_MODULE_1__["SurveyActionBar"], { model: this.question.mobileFileNavigator })) : null;
7250
7328
  fileInput = (this.isDisplayMode ?
7251
7329
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("input", { type: "file", disabled: this.isDisplayMode, className: !this.isDisplayMode ? this.question.cssClasses.fileInput : this.question.getReadOnlyFileCss(), id: this.question.inputId, ref: function (input) { return (_this.setControl(input)); }, style: !this.isDisplayMode ? {} : { color: "transparent" }, onChange: !this.isDisplayMode ? this.question.doChange : (function () { }), multiple: this.question.allowMultiple, placeholder: this.question.title, accept: this.question.acceptedTypes })
@@ -7261,23 +7339,31 @@ var SurveyQuestionFile = /** @class */ (function (_super) {
7261
7339
  mobileFileNavigator)));
7262
7340
  };
7263
7341
  SurveyQuestionFile.prototype.renderFileDecorator = function () {
7264
- var questionCss = this.question.cssClasses;
7342
+ var loadingIndicator = this.renderLoadingIndicator();
7343
+ var chooseButton = this.renderChooseButton();
7344
+ return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.question.getFileDecoratorCss() },
7345
+ loadingIndicator,
7346
+ chooseButton));
7347
+ };
7348
+ SurveyQuestionFile.prototype.renderChooseButton = function () {
7265
7349
  var noFileChosen = null;
7266
7350
  var chooseFile = null;
7351
+ if (!this.question.showChooseButton)
7352
+ return null;
7267
7353
  chooseFile = this.question.isReadOnly ? null : Object(_reactSurvey__WEBPACK_IMPORTED_MODULE_5__["attachKey2click"])(react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("label", { role: "button", tabIndex: 0, className: this.question.getChooseFileCss(), htmlFor: this.question.inputId, "aria-label": this.question.chooseButtonText },
7268
7354
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", null, this.question.chooseButtonText),
7269
7355
  (!!this.question.cssClasses.chooseFileIconId) ? react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_components_svg_icon_svg_icon__WEBPACK_IMPORTED_MODULE_2__["SvgIcon"], { title: this.question.chooseButtonText, iconName: this.question.cssClasses.chooseFileIconId, size: "auto" }) : null));
7270
7356
  if (this.question.isEmpty()) {
7271
7357
  noFileChosen = (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", { className: this.question.cssClasses.noFileChosen }, this.question.noFileChosenCaption));
7272
7358
  }
7273
- return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.question.getFileDecoratorCss() },
7359
+ return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null,
7274
7360
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", { className: this.question.cssClasses.dragAreaPlaceholder }, this.question.renderedPlaceholder),
7275
7361
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.question.cssClasses.wrapper },
7276
7362
  chooseFile,
7277
7363
  noFileChosen)));
7278
7364
  };
7279
7365
  SurveyQuestionFile.prototype.renderClearButton = function (className) {
7280
- return className ? (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("button", { type: "button", onClick: this.question.doClean, className: className },
7366
+ return !this.question.isUploading ? (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("button", { type: "button", onClick: this.question.doClean, className: className },
7281
7367
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", null, this.question.clearButtonCaption),
7282
7368
  (!!this.question.cssClasses.removeButtonIconId) ? react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_components_svg_icon_svg_icon__WEBPACK_IMPORTED_MODULE_2__["SvgIcon"], { iconName: this.question.cssClasses.removeButtonIconId, size: "auto", title: this.question.clearButtonCaption }) : null)) : null;
7283
7369
  };
@@ -7292,7 +7378,7 @@ var SurveyQuestionFile = /** @class */ (function (_super) {
7292
7378
  };
7293
7379
  SurveyQuestionFile.prototype.renderPreview = function () {
7294
7380
  var _this = this;
7295
- if (!this.question.previewValue || !this.question.previewValue.length)
7381
+ if (!this.question.allowShowPreview)
7296
7382
  return null;
7297
7383
  var previews = this.question.previewValue.map(function (val, index) {
7298
7384
  if (!val)
@@ -7651,14 +7737,13 @@ _reactquestion_factory__WEBPACK_IMPORTED_MODULE_2__["ReactQuestionFactory"].Inst
7651
7737
  /*!********************************************************!*\
7652
7738
  !*** ./src/react/reactquestion_matrixdropdownbase.tsx ***!
7653
7739
  \********************************************************/
7654
- /*! exports provided: SurveyQuestionMatrixDropdownBase, SurveyQuestionMatrixDropdownCell, SurveyQuestionMatrixDropdownErrorCell */
7740
+ /*! exports provided: SurveyQuestionMatrixDropdownBase, SurveyQuestionMatrixDropdownCell */
7655
7741
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
7656
7742
 
7657
7743
  "use strict";
7658
7744
  __webpack_require__.r(__webpack_exports__);
7659
7745
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SurveyQuestionMatrixDropdownBase", function() { return SurveyQuestionMatrixDropdownBase; });
7660
7746
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SurveyQuestionMatrixDropdownCell", function() { return SurveyQuestionMatrixDropdownCell; });
7661
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SurveyQuestionMatrixDropdownErrorCell", function() { return SurveyQuestionMatrixDropdownErrorCell; });
7662
7747
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
7663
7748
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
7664
7749
  /* harmony import */ var _reactquestion_element__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./reactquestion_element */ "./src/react/reactquestion_element.tsx");
@@ -7869,7 +7954,7 @@ var SurveyQuestionMatrixDropdownBase = /** @class */ (function (_super) {
7869
7954
  }
7870
7955
  if (cell.isErrorsCell) {
7871
7956
  if (cell.isErrorsCell) {
7872
- return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"](SurveyQuestionMatrixDropdownErrorCell, { cell: cell, creator: this.creator }));
7957
+ return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_reactquestion__WEBPACK_IMPORTED_MODULE_2__["SurveyQuestionErrorCell"], { question: cell.question, creator: this.creator }));
7873
7958
  }
7874
7959
  }
7875
7960
  if (!cellContent)
@@ -8018,56 +8103,6 @@ var SurveyQuestionMatrixDropdownCell = /** @class */ (function (_super) {
8018
8103
  return SurveyQuestionMatrixDropdownCell;
8019
8104
  }(_reactquestion__WEBPACK_IMPORTED_MODULE_2__["SurveyQuestionAndErrorsCell"]));
8020
8105
 
8021
- var SurveyQuestionMatrixDropdownErrorCell = /** @class */ (function (_super) {
8022
- __extends(SurveyQuestionMatrixDropdownErrorCell, _super);
8023
- function SurveyQuestionMatrixDropdownErrorCell(props) {
8024
- var _this = _super.call(this, props) || this;
8025
- _this.state = {
8026
- changed: 0
8027
- };
8028
- if (_this.cell) {
8029
- _this.registerCallback(_this.cell);
8030
- }
8031
- return _this;
8032
- }
8033
- Object.defineProperty(SurveyQuestionMatrixDropdownErrorCell.prototype, "cell", {
8034
- get: function () {
8035
- return this.props.cell;
8036
- },
8037
- enumerable: false,
8038
- configurable: true
8039
- });
8040
- SurveyQuestionMatrixDropdownErrorCell.prototype.update = function () {
8041
- this.setState({ changed: this.state.changed + 1 });
8042
- };
8043
- SurveyQuestionMatrixDropdownErrorCell.prototype.registerCallback = function (cell) {
8044
- var _this = this;
8045
- cell.question.registerFunctionOnPropertyValueChanged("errors", function () {
8046
- _this.update();
8047
- }, "__reactSubscription");
8048
- };
8049
- SurveyQuestionMatrixDropdownErrorCell.prototype.unRegisterCallback = function (cell) {
8050
- cell.question.unRegisterFunctionOnPropertyValueChanged("errors", "__reactSubscription");
8051
- };
8052
- SurveyQuestionMatrixDropdownErrorCell.prototype.componentDidUpdate = function (prevProps) {
8053
- if (prevProps.cell && prevProps.cell !== this.cell) {
8054
- this.unRegisterCallback(prevProps.cell);
8055
- }
8056
- if (this.cell) {
8057
- this.registerCallback(this.cell);
8058
- }
8059
- };
8060
- SurveyQuestionMatrixDropdownErrorCell.prototype.componentWillUnmount = function () {
8061
- if (this.cell) {
8062
- this.unRegisterCallback(this.cell);
8063
- }
8064
- };
8065
- SurveyQuestionMatrixDropdownErrorCell.prototype.render = function () {
8066
- return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_reactquestion__WEBPACK_IMPORTED_MODULE_2__["SurveyElementErrors"], { element: this.cell.question, creator: this.props.creator, cssClasses: this.cell.question.cssClasses });
8067
- };
8068
- return SurveyQuestionMatrixDropdownErrorCell;
8069
- }(react__WEBPACK_IMPORTED_MODULE_0__["Component"]));
8070
-
8071
8106
 
8072
8107
 
8073
8108
  /***/ }),
@@ -8258,23 +8293,30 @@ var SurveyQuestionMultipleText = /** @class */ (function (_super) {
8258
8293
  var tableRows = this.question.getRows();
8259
8294
  var rows = [];
8260
8295
  for (var i = 0; i < tableRows.length; i++) {
8261
- rows.push(this.renderRow(i, tableRows[i], cssClasses));
8296
+ if (tableRows[i].isVisible) {
8297
+ rows.push(this.renderRow(i, tableRows[i].cells, cssClasses));
8298
+ }
8262
8299
  }
8263
8300
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("table", { className: cssClasses.root },
8264
8301
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("tbody", null, rows)));
8265
8302
  };
8266
- SurveyQuestionMultipleText.prototype.renderRow = function (rowIndex, items, cssClasses) {
8303
+ SurveyQuestionMultipleText.prototype.renderCell = function (cell, cssClasses, index) {
8304
+ var cellContent;
8305
+ var focusIn = function () { cell.item.focusIn(); };
8306
+ if (cell.isErrorsCell) {
8307
+ cellContent = react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_reactquestion__WEBPACK_IMPORTED_MODULE_2__["SurveyQuestionErrorCell"], { question: cell.item.editor, creator: this.creator });
8308
+ }
8309
+ else {
8310
+ cellContent = react__WEBPACK_IMPORTED_MODULE_0__["createElement"](SurveyMultipleTextItem, { question: this.question, item: cell.item, creator: this.creator, cssClasses: cssClasses });
8311
+ }
8312
+ return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("td", { key: "item" + index, className: cell.className, onFocus: focusIn }, cellContent));
8313
+ };
8314
+ SurveyQuestionMultipleText.prototype.renderRow = function (rowIndex, cells, cssClasses) {
8267
8315
  var key = "item" + rowIndex;
8268
8316
  var tds = [];
8269
- var _loop_1 = function (i) {
8270
- var item = items[i];
8271
- var focusIn = function () { item.focusIn(); };
8272
- tds.push(react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("td", { key: "item" + i, className: this_1.question.cssClasses.cell, onFocus: focusIn },
8273
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"](SurveyMultipleTextItem, { question: this_1.question, item: item, creator: this_1.creator, cssClasses: cssClasses })));
8274
- };
8275
- var this_1 = this;
8276
- for (var i = 0; i < items.length; i++) {
8277
- _loop_1(i);
8317
+ for (var i = 0; i < cells.length; i++) {
8318
+ var cell = cells[i];
8319
+ tds.push(this.renderCell(cell, cssClasses, i));
8278
8320
  }
8279
8321
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("tr", { key: key, className: cssClasses.row }, tds));
8280
8322
  };
@@ -8316,11 +8358,7 @@ var SurveyMultipleTextItem = /** @class */ (function (_super) {
8316
8358
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("label", { className: this.question.getItemLabelCss(item) },
8317
8359
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", { className: cssClasses.itemTitle },
8318
8360
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_components_title_title_content__WEBPACK_IMPORTED_MODULE_4__["TitleContent"], { element: item.editor, cssClasses: item.editor.cssClasses })),
8319
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"](SurveyMultipleTextItemEditor, { cssClasses: cssClasses, itemCss: this.question.getItemCss(), question: item.editor, creator: this.creator }),
8320
- this.renderItemTooltipError(item, cssClasses)));
8321
- };
8322
- SurveyMultipleTextItem.prototype.renderItemTooltipError = function (item, cssClasses) {
8323
- return this.item.editor.isErrorsModeTooltip ? (react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_reactquestion__WEBPACK_IMPORTED_MODULE_2__["SurveyElementErrors"], { element: item.editor, cssClasses: cssClasses, creator: this.creator, location: "tooltip" })) : null;
8361
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"](SurveyMultipleTextItemEditor, { cssClasses: cssClasses, itemCss: this.question.getItemCss(), question: item.editor, creator: this.creator })));
8324
8362
  };
8325
8363
  return SurveyMultipleTextItem;
8326
8364
  }(_reactquestion_element__WEBPACK_IMPORTED_MODULE_1__["ReactSurveyElement"]));