survey-react-ui 1.9.113 → 1.9.115

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.113
2
+ * surveyjs - Survey JavaScript library v1.9.115
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
  */
@@ -727,9 +727,9 @@ var Base = /** @class */ (function () {
727
727
  Array.isArray(oldValue) &&
728
728
  !!this.arraysInfo &&
729
729
  (!val || Array.isArray(val))) {
730
- if (this.isTwoValueEquals(oldValue, val))
731
- return;
732
- this.setArrayPropertyDirectly(name, val);
730
+ if (!this.isTwoValueEquals(oldValue, val)) {
731
+ this.setArrayPropertyDirectly(name, val);
732
+ }
733
733
  }
734
734
  else {
735
735
  this.setPropertyValueDirectly(name, val);
@@ -1971,7 +1971,7 @@ __webpack_require__.r(__webpack_exports__);
1971
1971
  /*!***************************************!*\
1972
1972
  !*** ./src/entries/react-ui-model.ts ***!
1973
1973
  \***************************************/
1974
- /*! 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, SurveyFileChooseButton, SurveyFilePreview, SurveyQuestionMultipleText, SurveyQuestionRadiogroup, SurveyQuestionRadioItem, SurveyQuestionText, SurveyQuestionBoolean, SurveyQuestionBooleanCheckbox, SurveyQuestionBooleanRadio, SurveyQuestionEmpty, SurveyQuestionMatrixDropdownCell, SurveyQuestionMatrixDropdownBase, SurveyQuestionMatrixDropdown, SurveyQuestionMatrixDynamic, SurveyQuestionMatrixDynamicAddButton, SurveyQuestionPanelDynamic, SurveyProgress, SurveyProgressButtons, SurveyProgressToc, SurveyQuestionRating, SurveyQuestionRatingDropdown, SurveyQuestionExpression, PopupSurvey, SurveyWindow, ReactQuestionFactory, ReactElementFactory, SurveyQuestionImagePicker, SurveyQuestionImage, SurveyQuestionSignaturePad, SurveyQuestionButtonGroup, SurveyQuestionCustom, SurveyQuestionComposite, Popup, List, TitleActions, TitleElement, SurveyActionBar, LogoImage, SurveyHeader, SvgIcon, SurveyQuestionMatrixDynamicRemoveButton, SurveyQuestionMatrixDetailButton, SurveyQuestionMatrixDynamicDragDropIcon, SurveyQuestionPanelDynamicAddButton, SurveyQuestionPanelDynamicRemoveButton, SurveyQuestionPanelDynamicPrevButton, SurveyQuestionPanelDynamicNextButton, SurveyQuestionPanelDynamicProgressText, SurveyNavigationButton, MatrixRow, Skeleton, NotifierComponent, ComponentsContainer, CharacterCounterComponent, CoverCellComponent, CoverComponent, SurveyLocStringViewer, SurveyLocStringEditor, LoadingIndicatorComponent */
1974
+ /*! 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, SurveyFileChooseButton, SurveyFilePreview, SurveyQuestionMultipleText, SurveyQuestionRadiogroup, SurveyQuestionRadioItem, SurveyQuestionText, SurveyQuestionBoolean, SurveyQuestionBooleanCheckbox, SurveyQuestionBooleanRadio, SurveyQuestionEmpty, SurveyQuestionMatrixDropdownCell, SurveyQuestionMatrixDropdownBase, SurveyQuestionMatrixDropdown, SurveyQuestionMatrixDynamic, SurveyQuestionMatrixDynamicAddButton, SurveyQuestionPanelDynamic, SurveyProgress, SurveyProgressButtons, SurveyProgressToc, SurveyQuestionRating, SurveyQuestionRatingDropdown, SurveyQuestionExpression, PopupSurvey, SurveyWindow, ReactQuestionFactory, ReactElementFactory, SurveyQuestionImagePicker, SurveyQuestionImage, SurveyQuestionSignaturePad, SurveyQuestionButtonGroup, SurveyQuestionCustom, SurveyQuestionComposite, Popup, List, TitleActions, TitleElement, SurveyActionBar, LogoImage, SurveyHeader, SvgIcon, SurveyQuestionMatrixDynamicRemoveButton, SurveyQuestionMatrixDetailButton, SurveyQuestionMatrixDynamicDragDropIcon, SurveyQuestionPanelDynamicAddButton, SurveyQuestionPanelDynamicRemoveButton, SurveyQuestionPanelDynamicPrevButton, SurveyQuestionPanelDynamicNextButton, SurveyQuestionPanelDynamicProgressText, SurveyNavigationButton, MatrixRow, Skeleton, NotifierComponent, ComponentsContainer, CharacterCounterComponent, HeaderMobile, HeaderCell, Header, SurveyLocStringViewer, SurveyLocStringEditor, LoadingIndicatorComponent */
1975
1975
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
1976
1976
 
1977
1977
  "use strict";
@@ -2229,10 +2229,12 @@ __webpack_require__.r(__webpack_exports__);
2229
2229
  /* harmony import */ var _react_components_character_counter__WEBPACK_IMPORTED_MODULE_74__ = __webpack_require__(/*! ../react/components/character-counter */ "./src/react/components/character-counter.tsx");
2230
2230
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "CharacterCounterComponent", function() { return _react_components_character_counter__WEBPACK_IMPORTED_MODULE_74__["CharacterCounterComponent"]; });
2231
2231
 
2232
- /* harmony import */ var _react_components_cover__WEBPACK_IMPORTED_MODULE_75__ = __webpack_require__(/*! ../react/components/cover */ "./src/react/components/cover.tsx");
2233
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "CoverCellComponent", function() { return _react_components_cover__WEBPACK_IMPORTED_MODULE_75__["CoverCellComponent"]; });
2232
+ /* harmony import */ var _react_components_header__WEBPACK_IMPORTED_MODULE_75__ = __webpack_require__(/*! ../react/components/header */ "./src/react/components/header.tsx");
2233
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "HeaderMobile", function() { return _react_components_header__WEBPACK_IMPORTED_MODULE_75__["HeaderMobile"]; });
2234
+
2235
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "HeaderCell", function() { return _react_components_header__WEBPACK_IMPORTED_MODULE_75__["HeaderCell"]; });
2234
2236
 
2235
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "CoverComponent", function() { return _react_components_cover__WEBPACK_IMPORTED_MODULE_75__["CoverComponent"]; });
2237
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Header", function() { return _react_components_header__WEBPACK_IMPORTED_MODULE_75__["Header"]; });
2236
2238
 
2237
2239
  /* harmony import */ var _react_string_viewer__WEBPACK_IMPORTED_MODULE_76__ = __webpack_require__(/*! ../react/string-viewer */ "./src/react/string-viewer.tsx");
2238
2240
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyLocStringViewer", function() { return _react_string_viewer__WEBPACK_IMPORTED_MODULE_76__["SurveyLocStringViewer"]; });
@@ -2333,7 +2335,7 @@ __webpack_require__.r(__webpack_exports__);
2333
2335
  /*!*********************************!*\
2334
2336
  !*** ./src/entries/react-ui.ts ***!
2335
2337
  \*********************************/
