survey-react-ui 1.10.6 → 1.11.2

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.6
2
+ * surveyjs - Survey JavaScript library v1.11.2
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
  */
@@ -145,6 +145,11 @@ var __decorate = (undefined && undefined.__decorate) || function (decorators, ta
145
145
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
146
146
  return c > 3 && r && Object.defineProperty(target, key, r), r;
147
147
  };
148
+ var __spreadArray = (undefined && undefined.__spreadArray) || function (to, from) {
149
+ for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
150
+ to[j] = from[i];
151
+ return to;
152
+ };
148
153
 
149
154
 
150
155
 
@@ -167,7 +172,9 @@ function createDropdownActionModelAdvanced(actionOptions, listOptions, popupOpti
167
172
  if (newAction.hasTitle) {
168
173
  newAction.title = item.title;
169
174
  }
170
- originalSelectionChanged(item, params);
175
+ if (originalSelectionChanged) {
176
+ originalSelectionChanged(item, params);
177
+ }
171
178
  };
172
179
  var popupModel = createPopupModelWithListModel(listOptions, popupOptions);
173
180
  var newActionOptions = Object.assign({}, actionOptions, {
@@ -186,7 +193,9 @@ function createDropdownActionModelAdvanced(actionOptions, listOptions, popupOpti
186
193
  function createPopupModelWithListModel(listOptions, popupOptions) {
187
194
  var listModel = new _list__WEBPACK_IMPORTED_MODULE_3__["ListModel"](listOptions);
188
195
  listModel.onSelectionChanged = function (item) {
189
- listOptions.onSelectionChanged(item);
196
+ if (listOptions.onSelectionChanged) {
197
+ listOptions.onSelectionChanged(item);
198
+ }
190
199
  popupModel.hide();
191
200
  };
192
201
  var _popupOptions = popupOptions || {};
@@ -208,6 +217,7 @@ var BaseAction = /** @class */ (function (_super) {
208
217
  function BaseAction() {
209
218
  var _this = _super !== null && _super.apply(this, arguments) || this;
210
219
  _this.rendredIdValue = BaseAction.getNextRendredId();
220
+ _this.markerIconSize = 16;
211
221
  return _this;
212
222
  }
213
223
  BaseAction.getNextRendredId = function () { return BaseAction.renderedId++; };
@@ -351,6 +361,46 @@ var BaseAction = /** @class */ (function (_super) {
351
361
  }
352
362
  return args.isTrusted;
353
363
  };
364
+ BaseAction.prototype.showPopup = function () {
365
+ if (!!this.popupModel) {
366
+ this.popupModel.show();
367
+ }
368
+ };
369
+ BaseAction.prototype.hidePopup = function () {
370
+ if (!!this.popupModel) {
371
+ this.popupModel.hide();
372
+ }
373
+ };
374
+ BaseAction.prototype.clearPopupTimeouts = function () {
375
+ if (this.showPopupTimeout)
376
+ clearTimeout(this.showPopupTimeout);
377
+ if (this.hidePopupTimeout)
378
+ clearTimeout(this.hidePopupTimeout);
379
+ };
380
+ BaseAction.prototype.showPopupDelayed = function (delay) {
381
+ var _this = this;
382
+ this.clearPopupTimeouts();
383
+ this.showPopupTimeout = setTimeout(function () {
384
+ _this.clearPopupTimeouts();
385
+ _this.showPopup();
386
+ }, delay);
387
+ };
388
+ BaseAction.prototype.hidePopupDelayed = function (delay) {
389
+ var _this = this;
390
+ var _a;
391
+ if ((_a = this.popupModel) === null || _a === void 0 ? void 0 : _a.isVisible) {
392
+ this.clearPopupTimeouts();
393
+ this.hidePopupTimeout = setTimeout(function () {
394
+ _this.clearPopupTimeouts();
395
+ _this.hidePopup();
396
+ _this.isHovered = false;
397
+ }, delay);
398
+ }
399
+ else {
400
+ this.clearPopupTimeouts();
401
+ this.isHovered = false;
402
+ }
403
+ };
354
404
  BaseAction.renderedId = 1;
355
405
  __decorate([
356
406
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__["property"])()
@@ -412,9 +462,21 @@ var BaseAction = /** @class */ (function (_super) {
412
462
  __decorate([
413
463
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__["property"])({ defaultValue: 24 })
414
464
  ], BaseAction.prototype, "iconSize", void 0);
465
+ __decorate([
466
+ Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__["property"])()
467
+ ], BaseAction.prototype, "markerIconName", void 0);
468
+ __decorate([
469
+ Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__["property"])()
470
+ ], BaseAction.prototype, "markerIconSize", void 0);
415
471
  __decorate([
416
472
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__["property"])()
417
473
  ], BaseAction.prototype, "css", void 0);
474
+ __decorate([
475
+ Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__["property"])({ defaultValue: false })
476
+ ], BaseAction.prototype, "isPressed", void 0);
477
+ __decorate([
478
+ Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__["property"])({ defaultValue: false })
479
+ ], BaseAction.prototype, "isHovered", void 0);
418
480
  return BaseAction;
419
481
  }(_base__WEBPACK_IMPORTED_MODULE_0__["Base"]));
420
482
 
@@ -452,6 +514,14 @@ var Action = /** @class */ (function (_super) {
452
514
  Action.prototype.createLocTitle = function () {
453
515
  return this.createLocalizableString("title", this, true);
454
516
  };
517
+ Action.prototype.setItems = function (items, onSelectionChanged) {
518
+ this.markerIconName = "icon-next_16x16";
519
+ this.component = "sv-list-item-group";
520
+ this.items = __spreadArray([], items);
521
+ var popupModel = createPopupModelWithListModel({ items: items, onSelectionChanged: onSelectionChanged, searchEnabled: false }, { horizontalPosition: "right", showPointer: false, canShrink: false });
522
+ popupModel.cssClass = "sv-popup-inner";
523
+ this.popupModel = popupModel;
524
+ };
455
525
  Action.prototype.getLocTitle = function () {
456
526
  return this.locTitleValue;
457
527
  };
@@ -668,9 +738,6 @@ var AdaptiveActionContainer = /** @class */ (function (_super) {
668
738
  tooltip: _surveyStrings__WEBPACK_IMPORTED_MODULE_3__["surveyLocalization"].getString("more"),
669
739
  }, {
670
740
  items: [],
671
- onSelectionChanged: function (item) {
672
- _this.hiddenItemSelected(item);
673
- },
674
741
  allowSelection: false
675
742
  });
676
743
  return _this;
@@ -736,11 +803,6 @@ var AdaptiveActionContainer = /** @class */ (function (_super) {
736
803
  enumerable: false,
737
804
  configurable: true
738
805
  });
739
- AdaptiveActionContainer.prototype.hiddenItemSelected = function (item) {
740
- if (!!item && typeof item.action === "function") {
741
- item.action();
742
- }
743
- };
744
806
  AdaptiveActionContainer.prototype.onSet = function () {
745
807
  var _this = this;
746
808
  this.actions.forEach(function (action) { return action.updateCallback = function (isResetInitialized) { return _this.raiseUpdate(isResetInitialized); }; });
@@ -997,6 +1059,21 @@ var ActionContainer = /** @class */ (function (_super) {
997
1059
  this.sortItems();
998
1060
  }
999
1061
  };
1062
+ ActionContainer.prototype.popupAfterShowCallback = function (itemValue) {
1063
+ };
1064
+ ActionContainer.prototype.mouseOverHandler = function (itemValue) {
1065
+ var _this = this;
1066
+ itemValue.isHovered = true;
1067
+ this.actions.forEach(function (action) {
1068
+ if (action === itemValue && !!itemValue.popupModel) {
1069
+ itemValue.showPopupDelayed(_this.subItemsShowDelay);
1070
+ _this.popupAfterShowCallback(itemValue);
1071
+ }
1072
+ else if (!!action.popupModel && action.popupModel.isVisible) {
1073
+ action.hidePopupDelayed(_this.subItemsHideDelay);
1074
+ }
1075
+ });
1076
+ };
1000
1077
  ActionContainer.prototype.initResponsivityManager = function (container, delayedUpdateFunction) {
1001
1078
  return;
1002
1079
  };
@@ -1032,6 +1109,12 @@ var ActionContainer = /** @class */ (function (_super) {
1032
1109
  __decorate([
1033
1110
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__["property"])({ defaultValue: false })
1034
1111
  ], ActionContainer.prototype, "isEmpty", void 0);
1112
+ __decorate([
1113
+ Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__["property"])({ defaultValue: 300 })
1114
+ ], ActionContainer.prototype, "subItemsShowDelay", void 0);
1115
+ __decorate([
1116
+ Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__["property"])({ defaultValue: 300 })
1117
+ ], ActionContainer.prototype, "subItemsHideDelay", void 0);
1035
1118
  return ActionContainer;
1036
1119
  }(_base__WEBPACK_IMPORTED_MODULE_1__["Base"]));
1037
1120
 
@@ -1307,6 +1390,10 @@ var Base = /** @class */ (function () {
1307
1390
  this.onItemValuePropertyChanged = this.addEvent();
1308
1391
  this.isCreating = true;
1309
1392
  this.animationAllowedLock = 0;
1393
+ //remove when knockout obsolete
1394
+ this.supportOnElementRenderedEvent = true;
1395
+ this.onElementRenderedEventEnabled = false;
1396
+ this._onElementRerendered = new EventBase();
1310
1397
  this.bindingsValue = new Bindings(this);
1311
1398
  _jsonobject__WEBPACK_IMPORTED_MODULE_2__["CustomPropertiesCollection"].createProperties(this);
1312
1399
  this.onBaseCreating();
@@ -2235,7 +2322,7 @@ var Base = /** @class */ (function () {
2235
2322
  configurable: true
2236
2323
  });
2237
2324
  Base.prototype.getIsAnimationAllowed = function () {
2238
- return _settings__WEBPACK_IMPORTED_MODULE_3__["settings"].animationEnabled && this.animationAllowedLock >= 0 && !this.isLoadingFromJson && !this.isDisposed;
2325
+ return _settings__WEBPACK_IMPORTED_MODULE_3__["settings"].animationEnabled && this.animationAllowedLock >= 0 && !this.isLoadingFromJson && !this.isDisposed && (!!this.onElementRerendered || !this.supportOnElementRenderedEvent);
2239
2326
  };
2240
2327
  Base.prototype.blockAnimations = function () {
2241
2328
  this.animationAllowedLock--;
@@ -2243,6 +2330,22 @@ var Base = /** @class */ (function () {
2243
2330
  Base.prototype.releaseAnimations = function () {
2244
2331
  this.animationAllowedLock++;
2245
2332
  };
2333
+ Base.prototype.enableOnElementRenderedEvent = function () {
2334
+ this.onElementRenderedEventEnabled = true;
2335
+ };
2336
+ Base.prototype.disableOnElementRenderedEvent = function () {
2337
+ this.onElementRenderedEventEnabled = false;
2338
+ };
2339
+ Object.defineProperty(Base.prototype, "onElementRerendered", {
2340
+ get: function () {
2341
+ return this.supportOnElementRenderedEvent && this.onElementRenderedEventEnabled ? this._onElementRerendered : undefined;
2342
+ },
2343
+ enumerable: false,
2344
+ configurable: true
2345
+ });
2346
+ Base.prototype.afterRerender = function () {
2347
+ this.onElementRerendered.fire(this, undefined);
2348
+ };
2246
2349
  Base.currentDependencis = undefined;
2247
2350
  return Base;
2248
2351
  }());
@@ -2286,8 +2389,9 @@ var Event = /** @class */ (function () {
2286
2389
  Event.prototype.fire = function (sender, options) {
2287
2390
  if (!this.callbacks)
2288
2391
  return;
2289
- for (var i = 0; i < this.callbacks.length; i++) {
2290
- this.callbacks[i](sender, options);
2392
+ var callbacks = [].concat(this.callbacks);
2393
+ for (var i = 0; i < callbacks.length; i++) {
2394
+ callbacks[i](sender, options);
2291
2395
  if (!this.callbacks)
2292
2396
  return;
2293
2397
  }
@@ -3045,7 +3149,7 @@ __webpack_require__.r(__webpack_exports__);
3045
3149
  /*!***************************************!*\
3046
3150
  !*** ./src/entries/react-ui-model.ts ***!
3047
3151
  \***************************************/
3048
- /*! 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 */
3152
+ /*! exports provided: Survey, attachKey2click, ReactSurveyElementsWrapper, SurveyNavigationBase, SurveyTimerPanel, SurveyPage, SurveyRow, SurveyPanel, SurveyFlowPanel, SurveyQuestion, SurveyElementErrors, SurveyQuestionAndErrorsCell, ReactSurveyElement, SurveyElementBase, SurveyQuestionElementBase, SurveyQuestionCommentItem, SurveyQuestionComment, SurveyQuestionCheckbox, SurveyQuestionCheckboxItem, SurveyQuestionRanking, SurveyQuestionRankingItem, SurveyQuestionRankingItemContent, 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, ListItemContent, ListItemGroup, 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 */
3049
3153
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
3050
3154
 
3051
3155
  "use strict";
@@ -3105,6 +3209,8 @@ __webpack_require__.r(__webpack_exports__);
3105
3209
 
3106
3210
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyQuestionRankingItem", function() { return _react_reactquestion_ranking__WEBPACK_IMPORTED_MODULE_12__["SurveyQuestionRankingItem"]; });
3107
3211
 
3212
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyQuestionRankingItemContent", function() { return _react_reactquestion_ranking__WEBPACK_IMPORTED_MODULE_12__["SurveyQuestionRankingItemContent"]; });
3213
+
3108
3214
  /* harmony import */ var _react_components_rating_rating_item__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../react/components/rating/rating-item */ "./src/react/components/rating/rating-item.tsx");
3109
3215
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "RatingItem", function() { return _react_components_rating_rating_item__WEBPACK_IMPORTED_MODULE_13__["RatingItem"]; });
3110
3216
 
@@ -3245,90 +3351,96 @@ __webpack_require__.r(__webpack_exports__);
3245
3351
  /* harmony import */ var _react_components_popup_popup__WEBPACK_IMPORTED_MODULE_54__ = __webpack_require__(/*! ../react/components/popup/popup */ "./src/react/components/popup/popup.tsx");
3246
3352
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Popup", function() { return _react_components_popup_popup__WEBPACK_IMPORTED_MODULE_54__["Popup"]; });
3247
3353
 
3248
- /* harmony import */ var _react_components_list_list__WEBPACK_IMPORTED_MODULE_55__ = __webpack_require__(/*! ../react/components/list/list */ "./src/react/components/list/list.tsx");
3249
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "List", function() { return _react_components_list_list__WEBPACK_IMPORTED_MODULE_55__["List"]; });
3354
+ /* harmony import */ var _react_components_list_list_item_content__WEBPACK_IMPORTED_MODULE_55__ = __webpack_require__(/*! ../react/components/list/list-item-content */ "./src/react/components/list/list-item-content.tsx");
3355
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ListItemContent", function() { return _react_components_list_list_item_content__WEBPACK_IMPORTED_MODULE_55__["ListItemContent"]; });
3356
+
3357
+ /* harmony import */ var _react_components_list_list_item_group__WEBPACK_IMPORTED_MODULE_56__ = __webpack_require__(/*! ../react/components/list/list-item-group */ "./src/react/components/list/list-item-group.tsx");
3358
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ListItemGroup", function() { return _react_components_list_list_item_group__WEBPACK_IMPORTED_MODULE_56__["ListItemGroup"]; });
3359
+
3360
+ /* harmony import */ var _react_components_list_list__WEBPACK_IMPORTED_MODULE_57__ = __webpack_require__(/*! ../react/components/list/list */ "./src/react/components/list/list.tsx");
3361
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "List", function() { return _react_components_list_list__WEBPACK_IMPORTED_MODULE_57__["List"]; });
3250
3362
 
3251
- /* harmony import */ var _react_components_title_title_actions__WEBPACK_IMPORTED_MODULE_56__ = __webpack_require__(/*! ../react/components/title/title-actions */ "./src/react/components/title/title-actions.tsx");
3252
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "TitleActions", function() { return _react_components_title_title_actions__WEBPACK_IMPORTED_MODULE_56__["TitleActions"]; });
3363
+ /* harmony import */ var _react_components_title_title_actions__WEBPACK_IMPORTED_MODULE_58__ = __webpack_require__(/*! ../react/components/title/title-actions */ "./src/react/components/title/title-actions.tsx");
3364
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "TitleActions", function() { return _react_components_title_title_actions__WEBPACK_IMPORTED_MODULE_58__["TitleActions"]; });
3253
3365
 
3254
- /* harmony import */ var _react_components_title_title_element__WEBPACK_IMPORTED_MODULE_57__ = __webpack_require__(/*! ../react/components/title/title-element */ "./src/react/components/title/title-element.tsx");
3255
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "TitleElement", function() { return _react_components_title_title_element__WEBPACK_IMPORTED_MODULE_57__["TitleElement"]; });
3366
+ /* harmony import */ var _react_components_title_title_element__WEBPACK_IMPORTED_MODULE_59__ = __webpack_require__(/*! ../react/components/title/title-element */ "./src/react/components/title/title-element.tsx");
3367
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "TitleElement", function() { return _react_components_title_title_element__WEBPACK_IMPORTED_MODULE_59__["TitleElement"]; });
3256
3368
 
3257
- /* harmony import */ var _react_components_action_bar_action_bar__WEBPACK_IMPORTED_MODULE_58__ = __webpack_require__(/*! ../react/components/action-bar/action-bar */ "./src/react/components/action-bar/action-bar.tsx");
3258
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyActionBar", function() { return _react_components_action_bar_action_bar__WEBPACK_IMPORTED_MODULE_58__["SurveyActionBar"]; });
3369
+ /* harmony import */ var _react_components_action_bar_action_bar__WEBPACK_IMPORTED_MODULE_60__ = __webpack_require__(/*! ../react/components/action-bar/action-bar */ "./src/react/components/action-bar/action-bar.tsx");
3370
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyActionBar", function() { return _react_components_action_bar_action_bar__WEBPACK_IMPORTED_MODULE_60__["SurveyActionBar"]; });
3259
3371
 
