survey-react-ui 1.10.1 → 1.10.3

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.10.1
2
+ * surveyjs - Survey JavaScript library v1.10.3
3
3
  * Copyright (c) 2015-2024 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
5
5
  */
@@ -161,11 +161,12 @@ function createDropdownActionModelAdvanced(actionOptions, listOptions, popupOpti
161
161
  }
162
162
  listOptions.onSelectionChanged(item);
163
163
  innerPopupModel.toggleVisibility();
164
- }, listOptions.allowSelection, listOptions.selectedItem, listOptions.onFilterStringChangedCallback);
164
+ }, listOptions.allowSelection, listOptions.selectedItem);
165
165
  listModel.locOwner = locOwner;
166
- var innerPopupModel = new _popup__WEBPACK_IMPORTED_MODULE_4__["PopupModel"]("sv-list", { model: listModel }, popupOptions === null || popupOptions === void 0 ? void 0 : popupOptions.verticalPosition, popupOptions === null || popupOptions === void 0 ? void 0 : popupOptions.horizontalPosition, popupOptions === null || popupOptions === void 0 ? void 0 : popupOptions.showPointer, popupOptions === null || popupOptions === void 0 ? void 0 : popupOptions.isModal, popupOptions === null || popupOptions === void 0 ? void 0 : popupOptions.onCancel, popupOptions === null || popupOptions === void 0 ? void 0 : popupOptions.onApply, popupOptions === null || popupOptions === void 0 ? void 0 : popupOptions.onHide, popupOptions === null || popupOptions === void 0 ? void 0 : popupOptions.onShow, popupOptions === null || popupOptions === void 0 ? void 0 : popupOptions.cssClass, popupOptions === null || popupOptions === void 0 ? void 0 : popupOptions.title, function () {
167
- listModel.dispose();
168
- });
166
+ listModel.setOnFilterStringChangedCallback(listOptions.onFilterStringChangedCallback);
167
+ var options = popupOptions || {};
168
+ options.onDispose = function () { listModel.dispose(); };
169
+ var innerPopupModel = new _popup__WEBPACK_IMPORTED_MODULE_4__["PopupModel"]("sv-list", { model: listModel }, options);
169
170
  innerPopupModel.displayMode = popupOptions === null || popupOptions === void 0 ? void 0 : popupOptions.displayMode;