2336
- /*! 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, SurveyFileChooseButton, SurveyFilePreview, SurveyQuestionMultipleText, SurveyQuestionRadiogroup, SurveyQuestionRadioItem, SurveyQuestionText, SurveyQuestionBoolean, SurveyQuestionBooleanCheckbox, SurveyQuestionBooleanRadio, SurveyQuestionEmpty, SurveyQuestionMatrixDropdownCell, SurveyQuestionMatrixDropdownBase, SurveyQuestionMatrixDropdown, SurveyQuestionMatrixDynamic, SurveyQuestionMatrixDynamicAddButton, SurveyQuestionPanelDynamic, SurveyProgress, SurveyProgressButtons, SurveyProgressToc, SurveyQuestionRating, SurveyQuestionRatingDropdown, SurveyQuestionExpression, PopupSurvey, SurveyWindow, ReactQuestionFactory, ReactElementFactory, SurveyQuestionImagePicker, SurveyQuestionImage, SurveyQuestionSignaturePad, SurveyQuestionButtonGroup, SurveyQuestionCustom, SurveyQuestionComposite, Popup, List, TitleActions, TitleElement, SurveyActionBar, LogoImage, SurveyHeader, SvgIcon, SurveyQuestionMatrixDynamicRemoveButton, SurveyQuestionMatrixDetailButton, SurveyQuestionMatrixDynamicDragDropIcon, SurveyQuestionPanelDynamicAddButton, SurveyQuestionPanelDynamicRemoveButton, SurveyQuestionPanelDynamicPrevButton, SurveyQuestionPanelDynamicNextButton, SurveyQuestionPanelDynamicProgressText, SurveyNavigationButton, MatrixRow, Skeleton, NotifierComponent, ComponentsContainer, CharacterCounterComponent, CoverCellComponent, CoverComponent, SurveyLocStringViewer, SurveyLocStringEditor, LoadingIndicatorComponent, SurveyModel, SurveyWindowModel, settings, surveyLocalization, surveyStrings, Model, ResponsivityManager, VerticalResponsivityManager, unwrap */
2338
+ /*! 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, SurveyFileChooseButton, SurveyFilePreview, SurveyQuestionMultipleText, SurveyQuestionRadiogroup, SurveyQuestionRadioItem, SurveyQuestionText, SurveyQuestionBoolean, SurveyQuestionBooleanCheckbox, SurveyQuestionBooleanRadio, SurveyQuestionEmpty, SurveyQuestionMatrixDropdownCell, SurveyQuestionMatrixDropdownBase, SurveyQuestionMatrixDropdown, SurveyQuestionMatrixDynamic, SurveyQuestionMatrixDynamicAddButton, SurveyQuestionPanelDynamic, SurveyProgress, SurveyProgressButtons, SurveyProgressToc, SurveyQuestionRating, SurveyQuestionRatingDropdown, SurveyQuestionExpression, PopupSurvey, SurveyWindow, ReactQuestionFactory, ReactElementFactory, SurveyQuestionImagePicker, SurveyQuestionImage, SurveyQuestionSignaturePad, SurveyQuestionButtonGroup, SurveyQuestionCustom, SurveyQuestionComposite, Popup, List, TitleActions, TitleElement, SurveyActionBar, LogoImage, SurveyHeader, SvgIcon, SurveyQuestionMatrixDynamicRemoveButton, SurveyQuestionMatrixDetailButton, SurveyQuestionMatrixDynamicDragDropIcon, SurveyQuestionPanelDynamicAddButton, SurveyQuestionPanelDynamicRemoveButton, SurveyQuestionPanelDynamicPrevButton, SurveyQuestionPanelDynamicNextButton, SurveyQuestionPanelDynamicProgressText, SurveyNavigationButton, MatrixRow, Skeleton, NotifierComponent, ComponentsContainer, CharacterCounterComponent, HeaderMobile, HeaderCell, Header, SurveyLocStringViewer, SurveyLocStringEditor, LoadingIndicatorComponent, SurveyModel, SurveyWindowModel, settings, surveyLocalization, surveyStrings, Model, ResponsivityManager, VerticalResponsivityManager, unwrap */
2337
2339
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
2338
2340
 
2339
2341
  "use strict";
@@ -2517,9 +2519,11 @@ __webpack_require__.r(__webpack_exports__);
2517
2519
 
2518
2520
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "CharacterCounterComponent", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_0__["CharacterCounterComponent"]; });
2519
2521
 
2520
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "CoverCellComponent", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_0__["CoverCellComponent"]; });
2522
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "HeaderMobile", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_0__["HeaderMobile"]; });
2521
2523
 
2522
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "CoverComponent", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_0__["CoverComponent"]; });
2524
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "HeaderCell", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_0__["HeaderCell"]; });
2525
+
2526
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Header", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_0__["Header"]; });
2523
2527
 
2524
2528
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyLocStringViewer", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_0__["SurveyLocStringViewer"]; });
2525
2529
 
@@ -2556,7 +2560,7 @@ __webpack_require__.r(__webpack_exports__);
2556
2560
 
2557
2561
 
2558
2562
 
2559
- Object(survey_core__WEBPACK_IMPORTED_MODULE_2__["checkLibraryVersion"])("" + "1.9.113", "survey-react-ui");
2563
+ Object(survey_core__WEBPACK_IMPORTED_MODULE_2__["checkLibraryVersion"])("" + "1.9.115", "survey-react-ui");
2560
2564
 
2561
2565
 
2562
2566
  /***/ }),
@@ -5801,6 +5805,15 @@ var UnaryOperand = /** @class */ (function (_super) {
5801
5805
  var uOp = op;
5802
5806
  return uOp.operator == this.operator && this.areOperatorsEquals(this.expression, uOp.expression);
5803
5807
  };
5808
+ UnaryOperand.prototype.hasFunction = function () {
5809
+ return this.expression.hasFunction();
5810
+ };
5811
+ UnaryOperand.prototype.hasAsyncFunction = function () {
5812
+ return this.expression.hasAsyncFunction();
5813
+ };
5814
+ UnaryOperand.prototype.addToAsyncList = function (list) {
5815
+ this.expression.addToAsyncList(list);
5816
+ };
5804
5817
  UnaryOperand.prototype.evaluate = function (processValue) {
5805
5818
  var value = this.expression.evaluate(processValue);
5806
5819
  return this.consumer.call(this, value);
@@ -7191,7 +7204,7 @@ if (!String.prototype["format"]) {
7191
7204
  /*!***************************!*\
7192
7205
  !*** ./src/jsonobject.ts ***!
7193
7206
  \***************************/
7194
- /*! exports provided: property, propertyArray, JsonObjectProperty, CustomPropertiesCollection, JsonMetadataClass, JsonMetadata, JsonError, JsonUnknownPropertyError, JsonMissingTypeErrorBase, JsonMissingTypeError, JsonIncorrectTypeError, JsonRequiredPropertyError, JsonObject, Serializer */
7207
+ /*! exports provided: property, propertyArray, JsonObjectProperty, CustomPropertiesCollection, JsonMetadataClass, JsonMetadata, JsonError, JsonUnknownPropertyError, JsonMissingTypeErrorBase, JsonMissingTypeError, JsonIncorrectTypeError, JsonRequiredPropertyError, JsonRequiredArrayPropertyError, JsonObject, Serializer */
7195
7208
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
7196
7209
 
7197
7210
  "use strict";
@@ -7208,6 +7221,7 @@ __webpack_require__.r(__webpack_exports__);
7208
7221
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "JsonMissingTypeError", function() { return JsonMissingTypeError; });
7209
7222
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "JsonIncorrectTypeError", function() { return JsonIncorrectTypeError; });
7210
7223
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "JsonRequiredPropertyError", function() { return JsonRequiredPropertyError; });
7224
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "JsonRequiredArrayPropertyError", function() { return JsonRequiredArrayPropertyError; });
7211
7225
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "JsonObject", function() { return JsonObject; });
7212
7226
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Serializer", function() { return Serializer; });
7213
7227
  /* harmony import */ var _surveyStrings__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./surveyStrings */ "./src/surveyStrings.ts");
