survey-react-ui 1.9.106 → 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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "survey-react-ui",
3
- "version": "1.9.106",
3
+ "version": "1.9.107",
4
4
  "description": "survey.js is a JavaScript Survey Library. It is a modern way to add a survey to your website. It uses JSON for survey metadata and results.",
5
5
  "keywords": [
6
6
  "Survey",
@@ -21,7 +21,7 @@
21
21
  },
22
22
  "typings": "survey-react-ui.d.ts",
23
23
  "dependencies": {
24
- "survey-core": "1.9.106",
24
+ "survey-core": "1.9.107",
25
25
  "react": "^16.5.0 || ^17.0.1 || ^18.1.0",
26
26
  "react-dom": "^16.5.0 || ^17.0.1 || ^18.1.0"
27
27
  }
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - Survey JavaScript library v1.9.106
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.106", "survey-react-ui");
699
+ Object(survey_core__WEBPACK_IMPORTED_MODULE_2__["checkLibraryVersion"])("" + "1.9.107", "survey-react-ui");
694
700
 
695
701
 
696
702
  /***/ }),
@@ -1715,6 +1721,52 @@ _element_factory__WEBPACK_IMPORTED_MODULE_2__["ReactElementFactory"].Instance.re
1715
1721
  });
1716
1722
 
1717
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
+
1718
1770
  /***/ }),
1719
1771
 
1720
1772
  /***/ "./src/react/components/matrix-actions/detail-button/detail-button.tsx":
@@ -7227,6 +7279,7 @@ __webpack_require__.r(__webpack_exports__);
7227
7279
  /* harmony import */ var _reactquestion_element__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./reactquestion_element */ "./src/react/reactquestion_element.tsx");
7228
7280
  /* harmony import */ var _reactquestion_factory__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./reactquestion_factory */ "./src/react/reactquestion_factory.tsx");
7229
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");
7230
7283
  var __extends = (undefined && undefined.__extends) || (function () {
7231
7284
  var extendStatics = function (d, b) {
7232
7285
  extendStatics = Object.setPrototypeOf ||
@@ -7248,6 +7301,7 @@ var __extends = (undefined && undefined.__extends) || (function () {
7248
7301
 
7249
7302
 
7250
7303
 
7304
+
7251
7305
  var SurveyQuestionFile = /** @class */ (function (_super) {
7252
7306
  __extends(SurveyQuestionFile, _super);
7253
7307
  function SurveyQuestionFile(props) {
@@ -7260,13 +7314,16 @@ var SurveyQuestionFile = /** @class */ (function (_super) {
7260
7314
  enumerable: false,
7261
7315
  configurable: true
7262
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
+ };
7263
7320
  SurveyQuestionFile.prototype.renderElement = function () {
7264
7321
  var _this = this;
7265
7322
  var preview = this.renderPreview();
7266
7323
  var fileInput = null;
7267
7324
  var fileDecorator = this.renderFileDecorator();
7268
- var clearButton = this.renderClearButton(this.question.showRemoveButton);
7269
- 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;
7270
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;
7271
7328
  fileInput = (this.isDisplayMode ?
7272
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 })
@@ -7282,23 +7339,31 @@ var SurveyQuestionFile = /** @class */ (function (_super) {
7282
7339
  mobileFileNavigator)));
7283
7340
  };
7284
7341
  SurveyQuestionFile.prototype.renderFileDecorator = function () {
7285
- 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 () {
7286
7349
  var noFileChosen = null;
7287
7350
  var chooseFile = null;
7351
+ if (!this.question.showChooseButton)
7352
+ return null;
7288
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 },
7289
7354
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", null, this.question.chooseButtonText),
7290
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));
7291
7356
  if (this.question.isEmpty()) {
7292
7357
  noFileChosen = (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", { className: this.question.cssClasses.noFileChosen }, this.question.noFileChosenCaption));
7293
7358
  }
7294
- 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,
7295
7360
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", { className: this.question.cssClasses.dragAreaPlaceholder }, this.question.renderedPlaceholder),
7296
7361
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.question.cssClasses.wrapper },
7297
7362
  chooseFile,
7298
7363
  noFileChosen)));
7299
7364
  };
7300
7365
  SurveyQuestionFile.prototype.renderClearButton = function (className) {
7301
- 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 },
7302
7367
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", null, this.question.clearButtonCaption),
7303
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;
7304
7369
  };
@@ -7313,7 +7378,7 @@ var SurveyQuestionFile = /** @class */ (function (_super) {
7313
7378
  };
7314
7379
  SurveyQuestionFile.prototype.renderPreview = function () {
7315
7380
  var _this = this;
7316
- if (!this.question.previewValue || !this.question.previewValue.length)
7381
+ if (!this.question.allowShowPreview)
7317
7382
  return null;
7318
7383
  var previews = this.question.previewValue.map(function (val, index) {
7319
7384
  if (!val)