170
171
  var newActionOptions = Object.assign({}, actionOptions, {
171
172
  component: "sv-action-bar-item-dropdown",
@@ -189,7 +190,6 @@ var BaseAction = /** @class */ (function (_super) {
189
190
  function BaseAction() {
190
191
  var _this = _super !== null && _super.apply(this, arguments) || this;
191
192
  _this.rendredIdValue = BaseAction.getNextRendredId();
192
- _this.iconSize = 24;
193
193
  return _this;
194
194
  }
195
195
  BaseAction.getNextRendredId = function () { return BaseAction.renderedId++; };
@@ -392,7 +392,7 @@ var BaseAction = /** @class */ (function (_super) {
392
392
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__["property"])()
393
393
  ], BaseAction.prototype, "iconName", void 0);
394
394
  __decorate([
395
- Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__["property"])()
395
+ Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__["property"])({ defaultValue: 24 })
396
396
  ], BaseAction.prototype, "iconSize", void 0);
397
397
  __decorate([
398
398
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__["property"])()
@@ -413,9 +413,9 @@ var Action = /** @class */ (function (_super) {
413
413
  //Object.assign(this, item) to support IE11
414
414
  if (!!innerItem) {
415
415
  for (var key in innerItem) {
416
- if (key !== "locTitle") {
417
- _this[key] = innerItem[key];
418
- }
416
+ if (key === "locTitle" || key === "title" && !!_this.locTitle && !!_this.title)
417
+ continue;
418
+ _this[key] = innerItem[key];
419
419
  }
420
420
  }
421
421
  if (!!_this.locTitleName) {
@@ -1266,6 +1266,8 @@ var Base = /** @class */ (function () {
1266
1266
  * A new value for the property.
1267
1267
  * - `options.oldValue`: `any`\
1268
1268
  * An old value of the property. If the property is an array, `oldValue` contains the same array as `newValue` does.
1269
+ *
1270
+ * If you need to add and remove property change event handlers dynamically, use the [`registerPropertyChangedHandlers`](#registerPropertyChangedHandlers) and [`unregisterPropertyChangedHandlers`](#unregisterPropertyChangedHandlers) methods instead.
1269
1271
  */
1270
1272
  this.onPropertyChanged = this.addEvent();
1271
1273
  /**
@@ -1661,8 +1663,6 @@ var Base = /** @class */ (function () {
1661
1663
  * @param val A new value for the property.
1662
1664
  */
1663
1665
  Base.prototype.setPropertyValue = function (name, val) {
1664
- if (name) {
1665
- }
1666
1666
  if (!this.isLoadingFromJson) {
1667
1667
  var prop = this.getPropertyByName(name);
1668
1668
  if (!!prop) {
@@ -1838,9 +1838,11 @@ var Base = /** @class */ (function () {
1838
1838
  return res;
1839
1839
  };
1840
1840
  /**
1841
- * Registers a function to call when a property value changes.
1841
+ * Registers a single value change handler for one or multiple properties.
1842
+ *
1843
+ * The `registerPropertyChangedHandlers` and [`unregisterPropertyChangedHandlers`](#unregisterPropertyChangedHandlers) methods allow you to manage property change event handlers dynamically. If you only need to attach an event handler without removing it afterwards, you can use the [`onPropertyChanged`](#onPropertyChanged) event instead.
1842
1844
  * @param propertyNames An array of one or multiple property names.
1843
- * @param handler A function to call when one of the listed properties change.
1845
+ * @param handler A function to call when one of the listed properties change. Accepts a new property value as an argument.
1844
1846
  * @param key *(Optional)* A key that identifies the current registration. If a function for one of the properties is already registered with the same key, the function will be overwritten. You can also use the key to subsequently unregister handlers.
1845
1847
  * @see unregisterPropertyChangedHandlers
1846
1848
  */
@@ -3020,7 +3022,7 @@ __webpack_require__.r(__webpack_exports__);
3020
3022
  /*!***************************************!*\
3021
3023
  !*** ./src/entries/react-ui-model.ts ***!
3022
3024
  \***************************************/
3023
- /*! 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, RatingDropdownItem, TagboxFilterString, SurveyQuestionOptionItem, SurveyQuestionDropdownBase, SurveyQuestionDropdown, SurveyQuestionTagboxItem, SurveyQuestionTagbox, SurveyQuestionDropdownSelect, SurveyQuestionMatrix, SurveyQuestionMatrixRow, SurveyQuestionMatrixCell, SurveyQuestionHtml, SurveyQuestionFile, SurveyFileChooseButton, SurveyFilePreview, SurveyQuestionMultipleText, SurveyQuestionRadiogroup, SurveyQuestionRadioItem, SurveyQuestionText, SurveyQuestionBoolean, SurveyQuestionBooleanCheckbox, SurveyQuestionBooleanRadio, SurveyQuestionEmpty, SurveyQuestionMatrixDropdownCell, SurveyQuestionMatrixDropdownBase, SurveyQuestionMatrixDropdown, SurveyQuestionMatrixDynamic, SurveyQuestionMatrixDynamicAddButton, SurveyQuestionPanelDynamic, SurveyProgress, SurveyProgressButtons, SurveyProgressToc, SurveyQuestionRating, SurveyQuestionRatingDropdown, SurveyQuestionExpression, PopupSurvey, SurveyWindow, ReactQuestionFactory, ReactElementFactory, SurveyQuestionImagePicker, SurveyQuestionImage, SurveyQuestionSignaturePad, SurveyQuestionButtonGroup, SurveyQuestionCustom, SurveyQuestionComposite, Popup, List, TitleActions, TitleElement, SurveyActionBar, LogoImage, SurveyHeader, SvgIcon, SurveyQuestionMatrixDynamicRemoveButton, SurveyQuestionMatrixDetailButton, SurveyQuestionMatrixDynamicDragDropIcon, SurveyQuestionPanelDynamicAddButton, SurveyQuestionPanelDynamicRemoveButton, SurveyQuestionPanelDynamicPrevButton, SurveyQuestionPanelDynamicNextButton, SurveyQuestionPanelDynamicProgressText, SurveyNavigationButton, MatrixRow, Skeleton, NotifierComponent, ComponentsContainer, CharacterCounterComponent, HeaderMobile, HeaderCell, Header, SurveyLocStringViewer, SurveyLocStringEditor, LoadingIndicatorComponent, SvgBundleComponent */
3025
+ /*! 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, RatingDropdownItem, TagboxFilterString, SurveyQuestionOptionItem, SurveyQuestionDropdownBase, SurveyQuestionDropdown, SurveyQuestionTagboxItem, SurveyQuestionTagbox, SurveyQuestionDropdownSelect, SurveyQuestionMatrix, SurveyQuestionMatrixRow, SurveyQuestionMatrixCell, SurveyQuestionHtml, SurveyQuestionFile, SurveyFileChooseButton, SurveyFilePreview, SurveyQuestionMultipleText, SurveyQuestionRadiogroup, SurveyQuestionRadioItem, SurveyQuestionText, SurveyQuestionBoolean, SurveyQuestionBooleanCheckbox, SurveyQuestionBooleanRadio, SurveyQuestionEmpty, SurveyQuestionMatrixDropdownCell, SurveyQuestionMatrixDropdownBase, SurveyQuestionMatrixDropdown, SurveyQuestionMatrixDynamic, SurveyQuestionMatrixDynamicAddButton, SurveyQuestionPanelDynamic, SurveyProgress, SurveyProgressButtons, SurveyProgressToc, SurveyQuestionRating, SurveyQuestionRatingDropdown, SurveyQuestionExpression, PopupSurvey, SurveyWindow, ReactQuestionFactory, ReactElementFactory, SurveyQuestionImagePicker, SurveyQuestionImage, SurveyQuestionSignaturePad, SurveyQuestionButtonGroup, SurveyQuestionCustom, SurveyQuestionComposite, Popup, List, TitleActions, TitleElement, SurveyActionBar, LogoImage, SurveyHeader, SvgIcon, SurveyQuestionMatrixDynamicRemoveButton, SurveyQuestionMatrixDetailButton, SurveyQuestionMatrixDynamicDragDropIcon, SurveyQuestionPanelDynamicAddButton, SurveyQuestionPanelDynamicRemoveButton, SurveyQuestionPanelDynamicPrevButton, SurveyQuestionPanelDynamicNextButton, SurveyQuestionPanelDynamicProgressText, SurveyNavigationButton, QuestionErrorComponent, MatrixRow, Skeleton, NotifierComponent, ComponentsContainer, CharacterCounterComponent, HeaderMobile, HeaderCell, Header, SurveyLocStringViewer, SurveyLocStringEditor, LoadingIndicatorComponent, SvgBundleComponent */
3024
3026
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
3025
3027
 
3026
3028
  "use strict";
@@ -3268,39 +3270,42 @@ __webpack_require__.r(__webpack_exports__);
3268
3270
  /* harmony import */ var _react_components_survey_actions_survey_nav_button__WEBPACK_IMPORTED_MODULE_70__ = __webpack_require__(/*! ../react/components/survey-actions/survey-nav-button */ "./src/react/components/survey-actions/survey-nav-button.tsx");
3269
3271
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyNavigationButton", function() { return _react_components_survey_actions_survey_nav_button__WEBPACK_IMPORTED_MODULE_70__["SurveyNavigationButton"]; });
3270
3272
 
3271
- /* harmony import */ var _react_components_matrix_row__WEBPACK_IMPORTED_MODULE_71__ = __webpack_require__(/*! ../react/components/matrix/row */ "./src/react/components/matrix/row.tsx");
3272
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MatrixRow", function() { return _react_components_matrix_row__WEBPACK_IMPORTED_MODULE_71__["MatrixRow"]; });
3273
+ /* harmony import */ var _react_components_question_error__WEBPACK_IMPORTED_MODULE_71__ = __webpack_require__(/*! ../react/components/question-error */ "./src/react/components/question-error.tsx");
3274
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "QuestionErrorComponent", function() { return _react_components_question_error__WEBPACK_IMPORTED_MODULE_71__["QuestionErrorComponent"]; });
3273
3275
 
3274
- /* harmony import */ var _react_components_skeleton__WEBPACK_IMPORTED_MODULE_72__ = __webpack_require__(/*! ../react/components/skeleton */ "./src/react/components/skeleton.tsx");
3275
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Skeleton", function() { return _react_components_skeleton__WEBPACK_IMPORTED_MODULE_72__["Skeleton"]; });
3276
+ /* harmony import */ var _react_components_matrix_row__WEBPACK_IMPORTED_MODULE_72__ = __webpack_require__(/*! ../react/components/matrix/row */ "./src/react/components/matrix/row.tsx");
3277
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MatrixRow", function() { return _react_components_matrix_row__WEBPACK_IMPORTED_MODULE_72__["MatrixRow"]; });
3276
3278
 
3277
- /* harmony import */ var _react_components_notifier__WEBPACK_IMPORTED_MODULE_73__ = __webpack_require__(/*! ../react/components/notifier */ "./src/react/components/notifier.tsx");
3278
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "NotifierComponent", function() { return _react_components_notifier__WEBPACK_IMPORTED_MODULE_73__["NotifierComponent"]; });
3279
+ /* harmony import */ var _react_components_skeleton__WEBPACK_IMPORTED_MODULE_73__ = __webpack_require__(/*! ../react/components/skeleton */ "./src/react/components/skeleton.tsx");
3280
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Skeleton", function() { return _react_components_skeleton__WEBPACK_IMPORTED_MODULE_73__["Skeleton"]; });
3279
3281
 
3280
- /* harmony import */ var _react_components_components_container__WEBPACK_IMPORTED_MODULE_74__ = __webpack_require__(/*! ../react/components/components-container */ "./src/react/components/components-container.tsx");
3281
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ComponentsContainer", function() { return _react_components_components_container__WEBPACK_IMPORTED_MODULE_74__["ComponentsContainer"]; });
3282
+ /* harmony import */ var _react_components_notifier__WEBPACK_IMPORTED_MODULE_74__ = __webpack_require__(/*! ../react/components/notifier */ "./src/react/components/notifier.tsx");
3283
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "NotifierComponent", function() { return _react_components_notifier__WEBPACK_IMPORTED_MODULE_74__["NotifierComponent"]; });
3282
3284
 
3283
- /* harmony import */ var _react_components_character_counter__WEBPACK_IMPORTED_MODULE_75__ = __webpack_require__(/*! ../react/components/character-counter */ "./src/react/components/character-counter.tsx");
3284
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "CharacterCounterComponent", function() { return _react_components_character_counter__WEBPACK_IMPORTED_MODULE_75__["CharacterCounterComponent"]; });
3285
+ /* harmony import */ var _react_components_components_container__WEBPACK_IMPORTED_MODULE_75__ = __webpack_require__(/*! ../react/components/components-container */ "./src/react/components/components-container.tsx");
3286
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ComponentsContainer", function() { return _react_components_components_container__WEBPACK_IMPORTED_MODULE_75__["ComponentsContainer"]; });
3285
3287
 
3286
- /* harmony import */ var _react_components_header__WEBPACK_IMPORTED_MODULE_76__ = __webpack_require__(/*! ../react/components/header */ "./src/react/components/header.tsx");
3287
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "HeaderMobile", function() { return _react_components_header__WEBPACK_IMPORTED_MODULE_76__["HeaderMobile"]; });
3288
+ /* harmony import */ var _react_components_character_counter__WEBPACK_IMPORTED_MODULE_76__ = __webpack_require__(/*! ../react/components/character-counter */ "./src/react/components/character-counter.tsx");
3289
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "CharacterCounterComponent", function() { return _react_components_character_counter__WEBPACK_IMPORTED_MODULE_76__["CharacterCounterComponent"]; });
3288
3290
 
3289
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "HeaderCell", function() { return _react_components_header__WEBPACK_IMPORTED_MODULE_76__["HeaderCell"]; });
3291
+ /* harmony import */ var _react_components_header__WEBPACK_IMPORTED_MODULE_77__ = __webpack_require__(/*! ../react/components/header */ "./src/react/components/header.tsx");
3292
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "HeaderMobile", function() { return _react_components_header__WEBPACK_IMPORTED_MODULE_77__["HeaderMobile"]; });
3290
3293
 
3291
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Header", function() { return _react_components_header__WEBPACK_IMPORTED_MODULE_76__["Header"]; });
3294
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "HeaderCell", function() { return _react_components_header__WEBPACK_IMPORTED_MODULE_77__["HeaderCell"]; });
3292
3295
 
3293
- /* harmony import */ var _react_string_viewer__WEBPACK_IMPORTED_MODULE_77__ = __webpack_require__(/*! ../react/string-viewer */ "./src/react/string-viewer.tsx");
3294
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyLocStringViewer", function() { return _react_string_viewer__WEBPACK_IMPORTED_MODULE_77__["SurveyLocStringViewer"]; });
3296
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Header", function() { return _react_components_header__WEBPACK_IMPORTED_MODULE_77__["Header"]; });
3295
3297
 
3296
- /* harmony import */ var _react_string_editor__WEBPACK_IMPORTED_MODULE_78__ = __webpack_require__(/*! ../react/string-editor */ "./src/react/string-editor.tsx");
3297
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyLocStringEditor", function() { return _react_string_editor__WEBPACK_IMPORTED_MODULE_78__["SurveyLocStringEditor"]; });
3298
+ /* harmony import */ var _react_string_viewer__WEBPACK_IMPORTED_MODULE_78__ = __webpack_require__(/*! ../react/string-viewer */ "./src/react/string-viewer.tsx");
3299
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyLocStringViewer", function() { return _react_string_viewer__WEBPACK_IMPORTED_MODULE_78__["SurveyLocStringViewer"]; });
3298
3300
 
3299
- /* harmony import */ var _react_components_loading_indicator__WEBPACK_IMPORTED_MODULE_79__ = __webpack_require__(/*! ../react/components/loading-indicator */ "./src/react/components/loading-indicator.tsx");
3300
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "LoadingIndicatorComponent", function() { return _react_components_loading_indicator__WEBPACK_IMPORTED_MODULE_79__["LoadingIndicatorComponent"]; });
3301
+ /* harmony import */ var _react_string_editor__WEBPACK_IMPORTED_MODULE_79__ = __webpack_require__(/*! ../react/string-editor */ "./src/react/string-editor.tsx");
3302
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyLocStringEditor", function() { return _react_string_editor__WEBPACK_IMPORTED_MODULE_79__["SurveyLocStringEditor"]; });
3301
3303
 
3302
- /* harmony import */ var _react_svgbundle__WEBPACK_IMPORTED_MODULE_80__ = __webpack_require__(/*! ../react/svgbundle */ "./src/react/svgbundle.tsx");
3303
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SvgBundleComponent", function() { return _react_svgbundle__WEBPACK_IMPORTED_MODULE_80__["SvgBundleComponent"]; });
3304
+ /* harmony import */ var _react_components_loading_indicator__WEBPACK_IMPORTED_MODULE_80__ = __webpack_require__(/*! ../react/components/loading-indicator */ "./src/react/components/loading-indicator.tsx");
3305
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "LoadingIndicatorComponent", function() { return _react_components_loading_indicator__WEBPACK_IMPORTED_MODULE_80__["LoadingIndicatorComponent"]; });
3306
+
3307
+ /* harmony import */ var _react_svgbundle__WEBPACK_IMPORTED_MODULE_81__ = __webpack_require__(/*! ../react/svgbundle */ "./src/react/svgbundle.tsx");
3308
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SvgBundleComponent", function() { return _react_svgbundle__WEBPACK_IMPORTED_MODULE_81__["SvgBundleComponent"]; });
3304
3309
 
3305
3310
  // react
3306
3311
 
@@ -3382,6 +3387,7 @@ __webpack_require__.r(__webpack_exports__);
3382
3387
 
3383
3388
 
3384
3389
 
3390
+
3385
3391
 
3386
3392
 
3387
3393
  //Uncomment to include the "date" question type.
@@ -3394,7 +3400,7 @@ __webpack_require__.r(__webpack_exports__);
3394
3400
  /*!*********************************!*\
3395
3401
  !*** ./src/entries/react-ui.ts ***!
3396
3402
  \*********************************/
3397
- /*! 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, RatingDropdownItem, TagboxFilterString, SurveyQuestionOptionItem, SurveyQuestionDropdownBase, SurveyQuestionDropdown, SurveyQuestionTagboxItem, SurveyQuestionTagbox, SurveyQuestionDropdownSelect, SurveyQuestionMatrix, SurveyQuestionMatrixRow, SurveyQuestionMatrixCell, SurveyQuestionHtml, SurveyQuestionFile, SurveyFileChooseButton, SurveyFilePreview, SurveyQuestionMultipleText, SurveyQuestionRadiogroup, SurveyQuestionRadioItem, SurveyQuestionText, SurveyQuestionBoolean, SurveyQuestionBooleanCheckbox, SurveyQuestionBooleanRadio, SurveyQuestionEmpty, SurveyQuestionMatrixDropdownCell, SurveyQuestionMatrixDropdownBase, SurveyQuestionMatrixDropdown, SurveyQuestionMatrixDynamic, SurveyQuestionMatrixDynamicAddButton, SurveyQuestionPanelDynamic, SurveyProgress, SurveyProgressButtons, SurveyProgressToc, SurveyQuestionRating, SurveyQuestionRatingDropdown, SurveyQuestionExpression, PopupSurvey, SurveyWindow, ReactQuestionFactory, ReactElementFactory, SurveyQuestionImagePicker, SurveyQuestionImage, SurveyQuestionSignaturePad, SurveyQuestionButtonGroup, SurveyQuestionCustom, SurveyQuestionComposite, Popup, List, TitleActions, TitleElement, SurveyActionBar, LogoImage, SurveyHeader, SvgIcon, SurveyQuestionMatrixDynamicRemoveButton, SurveyQuestionMatrixDetailButton, SurveyQuestionMatrixDynamicDragDropIcon, SurveyQuestionPanelDynamicAddButton, SurveyQuestionPanelDynamicRemoveButton, SurveyQuestionPanelDynamicPrevButton, SurveyQuestionPanelDynamicNextButton, SurveyQuestionPanelDynamicProgressText, SurveyNavigationButton, MatrixRow, Skeleton, NotifierComponent, ComponentsContainer, CharacterCounterComponent, HeaderMobile, HeaderCell, Header, SurveyLocStringViewer, SurveyLocStringEditor, LoadingIndicatorComponent, SvgBundleComponent, SurveyModel, SurveyWindowModel, settings, surveyLocalization, surveyStrings, Model, ResponsivityManager, VerticalResponsivityManager, unwrap */
3403
+ /*! 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, RatingDropdownItem, TagboxFilterString, SurveyQuestionOptionItem, SurveyQuestionDropdownBase, SurveyQuestionDropdown, SurveyQuestionTagboxItem, SurveyQuestionTagbox, SurveyQuestionDropdownSelect, SurveyQuestionMatrix, SurveyQuestionMatrixRow, SurveyQuestionMatrixCell, SurveyQuestionHtml, SurveyQuestionFile, SurveyFileChooseButton, SurveyFilePreview, SurveyQuestionMultipleText, SurveyQuestionRadiogroup, SurveyQuestionRadioItem, SurveyQuestionText, SurveyQuestionBoolean, SurveyQuestionBooleanCheckbox, SurveyQuestionBooleanRadio, SurveyQuestionEmpty, SurveyQuestionMatrixDropdownCell, SurveyQuestionMatrixDropdownBase, SurveyQuestionMatrixDropdown, SurveyQuestionMatrixDynamic, SurveyQuestionMatrixDynamicAddButton, SurveyQuestionPanelDynamic, SurveyProgress, SurveyProgressButtons, SurveyProgressToc, SurveyQuestionRating, SurveyQuestionRatingDropdown, SurveyQuestionExpression, PopupSurvey, SurveyWindow, ReactQuestionFactory, ReactElementFactory, SurveyQuestionImagePicker, SurveyQuestionImage, SurveyQuestionSignaturePad, SurveyQuestionButtonGroup, SurveyQuestionCustom, SurveyQuestionComposite, Popup, List, TitleActions, TitleElement, SurveyActionBar, LogoImage, SurveyHeader, SvgIcon, SurveyQuestionMatrixDynamicRemoveButton, SurveyQuestionMatrixDetailButton, SurveyQuestionMatrixDynamicDragDropIcon, SurveyQuestionPanelDynamicAddButton, SurveyQuestionPanelDynamicRemoveButton, SurveyQuestionPanelDynamicPrevButton, SurveyQuestionPanelDynamicNextButton, SurveyQuestionPanelDynamicProgressText, SurveyNavigationButton, QuestionErrorComponent, MatrixRow, Skeleton, NotifierComponent, ComponentsContainer, CharacterCounterComponent, HeaderMobile, HeaderCell, Header, SurveyLocStringViewer, SurveyLocStringEditor, LoadingIndicatorComponent, SvgBundleComponent, SurveyModel, SurveyWindowModel, settings, surveyLocalization, surveyStrings, Model, ResponsivityManager, VerticalResponsivityManager, unwrap */
3398
3404
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
3399
3405
 
3400
3406
  "use strict";
@@ -3572,6 +3578,8 @@ __webpack_require__.r(__webpack_exports__);
3572
3578
 
3573
3579
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyNavigationButton", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_0__["SurveyNavigationButton"]; });
3574
3580
 
3581
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "QuestionErrorComponent", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_0__["QuestionErrorComponent"]; });
3582
+
3575
3583
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MatrixRow", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_0__["MatrixRow"]; });
3576
3584
 
3577
3585
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Skeleton", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_0__["Skeleton"]; });
@@ -3625,7 +3633,7 @@ __webpack_require__.r(__webpack_exports__);
3625
3633
 
3626
3634
 
3627
3635
 
3628
- Object(survey_core__WEBPACK_IMPORTED_MODULE_2__["checkLibraryVersion"])("" + "1.10.1", "survey-react-ui");
3636
+ Object(survey_core__WEBPACK_IMPORTED_MODULE_2__["checkLibraryVersion"])("" + "1.10.3", "survey-react-ui");
3629
3637
 
3630
3638
 
3631
3639
  /***/ }),