3260
- /* harmony import */ var _react_components_survey_header_logo_image__WEBPACK_IMPORTED_MODULE_59__ = __webpack_require__(/*! ../react/components/survey-header/logo-image */ "./src/react/components/survey-header/logo-image.tsx");
3261
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "LogoImage", function() { return _react_components_survey_header_logo_image__WEBPACK_IMPORTED_MODULE_59__["LogoImage"]; });
3372
+ /* harmony import */ var _react_components_survey_header_logo_image__WEBPACK_IMPORTED_MODULE_61__ = __webpack_require__(/*! ../react/components/survey-header/logo-image */ "./src/react/components/survey-header/logo-image.tsx");
3373
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "LogoImage", function() { return _react_components_survey_header_logo_image__WEBPACK_IMPORTED_MODULE_61__["LogoImage"]; });
3262
3374
 
3263
- /* harmony import */ var _react_components_survey_header_survey_header__WEBPACK_IMPORTED_MODULE_60__ = __webpack_require__(/*! ../react/components/survey-header/survey-header */ "./src/react/components/survey-header/survey-header.tsx");
3264
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyHeader", function() { return _react_components_survey_header_survey_header__WEBPACK_IMPORTED_MODULE_60__["SurveyHeader"]; });
3375
+ /* harmony import */ var _react_components_survey_header_survey_header__WEBPACK_IMPORTED_MODULE_62__ = __webpack_require__(/*! ../react/components/survey-header/survey-header */ "./src/react/components/survey-header/survey-header.tsx");
3376
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyHeader", function() { return _react_components_survey_header_survey_header__WEBPACK_IMPORTED_MODULE_62__["SurveyHeader"]; });
3265
3377
 
3266
- /* harmony import */ var _react_components_svg_icon_svg_icon__WEBPACK_IMPORTED_MODULE_61__ = __webpack_require__(/*! ../react/components/svg-icon/svg-icon */ "./src/react/components/svg-icon/svg-icon.tsx");
3267
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SvgIcon", function() { return _react_components_svg_icon_svg_icon__WEBPACK_IMPORTED_MODULE_61__["SvgIcon"]; });
3378
+ /* harmony import */ var _react_components_svg_icon_svg_icon__WEBPACK_IMPORTED_MODULE_63__ = __webpack_require__(/*! ../react/components/svg-icon/svg-icon */ "./src/react/components/svg-icon/svg-icon.tsx");
3379
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SvgIcon", function() { return _react_components_svg_icon_svg_icon__WEBPACK_IMPORTED_MODULE_63__["SvgIcon"]; });
3268
3380
 
3269
- /* harmony import */ var _react_components_matrix_actions_remove_button_remove_button__WEBPACK_IMPORTED_MODULE_62__ = __webpack_require__(/*! ../react/components/matrix-actions/remove-button/remove-button */ "./src/react/components/matrix-actions/remove-button/remove-button.tsx");
3270
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyQuestionMatrixDynamicRemoveButton", function() { return _react_components_matrix_actions_remove_button_remove_button__WEBPACK_IMPORTED_MODULE_62__["SurveyQuestionMatrixDynamicRemoveButton"]; });
3381
+ /* harmony import */ var _react_components_matrix_actions_remove_button_remove_button__WEBPACK_IMPORTED_MODULE_64__ = __webpack_require__(/*! ../react/components/matrix-actions/remove-button/remove-button */ "./src/react/components/matrix-actions/remove-button/remove-button.tsx");
3382
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyQuestionMatrixDynamicRemoveButton", function() { return _react_components_matrix_actions_remove_button_remove_button__WEBPACK_IMPORTED_MODULE_64__["SurveyQuestionMatrixDynamicRemoveButton"]; });
3271
3383
 
3272
- /* harmony import */ var _react_components_matrix_actions_detail_button_detail_button__WEBPACK_IMPORTED_MODULE_63__ = __webpack_require__(/*! ../react/components/matrix-actions/detail-button/detail-button */ "./src/react/components/matrix-actions/detail-button/detail-button.tsx");
3273
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyQuestionMatrixDetailButton", function() { return _react_components_matrix_actions_detail_button_detail_button__WEBPACK_IMPORTED_MODULE_63__["SurveyQuestionMatrixDetailButton"]; });
3384
+ /* harmony import */ var _react_components_matrix_actions_detail_button_detail_button__WEBPACK_IMPORTED_MODULE_65__ = __webpack_require__(/*! ../react/components/matrix-actions/detail-button/detail-button */ "./src/react/components/matrix-actions/detail-button/detail-button.tsx");
3385
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyQuestionMatrixDetailButton", function() { return _react_components_matrix_actions_detail_button_detail_button__WEBPACK_IMPORTED_MODULE_65__["SurveyQuestionMatrixDetailButton"]; });
3274
3386
 
3275
- /* harmony import */ var _react_components_matrix_actions_drag_drop_icon_drag_drop_icon__WEBPACK_IMPORTED_MODULE_64__ = __webpack_require__(/*! ../react/components/matrix-actions/drag-drop-icon/drag-drop-icon */ "./src/react/components/matrix-actions/drag-drop-icon/drag-drop-icon.tsx");
3276
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyQuestionMatrixDynamicDragDropIcon", function() { return _react_components_matrix_actions_drag_drop_icon_drag_drop_icon__WEBPACK_IMPORTED_MODULE_64__["SurveyQuestionMatrixDynamicDragDropIcon"]; });
3387
+ /* harmony import */ var _react_components_matrix_actions_drag_drop_icon_drag_drop_icon__WEBPACK_IMPORTED_MODULE_66__ = __webpack_require__(/*! ../react/components/matrix-actions/drag-drop-icon/drag-drop-icon */ "./src/react/components/matrix-actions/drag-drop-icon/drag-drop-icon.tsx");
3388
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyQuestionMatrixDynamicDragDropIcon", function() { return _react_components_matrix_actions_drag_drop_icon_drag_drop_icon__WEBPACK_IMPORTED_MODULE_66__["SurveyQuestionMatrixDynamicDragDropIcon"]; });
3277
3389
 
3278
- /* harmony import */ var _react_components_paneldynamic_actions_paneldynamic_add_btn__WEBPACK_IMPORTED_MODULE_65__ = __webpack_require__(/*! ../react/components/paneldynamic-actions/paneldynamic-add-btn */ "./src/react/components/paneldynamic-actions/paneldynamic-add-btn.tsx");
3279
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyQuestionPanelDynamicAddButton", function() { return _react_components_paneldynamic_actions_paneldynamic_add_btn__WEBPACK_IMPORTED_MODULE_65__["SurveyQuestionPanelDynamicAddButton"]; });
3390
+ /* harmony import */ var _react_components_paneldynamic_actions_paneldynamic_add_btn__WEBPACK_IMPORTED_MODULE_67__ = __webpack_require__(/*! ../react/components/paneldynamic-actions/paneldynamic-add-btn */ "./src/react/components/paneldynamic-actions/paneldynamic-add-btn.tsx");
3391
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyQuestionPanelDynamicAddButton", function() { return _react_components_paneldynamic_actions_paneldynamic_add_btn__WEBPACK_IMPORTED_MODULE_67__["SurveyQuestionPanelDynamicAddButton"]; });
3280
3392
 
3281
- /* harmony import */ var _react_components_paneldynamic_actions_paneldynamic_remove_btn__WEBPACK_IMPORTED_MODULE_66__ = __webpack_require__(/*! ../react/components/paneldynamic-actions/paneldynamic-remove-btn */ "./src/react/components/paneldynamic-actions/paneldynamic-remove-btn.tsx");
3282
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyQuestionPanelDynamicRemoveButton", function() { return _react_components_paneldynamic_actions_paneldynamic_remove_btn__WEBPACK_IMPORTED_MODULE_66__["SurveyQuestionPanelDynamicRemoveButton"]; });
3393
+ /* harmony import */ var _react_components_paneldynamic_actions_paneldynamic_remove_btn__WEBPACK_IMPORTED_MODULE_68__ = __webpack_require__(/*! ../react/components/paneldynamic-actions/paneldynamic-remove-btn */ "./src/react/components/paneldynamic-actions/paneldynamic-remove-btn.tsx");
3394
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyQuestionPanelDynamicRemoveButton", function() { return _react_components_paneldynamic_actions_paneldynamic_remove_btn__WEBPACK_IMPORTED_MODULE_68__["SurveyQuestionPanelDynamicRemoveButton"]; });
3283
3395
 
3284
- /* harmony import */ var _react_components_paneldynamic_actions_paneldynamic_prev_btn__WEBPACK_IMPORTED_MODULE_67__ = __webpack_require__(/*! ../react/components/paneldynamic-actions/paneldynamic-prev-btn */ "./src/react/components/paneldynamic-actions/paneldynamic-prev-btn.tsx");
3285
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyQuestionPanelDynamicPrevButton", function() { return _react_components_paneldynamic_actions_paneldynamic_prev_btn__WEBPACK_IMPORTED_MODULE_67__["SurveyQuestionPanelDynamicPrevButton"]; });
3396
+ /* harmony import */ var _react_components_paneldynamic_actions_paneldynamic_prev_btn__WEBPACK_IMPORTED_MODULE_69__ = __webpack_require__(/*! ../react/components/paneldynamic-actions/paneldynamic-prev-btn */ "./src/react/components/paneldynamic-actions/paneldynamic-prev-btn.tsx");
3397
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyQuestionPanelDynamicPrevButton", function() { return _react_components_paneldynamic_actions_paneldynamic_prev_btn__WEBPACK_IMPORTED_MODULE_69__["SurveyQuestionPanelDynamicPrevButton"]; });
3286
3398
 
3287
- /* harmony import */ var _react_components_paneldynamic_actions_paneldynamic_next_btn__WEBPACK_IMPORTED_MODULE_68__ = __webpack_require__(/*! ../react/components/paneldynamic-actions/paneldynamic-next-btn */ "./src/react/components/paneldynamic-actions/paneldynamic-next-btn.tsx");
3288
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyQuestionPanelDynamicNextButton", function() { return _react_components_paneldynamic_actions_paneldynamic_next_btn__WEBPACK_IMPORTED_MODULE_68__["SurveyQuestionPanelDynamicNextButton"]; });
3399
+ /* harmony import */ var _react_components_paneldynamic_actions_paneldynamic_next_btn__WEBPACK_IMPORTED_MODULE_70__ = __webpack_require__(/*! ../react/components/paneldynamic-actions/paneldynamic-next-btn */ "./src/react/components/paneldynamic-actions/paneldynamic-next-btn.tsx");
3400
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyQuestionPanelDynamicNextButton", function() { return _react_components_paneldynamic_actions_paneldynamic_next_btn__WEBPACK_IMPORTED_MODULE_70__["SurveyQuestionPanelDynamicNextButton"]; });
3289
3401
 
3290
- /* harmony import */ var _react_components_paneldynamic_actions_paneldynamic_progress_text__WEBPACK_IMPORTED_MODULE_69__ = __webpack_require__(/*! ../react/components/paneldynamic-actions/paneldynamic-progress-text */ "./src/react/components/paneldynamic-actions/paneldynamic-progress-text.tsx");
3291
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyQuestionPanelDynamicProgressText", function() { return _react_components_paneldynamic_actions_paneldynamic_progress_text__WEBPACK_IMPORTED_MODULE_69__["SurveyQuestionPanelDynamicProgressText"]; });
3402
+ /* harmony import */ var _react_components_paneldynamic_actions_paneldynamic_progress_text__WEBPACK_IMPORTED_MODULE_71__ = __webpack_require__(/*! ../react/components/paneldynamic-actions/paneldynamic-progress-text */ "./src/react/components/paneldynamic-actions/paneldynamic-progress-text.tsx");
3403
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyQuestionPanelDynamicProgressText", function() { return _react_components_paneldynamic_actions_paneldynamic_progress_text__WEBPACK_IMPORTED_MODULE_71__["SurveyQuestionPanelDynamicProgressText"]; });
3292
3404
 
3293
- /* 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");
3294
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyNavigationButton", function() { return _react_components_survey_actions_survey_nav_button__WEBPACK_IMPORTED_MODULE_70__["SurveyNavigationButton"]; });
3405
+ /* harmony import */ var _react_components_survey_actions_survey_nav_button__WEBPACK_IMPORTED_MODULE_72__ = __webpack_require__(/*! ../react/components/survey-actions/survey-nav-button */ "./src/react/components/survey-actions/survey-nav-button.tsx");
3406
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyNavigationButton", function() { return _react_components_survey_actions_survey_nav_button__WEBPACK_IMPORTED_MODULE_72__["SurveyNavigationButton"]; });
3295
3407
 
3296
- /* harmony import */ var _react_components_question_error__WEBPACK_IMPORTED_MODULE_71__ = __webpack_require__(/*! ../react/components/question-error */ "./src/react/components/question-error.tsx");
3297
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "QuestionErrorComponent", function() { return _react_components_question_error__WEBPACK_IMPORTED_MODULE_71__["QuestionErrorComponent"]; });
3408
+ /* harmony import */ var _react_components_question_error__WEBPACK_IMPORTED_MODULE_73__ = __webpack_require__(/*! ../react/components/question-error */ "./src/react/components/question-error.tsx");
3409
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "QuestionErrorComponent", function() { return _react_components_question_error__WEBPACK_IMPORTED_MODULE_73__["QuestionErrorComponent"]; });
3298
3410
 
3299
- /* harmony import */ var _react_components_matrix_row__WEBPACK_IMPORTED_MODULE_72__ = __webpack_require__(/*! ../react/components/matrix/row */ "./src/react/components/matrix/row.tsx");
3300
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MatrixRow", function() { return _react_components_matrix_row__WEBPACK_IMPORTED_MODULE_72__["MatrixRow"]; });
3411
+ /* harmony import */ var _react_components_matrix_row__WEBPACK_IMPORTED_MODULE_74__ = __webpack_require__(/*! ../react/components/matrix/row */ "./src/react/components/matrix/row.tsx");
3412
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MatrixRow", function() { return _react_components_matrix_row__WEBPACK_IMPORTED_MODULE_74__["MatrixRow"]; });
3301
3413
 
3302
- /* harmony import */ var _react_components_skeleton__WEBPACK_IMPORTED_MODULE_73__ = __webpack_require__(/*! ../react/components/skeleton */ "./src/react/components/skeleton.tsx");
3303
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Skeleton", function() { return _react_components_skeleton__WEBPACK_IMPORTED_MODULE_73__["Skeleton"]; });
3414
+ /* harmony import */ var _react_components_skeleton__WEBPACK_IMPORTED_MODULE_75__ = __webpack_require__(/*! ../react/components/skeleton */ "./src/react/components/skeleton.tsx");
3415
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Skeleton", function() { return _react_components_skeleton__WEBPACK_IMPORTED_MODULE_75__["Skeleton"]; });
3304
3416
 
3305
- /* harmony import */ var _react_components_notifier__WEBPACK_IMPORTED_MODULE_74__ = __webpack_require__(/*! ../react/components/notifier */ "./src/react/components/notifier.tsx");
3306
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "NotifierComponent", function() { return _react_components_notifier__WEBPACK_IMPORTED_MODULE_74__["NotifierComponent"]; });
3417
+ /* harmony import */ var _react_components_notifier__WEBPACK_IMPORTED_MODULE_76__ = __webpack_require__(/*! ../react/components/notifier */ "./src/react/components/notifier.tsx");
3418
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "NotifierComponent", function() { return _react_components_notifier__WEBPACK_IMPORTED_MODULE_76__["NotifierComponent"]; });
3307
3419
 
3308
- /* harmony import */ var _react_components_components_container__WEBPACK_IMPORTED_MODULE_75__ = __webpack_require__(/*! ../react/components/components-container */ "./src/react/components/components-container.tsx");
3309
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ComponentsContainer", function() { return _react_components_components_container__WEBPACK_IMPORTED_MODULE_75__["ComponentsContainer"]; });
3420
+ /* harmony import */ var _react_components_components_container__WEBPACK_IMPORTED_MODULE_77__ = __webpack_require__(/*! ../react/components/components-container */ "./src/react/components/components-container.tsx");
3421
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ComponentsContainer", function() { return _react_components_components_container__WEBPACK_IMPORTED_MODULE_77__["ComponentsContainer"]; });
3310
3422
 
3311
- /* harmony import */ var _react_components_character_counter__WEBPACK_IMPORTED_MODULE_76__ = __webpack_require__(/*! ../react/components/character-counter */ "./src/react/components/character-counter.tsx");
3312
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "CharacterCounterComponent", function() { return _react_components_character_counter__WEBPACK_IMPORTED_MODULE_76__["CharacterCounterComponent"]; });
3423
+ /* harmony import */ var _react_components_character_counter__WEBPACK_IMPORTED_MODULE_78__ = __webpack_require__(/*! ../react/components/character-counter */ "./src/react/components/character-counter.tsx");
3424
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "CharacterCounterComponent", function() { return _react_components_character_counter__WEBPACK_IMPORTED_MODULE_78__["CharacterCounterComponent"]; });
3313
3425
 
3314
- /* harmony import */ var _react_components_header__WEBPACK_IMPORTED_MODULE_77__ = __webpack_require__(/*! ../react/components/header */ "./src/react/components/header.tsx");
3315
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "HeaderMobile", function() { return _react_components_header__WEBPACK_IMPORTED_MODULE_77__["HeaderMobile"]; });
3426
+ /* harmony import */ var _react_components_header__WEBPACK_IMPORTED_MODULE_79__ = __webpack_require__(/*! ../react/components/header */ "./src/react/components/header.tsx");
3427
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "HeaderMobile", function() { return _react_components_header__WEBPACK_IMPORTED_MODULE_79__["HeaderMobile"]; });
3316
3428
 
3317
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "HeaderCell", function() { return _react_components_header__WEBPACK_IMPORTED_MODULE_77__["HeaderCell"]; });
3429
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "HeaderCell", function() { return _react_components_header__WEBPACK_IMPORTED_MODULE_79__["HeaderCell"]; });
3318
3430
 
3319
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Header", function() { return _react_components_header__WEBPACK_IMPORTED_MODULE_77__["Header"]; });
3431
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Header", function() { return _react_components_header__WEBPACK_IMPORTED_MODULE_79__["Header"]; });
3320
3432
 
3321
- /* harmony import */ var _react_string_viewer__WEBPACK_IMPORTED_MODULE_78__ = __webpack_require__(/*! ../react/string-viewer */ "./src/react/string-viewer.tsx");
3322
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyLocStringViewer", function() { return _react_string_viewer__WEBPACK_IMPORTED_MODULE_78__["SurveyLocStringViewer"]; });
3433
+ /* harmony import */ var _react_string_viewer__WEBPACK_IMPORTED_MODULE_80__ = __webpack_require__(/*! ../react/string-viewer */ "./src/react/string-viewer.tsx");
3434
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyLocStringViewer", function() { return _react_string_viewer__WEBPACK_IMPORTED_MODULE_80__["SurveyLocStringViewer"]; });
3323
3435
 