@@ -7239,7 +7253,11 @@ var __spreadArray = (undefined && undefined.__spreadArray) || function (to, from
7239
7253
  function ensureLocString(target, options, key) {
7240
7254
  var locString = target.getLocalizableString(key);
7241
7255
  if (!locString) {
7242
- locString = target.createLocalizableString(key, target, true);
7256
+ var defaultStr = void 0;
7257
+ if (typeof options.localizable === "object" && options.localizable.defaultStr) {
7258
+ defaultStr = options.localizable.defaultStr;
7259
+ }
7260
+ locString = target.createLocalizableString(key, target, true, defaultStr);
7243
7261
  if (typeof options.localizable === "object" &&
7244
7262
  typeof options.localizable.onGetTextCallback === "function") {
7245
7263
  locString.onGetTextCallback = options.localizable.onGetTextCallback;
@@ -8103,6 +8121,10 @@ var JsonMetadataClass = /** @class */ (function () {
8103
8121
  }
8104
8122
  if (propInfo.baseClassName) {
8105
8123
  prop.baseClassName = propInfo.baseClassName;
8124
+ prop.isArray = true;
8125
+ }
8126
+ if (prop.isArray === true) {
8127
+ prop.isArray = true;
8106
8128
  }
8107
8129
  if (propInfo.classNamePart) {
8108
8130
  prop.classNamePart = propInfo.classNamePart;
@@ -8568,7 +8590,7 @@ var JsonMetadata = /** @class */ (function () {
8568
8590
  if (prop.hasChoices) {
8569
8591
  var enumRes = prop.getChoices(null);
8570
8592
  if (Array.isArray(enumRes) && enumRes.length > 0) {
8571
- res.enum = enumRes;
8593
+ res.enum = this.getChoicesValues(enumRes);
8572
8594
  }
8573
8595
  }
8574
8596
  if (!!refType) {
@@ -8631,6 +8653,18 @@ var JsonMetadata = /** @class */ (function () {
8631
8653
  res.required = chemaProps.required;
8632
8654
  }
8633
8655
  };
8656
+ JsonMetadata.prototype.getChoicesValues = function (enumRes) {
8657
+ var res = new Array();
8658
+ enumRes.forEach(function (item) {
8659
+ if (typeof item === "object" && item.value !== undefined) {
8660
+ res.push(item.value);
8661
+ }
8662
+ else {
8663
+ res.push(item);
8664
+ }
8665
+ });
8666
+ return res;
8667
+ };
8634
8668
  return JsonMetadata;
8635
8669
  }());
8636
8670
 
@@ -8734,6 +8768,17 @@ var JsonRequiredPropertyError = /** @class */ (function (_super) {
8734
8768
  return JsonRequiredPropertyError;
8735
8769
  }(JsonError));
8736
8770
 
8771
+ var JsonRequiredArrayPropertyError = /** @class */ (function (_super) {
8772
+ __extends(JsonRequiredArrayPropertyError, _super);
8773
+ function JsonRequiredArrayPropertyError(propertyName, className) {
8774
+ var _this = _super.call(this, "arrayproperty", "The property '" + propertyName + "' should be an array in '" + className + "'.") || this;
8775
+ _this.propertyName = propertyName;
8776
+ _this.className = className;
8777
+ return _this;
8778
+ }
8779
+ return JsonRequiredArrayPropertyError;
8780
+ }(JsonError));
8781
+
8737
8782
  var JsonObject = /** @class */ (function () {
8738
8783
  function JsonObject() {
8739
8784
  this.errors = new Array();
@@ -8789,7 +8834,7 @@ var JsonObject = /** @class */ (function () {
8789
8834
  }
8790
8835
  continue;
8791
8836
  }
8792
- this.valueToObj(jsonObj[key], obj, property);
8837
+ this.valueToObj(jsonObj[key], obj, property, jsonObj);
8793
8838
  }
8794
8839
  if (obj.endLoadingFromJson) {
8795
8840
  obj.endLoadingFromJson();
@@ -8863,7 +8908,7 @@ var JsonObject = /** @class */ (function () {
8863
8908
  }
8864
8909
  }
8865
8910
  };
8866
- JsonObject.prototype.valueToObj = function (value, obj, property) {
8911
+ JsonObject.prototype.valueToObj = function (value, obj, property, jsonObj) {
8867
8912
  if (value === null || value === undefined)
8868
8913
  return;
8869
8914
  this.removePos(property, value);
@@ -8871,6 +8916,11 @@ var JsonObject = /** @class */ (function () {
8871
8916
  property.setValue(obj, value, this);
8872
8917
  return;
8873
8918
  }
8919
+ if (property.isArray && !Array.isArray(value) && !!value) {
8920
+ value = [value];
8921
+ var propName = !!jsonObj && property.alternativeName && !!jsonObj[property.alternativeName] ? property.alternativeName : property.name;
8922
+ this.addNewError(new JsonRequiredArrayPropertyError(propName, obj.getType()), !!jsonObj ? jsonObj : value, obj);
8923
+ }
8874
8924
  if (this.isValueArray(value)) {
8875
8925
  this.valueToArray(value, obj, property.name, property);
8876
8926
  return;
@@ -9696,7 +9746,7 @@ var englishStrings = {
9696
9746
  loadingFile: "Loading...",
9697
9747
  chooseFile: "Choose file(s)...",
9698
9748
  noFileChosen: "No file chosen",
9699
- fileDragAreaPlaceholder: "Drag and drop a file here or click the button below to select a file to upload.",
9749
+ filePlaceholder: "Drag and drop a file here or click the button below to select a file to upload.",
9700
9750
  confirmDelete: "Do you want to delete the record?",
9701
9751
  keyDuplicationError: "This value should be unique.",
9702
9752
  addColumn: "Add Column",
@@ -9705,6 +9755,8 @@ var englishStrings = {
9705
9755
  emptyRowsText: "There are no rows.",
9706
9756
  addPanel: "Add new",
9707
9757
  removePanel: "Remove",
9758
+ showDetails: "Show Details",
9759
+ hideDetails: "Hide Details",
9708
9760
  choices_Item: "item",
9709
9761
  matrix_column: "Column",
9710
9762
  matrix_row: "Row",
@@ -9725,8 +9777,8 @@ var englishStrings = {
9725
9777
  signaturePlaceHolder: "Sign here",
9726
9778
  chooseFileCaption: "Select File",
9727
9779
  takePhotoCaption: "Take Photo",
9728
- cameraPlaceHolder: "Click the button below to take a photo using the camera.",
9729
- fileCameraDragAreaPlaceHolder: "Drag and drop or select a file to upload or take a photo using the camera.",
9780
+ photoPlaceholder: "Click the button below to take a photo using the camera.",
9781
+ fileOrPhotoPlaceholder: "Drag and drop or select a file to upload or take a photo using the camera.",
9730
9782
  replaceFileCaption: "Replace file",
9731
9783
  removeFileCaption: "Remove this file",
9732
9784
  booleanCheckedLabel: "Yes",
@@ -10517,106 +10569,6 @@ _element_factory__WEBPACK_IMPORTED_MODULE_1__["ReactElementFactory"].Instance.re
10517
10569
  });
10518
10570
 
10519
10571
 
10520
- /***/ }),
10521
-
10522
- /***/ "./src/react/components/cover.tsx":
10523
- /*!****************************************!*\
10524
- !*** ./src/react/components/cover.tsx ***!
10525
- \****************************************/
10526
- /*! exports provided: CoverCellComponent, CoverComponent */
10527
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
10528
-
10529
- "use strict";
10530
- __webpack_require__.r(__webpack_exports__);
10531
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CoverCellComponent", function() { return CoverCellComponent; });
10532
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CoverComponent", function() { return CoverComponent; });
10533
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
10534
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
10535
- /* harmony import */ var _reactquestion_element__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../reactquestion_element */ "./src/react/reactquestion_element.tsx");
10536
- /* harmony import */ var _element_factory__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../element-factory */ "./src/react/element-factory.tsx");
10537
- /* harmony import */ var _title_title_element__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./title/title-element */ "./src/react/components/title/title-element.tsx");
10538
- var __extends = (undefined && undefined.__extends) || (function () {
10539
- var extendStatics = function (d, b) {
10540
- extendStatics = Object.setPrototypeOf ||
10541
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
10542
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
10543
- return extendStatics(d, b);
10544
- };
10545
- return function (d, b) {
10546
- if (typeof b !== "function" && b !== null)
10547
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
10548
- extendStatics(d, b);
10549
- function __() { this.constructor = d; }
10550
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
10551
- };
10552
- })();
10553
-
10554
-
10555
-
10556
-
10557
- var CoverCellComponent = /** @class */ (function (_super) {
10558
- __extends(CoverCellComponent, _super);
10559
- function CoverCellComponent() {
10560
- return _super !== null && _super.apply(this, arguments) || this;
10561
- }
10562
- Object.defineProperty(CoverCellComponent.prototype, "model", {
10563
- get: function () {
10564
- return this.props.model;
10565
- },
10566
- enumerable: false,
10567
- configurable: true
10568
- });
10569
- CoverCellComponent.prototype.renderLogoImage = function () {
10570
- var componentName = this.model.survey.getElementWrapperComponentName(this.model.survey, "logo-image");
10571
- var componentData = this.model.survey.getElementWrapperComponentData(this.model.survey, "logo-image");
10572
- return _element_factory__WEBPACK_IMPORTED_MODULE_2__["ReactElementFactory"].Instance.createElement(componentName, {
10573
- data: componentData,
10574
- });
10575
- };
10576
- CoverCellComponent.prototype.render = function () {
10577
- return (react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { className: this.model.css, style: this.model.style },
10578
- react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { className: "sv-cover__cell-content", style: this.model.contentStyle },
10579
- this.model.showLogo ? (react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { className: "sv-cover__logo" }, this.renderLogoImage())) : null,
10580
- this.model.showTitle ? (react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { className: "sv-cover__title", style: { maxWidth: this.model.textAreaWidth } },
10581
- react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_title_title_element__WEBPACK_IMPORTED_MODULE_3__["TitleElement"], { element: this.model.survey }))) : null,
10582
- this.model.showDescription ? (react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { className: "sv-cover__description", style: { maxWidth: this.model.textAreaWidth } },
10583
- react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h5", { className: this.model.survey.css.description }, _reactquestion_element__WEBPACK_IMPORTED_MODULE_1__["SurveyElementBase"].renderLocString(this.model.survey.locDescription)))) : null)));
10584
- };
10585
- return CoverCellComponent;
10586
- }(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component));
10587
-
10588
- var CoverComponent = /** @class */ (function (_super) {
10589
- __extends(CoverComponent, _super);
10590
- function CoverComponent() {
10591
- return _super !== null && _super.apply(this, arguments) || this;
10592
- }
10593
- Object.defineProperty(CoverComponent.prototype, "model", {
10594
- get: function () {
10595
- return this.props.model;
10596
- },
10597
- enumerable: false,
10598
- configurable: true
10599
- });
10600
- CoverComponent.prototype.getStateElement = function () {
10601
- return this.model;
10602
- };
10603
- CoverComponent.prototype.renderElement = function () {
10604
- this.model.survey = this.props.survey;
10605
- if (!(this.props.survey.headerView === "advanced" && this.props.survey.renderedHasHeader)) {
10606
- return null;
10607
- }
10608
- return (react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { className: this.model.coverClasses, style: { height: this.model.renderedHeight } },
10609
- this.model.backgroundImage ? react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { style: this.model.backgroundImageStyle, className: this.model.backgroundImageClasses }) : null,
10610
- react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { className: this.model.contentClasses, style: { maxWidth: this.model.maxWidth } }, this.model.cells.map(function (cell, index) { return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(CoverCellComponent, { key: index, model: cell }); }))));
10611
- };
10612
- return CoverComponent;
10613
- }(_reactquestion_element__WEBPACK_IMPORTED_MODULE_1__["SurveyElementBase"]));
10614
-
10615
- _element_factory__WEBPACK_IMPORTED_MODULE_2__["ReactElementFactory"].Instance.registerElement("sv-cover", function (props) {
10616
- return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(CoverComponent, props);
10617
- });
10618
-
10619
-
10620
10572
  /***/ }),
10621
10573
 
10622
10574
  /***/ "./src/react/components/file/file-choose-button.tsx":
@@ -10668,7 +10620,7 @@ var SurveyFileChooseButton = /** @class */ (function (_super) {
10668
10620
  configurable: true
10669
10621
  });
10670
10622
  SurveyFileChooseButton.prototype.render = function () {
10671
- return Object(_reactSurvey__WEBPACK_IMPORTED_MODULE_1__["attachKey2click"])(react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("label", { role: "button", tabIndex: 0, className: this.question.getChooseFileCss(), htmlFor: this.question.inputId, "aria-label": this.question.chooseButtonText },
10623
+ return Object(_reactSurvey__WEBPACK_IMPORTED_MODULE_1__["attachKey2click"])(react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("label", { tabIndex: 0, className: this.question.getChooseFileCss(), htmlFor: this.question.inputId, "aria-label": this.question.chooseButtonText },
10672
10624
  (!!this.question.cssClasses.chooseFileIconId) ? react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_svg_icon_svg_icon__WEBPACK_IMPORTED_MODULE_3__["SvgIcon"], { title: this.question.chooseButtonText, iconName: this.question.cssClasses.chooseFileIconId, size: "auto" }) : null,
10673
10625
  react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", null, this.question.chooseButtonText)));
10674
10626
  };
@@ -10744,7 +10696,7 @@ var SurveyFilePreview = /** @class */ (function (_super) {
10744
10696
  return null;
10745
10697
  return (react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { key: _this.question.inputId + "_" + index, className: _this.question.cssClasses.preview, style: { display: _this.question.isPreviewVisible(index) ? undefined : "none" } },
10746
10698
  _this.renderFileSign(_this.question.cssClasses.fileSign, val),
10747
- react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { className: _this.question.cssClasses.imageWrapper },
10699
+ react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { className: _this.question.getImageWrapperCss(val) },
10748
10700
  _this.question.canPreviewImage(val) ? (react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("img", { src: val.content, style: { height: _this.question.imageHeight, width: _this.question.imageWidth }, alt: "File preview" })) : (_this.question.cssClasses.defaultImage ? (react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_svg_icon_svg_icon__WEBPACK_IMPORTED_MODULE_2__["SvgIcon"], { iconName: _this.question.cssClasses.defaultImageIconId, size: "auto", className: _this.question.cssClasses.defaultImage })) : null),
10749
10701
  val.name && !_this.question.isReadOnly ? (react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { className: _this.question.getRemoveButtonCss(), onClick: function () { return _this.question.doRemoveFile(val); } },
10750
10702
  react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { className: _this.question.cssClasses.removeFile }, _this.question.removeFileCaption),
@@ -10765,6 +10717,144 @@ _element_factory__WEBPACK_IMPORTED_MODULE_3__["ReactElementFactory"].Instance.re
10765
10717
  });
10766
10718
 
10767
10719
 
10720
+ /***/ }),
10721
+
10722
+ /***/ "./src/react/components/header.tsx":
10723
+ /*!*****************************************!*\
10724
+ !*** ./src/react/components/header.tsx ***!
10725
+ \*****************************************/
10726
+ /*! exports provided: HeaderMobile, HeaderCell, Header */
10727
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
10728
+
10729
+ "use strict";
10730
+ __webpack_require__.r(__webpack_exports__);
10731
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "HeaderMobile", function() { return HeaderMobile; });
10732
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "HeaderCell", function() { return HeaderCell; });
10733
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Header", function() { return Header; });
10734
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
10735
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
10736
+ /* harmony import */ var _reactquestion_element__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../reactquestion_element */ "./src/react/reactquestion_element.tsx");
10737
+ /* harmony import */ var _element_factory__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../element-factory */ "./src/react/element-factory.tsx");
10738
+ /* harmony import */ var _title_title_element__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./title/title-element */ "./src/react/components/title/title-element.tsx");
10739
+ var __extends = (undefined && undefined.__extends) || (function () {
10740
+ var extendStatics = function (d, b) {
10741
+ extendStatics = Object.setPrototypeOf ||
10742
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
10743
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
10744
+ return extendStatics(d, b);
10745
+ };
10746
+ return function (d, b) {
10747
+ if (typeof b !== "function" && b !== null)
10748
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
10749
+ extendStatics(d, b);
10750
+ function __() { this.constructor = d; }
10751
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
10752
+ };
10753
+ })();
10754
+
10755
+
10756
+
10757
+
10758
+ var HeaderMobile = /** @class */ (function (_super) {
10759
+ __extends(HeaderMobile, _super);
10760
+ function HeaderMobile() {
10761
+ return _super !== null && _super.apply(this, arguments) || this;
10762
+ }
10763
+ Object.defineProperty(HeaderMobile.prototype, "model", {
10764
+ get: function () {
10765
+ return this.props.model;
10766
+ },
10767
+ enumerable: false,
10768
+ configurable: true
10769
+ });
10770
+ HeaderMobile.prototype.renderLogoImage = function () {
10771
+ var componentName = this.model.survey.getElementWrapperComponentName(this.model.survey, "logo-image");
10772
+ var componentData = this.model.survey.getElementWrapperComponentData(this.model.survey, "logo-image");
10773
+ return _element_factory__WEBPACK_IMPORTED_MODULE_2__["ReactElementFactory"].Instance.createElement(componentName, {
10774
+ data: componentData,
10775
+ });
10776
+ };
10777
+ HeaderMobile.prototype.render = function () {
10778
+ return (react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { className: "sv-header--mobile" },
10779
+ this.model.survey.hasLogo ? (react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { className: "sv-header__logo" }, this.renderLogoImage())) : null,
10780
+ this.model.survey.hasTitle ? (react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { className: "sv-header__title", style: { maxWidth: this.model.textAreaWidth } },
10781
+ react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_title_title_element__WEBPACK_IMPORTED_MODULE_3__["TitleElement"], { element: this.model.survey }))) : null,
10782
+ this.model.survey.renderedHasDescription ? (react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { className: "sv-header__description", style: { maxWidth: this.model.textAreaWidth } },
10783
+ react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h5", { className: this.model.survey.css.description }, _reactquestion_element__WEBPACK_IMPORTED_MODULE_1__["SurveyElementBase"].renderLocString(this.model.survey.locDescription)))) : null));
10784
+ };
10785
+ return HeaderMobile;
10786
+ }(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component));
10787
+
10788
+ var HeaderCell = /** @class */ (function (_super) {
10789
+ __extends(HeaderCell, _super);
10790
+ function HeaderCell() {
10791
+ return _super !== null && _super.apply(this, arguments) || this;
10792
+ }
10793
+ Object.defineProperty(HeaderCell.prototype, "model", {
10794
+ get: function () {
10795
+ return this.props.model;
10796
+ },
10797
+ enumerable: false,
10798
+ configurable: true
10799
+ });
10800
+ HeaderCell.prototype.renderLogoImage = function () {
10801
+ var componentName = this.model.survey.getElementWrapperComponentName(this.model.survey, "logo-image");
10802
+ var componentData = this.model.survey.getElementWrapperComponentData(this.model.survey, "logo-image");
10803
+ return _element_factory__WEBPACK_IMPORTED_MODULE_2__["ReactElementFactory"].Instance.createElement(componentName, {
10804
+ data: componentData,
10805
+ });
10806
+ };
10807
+ HeaderCell.prototype.render = function () {
10808
+ return (react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { className: this.model.css, style: this.model.style },
10809
+ react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { className: "sv-header__cell-content", style: this.model.contentStyle },
10810
+ this.model.showLogo ? (react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { className: "sv-header__logo" }, this.renderLogoImage())) : null,
10811
+ this.model.showTitle ? (react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { className: "sv-header__title", style: { maxWidth: this.model.textAreaWidth } },
10812
+ react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_title_title_element__WEBPACK_IMPORTED_MODULE_3__["TitleElement"], { element: this.model.survey }))) : null,
10813
+ this.model.showDescription ? (react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { className: "sv-header__description", style: { maxWidth: this.model.textAreaWidth } },
10814
+ react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h5", { className: this.model.survey.css.description }, _reactquestion_element__WEBPACK_IMPORTED_MODULE_1__["SurveyElementBase"].renderLocString(this.model.survey.locDescription)))) : null)));
10815
+ };
10816
+ return HeaderCell;
10817
+ }(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component));
10818
+
10819
+ var Header = /** @class */ (function (_super) {
10820
+ __extends(Header, _super);
10821
+ function Header() {
10822
+ return _super !== null && _super.apply(this, arguments) || this;
10823
+ }
10824
+ Object.defineProperty(Header.prototype, "model", {
10825
+ get: function () {
10826
+ return this.props.model;
10827
+ },
10828
+ enumerable: false,
10829
+ configurable: true
10830
+ });
10831
+ Header.prototype.getStateElement = function () {
10832
+ return this.model;
10833
+ };
10834
+ Header.prototype.renderElement = function () {
10835
+ this.model.survey = this.props.survey;
10836
+ if (!(this.props.survey.headerView === "advanced" && this.props.survey.renderedHasHeader)) {
10837
+ return null;
10838
+ }
10839
+ var headerContent = null;
10840
+ if (this.props.survey.isMobile) {
10841
+ headerContent = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(HeaderMobile, { model: this.model });
10842
+ }
10843
+ else {
10844
+ headerContent = (react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { className: this.model.contentClasses, style: { maxWidth: this.model.maxWidth } }, this.model.cells.map(function (cell, index) { return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(HeaderCell, { key: index, model: cell }); })));
10845
+ }
10846
+ return (react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { className: this.model.headerClasses, style: { height: this.model.renderedHeight } },
10847
+ this.model.backgroundImage ? react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { style: this.model.backgroundImageStyle, className: this.model.backgroundImageClasses }) : null,
10848
+ headerContent));
10849
+ };
10850
+ return Header;
10851
+ }(_reactquestion_element__WEBPACK_IMPORTED_MODULE_1__["SurveyElementBase"]));
10852
+
10853
+ _element_factory__WEBPACK_IMPORTED_MODULE_2__["ReactElementFactory"].Instance.registerElement("sv-header", function (props) {
10854
+ return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(Header, props);
10855
+ });
10856
+
10857
+
10768
10858
  /***/ }),