@@ -9612,10 +9620,18 @@ var JsonMetadata = /** @class */ (function () {
9612
9620
  return metaClass.getAllProperties();
9613
9621
  };
9614
9622
  JsonMetadata.prototype.getPropertiesByObj = function (obj) {
9615
- if (!obj || !obj.getType)
9623
+ var type = !!obj && !!obj.getType ? obj.getType() : undefined;
9624
+ if (!type)
9616
9625
  return [];
9617
- var props = this.getProperties(obj.getType());
9626
+ var props = this.getProperties(type);
9618
9627
  var dynamicProps = this.getDynamicPropertiesByObj(obj);
9628
+ for (var i = dynamicProps.length - 1; i >= 0; i--) {
9629
+ if (this.findProperty(type, dynamicProps[i].name)) {
9630
+ dynamicProps.splice(i, 1);
9631
+ }
9632
+ }
9633
+ if (dynamicProps.length === 0)
9634
+ return props;
9619
9635
  return [].concat(props).concat(dynamicProps);
9620
9636
  };
9621
9637
  JsonMetadata.prototype.addDynamicPropertiesIntoObj = function (dest, src, props) {
@@ -10326,7 +10342,7 @@ var JsonObject = /** @class */ (function () {
10326
10342
  this.removePosFromObj(value);
10327
10343
  };
10328
10344
  JsonObject.prototype.removePosFromObj = function (obj) {
10329
- if (!obj)
10345
+ if (!obj || typeof obj.getType === "function")
10330
10346
  return;
10331
10347
  if (Array.isArray(obj)) {
10332
10348
  for (var i = 0; i < obj.length; i++) {
@@ -10543,11 +10559,10 @@ var defaultListCss = {
10543
10559
  };
10544
10560
  var ListModel = /** @class */ (function (_super) {
10545
10561
  __extends(ListModel, _super);
10546
- function ListModel(items, onSelectionChanged, allowSelection, selectedItem, onFilterStringChangedCallback, elementId) {
10562
+ function ListModel(items, onSelectionChanged, allowSelection, selectedItem, elementId) {
10547
10563
  var _this = _super.call(this) || this;
10548
10564
  _this.onSelectionChanged = onSelectionChanged;
10549
10565
  _this.allowSelection = allowSelection;
10550
- _this.onFilterStringChangedCallback = onFilterStringChangedCallback;
10551
10566
  _this.elementId = elementId;
10552
10567
  _this.onItemClick = function (itemValue) {
10553
10568
  if (_this.isItemDisabled(itemValue)) {
@@ -11547,7 +11562,7 @@ var englishStrings = {
11547
11562
  questionsProgressText: "Answered {0}/{1} questions",
11548
11563
  emptySurvey: "The survey doesn't contain any visible elements.",
11549
11564
  completingSurvey: "Thank you for completing the survey",
11550
- completingSurveyBefore: "Our records show that you have already completed this survey.",
11565
+ completingSurveyBefore: "You have already completed this survey.",
11551
11566
  loadingSurvey: "Loading Survey...",
11552
11567
  placeholder: "Select...",
11553
11568
  ratingOptionsCaption: "Select...",
@@ -11597,7 +11612,7 @@ var englishStrings = {
11597
11612
  savingData: "The results are being saved on the server...",
11598
11613
  savingDataError: "An error occurred and we could not save the results.",
11599
11614
  savingDataSuccess: "The results were saved successfully!",
11600
- savingExceedSize: "Your response exceeds 64KB. Please reduce the size of your file(s) and try again or contact a survey owner.",
11615
+ savingExceedSize: "Your response exceeds 64KB. Please reduce the size of your file(s) and try again or contact the survey owner.",
11601
11616
  saveAgainButton: "Try again",
11602
11617
  timerMin: "min",
11603
11618
  timerSec: "sec",
@@ -11683,36 +11698,29 @@ var __decorate = (undefined && undefined.__decorate) || function (decorators, ta
11683
11698
 
11684
11699
  var PopupModel = /** @class */ (function (_super) {
11685
11700
  __extends(PopupModel, _super);
11686
- function PopupModel(contentComponentName, contentComponentData, verticalPosition, horizontalPosition, showPointer, isModal, onCancel, onApply, onHide, onShow, cssClass, title, onDispose) {
11687
- if (verticalPosition === void 0) { verticalPosition = "bottom"; }
11688
- if (horizontalPosition === void 0) { horizontalPosition = "left"; }
11689
- if (showPointer === void 0) { showPointer = true; }
11690
- if (isModal === void 0) { isModal = false; }
11691
- if (onCancel === void 0) { onCancel = function () { }; }
11692
- if (onApply === void 0) { onApply = function () { return true; }; }
11693
- if (onHide === void 0) { onHide = function () { }; }
11694
- if (onShow === void 0) { onShow = function () { }; }
11695
- if (cssClass === void 0) { cssClass = ""; }
11696
- if (title === void 0) { title = ""; }
11697
- if (onDispose === void 0) { onDispose = function () { }; }
11701
+ function PopupModel(contentComponentName, contentComponentData, option1, option2) {
11698
11702
  var _this = _super.call(this) || this;
11699
- _this.onDispose = onDispose;
11700
11703
  _this.focusFirstInputSelector = "";
11704
+ _this.onCancel = function () { };
11705
+ _this.onApply = function () { return true; };
11706
+ _this.onHide = function () { };
11707
+ _this.onShow = function () { };
11708
+ _this.onDispose = function () { };
11701
11709
  _this.onVisibilityChanged = _this.addEvent();
11702
11710
  _this.onFooterActionsCreated = _this.addEvent();
11703
11711
  _this.onRecalculatePosition = _this.addEvent();
11704
11712
  _this.contentComponentName = contentComponentName;
11705
11713
  _this.contentComponentData = contentComponentData;
11706
- _this.verticalPosition = verticalPosition;
11707
- _this.horizontalPosition = horizontalPosition;
11708
- _this.showPointer = showPointer;
11709
- _this.isModal = isModal;
11710
- _this.onCancel = onCancel;
11711
- _this.onApply = onApply;
11712
- _this.onHide = onHide;
11713
- _this.onShow = onShow;
11714
- _this.cssClass = cssClass;
11715
- _this.title = title;
11714
+ if (!!option1 && typeof option1 === "string") {
11715
+ _this.verticalPosition = option1;
11716
+ _this.horizontalPosition = option2;
11717
+ }
11718
+ else if (!!option1) {
11719
+ var popupOptions = option1;
11720
+ for (var key in popupOptions) {
11721
+ _this[key] = popupOptions[key];
11722
+ }
11723
+ }
11716
11724
  return _this;
11717
11725
  }
11718
11726
  PopupModel.prototype.refreshInnerModel = function () {
@@ -11768,7 +11776,7 @@ var PopupModel = /** @class */ (function (_super) {
11768
11776
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])({ defaultValue: "left" })
11769
11777
  ], PopupModel.prototype, "horizontalPosition", void 0);
11770
11778
  __decorate([
11771
- Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])({ defaultValue: false })
11779
+ Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])({ defaultValue: true })
11772
11780
  ], PopupModel.prototype, "showPointer", void 0);
11773
11781
  __decorate([
11774
11782
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])({ defaultValue: false })
@@ -11779,18 +11787,6 @@ var PopupModel = /** @class */ (function (_super) {
11779
11787
  __decorate([
11780
11788
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])({ defaultValue: true })
11781
11789
  ], PopupModel.prototype, "isFocusedContainer", void 0);
11782
- __decorate([
11783
- Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])({ defaultValue: function () { } })
11784
- ], PopupModel.prototype, "onCancel", void 0);
11785
- __decorate([
11786
- Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])({ defaultValue: function () { return true; } })
11787
- ], PopupModel.prototype, "onApply", void 0);
11788
- __decorate([
11789
- Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])({ defaultValue: function () { } })
11790
- ], PopupModel.prototype, "onHide", void 0);
11791
- __decorate([
11792
- Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])({ defaultValue: function () { } })
11793
- ], PopupModel.prototype, "onShow", void 0);
11794
11790
  __decorate([
11795
11791
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])({ defaultValue: "" })
11796
11792
  ], PopupModel.prototype, "cssClass", void 0);
@@ -12082,7 +12078,7 @@ var SurveyQuestionBoolean = /** @class */ (function (_super) {
12082
12078
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: cssClasses.sliderGhost, onClick: function (event) { return _this.handleOnLabelClick(event, _this.question.swapOrder); } },
12083
12079
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", { className: this.question.getLabelCss(this.question.swapOrder) }, this.renderLocString(this.question.locLabelLeft))),
12084
12080
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: cssClasses.switch, onClick: this.handleOnSwitchClick },
12085
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", { className: cssClasses.slider }, this.question.isDeterminated && cssClasses.sliderText ?
12081
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", { className: cssClasses.slider, style: { marginLeft: this.question.thumbMargin } }, this.question.isDeterminated && cssClasses.sliderText ?
12086
12082
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", { className: cssClasses.sliderText }, this.renderLocString(this.question.getCheckedLabel()))
12087
12083
  : null)),
12088
12084
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: cssClasses.sliderGhost, onClick: function (event) { return _this.handleOnLabelClick(event, !_this.question.swapOrder); } },
@@ -14119,6 +14115,59 @@ survey_core__WEBPACK_IMPORTED_MODULE_2__["settings"].showModal = showModal;
14119
14115
  survey_core__WEBPACK_IMPORTED_MODULE_2__["settings"].showDialog = showDialog;