3324
- /* harmony import */ var _react_string_editor__WEBPACK_IMPORTED_MODULE_79__ = __webpack_require__(/*! ../react/string-editor */ "./src/react/string-editor.tsx");
3325
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyLocStringEditor", function() { return _react_string_editor__WEBPACK_IMPORTED_MODULE_79__["SurveyLocStringEditor"]; });
3436
+ /* harmony import */ var _react_string_editor__WEBPACK_IMPORTED_MODULE_81__ = __webpack_require__(/*! ../react/string-editor */ "./src/react/string-editor.tsx");
3437
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyLocStringEditor", function() { return _react_string_editor__WEBPACK_IMPORTED_MODULE_81__["SurveyLocStringEditor"]; });
3326
3438
 
3327
- /* harmony import */ var _react_components_loading_indicator__WEBPACK_IMPORTED_MODULE_80__ = __webpack_require__(/*! ../react/components/loading-indicator */ "./src/react/components/loading-indicator.tsx");
3328
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "LoadingIndicatorComponent", function() { return _react_components_loading_indicator__WEBPACK_IMPORTED_MODULE_80__["LoadingIndicatorComponent"]; });
3439
+ /* harmony import */ var _react_components_loading_indicator__WEBPACK_IMPORTED_MODULE_82__ = __webpack_require__(/*! ../react/components/loading-indicator */ "./src/react/components/loading-indicator.tsx");
3440
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "LoadingIndicatorComponent", function() { return _react_components_loading_indicator__WEBPACK_IMPORTED_MODULE_82__["LoadingIndicatorComponent"]; });
3329
3441
 
3330
- /* harmony import */ var _react_svgbundle__WEBPACK_IMPORTED_MODULE_81__ = __webpack_require__(/*! ../react/svgbundle */ "./src/react/svgbundle.tsx");
3331
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SvgBundleComponent", function() { return _react_svgbundle__WEBPACK_IMPORTED_MODULE_81__["SvgBundleComponent"]; });
3442
+ /* harmony import */ var _react_svgbundle__WEBPACK_IMPORTED_MODULE_83__ = __webpack_require__(/*! ../react/svgbundle */ "./src/react/svgbundle.tsx");
3443
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SvgBundleComponent", function() { return _react_svgbundle__WEBPACK_IMPORTED_MODULE_83__["SvgBundleComponent"]; });
3332
3444
 
3333
3445
  // react
3334
3446
 
@@ -3410,6 +3522,8 @@ __webpack_require__.r(__webpack_exports__);
3410
3522
 
3411
3523
 
3412
3524
 
3525
+
3526
+
3413
3527
 
3414
3528
 
3415
3529
 
@@ -3423,7 +3537,7 @@ __webpack_require__.r(__webpack_exports__);
3423
3537
  /*!*********************************!*\
3424
3538
  !*** ./src/entries/react-ui.ts ***!
3425
3539
  \*********************************/
3426
- /*! 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 */
3540
+ /*! exports provided: Survey, attachKey2click, ReactSurveyElementsWrapper, SurveyNavigationBase, SurveyTimerPanel, SurveyPage, SurveyRow, SurveyPanel, SurveyFlowPanel, SurveyQuestion, SurveyElementErrors, SurveyQuestionAndErrorsCell, ReactSurveyElement, SurveyElementBase, SurveyQuestionElementBase, SurveyQuestionCommentItem, SurveyQuestionComment, SurveyQuestionCheckbox, SurveyQuestionCheckboxItem, SurveyQuestionRanking, SurveyQuestionRankingItem, SurveyQuestionRankingItemContent, 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, ListItemContent, ListItemGroup, 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 */
3427
3541
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
3428
3542
 
3429
3543
  "use strict";
@@ -3471,6 +3585,8 @@ __webpack_require__.r(__webpack_exports__);
3471
3585
 
3472
3586
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyQuestionRankingItem", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_0__["SurveyQuestionRankingItem"]; });
3473
3587
 
3588
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyQuestionRankingItemContent", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_0__["SurveyQuestionRankingItemContent"]; });
3589
+
3474
3590
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "RatingItem", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_0__["RatingItem"]; });
3475
3591
 
3476
3592
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "RatingItemStar", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_0__["RatingItemStar"]; });
@@ -3569,6 +3685,10 @@ __webpack_require__.r(__webpack_exports__);
3569
3685
 
3570
3686
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Popup", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_0__["Popup"]; });
3571
3687
 
3688
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ListItemContent", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_0__["ListItemContent"]; });
3689
+
3690
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ListItemGroup", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_0__["ListItemGroup"]; });
3691
+
3572
3692
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "List", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_0__["List"]; });
3573
3693
 
3574
3694
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "TitleActions", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_0__["TitleActions"]; });
@@ -3656,7 +3776,7 @@ __webpack_require__.r(__webpack_exports__);
3656
3776
 
3657
3777
 
3658
3778
 
3659
- Object(survey_core__WEBPACK_IMPORTED_MODULE_2__["checkLibraryVersion"])("" + "1.10.6", "survey-react-ui");
3779
+ Object(survey_core__WEBPACK_IMPORTED_MODULE_2__["checkLibraryVersion"])("" + "1.11.2", "survey-react-ui");
3660
3780
 
3661
3781
 
3662
3782
  /***/ }),