10769
10859
 
10770
10860
  /***/ "./src/react/components/list/list-item.tsx":
@@ -10855,7 +10945,7 @@ var ListItem = /** @class */ (function (_super) {
10855
10945
  content.push(newElement);
10856
10946
  }
10857
10947
  }
10858
- var contentWrap = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { style: contentWrapStyle, className: this.model.cssClasses.itemBody }, content);
10948
+ var contentWrap = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { style: contentWrapStyle, className: this.model.cssClasses.itemBody, title: this.item.locTitle.calculatedText }, content);
10859
10949
  var separator = this.item.needSeparator ? react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { className: this.model.cssClasses.itemSeparator }) : null;
10860
10950
  var isVisible = this.model.isItemVisible(this.item);
10861
10951
  var style = {
@@ -12972,7 +13062,7 @@ var SurveyQuestionDropdownBase = /** @class */ (function (_super) {
12972
13062
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", { style: { visibility: "hidden" }, "data-bind": "text: model.filterString" }, dropdownListModel.inputStringRendered),
12973
13063
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", null, dropdownListModel.hintStringSuffix))) : null,
12974
13064
  valueElement,
12975
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("input", { type: "text", autoComplete: "off", id: this.question.getInputId(), ref: function (element) { return (_this.inputElement = element); }, className: this.question.cssClasses.filterStringInput, role: dropdownListModel.filterStringEnabled ? this.question.ariaRole : undefined, "aria-expanded": this.question.ariaExpanded === null ? undefined : this.question.ariaExpanded === "true", "aria-controls": dropdownListModel.listElementId, "aria-activedescendant": dropdownListModel.ariaActivedescendant, placeholder: dropdownListModel.placeholderRendered, readOnly: !dropdownListModel.searchEnabled ? true : undefined, tabIndex: dropdownListModel.inputReadOnly ? undefined : -1, disabled: this.question.isInputReadOnly, inputMode: dropdownListModel.inputMode, onChange: function (e) { onInputChange(e); }, onBlur: this.blur, onFocus: this.focus })),
13065
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("input", { type: "text", autoComplete: "off", id: this.question.getInputId(), ref: function (element) { return (_this.inputElement = element); }, className: this.question.cssClasses.filterStringInput, role: dropdownListModel.filterStringEnabled ? this.question.ariaRole : undefined, "aria-expanded": this.question.ariaExpanded === null ? undefined : this.question.ariaExpanded === "true", "aria-label": this.question.a11y_input_ariaLabel, "aria-labelledby": this.question.a11y_input_ariaLabelledBy, "aria-controls": dropdownListModel.listElementId, "aria-activedescendant": dropdownListModel.ariaActivedescendant, placeholder: dropdownListModel.placeholderRendered, readOnly: !dropdownListModel.searchEnabled ? true : undefined, tabIndex: dropdownListModel.inputReadOnly ? undefined : -1, disabled: this.question.isInputReadOnly, inputMode: dropdownListModel.inputMode, onChange: function (e) { onInputChange(e); }, onBlur: this.blur, onFocus: this.focus })),
12976
13066
  this.createClearButton()));