14120
14116
 
14121
14117
 
14118
+ /***/ }),
14119
+
14120
+ /***/ "./src/react/components/question-error.tsx":
14121
+ /*!*************************************************!*\
14122
+ !*** ./src/react/components/question-error.tsx ***!
14123
+ \*************************************************/
14124
+ /*! exports provided: QuestionErrorComponent */
14125
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
14126
+
14127
+ "use strict";
14128
+ __webpack_require__.r(__webpack_exports__);
14129
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "QuestionErrorComponent", function() { return QuestionErrorComponent; });
14130
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
14131
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
14132
+ /* harmony import */ var _element_factory__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../element-factory */ "./src/react/element-factory.tsx");
14133
+ /* harmony import */ var _string_viewer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../string-viewer */ "./src/react/string-viewer.tsx");
14134
+ var __extends = (undefined && undefined.__extends) || (function () {
14135
+ var extendStatics = function (d, b) {
14136
+ extendStatics = Object.setPrototypeOf ||
14137
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
14138
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
14139
+ return extendStatics(d, b);
14140
+ };
14141
+ return function (d, b) {
14142
+ if (typeof b !== "function" && b !== null)
14143
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
14144
+ extendStatics(d, b);
14145
+ function __() { this.constructor = d; }
14146
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
14147
+ };
14148
+ })();
14149
+
14150
+
14151
+
14152
+ var QuestionErrorComponent = /** @class */ (function (_super) {
14153
+ __extends(QuestionErrorComponent, _super);
14154
+ function QuestionErrorComponent() {
14155
+ return _super !== null && _super.apply(this, arguments) || this;
14156
+ }
14157
+ QuestionErrorComponent.prototype.render = function () {
14158
+ return (react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", null,
14159
+ react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { className: this.props.cssClasses.error.icon || undefined, "aria-hidden": "true" }),
14160
+ react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { className: this.props.cssClasses.error.item || undefined },
14161
+ react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_string_viewer__WEBPACK_IMPORTED_MODULE_2__["SurveyLocStringViewer"], { locStr: this.props.error.locText }))));
14162
+ };
14163
+ return QuestionErrorComponent;
14164
+ }(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component));
14165
+
14166
+ _element_factory__WEBPACK_IMPORTED_MODULE_1__["ReactElementFactory"].Instance.registerElement("sv-question-error", function (props) {
14167
+ return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(QuestionErrorComponent, props);
14168
+ });
14169
+
14170
+
14122
14171
  /***/ }),