@@ -7148,7 +7268,7 @@ var FunctionOperand = /** @class */ (function (_super) {
7148
7268
  return this.evaluateCore(processValue);
7149
7269
  };
7150
7270
  FunctionOperand.prototype.evaluateCore = function (processValue) {
7151
- return _functionsfactory__WEBPACK_IMPORTED_MODULE_1__["FunctionFactory"].Instance.run(this.originalValue, this.parameters.evaluate(processValue), processValue.properties);
7271
+ return _functionsfactory__WEBPACK_IMPORTED_MODULE_1__["FunctionFactory"].Instance.run(this.originalValue, this.parameters.evaluate(processValue), processValue.properties, this.parameters.values);
7152
7272
  };
7153
7273
  FunctionOperand.prototype.toString = function (func) {
7154
7274
  if (func === void 0) { func = undefined; }
@@ -7494,7 +7614,7 @@ var FunctionFactory = /** @class */ (function () {
7494
7614
  }
7495
7615
  return result.sort();
7496
7616
  };
7497
- FunctionFactory.prototype.run = function (name, params, properties) {
7617
+ FunctionFactory.prototype.run = function (name, params, properties, originalParams) {
7498
7618
  if (properties === void 0) { properties = null; }
7499
7619
  var func = this.functionHash[name];
7500
7620
  if (!func) {
@@ -7509,7 +7629,7 @@ var FunctionFactory = /** @class */ (function () {
7509
7629
  classRunner[key] = properties[key];
7510
7630
  }
7511
7631
  }
7512
- return classRunner.func(params);
7632
+ return classRunner.func(params, originalParams);
7513
7633
  };
7514
7634
  FunctionFactory.Instance = new FunctionFactory();
7515
7635
  return FunctionFactory;
@@ -7581,7 +7701,7 @@ function avg(params) {
7581
7701
  return arr.length > 0 ? res / arr.length : 0;
7582
7702
  }
7583
7703
  FunctionFactory.Instance.register("avg", avg);
7584
- function getInArrayParams(params) {
7704
+ function getInArrayParams(params, originalParams) {
7585
7705
  if (params.length < 2 || params.length > 3)
7586
7706
  return null;
7587
7707
  var arr = params[0];
@@ -7592,10 +7712,16 @@ function getInArrayParams(params) {
7592
7712
  var name = params[1];
7593
7713
  if (typeof name !== "string" && !(name instanceof String))
7594
7714
  return null;
7595
- var expression = params.length === 3 ? params[2] : undefined;
7715
+ var expression = params.length > 2 ? params[2] : undefined;
7596
7716
  if (typeof expression !== "string" && !(expression instanceof String)) {
7597
7717
  expression = undefined;
7598
7718
  }
7719
+ if (!expression) {
7720
+ var operand = Array.isArray(originalParams) && originalParams.length > 2 ? originalParams[2] : undefined;
7721
+ if (operand && !!operand.toString()) {
7722
+ expression = operand.toString();
7723
+ }
7724
+ }
7599
7725
  return { data: arr, name: name, expression: expression };
7600
7726
  }
7601
7727
  function convertToNumber(val) {
@@ -7611,9 +7737,9 @@ function processItemInArray(item, name, res, func, needToConvert, condition) {
7611
7737
  var val = needToConvert ? convertToNumber(item[name]) : 1;
7612
7738
  return func(res, val);
7613
7739
  }
7614
- function calcInArray(params, func, needToConvert) {
7740
+ function calcInArray(params, originalParams, func, needToConvert) {
7615
7741
  if (needToConvert === void 0) { needToConvert = true; }
7616
- var v = getInArrayParams(params);
7742
+ var v = getInArrayParams(params, originalParams);
7617
7743
  if (!v)
7618
7744
  return undefined;
7619
7745
  var condition = !!v.expression ? new _conditions__WEBPACK_IMPORTED_MODULE_3__["ConditionRunner"](v.expression) : undefined;
@@ -7633,8 +7759,8 @@ function calcInArray(params, func, needToConvert) {
7633
7759
  }
7634
7760
  return res;
7635
7761
  }
7636
- function sumInArray(params) {
7637
- var res = calcInArray(params, function (res, val) {
7762
+ function sumInArray(params, originalParams) {
7763
+ var res = calcInArray(params, originalParams, function (res, val) {
7638
7764
  if (res == undefined)
7639
7765
  res = 0;
7640
7766
  if (val == undefined || val == null)
@@ -7644,8 +7770,8 @@ function sumInArray(params) {
7644
7770
  return res !== undefined ? res : 0;
7645
7771
  }
7646
7772
  FunctionFactory.Instance.register("sumInArray", sumInArray);
7647
- function minInArray(params) {
7648
- return calcInArray(params, function (res, val) {
7773
+ function minInArray(params, originalParams) {
7774
+ return calcInArray(params, originalParams, function (res, val) {
7649
7775
  if (res == undefined)
7650
7776
  return val;
7651
7777
  if (val == undefined || val == null)
@@ -7654,8 +7780,8 @@ function minInArray(params) {
7654
7780
  });
7655
7781
  }
7656
7782
  FunctionFactory.Instance.register("minInArray", minInArray);
7657
- function maxInArray(params) {
7658
- return calcInArray(params, function (res, val) {
7783
+ function maxInArray(params, originalParams) {
7784
+ return calcInArray(params, originalParams, function (res, val) {
7659
7785
  if (res == undefined)
7660
7786
  return val;
7661
7787
  if (val == undefined || val == null)
@@ -7664,8 +7790,8 @@ function maxInArray(params) {
7664
7790
  });
7665
7791
  }
7666
7792
  FunctionFactory.Instance.register("maxInArray", maxInArray);
7667
- function countInArray(params) {
7668
- var res = calcInArray(params, function (res, val) {
7793
+ function countInArray(params, originalParams) {
7794
+ var res = calcInArray(params, originalParams, function (res, val) {
7669
7795
  if (res == undefined)
7670
7796
  res = 0;
7671
7797
  if (val == undefined || val == null)
@@ -7675,11 +7801,11 @@ function countInArray(params) {
7675
7801
  return res !== undefined ? res : 0;
7676
7802
  }
7677
7803
  FunctionFactory.Instance.register("countInArray", countInArray);
7678
- function avgInArray(params) {
7679
- var count = countInArray(params);
7804
+ function avgInArray(params, originalParams) {
7805
+ var count = countInArray(params, originalParams);
7680
7806
  if (count == 0)
7681
7807
  return 0;
7682
- return sumInArray(params) / count;
7808
+ return sumInArray(params, originalParams) / count;
7683
7809
  }
7684
7810
  FunctionFactory.Instance.register("avgInArray", avgInArray);
7685
7811
  function iif(params) {
@@ -7696,23 +7822,31 @@ function getDate(params) {
7696
7822
  return new Date(params[0]);
7697
7823
  }
7698
7824
  FunctionFactory.Instance.register("getDate", getDate);
7825
+ function dateDiffMonths(date1Param, date2Param, type) {
7826
+ if (type === "days")
7827
+ return diffDays([date1Param, date2Param]);
7828
+ var date1 = !!date1Param ? new Date(date1Param) : new Date();
7829
+ var date2 = !!date2Param ? new Date(date2Param) : new Date();
7830
+ var age = date2.getFullYear() - date1.getFullYear();
7831
+ type = type || "years";
7832
+ var ageInMonths = age * 12 + date2.getMonth() - date1.getMonth();
7833
+ if (date2.getDate() < date1.getDate()) {
7834
+ ageInMonths -= 1;
7835
+ }
7836
+ return type === "months" ? ageInMonths : ~~(ageInMonths / 12);
7837
+ }
7699
7838
  function age(params) {
7700
- if (!params && params.length < 1)
7701
- return null;
7702
- if (!params[0])
7839
+ if (!Array.isArray(params) || params.length < 1 || !params[0])
7703
7840
  return null;
7704
- var birthDate = new Date(params[0]);
7705
- var today = new Date();
7706
- var age = today.getFullYear() - birthDate.getFullYear();
7707
- if (age > 0) {
7708
- var m = today.getMonth() - birthDate.getMonth();
7709
- if (m < 0 || (m === 0 && today.getDate() < birthDate.getDate())) {
7710
- age -= 1;
7711
- }
7712
- }
7713
- return age;
7841
+ return dateDiffMonths(params[0], undefined, (params.length > 1 ? params[1] : "") || "years");
7714
7842
  }
7715
7843
  FunctionFactory.Instance.register("age", age);
7844
+ function dateDiff(params) {
7845
+ if (!Array.isArray(params) || params.length < 2 || !params[0] || !params[1])
7846
+ return null;
7847
+ return dateDiffMonths(params[0], params[1], (params.length > 2 ? params[2] : "") || "days");
7848
+ }
7849
+ FunctionFactory.Instance.register("dateDiff", dateDiff);
7716
7850
  function isContainerReadyCore(container) {
7717
7851
  if (!container)
7718
7852
  return false;
@@ -10580,8 +10714,10 @@ var defaultListCss = {
10580
10714
  itemWithIcon: "sv-list__item--with-icon",
10581
10715
  itemDisabled: "sv-list__item--disabled",
10582
10716
  itemFocused: "sv-list__item--focused",
10717
+ itemHovered: "sv-list__item--hovered",
10583
10718
  itemTextWrap: "sv-list__item-text--wrap",
10584
10719
  itemIcon: "sv-list__item-icon",
10720
+ itemMarkerIcon: "sv-list-item__marker-icon",
10585
10721
  itemSeparator: "sv-list__item-separator",
10586
10722
  itemBody: "sv-list__item-body",
10587
10723
  itemsContainer: "sv-list",
@@ -10607,10 +10743,17 @@ var ListModel = /** @class */ (function (_super) {
10607
10743
  if (_this.allowSelection) {
10608
10744
  _this.selectedItem = itemValue;
10609
10745
  }
10746
+ var action = itemValue.action;
10747
+ if (!!action) {
10748
+ action(itemValue);
10749
+ }
10610
10750
  if (!!_this.onSelectionChanged) {
10611
10751
  _this.onSelectionChanged(itemValue);
10612
10752
  }
10613
10753
  };
10754
+ _this.onItemHover = function (itemValue) {
10755
+ _this.mouseOverHandler(itemValue);
10756
+ };
10614
10757
  _this.isItemDisabled = function (itemValue) {
10615
10758
  return itemValue.enabled !== undefined && !itemValue.enabled;
10616
10759
  };
@@ -10633,6 +10776,7 @@ var ListModel = /** @class */ (function (_super) {
10633
10776
  .append(_this.cssClasses.itemDisabled, _this.isItemDisabled(itemValue))
10634
10777
  .append(_this.cssClasses.itemFocused, _this.isItemFocused(itemValue))
10635
10778
  .append(_this.cssClasses.itemSelected, _this.isItemSelected(itemValue))
10779
+ .append(_this.cssClasses.itemHovered, itemValue.isHovered)
10636
10780
  .append(_this.cssClasses.itemTextWrap, _this.textWrapEnabled)
10637
10781
  .append(itemValue.css)
10638
10782
  .toString();
@@ -10678,6 +10822,26 @@ var ListModel = /** @class */ (function (_super) {
10678
10822
  ListModel.prototype.isItemVisible = function (item) {
10679
10823
  return item.visible && (!this.shouldProcessFilter || this.hasText(item, this.filterString));
10680
10824
  };
10825
+ ListModel.prototype.getRenderedActions = function () {
10826
+ var actions = _super.prototype.getRenderedActions.call(this);
10827
+ if (this.filterString) {
10828
+ var newActions_1 = [];
10829
+ actions.forEach(function (action) {
10830
+ newActions_1.push(action);
10831
+ if (action.items) {
10832
+ action.items.forEach(function (item) {
10833
+ var a = new _actions_action__WEBPACK_IMPORTED_MODULE_2__["Action"](item);
10834
+ if (!a.iconName) {
10835
+ a.iconName = action.iconName;
10836
+ }
10837
+ newActions_1.push(a);
10838
+ });
10839
+ }
10840
+ });
10841
+ return newActions_1;
10842
+ }
10843
+ return actions;
10844
+ };
10681
10845
  Object.defineProperty(ListModel.prototype, "visibleItems", {
10682
10846
  get: function () {
10683
10847
  var _this = this;
@@ -10738,6 +10902,14 @@ var ListModel = /** @class */ (function (_super) {
10738
10902
  ListModel.prototype.getDefaultCssClasses = function () {
10739
10903
  return defaultListCss;
10740
10904
  };
10905
+ ListModel.prototype.popupAfterShowCallback = function (itemValue) {
10906
+ this.addScrollEventListener(function () {
10907
+ itemValue.hidePopup();
10908
+ });
10909
+ };
10910
+ ListModel.prototype.onItemLeave = function (itemValue) {
10911
+ itemValue.hidePopupDelayed(this.subItemsHideDelay);
10912
+ };
10741
10913
  ListModel.prototype.areSameItems = function (item1, item2) {
10742
10914
  if (!!this.areSameItemsCallback)
10743
10915
  return this.areSameItemsCallback(item1, item2);
@@ -11842,6 +12014,9 @@ var PopupModel = /** @class */ (function (_super) {
11842
12014
  __decorate([
11843
12015
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])({ defaultValue: false })
11844
12016
  ], PopupModel.prototype, "isModal", void 0);
12017
+ __decorate([
12018
+ Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])({ defaultValue: true })
12019
+ ], PopupModel.prototype, "canShrink", void 0);
11845
12020
  __decorate([
11846
12021
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])({ defaultValue: true })
11847
12022
  ], PopupModel.prototype, "isFocusedContent", void 0);
@@ -11941,7 +12116,7 @@ var SurveyQuestionBooleanCheckbox = /** @class */ (function (_super) {
11941
12116
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("label", { className: cssClasses.checkboxLabel },
11942
12117
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("input", { ref: this.checkRef, type: "checkbox", name: this.question.name, value: this.question.booleanValue === null
11943
12118
  ? ""
11944
- : this.question.booleanValue, id: this.question.inputId, className: cssClasses.controlCheckbox, disabled: this.isDisplayMode, checked: this.question.booleanValue || false, onChange: this.handleOnChange, "aria-required": this.question.ariaRequired, "aria-label": this.question.ariaLabel, "aria-invalid": this.question.ariaInvalid, "aria-errormessage": this.question.ariaErrormessage }),
12119
+ : this.question.booleanValue, id: this.question.inputId, className: cssClasses.controlCheckbox, disabled: this.question.isDisabledAttr, readOnly: this.question.isReadOnlyAttr, checked: this.question.booleanValue || false, onChange: this.handleOnChange, "aria-required": this.question.ariaRequired, "aria-label": this.question.ariaLabel, "aria-invalid": this.question.ariaInvalid, "aria-errormessage": this.question.ariaErrormessage }),
11945
12120
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", { className: cssClasses.checkboxMaterialDecorator },
11946
12121
  this.question.svgIcon ?
11947
12122
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("svg", { className: cssClasses.checkboxItemDecorator },
@@ -12010,7 +12185,7 @@ var SurveyQuestionBooleanRadio = /** @class */ (function (_super) {
12010
12185
  var cssClasses = this.question.cssClasses;
12011
12186
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { role: "presentation", className: this.question.getRadioItemClass(cssClasses, value) },
12012
12187
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("label", { className: cssClasses.radioLabel },
12013
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("input", { type: "radio", name: this.question.name, value: value, "aria-errormessage": this.question.ariaErrormessage, checked: value === this.question.booleanValueRendered, disabled: this.question.isInputReadOnly, className: cssClasses.itemRadioControl, onChange: this.handleOnChange }),
12188
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("input", { type: "radio", name: this.question.name, value: value, "aria-errormessage": this.question.ariaErrormessage, checked: value === this.question.booleanValueRendered, disabled: this.question.isDisabledAttr, readOnly: this.question.isReadOnlyAttr, className: cssClasses.itemRadioControl, onChange: this.handleOnChange }),
12014
12189
  this.question.cssClasses.materialRadioDecorator ?
12015
12190
  (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", { className: cssClasses.materialRadioDecorator }, this.question.itemSvgIcon ?
12016
12191
  (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("svg", { className: cssClasses.itemRadioDecorator },
@@ -12135,7 +12310,7 @@ var SurveyQuestionBoolean = /** @class */ (function (_super) {
12135
12310
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("label", { className: itemClass, onClick: this.handleOnClick },
12136
12311
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("input", { ref: this.checkRef, type: "checkbox", name: this.question.name, value: this.question.booleanValue === null
12137
12312
  ? ""
12138
- : this.question.booleanValue, id: this.question.inputId, className: cssClasses.control, disabled: this.isDisplayMode, checked: this.question.booleanValue || false, onChange: this.handleOnChange, 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-describedby": this.question.a11y_input_ariaDescribedBy, "aria-invalid": this.question.a11y_input_ariaInvalid, "aria-errormessage": this.question.a11y_input_ariaErrormessage }),
12313
+ : this.question.booleanValue, id: this.question.inputId, className: cssClasses.control, disabled: this.question.isDisabledAttr, readOnly: this.question.isReadOnlyAttr, checked: this.question.booleanValue || false, onChange: this.handleOnChange, 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-describedby": this.question.a11y_input_ariaDescribedBy, "aria-invalid": this.question.a11y_input_ariaInvalid, "aria-errormessage": this.question.a11y_input_ariaErrormessage }),
12139
12314
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: cssClasses.sliderGhost, onClick: function (event) { return _this.handleOnLabelClick(event, _this.question.swapOrder); } },
12140
12315
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", { className: this.question.getLabelCss(this.question.swapOrder) }, this.renderLocString(this.question.locLabelLeft))),
12141
12316
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: cssClasses.switch, onClick: this.handleOnSwitchClick },
@@ -12792,11 +12967,11 @@ var SurveyFilePreview = /** @class */ (function (_super) {
12792
12967
  var previews = this.question.previewValue.map(function (val, index) {
12793
12968
  if (!val)
12794
12969
  return null;
12795
- return (react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { key: _this.question.inputId + "_" + index, className: _this.question.cssClasses.previewItem, style: { display: _this.question.isPreviewVisible(index) ? undefined : "none" } },
12970
+ return (react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { key: _this.question.inputId + "_" + index, className: _this.question.cssClasses.previewItem, onClick: function (event) { return _this.question.doDownloadFileFromContainer(event); }, style: { display: _this.question.isPreviewVisible(index) ? undefined : "none" } },
12796
12971
  _this.renderFileSign(_this.question.cssClasses.fileSign, val),
12797
12972
  react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { className: _this.question.getImageWrapperCss(val) },
12798
12973
  _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),
12799
- 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); } },
12974
+ val.name && !_this.question.isReadOnly ? (react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { className: _this.question.getRemoveButtonCss(), onClick: function (event) { return _this.question.doRemoveFile(val, event); } },
12800
12975
  react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { className: _this.question.cssClasses.removeFile }, _this.question.removeFileCaption),
12801
12976
  (_this.question.cssClasses.removeFileSvgIconId) ?
12802
12977
  (react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_svg_icon_svg_icon__WEBPACK_IMPORTED_MODULE_2__["SvgIcon"], { title: _this.question.removeFileCaption, iconName: _this.question.cssClasses.removeFileSvgIconId, size: "auto", className: _this.question.cssClasses.removeFileSvg })) : null)) : null),
@@ -12953,6 +13128,166 @@ _element_factory__WEBPACK_IMPORTED_MODULE_2__["ReactElementFactory"].Instance.re
12953
13128
  });
12954
13129
 
12955
13130
 
13131
+ /***/ }),
13132
+
13133
+ /***/ "./src/react/components/list/list-item-content.tsx":
13134
+ /*!*********************************************************!*\
13135
+ !*** ./src/react/components/list/list-item-content.tsx ***!
13136
+ \*********************************************************/
13137
+ /*! exports provided: ListItemContent */
13138
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
13139
+
13140
+ "use strict";
13141
+ __webpack_require__.r(__webpack_exports__);
13142
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ListItemContent", function() { return ListItemContent; });
13143
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
13144
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
13145
+ /* harmony import */ var _element_factory__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../element-factory */ "./src/react/element-factory.tsx");
13146
+ /* harmony import */ var _reactquestion_element__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../reactquestion_element */ "./src/react/reactquestion_element.tsx");
13147
+ /* harmony import */ var _svg_icon_svg_icon__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../svg-icon/svg-icon */ "./src/react/components/svg-icon/svg-icon.tsx");
13148
+ var __extends = (undefined && undefined.__extends) || (function () {
13149
+ var extendStatics = function (d, b) {
13150
+ extendStatics = Object.setPrototypeOf ||
13151
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
13152
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
13153
+ return extendStatics(d, b);
13154
+ };
13155
+ return function (d, b) {
13156
+ if (typeof b !== "function" && b !== null)
13157
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
13158
+ extendStatics(d, b);
13159
+ function __() { this.constructor = d; }
13160
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
13161
+ };
13162
+ })();
13163
+
13164
+
13165
+
13166
+
13167
+ var ListItemContent = /** @class */ (function (_super) {
13168
+ __extends(ListItemContent, _super);
13169
+ function ListItemContent() {
13170
+ return _super !== null && _super.apply(this, arguments) || this;
13171
+ }
13172
+ Object.defineProperty(ListItemContent.prototype, "model", {
13173
+ get: function () {
13174
+ return this.props.model;
13175
+ },
13176
+ enumerable: false,
13177
+ configurable: true
13178
+ });
13179
+ Object.defineProperty(ListItemContent.prototype, "item", {
13180
+ get: function () {
13181
+ return this.props.item;
13182
+ },
13183
+ enumerable: false,
13184
+ configurable: true
13185
+ });
13186
+ ListItemContent.prototype.getStateElement = function () {
13187
+ return this.item;
13188
+ };
13189
+ ListItemContent.prototype.render = function () {
13190
+ if (!this.item)
13191
+ return null;
13192
+ var content = [];
13193
+ var text = this.renderLocString(this.item.locTitle, undefined, "locString");
13194
+ if (this.item.iconName) {
13195
+ var icon = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_svg_icon_svg_icon__WEBPACK_IMPORTED_MODULE_3__["SvgIcon"], { key: "icon", className: this.model.cssClasses.itemIcon, iconName: this.item.iconName, size: this.item.iconSize, "aria-label": this.item.title });
13196
+ content.push(icon);
13197
+ content.push(react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { key: "text" }, text));
13198
+ }
13199
+ else {
13200
+ content.push(text);
13201
+ }
13202
+ if (this.item.markerIconName) {
13203
+ var icon = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_svg_icon_svg_icon__WEBPACK_IMPORTED_MODULE_3__["SvgIcon"], { key: "marker", className: this.item.cssClasses.itemMarkerIcon, iconName: this.item.markerIconName, size: this.item.markerIconSize });
13204
+ content.push(icon);
13205
+ }
13206
+ return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, content);
13207
+ };
13208
+ return ListItemContent;
13209
+ }(_reactquestion_element__WEBPACK_IMPORTED_MODULE_2__["SurveyElementBase"]));
13210
+
13211
+ _element_factory__WEBPACK_IMPORTED_MODULE_1__["ReactElementFactory"].Instance.registerElement("sv-list-item-content", function (props) {
13212
+ return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(ListItemContent, props);
13213
+ });
13214
+
13215
+
13216
+ /***/ }),
13217
+
13218
+ /***/ "./src/react/components/list/list-item-group.tsx":
13219
+ /*!*******************************************************!*\
13220
+ !*** ./src/react/components/list/list-item-group.tsx ***!
13221
+ \*******************************************************/
13222
+ /*! exports provided: ListItemGroup */
13223
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
13224
+
13225
+ "use strict";
13226
+ __webpack_require__.r(__webpack_exports__);
13227
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ListItemGroup", function() { return ListItemGroup; });
13228
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
13229
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
13230
+ /* harmony import */ var _element_factory__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../element-factory */ "./src/react/element-factory.tsx");
13231
+ /* harmony import */ var _reactquestion_element__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../reactquestion_element */ "./src/react/reactquestion_element.tsx");
13232
+ /* harmony import */ var _popup_popup__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../popup/popup */ "./src/react/components/popup/popup.tsx");
13233
+ var __extends = (undefined && undefined.__extends) || (function () {
13234
+ var extendStatics = function (d, b) {
13235
+ extendStatics = Object.setPrototypeOf ||
13236
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
13237
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
13238
+ return extendStatics(d, b);
13239
+ };
13240
+ return function (d, b) {
13241
+ if (typeof b !== "function" && b !== null)
13242
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
13243
+ extendStatics(d, b);
13244
+ function __() { this.constructor = d; }
13245
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
13246
+ };
13247
+ })();
13248
+
13249
+
13250
+
13251
+
13252
+ var ListItemGroup = /** @class */ (function (_super) {
13253
+ __extends(ListItemGroup, _super);
13254
+ function ListItemGroup() {
13255
+ return _super !== null && _super.apply(this, arguments) || this;
13256
+ }
13257
+ Object.defineProperty(ListItemGroup.prototype, "model", {
13258
+ get: function () {
13259
+ return this.props.model;
13260
+ },
13261
+ enumerable: false,
13262
+ configurable: true
13263
+ });
13264
+ Object.defineProperty(ListItemGroup.prototype, "item", {
13265
+ get: function () {
13266
+ return this.props.item;
13267
+ },
13268
+ enumerable: false,
13269
+ configurable: true
13270
+ });
13271
+ ListItemGroup.prototype.getStateElement = function () {
13272
+ return this.item;
13273
+ };
13274
+ ListItemGroup.prototype.render = function () {
13275
+ var _a;
13276
+ if (!this.item)
13277
+ return null;
13278
+ var newElement = _element_factory__WEBPACK_IMPORTED_MODULE_1__["ReactElementFactory"].Instance.createElement("sv-list-item-content", { item: this.item, key: "content" + this.item.id, model: this.model });
13279
+ return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null,
13280
+ newElement,
13281
+ react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_popup_popup__WEBPACK_IMPORTED_MODULE_3__["Popup"], { model: (_a = this.item) === null || _a === void 0 ? void 0 : _a.popupModel }));
13282
+ };
13283
+ return ListItemGroup;
13284
+ }(_reactquestion_element__WEBPACK_IMPORTED_MODULE_2__["SurveyElementBase"]));
13285
+
13286
+ _element_factory__WEBPACK_IMPORTED_MODULE_1__["ReactElementFactory"].Instance.registerElement("sv-list-item-group", function (props) {
13287
+ return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(ListItemGroup, props);
13288
+ });
13289
+
13290
+
12956
13291
  /***/ }),
12957
13292
 
12958
13293
  /***/ "./src/react/components/list/list-item.tsx":
@@ -12970,7 +13305,6 @@ __webpack_require__.r(__webpack_exports__);
12970
13305
  /* harmony import */ var _element_factory__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../element-factory */ "./src/react/element-factory.tsx");
12971
13306
  /* harmony import */ var _reactquestion_element__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../reactquestion_element */ "./src/react/reactquestion_element.tsx");
12972
13307
  /* harmony import */ var _reactSurvey__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../reactSurvey */ "./src/react/reactSurvey.tsx");
12973
- /* harmony import */ var _svg_icon_svg_icon__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../svg-icon/svg-icon */ "./src/react/components/svg-icon/svg-icon.tsx");
12974
13308
  var __extends = (undefined && undefined.__extends) || (function () {
12975
13309
  var extendStatics = function (d, b) {
12976
13310
  extendStatics = Object.setPrototypeOf ||
@@ -12990,7 +13324,6 @@ var __extends = (undefined && undefined.__extends) || (function () {
12990
13324
 
12991
13325
 
12992
13326
 
12993
-
12994
13327
  var ListItem = /** @class */ (function (_super) {
12995
13328
  __extends(ListItem, _super);
12996
13329
  function ListItem() {
@@ -13025,25 +13358,9 @@ var ListItem = /** @class */ (function (_super) {
13025
13358
  paddingInlineStart: this.model.getItemIndent(this.item)
13026
13359
  };
13027
13360
  var className = this.model.getItemClass(this.item);
13028
- var content = [];
13029
- if (!this.item.component) {
13030
- var text = this.renderLocString(this.item.locTitle, undefined, "locString");
13031
- if (this.item.iconName) {
13032
- var icon = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_svg_icon_svg_icon__WEBPACK_IMPORTED_MODULE_4__["SvgIcon"], { key: 1, className: this.model.cssClasses.itemIcon, iconName: this.item.iconName, size: this.item.iconSize, "aria-label": this.item.title });
13033
- content.push(icon);
13034
- content.push(react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { key: 2 }, text));
13035
- }
13036
- else {
13037
- content.push(text);
13038
- }
13039
- }
13040
- else {
13041
- var newElement = _element_factory__WEBPACK_IMPORTED_MODULE_1__["ReactElementFactory"].Instance.createElement(this.item.component, { item: this.item, key: this.item.id });
13042
- if (!!newElement) {
13043
- content.push(newElement);
13044
- }
13045
- }
13046
- var contentWrap = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { style: contentWrapStyle, className: this.model.cssClasses.itemBody, title: this.item.locTitle.calculatedText }, content);
13361
+ var itemContent = this.item.component || "sv-list-item-content";
13362
+ var newElement = _element_factory__WEBPACK_IMPORTED_MODULE_1__["ReactElementFactory"].Instance.createElement(itemContent, { item: this.item, key: this.item.id, model: this.model });
13363
+ var contentWrap = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { style: contentWrapStyle, className: this.model.cssClasses.itemBody, title: this.item.locTitle.calculatedText, onMouseOver: function (event) { _this.model.onItemHover(_this.item); }, onMouseLeave: function (event) { _this.model.onItemLeave(_this.item); } }, newElement);
13047
13364
  var separator = this.item.needSeparator ? react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { className: this.model.cssClasses.itemSeparator }) : null;
13048
13365
  var isVisible = this.model.isItemVisible(this.item);
13049
13366
  var style = {
@@ -14015,7 +14332,7 @@ var Popup = /** @class */ (function (_super) {
14015
14332
  };
14016
14333
  Popup.prototype.setTargetElement = function () {
14017
14334
  var container = this.containerRef.current;
14018
- this.popup.setComponentElement(container, this.props.getTarget ? this.props.getTarget(container) : undefined);
14335
+ this.popup.setComponentElement(container, this.props.getTarget ? this.props.getTarget(container) : undefined, this.props.getArea ? this.props.getArea(container) : undefined);
14019
14336
  };
14020
14337
  Popup.prototype.componentDidMount = function () {
14021
14338
  _super.prototype.componentDidMount.call(this);
@@ -14344,7 +14661,7 @@ var RatingItemSmiley = /** @class */ (function (_super) {
14344
14661
  RatingItemSmiley.prototype.render = function () {
14345
14662
  var _this = this;
14346
14663
  return (react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("label", { onMouseDown: this.handleOnMouseDown, style: this.question.getItemStyle(this.item.itemValue, this.item.highlight), className: this.question.getItemClass(this.item.itemValue), onMouseOver: function (e) { return _this.question.onItemMouseIn(_this.item); }, onMouseOut: function (e) { return _this.question.onItemMouseOut(_this.item); } },
14347
- react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("input", { type: "radio", className: "sv-visuallyhidden", name: this.question.questionName, id: this.question.getInputId(this.index), value: this.item.value, disabled: this.isDisplayMode, checked: this.question.value == this.item.value, onClick: this.props.handleOnClick, onChange: function () { }, "aria-required": this.question.ariaRequired, "aria-label": this.question.ariaLabel, "aria-invalid": this.question.ariaInvalid, "aria-errormessage": this.question.ariaErrormessage }),
14664
+ react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("input", { type: "radio", className: "sv-visuallyhidden", name: this.question.questionName, id: this.question.getInputId(this.index), value: this.item.value, disabled: this.question.isDisabledAttr, readOnly: this.question.isReadOnlyAttr, checked: this.question.value == this.item.value, onClick: this.props.handleOnClick, onChange: function () { }, "aria-required": this.question.ariaRequired, "aria-label": this.question.ariaLabel, "aria-invalid": this.question.ariaInvalid, "aria-errormessage": this.question.ariaErrormessage }),
14348
14665
  react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_svg_icon_svg_icon__WEBPACK_IMPORTED_MODULE_2__["SvgIcon"], { size: "auto", iconName: this.question.getItemSmileyIconName(this.item.itemValue), title: this.item.text })));
14349
14666
  };
14350
14667
  return RatingItemSmiley;
@@ -14399,7 +14716,7 @@ var RatingItemStar = /** @class */ (function (_super) {
14399
14716
  RatingItemStar.prototype.render = function () {
14400
14717
  var _this = this;
14401
14718
  return (react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("label", { onMouseDown: this.handleOnMouseDown, className: this.question.getItemClass(this.item.itemValue), onMouseOver: function (e) { return _this.question.onItemMouseIn(_this.item); }, onMouseOut: function (e) { return _this.question.onItemMouseOut(_this.item); } },
14402
- react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("input", { type: "radio", className: "sv-visuallyhidden", name: this.question.questionName, id: this.question.getInputId(this.index), value: this.item.value, disabled: this.isDisplayMode, checked: this.question.value == this.item.value, onClick: this.props.handleOnClick, onChange: function () { }, "aria-required": this.question.ariaRequired, "aria-label": this.question.ariaLabel, "aria-invalid": this.question.ariaInvalid, "aria-errormessage": this.question.ariaErrormessage }),
14719
+ react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("input", { type: "radio", className: "sv-visuallyhidden", name: this.question.questionName, id: this.question.getInputId(this.index), value: this.item.value, disabled: this.question.isDisabledAttr, readOnly: this.question.isReadOnlyAttr, checked: this.question.value == this.item.value, onClick: this.props.handleOnClick, onChange: function () { }, "aria-required": this.question.ariaRequired, "aria-label": this.question.ariaLabel, "aria-invalid": this.question.ariaInvalid, "aria-errormessage": this.question.ariaErrormessage }),
14403
14720
  react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_svg_icon_svg_icon__WEBPACK_IMPORTED_MODULE_2__["SvgIcon"], { className: "sv-star", size: "auto", iconName: this.question.itemStarIcon, title: this.item.text }),
14404
14721
  react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_svg_icon_svg_icon__WEBPACK_IMPORTED_MODULE_2__["SvgIcon"], { className: "sv-star-2", size: "auto", iconName: this.question.itemStarIconAlt, title: this.item.text })));
14405
14722
  };
@@ -14491,7 +14808,7 @@ var RatingItem = /** @class */ (function (_super) {
14491
14808
  RatingItem.prototype.render = function () {
14492
14809
  var itemText = this.renderLocString(this.item.locText);
14493
14810
  return (react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("label", { onMouseDown: this.handleOnMouseDown, className: this.question.getItemClassByText(this.item.itemValue, this.item.text) },
14494
- react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("input", { type: "radio", className: "sv-visuallyhidden", name: this.question.questionName, id: this.question.getInputId(this.index), value: this.item.value, disabled: this.isDisplayMode, checked: this.question.value == this.item.value, onClick: this.props.handleOnClick, onChange: function () { }, "aria-required": this.question.ariaRequired, "aria-label": this.question.ariaLabel, "aria-invalid": this.question.ariaInvalid, "aria-errormessage": this.question.ariaErrormessage }),
14811
+ react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("input", { type: "radio", className: "sv-visuallyhidden", name: this.question.questionName, id: this.question.getInputId(this.index), value: this.item.value, disabled: this.question.isDisabledAttr, readOnly: this.question.isReadOnlyAttr, checked: this.question.value == this.item.value, onClick: this.props.handleOnClick, onChange: function () { }, "aria-required": this.question.ariaRequired, "aria-label": this.question.ariaLabel, "aria-invalid": this.question.ariaInvalid, "aria-errormessage": this.question.ariaErrormessage }),
14495
14812
  react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { className: this.question.cssClasses.itemText }, itemText)));
14496
14813
  };
14497
14814
  RatingItem.prototype.componentDidMount = function () {
@@ -15267,7 +15584,7 @@ var SurveyQuestionDropdownBase = /** @class */ (function (_super) {
15267
15584
  var text = (this.question.selectedItemLocText) ? this.renderLocString(this.question.selectedItemLocText) : "";
15268
15585
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
15269
15586
  // @ts-ignore
15270
- selectElement = react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { id: this.question.inputId, className: this.question.getControlClass(), disabled: true },
15587
+ selectElement = react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { id: this.question.inputId, "aria-label": this.question.a11y_input_ariaLabel, "aria-labelledby": this.question.a11y_input_ariaLabelledBy, "aria-describedby": this.question.a11y_input_ariaDescribedBy, tabIndex: this.question.isDisabledAttr ? undefined : 0, className: this.question.getControlClass() },
15271
15588
  text,
15272
15589
  this.renderReadOnlyElement());
15273
15590
  }
@@ -15301,7 +15618,7 @@ var SurveyQuestionDropdownBase = /** @class */ (function (_super) {
15301
15618
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { id: this.question.inputId, className: this.question.getControlClass(), tabIndex: dropdownListModel.noTabIndex ? undefined : 0,
15302
15619
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
15303
15620
  // @ts-ignore
15304
- disabled: this.question.isInputReadOnly, required: this.question.isRequired, onKeyDown: this.keyhandler, onBlur: this.blur, role: this.question.ariaRole, "aria-required": this.question.ariaRequired, "aria-label": this.question.ariaLabel, "aria-invalid": this.question.ariaInvalid, "aria-errormessage": this.question.ariaErrormessage, "aria-expanded": this.question.ariaExpanded === null ? undefined : this.question.ariaExpanded === "true", "aria-controls": dropdownListModel.listElementId, "aria-activedescendant": dropdownListModel.ariaActivedescendant },
15621
+ disabled: this.question.isDisabledAttr, required: this.question.isRequired, onKeyDown: this.keyhandler, onBlur: this.blur, role: this.question.ariaRole, "aria-required": this.question.ariaRequired, "aria-label": this.question.ariaLabel, "aria-invalid": this.question.ariaInvalid, "aria-errormessage": this.question.ariaErrormessage, "aria-expanded": this.question.ariaExpanded === null ? undefined : this.question.ariaExpanded === "true", "aria-controls": dropdownListModel.listElementId, "aria-activedescendant": dropdownListModel.ariaActivedescendant },
15305
15622
  dropdownListModel.showHintPrefix ?
15306
15623
  (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.question.cssClasses.hintPrefix },
15307
15624
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", null, dropdownListModel.hintStringPrefix))) : null,
@@ -15311,7 +15628,7 @@ var SurveyQuestionDropdownBase = /** @class */ (function (_super) {
15311
15628
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", { style: { visibility: "hidden" }, "data-bind": "text: model.filterString" }, dropdownListModel.inputStringRendered),
15312
15629
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", null, dropdownListModel.hintStringSuffix))) : null,
15313
15630
  valueElement,
15314
- 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-describedby": this.question.a11y_input_ariaDescribedBy, "aria-controls": dropdownListModel.listElementId, "aria-activedescendant": dropdownListModel.ariaActivedescendant, placeholder: dropdownListModel.placeholderRendered, readOnly: dropdownListModel.filterReadOnly ? true : undefined, tabIndex: dropdownListModel.noTabIndex ? undefined : -1, disabled: this.question.isInputReadOnly, inputMode: dropdownListModel.inputMode, onChange: function (e) { onInputChange(e); }, onBlur: this.blur, onFocus: this.focus })),
15631
+ 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-describedby": this.question.a11y_input_ariaDescribedBy, "aria-controls": dropdownListModel.listElementId, "aria-activedescendant": dropdownListModel.ariaActivedescendant, placeholder: dropdownListModel.placeholderRendered, readOnly: dropdownListModel.filterReadOnly ? true : undefined, tabIndex: dropdownListModel.noTabIndex ? undefined : -1, disabled: this.question.isDisabledAttr, inputMode: dropdownListModel.inputMode, onChange: function (e) { onInputChange(e); }, onBlur: this.blur, onFocus: this.focus })),
15315
15632
  this.createClearButton()));
15316
15633
  };
15317
15634
  SurveyQuestionDropdownBase.prototype.createClearButton = function () {
@@ -16158,6 +16475,8 @@ var SurveyQuestionImagePickerItem = /** @class */ (function (_super) {
16158
16475
  configurable: true
16159
16476
  });
16160
16477
  SurveyQuestionImagePickerItem.prototype.handleOnChange = function (event) {
16478
+ if (this.question.isReadOnlyAttr)
16479
+ return;
16161
16480
  if (this.question.multiSelect) {
16162
16481
  if (event.target.checked) {
16163
16482
  this.question.value = this.question.value.concat(event.target.value);
@@ -16204,7 +16523,7 @@ var SurveyQuestionImagePickerItem = /** @class */ (function (_super) {
16204
16523
  }
16205
16524
  var renderedItem = (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: itemClass },
16206
16525
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("label", { className: cssClasses.label },
16207
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("input", { className: cssClasses.itemControl, id: this.question.getItemId(item), type: this.question.inputType, name: this.question.questionName, checked: isChecked, value: item.value, disabled: !this.question.getItemEnabled(item), onChange: this.handleOnChange, "aria-required": this.question.ariaRequired, "aria-label": this.question.ariaLabel, "aria-invalid": this.question.ariaInvalid, "aria-errormessage": this.question.ariaErrormessage }),
16526
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("input", { className: cssClasses.itemControl, id: this.question.getItemId(item), type: this.question.inputType, name: this.question.questionName, checked: isChecked, value: item.value, disabled: !this.question.getItemEnabled(item), readOnly: this.question.isReadOnlyAttr, onChange: this.handleOnChange, "aria-required": this.question.ariaRequired, "aria-label": this.question.ariaLabel, "aria-invalid": this.question.ariaInvalid, "aria-errormessage": this.question.ariaErrormessage }),
16208
16527
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.question.cssClasses.itemDecorator },
16209
16528
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.question.cssClasses.imageContainer },
16210
16529
  !!this.question.cssClasses.checkedItemDecorator ?
@@ -18269,7 +18588,7 @@ var SurveyQuestionCheckboxItem = /** @class */ (function (_super) {
18269
18588
  var itemLabel = !this.hideCaption ? react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", { className: this.cssClasses.controlLabel }, this.renderLocString(this.item.locText, this.textStyle)) : null;
18270
18589
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: itemClass, role: "presentation" },
18271
18590
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("label", { className: labelClass },
18272
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("input", { className: this.cssClasses.itemControl, type: "checkbox", role: "option", name: this.question.name + this.item.id, value: this.item.value, id: id, style: this.inputStyle, disabled: !this.question.getItemEnabled(this.item), checked: isChecked, onChange: this.handleOnChange }),
18591
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("input", { className: this.cssClasses.itemControl, type: "checkbox", role: "option", name: this.question.name + this.item.id, value: this.item.value, id: id, style: this.inputStyle, disabled: !this.question.getItemEnabled(this.item), readOnly: this.question.isReadOnlyAttr, checked: isChecked, onChange: this.handleOnChange }),
18273
18592
  this.cssClasses.materialDecorator ?
18274
18593
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", { className: this.cssClasses.materialDecorator }, this.question.itemSvgIcon ?
18275
18594
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("svg", { className: this.cssClasses.itemDecorator },
@@ -18355,7 +18674,7 @@ var SurveyQuestionComment = /** @class */ (function (_super) {
18355
18674
  }
18356
18675
  var counter = !!this.question.getMaxLength() ? (react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_components_character_counter__WEBPACK_IMPORTED_MODULE_4__["CharacterCounterComponent"], { counter: this.question.characterCounter, remainingCharacterCounter: this.question.cssClasses.remainingCharacterCounter })) : null;
18357
18676
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null,
18358
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("textarea", { id: this.question.inputId, className: this.question.className, disabled: this.question.isInputReadOnly, readOnly: this.question.isInputReadOnly, ref: function (textarea) { return (_this.setControl(textarea)); }, maxLength: this.question.getMaxLength(), placeholder: placeholder, onBlur: onBlur, onInput: onInput, onKeyDown: function (event) { _this.question.onKeyDown(event); }, cols: this.question.cols, rows: this.question.rows, "aria-required": this.question.a11y_input_ariaRequired, "aria-label": this.question.a11y_input_ariaLabel, "aria-labelledby": this.question.a11y_input_ariaLabelledBy, "aria-describedby": this.question.a11y_input_ariaDescribedBy, "aria-invalid": this.question.a11y_input_ariaInvalid, "aria-errormessage": this.question.a11y_input_ariaErrormessage, style: { resize: this.question.resizeStyle } }),
18677
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("textarea", { id: this.question.inputId, className: this.question.className, disabled: this.question.isDisabledAttr, readOnly: this.question.isReadOnlyAttr, ref: function (textarea) { return (_this.setControl(textarea)); }, maxLength: this.question.getMaxLength(), placeholder: placeholder, onBlur: onBlur, onInput: onInput, onKeyDown: function (event) { _this.question.onKeyDown(event); }, cols: this.question.cols, rows: this.question.rows, "aria-required": this.question.a11y_input_ariaRequired, "aria-label": this.question.a11y_input_ariaLabel, "aria-labelledby": this.question.a11y_input_ariaLabelledBy, "aria-describedby": this.question.a11y_input_ariaDescribedBy, "aria-invalid": this.question.a11y_input_ariaInvalid, "aria-errormessage": this.question.a11y_input_ariaErrormessage, style: { resize: this.question.resizeStyle } }),
18359
18678
  counter));
18360
18679
  };
18361
18680
  return SurveyQuestionComment;
@@ -18656,6 +18975,9 @@ var SurveyElementBase = /** @class */ (function (_super) {
18656
18975
  };
18657
18976
  SurveyElementBase.prototype.componentDidUpdate = function (prevProps, prevState) {
18658
18977
  this.makeBaseElementsReact();
18978
+ this.getStateElements().forEach(function (el) {
18979
+ el.afterRerender();
18980
+ });
18659
18981
  };
18660
18982
  SurveyElementBase.prototype.allowComponentUpdate = function () {
18661
18983
  this._allowComponentUpdate = true;
@@ -18727,12 +19049,14 @@ var SurveyElementBase = /** @class */ (function (_super) {
18727
19049
  SurveyElementBase.prototype.makeBaseElementsReact = function () {
18728
19050
  var els = this.getStateElements();
18729
19051
  for (var i = 0; i < els.length; i++) {
19052
+ els[i].enableOnElementRenderedEvent();
18730
19053
  this.makeBaseElementReact(els[i]);
18731
19054
  }
18732
19055
  };
18733
19056
  SurveyElementBase.prototype.unMakeBaseElementsReact = function () {
18734
19057
  var els = this.getStateElements();
18735
19058
  for (var i = 0; i < els.length; i++) {
19059
+ els[i].disableOnElementRenderedEvent();
18736
19060
  this.unMakeBaseElementReact(els[i]);
18737
19061
  }
18738
19062
  };
@@ -19184,9 +19508,19 @@ var SurveyQuestionFile = /** @class */ (function (_super) {
19184
19508
  var clearButton = this.question.showRemoveButton ? this.renderClearButton(this.question.cssClasses.removeButton) : null;
19185
19509
  var clearButtonBottom = this.question.showRemoveButtonBottom ? this.renderClearButton(this.question.cssClasses.removeButtonBottom) : null;
19186
19510
  var fileNavigator = this.question.fileNavigatorVisible ? (react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_components_action_bar_action_bar__WEBPACK_IMPORTED_MODULE_1__["SurveyActionBar"], { model: this.question.fileNavigator })) : null;
19187
- var fileInput = (this.isDisplayMode ?
19188
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("input", { type: "file", disabled: this.isDisplayMode, className: !this.isDisplayMode ? this.question.cssClasses.fileInput : this.question.getReadOnlyFileCss(), id: this.question.inputId, ref: function (input) { return (_this.setControl(input)); }, style: !this.isDisplayMode ? {} : { color: "transparent" }, multiple: this.question.allowMultiple, placeholder: this.question.title, accept: this.question.acceptedTypes }) : this.question.hasFileUI ?
19189
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("input", { type: "file", disabled: this.isDisplayMode, tabIndex: -1, className: !this.isDisplayMode ? this.question.cssClasses.fileInput : this.question.getReadOnlyFileCss(), id: this.question.inputId, ref: function (input) { return (_this.setControl(input)); }, style: !this.isDisplayMode ? {} : { color: "transparent" }, "aria-required": this.question.ariaRequired, "aria-label": this.question.ariaLabel, "aria-invalid": this.question.ariaInvalid, "aria-errormessage": this.question.ariaErrormessage, multiple: this.question.allowMultiple, title: this.question.inputTitle, accept: this.question.acceptedTypes, capture: this.question.renderCapture }) : null);
19511
+ var fileInput;
19512
+ if (this.question.isReadOnlyAttr) {
19513
+ fileInput = react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("input", { readOnly: true, type: "file", className: !this.isDisplayMode ? this.question.cssClasses.fileInput : this.question.getReadOnlyFileCss(), id: this.question.inputId, ref: function (input) { return (_this.setControl(input)); }, style: !this.isDisplayMode ? {} : { color: "transparent" }, multiple: this.question.allowMultiple, placeholder: this.question.title, accept: this.question.acceptedTypes });
19514
+ }
19515
+ else if (this.question.isDisabledAttr) {
19516
+ fileInput = react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("input", { disabled: true, type: "file", className: !this.isDisplayMode ? this.question.cssClasses.fileInput : this.question.getReadOnlyFileCss(), id: this.question.inputId, ref: function (input) { return (_this.setControl(input)); }, style: !this.isDisplayMode ? {} : { color: "transparent" }, multiple: this.question.allowMultiple, placeholder: this.question.title, accept: this.question.acceptedTypes });
19517
+ }
19518
+ else if (this.question.hasFileUI) {
19519
+ fileInput = react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("input", { type: "file", disabled: this.isDisplayMode, tabIndex: -1, className: !this.isDisplayMode ? this.question.cssClasses.fileInput : this.question.getReadOnlyFileCss(), id: this.question.inputId, ref: function (input) { return (_this.setControl(input)); }, style: !this.isDisplayMode ? {} : { color: "transparent" }, "aria-required": this.question.ariaRequired, "aria-label": this.question.ariaLabel, "aria-invalid": this.question.ariaInvalid, "aria-errormessage": this.question.ariaErrormessage, multiple: this.question.allowMultiple, title: this.question.inputTitle, accept: this.question.acceptedTypes, capture: this.question.renderCapture });
19520
+ }
19521
+ else {
19522
+ fileInput = null;
19523
+ }
19190
19524
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.question.fileRootCss },
19191
19525
  fileInput,
19192
19526
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.question.cssClasses.dragArea, onDrop: this.question.onDrop, onDragOver: this.question.onDragOver, onDragLeave: this.question.onDragLeave, onDragEnter: this.question.onDragEnter },
@@ -19578,7 +19912,7 @@ var SurveyQuestionMatrixCell = /** @class */ (function (_super) {
19578
19912
  mobileSpan));
19579
19913
  };
19580
19914
  SurveyQuestionMatrixCell.prototype.renderInput = function (inputId, isChecked) {
19581
- return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("input", { id: inputId, type: "radio", className: this.cssClasses.itemValue, name: this.row.fullName, value: this.column.value, disabled: this.row.isReadOnly, checked: isChecked, onChange: this.handleOnChange, "aria-required": this.question.a11y_input_ariaRequired, "aria-label": this.question.getCellAriaLabel(this.row.locText.renderedHtml, this.column.locText.renderedHtml), "aria-invalid": this.question.a11y_input_ariaInvalid, "aria-errormessage": this.question.a11y_input_ariaErrormessage }));
19915
+ return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("input", { id: inputId, type: "radio", className: this.cssClasses.itemValue, name: this.row.fullName, value: this.column.value, disabled: this.row.isDisabledAttr, readOnly: this.row.isReadOnlyAttr, checked: isChecked, onChange: this.handleOnChange, "aria-required": this.question.a11y_input_ariaRequired, "aria-label": this.question.getCellAriaLabel(this.row.locText.renderedHtml, this.column.locText.renderedHtml), "aria-invalid": this.question.a11y_input_ariaInvalid, "aria-errormessage": this.question.a11y_input_ariaErrormessage }));
19582
19916
  };
19583
19917
  return SurveyQuestionMatrixCell;
19584
19918
  }(_reactquestion_element__WEBPACK_IMPORTED_MODULE_1__["ReactSurveyElement"]));
@@ -19689,71 +20023,39 @@ var __extends = (undefined && undefined.__extends) || (function () {
19689
20023
 
19690
20024
 
19691
20025
 
19692
- var SurveyQuestionMatrixDropdownBase = /** @class */ (function (_super) {
19693
- __extends(SurveyQuestionMatrixDropdownBase, _super);
19694
- function SurveyQuestionMatrixDropdownBase(props) {
19695
- var _this = _super.call(this, props) || this;
19696
- //Create rendered table in contructor and not on rendering
19697
- var table = _this.question.renderedTable;
19698
- _this.state = _this.getState();
19699
- return _this;
20026
+ var SurveyQuestionMatrixTable = /** @class */ (function (_super) {
20027
+ __extends(SurveyQuestionMatrixTable, _super);
20028
+ function SurveyQuestionMatrixTable() {
20029
+ return _super !== null && _super.apply(this, arguments) || this;
19700
20030
  }
19701
- Object.defineProperty(SurveyQuestionMatrixDropdownBase.prototype, "question", {
20031
+ Object.defineProperty(SurveyQuestionMatrixTable.prototype, "question", {
19702
20032
  get: function () {
19703
- return this.questionBase;
20033
+ return this.props.question;
19704
20034
  },
19705
20035
  enumerable: false,
19706
20036
  configurable: true
19707
20037
  });
19708
- SurveyQuestionMatrixDropdownBase.prototype.getState = function (prevState) {
19709
- if (prevState === void 0) { prevState = null; }
19710
- return { rowCounter: !prevState ? 0 : prevState.rowCounter + 1 };
19711
- };
19712
- SurveyQuestionMatrixDropdownBase.prototype.updateStateOnCallback = function () {
19713
- if (this.isRendering)
19714
- return;
19715
- this.setState(this.getState(this.state));
19716
- };
19717
- SurveyQuestionMatrixDropdownBase.prototype.componentDidMount = function () {
19718
- var _this = this;
19719
- _super.prototype.componentDidMount.call(this);
19720
- this.question.visibleRowsChangedCallback = function () {
19721
- _this.updateStateOnCallback();
19722
- };
19723
- this.question.onRenderedTableResetCallback = function () {
19724
- _this.question.renderedTable.renderedRowsChangedCallback = function () {
19725
- _this.updateStateOnCallback();
19726
- };
19727
- _this.updateStateOnCallback();
19728
- };
19729
- this.question.renderedTable.renderedRowsChangedCallback = function () {
19730
- _this.updateStateOnCallback();
19731
- };
19732
- };
19733
- SurveyQuestionMatrixDropdownBase.prototype.componentWillUnmount = function () {
19734
- _super.prototype.componentWillUnmount.call(this);
19735
- this.question.visibleRowsChangedCallback = function () { };
19736
- this.question.onRenderedTableResetCallback = function () { };
19737
- this.question.renderedTable.renderedRowsChangedCallback = function () { };
19738
- };
19739
- SurveyQuestionMatrixDropdownBase.prototype.renderElement = function () {
19740
- return this.renderTableDiv();
20038
+ Object.defineProperty(SurveyQuestionMatrixTable.prototype, "creator", {
20039
+ get: function () {
20040
+ return this.props.creator;
20041
+ },
20042
+ enumerable: false,
20043
+ configurable: true
20044
+ });
20045
+ Object.defineProperty(SurveyQuestionMatrixTable.prototype, "table", {
20046
+ get: function () {
20047
+ return this.question.renderedTable;
20048
+ },
20049
+ enumerable: false,
20050
+ configurable: true
20051
+ });
20052
+ SurveyQuestionMatrixTable.prototype.getStateElement = function () {
20053
+ return this.table;
19741
20054
  };
19742
- SurveyQuestionMatrixDropdownBase.prototype.renderTableDiv = function () {
19743
- var _this = this;
19744
- var header = this.renderHeader();
19745
- var footers = this.renderFooter();
19746
- var rows = this.renderRows();
19747
- var divStyle = this.question.showHorizontalScroll
19748
- ? { overflowX: "scroll" }
19749
- : {};
19750
- return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { style: divStyle, className: this.question.cssClasses.tableWrapper, ref: function (root) { return (_this.setControl(root)); } },
19751
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("table", { className: this.question.getTableCss() },
19752
- header,
19753
- rows,
19754
- footers)));
20055
+ SurveyQuestionMatrixTable.prototype.wrapCell = function (cell, element, reason) {
20056
+ return this.props.wrapCell(cell, element, reason);
19755
20057
  };
19756
- SurveyQuestionMatrixDropdownBase.prototype.renderHeader = function () {
20058
+ SurveyQuestionMatrixTable.prototype.renderHeader = function () {
19757
20059
  var table = this.question.renderedTable;
19758
20060
  if (!table.showHeader)
19759
20061
  return null;
@@ -19781,14 +20083,14 @@ var SurveyQuestionMatrixDropdownBase = /** @class */ (function (_super) {
19781
20083
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("thead", null,
19782
20084
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("tr", null, headers)));
19783
20085
  };
19784
- SurveyQuestionMatrixDropdownBase.prototype.renderFooter = function () {
20086
+ SurveyQuestionMatrixTable.prototype.renderFooter = function () {
19785
20087
  var table = this.question.renderedTable;
19786
20088
  if (!table.showFooter)
19787
20089
  return null;
19788
20090
  var row = this.renderRow("footer", table.footerRow, this.question.cssClasses, "row-footer");
19789
20091
  return react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("tfoot", null, row);
19790
20092
  };
19791
- SurveyQuestionMatrixDropdownBase.prototype.renderRows = function () {
20093
+ SurveyQuestionMatrixTable.prototype.renderRows = function () {
19792
20094
  var cssClasses = this.question.cssClasses;
19793
20095
  var rows = [];
19794
20096
  var renderedRows = this.question.renderedTable.renderedRows;
@@ -19797,7 +20099,7 @@ var SurveyQuestionMatrixDropdownBase = /** @class */ (function (_super) {
19797
20099
  }
19798
20100
  return react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("tbody", null, rows);
19799
20101
  };
19800
- SurveyQuestionMatrixDropdownBase.prototype.renderRow = function (keyValue, row, cssClasses, reason) {
20102
+ SurveyQuestionMatrixTable.prototype.renderRow = function (keyValue, row, cssClasses, reason) {
19801
20103
  var matrixrow = [];
19802
20104
  var cells = row.cells;
19803
20105
  for (var i = 0; i < cells.length; i++) {
@@ -19806,7 +20108,7 @@ var SurveyQuestionMatrixDropdownBase = /** @class */ (function (_super) {
19806
20108
  var key = "row" + keyValue;
19807
20109
  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)));
19808
20110
  };
19809
- SurveyQuestionMatrixDropdownBase.prototype.renderCell = function (cell, index, cssClasses, reason) {
20111
+ SurveyQuestionMatrixTable.prototype.renderCell = function (cell, index, cssClasses, reason) {
19810
20112
  var key = "cell" + index;
19811
20113
  if (cell.hasQuestion) {
19812
20114
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"](SurveyQuestionMatrixDropdownCell, { key: key, cssClasses: cssClasses, cell: cell, creator: this.creator, reason: reason }));
@@ -19826,7 +20128,7 @@ var SurveyQuestionMatrixDropdownBase = /** @class */ (function (_super) {
19826
20128
  }
19827
20129
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("td", { className: cell.className, key: key, style: cellStyle, colSpan: cell.colSpans, "data-responsive-title": cell.headers, title: cell.getTitle() }, cellContent));
19828
20130
  };
19829
- SurveyQuestionMatrixDropdownBase.prototype.renderCellContent = function (cell, reason, cssClasses) {
20131
+ SurveyQuestionMatrixTable.prototype.renderCellContent = function (cell, reason, cssClasses) {
19830
20132
  var cellContent = null;
19831
20133
  var cellStyle = null;
19832
20134
  if (!!cell.width || !!cell.minWidth) {
@@ -19868,6 +20170,64 @@ var SurveyQuestionMatrixDropdownBase = /** @class */ (function (_super) {
19868
20170
  var readyCell = (react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null, cellContent));
19869
20171
  return this.wrapCell(cell, readyCell, reason);
19870
20172
  };
20173
+ SurveyQuestionMatrixTable.prototype.renderElement = function () {
20174
+ var header = this.renderHeader();
20175
+ var footers = this.renderFooter();
20176
+ var rows = this.renderRows();
20177
+ return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("table", { className: this.question.getTableCss() },
20178
+ header,
20179
+ rows,
20180
+ footers));
20181
+ };
20182
+ return SurveyQuestionMatrixTable;
20183
+ }(_reactquestion_element__WEBPACK_IMPORTED_MODULE_1__["SurveyElementBase"]));
20184
+ var SurveyQuestionMatrixDropdownBase = /** @class */ (function (_super) {
20185
+ __extends(SurveyQuestionMatrixDropdownBase, _super);
20186
+ function SurveyQuestionMatrixDropdownBase(props) {
20187
+ var _this = _super.call(this, props) || this;
20188
+ //Create rendered table in contructor and not on rendering
20189
+ var table = _this.question.renderedTable;
20190
+ _this.state = _this.getState();
20191
+ return _this;
20192
+ }
20193
+ Object.defineProperty(SurveyQuestionMatrixDropdownBase.prototype, "question", {
20194
+ get: function () {
20195
+ return this.questionBase;
20196
+ },
20197
+ enumerable: false,
20198
+ configurable: true
20199
+ });
20200
+ SurveyQuestionMatrixDropdownBase.prototype.getState = function (prevState) {
20201
+ if (prevState === void 0) { prevState = null; }
20202
+ return { rowCounter: !prevState ? 0 : prevState.rowCounter + 1 };
20203
+ };
20204
+ SurveyQuestionMatrixDropdownBase.prototype.updateStateOnCallback = function () {
20205
+ if (this.isRendering)
20206
+ return;
20207
+ this.setState(this.getState(this.state));
20208
+ };
20209
+ SurveyQuestionMatrixDropdownBase.prototype.componentDidMount = function () {
20210
+ var _this = this;
20211
+ _super.prototype.componentDidMount.call(this);
20212
+ this.question.onRenderedTableResetCallback = function () {
20213
+ _this.updateStateOnCallback();
20214
+ };
20215
+ };
20216
+ SurveyQuestionMatrixDropdownBase.prototype.componentWillUnmount = function () {
20217
+ _super.prototype.componentWillUnmount.call(this);
20218
+ this.question.onRenderedTableResetCallback = function () { };
20219
+ };
20220
+ SurveyQuestionMatrixDropdownBase.prototype.renderElement = function () {
20221
+ return this.renderTableDiv();
20222
+ };
20223
+ SurveyQuestionMatrixDropdownBase.prototype.renderTableDiv = function () {
20224
+ var _this = this;
20225
+ var divStyle = this.question.showHorizontalScroll
20226
+ ? { overflowX: "scroll" }
20227
+ : {};
20228
+ return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { style: divStyle, className: this.question.cssClasses.tableWrapper, ref: function (root) { return (_this.setControl(root)); } },
20229
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"](SurveyQuestionMatrixTable, { question: this.question, creator: this.creator, wrapCell: function (cell, element, reason) { return _this.wrapCell(cell, element, reason); } })));
20230
+ };
19871
20231
  return SurveyQuestionMatrixDropdownBase;
19872
20232
  }(_reactquestion_element__WEBPACK_IMPORTED_MODULE_1__["SurveyQuestionElementBase"]));
19873
20233
 
@@ -20742,7 +21102,7 @@ var SurveyQuestionRadioItem = /** @class */ (function (_super) {
20742
21102
  var itemLabel = !this.hideCaption ? react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", { className: controlLabelClass }, this.renderLocString(this.item.locText, this.textStyle)) : null;
20743
21103
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: itemClass, role: "presentation" },
20744
21104
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("label", { onMouseDown: this.handleOnMouseDown, className: labelClass },
20745
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("input", { "aria-errormessage": this.question.ariaErrormessage, className: this.cssClasses.itemControl, id: this.question.getItemId(this.item), type: "radio", name: this.question.questionName, checked: this.isChecked, value: this.item.value, disabled: !this.question.getItemEnabled(this.item), onChange: this.handleOnChange }),
21105
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("input", { "aria-errormessage": this.question.ariaErrormessage, className: this.cssClasses.itemControl, id: this.question.getItemId(this.item), type: "radio", name: this.question.questionName, checked: this.isChecked, value: this.item.value, disabled: !this.question.getItemEnabled(this.item), readOnly: this.question.isReadOnlyAttr, onChange: this.handleOnChange }),
20746
21106
  this.cssClasses.materialDecorator ?
20747
21107
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", { className: this.cssClasses.materialDecorator }, this.question.itemSvgIcon ?
20748
21108
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("svg", { className: this.cssClasses.itemDecorator },
@@ -20768,18 +21128,20 @@ _reactquestion_factory__WEBPACK_IMPORTED_MODULE_3__["ReactQuestionFactory"].Inst
20768
21128
  /*!*********************************************!*\
20769
21129
  !*** ./src/react/reactquestion_ranking.tsx ***!
20770
21130
  \*********************************************/
20771
- /*! exports provided: SurveyQuestionRanking, SurveyQuestionRankingItem */
21131
+ /*! exports provided: SurveyQuestionRanking, SurveyQuestionRankingItem, SurveyQuestionRankingItemContent */
20772
21132
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
20773
21133
 
20774
21134
  "use strict";
20775
21135
  __webpack_require__.r(__webpack_exports__);
20776
21136
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SurveyQuestionRanking", function() { return SurveyQuestionRanking; });
20777
21137
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SurveyQuestionRankingItem", function() { return SurveyQuestionRankingItem; });
21138
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SurveyQuestionRankingItemContent", function() { return SurveyQuestionRankingItemContent; });
20778
21139
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
20779
21140
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
20780
21141
  /* harmony import */ var _reactquestion_element__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./reactquestion_element */ "./src/react/reactquestion_element.tsx");
20781
21142
  /* harmony import */ var _reactquestion_factory__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./reactquestion_factory */ "./src/react/reactquestion_factory.tsx");
20782
21143
  /* harmony import */ var _reactsurveymodel__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./reactsurveymodel */ "./src/react/reactsurveymodel.tsx");
21144
+ /* harmony import */ var _element_factory__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./element-factory */ "./src/react/element-factory.tsx");
20783
21145
  var __extends = (undefined && undefined.__extends) || (function () {
20784
21146
  var extendStatics = function (d, b) {
20785
21147
  extendStatics = Object.setPrototypeOf ||
@@ -20799,6 +21161,7 @@ var __extends = (undefined && undefined.__extends) || (function () {
20799
21161
 
20800
21162
 
20801
21163
 
21164
+
20802
21165
  var SurveyQuestionRanking = /** @class */ (function (_super) {
20803
21166
  __extends(SurveyQuestionRanking, _super);
20804
21167
  function SurveyQuestionRanking() {
@@ -20820,15 +21183,15 @@ var SurveyQuestionRanking = /** @class */ (function (_super) {
20820
21183
  var unrankedItem = true;
20821
21184
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.question.rootClass, ref: function (root) { return (_this.setControl(root)); } },
20822
21185
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.question.getContainerClasses("from"), "data-ranking": "from-container" },
20823
- this.getItems(this.question.unRankingChoices, unrankedItem),
20824
- this.question.unRankingChoices.length === 0 ? react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.question.cssClasses.containerPlaceholder },
21186
+ this.getItems(this.question.renderedUnRankingChoices, unrankedItem),
21187
+ this.question.renderedUnRankingChoices.length === 0 ? react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.question.cssClasses.containerPlaceholder },
20825
21188
  " ",
20826
21189
  this.renderLocString(this.question.locSelectToRankEmptyRankedAreaText),
20827
21190
  " ") : null),
20828
21191
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.question.cssClasses.containersDivider }),
20829
21192
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.question.getContainerClasses("to"), "data-ranking": "to-container" },
20830
21193
  this.getItems(),
20831
- this.question.rankingChoices.length === 0 ? react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.question.cssClasses.containerPlaceholder },
21194
+ this.question.renderedRankingChoices.length === 0 ? react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.question.cssClasses.containerPlaceholder },
20832
21195
  " ",
20833
21196
  this.renderLocString(this.question.locSelectToRankEmptyUnrankedAreaText),
20834
21197
  " ") : null)));
@@ -20836,7 +21199,7 @@ var SurveyQuestionRanking = /** @class */ (function (_super) {
20836
21199
  };
20837
21200
  SurveyQuestionRanking.prototype.getItems = function (choices, unrankedItem) {
20838
21201
  var _this = this;
20839
- if (choices === void 0) { choices = this.question.rankingChoices; }
21202
+ if (choices === void 0) { choices = this.question.renderedRankingChoices; }
20840
21203
  var items = [];
20841
21204
  var _loop_1 = function (i) {
20842
21205
  var item = choices[i];
@@ -20969,6 +21332,7 @@ var SurveyQuestionRankingItem = /** @class */ (function (_super) {
20969
21332
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("use", { xlinkHref: this.question.dashSvgIcon })));
20970
21333
  };
20971
21334
  SurveyQuestionRankingItem.prototype.renderElement = function () {
21335
+ var itemContentComponent = _element_factory__WEBPACK_IMPORTED_MODULE_4__["ReactElementFactory"].Instance.createElement(this.question.itemContentComponent, { item: this.item, cssClasses: this.cssClasses });
20972
21336
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { tabIndex: this.itemTabIndex, className: this.itemClass, onKeyDown: this.handleKeydown, onPointerDown: this.handlePointerDown, onPointerUp: this.handlePointerUp, "data-sv-drop-target-ranking-item": this.index },
20973
21337
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { tabIndex: -1, style: { outline: "none" } },
20974
21338
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.cssClasses.itemGhostNode }),
@@ -20979,11 +21343,39 @@ var SurveyQuestionRankingItem = /** @class */ (function (_super) {
20979
21343
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("svg", { className: this.question.getIconFocusCss() },
20980
21344
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("use", { xlinkHref: this.question.arrowsSvgIcon }))),
20981
21345
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.question.getItemIndexClasses(this.item) }, (!this.unrankedItem && this.indexText) ? this.indexText : this.renderEmptyIcon()),
20982
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.cssClasses.controlLabel }, this.text)))));
21346
+ itemContentComponent))));
20983
21347
  };
20984
21348
  return SurveyQuestionRankingItem;
20985
21349
  }(_reactquestion_element__WEBPACK_IMPORTED_MODULE_1__["ReactSurveyElement"]));
20986
21350
 
21351
+ var SurveyQuestionRankingItemContent = /** @class */ (function (_super) {
21352
+ __extends(SurveyQuestionRankingItemContent, _super);
21353
+ function SurveyQuestionRankingItemContent() {
21354
+ return _super !== null && _super.apply(this, arguments) || this;
21355
+ }
21356
+ Object.defineProperty(SurveyQuestionRankingItemContent.prototype, "item", {
21357
+ get: function () {
21358
+ return this.props.item;
21359
+ },
21360
+ enumerable: false,
21361
+ configurable: true
21362
+ });
21363
+ Object.defineProperty(SurveyQuestionRankingItemContent.prototype, "cssClasses", {
21364
+ get: function () {
21365
+ return this.props.cssClasses;
21366
+ },
21367
+ enumerable: false,
21368
+ configurable: true
21369
+ });
21370
+ SurveyQuestionRankingItemContent.prototype.renderElement = function () {
21371
+ return react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.cssClasses.controlLabel }, _reactquestion_element__WEBPACK_IMPORTED_MODULE_1__["SurveyElementBase"].renderLocString(this.item.locText));
21372
+ };
21373
+ return SurveyQuestionRankingItemContent;
21374
+ }(_reactquestion_element__WEBPACK_IMPORTED_MODULE_1__["ReactSurveyElement"]));
21375
+
21376
+ _element_factory__WEBPACK_IMPORTED_MODULE_4__["ReactElementFactory"].Instance.registerElement("sv-ranking-item-content", function (props) {
21377
+ return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](SurveyQuestionRankingItemContent, props);
21378
+ });
20987
21379
  _reactquestion_factory__WEBPACK_IMPORTED_MODULE_2__["ReactQuestionFactory"].Instance.registerQuestion("ranking", function (props) {
20988
21380
  return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](SurveyQuestionRanking, props);
20989
21381
  });
@@ -21214,7 +21606,9 @@ var SurveyQuestionText = /** @class */ (function (_super) {
21214
21606
  }
21215
21607
  var counter = !!this.question.getMaxLength() ? (react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_components_character_counter__WEBPACK_IMPORTED_MODULE_3__["CharacterCounterComponent"], { counter: this.question.characterCounter, remainingCharacterCounter: this.question.cssClasses.remainingCharacterCounter })) : null;
21216
21608
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null,
21217
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("input", { id: this.question.inputId, disabled: this.isDisplayMode, className: inputClass, type: this.question.inputType,
21609
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("input", { id: this.question.inputId,
21610
+ // disabled={this.isDisplayMode}
21611
+ disabled: this.question.isDisabledAttr, readOnly: this.question.isReadOnlyAttr, className: inputClass, type: this.question.inputType,
21218
21612
  //ref={this.controlRef}
21219
21613
  ref: function (input) { return (_this.setControl(input)); }, style: this.question.inputStyle, maxLength: this.question.getMaxLength(), min: this.question.renderedMin, max: this.question.renderedMax, step: this.question.renderedStep, size: this.question.inputSize, placeholder: placeholder, list: this.question.dataListId, autoComplete: this.question.autocomplete, onBlur: this.question.onBlur, onFocus: this.question.onFocus, onChange: this.question.onChange, onKeyUp: this.question.onKeyUp, onKeyDown: this.question.onKeyDown, onCompositionUpdate: function (event) { return _this.question.onCompositionUpdate(event.nativeEvent); }, "aria-required": this.question.a11y_input_ariaRequired, "aria-label": this.question.a11y_input_ariaLabel, "aria-labelledby": this.question.a11y_input_ariaLabelledBy, "aria-describedby": this.question.a11y_input_ariaDescribedBy, "aria-invalid": this.question.a11y_input_ariaInvalid, "aria-errormessage": this.question.a11y_input_ariaErrormessage }),
21220
21614
  counter));
@@ -23107,12 +23501,12 @@ var SurveyElement = /** @class */ (function (_super) {
23107
23501
  }
23108
23502
  return info;
23109
23503
  };
23110
- SurveyElement.ScrollElementToTop = function (elementId, scrollIfVisible) {
23504
+ SurveyElement.ScrollElementToTop = function (elementId, scrollIfVisible, scrollIntoViewOptions) {
23111
23505
  var root = _settings__WEBPACK_IMPORTED_MODULE_4__["settings"].environment.root;
23112
23506
  if (!elementId || typeof root === "undefined")
23113
23507
  return false;
23114
23508
  var el = root.getElementById(elementId);
23115
- return SurveyElement.ScrollElementToViewCore(el, false, scrollIfVisible);
23509
+ return SurveyElement.ScrollElementToViewCore(el, false, scrollIfVisible, scrollIntoViewOptions);
23116
23510
  };
23117
23511
  SurveyElement.ScrollElementToViewCore = function (el, checkLeft, scrollIfVisible, scrollIntoViewOptions) {
23118
23512
  if (!el || !el.scrollIntoView)
@@ -24203,6 +24597,8 @@ var SurveyElement = /** @class */ (function (_super) {
24203
24597
  enumerable: false,
24204
24598
  configurable: true
24205
24599
  });
24600
+ SurveyElement.prototype.onElementExpanded = function (elementIsRendered) {
24601
+ };
24206
24602
  SurveyElement.prototype.getExpandCollapseAnimationOptions = function () {
24207
24603
  var _this = this;
24208
24604
  var beforeRunAnimation = function (el) {
@@ -24213,12 +24609,16 @@ var SurveyElement = /** @class */ (function (_super) {
24213
24609
  _this.isAnimatingCollapseExpand = false;
24214
24610
  };
24215
24611
  return {
24612
+ getRerenderEvent: function () { return _this.onElementRerendered; },
24216
24613
  getEnterOptions: function () {
24217
24614
  var cssClasses = _this.isPanel ? _this.cssClasses.panel : _this.cssClasses;
24218
24615
  return {
24219
24616
  cssClass: cssClasses.contentFadeIn,
24220
24617
  onBeforeRunAnimation: beforeRunAnimation,
24221
- onAfterRunAnimation: afterRunAnimation,
24618
+ onAfterRunAnimation: function (el) {
24619
+ afterRunAnimation(el);
24620
+ _this.onElementExpanded(true);
24621
+ },
24222
24622
  };
24223
24623
  },
24224
24624
  getLeaveOptions: function () {
@@ -24239,15 +24639,26 @@ var SurveyElement = /** @class */ (function (_super) {
24239
24639
  }
24240
24640
  return undefined;
24241
24641
  },
24242
- isAnimationEnabled: function () { return _this.animationAllowed && !_this.isDesignMode; }
24642
+ isAnimationEnabled: function () { return _this.isExpandCollapseAnimationEnabled; }
24243
24643
  };
24244
24644
  };
24645
+ Object.defineProperty(SurveyElement.prototype, "isExpandCollapseAnimationEnabled", {
24646
+ get: function () {
24647
+ return this.animationAllowed && !this.isDesignMode;
24648
+ },
24649
+ enumerable: false,
24650
+ configurable: true
24651
+ });
24245
24652
  Object.defineProperty(SurveyElement.prototype, "renderedIsExpanded", {
24246
24653
  get: function () {
24247
24654
  return !!this._renderedIsExpanded;
24248
24655
  },
24249
24656
  set: function (val) {
24657
+ var oldValue = this._renderedIsExpanded;
24250
24658
  this.animationCollapsed.sync(val);
24659
+ if (!this.isExpandCollapseAnimationEnabled && !oldValue && this.renderedIsExpanded) {
24660
+ this.onElementExpanded(false);
24661
+ }
24251
24662
  },
24252
24663
  enumerable: false,
24253
24664
  configurable: true
@@ -24415,8 +24826,9 @@ __webpack_require__.r(__webpack_exports__);
24415
24826
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AnimationBoolean", function() { return AnimationBoolean; });
24416
24827
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AnimationGroup", function() { return AnimationGroup; });
24417
24828
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AnimationTab", function() { return AnimationTab; });
24418
- /* harmony import */ var _global_variables_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../global_variables_utils */ "./src/global_variables_utils.ts");
24419
- /* harmony import */ var _taskmanager__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./taskmanager */ "./src/utils/taskmanager.ts");
24829
+ /* harmony import */ var _taskmanager__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./taskmanager */ "./src/utils/taskmanager.ts");
24830
+ /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils */ "./src/utils/utils.ts");
24831
+ /* harmony import */ var _global_variables_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../global_variables_utils */ "./src/global_variables_utils.ts");
24420
24832
  var __extends = (undefined && undefined.__extends) || (function () {
24421
24833
  var extendStatics = function (d, b) {
24422
24834
  extendStatics = Object.setPrototypeOf ||
@@ -24434,6 +24846,7 @@ var __extends = (undefined && undefined.__extends) || (function () {
24434
24846
  })();
24435
24847
 
24436
24848
 
24849
+
24437
24850
  var AnimationUtils = /** @class */ (function () {
24438
24851
  function AnimationUtils() {
24439
24852
  this.cancelQueue = [];
@@ -24477,7 +24890,7 @@ var AnimationUtils = /** @class */ (function () {
24477
24890
  var animationsCount = this.getAnimationsCount(element);
24478
24891
  var onEndCallback = function (isCancel) {
24479
24892
  if (isCancel === void 0) { isCancel = true; }
24480
- options.onAfterRunAnimation && options.onAfterRunAnimation(element);
24893
+ _this.afterAnimationRun(element, options);
24481
24894
  callback(isCancel);
24482
24895
  clearTimeout(cancelTimeout);
24483
24896
  _this.removeCancelCallback(onEndCallback);
@@ -24496,9 +24909,15 @@ var AnimationUtils = /** @class */ (function () {
24496
24909
  }, this.getAnimationDuration(element) + 10);
24497
24910
  }
24498
24911
  else {
24912
+ this.afterAnimationRun(element, options);
24499
24913
  callback(true);
24500
24914
  }
24501
24915
  };
24916
+ AnimationUtils.prototype.afterAnimationRun = function (element, options) {
24917
+ if (element && options) {
24918
+ options.onAfterRunAnimation && options.onAfterRunAnimation(element);
24919
+ }
24920
+ };
24502
24921
  AnimationUtils.prototype.beforeAnimationRun = function (element, options) {
24503
24922
  if (element && options) {
24504
24923
  options.onBeforeRunAnimation && options.onBeforeRunAnimation(element);
@@ -24508,7 +24927,7 @@ var AnimationUtils = /** @class */ (function () {
24508
24927
  return options.cssClass.replace(/\s+$/, "").split(/\s+/);
24509
24928
  };
24510
24929
  AnimationUtils.prototype.runAnimation = function (element, options, callback) {
24511
- if (element && options.cssClass) {
24930
+ if (element && (options === null || options === void 0 ? void 0 : options.cssClass)) {
24512
24931
  this.reflow(element);
24513
24932
  this.getCssClasses(options).forEach(function (cssClass) {
24514
24933
  element.classList.add(cssClass);
@@ -24526,30 +24945,24 @@ var AnimationUtils = /** @class */ (function () {
24526
24945
  });
24527
24946
  }
24528
24947
  };
24529
- AnimationUtils.prototype.onNextRender = function (callback, runEarly, isCancel) {
24948
+ AnimationUtils.prototype.onNextRender = function (callback, isCancel) {
24530
24949
  var _this = this;
24531
24950
  if (isCancel === void 0) { isCancel = false; }
24532
- if (!isCancel && _global_variables_utils__WEBPACK_IMPORTED_MODULE_0__["DomWindowHelper"].isAvailable()) {
24951
+ if (!isCancel && _global_variables_utils__WEBPACK_IMPORTED_MODULE_2__["DomWindowHelper"].isAvailable()) {
24533
24952
  var cancelCallback_1 = function () {
24534
- callback();
24953
+ callback(true);
24535
24954
  cancelAnimationFrame(latestRAF_1);
24536
24955
  };
24537
- var latestRAF_1 = _global_variables_utils__WEBPACK_IMPORTED_MODULE_0__["DomWindowHelper"].requestAnimationFrame(function () {
24538
- if (runEarly && runEarly()) {
24539
- callback();
24956
+ var latestRAF_1 = _global_variables_utils__WEBPACK_IMPORTED_MODULE_2__["DomWindowHelper"].requestAnimationFrame(function () {
24957
+ latestRAF_1 = _global_variables_utils__WEBPACK_IMPORTED_MODULE_2__["DomWindowHelper"].requestAnimationFrame(function () {
24958
+ callback(false);
24540
24959
  _this.removeCancelCallback(cancelCallback_1);
24541
- }
24542
- else {
24543
- latestRAF_1 = _global_variables_utils__WEBPACK_IMPORTED_MODULE_0__["DomWindowHelper"].requestAnimationFrame(function () {
24544
- callback();
24545
- _this.removeCancelCallback(cancelCallback_1);
24546
- });
24547
- }
24960
+ });
24548
24961
  });
24549
24962
  this.addCancelCallback(cancelCallback_1);
24550
24963
  }
24551
24964
  else {
24552
- callback();
24965
+ callback(true);
24553
24966
  }
24554
24967
  };
24555
24968
  AnimationUtils.prototype.cancel = function () {
@@ -24567,25 +24980,23 @@ var AnimationPropertyUtils = /** @class */ (function (_super) {
24567
24980
  }
24568
24981
  AnimationPropertyUtils.prototype.onEnter = function (options) {
24569
24982
  var _this = this;
24570
- this.onNextRender(function () {
24571
- var htmlElement = options.getAnimatedElement();
24572
- var enterOptions = options.getEnterOptions();
24573
- _this.beforeAnimationRun(htmlElement, enterOptions);
24574
- _this.runAnimation(htmlElement, enterOptions, function () {
24575
- _this.clearHtmlElement(htmlElement, enterOptions);
24576
- });
24577
- }, function () { return !!options.getAnimatedElement(); });
24983
+ var htmlElement = options.getAnimatedElement();
24984
+ var enterOptions = options.getEnterOptions ? options.getEnterOptions() : {};
24985
+ this.beforeAnimationRun(htmlElement, enterOptions);
24986
+ this.runAnimation(htmlElement, enterOptions, function () {
24987
+ _this.clearHtmlElement(htmlElement, enterOptions);
24988
+ });
24578
24989
  };
24579
24990
  AnimationPropertyUtils.prototype.onLeave = function (options, callback) {
24580
24991
  var _this = this;
24581
24992
  var htmlElement = options.getAnimatedElement();
24582
- var leaveOptions = options.getLeaveOptions();
24993
+ var leaveOptions = options.getLeaveOptions ? options.getLeaveOptions() : {};
24583
24994
  this.beforeAnimationRun(htmlElement, leaveOptions);
24584
24995
  this.runAnimation(htmlElement, leaveOptions, function (isCancel) {
24585
24996
  callback();
24586
24997
  _this.onNextRender(function () {
24587
24998
  _this.clearHtmlElement(htmlElement, leaveOptions);
24588
- }, undefined, isCancel);
24999
+ }, isCancel);
24589
25000
  });
24590
25001
  };
24591
25002
  return AnimationPropertyUtils;
@@ -24596,40 +25007,54 @@ var AnimationGroupUtils = /** @class */ (function (_super) {
24596
25007
  function AnimationGroupUtils() {
24597
25008
  return _super !== null && _super.apply(this, arguments) || this;
24598
25009
  }
24599
- AnimationGroupUtils.prototype.runGroupAnimation = function (options, addedElements, removedElements, callback) {
25010
+ AnimationGroupUtils.prototype.runGroupAnimation = function (options, addedItems, removedItems, reorderedItems, callback) {
24600
25011
  var _this = this;
24601
- this.onNextRender(function () {
24602
- var addedHtmlElements = addedElements.map(function (el) { return options.getAnimatedElement(el); });
24603
- var enterOptions = addedElements.map(function (el) { return options.getEnterOptions(el); });
24604
- var removedHtmlElements = removedElements.map(function (el) { return options.getAnimatedElement(el); });
24605
- var leaveOptions = removedElements.map(function (el) { return options.getLeaveOptions(el); });
24606
- addedElements.forEach(function (_, i) {
24607
- _this.beforeAnimationRun(addedHtmlElements[i], enterOptions[i]);
24608
- });
24609
- removedElements.forEach(function (_, i) {
24610
- _this.beforeAnimationRun(removedHtmlElements[i], leaveOptions[i]);
24611
- });
24612
- var counter = addedElements.length + removedElements.length;
24613
- var onAnimationEndCallback = function (isCancel) {
24614
- if (--counter <= 0) {
24615
- callback && callback();
24616
- _this.onNextRender(function () {
24617
- addedElements.forEach(function (_, i) {
24618
- _this.clearHtmlElement(addedHtmlElements[i], enterOptions[i]);
24619
- });
24620
- removedElements.forEach(function (_, i) {
24621
- _this.clearHtmlElement(removedHtmlElements[i], leaveOptions[i]);
24622
- });
24623
- }, undefined, isCancel);
24624
- }
24625
- };
24626
- addedElements.forEach(function (_, i) {
24627
- _this.runAnimation(addedHtmlElements[i], enterOptions[i], onAnimationEndCallback);
24628
- });
24629
- removedElements.forEach(function (_, i) {
24630
- _this.runAnimation(removedHtmlElements[i], leaveOptions[i], onAnimationEndCallback);
24631
- });
24632
- }, function () { return addedElements.length == 0 || addedElements.some(function (el) { return !!options.getAnimatedElement(el); }); });
25012
+ var info = {
25013
+ isAddingRunning: addedItems.length > 0,
25014
+ isDeletingRunning: removedItems.length > 0,
25015
+ isReorderingRunning: reorderedItems.length > 0
25016
+ };
25017
+ var addedHtmlElements = addedItems.map(function (el) { return options.getAnimatedElement(el); });
25018
+ var enterOptions = addedItems.map(function (el) { return options.getEnterOptions ? options.getEnterOptions(el, info) : {}; });
25019
+ var removedHtmlElements = removedItems.map(function (el) { return options.getAnimatedElement(el); });
25020
+ var leaveOptions = removedItems.map(function (el) { return options.getLeaveOptions ? options.getLeaveOptions(el, info) : {}; });
25021
+ var reorderedHtmlElements = reorderedItems.map(function (el) { return options.getAnimatedElement(el.item); });
25022
+ var reorderedOptions = reorderedItems.map(function (el) { return options.getReorderOptions ? options.getReorderOptions(el.item, el.movedForward, info) : {}; });
25023
+ addedItems.forEach(function (_, i) {
25024
+ _this.beforeAnimationRun(addedHtmlElements[i], enterOptions[i]);
25025
+ });
25026
+ removedItems.forEach(function (_, i) {
25027
+ _this.beforeAnimationRun(removedHtmlElements[i], leaveOptions[i]);
25028
+ });
25029
+ reorderedItems.forEach(function (_, i) {
25030
+ _this.beforeAnimationRun(reorderedHtmlElements[i], reorderedOptions[i]);
25031
+ });
25032
+ var counter = addedItems.length + removedItems.length + reorderedHtmlElements.length;
25033
+ var onAnimationEndCallback = function (isCancel) {
25034
+ if (--counter <= 0) {
25035
+ callback && callback();
25036
+ _this.onNextRender(function () {
25037
+ addedItems.forEach(function (_, i) {
25038
+ _this.clearHtmlElement(addedHtmlElements[i], enterOptions[i]);
25039
+ });
25040
+ removedItems.forEach(function (_, i) {
25041
+ _this.clearHtmlElement(removedHtmlElements[i], leaveOptions[i]);
25042
+ });
25043
+ reorderedItems.forEach(function (_, i) {
25044
+ _this.clearHtmlElement(reorderedHtmlElements[i], reorderedOptions[i]);
25045
+ });
25046
+ }, isCancel);
25047
+ }
25048
+ };
25049
+ addedItems.forEach(function (_, i) {
25050
+ _this.runAnimation(addedHtmlElements[i], enterOptions[i], onAnimationEndCallback);
25051
+ });
25052
+ removedItems.forEach(function (_, i) {
25053
+ _this.runAnimation(removedHtmlElements[i], leaveOptions[i], onAnimationEndCallback);
25054
+ });
25055
+ reorderedItems.forEach(function (_, i) {
25056
+ _this.runAnimation(reorderedHtmlElements[i], reorderedOptions[i], onAnimationEndCallback);
25057
+ });
24633
25058
  };
24634
25059
  return AnimationGroupUtils;
24635
25060
  }(AnimationUtils));
@@ -24640,11 +25065,51 @@ var AnimationProperty = /** @class */ (function () {
24640
25065
  this.animationOptions = animationOptions;
24641
25066
  this.update = update;
24642
25067
  this.getCurrentValue = getCurrentValue;
24643
- this._debouncedSync = Object(_taskmanager__WEBPACK_IMPORTED_MODULE_1__["debounce"])(function (newValue) {
25068
+ this._debouncedSync = Object(_taskmanager__WEBPACK_IMPORTED_MODULE_0__["debounce"])(function (newValue) {
24644
25069
  _this.animation.cancel();
24645
- _this._sync(newValue);
25070
+ try {
25071
+ _this._sync(newValue);
25072
+ }
25073
+ catch (_a) {
25074
+ _this.update(newValue);
25075
+ }
24646
25076
  });
24647
25077
  }
25078
+ AnimationProperty.prototype.onNextRender = function (callback, onCancel) {
25079
+ var _this = this;
25080
+ var rerenderEvent = this.animationOptions.getRerenderEvent();
25081
+ if (!rerenderEvent) {
25082
+ if (_global_variables_utils__WEBPACK_IMPORTED_MODULE_2__["DomWindowHelper"].isAvailable()) {
25083
+ var raf_1 = _global_variables_utils__WEBPACK_IMPORTED_MODULE_2__["DomWindowHelper"].requestAnimationFrame(function () {
25084
+ callback();
25085
+ _this.cancelCallback = undefined;
25086
+ });
25087
+ this.cancelCallback = function () {
25088
+ onCancel && onCancel();
25089
+ cancelAnimationFrame(raf_1);
25090
+ _this.cancelCallback = undefined;
25091
+ };
25092
+ }
25093
+ else {
25094
+ throw new Error("Can't get next render");
25095
+ }
25096
+ }
25097
+ else {
25098
+ var clear_1 = function () {
25099
+ rerenderEvent.remove(nextRenderCallback_1);
25100
+ _this.cancelCallback = undefined;
25101
+ };
25102
+ var nextRenderCallback_1 = function () {
25103
+ callback();
25104
+ clear_1();
25105
+ };
25106
+ this.cancelCallback = function () {
25107
+ onCancel && onCancel();
25108
+ clear_1();
25109
+ };
25110
+ rerenderEvent.add(nextRenderCallback_1);
25111
+ }
25112
+ };
24648
25113
  AnimationProperty.prototype.sync = function (newValue) {
24649
25114
  if (this.animationOptions.isAnimationEnabled()) {
24650
25115
  this._debouncedSync.run(newValue);
@@ -24655,8 +25120,9 @@ var AnimationProperty = /** @class */ (function () {
24655
25120
  }
24656
25121
  };
24657
25122
  AnimationProperty.prototype.cancel = function () {
24658
- this.animation.cancel();
24659
25123
  this._debouncedSync.cancel();
25124
+ this.cancelCallback && this.cancelCallback();
25125
+ this.animation.cancel();
24660
25126
  };
24661
25127
  return AnimationProperty;
24662
25128
  }());
@@ -24672,8 +25138,10 @@ var AnimationBoolean = /** @class */ (function (_super) {
24672
25138
  var _this = this;
24673
25139
  if (newValue !== this.getCurrentValue()) {
24674
25140
  if (newValue) {
25141
+ this.onNextRender(function () {
25142
+ _this.animation.onEnter(_this.animationOptions);
25143
+ });
24675
25144
  this.update(newValue);
24676
- this.animation.onEnter(this.animationOptions);
24677
25145
  }
24678
25146
  else {
24679
25147
  this.animation.onLeave(this.animationOptions, function () {
@@ -24697,15 +25165,34 @@ var AnimationGroup = /** @class */ (function (_super) {
24697
25165
  }
24698
25166
  AnimationGroup.prototype._sync = function (newValue) {
24699
25167
  var _this = this;
25168
+ var _a, _b;
24700
25169
  var oldValue = this.getCurrentValue();
24701
- var itemsToAdd = newValue.filter(function (el) { return oldValue.indexOf(el) < 0; });
24702
- var deletedItems = oldValue.filter(function (el) { return newValue.indexOf(el) < 0; });
24703
- if (itemsToAdd.length == 0 && (deletedItems === null || deletedItems === void 0 ? void 0 : deletedItems.length) > 0) {
24704
- this.animation.runGroupAnimation(this.animationOptions, [], deletedItems, function () { return _this.update(newValue); });
25170
+ var allowSyncRemovalAddition = (_a = this.animationOptions.allowSyncRemovalAddition) !== null && _a !== void 0 ? _a : true;
25171
+ var _c = Object(_utils__WEBPACK_IMPORTED_MODULE_1__["compareArrays"])(oldValue, newValue, (_b = this.animationOptions.getKey) !== null && _b !== void 0 ? _b : (function (item) { return item; })), addedItems = _c.addedItems, deletedItems = _c.deletedItems, reorderedItems = _c.reorderedItems, mergedItems = _c.mergedItems;
25172
+ if (!allowSyncRemovalAddition && (reorderedItems.length > 0 || addedItems.length > 0)) {
25173
+ deletedItems = [];
25174
+ mergedItems = newValue;
25175
+ }
25176
+ var runAnimationCallback = function () {
25177
+ _this.animation.runGroupAnimation(_this.animationOptions, addedItems, deletedItems, reorderedItems, function () {
25178
+ if (deletedItems.length > 0) {
25179
+ _this.update(newValue);
25180
+ }
25181
+ });
25182
+ };
25183
+ if ([addedItems, deletedItems, reorderedItems].some(function (arr) { return arr.length > 0; })) {
25184
+ if (deletedItems.length <= 0 || reorderedItems.length > 0 || addedItems.length > 0) {
25185
+ this.onNextRender(runAnimationCallback, function () {
25186
+ _this.update(newValue);
25187
+ });
25188
+ this.update(mergedItems);
25189
+ }
25190
+ else {
25191
+ runAnimationCallback();
25192
+ }
24705
25193
  }
24706
25194
  else {
24707
25195
  this.update(newValue);
24708
- this.animation.runGroupAnimation(this.animationOptions, itemsToAdd, []);
24709
25196
  }
24710
25197
  };
24711
25198
  return AnimationGroup;
@@ -24724,10 +25211,12 @@ var AnimationTab = /** @class */ (function (_super) {
24724
25211
  var oldValue = [].concat(this.getCurrentValue());
24725
25212
  if (oldValue[0] !== newValue[0]) {
24726
25213
  var tempValue = !!this.mergeValues ? this.mergeValues(newValue, oldValue) : [].concat(oldValue, newValue);
25214
+ this.onNextRender(function () {
25215
+ _this.animation.runGroupAnimation(_this.animationOptions, newValue, oldValue, [], function () {
25216
+ _this.update(newValue);
25217
+ });
25218
+ }, function () { return _this.update(newValue); });
24727
25219
  this.update(tempValue, true);
24728
- this.animation.runGroupAnimation(this.animationOptions, newValue, oldValue, function () {
24729
- _this.update(newValue);
24730
- });
24731
25220
  }
24732
25221
  else {
24733
25222
  this.update(newValue);
@@ -25100,7 +25589,7 @@ function debounce(func) {
25100
25589
  /*!****************************!*\
25101
25590
  !*** ./src/utils/utils.ts ***!
25102
25591
  \****************************/
25103
- /*! exports provided: unwrap, getRenderedSize, getRenderedStyleSize, doKey2ClickBlur, doKey2ClickUp, doKey2ClickDown, sanitizeEditableContent, Logger, showConfirmDialog, configConfirmDialog, mergeValues, getElementWidth, isContainerVisible, classesToSelector, compareVersions, confirmAction, confirmActionAsync, detectIEOrEdge, detectIEBrowser, loadFileFromBase64, isMobile, isShadowDOM, getElement, isElementVisible, findScrollableParent, scrollElementByChildId, navigateToUrl, wrapUrlForBackgroundImage, createSvg, getIconNameFromProxy, increaseHeightByContent, getOriginalEvent, preventDefaults, findParentByClassNames, getFirstVisibleChild, chooseFiles */
25592
+ /*! exports provided: unwrap, getRenderedSize, getRenderedStyleSize, doKey2ClickBlur, doKey2ClickUp, doKey2ClickDown, sanitizeEditableContent, Logger, showConfirmDialog, configConfirmDialog, compareArrays, mergeValues, getElementWidth, isContainerVisible, classesToSelector, compareVersions, confirmAction, confirmActionAsync, detectIEOrEdge, detectIEBrowser, loadFileFromBase64, isMobile, isShadowDOM, getElement, isElementVisible, findScrollableParent, scrollElementByChildId, navigateToUrl, wrapUrlForBackgroundImage, createSvg, getIconNameFromProxy, increaseHeightByContent, getOriginalEvent, preventDefaults, findParentByClassNames, getFirstVisibleChild, chooseFiles */
25104
25593
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
25105
25594
 
25106
25595
  "use strict";
@@ -25115,6 +25604,7 @@ __webpack_require__.r(__webpack_exports__);
25115
25604
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Logger", function() { return Logger; });
25116
25605
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "showConfirmDialog", function() { return showConfirmDialog; });
25117
25606
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "configConfirmDialog", function() { return configConfirmDialog; });
25607
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "compareArrays", function() { return compareArrays; });
25118
25608
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "mergeValues", function() { return mergeValues; });
25119
25609
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getElementWidth", function() { return getElementWidth; });
25120
25610
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isContainerVisible", function() { return isContainerVisible; });
@@ -25435,6 +25925,8 @@ function preventDefaults(event) {
25435
25925
  event.stopPropagation();
25436
25926
  }
25437
25927
  function classesToSelector(str) {
25928
+ if (!str)
25929
+ return str;
25438
25930
  var re = /\s*?([\w-]+)\s*?/g;
25439
25931
  return str.replace(re, ".$1");
25440
25932
  }
@@ -25583,6 +26075,100 @@ function chooseFiles(input, callback) {
25583
26075
  };
25584
26076
  input.click();
25585
26077
  }
26078
+ function compareArrays(oldValue, newValue, getKey) {
26079
+ var oldItemsMap = new Map();
26080
+ var newItemsMap = new Map();
26081
+ var commonItemsInNewMap = new Map();
26082
+ var commonItemsInOldMap = new Map();
26083
+ oldValue.forEach(function (item) {
26084
+ var itemKey = getKey(item);
26085
+ if (!oldItemsMap.has(itemKey)) {
26086
+ oldItemsMap.set(getKey(item), item);
26087
+ }
26088
+ else {
26089
+ //if keys are set incorrectly do not process comparing
26090
+ throw new Error("keys must be unique");
26091
+ }
26092
+ });
26093
+ newValue.forEach(function (item) {
26094
+ var itemKey = getKey(item);
26095
+ if (!newItemsMap.has(itemKey)) {
26096
+ newItemsMap.set(itemKey, item);
26097
+ }
26098
+ else {
26099
+ //if keys are set incorrectly do not process comparing
26100
+ throw new Error("keys must be unique");
26101
+ }
26102
+ });
26103
+ var addedItems = [];
26104
+ var deletedItems = [];
26105
+ //calculating addedItems and items that exist in both arrays
26106
+ newItemsMap.forEach(function (item, key) {
26107
+ if (!oldItemsMap.has(key)) {
26108
+ addedItems.push(item);
26109
+ }
26110
+ else {
26111
+ commonItemsInNewMap.set(key, commonItemsInNewMap.size);
26112
+ }
26113
+ });
26114
+ //calculating deletedItems and items that exist in both arrays
26115
+ oldItemsMap.forEach(function (item, key) {
26116
+ if (!newItemsMap.has(key)) {
26117
+ deletedItems.push(item);
26118
+ }
26119
+ else {
26120
+ commonItemsInOldMap.set(key, commonItemsInOldMap.size);
26121
+ }
26122
+ });
26123
+ //calculating reordered items
26124
+ var reorderedItems = [];
26125
+ commonItemsInNewMap.forEach(function (index, key) {
26126
+ var oldIndex = commonItemsInOldMap.get(key);
26127
+ var item = newItemsMap.get(key);
26128
+ if (oldIndex !== index)
26129
+ reorderedItems.push({ item: item, movedForward: oldIndex < index });
26130
+ });
26131
+ //calculating merged array if multiple operations are applied at once
26132
+ var oldItemsWithCorrectOrder = new Array(oldValue.length);
26133
+ var commonItemsIndex = 0;
26134
+ var commonItemsKeysOrder = Array.from(commonItemsInNewMap.keys());
26135
+ oldValue.forEach(function (item, index) {
26136
+ if (commonItemsInNewMap.has(getKey(item))) {
26137
+ oldItemsWithCorrectOrder[index] = newItemsMap.get(commonItemsKeysOrder[commonItemsIndex]);
26138
+ commonItemsIndex++;
26139
+ }
26140
+ else {
26141
+ oldItemsWithCorrectOrder[index] = item;
26142
+ }
26143
+ });
26144
+ var valuesToInsertBeforeKey = new Map();
26145
+ var tempValuesArray = [];
26146
+ oldItemsWithCorrectOrder.forEach(function (item) {
26147
+ var itemKey = getKey(item);
26148
+ if (newItemsMap.has(itemKey)) {
26149
+ if (tempValuesArray.length > 0) {
26150
+ valuesToInsertBeforeKey.set(itemKey, tempValuesArray);
26151
+ tempValuesArray = [];
26152
+ }
26153
+ }
26154
+ else {
26155
+ tempValuesArray.push(item);
26156
+ }
26157
+ });
26158
+ var mergedItems = new Array();
26159
+ newItemsMap.forEach(function (item, key) {
26160
+ if (valuesToInsertBeforeKey.has(key)) {
26161
+ valuesToInsertBeforeKey.get(key).forEach(function (item) {
26162
+ mergedItems.push(item);
26163
+ });
26164
+ }
26165
+ mergedItems.push(item);
26166
+ });
26167
+ tempValuesArray.forEach(function (item) {
26168
+ mergedItems.push(item);
26169
+ });
26170
+ return { reorderedItems: reorderedItems, deletedItems: deletedItems, addedItems: addedItems, mergedItems: mergedItems };
26171
+ }
25586
26172
 
25587
26173
 
25588
26174