12977
13067
  };
12978
13068
  SurveyQuestionDropdownBase.prototype.createClearButton = function () {
@@ -13710,7 +13800,7 @@ var SurveyQuestionImagePicker = /** @class */ (function (_super) {
13710
13800
  SurveyQuestionImagePicker.prototype.renderElement = function () {
13711
13801
  var cssClasses = this.question.cssClasses;
13712
13802
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("fieldset", { className: this.question.getSelectBaseRootCss() },
13713
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("legend", { role: "radio", "aria-label": this.question.locTitle.renderedHtml }),
13803
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("legend", { className: "sv-hidden" }, this.question.locTitle.renderedHtml),
13714
13804
  this.question.hasColumns ? this.getColumns(cssClasses) : this.getItems(cssClasses)));
13715
13805
  };
13716
13806
  SurveyQuestionImagePicker.prototype.getColumns = function (cssClasses) {
@@ -15686,7 +15776,7 @@ var SurveyQuestionCheckbox = /** @class */ (function (_super) {
15686
15776
  var _this = this;
15687
15777
  var cssClasses = this.question.cssClasses;
15688
15778
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("fieldset", { className: this.question.getSelectBaseRootCss(), ref: function (fieldset) { return (_this.setControl(fieldset)); }, role: this.question.a11y_input_ariaRole, "aria-required": this.question.a11y_input_ariaRequired, "aria-label": this.question.a11y_input_ariaLabel, "aria-labelledby": this.question.a11y_input_ariaLabelledBy, "aria-invalid": this.question.a11y_input_ariaInvalid, "aria-describedby": this.question.a11y_input_ariaDescribedBy },
15689
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("legend", { role: "presentation", className: "sv-hidden" }),
15779
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("legend", { className: "sv-hidden" }, this.question.locTitle.renderedHtml),
15690
15780
  this.getHeader(),
15691
15781
  this.question.hasColumns
15692
15782
  ? this.getColumnedBody(cssClasses)
@@ -15866,7 +15956,7 @@ var SurveyQuestionCheckboxItem = /** @class */ (function (_super) {
15866
15956
  var itemLabel = !this.hideCaption ? react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", { className: this.cssClasses.controlLabel }, this.renderLocString(this.item.locText, this.textStyle)) : null;
15867
15957
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: itemClass, role: "presentation" },
15868
15958
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("label", { className: labelClass },
15869
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("input", { className: this.cssClasses.itemControl, type: "checkbox", name: this.question.name, value: this.item.value != "selectall" ? this.item.value : undefined, id: id, style: this.inputStyle, disabled: !this.question.getItemEnabled(this.item), checked: isChecked, onChange: onItemChanged }),
15959
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("input", { className: this.cssClasses.itemControl, type: "checkbox", role: "option", name: this.question.name + this.item.value, value: this.item.value != "selectall" ? this.item.value : undefined, id: id, style: this.inputStyle, disabled: !this.question.getItemEnabled(this.item), checked: isChecked, onChange: onItemChanged }),
15870
15960
  this.cssClasses.materialDecorator ?
15871
15961
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", { className: this.cssClasses.materialDecorator }, this.question.itemSvgIcon ?
15872
15962
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("svg", { className: this.cssClasses.itemDecorator },
@@ -16776,7 +16866,7 @@ var SurveyQuestionFile = /** @class */ (function (_super) {
16776
16866
  var actionsContainer = this.question.actionsContainerVisible ? react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_components_action_bar_action_bar__WEBPACK_IMPORTED_MODULE_1__["SurveyActionBar"], { model: this.question.actionsContainer }) : null;
16777
16867
  var noFileChosen = this.question.isEmpty() ? (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", { className: this.question.cssClasses.noFileChosen }, this.question.noFileChosenCaption)) : null;
16778
16868
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.question.getFileDecoratorCss() },
16779
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", { className: this.question.cssClasses.dragAreaPlaceholder }, this.question.renderedPlaceholder),
16869
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", { className: this.question.cssClasses.dragAreaPlaceholder }, this.renderLocString(this.question.locRenderedPlaceholder)),
16780
16870
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.question.cssClasses.wrapper },
16781
16871
  chooseButton,
16782
16872
  actionsContainer,
@@ -16983,7 +17073,7 @@ var SurveyQuestionMatrix = /** @class */ (function (_super) {
16983
17073
  headers)));
16984
17074
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: cssClasses.tableWrapper, ref: function (root) { return (_this.setControl(root)); } },
16985
17075
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("fieldset", null,
16986
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("legend", { "aria-label": this.question.locTitle.renderedHtml }),
17076
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("legend", { className: "sv-hidden" }, this.question.locTitle.renderedHtml),
16987
17077
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("table", { className: this.question.getTableCss() },
16988
17078
  header,
16989
17079
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("tbody", null, rows)))));
@@ -17306,8 +17396,7 @@ var SurveyQuestionMatrixDropdownBase = /** @class */ (function (_super) {
17306
17396
  matrixrow.push(this.renderCell(cells[i], i, cssClasses, reason));
17307
17397
  }
17308
17398
  var key = "row" + keyValue;
17309
- return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], { key: key },
17310
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_components_matrix_row__WEBPACK_IMPORTED_MODULE_7__["MatrixRow"], { model: row, parentMatrix: this.question }, matrixrow)));
17399
+ return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], { key: key }, (reason == "row-footer") ? react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("tr", null, matrixrow) : react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_components_matrix_row__WEBPACK_IMPORTED_MODULE_7__["MatrixRow"], { model: row, parentMatrix: this.question }, matrixrow)));
17311
17400
  };