14123
14172
 
14124
14173
  /***/ "./src/react/components/rating/rating-dropdown-item.tsx":
@@ -16569,6 +16618,7 @@ __webpack_require__.r(__webpack_exports__);
16569
16618
  /* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(survey_core__WEBPACK_IMPORTED_MODULE_1__);
16570
16619
  /* harmony import */ var _reactSurveyNavigationBase__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./reactSurveyNavigationBase */ "./src/react/reactSurveyNavigationBase.tsx");
16571
16620
  /* harmony import */ var _element_factory__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./element-factory */ "./src/react/element-factory.tsx");
16621
+ /* harmony import */ var _reactquestion_element__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./reactquestion_element */ "./src/react/reactquestion_element.tsx");
16572
16622
  var __extends = (undefined && undefined.__extends) || (function () {
16573
16623
  var extendStatics = function (d, b) {
16574
16624
  extendStatics = Object.setPrototypeOf ||
@@ -16588,6 +16638,7 @@ var __extends = (undefined && undefined.__extends) || (function () {
16588
16638
 
16589
16639
 
16590
16640
 
16641
+
16591
16642
  var SurveyProgressButtons = /** @class */ (function (_super) {
16592
16643
  __extends(SurveyProgressButtons, _super);
16593
16644
  function SurveyProgressButtons(props) {
@@ -16647,12 +16698,13 @@ var SurveyProgressButtons = /** @class */ (function (_super) {
16647
16698
  };
16648
16699
  SurveyProgressButtons.prototype.renderListElement = function (page, index) {
16649
16700
  var _this = this;
16701
+ var text = _reactquestion_element__WEBPACK_IMPORTED_MODULE_4__["SurveyElementBase"].renderLocString(page.locNavigationTitle);
16650
16702
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("li", { key: "listelement" + index, className: this.model.getListElementCss(index), onClick: this.model.isListElementClickable(index)
16651
16703
  ? function () { return _this.model.clickListElement(page); }
16652
16704
  : undefined, "data-page-number": this.model.getItemNumber(page) },
16653
16705
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.css.progressButtonsConnector }),
16654
16706
  this.state.canShowItemTitles ? react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null,
16655
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.css.progressButtonsPageTitle, title: page.renderedNavigationTitle }, page.renderedNavigationTitle),
16707
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.css.progressButtonsPageTitle, title: page.renderedNavigationTitle }, text),
16656
16708
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.css.progressButtonsPageDescription, title: page.navigationDescription }, page.navigationDescription)) : null,
16657
16709
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.css.progressButtonsButton },
16658
16710
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.css.progressButtonsButtonBackground }),
@@ -16984,14 +17036,13 @@ __webpack_require__.r(__webpack_exports__);
16984
17036
  /* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(survey_core__WEBPACK_IMPORTED_MODULE_1__);
16985
17037
  /* harmony import */ var _page__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./page */ "./src/react/page.tsx");
16986
17038
  /* harmony import */ var _reactquestion_element__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./reactquestion_element */ "./src/react/reactquestion_element.tsx");
16987
- /* harmony import */ var _string_viewer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./string-viewer */ "./src/react/string-viewer.tsx");
16988
- /* harmony import */ var _components_survey_header_survey_header__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./components/survey-header/survey-header */ "./src/react/components/survey-header/survey-header.tsx");
16989
- /* harmony import */ var _reactquestion_factory__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./reactquestion_factory */ "./src/react/reactquestion_factory.tsx");
16990
- /* harmony import */ var _element_factory__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./element-factory */ "./src/react/element-factory.tsx");
16991
- /* harmony import */ var _components_brand_info__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./components/brand-info */ "./src/react/components/brand-info.tsx");
16992
- /* harmony import */ var _components_notifier__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./components/notifier */ "./src/react/components/notifier.tsx");
16993
- /* harmony import */ var _components_components_container__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./components/components-container */ "./src/react/components/components-container.tsx");
16994
- /* harmony import */ var _svgbundle__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./svgbundle */ "./src/react/svgbundle.tsx");
17039
+ /* harmony import */ var _components_survey_header_survey_header__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./components/survey-header/survey-header */ "./src/react/components/survey-header/survey-header.tsx");
17040
+ /* harmony import */ var _reactquestion_factory__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./reactquestion_factory */ "./src/react/reactquestion_factory.tsx");
17041
+ /* harmony import */ var _element_factory__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./element-factory */ "./src/react/element-factory.tsx");
17042
+ /* harmony import */ var _components_brand_info__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./components/brand-info */ "./src/react/components/brand-info.tsx");
17043
+ /* harmony import */ var _components_notifier__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./components/notifier */ "./src/react/components/notifier.tsx");
17044
+ /* harmony import */ var _components_components_container__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./components/components-container */ "./src/react/components/components-container.tsx");
17045
+ /* harmony import */ var _svgbundle__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./svgbundle */ "./src/react/svgbundle.tsx");
16995
17046
  var __extends = (undefined && undefined.__extends) || (function () {
16996
17047
  var extendStatics = function (d, b) {
16997
17048
  extendStatics = Object.setPrototypeOf ||
@@ -17029,7 +17080,6 @@ var __assign = (undefined && undefined.__assign) || function () {
17029
17080
 
17030
17081
 
17031
17082
 
17032
-
17033
17083
  var Survey = /** @class */ (function (_super) {
17034
17084
  __extends(Survey, _super);
17035
17085
  function Survey(props) {
@@ -17117,7 +17167,7 @@ var Survey = /** @class */ (function (_super) {
17117
17167
  renderResult = this.renderSurvey();
17118
17168
  }
17119
17169
  var backgroundImage = !!this.survey.backgroundImage ? react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.css.rootBackgroundImage, style: this.survey.backgroundImageStyle }) : null;
17120
- var header = this.survey.headerView === "basic" ? react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_components_survey_header_survey_header__WEBPACK_IMPORTED_MODULE_5__["SurveyHeader"], { survey: this.survey }) : null;
17170
+ var header = this.survey.headerView === "basic" ? react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_components_survey_header_survey_header__WEBPACK_IMPORTED_MODULE_4__["SurveyHeader"], { survey: this.survey }) : null;
17121
17171
  var onSubmit = function (event) {
17122
17172
  event.preventDefault();
17123
17173
  };
@@ -17128,18 +17178,18 @@ var Survey = /** @class */ (function (_super) {
17128
17178
  var rootCss = this.survey.getRootCss();
17129
17179
  var cssClasses = this.rootNodeClassName ? this.rootNodeClassName + " " + rootCss : rootCss;
17130
17180
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { id: this.rootNodeId, ref: this.rootRef, className: cssClasses, style: this.survey.themeVariables },
17131
- this.survey.needRenderIcons ? react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_svgbundle__WEBPACK_IMPORTED_MODULE_11__["SvgBundleComponent"], null) : null,
17181
+ this.survey.needRenderIcons ? react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_svgbundle__WEBPACK_IMPORTED_MODULE_10__["SvgBundleComponent"], null) : null,
17132
17182
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.survey.wrapperFormCss },
17133
17183
  backgroundImage,
17134
17184
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("form", { onSubmit: onSubmit },
17135
17185
  customHeader,
17136
17186
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.css.container },
17137
17187
  header,
17138
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_components_components_container__WEBPACK_IMPORTED_MODULE_10__["ComponentsContainer"], { survey: this.survey, container: "header", needRenderWrapper: false }),
17188
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_components_components_container__WEBPACK_IMPORTED_MODULE_9__["ComponentsContainer"], { survey: this.survey, container: "header", needRenderWrapper: false }),
17139
17189
  renderResult,
17140
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_components_components_container__WEBPACK_IMPORTED_MODULE_10__["ComponentsContainer"], { survey: this.survey, container: "footer", needRenderWrapper: false }))),
17141
- this.survey.showBrandInfo ? react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_components_brand_info__WEBPACK_IMPORTED_MODULE_8__["BrandInfo"], null) : null,
17142
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_components_notifier__WEBPACK_IMPORTED_MODULE_9__["NotifierComponent"], { notifier: this.survey.notifier }))));
17190
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_components_components_container__WEBPACK_IMPORTED_MODULE_9__["ComponentsContainer"], { survey: this.survey, container: "footer", needRenderWrapper: false }))),
17191
+ this.survey.showBrandInfo ? react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_components_brand_info__WEBPACK_IMPORTED_MODULE_7__["BrandInfo"], null) : null,
17192
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_components_notifier__WEBPACK_IMPORTED_MODULE_8__["NotifierComponent"], { notifier: this.survey.notifier }))));
17143
17193
  };