17312
17401
  SurveyQuestionMatrixDropdownBase.prototype.renderCell = function (cell, index, cssClasses, reason) {
17313
17402
  var key = "cell" + index;
@@ -18455,18 +18544,21 @@ var SurveyQuestionRankingItem = /** @class */ (function (_super) {
18455
18544
  enumerable: false,
18456
18545
  configurable: true
18457
18546
  });
18547
+ SurveyQuestionRankingItem.prototype.renderEmptyIcon = function () {
18548
+ return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("svg", null,
18549
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("use", { xlinkHref: this.question.dashSvgIcon })));
18550
+ };
18458
18551
  SurveyQuestionRankingItem.prototype.renderElement = function () {
18459
18552
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { tabIndex: this.itemTabIndex, className: this.itemClass, onKeyDown: this.handleKeydown, onPointerDown: this.handlePointerDown, "data-sv-drop-target-ranking-item": this.index },
18460
18553
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { tabIndex: -1, style: { outline: "none" } },
18461
18554
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.cssClasses.itemGhostNode }),
18462
18555
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.cssClasses.itemContent },
18463
18556
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.cssClasses.itemIconContainer },
18464
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("svg", { width: "10", height: "16", viewBox: "0 0 10 16", className: this.question.getIconHoverCss(), xmlns: "http://www.w3.org/2000/svg" },
18465
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("path", { d: "M6 2C6 0.9 6.9 0 8 0C9.1 0 10 0.9 10 2C10 3.1 9.1 4 8 4C6.9 4 6 3.1 6 2ZM2 0C0.9 0 0 0.9 0 2C0 3.1 0.9 4 2 4C3.1 4 4 3.1 4 2C4 0.9 3.1 0 2 0ZM8 6C6.9 6 6 6.9 6 8C6 9.1 6.9 10 8 10C9.1 10 10 9.1 10 8C10 6.9 9.1 6 8 6ZM2 6C0.9 6 0 6.9 0 8C0 9.1 0.9 10 2 10C3.1 10 4 9.1 4 8C4 6.9 3.1 6 2 6ZM8 12C6.9 12 6 12.9 6 14C6 15.1 6.9 16 8 16C9.1 16 10 15.1 10 14C10 12.9 9.1 12 8 12ZM2 12C0.9 12 0 12.9 0 14C0 15.1 0.9 16 2 16C3.1 16 4 15.1 4 14C4 12.9 3.1 12 2 12Z" })),
18466
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("svg", { width: "10", height: "24", viewBox: "0 0 10 24", className: this.question.getIconFocusCss(), xmlns: "http://www.w3.org/2000/svg" },
18467
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("path", { d: "M10 5L5 0L0 5H4V9H6V5H10Z" }),
18468
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("path", { d: "M6 19V15H4V19H0L5 24L10 19H6Z" }))),
18469
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.question.getItemIndexClasses(this.item) }, this.unrankedItem ? "" : this.indexText),
18557
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("svg", { className: this.question.getIconHoverCss() },
18558
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("use", { xlinkHref: this.question.dragDropSvgIcon })),
18559
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("svg", { className: this.question.getIconFocusCss() },
18560
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("use", { xlinkHref: this.question.arrowsSvgIcon }))),
18561
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.question.getItemIndexClasses(this.item) }, (!this.unrankedItem && this.indexText) ? this.indexText : this.renderEmptyIcon()),
18470
18562
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.cssClasses.controlLabel }, this.text)))));
18471
18563
  };