17144
17194
  Survey.prototype.renderElement = function () {
17145
17195
  return this.doRender();
@@ -17160,7 +17210,7 @@ var Survey = /** @class */ (function (_super) {
17160
17210
  var htmlValue = { __html: this.survey.processedCompletedHtml };
17161
17211
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null,
17162
17212
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { dangerouslySetInnerHTML: htmlValue, className: this.survey.completedCss }),
17163
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_components_components_container__WEBPACK_IMPORTED_MODULE_10__["ComponentsContainer"], { survey: this.survey, container: "completePage", needRenderWrapper: false })));
17213
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_components_components_container__WEBPACK_IMPORTED_MODULE_9__["ComponentsContainer"], { survey: this.survey, container: "completePage", needRenderWrapper: false })));
17164
17214
  };
17165
17215
  Survey.prototype.renderCompletedBefore = function () {
17166
17216
  var htmlValue = { __html: this.survey.processedCompletedBeforeHtml };
@@ -17182,14 +17232,14 @@ var Survey = /** @class */ (function (_super) {
17182
17232
  style.maxWidth = this.survey.renderedWidth;
17183
17233
  }
17184
17234
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.survey.bodyContainerCss },
17185
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_components_components_container__WEBPACK_IMPORTED_MODULE_10__["ComponentsContainer"], { survey: this.survey, container: "left" }),
17235
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_components_components_container__WEBPACK_IMPORTED_MODULE_9__["ComponentsContainer"], { survey: this.survey, container: "left" }),
17186
17236
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: "sv-components-column sv-components-column--expandable" },
17187
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_components_components_container__WEBPACK_IMPORTED_MODULE_10__["ComponentsContainer"], { survey: this.survey, container: "center" }),
17237
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_components_components_container__WEBPACK_IMPORTED_MODULE_9__["ComponentsContainer"], { survey: this.survey, container: "center" }),
17188
17238
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { id: pageId, className: className, style: style },
17189
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_components_components_container__WEBPACK_IMPORTED_MODULE_10__["ComponentsContainer"], { survey: this.survey, container: "contentTop" }),
17239
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_components_components_container__WEBPACK_IMPORTED_MODULE_9__["ComponentsContainer"], { survey: this.survey, container: "contentTop" }),
17190
17240
  activePage,
17191
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_components_components_container__WEBPACK_IMPORTED_MODULE_10__["ComponentsContainer"], { survey: this.survey, container: "contentBottom" }))),
17192
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_components_components_container__WEBPACK_IMPORTED_MODULE_10__["ComponentsContainer"], { survey: this.survey, container: "right" })));
17241
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_components_components_container__WEBPACK_IMPORTED_MODULE_9__["ComponentsContainer"], { survey: this.survey, container: "contentBottom" }))),
17242
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_components_components_container__WEBPACK_IMPORTED_MODULE_9__["ComponentsContainer"], { survey: this.survey, container: "right" })));
17193
17243
  };
17194
17244
  Survey.prototype.renderPage = function (page) {
17195
17245
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_page__WEBPACK_IMPORTED_MODULE_2__["SurveyPage"], { survey: this.survey, page: page, css: this.css, creator: this }));
@@ -17270,17 +17320,14 @@ var Survey = /** @class */ (function (_super) {
17270
17320
  };
17271
17321
  //ISurveyCreator
17272
17322
  Survey.prototype.createQuestionElement = function (question) {
17273
- return _reactquestion_factory__WEBPACK_IMPORTED_MODULE_6__["ReactQuestionFactory"].Instance.createQuestion(question.isDefaultRendering() ? question.getTemplate() : question.getComponentName(), {
17323
+ return _reactquestion_factory__WEBPACK_IMPORTED_MODULE_5__["ReactQuestionFactory"].Instance.createQuestion(question.isDefaultRendering() ? question.getTemplate() : question.getComponentName(), {
17274
17324
  question: question,
17275
17325
  isDisplayMode: question.isInputReadOnly,
17276
17326
  creator: this,
17277
17327
  });
17278
17328
  };
17279
- Survey.prototype.renderError = function (key, error, cssClasses) {
17280
- return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { key: key },
17281
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", { className: cssClasses.error.icon || undefined, "aria-hidden": "true" }),
17282
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", { className: cssClasses.error.item || undefined },
17283
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_string_viewer__WEBPACK_IMPORTED_MODULE_4__["SurveyLocStringViewer"], { locStr: error.locText }))));
17329
+ Survey.prototype.renderError = function (key, error, cssClasses, element) {
17330
+ return _element_factory__WEBPACK_IMPORTED_MODULE_6__["ReactElementFactory"].Instance.createElement(this.survey.questionErrorComponent, { key: key, error: error, cssClasses: cssClasses, element: element });
17284
17331
  };
17285
17332
  Survey.prototype.questionTitleLocation = function () {
17286
17333
  return this.survey.questionTitleLocation;
@@ -17291,7 +17338,7 @@ var Survey = /** @class */ (function (_super) {
17291
17338
  return Survey;
17292
17339
  }(_reactquestion_element__WEBPACK_IMPORTED_MODULE_3__["SurveyElementBase"]));
17293
17340
 
17294
- _element_factory__WEBPACK_IMPORTED_MODULE_7__["ReactElementFactory"].Instance.registerElement("survey", function (props) {
17341
+ _element_factory__WEBPACK_IMPORTED_MODULE_6__["ReactElementFactory"].Instance.registerElement("survey", function (props) {
17295
17342
  return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](Survey, props);
17296
17343
  });
17297
17344
  function attachKey2click(element, viewModel, options) {
@@ -17643,7 +17690,7 @@ var SurveyElementErrors = /** @class */ (function (_super) {
17643
17690
  var errors = [];
17644
17691
  for (var i = 0; i < this.element.errors.length; i++) {
17645
17692
  var key = "error" + i;
17646
- errors.push(this.creator.renderError(key, this.element.errors[i], this.cssClasses));
17693
+ errors.push(this.creator.renderError(key, this.element.errors[i], this.cssClasses, this.element));
17647
17694
  }
17648
17695
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { role: "alert", "aria-live": "polite", className: this.element.cssError, id: this.id }, errors));
17649
17696
  };
@@ -24389,10 +24436,15 @@ var AnimationUtils = /** @class */ (function () {
24389
24436
  options.onBeforeRunAnimation && options.onBeforeRunAnimation(element);
24390
24437
  }
24391
24438
  };
24439
+ AnimationUtils.prototype.getCssClasses = function (options) {
24440
+ return options.cssClass.replace(/\s+$/, "").split(/\s+/);
24441
+ };
24392
24442
  AnimationUtils.prototype.runAnimation = function (element, options, callback) {
24393
24443
  if (element && options.cssClass) {
24394
24444
  this.reflow(element);
24395
- element.classList.add(options.cssClass);
24445
+ this.getCssClasses(options).forEach(function (cssClass) {
24446
+ element.classList.add(cssClass);
24447
+ });
24396
24448
  this.onAnimationEnd(element, callback, options);
24397
24449
  }
24398
24450
  else {
@@ -24401,7 +24453,9 @@ var AnimationUtils = /** @class */ (function () {
24401
24453
  };
24402
24454
  AnimationUtils.prototype.clearHtmlElement = function (element, options) {
24403
24455
  if (element && options.cssClass) {
24404
- element.classList.remove(options.cssClass);
24456
+ this.getCssClasses(options).forEach(function (cssClass) {
24457
+ element.classList.remove(cssClass);
24458
+ });
24405
24459
  }
24406
24460
  };
24407
24461
  AnimationUtils.prototype.onNextRender = function (callback, runEarly, isCancel) {