18472
18564
  return SurveyQuestionRankingItem;
@@ -19086,7 +19178,7 @@ var SurveyQuestionSignaturePad = /** @class */ (function (_super) {
19086
19178
  var cssClasses = this.question.cssClasses;
19087
19179
  var clearButton = this.renderCleanButton();
19088
19180
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: cssClasses.root, ref: function (root) { return (_this.setControl(root)); }, style: { height: this.question.signatureHeight, width: this.question.signatureWidth } },
19089
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: cssClasses.placeholder, style: { display: this.question.needShowPlaceholder() ? "" : "none" } }, this.question.placeHolderText),
19181
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: cssClasses.placeholder, style: { display: this.question.needShowPlaceholder() ? "" : "none" } }, this.renderLocString(this.question.locPlaceholder)),
19090
19182
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", null,
19091
19183
  this.renderBackgroundImage(),
19092
19184
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("canvas", { tabIndex: 0, className: this.question.cssClasses.canvas })),
@@ -19412,7 +19504,7 @@ var TagboxFilterString = /** @class */ (function (_super) {
19412
19504
  (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.question.cssClasses.hintSuffix },
19413
19505
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", { style: { visibility: "hidden" }, "data-bind": "text: model.filterString" }, this.model.inputStringRendered),
19414
19506
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", null, this.model.hintStringSuffix))) : null,
19415
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("input", { type: "text", autoComplete: "off", id: this.question.getInputId(), inputMode: this.model.inputMode, ref: function (element) { return (_this.inputElement = element); }, className: this.question.cssClasses.filterStringInput, disabled: this.question.isInputReadOnly, readOnly: !this.model.searchEnabled ? true : undefined, size: !this.model.inputStringRendered ? 1 : undefined, role: this.model.filterStringEnabled ? this.question.ariaRole : undefined, "aria-expanded": this.question.ariaExpanded === null ? undefined : this.question.ariaExpanded === "true", "aria-controls": this.model.listElementId, "aria-activedescendant": this.model.ariaActivedescendant, placeholder: this.model.filterStringPlaceholder, onKeyDown: function (e) { _this.keyhandler(e); }, onChange: function (e) { _this.onChange(e); }, onBlur: function (e) { _this.onBlur(e); }, onFocus: function (e) { _this.onFocus(e); } }))));
19507
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("input", { type: "text", autoComplete: "off", id: this.question.getInputId(), inputMode: this.model.inputMode, ref: function (element) { return (_this.inputElement = element); }, className: this.question.cssClasses.filterStringInput, disabled: this.question.isInputReadOnly, readOnly: !this.model.searchEnabled ? true : undefined, size: !this.model.inputStringRendered ? 1 : undefined, role: this.model.filterStringEnabled ? this.question.ariaRole : undefined, "aria-expanded": this.question.ariaExpanded === null ? undefined : this.question.ariaExpanded === "true", "aria-label": this.question.a11y_input_ariaLabel, "aria-labelledby": this.question.a11y_input_ariaLabelledBy, "aria-controls": this.model.listElementId, "aria-activedescendant": this.model.ariaActivedescendant, placeholder: this.model.filterStringPlaceholder, onKeyDown: function (e) { _this.keyhandler(e); }, onChange: function (e) { _this.onChange(e); }, onBlur: function (e) { _this.onBlur(e); }, onFocus: function (e) { _this.onFocus(e); } }))));
19416
19508
  };
19417
19509
  return TagboxFilterString;
19418
19510
  }(_reactquestion_element__WEBPACK_IMPORTED_MODULE_3__["SurveyElementBase"]));
@@ -20007,8 +20099,8 @@ var settings = {
20007
20099
  * @param message A message to be displayed in the confirm dialog window.
20008
20100
  * @param callback A callback function that should be called with `true` if a user confirms an action or `false` otherwise.
20009
20101
  */
20010
- confirmActionAsync: function (message, callback) {
20011
- return Object(_utils_utils__WEBPACK_IMPORTED_MODULE_0__["showConfirmDialog"])(message, callback);
20102
+ confirmActionAsync: function (message, callback, applyTitle) {
20103
+ return Object(_utils_utils__WEBPACK_IMPORTED_MODULE_0__["showConfirmDialog"])(message, callback, applyTitle);
20012
20104
  },
20013
20105
  /**
20014
20106
  * A minimum width value for all survey elements.
@@ -20815,7 +20907,9 @@ function increaseHeightByContent(element, getComputedStyle) {
20815
20907
  getComputedStyle = function (elt) { return window.getComputedStyle(elt); };
20816
20908
  var style = getComputedStyle(element);
20817
20909
  element.style.height = "auto";
20818
- element.style.height = (element.scrollHeight + parseFloat(style.borderTopWidth) + parseFloat(style.borderBottomWidth)) + "px";
20910
+ if (!!element.scrollHeight) {
20911
+ element.style.height = (element.scrollHeight + parseFloat(style.borderTopWidth) + parseFloat(style.borderBottomWidth)) + "px";
20912
+ }
20819
20913
  }
20820
20914
  function getOriginalEvent(event) {
20821
20915
  return event.originalEvent || event;
@@ -20906,7 +21000,7 @@ var Logger = /** @class */ (function () {
20906
21000
  return Logger;
20907
21001
  }());
20908
21002
 
20909
- function showConfirmDialog(message, callback) {
21003
+ function showConfirmDialog(message, callback, applyTitle) {
20910
21004
  var locStr = new _localizablestring__WEBPACK_IMPORTED_MODULE_0__["LocalizableString"](undefined);
20911
21005
  var popupViewModel = _settings__WEBPACK_IMPORTED_MODULE_1__["settings"].showDialog({
20912
21006
  componentName: "sv-string-viewer",
@@ -20929,7 +21023,7 @@ function showConfirmDialog(message, callback) {
20929
21023
  var cancelBtn = toolbar.getActionById("cancel");
20930
21024
  cancelBtn.title = _surveyStrings__WEBPACK_IMPORTED_MODULE_2__["surveyLocalization"].getString("cancel");
20931
21025
  cancelBtn.innerCss = "sv-popup__body-footer-item sv-popup__button sd-btn sd-btn--small";
20932
- applyBtn.title = _surveyStrings__WEBPACK_IMPORTED_MODULE_2__["surveyLocalization"].getString("ok");
21026
+ applyBtn.title = applyTitle || _surveyStrings__WEBPACK_IMPORTED_MODULE_2__["surveyLocalization"].getString("ok");
20933
21027
  applyBtn.innerCss = "sv-popup__body-footer-item sv-popup__button sv-popup__button--danger sd-btn sd-btn--small sd-btn--danger";
20934
21028
  popupViewModel.width = "452px";
20935
21029
  return true;