survey-react 1.10.5 → 1.11.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/survey.react.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - Survey JavaScript library v1.10.5
2
+ * surveyjs - Survey JavaScript library v1.11.1
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
  */
@@ -686,13 +686,14 @@ class SignaturePad extends SignatureEventTarget {
686
686
  /*!*******************************!*\
687
687
  !*** ./src/actions/action.ts ***!
688
688
  \*******************************/
689
- /*! exports provided: createDropdownActionModel, createDropdownActionModelAdvanced, getActionDropdownButtonTarget, BaseAction, Action, ActionDropdownViewModel */
689
+ /*! exports provided: createDropdownActionModel, createDropdownActionModelAdvanced, createPopupModelWithListModel, getActionDropdownButtonTarget, BaseAction, Action, ActionDropdownViewModel */
690
690
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
691
691
 
692
692
  "use strict";
693
693
  __webpack_require__.r(__webpack_exports__);
694
694
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "createDropdownActionModel", function() { return createDropdownActionModel; });
695
695
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "createDropdownActionModelAdvanced", function() { return createDropdownActionModelAdvanced; });
696
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "createPopupModelWithListModel", function() { return createPopupModelWithListModel; });
696
697
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getActionDropdownButtonTarget", function() { return getActionDropdownButtonTarget; });
697
698
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "BaseAction", function() { return BaseAction; });
698
699
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Action", function() { return Action; });
@@ -725,6 +726,11 @@ var __decorate = (undefined && undefined.__decorate) || function (decorators, ta
725
726
  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;
726
727
  return c > 3 && r && Object.defineProperty(target, key, r), r;
727
728
  };
729
+ var __spreadArray = (undefined && undefined.__spreadArray) || function (to, from) {
730
+ for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
731
+ to[j] = from[i];
732
+ return to;
733
+ };
728
734
 
729
735
 
730
736
 
@@ -733,36 +739,57 @@ var __decorate = (undefined && undefined.__decorate) || function (decorators, ta
733
739
 
734
740
 
735
741
  function createDropdownActionModel(actionOptions, dropdownOptions, locOwner) {
736
- return createDropdownActionModelAdvanced(actionOptions, dropdownOptions, dropdownOptions, locOwner);
742
+ dropdownOptions.locOwner = locOwner;
743
+ return createDropdownActionModelAdvanced(actionOptions, dropdownOptions, dropdownOptions);
737
744
  }
738
- function createDropdownActionModelAdvanced(actionOptions, listOptions, popupOptions, locOwner) {
739
- var listModel = new _list__WEBPACK_IMPORTED_MODULE_3__["ListModel"](listOptions.items, function (item) {
745
+ function createDropdownActionModelAdvanced(actionOptions, listOptions, popupOptions) {
746
+ var _a;
747
+ var originalSelectionChanged = listOptions.onSelectionChanged;
748
+ listOptions.onSelectionChanged = function (item) {
749
+ var params = [];
750
+ for (var _i = 1; _i < arguments.length; _i++) {
751
+ params[_i - 1] = arguments[_i];
752
+ }
740
753
  if (newAction.hasTitle) {
741
754
  newAction.title = item.title;
742
755
  }
743
- listOptions.onSelectionChanged(item);
744
- innerPopupModel.toggleVisibility();
745
- }, listOptions.allowSelection, listOptions.selectedItem);
746
- listModel.locOwner = locOwner;
747
- listModel.setOnFilterStringChangedCallback(listOptions.onFilterStringChangedCallback);
748
- var options = popupOptions || {};
749
- options.onDispose = function () { listModel.dispose(); };
750
- var innerPopupModel = new _popup__WEBPACK_IMPORTED_MODULE_4__["PopupModel"]("sv-list", { model: listModel }, options);
751
- innerPopupModel.displayMode = popupOptions === null || popupOptions === void 0 ? void 0 : popupOptions.displayMode;
756
+ if (originalSelectionChanged) {
757
+ originalSelectionChanged(item, params);
758
+ }
759
+ };
760
+ var popupModel = createPopupModelWithListModel(listOptions, popupOptions);
752
761
  var newActionOptions = Object.assign({}, actionOptions, {
753
762
  component: "sv-action-bar-item-dropdown",
754
- popupModel: innerPopupModel,
763
+ popupModel: popupModel,
755
764
  action: function (action, isUserAction) {
756
765
  !!(actionOptions.action) && actionOptions.action();
757
- innerPopupModel.isFocusedContent = !isUserAction || listModel.showFilter;
758
- innerPopupModel.toggleVisibility();
759
- listModel.scrollToSelectedItem();
766
+ popupModel.isFocusedContent = popupModel.isFocusedContent || !isUserAction;
767
+ popupModel.show();
760
768
  },
761
769
  });
762
770
  var newAction = new Action(newActionOptions);
763
- newAction.data = listModel;
771
+ newAction.data = (_a = popupModel.contentComponentData) === null || _a === void 0 ? void 0 : _a.model;
764
772
  return newAction;
765
773
  }
774
+ function createPopupModelWithListModel(listOptions, popupOptions) {
775
+ var listModel = new _list__WEBPACK_IMPORTED_MODULE_3__["ListModel"](listOptions);
776
+ listModel.onSelectionChanged = function (item) {
777
+ if (listOptions.onSelectionChanged) {
778
+ listOptions.onSelectionChanged(item);
779
+ }
780
+ popupModel.hide();
781
+ };
782
+ var _popupOptions = popupOptions || {};
783
+ _popupOptions.onDispose = function () { listModel.dispose(); };
784
+ var popupModel = new _popup__WEBPACK_IMPORTED_MODULE_4__["PopupModel"]("sv-list", { model: listModel }, _popupOptions);
785
+ popupModel.isFocusedContent = listModel.showFilter;
786
+ popupModel.onShow = function () {
787
+ if (!!_popupOptions.onShow)
788
+ _popupOptions.onShow();
789
+ listModel.scrollToSelectedItem();
790
+ };
791
+ return popupModel;
792
+ }
766
793
  function getActionDropdownButtonTarget(container) {
767
794
  return container === null || container === void 0 ? void 0 : container.previousElementSibling;
768
795
  }
@@ -771,6 +798,7 @@ var BaseAction = /** @class */ (function (_super) {
771
798
  function BaseAction() {
772
799
  var _this = _super !== null && _super.apply(this, arguments) || this;
773
800
  _this.rendredIdValue = BaseAction.getNextRendredId();
801
+ _this.markerIconSize = 16;
774
802
  return _this;
775
803
  }
776
804
  BaseAction.getNextRendredId = function () { return BaseAction.renderedId++; };
@@ -914,6 +942,46 @@ var BaseAction = /** @class */ (function (_super) {
914
942
  }
915
943
  return args.isTrusted;
916
944
  };
945
+ BaseAction.prototype.showPopup = function () {
946
+ if (!!this.popupModel) {
947
+ this.popupModel.show();
948
+ }
949
+ };
950
+ BaseAction.prototype.hidePopup = function () {
951
+ if (!!this.popupModel) {
952
+ this.popupModel.hide();
953
+ }
954
+ };
955
+ BaseAction.prototype.clearPopupTimeouts = function () {
956
+ if (this.showPopupTimeout)
957
+ clearTimeout(this.showPopupTimeout);
958
+ if (this.hidePopupTimeout)
959
+ clearTimeout(this.hidePopupTimeout);
960
+ };
961
+ BaseAction.prototype.showPopupDelayed = function (delay) {
962
+ var _this = this;
963
+ this.clearPopupTimeouts();
964
+ this.showPopupTimeout = setTimeout(function () {
965
+ _this.clearPopupTimeouts();
966
+ _this.showPopup();
967
+ }, delay);
968
+ };
969
+ BaseAction.prototype.hidePopupDelayed = function (delay) {
970
+ var _this = this;
971
+ var _a;
972
+ if ((_a = this.popupModel) === null || _a === void 0 ? void 0 : _a.isVisible) {
973
+ this.clearPopupTimeouts();
974
+ this.hidePopupTimeout = setTimeout(function () {
975
+ _this.clearPopupTimeouts();
976
+ _this.hidePopup();
977
+ _this.isHovered = false;
978
+ }, delay);
979
+ }
980
+ else {
981
+ this.clearPopupTimeouts();
982
+ this.isHovered = false;
983
+ }
984
+ };
917
985
  BaseAction.renderedId = 1;
918
986
  __decorate([
919
987
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__["property"])()
@@ -975,9 +1043,21 @@ var BaseAction = /** @class */ (function (_super) {
975
1043
  __decorate([
976
1044
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__["property"])({ defaultValue: 24 })
977
1045
  ], BaseAction.prototype, "iconSize", void 0);
1046
+ __decorate([
1047
+ Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__["property"])()
1048
+ ], BaseAction.prototype, "markerIconName", void 0);
1049
+ __decorate([
1050
+ Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__["property"])()
1051
+ ], BaseAction.prototype, "markerIconSize", void 0);
978
1052
  __decorate([
979
1053
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__["property"])()
980
1054
  ], BaseAction.prototype, "css", void 0);
1055
+ __decorate([
1056
+ Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__["property"])({ defaultValue: false })
1057
+ ], BaseAction.prototype, "isPressed", void 0);
1058
+ __decorate([
1059
+ Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__["property"])({ defaultValue: false })
1060
+ ], BaseAction.prototype, "isHovered", void 0);
981
1061
  return BaseAction;
982
1062
  }(_base__WEBPACK_IMPORTED_MODULE_0__["Base"]));
983
1063
 
@@ -1015,6 +1095,14 @@ var Action = /** @class */ (function (_super) {
1015
1095
  Action.prototype.createLocTitle = function () {
1016
1096
  return this.createLocalizableString("title", this, true);
1017
1097
  };
1098
+ Action.prototype.setItems = function (items, onSelectionChanged) {
1099
+ this.markerIconName = "icon-next_16x16";
1100
+ this.component = "sv-list-item-group";
1101
+ this.items = __spreadArray([], items);
1102
+ var popupModel = createPopupModelWithListModel({ items: items, onSelectionChanged: onSelectionChanged, searchEnabled: false }, { horizontalPosition: "right", showPointer: false, canShrink: false });
1103
+ popupModel.cssClass = "sv-popup-inner";
1104
+ this.popupModel = popupModel;
1105
+ };
1018
1106
  Action.prototype.getLocTitle = function () {
1019
1107
  return this.locTitleValue;
1020
1108
  };
@@ -1231,9 +1319,6 @@ var AdaptiveActionContainer = /** @class */ (function (_super) {
1231
1319
  tooltip: _surveyStrings__WEBPACK_IMPORTED_MODULE_3__["surveyLocalization"].getString("more"),
1232
1320
  }, {
1233
1321
  items: [],
1234
- onSelectionChanged: function (item) {
1235
- _this.hiddenItemSelected(item);
1236
- },
1237
1322
  allowSelection: false
1238
1323
  });
1239
1324
  return _this;
@@ -1299,11 +1384,6 @@ var AdaptiveActionContainer = /** @class */ (function (_super) {
1299
1384
  enumerable: false,
1300
1385
  configurable: true
1301
1386
  });
1302
- AdaptiveActionContainer.prototype.hiddenItemSelected = function (item) {
1303
- if (!!item && typeof item.action === "function") {
1304
- item.action();
1305
- }
1306
- };
1307
1387
  AdaptiveActionContainer.prototype.onSet = function () {
1308
1388
  var _this = this;
1309
1389
  this.actions.forEach(function (action) { return action.updateCallback = function (isResetInitialized) { return _this.raiseUpdate(isResetInitialized); }; });
@@ -1560,6 +1640,21 @@ var ActionContainer = /** @class */ (function (_super) {
1560
1640
  this.sortItems();
1561
1641
  }
1562
1642
  };
1643
+ ActionContainer.prototype.popupAfterShowCallback = function (itemValue) {
1644
+ };
1645
+ ActionContainer.prototype.mouseOverHandler = function (itemValue) {
1646
+ var _this = this;
1647
+ itemValue.isHovered = true;
1648
+ this.actions.forEach(function (action) {
1649
+ if (action === itemValue && !!itemValue.popupModel) {
1650
+ itemValue.showPopupDelayed(_this.subItemsShowDelay);
1651
+ _this.popupAfterShowCallback(itemValue);
1652
+ }
1653
+ else if (!!action.popupModel && action.popupModel.isVisible) {
1654
+ action.hidePopupDelayed(_this.subItemsHideDelay);
1655
+ }
1656
+ });
1657
+ };
1563
1658
  ActionContainer.prototype.initResponsivityManager = function (container, delayedUpdateFunction) {
1564
1659
  return;
1565
1660
  };
@@ -1595,6 +1690,12 @@ var ActionContainer = /** @class */ (function (_super) {
1595
1690
  __decorate([
1596
1691
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__["property"])({ defaultValue: false })
1597
1692
  ], ActionContainer.prototype, "isEmpty", void 0);
1693
+ __decorate([
1694
+ Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__["property"])({ defaultValue: 300 })
1695
+ ], ActionContainer.prototype, "subItemsShowDelay", void 0);
1696
+ __decorate([
1697
+ Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__["property"])({ defaultValue: 300 })
1698
+ ], ActionContainer.prototype, "subItemsHideDelay", void 0);
1598
1699
  return ActionContainer;
1599
1700
  }(_base__WEBPACK_IMPORTED_MODULE_1__["Base"]));
1600
1701
 
@@ -1870,6 +1971,10 @@ var Base = /** @class */ (function () {
1870
1971
  this.onItemValuePropertyChanged = this.addEvent();
1871
1972
  this.isCreating = true;
1872
1973
  this.animationAllowedLock = 0;
1974
+ //remove when knockout obsolete
1975
+ this.supportOnElementRenderedEvent = true;
1976
+ this.onElementRenderedEventEnabled = false;
1977
+ this._onElementRerendered = new EventBase();
1873
1978
  this.bindingsValue = new Bindings(this);
1874
1979
  _jsonobject__WEBPACK_IMPORTED_MODULE_2__["CustomPropertiesCollection"].createProperties(this);
1875
1980
  this.onBaseCreating();
@@ -2798,7 +2903,7 @@ var Base = /** @class */ (function () {
2798
2903
  configurable: true
2799
2904
  });
2800
2905
  Base.prototype.getIsAnimationAllowed = function () {
2801
- return _settings__WEBPACK_IMPORTED_MODULE_3__["settings"].animationEnabled && this.animationAllowedLock >= 0 && !this.isLoadingFromJson && !this.isDisposed;
2906
+ return _settings__WEBPACK_IMPORTED_MODULE_3__["settings"].animationEnabled && this.animationAllowedLock >= 0 && !this.isLoadingFromJson && !this.isDisposed && (!!this.onElementRerendered || !this.supportOnElementRenderedEvent);
2802
2907
  };
2803
2908
  Base.prototype.blockAnimations = function () {
2804
2909
  this.animationAllowedLock--;
@@ -2806,6 +2911,22 @@ var Base = /** @class */ (function () {
2806
2911
  Base.prototype.releaseAnimations = function () {
2807
2912
  this.animationAllowedLock++;
2808
2913
  };
2914
+ Base.prototype.enableOnElementRenderedEvent = function () {
2915
+ this.onElementRenderedEventEnabled = true;
2916
+ };
2917
+ Base.prototype.disableOnElementRenderedEvent = function () {
2918
+ this.onElementRenderedEventEnabled = false;
2919
+ };
2920
+ Object.defineProperty(Base.prototype, "onElementRerendered", {
2921
+ get: function () {
2922
+ return this.supportOnElementRenderedEvent && this.onElementRenderedEventEnabled ? this._onElementRerendered : undefined;
2923
+ },
2924
+ enumerable: false,
2925
+ configurable: true
2926
+ });
2927
+ Base.prototype.afterRerender = function () {
2928
+ this.onElementRerendered.fire(this, undefined);
2929
+ };
2809
2930
  Base.currentDependencis = undefined;
2810
2931
  return Base;
2811
2932
  }());
@@ -2849,8 +2970,9 @@ var Event = /** @class */ (function () {
2849
2970
  Event.prototype.fire = function (sender, options) {
2850
2971
  if (!this.callbacks)
2851
2972
  return;
2852
- for (var i = 0; i < this.callbacks.length; i++) {
2853
- this.callbacks[i](sender, options);
2973
+ var callbacks = [].concat(this.callbacks);
2974
+ for (var i = 0; i < callbacks.length; i++) {
2975
+ callbacks[i](sender, options);
2854
2976
  if (!this.callbacks)
2855
2977
  return;
2856
2978
  }
@@ -5588,6 +5710,7 @@ var defaultV2Css = {
5588
5710
  rowMultiple: "sd-row--multiple",
5589
5711
  rowCompact: "sd-row--compact",
5590
5712
  rowFadeIn: "sd-row--fade-in",
5713
+ rowDelayedFadeIn: "sd-row--delayed-fade-in",
5591
5714
  rowFadeOut: "sd-row--fade-out",
5592
5715
  pageRow: "sd-page__row",
5593
5716
  question: {
@@ -5647,6 +5770,7 @@ var defaultV2Css = {
5647
5770
  disabled: "sd-question--disabled",
5648
5771
  readOnly: "sd-question--readonly",
5649
5772
  preview: "sd-question--preview",
5773
+ noPointerEventsMode: "sd-question--no-pointer-events",
5650
5774
  errorsContainer: "sd-element__erbox sd-question__erbox",
5651
5775
  errorsContainerTop: "sd-element__erbox--above-element sd-question__erbox--above-question",
5652
5776
  errorsContainerBottom: "sd-question__erbox--below-question"
@@ -5990,6 +6114,7 @@ var defaultV2Css = {
5990
6114
  dragElementDecorator: "sd-drag-element__svg",
5991
6115
  iconDragElement: "#icon-v2dragelement_16x16",
5992
6116
  footer: "sd-matrixdynamic__footer",
6117
+ footerTotalCell: "sd-table__cell sd-table__cell--footer-total",
5993
6118
  emptyRowsSection: "sd-matrixdynamic__placeholder sd-question__placeholder",
5994
6119
  iconDrag: "sv-matrixdynamic__drag-icon",
5995
6120
  ghostRow: "sv-matrix-row--drag-drop-ghost-mod",
@@ -6100,13 +6225,13 @@ var defaultV2Css = {
6100
6225
  removeButtonIconId: "icon-clear",
6101
6226
  removeFile: "sd-hidden",
6102
6227
  removeFileSvg: "",
6103
- removeFileSvgIconId: "icon-delete",
6228
+ removeFileSvgIconId: "icon-close_16x16",
6104
6229
  wrapper: "sd-file__wrapper",
6105
6230
  defaultImage: "sd-file__default-image",
6106
6231
  defaultImageIconId: "icon-defaultfile",
6107
6232
  leftIconId: "icon-arrowleft",
6108
6233
  rightIconId: "icon-arrowright",
6109
- removeFileButton: "sd-context-btn--negative sd-file__remove-file-button",
6234
+ removeFileButton: "sd-context-btn--small sd-context-btn--with-border sd-context-btn--colorful sd-context-btn--negative sd-file__remove-file-button",
6110
6235
  dragAreaPlaceholder: "sd-file__drag-area-placeholder",
6111
6236
  imageWrapper: "sd-file__image-wrapper",
6112
6237
  imageWrapperDefaultImage: "sd-file__image-wrapper--default-image",
@@ -7667,10 +7792,11 @@ var DragDropMatrixRows = /** @class */ (function (_super) {
7667
7792
  "use strict";
7668
7793
  __webpack_require__.r(__webpack_exports__);
7669
7794
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "DragDropRankingChoices", function() { return DragDropRankingChoices; });
7670
- /* harmony import */ var _choices__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./choices */ "./src/dragdrop/choices.ts");
7671
- /* harmony import */ var _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/cssClassBuilder */ "./src/utils/cssClassBuilder.ts");
7672
- /* harmony import */ var _utils_devices__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/devices */ "./src/utils/devices.ts");
7673
- /* harmony import */ var _global_variables_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../global_variables_utils */ "./src/global_variables_utils.ts");
7795
+ /* harmony import */ var _itemvalue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../itemvalue */ "./src/itemvalue.ts");
7796
+ /* harmony import */ var _choices__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./choices */ "./src/dragdrop/choices.ts");
7797
+ /* harmony import */ var _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/cssClassBuilder */ "./src/utils/cssClassBuilder.ts");
7798
+ /* harmony import */ var _utils_devices__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils/devices */ "./src/utils/devices.ts");
7799
+ /* harmony import */ var _global_variables_utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../global_variables_utils */ "./src/global_variables_utils.ts");
7674
7800
  var __extends = (undefined && undefined.__extends) || (function () {
7675
7801
  var extendStatics = function (d, b) {
7676
7802
  extendStatics = Object.setPrototypeOf ||
@@ -7690,6 +7816,7 @@ var __extends = (undefined && undefined.__extends) || (function () {
7690
7816
 
7691
7817
 
7692
7818
 
7819
+
7693
7820
  var DragDropRankingChoices = /** @class */ (function (_super) {
7694
7821
  __extends(DragDropRankingChoices, _super);
7695
7822
  function DragDropRankingChoices() {
@@ -7699,6 +7826,16 @@ var DragDropRankingChoices = /** @class */ (function (_super) {
7699
7826
  var node = _this.domAdapter.draggedElementShortcut.querySelector(".sv-ranking-item");
7700
7827
  node.style.cursor = "grabbing";
7701
7828
  };
7829
+ _this.reorderRankedItem = function (questionModel, fromIndex, toIndex) {
7830
+ if (fromIndex == toIndex)
7831
+ return;
7832
+ var rankingChoices = questionModel.rankingChoices;
7833
+ var item = rankingChoices[fromIndex];
7834
+ questionModel.isValueSetByUser = true;
7835
+ rankingChoices.splice(fromIndex, 1);
7836
+ rankingChoices.splice(toIndex, 0, item);
7837
+ _this.updateDraggedElementShortcut(toIndex + 1);
7838
+ };
7702
7839
  _this.doBanDropHere = function () {
7703
7840
  if (_this.isDragOverRootNode) {
7704
7841
  _this.allowDropHere = true;
@@ -7717,7 +7854,7 @@ var DragDropRankingChoices = /** @class */ (function (_super) {
7717
7854
  configurable: true
7718
7855
  });
7719
7856
  DragDropRankingChoices.prototype.createDraggedElementShortcut = function (text, draggedElementNode, event) {
7720
- var draggedElementShortcut = _global_variables_utils__WEBPACK_IMPORTED_MODULE_3__["DomDocumentHelper"].createElement("div");
7857
+ var draggedElementShortcut = _global_variables_utils__WEBPACK_IMPORTED_MODULE_4__["DomDocumentHelper"].createElement("div");
7721
7858
  if (!draggedElementShortcut)
7722
7859
  return;
7723
7860
  draggedElementShortcut.className = this.shortcutClass + " sv-ranking-shortcut";
@@ -7735,9 +7872,9 @@ var DragDropRankingChoices = /** @class */ (function (_super) {
7735
7872
  };
7736
7873
  Object.defineProperty(DragDropRankingChoices.prototype, "shortcutClass", {
7737
7874
  get: function () {
7738
- return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_1__["CssClassBuilder"]()
7875
+ return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_2__["CssClassBuilder"]()
7739
7876
  .append(this.parentElement.cssClasses.root)
7740
- .append(this.parentElement.cssClasses.rootMobileMod, _utils_devices__WEBPACK_IMPORTED_MODULE_2__["IsMobile"])
7877
+ .append(this.parentElement.cssClasses.rootMobileMod, _utils_devices__WEBPACK_IMPORTED_MODULE_3__["IsMobile"])
7741
7878
  .toString();
7742
7879
  },
7743
7880
  enumerable: false,
@@ -7757,52 +7894,49 @@ var DragDropRankingChoices = /** @class */ (function (_super) {
7757
7894
  };
7758
7895
  DragDropRankingChoices.prototype.isDropTargetValid = function (dropTarget, dropTargetNode) {
7759
7896
  var choices = this.parentElement.rankingChoices;
7760
- var dropTargetIndex = choices.indexOf(this.dropTarget);
7761
- var draggedElementIndex = choices.indexOf(this.draggedElement);
7762
- if (draggedElementIndex > dropTargetIndex && dropTargetNode.classList.contains("sv-dragdrop-moveup")) {
7763
- this.parentElement.dropTargetNodeMove = null;
7764
- return false;
7765
- }
7766
- if (draggedElementIndex < dropTargetIndex && dropTargetNode.classList.contains("sv-dragdrop-movedown")) {
7767
- this.parentElement.dropTargetNodeMove = null;
7768
- return false;
7769
- }
7770
7897
  if (choices.indexOf(dropTarget) === -1)
7771
7898
  // shouldn't allow to drop on "adorners" (selectall, none, other)
7772
7899
  return false;
7773
7900
  return true;
7774
7901
  };
7775
- DragDropRankingChoices.prototype.calculateIsBottom = function (clientY) {
7776
- var choices = this.parentElement.rankingChoices;
7777
- return (choices.indexOf(this.dropTarget) - choices.indexOf(this.draggedElement) >
7778
- 0);
7902
+ DragDropRankingChoices.prototype.calculateIsBottom = function (clientY, dropTargetNode) {
7903
+ if (this.dropTarget instanceof _itemvalue__WEBPACK_IMPORTED_MODULE_0__["ItemValue"] && this.draggedElement !== this.dropTarget) {
7904
+ var rect = dropTargetNode.getBoundingClientRect();
7905
+ return clientY >= rect.y + rect.height / 2;
7906
+ }
7907
+ return _super.prototype.calculateIsBottom.call(this, clientY);
7779
7908
  };
7780
- DragDropRankingChoices.prototype.afterDragOver = function (dropTargetNode) {
7781
- var choices = this.parentElement.rankingChoices;
7782
- var dropTargetIndex = choices.indexOf(this.dropTarget);
7783
- var draggedElementIndex = choices.indexOf(this.draggedElement);
7784
- choices.splice(draggedElementIndex, 1);
7785
- choices.splice(dropTargetIndex, 0, this.draggedElement);
7786
- this.parentElement.setPropertyValue("rankingChoices", choices);
7787
- //return;
7788
- this.updateDraggedElementShortcut(dropTargetIndex + 1);
7789
- if (draggedElementIndex !== dropTargetIndex) {
7790
- dropTargetNode.classList.remove("sv-dragdrop-moveup");
7791
- dropTargetNode.classList.remove("sv-dragdrop-movedown");
7792
- this.parentElement.dropTargetNodeMove = null;
7909
+ DragDropRankingChoices.prototype.getIndixies = function (model, fromChoicesArray, toChoicesArray) {
7910
+ var fromIndex = fromChoicesArray.indexOf(this.draggedElement);
7911
+ var toIndex = toChoicesArray.indexOf(this.dropTarget);
7912
+ if (toIndex === -1) {
7913
+ var length_1 = model.value.length;
7914
+ toIndex = length_1;
7793
7915
  }
7794
- if (draggedElementIndex > dropTargetIndex) {
7795
- this.parentElement.dropTargetNodeMove = "down";
7916
+ else if (fromChoicesArray == toChoicesArray) {
7917
+ if (!this.isBottom && fromIndex < toIndex)
7918
+ toIndex--;
7919
+ if (this.isBottom && fromIndex > toIndex)
7920
+ toIndex++;
7796
7921
  }
7797
- if (draggedElementIndex < dropTargetIndex) {
7798
- this.parentElement.dropTargetNodeMove = "up";
7922
+ else if (fromChoicesArray != toChoicesArray) {
7923
+ if (this.isBottom)
7924
+ toIndex++;
7799
7925
  }
7926
+ return { fromIndex: fromIndex, toIndex: toIndex };
7927
+ };
7928
+ DragDropRankingChoices.prototype.afterDragOver = function (dropTargetNode) {
7929
+ var _a = this.getIndixies(this.parentElement, this.parentElement.rankingChoices, this.parentElement.rankingChoices), fromIndex = _a.fromIndex, toIndex = _a.toIndex;
7930
+ this.reorderRankedItem(this.parentElement, fromIndex, toIndex);
7800
7931
  };
7801
7932
  DragDropRankingChoices.prototype.updateDraggedElementShortcut = function (newIndex) {
7802
- var newIndexText = newIndex !== null ? newIndex + "" : "";
7803
- // TODO should avoid direct DOM manipulation, do through the frameworks instead
7804
- var indexNode = this.domAdapter.draggedElementShortcut.querySelector(".sv-ranking-item__index");
7805
- indexNode.innerText = newIndexText;
7933
+ var _a;
7934
+ if ((_a = this.domAdapter) === null || _a === void 0 ? void 0 : _a.draggedElementShortcut) {
7935
+ var newIndexText = newIndex !== null ? newIndex + "" : "";
7936
+ // TODO should avoid direct DOM manipulation, do through the frameworks instead
7937
+ var indexNode = this.domAdapter.draggedElementShortcut.querySelector(".sv-ranking-item__index");
7938
+ indexNode.innerText = newIndexText;
7939
+ }
7806
7940
  };
7807
7941
  DragDropRankingChoices.prototype.ghostPositionChanged = function () {
7808
7942
  this.parentElement.currentDropTarget = this.draggedElement;
@@ -7820,7 +7954,7 @@ var DragDropRankingChoices = /** @class */ (function (_super) {
7820
7954
  _super.prototype.clear.call(this);
7821
7955
  };
7822
7956
  return DragDropRankingChoices;
7823
- }(_choices__WEBPACK_IMPORTED_MODULE_0__["DragDropChoices"]));
7957
+ }(_choices__WEBPACK_IMPORTED_MODULE_1__["DragDropChoices"]));
7824
7958
 
7825
7959
 
7826
7960
 
@@ -7836,8 +7970,7 @@ var DragDropRankingChoices = /** @class */ (function (_super) {
7836
7970
  "use strict";
7837
7971
  __webpack_require__.r(__webpack_exports__);
7838
7972
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "DragDropRankingSelectToRank", function() { return DragDropRankingSelectToRank; });
7839
- /* harmony import */ var _itemvalue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../itemvalue */ "./src/itemvalue.ts");
7840
- /* harmony import */ var _ranking_choices__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ranking-choices */ "./src/dragdrop/ranking-choices.ts");
7973
+ /* harmony import */ var _ranking_choices__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ranking-choices */ "./src/dragdrop/ranking-choices.ts");
7841
7974
  var __extends = (undefined && undefined.__extends) || (function () {
7842
7975
  var extendStatics = function (d, b) {
7843
7976
  extendStatics = Object.setPrototypeOf ||
@@ -7854,7 +7987,6 @@ var __extends = (undefined && undefined.__extends) || (function () {
7854
7987
  };
7855
7988
  })();
7856
7989
 
7857
-
7858
7990
  var DragDropRankingSelectToRank = /** @class */ (function (_super) {
7859
7991
  __extends(DragDropRankingSelectToRank, _super);
7860
7992
  function DragDropRankingSelectToRank() {
@@ -7871,19 +8003,6 @@ var DragDropRankingSelectToRank = /** @class */ (function (_super) {
7871
8003
  rankingChoices.splice(fromIndex, 1);
7872
8004
  _this.updateChoices(questionModel, rankingChoices);
7873
8005
  };
7874
- _this.reorderRankedItem = function (questionModel, fromIndex, toIndex, dropTargetNode) {
7875
- var rankingChoices = questionModel.rankingChoices;
7876
- var item = rankingChoices[fromIndex];
7877
- if (fromIndex == toIndex)
7878
- return;
7879
- questionModel.isValueSetByUser = true;
7880
- rankingChoices.splice(fromIndex, 1);
7881
- rankingChoices.splice(toIndex, 0, item);
7882
- questionModel.setPropertyValue("rankingChoices", rankingChoices);
7883
- if (dropTargetNode) {
7884
- _this.doUIEffects(dropTargetNode, fromIndex, toIndex);
7885
- }
7886
- };
7887
8006
  return _this;
7888
8007
  }
7889
8008
  DragDropRankingSelectToRank.prototype.findDropTargetNodeByDragOverNode = function (dragOverNode) {
@@ -7940,50 +8059,6 @@ var DragDropRankingSelectToRank = /** @class */ (function (_super) {
7940
8059
  var _a = this.getIndixies(questionModel, fromChoicesArray, toChoicesArray), fromIndex = _a.fromIndex, toIndex = _a.toIndex;
7941
8060
  rankFunction(questionModel, fromIndex, toIndex, dropTargetNode);
7942
8061
  };
7943
- DragDropRankingSelectToRank.prototype.getIndixies = function (model, fromChoicesArray, toChoicesArray) {
7944
- var fromIndex = fromChoicesArray.indexOf(this.draggedElement);
7945
- var toIndex = toChoicesArray.indexOf(this.dropTarget);
7946
- if (toIndex === -1) {
7947
- var length_1 = model.value.length;
7948
- toIndex = length_1;
7949
- }
7950
- else if (fromChoicesArray == toChoicesArray) {
7951
- if (!this.isBottom && fromIndex < toIndex)
7952
- toIndex--;
7953
- if (this.isBottom && fromIndex > toIndex)
7954
- toIndex++;
7955
- }
7956
- else if (fromChoicesArray != toChoicesArray) {
7957
- if (this.isBottom)
7958
- toIndex++;
7959
- }
7960
- return { fromIndex: fromIndex, toIndex: toIndex };
7961
- };
7962
- DragDropRankingSelectToRank.prototype.calculateIsBottom = function (clientY, dropTargetNode) {
7963
- if (this.dropTarget instanceof _itemvalue__WEBPACK_IMPORTED_MODULE_0__["ItemValue"] && this.draggedElement !== this.dropTarget) {
7964
- var rect = dropTargetNode.getBoundingClientRect();
7965
- return clientY >= rect.y + rect.height / 2;
7966
- }
7967
- return _super.prototype.calculateIsBottom.call(this, clientY);
7968
- };
7969
- DragDropRankingSelectToRank.prototype.doUIEffects = function (dropTargetNode, fromIndex, toIndex) {
7970
- var questionModel = this.parentElement;
7971
- var isDropToEmptyRankedContainer = this.dropTarget === "to-container" && questionModel.isEmpty();
7972
- var isNeedToShowIndexAtShortcut = !this.isDropTargetUnranked || isDropToEmptyRankedContainer;
7973
- var shortcutIndex = isNeedToShowIndexAtShortcut ? toIndex + 1 : null;
7974
- this.updateDraggedElementShortcut(shortcutIndex);
7975
- if (fromIndex !== toIndex) {
7976
- dropTargetNode.classList.remove("sv-dragdrop-moveup");
7977
- dropTargetNode.classList.remove("sv-dragdrop-movedown");
7978
- questionModel.dropTargetNodeMove = null;
7979
- }
7980
- if (fromIndex > toIndex) {
7981
- questionModel.dropTargetNodeMove = "down";
7982
- }
7983
- if (fromIndex < toIndex) {
7984
- questionModel.dropTargetNodeMove = "up";
7985
- }
7986
- };
7987
8062
  Object.defineProperty(DragDropRankingSelectToRank.prototype, "isDraggedElementRanked", {
7988
8063
  get: function () {
7989
8064
  return this.parentElement.rankingChoices.indexOf(this.draggedElement) !== -1;
@@ -8007,28 +8082,13 @@ var DragDropRankingSelectToRank = /** @class */ (function (_super) {
8007
8082
  enumerable: false,
8008
8083
  configurable: true
8009
8084
  });
8010
- Object.defineProperty(DragDropRankingSelectToRank.prototype, "isDropTargetUnranked", {
8011
- get: function () {
8012
- return !this.isDropTargetRanked;
8013
- },
8014
- enumerable: false,
8015
- configurable: true
8016
- });
8017
8085
  DragDropRankingSelectToRank.prototype.updateChoices = function (questionModel, rankingChoices) {
8018
8086
  questionModel.isValueSetByUser = true;
8019
8087
  questionModel.rankingChoices = rankingChoices;
8020
8088
  questionModel.updateUnRankingChoices(rankingChoices);
8021
8089
  };
8022
- DragDropRankingSelectToRank.prototype.clear = function () {
8023
- var questionModel = this.parentElement;
8024
- if (!!questionModel) {
8025
- questionModel.rankingChoicesAnimation.cancel();
8026
- questionModel.unRankingChoicesAnimation.cancel();
8027
- }
8028
- _super.prototype.clear.call(this);
8029
- };
8030
8090
  return DragDropRankingSelectToRank;
8031
- }(_ranking_choices__WEBPACK_IMPORTED_MODULE_1__["DragDropRankingChoices"]));
8091
+ }(_ranking_choices__WEBPACK_IMPORTED_MODULE_0__["DragDropRankingChoices"]));
8032
8092
 
8033
8093
 
8034
8094
 
@@ -8264,10 +8324,17 @@ var DropdownListModel = /** @class */ (function (_super) {
8264
8324
  _this.question.value = item.id;
8265
8325
  if (_this.question.searchEnabled)
8266
8326
  _this.applyInputString(item);
8267
- _this.popupModel.isVisible = false;
8327
+ _this.popupModel.hide();
8268
8328
  };
8269
8329
  }
8270
- var res = new _list__WEBPACK_IMPORTED_MODULE_4__["ListModel"](visibleItems, _onSelectionChanged, false, undefined, this.listElementId);
8330
+ var listOptions = {
8331
+ items: visibleItems,
8332
+ onSelectionChanged: _onSelectionChanged,
8333
+ allowSelection: false,
8334
+ locOwner: this.question,
8335
+ elementId: this.listElementId
8336
+ };
8337
+ var res = new _list__WEBPACK_IMPORTED_MODULE_4__["ListModel"](listOptions);
8271
8338
  this.setOnTextSearchCallbackForListModel(res);
8272
8339
  res.renderElements = false;
8273
8340
  res.forceShowFilter = true;
@@ -8279,7 +8346,6 @@ var DropdownListModel = /** @class */ (function (_super) {
8279
8346
  DropdownListModel.prototype.updateAfterListModelCreated = function (model) {
8280
8347
  var _this = this;
8281
8348
  model.isItemSelected = function (action) { return !!action.selected; };
8282
- model.locOwner = this.question;
8283
8349
  model.onPropertyChanged.add(function (sender, options) {
8284
8350
  if (options.name == "hasVerticalScroller") {
8285
8351
  _this.hasScroll = options.newValue;
@@ -8311,7 +8377,7 @@ var DropdownListModel = /** @class */ (function (_super) {
8311
8377
  this.question.survey.onChoicesSearch.fire(this.question.survey, options);
8312
8378
  this.filteredItems = options.filteredChoices;
8313
8379
  if (!!this.filterString && !this.popupModel.isVisible) {
8314
- this.popupModel.isVisible = true;
8380
+ this.popupModel.show();
8315
8381
  }
8316
8382
  var updateAfterFilterStringChanged = function () {
8317
8383
  _this.setFilterStringToListModel(_this.filterString);
@@ -8532,7 +8598,7 @@ var DropdownListModel = /** @class */ (function (_super) {
8532
8598
  };
8533
8599
  DropdownListModel.prototype.onClear = function (event) {
8534
8600
  this.question.clearValue(true);
8535
- this._popupModel.isVisible = false;
8601
+ this._popupModel.hide();
8536
8602
  if (event) {
8537
8603
  event.preventDefault();
8538
8604
  event.stopPropagation();
@@ -8588,19 +8654,17 @@ var DropdownListModel = /** @class */ (function (_super) {
8588
8654
  event.stopPropagation();
8589
8655
  }
8590
8656
  else if (event.keyCode === 40) {
8591
- if (!this.popupModel.isVisible) {
8592
- this.popupModel.toggleVisibility();
8593
- }
8657
+ this.popupModel.show();
8594
8658
  this.changeSelectionWithKeyboard(false);
8595
8659
  event.preventDefault();
8596
8660
  event.stopPropagation();
8597
8661
  }
8598
8662
  if (event.keyCode === 9) {
8599
- this.popupModel.isVisible = false;
8663
+ this.popupModel.hide();
8600
8664
  }
8601
8665
  else if (!this.popupModel.isVisible && (event.keyCode === 13 || event.keyCode === 32)) {
8602
8666
  if (event.keyCode === 32) {
8603
- this.popupModel.toggleVisibility();
8667
+ this.popupModel.show();
8604
8668
  this.changeSelectionWithKeyboard(false);
8605
8669
  }
8606
8670
  if (event.keyCode === 13) {
@@ -8611,7 +8675,7 @@ var DropdownListModel = /** @class */ (function (_super) {
8611
8675
  }
8612
8676
  else if (this.popupModel.isVisible && (event.keyCode === 13 || event.keyCode === 32 && (!this.question.searchEnabled || !this.inputString))) {
8613
8677
  if (event.keyCode === 13 && this.question.searchEnabled && !this.inputString && this.question instanceof _question_dropdown__WEBPACK_IMPORTED_MODULE_6__["QuestionDropdownModel"] && !this._markdownMode && this.question.value) {
8614
- this._popupModel.isVisible = false;
8678
+ this._popupModel.hide();
8615
8679
  this.onClear(event);
8616
8680
  }
8617
8681
  else {
@@ -8627,7 +8691,7 @@ var DropdownListModel = /** @class */ (function (_super) {
8627
8691
  }
8628
8692
  }
8629
8693
  else if (event.keyCode === 27) {
8630
- this._popupModel.isVisible = false;
8694
+ this._popupModel.hide();
8631
8695
  this.hintString = "";
8632
8696
  this.onEscape();
8633
8697
  }
@@ -8655,11 +8719,11 @@ var DropdownListModel = /** @class */ (function (_super) {
8655
8719
  DropdownListModel.prototype.onBlur = function (event) {
8656
8720
  this.focused = false;
8657
8721
  if (this.popupModel.isVisible && _utils_devices__WEBPACK_IMPORTED_MODULE_9__["IsTouch"]) {
8658
- this._popupModel.isVisible = true;
8722
+ this._popupModel.show();
8659
8723
  return;
8660
8724
  }
8661
8725
  Object(_utils_utils__WEBPACK_IMPORTED_MODULE_10__["doKey2ClickBlur"])(event);
8662
- this._popupModel.isVisible = false;
8726
+ this._popupModel.hide();
8663
8727
  this.resetFilterString();
8664
8728
  this.inputString = null;
8665
8729
  this.hintString = "";
@@ -8850,7 +8914,14 @@ var DropdownMultiSelectListModel = /** @class */ (function (_super) {
8850
8914
  }
8851
8915
  };
8852
8916
  }
8853
- var res = new _multiSelectListModel__WEBPACK_IMPORTED_MODULE_3__["MultiSelectListModel"](visibleItems, _onSelectionChanged, false, undefined, this.listElementId);
8917
+ var listOptions = {
8918
+ items: visibleItems,
8919
+ onSelectionChanged: _onSelectionChanged,
8920
+ allowSelection: false,
8921
+ locOwner: this.question,
8922
+ elementId: this.listElementId
8923
+ };
8924
+ var res = new _multiSelectListModel__WEBPACK_IMPORTED_MODULE_3__["MultiSelectListModel"](listOptions);
8854
8925
  res.actions.forEach(function (a) { return a.disableTabStop = true; });
8855
8926
  this.setOnTextSearchCallbackForListModel(res);
8856
8927
  res.forceShowFilter = true;
@@ -9270,6 +9341,8 @@ __webpack_require__.r(__webpack_exports__);
9270
9341
  /* harmony import */ var _localization_vietnamese__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(/*! ../../localization/vietnamese */ "./src/localization/vietnamese.ts");
9271
9342
  /* harmony import */ var _localization_welsh__WEBPACK_IMPORTED_MODULE_47__ = __webpack_require__(/*! ../../localization/welsh */ "./src/localization/welsh.ts");
9272
9343
  /* harmony import */ var _localization_telugu__WEBPACK_IMPORTED_MODULE_48__ = __webpack_require__(/*! ../../localization/telugu */ "./src/localization/telugu.ts");
9344
+ /* harmony import */ var _localization_philippines__WEBPACK_IMPORTED_MODULE_49__ = __webpack_require__(/*! ../../localization/philippines */ "./src/localization/philippines.ts");
9345
+
9273
9346
 
9274
9347
 
9275
9348
 
@@ -9825,8 +9898,8 @@ __webpack_require__.r(__webpack_exports__);
9825
9898
 
9826
9899
  var Version;
9827
9900
  var ReleaseDate;
9828
- Version = "" + "1.10.5";
9829
- ReleaseDate = "" + "2024-05-20";
9901
+ Version = "" + "1.11.1";
9902
+ ReleaseDate = "" + "2024-06-06";
9830
9903
  function checkLibraryVersion(ver, libraryName) {
9831
9904
  if (Version != ver) {
9832
9905
  var str = "survey-core has version '" + Version + "' and " + libraryName
@@ -10007,7 +10080,7 @@ function checkPrefix(prefix) {
10007
10080
  /*!**************************************!*\
10008
10081
  !*** ./src/entries/core-wo-model.ts ***!
10009
10082
  \**************************************/
10010
- /*! exports provided: Version, ReleaseDate, checkLibraryVersion, setLicenseKey, slk, hasLicense, settings, Helpers, AnswerCountValidator, EmailValidator, NumericValidator, RegexValidator, SurveyValidator, TextValidator, ValidatorResult, ExpressionValidator, ValidatorRunner, ItemValue, Base, Event, EventBase, ArrayChanges, ComputedUpdater, SurveyError, SurveyElementCore, SurveyElement, DragTypeOverMeEnum, CalculatedValue, CustomError, AnswerRequiredError, OneAnswerRequiredError, RequreNumericError, ExceedSizeError, LocalizableString, LocalizableStrings, HtmlConditionItem, UrlConditionItem, ChoicesRestful, ChoicesRestfull, FunctionFactory, registerFunction, ConditionRunner, ExpressionRunner, ExpressionExecutor, Operand, Const, BinaryOperand, Variable, FunctionOperand, ArrayOperand, UnaryOperand, ConditionsParser, ProcessValue, JsonError, JsonIncorrectTypeError, JsonMetadata, JsonMetadataClass, JsonMissingTypeError, JsonMissingTypeErrorBase, JsonObject, JsonObjectProperty, JsonRequiredPropertyError, JsonUnknownPropertyError, Serializer, property, propertyArray, MatrixDropdownCell, MatrixDropdownRowModelBase, QuestionMatrixDropdownModelBase, MatrixDropdownColumn, matrixDropdownColumnTypes, QuestionMatrixDropdownRenderedCell, QuestionMatrixDropdownRenderedRow, QuestionMatrixDropdownRenderedErrorRow, QuestionMatrixDropdownRenderedTable, MatrixDropdownRowModel, QuestionMatrixDropdownModel, MatrixDynamicRowModel, QuestionMatrixDynamicModel, MatrixRowModel, MatrixCells, QuestionMatrixModel, QuestionMatrixBaseModel, MultipleTextItemModel, MultipleTextCell, MultipleTextErrorCell, MutlipleTextErrorRow, MutlipleTextRow, QuestionMultipleTextModel, MultipleTextEditorModel, PanelModel, PanelModelBase, QuestionRowModel, FlowPanelModel, PageModel, DefaultTitleModel, Question, QuestionNonValue, QuestionEmptyModel, QuestionCheckboxBase, QuestionSelectBase, QuestionCheckboxModel, QuestionTagboxModel, QuestionRankingModel, QuestionCommentModel, QuestionDropdownModel, QuestionFactory, ElementFactory, QuestionFileModel, QuestionHtmlModel, QuestionRadiogroupModel, QuestionRatingModel, RenderedRatingItem, QuestionExpressionModel, QuestionTextBase, CharacterCounter, QuestionTextModel, QuestionBooleanModel, QuestionImagePickerModel, ImageItemValue, QuestionImageModel, QuestionSignaturePadModel, QuestionPanelDynamicModel, QuestionPanelDynamicItem, SurveyTimer, SurveyTimerModel, tryFocusPage, createTOCListModel, getTocRootCss, TOCModel, SurveyProgressModel, ProgressButtons, ProgressButtonsResponsivityManager, SurveyModel, SurveyTrigger, SurveyTriggerComplete, SurveyTriggerSetValue, SurveyTriggerVisible, SurveyTriggerCopyValue, SurveyTriggerRunExpression, SurveyTriggerSkip, Trigger, PopupSurveyModel, SurveyWindowModel, TextPreProcessor, Notifier, Cover, CoverCell, dxSurveyService, englishStrings, surveyLocalization, surveyStrings, QuestionCustomWidget, CustomWidgetCollection, QuestionCustomModel, QuestionCompositeModel, ComponentQuestionJSON, ComponentCollection, StylesManager, ListModel, MultiSelectListModel, PopupModel, createDialogOptions, PopupBaseViewModel, PopupDropdownViewModel, PopupModalViewModel, createPopupViewModel, createPopupModalViewModel, DropdownListModel, DropdownMultiSelectListModel, QuestionButtonGroupModel, ButtonGroupItemModel, ButtonGroupItemValue, IsMobile, IsTouch, _setIsTouch, confirmAction, confirmActionAsync, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, chooseFiles, sanitizeEditableContent, InputMaskBase, InputMaskPattern, InputMaskNumeric, InputMaskDateTime, InputMaskCurrency, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropCore, DragDropChoices, DragDropRankingSelectToRank, defaultStandardCss, modernCss, SvgIconRegistry, SvgRegistry, SvgBundleViewModel, RendererFactory, ResponsivityManager, VerticalResponsivityManager, unwrap, getOriginalEvent, getElement, createDropdownActionModel, createDropdownActionModelAdvanced, getActionDropdownButtonTarget, BaseAction, Action, ActionDropdownViewModel, AnimationUtils, AnimationPropertyUtils, AnimationGroupUtils, AnimationProperty, AnimationBoolean, AnimationGroup, AnimationTab, AdaptiveActionContainer, defaultActionBarCss, ActionContainer, DragOrClickHelper */
10083
+ /*! exports provided: Version, ReleaseDate, checkLibraryVersion, setLicenseKey, slk, hasLicense, settings, Helpers, AnswerCountValidator, EmailValidator, NumericValidator, RegexValidator, SurveyValidator, TextValidator, ValidatorResult, ExpressionValidator, ValidatorRunner, ItemValue, Base, Event, EventBase, ArrayChanges, ComputedUpdater, SurveyError, SurveyElementCore, SurveyElement, DragTypeOverMeEnum, CalculatedValue, CustomError, AnswerRequiredError, OneAnswerRequiredError, RequreNumericError, ExceedSizeError, LocalizableString, LocalizableStrings, HtmlConditionItem, UrlConditionItem, ChoicesRestful, ChoicesRestfull, FunctionFactory, registerFunction, ConditionRunner, ExpressionRunner, ExpressionExecutor, Operand, Const, BinaryOperand, Variable, FunctionOperand, ArrayOperand, UnaryOperand, ConditionsParser, ProcessValue, JsonError, JsonIncorrectTypeError, JsonMetadata, JsonMetadataClass, JsonMissingTypeError, JsonMissingTypeErrorBase, JsonObject, JsonObjectProperty, JsonRequiredPropertyError, JsonUnknownPropertyError, Serializer, property, propertyArray, MatrixDropdownCell, MatrixDropdownRowModelBase, QuestionMatrixDropdownModelBase, MatrixDropdownColumn, matrixDropdownColumnTypes, QuestionMatrixDropdownRenderedCell, QuestionMatrixDropdownRenderedRow, QuestionMatrixDropdownRenderedErrorRow, QuestionMatrixDropdownRenderedTable, MatrixDropdownRowModel, QuestionMatrixDropdownModel, MatrixDynamicRowModel, QuestionMatrixDynamicModel, MatrixRowModel, MatrixCells, QuestionMatrixModel, QuestionMatrixBaseModel, MultipleTextItemModel, MultipleTextCell, MultipleTextErrorCell, MutlipleTextErrorRow, MutlipleTextRow, QuestionMultipleTextModel, MultipleTextEditorModel, PanelModel, PanelModelBase, QuestionRowModel, FlowPanelModel, PageModel, DefaultTitleModel, Question, QuestionNonValue, QuestionEmptyModel, QuestionCheckboxBase, QuestionSelectBase, QuestionCheckboxModel, QuestionTagboxModel, QuestionRankingModel, QuestionCommentModel, QuestionDropdownModel, QuestionFactory, ElementFactory, QuestionFileModel, QuestionHtmlModel, QuestionRadiogroupModel, QuestionRatingModel, RenderedRatingItem, QuestionExpressionModel, QuestionTextBase, CharacterCounter, QuestionTextModel, QuestionBooleanModel, QuestionImagePickerModel, ImageItemValue, QuestionImageModel, QuestionSignaturePadModel, QuestionPanelDynamicModel, QuestionPanelDynamicItem, SurveyTimer, SurveyTimerModel, tryFocusPage, createTOCListModel, getTocRootCss, TOCModel, SurveyProgressModel, ProgressButtons, ProgressButtonsResponsivityManager, SurveyModel, SurveyTrigger, SurveyTriggerComplete, SurveyTriggerSetValue, SurveyTriggerVisible, SurveyTriggerCopyValue, SurveyTriggerRunExpression, SurveyTriggerSkip, Trigger, PopupSurveyModel, SurveyWindowModel, TextPreProcessor, Notifier, Cover, CoverCell, dxSurveyService, englishStrings, surveyLocalization, surveyStrings, QuestionCustomWidget, CustomWidgetCollection, QuestionCustomModel, QuestionCompositeModel, ComponentQuestionJSON, ComponentCollection, StylesManager, ListModel, MultiSelectListModel, PopupModel, createDialogOptions, PopupBaseViewModel, PopupDropdownViewModel, PopupModalViewModel, createPopupViewModel, createPopupModalViewModel, DropdownListModel, DropdownMultiSelectListModel, QuestionButtonGroupModel, ButtonGroupItemModel, ButtonGroupItemValue, IsMobile, IsTouch, _setIsTouch, confirmAction, confirmActionAsync, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, chooseFiles, sanitizeEditableContent, InputMaskBase, InputMaskPattern, InputMaskNumeric, InputMaskDateTime, InputMaskCurrency, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropCore, DragDropChoices, DragDropRankingSelectToRank, defaultStandardCss, modernCss, SvgIconRegistry, SvgRegistry, SvgBundleViewModel, RendererFactory, ResponsivityManager, VerticalResponsivityManager, unwrap, getOriginalEvent, getElement, createDropdownActionModel, createDropdownActionModelAdvanced, createPopupModelWithListModel, getActionDropdownButtonTarget, BaseAction, Action, ActionDropdownViewModel, AnimationUtils, AnimationPropertyUtils, AnimationGroupUtils, AnimationProperty, AnimationBoolean, AnimationGroup, AnimationTab, AdaptiveActionContainer, defaultActionBarCss, ActionContainer, DragOrClickHelper */
10011
10084
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
10012
10085
 
10013
10086
  "use strict";
@@ -10444,6 +10517,8 @@ __webpack_require__.r(__webpack_exports__);
10444
10517
 
10445
10518
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "createDropdownActionModelAdvanced", function() { return _actions_action__WEBPACK_IMPORTED_MODULE_7__["createDropdownActionModelAdvanced"]; });
10446
10519
 
10520
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "createPopupModelWithListModel", function() { return _actions_action__WEBPACK_IMPORTED_MODULE_7__["createPopupModelWithListModel"]; });
10521
+
10447
10522
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getActionDropdownButtonTarget", function() { return _actions_action__WEBPACK_IMPORTED_MODULE_7__["getActionDropdownButtonTarget"]; });
10448
10523
 
10449
10524
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "BaseAction", function() { return _actions_action__WEBPACK_IMPORTED_MODULE_7__["BaseAction"]; });
@@ -10502,7 +10577,7 @@ __webpack_require__.r(__webpack_exports__);
10502
10577
  /*!*****************************!*\
10503
10578
  !*** ./src/entries/core.ts ***!
10504
10579
  \*****************************/
10505
- /*! exports provided: Version, ReleaseDate, checkLibraryVersion, setLicenseKey, slk, hasLicense, settings, Helpers, AnswerCountValidator, EmailValidator, NumericValidator, RegexValidator, SurveyValidator, TextValidator, ValidatorResult, ExpressionValidator, ValidatorRunner, ItemValue, Base, Event, EventBase, ArrayChanges, ComputedUpdater, SurveyError, SurveyElementCore, SurveyElement, DragTypeOverMeEnum, CalculatedValue, CustomError, AnswerRequiredError, OneAnswerRequiredError, RequreNumericError, ExceedSizeError, LocalizableString, LocalizableStrings, HtmlConditionItem, UrlConditionItem, ChoicesRestful, ChoicesRestfull, FunctionFactory, registerFunction, ConditionRunner, ExpressionRunner, ExpressionExecutor, Operand, Const, BinaryOperand, Variable, FunctionOperand, ArrayOperand, UnaryOperand, ConditionsParser, ProcessValue, JsonError, JsonIncorrectTypeError, JsonMetadata, JsonMetadataClass, JsonMissingTypeError, JsonMissingTypeErrorBase, JsonObject, JsonObjectProperty, JsonRequiredPropertyError, JsonUnknownPropertyError, Serializer, property, propertyArray, MatrixDropdownCell, MatrixDropdownRowModelBase, QuestionMatrixDropdownModelBase, MatrixDropdownColumn, matrixDropdownColumnTypes, QuestionMatrixDropdownRenderedCell, QuestionMatrixDropdownRenderedRow, QuestionMatrixDropdownRenderedErrorRow, QuestionMatrixDropdownRenderedTable, MatrixDropdownRowModel, QuestionMatrixDropdownModel, MatrixDynamicRowModel, QuestionMatrixDynamicModel, MatrixRowModel, MatrixCells, QuestionMatrixModel, QuestionMatrixBaseModel, MultipleTextItemModel, MultipleTextCell, MultipleTextErrorCell, MutlipleTextErrorRow, MutlipleTextRow, QuestionMultipleTextModel, MultipleTextEditorModel, PanelModel, PanelModelBase, QuestionRowModel, FlowPanelModel, PageModel, DefaultTitleModel, Question, QuestionNonValue, QuestionEmptyModel, QuestionCheckboxBase, QuestionSelectBase, QuestionCheckboxModel, QuestionTagboxModel, QuestionRankingModel, QuestionCommentModel, QuestionDropdownModel, QuestionFactory, ElementFactory, QuestionFileModel, QuestionHtmlModel, QuestionRadiogroupModel, QuestionRatingModel, RenderedRatingItem, QuestionExpressionModel, QuestionTextBase, CharacterCounter, QuestionTextModel, QuestionBooleanModel, QuestionImagePickerModel, ImageItemValue, QuestionImageModel, QuestionSignaturePadModel, QuestionPanelDynamicModel, QuestionPanelDynamicItem, SurveyTimer, SurveyTimerModel, tryFocusPage, createTOCListModel, getTocRootCss, TOCModel, SurveyProgressModel, ProgressButtons, ProgressButtonsResponsivityManager, SurveyModel, SurveyTrigger, SurveyTriggerComplete, SurveyTriggerSetValue, SurveyTriggerVisible, SurveyTriggerCopyValue, SurveyTriggerRunExpression, SurveyTriggerSkip, Trigger, PopupSurveyModel, SurveyWindowModel, TextPreProcessor, Notifier, Cover, CoverCell, dxSurveyService, englishStrings, surveyLocalization, surveyStrings, QuestionCustomWidget, CustomWidgetCollection, QuestionCustomModel, QuestionCompositeModel, ComponentQuestionJSON, ComponentCollection, StylesManager, ListModel, MultiSelectListModel, PopupModel, createDialogOptions, PopupBaseViewModel, PopupDropdownViewModel, PopupModalViewModel, createPopupViewModel, createPopupModalViewModel, DropdownListModel, DropdownMultiSelectListModel, QuestionButtonGroupModel, ButtonGroupItemModel, ButtonGroupItemValue, IsMobile, IsTouch, _setIsTouch, confirmAction, confirmActionAsync, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, chooseFiles, sanitizeEditableContent, InputMaskBase, InputMaskPattern, InputMaskNumeric, InputMaskDateTime, InputMaskCurrency, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropCore, DragDropChoices, DragDropRankingSelectToRank, defaultStandardCss, modernCss, SvgIconRegistry, SvgRegistry, SvgBundleViewModel, RendererFactory, ResponsivityManager, VerticalResponsivityManager, unwrap, getOriginalEvent, getElement, createDropdownActionModel, createDropdownActionModelAdvanced, getActionDropdownButtonTarget, BaseAction, Action, ActionDropdownViewModel, AnimationUtils, AnimationPropertyUtils, AnimationGroupUtils, AnimationProperty, AnimationBoolean, AnimationGroup, AnimationTab, AdaptiveActionContainer, defaultActionBarCss, ActionContainer, DragOrClickHelper, Model */
10580
+ /*! exports provided: Version, ReleaseDate, checkLibraryVersion, setLicenseKey, slk, hasLicense, settings, Helpers, AnswerCountValidator, EmailValidator, NumericValidator, RegexValidator, SurveyValidator, TextValidator, ValidatorResult, ExpressionValidator, ValidatorRunner, ItemValue, Base, Event, EventBase, ArrayChanges, ComputedUpdater, SurveyError, SurveyElementCore, SurveyElement, DragTypeOverMeEnum, CalculatedValue, CustomError, AnswerRequiredError, OneAnswerRequiredError, RequreNumericError, ExceedSizeError, LocalizableString, LocalizableStrings, HtmlConditionItem, UrlConditionItem, ChoicesRestful, ChoicesRestfull, FunctionFactory, registerFunction, ConditionRunner, ExpressionRunner, ExpressionExecutor, Operand, Const, BinaryOperand, Variable, FunctionOperand, ArrayOperand, UnaryOperand, ConditionsParser, ProcessValue, JsonError, JsonIncorrectTypeError, JsonMetadata, JsonMetadataClass, JsonMissingTypeError, JsonMissingTypeErrorBase, JsonObject, JsonObjectProperty, JsonRequiredPropertyError, JsonUnknownPropertyError, Serializer, property, propertyArray, MatrixDropdownCell, MatrixDropdownRowModelBase, QuestionMatrixDropdownModelBase, MatrixDropdownColumn, matrixDropdownColumnTypes, QuestionMatrixDropdownRenderedCell, QuestionMatrixDropdownRenderedRow, QuestionMatrixDropdownRenderedErrorRow, QuestionMatrixDropdownRenderedTable, MatrixDropdownRowModel, QuestionMatrixDropdownModel, MatrixDynamicRowModel, QuestionMatrixDynamicModel, MatrixRowModel, MatrixCells, QuestionMatrixModel, QuestionMatrixBaseModel, MultipleTextItemModel, MultipleTextCell, MultipleTextErrorCell, MutlipleTextErrorRow, MutlipleTextRow, QuestionMultipleTextModel, MultipleTextEditorModel, PanelModel, PanelModelBase, QuestionRowModel, FlowPanelModel, PageModel, DefaultTitleModel, Question, QuestionNonValue, QuestionEmptyModel, QuestionCheckboxBase, QuestionSelectBase, QuestionCheckboxModel, QuestionTagboxModel, QuestionRankingModel, QuestionCommentModel, QuestionDropdownModel, QuestionFactory, ElementFactory, QuestionFileModel, QuestionHtmlModel, QuestionRadiogroupModel, QuestionRatingModel, RenderedRatingItem, QuestionExpressionModel, QuestionTextBase, CharacterCounter, QuestionTextModel, QuestionBooleanModel, QuestionImagePickerModel, ImageItemValue, QuestionImageModel, QuestionSignaturePadModel, QuestionPanelDynamicModel, QuestionPanelDynamicItem, SurveyTimer, SurveyTimerModel, tryFocusPage, createTOCListModel, getTocRootCss, TOCModel, SurveyProgressModel, ProgressButtons, ProgressButtonsResponsivityManager, SurveyModel, SurveyTrigger, SurveyTriggerComplete, SurveyTriggerSetValue, SurveyTriggerVisible, SurveyTriggerCopyValue, SurveyTriggerRunExpression, SurveyTriggerSkip, Trigger, PopupSurveyModel, SurveyWindowModel, TextPreProcessor, Notifier, Cover, CoverCell, dxSurveyService, englishStrings, surveyLocalization, surveyStrings, QuestionCustomWidget, CustomWidgetCollection, QuestionCustomModel, QuestionCompositeModel, ComponentQuestionJSON, ComponentCollection, StylesManager, ListModel, MultiSelectListModel, PopupModel, createDialogOptions, PopupBaseViewModel, PopupDropdownViewModel, PopupModalViewModel, createPopupViewModel, createPopupModalViewModel, DropdownListModel, DropdownMultiSelectListModel, QuestionButtonGroupModel, ButtonGroupItemModel, ButtonGroupItemValue, IsMobile, IsTouch, _setIsTouch, confirmAction, confirmActionAsync, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, chooseFiles, sanitizeEditableContent, InputMaskBase, InputMaskPattern, InputMaskNumeric, InputMaskDateTime, InputMaskCurrency, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropCore, DragDropChoices, DragDropRankingSelectToRank, defaultStandardCss, modernCss, SvgIconRegistry, SvgRegistry, SvgBundleViewModel, RendererFactory, ResponsivityManager, VerticalResponsivityManager, unwrap, getOriginalEvent, getElement, createDropdownActionModel, createDropdownActionModelAdvanced, createPopupModelWithListModel, getActionDropdownButtonTarget, BaseAction, Action, ActionDropdownViewModel, AnimationUtils, AnimationPropertyUtils, AnimationGroupUtils, AnimationProperty, AnimationBoolean, AnimationGroup, AnimationTab, AdaptiveActionContainer, defaultActionBarCss, ActionContainer, DragOrClickHelper, Model */
10506
10581
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
10507
10582
 
10508
10583
  "use strict";
@@ -10932,6 +11007,8 @@ __webpack_require__.r(__webpack_exports__);
10932
11007
 
10933
11008
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "createDropdownActionModelAdvanced", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__["createDropdownActionModelAdvanced"]; });
10934
11009
 
11010
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "createPopupModelWithListModel", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__["createPopupModelWithListModel"]; });
11011
+
10935
11012
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getActionDropdownButtonTarget", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__["getActionDropdownButtonTarget"]; });
10936
11013
 
10937
11014
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "BaseAction", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__["BaseAction"]; });
@@ -11013,7 +11090,7 @@ var defaultBootstrapMaterialCss = _plugins_themes_bootstrapmaterial_cssbootstrap
11013
11090
  /*!***************************************!*\
11014
11091
  !*** ./src/entries/react-ui-model.ts ***!
11015
11092
  \***************************************/
11016
- /*! 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 */
11093
+ /*! 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 */
11017
11094
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
11018
11095
 
11019
11096
  "use strict";
@@ -11073,6 +11150,8 @@ __webpack_require__.r(__webpack_exports__);
11073
11150
 
11074
11151
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyQuestionRankingItem", function() { return _react_reactquestion_ranking__WEBPACK_IMPORTED_MODULE_12__["SurveyQuestionRankingItem"]; });
11075
11152
 
11153
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyQuestionRankingItemContent", function() { return _react_reactquestion_ranking__WEBPACK_IMPORTED_MODULE_12__["SurveyQuestionRankingItemContent"]; });
11154
+
11076
11155
  /* 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");
11077
11156
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "RatingItem", function() { return _react_components_rating_rating_item__WEBPACK_IMPORTED_MODULE_13__["RatingItem"]; });
11078
11157
 
@@ -11213,90 +11292,96 @@ __webpack_require__.r(__webpack_exports__);
11213
11292
  /* harmony import */ var _react_components_popup_popup__WEBPACK_IMPORTED_MODULE_54__ = __webpack_require__(/*! ../react/components/popup/popup */ "./src/react/components/popup/popup.tsx");
11214
11293
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Popup", function() { return _react_components_popup_popup__WEBPACK_IMPORTED_MODULE_54__["Popup"]; });
11215
11294
 
11216
- /* harmony import */ var _react_components_list_list__WEBPACK_IMPORTED_MODULE_55__ = __webpack_require__(/*! ../react/components/list/list */ "./src/react/components/list/list.tsx");
11217
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "List", function() { return _react_components_list_list__WEBPACK_IMPORTED_MODULE_55__["List"]; });
11295
+ /* 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");
11296
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ListItemContent", function() { return _react_components_list_list_item_content__WEBPACK_IMPORTED_MODULE_55__["ListItemContent"]; });
11218
11297
 
11219
- /* 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");
11220
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "TitleActions", function() { return _react_components_title_title_actions__WEBPACK_IMPORTED_MODULE_56__["TitleActions"]; });
11298
+ /* 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");
11299
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ListItemGroup", function() { return _react_components_list_list_item_group__WEBPACK_IMPORTED_MODULE_56__["ListItemGroup"]; });
11221
11300
 
11222
- /* 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");
11223
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "TitleElement", function() { return _react_components_title_title_element__WEBPACK_IMPORTED_MODULE_57__["TitleElement"]; });
11301
+ /* harmony import */ var _react_components_list_list__WEBPACK_IMPORTED_MODULE_57__ = __webpack_require__(/*! ../react/components/list/list */ "./src/react/components/list/list.tsx");
11302
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "List", function() { return _react_components_list_list__WEBPACK_IMPORTED_MODULE_57__["List"]; });
11224
11303
 
11225
- /* 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");
11226
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyActionBar", function() { return _react_components_action_bar_action_bar__WEBPACK_IMPORTED_MODULE_58__["SurveyActionBar"]; });
11304
+ /* 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");
11305
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "TitleActions", function() { return _react_components_title_title_actions__WEBPACK_IMPORTED_MODULE_58__["TitleActions"]; });
11227
11306
 
11228
- /* 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");
11229
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "LogoImage", function() { return _react_components_survey_header_logo_image__WEBPACK_IMPORTED_MODULE_59__["LogoImage"]; });
11307
+ /* 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");
11308
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "TitleElement", function() { return _react_components_title_title_element__WEBPACK_IMPORTED_MODULE_59__["TitleElement"]; });
11230
11309
 
11231
- /* 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");
11232
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyHeader", function() { return _react_components_survey_header_survey_header__WEBPACK_IMPORTED_MODULE_60__["SurveyHeader"]; });
11310
+ /* 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");
11311
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyActionBar", function() { return _react_components_action_bar_action_bar__WEBPACK_IMPORTED_MODULE_60__["SurveyActionBar"]; });
11233
11312
 
11234
- /* 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");
11235
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SvgIcon", function() { return _react_components_svg_icon_svg_icon__WEBPACK_IMPORTED_MODULE_61__["SvgIcon"]; });
11313
+ /* 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");
11314
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "LogoImage", function() { return _react_components_survey_header_logo_image__WEBPACK_IMPORTED_MODULE_61__["LogoImage"]; });
11236
11315
 
11237
- /* 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");
11238
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyQuestionMatrixDynamicRemoveButton", function() { return _react_components_matrix_actions_remove_button_remove_button__WEBPACK_IMPORTED_MODULE_62__["SurveyQuestionMatrixDynamicRemoveButton"]; });
11316
+ /* 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");
11317
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyHeader", function() { return _react_components_survey_header_survey_header__WEBPACK_IMPORTED_MODULE_62__["SurveyHeader"]; });
11239
11318
 
11240
- /* 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");
11241
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyQuestionMatrixDetailButton", function() { return _react_components_matrix_actions_detail_button_detail_button__WEBPACK_IMPORTED_MODULE_63__["SurveyQuestionMatrixDetailButton"]; });
11319
+ /* 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");
11320
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SvgIcon", function() { return _react_components_svg_icon_svg_icon__WEBPACK_IMPORTED_MODULE_63__["SvgIcon"]; });
11242
11321
 
11243
- /* 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");
11244
- /* 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"]; });
11322
+ /* 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");
11323
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyQuestionMatrixDynamicRemoveButton", function() { return _react_components_matrix_actions_remove_button_remove_button__WEBPACK_IMPORTED_MODULE_64__["SurveyQuestionMatrixDynamicRemoveButton"]; });
11245
11324
 
11246
- /* 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");
11247
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyQuestionPanelDynamicAddButton", function() { return _react_components_paneldynamic_actions_paneldynamic_add_btn__WEBPACK_IMPORTED_MODULE_65__["SurveyQuestionPanelDynamicAddButton"]; });
11325
+ /* 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");
11326
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyQuestionMatrixDetailButton", function() { return _react_components_matrix_actions_detail_button_detail_button__WEBPACK_IMPORTED_MODULE_65__["SurveyQuestionMatrixDetailButton"]; });
11248
11327
 
11249
- /* 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");
11250
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyQuestionPanelDynamicRemoveButton", function() { return _react_components_paneldynamic_actions_paneldynamic_remove_btn__WEBPACK_IMPORTED_MODULE_66__["SurveyQuestionPanelDynamicRemoveButton"]; });
11328
+ /* 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");
11329
+ /* 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"]; });
11251
11330
 
11252
- /* 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");
11253
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyQuestionPanelDynamicPrevButton", function() { return _react_components_paneldynamic_actions_paneldynamic_prev_btn__WEBPACK_IMPORTED_MODULE_67__["SurveyQuestionPanelDynamicPrevButton"]; });
11331
+ /* 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");
11332
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyQuestionPanelDynamicAddButton", function() { return _react_components_paneldynamic_actions_paneldynamic_add_btn__WEBPACK_IMPORTED_MODULE_67__["SurveyQuestionPanelDynamicAddButton"]; });
11254
11333
 
11255
- /* 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");
11256
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyQuestionPanelDynamicNextButton", function() { return _react_components_paneldynamic_actions_paneldynamic_next_btn__WEBPACK_IMPORTED_MODULE_68__["SurveyQuestionPanelDynamicNextButton"]; });
11334
+ /* 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");
11335
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyQuestionPanelDynamicRemoveButton", function() { return _react_components_paneldynamic_actions_paneldynamic_remove_btn__WEBPACK_IMPORTED_MODULE_68__["SurveyQuestionPanelDynamicRemoveButton"]; });
11257
11336
 
11258
- /* 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");
11259
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyQuestionPanelDynamicProgressText", function() { return _react_components_paneldynamic_actions_paneldynamic_progress_text__WEBPACK_IMPORTED_MODULE_69__["SurveyQuestionPanelDynamicProgressText"]; });
11337
+ /* 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");
11338
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyQuestionPanelDynamicPrevButton", function() { return _react_components_paneldynamic_actions_paneldynamic_prev_btn__WEBPACK_IMPORTED_MODULE_69__["SurveyQuestionPanelDynamicPrevButton"]; });
11260
11339
 
11261
- /* 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");
11262
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyNavigationButton", function() { return _react_components_survey_actions_survey_nav_button__WEBPACK_IMPORTED_MODULE_70__["SurveyNavigationButton"]; });
11340
+ /* 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");
11341
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyQuestionPanelDynamicNextButton", function() { return _react_components_paneldynamic_actions_paneldynamic_next_btn__WEBPACK_IMPORTED_MODULE_70__["SurveyQuestionPanelDynamicNextButton"]; });
11263
11342
 
11264
- /* harmony import */ var _react_components_question_error__WEBPACK_IMPORTED_MODULE_71__ = __webpack_require__(/*! ../react/components/question-error */ "./src/react/components/question-error.tsx");
11265
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "QuestionErrorComponent", function() { return _react_components_question_error__WEBPACK_IMPORTED_MODULE_71__["QuestionErrorComponent"]; });
11343
+ /* 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");
11344
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyQuestionPanelDynamicProgressText", function() { return _react_components_paneldynamic_actions_paneldynamic_progress_text__WEBPACK_IMPORTED_MODULE_71__["SurveyQuestionPanelDynamicProgressText"]; });
11266
11345
 
11267
- /* harmony import */ var _react_components_matrix_row__WEBPACK_IMPORTED_MODULE_72__ = __webpack_require__(/*! ../react/components/matrix/row */ "./src/react/components/matrix/row.tsx");
11268
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MatrixRow", function() { return _react_components_matrix_row__WEBPACK_IMPORTED_MODULE_72__["MatrixRow"]; });
11346
+ /* 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");
11347
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyNavigationButton", function() { return _react_components_survey_actions_survey_nav_button__WEBPACK_IMPORTED_MODULE_72__["SurveyNavigationButton"]; });
11269
11348
 
11270
- /* harmony import */ var _react_components_skeleton__WEBPACK_IMPORTED_MODULE_73__ = __webpack_require__(/*! ../react/components/skeleton */ "./src/react/components/skeleton.tsx");
11271
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Skeleton", function() { return _react_components_skeleton__WEBPACK_IMPORTED_MODULE_73__["Skeleton"]; });
11349
+ /* harmony import */ var _react_components_question_error__WEBPACK_IMPORTED_MODULE_73__ = __webpack_require__(/*! ../react/components/question-error */ "./src/react/components/question-error.tsx");
11350
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "QuestionErrorComponent", function() { return _react_components_question_error__WEBPACK_IMPORTED_MODULE_73__["QuestionErrorComponent"]; });
11272
11351
 
11273
- /* harmony import */ var _react_components_notifier__WEBPACK_IMPORTED_MODULE_74__ = __webpack_require__(/*! ../react/components/notifier */ "./src/react/components/notifier.tsx");
11274
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "NotifierComponent", function() { return _react_components_notifier__WEBPACK_IMPORTED_MODULE_74__["NotifierComponent"]; });
11352
+ /* harmony import */ var _react_components_matrix_row__WEBPACK_IMPORTED_MODULE_74__ = __webpack_require__(/*! ../react/components/matrix/row */ "./src/react/components/matrix/row.tsx");
11353
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MatrixRow", function() { return _react_components_matrix_row__WEBPACK_IMPORTED_MODULE_74__["MatrixRow"]; });
11275
11354
 
11276
- /* harmony import */ var _react_components_components_container__WEBPACK_IMPORTED_MODULE_75__ = __webpack_require__(/*! ../react/components/components-container */ "./src/react/components/components-container.tsx");
11277
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ComponentsContainer", function() { return _react_components_components_container__WEBPACK_IMPORTED_MODULE_75__["ComponentsContainer"]; });
11355
+ /* harmony import */ var _react_components_skeleton__WEBPACK_IMPORTED_MODULE_75__ = __webpack_require__(/*! ../react/components/skeleton */ "./src/react/components/skeleton.tsx");
11356
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Skeleton", function() { return _react_components_skeleton__WEBPACK_IMPORTED_MODULE_75__["Skeleton"]; });
11278
11357
 
11279
- /* harmony import */ var _react_components_character_counter__WEBPACK_IMPORTED_MODULE_76__ = __webpack_require__(/*! ../react/components/character-counter */ "./src/react/components/character-counter.tsx");
11280
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "CharacterCounterComponent", function() { return _react_components_character_counter__WEBPACK_IMPORTED_MODULE_76__["CharacterCounterComponent"]; });
11358
+ /* harmony import */ var _react_components_notifier__WEBPACK_IMPORTED_MODULE_76__ = __webpack_require__(/*! ../react/components/notifier */ "./src/react/components/notifier.tsx");
11359
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "NotifierComponent", function() { return _react_components_notifier__WEBPACK_IMPORTED_MODULE_76__["NotifierComponent"]; });
11281
11360
 
11282
- /* harmony import */ var _react_components_header__WEBPACK_IMPORTED_MODULE_77__ = __webpack_require__(/*! ../react/components/header */ "./src/react/components/header.tsx");
11283
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "HeaderMobile", function() { return _react_components_header__WEBPACK_IMPORTED_MODULE_77__["HeaderMobile"]; });
11361
+ /* harmony import */ var _react_components_components_container__WEBPACK_IMPORTED_MODULE_77__ = __webpack_require__(/*! ../react/components/components-container */ "./src/react/components/components-container.tsx");
11362
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ComponentsContainer", function() { return _react_components_components_container__WEBPACK_IMPORTED_MODULE_77__["ComponentsContainer"]; });
11284
11363
 
11285
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "HeaderCell", function() { return _react_components_header__WEBPACK_IMPORTED_MODULE_77__["HeaderCell"]; });
11364
+ /* harmony import */ var _react_components_character_counter__WEBPACK_IMPORTED_MODULE_78__ = __webpack_require__(/*! ../react/components/character-counter */ "./src/react/components/character-counter.tsx");
11365
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "CharacterCounterComponent", function() { return _react_components_character_counter__WEBPACK_IMPORTED_MODULE_78__["CharacterCounterComponent"]; });
11286
11366
 
11287
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Header", function() { return _react_components_header__WEBPACK_IMPORTED_MODULE_77__["Header"]; });
11367
+ /* harmony import */ var _react_components_header__WEBPACK_IMPORTED_MODULE_79__ = __webpack_require__(/*! ../react/components/header */ "./src/react/components/header.tsx");
11368
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "HeaderMobile", function() { return _react_components_header__WEBPACK_IMPORTED_MODULE_79__["HeaderMobile"]; });
11288
11369
 
11289
- /* harmony import */ var _react_string_viewer__WEBPACK_IMPORTED_MODULE_78__ = __webpack_require__(/*! ../react/string-viewer */ "./src/react/string-viewer.tsx");
11290
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyLocStringViewer", function() { return _react_string_viewer__WEBPACK_IMPORTED_MODULE_78__["SurveyLocStringViewer"]; });
11370
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "HeaderCell", function() { return _react_components_header__WEBPACK_IMPORTED_MODULE_79__["HeaderCell"]; });
11291
11371
 
11292
- /* harmony import */ var _react_string_editor__WEBPACK_IMPORTED_MODULE_79__ = __webpack_require__(/*! ../react/string-editor */ "./src/react/string-editor.tsx");
11293
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyLocStringEditor", function() { return _react_string_editor__WEBPACK_IMPORTED_MODULE_79__["SurveyLocStringEditor"]; });
11372
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Header", function() { return _react_components_header__WEBPACK_IMPORTED_MODULE_79__["Header"]; });
11294
11373
 
11295
- /* harmony import */ var _react_components_loading_indicator__WEBPACK_IMPORTED_MODULE_80__ = __webpack_require__(/*! ../react/components/loading-indicator */ "./src/react/components/loading-indicator.tsx");
11296
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "LoadingIndicatorComponent", function() { return _react_components_loading_indicator__WEBPACK_IMPORTED_MODULE_80__["LoadingIndicatorComponent"]; });
11374
+ /* harmony import */ var _react_string_viewer__WEBPACK_IMPORTED_MODULE_80__ = __webpack_require__(/*! ../react/string-viewer */ "./src/react/string-viewer.tsx");
11375
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyLocStringViewer", function() { return _react_string_viewer__WEBPACK_IMPORTED_MODULE_80__["SurveyLocStringViewer"]; });
11297
11376
 
11298
- /* harmony import */ var _react_svgbundle__WEBPACK_IMPORTED_MODULE_81__ = __webpack_require__(/*! ../react/svgbundle */ "./src/react/svgbundle.tsx");
11299
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SvgBundleComponent", function() { return _react_svgbundle__WEBPACK_IMPORTED_MODULE_81__["SvgBundleComponent"]; });
11377
+ /* harmony import */ var _react_string_editor__WEBPACK_IMPORTED_MODULE_81__ = __webpack_require__(/*! ../react/string-editor */ "./src/react/string-editor.tsx");
11378
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyLocStringEditor", function() { return _react_string_editor__WEBPACK_IMPORTED_MODULE_81__["SurveyLocStringEditor"]; });
11379
+
11380
+ /* harmony import */ var _react_components_loading_indicator__WEBPACK_IMPORTED_MODULE_82__ = __webpack_require__(/*! ../react/components/loading-indicator */ "./src/react/components/loading-indicator.tsx");
11381
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "LoadingIndicatorComponent", function() { return _react_components_loading_indicator__WEBPACK_IMPORTED_MODULE_82__["LoadingIndicatorComponent"]; });
11382
+
11383
+ /* harmony import */ var _react_svgbundle__WEBPACK_IMPORTED_MODULE_83__ = __webpack_require__(/*! ../react/svgbundle */ "./src/react/svgbundle.tsx");
11384
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SvgBundleComponent", function() { return _react_svgbundle__WEBPACK_IMPORTED_MODULE_83__["SvgBundleComponent"]; });
11300
11385
 
11301
11386
  // react
11302
11387
 
@@ -11378,6 +11463,8 @@ __webpack_require__.r(__webpack_exports__);
11378
11463
 
11379
11464
 
11380
11465
 
11466
+
11467
+
11381
11468
 
11382
11469
 
11383
11470
 
@@ -11391,7 +11478,7 @@ __webpack_require__.r(__webpack_exports__);
11391
11478
  /*!******************************!*\
11392
11479
  !*** ./src/entries/react.ts ***!
11393
11480
  \******************************/
11394
- /*! exports provided: Version, ReleaseDate, checkLibraryVersion, setLicenseKey, slk, hasLicense, settings, Helpers, AnswerCountValidator, EmailValidator, NumericValidator, RegexValidator, SurveyValidator, TextValidator, ValidatorResult, ExpressionValidator, ValidatorRunner, ItemValue, Base, Event, EventBase, ArrayChanges, ComputedUpdater, SurveyError, SurveyElementCore, SurveyElement, DragTypeOverMeEnum, CalculatedValue, CustomError, AnswerRequiredError, OneAnswerRequiredError, RequreNumericError, ExceedSizeError, LocalizableString, LocalizableStrings, HtmlConditionItem, UrlConditionItem, ChoicesRestful, ChoicesRestfull, FunctionFactory, registerFunction, ConditionRunner, ExpressionRunner, ExpressionExecutor, Operand, Const, BinaryOperand, Variable, FunctionOperand, ArrayOperand, UnaryOperand, ConditionsParser, ProcessValue, JsonError, JsonIncorrectTypeError, JsonMetadata, JsonMetadataClass, JsonMissingTypeError, JsonMissingTypeErrorBase, JsonObject, JsonObjectProperty, JsonRequiredPropertyError, JsonUnknownPropertyError, Serializer, property, propertyArray, MatrixDropdownCell, MatrixDropdownRowModelBase, QuestionMatrixDropdownModelBase, MatrixDropdownColumn, matrixDropdownColumnTypes, QuestionMatrixDropdownRenderedCell, QuestionMatrixDropdownRenderedRow, QuestionMatrixDropdownRenderedErrorRow, QuestionMatrixDropdownRenderedTable, MatrixDropdownRowModel, QuestionMatrixDropdownModel, MatrixDynamicRowModel, QuestionMatrixDynamicModel, MatrixRowModel, MatrixCells, QuestionMatrixModel, QuestionMatrixBaseModel, MultipleTextItemModel, MultipleTextCell, MultipleTextErrorCell, MutlipleTextErrorRow, MutlipleTextRow, QuestionMultipleTextModel, MultipleTextEditorModel, PanelModel, PanelModelBase, QuestionRowModel, FlowPanelModel, PageModel, DefaultTitleModel, Question, QuestionNonValue, QuestionEmptyModel, QuestionCheckboxBase, QuestionSelectBase, QuestionCheckboxModel, QuestionTagboxModel, QuestionRankingModel, QuestionCommentModel, QuestionDropdownModel, QuestionFactory, ElementFactory, QuestionFileModel, QuestionHtmlModel, QuestionRadiogroupModel, QuestionRatingModel, RenderedRatingItem, QuestionExpressionModel, QuestionTextBase, CharacterCounter, QuestionTextModel, QuestionBooleanModel, QuestionImagePickerModel, ImageItemValue, QuestionImageModel, QuestionSignaturePadModel, QuestionPanelDynamicModel, QuestionPanelDynamicItem, SurveyTimer, SurveyTimerModel, tryFocusPage, createTOCListModel, getTocRootCss, TOCModel, SurveyProgressModel, ProgressButtons, ProgressButtonsResponsivityManager, SurveyModel, SurveyTrigger, SurveyTriggerComplete, SurveyTriggerSetValue, SurveyTriggerVisible, SurveyTriggerCopyValue, SurveyTriggerRunExpression, SurveyTriggerSkip, Trigger, PopupSurveyModel, SurveyWindowModel, TextPreProcessor, Notifier, Cover, CoverCell, dxSurveyService, englishStrings, surveyLocalization, surveyStrings, QuestionCustomWidget, CustomWidgetCollection, QuestionCustomModel, QuestionCompositeModel, ComponentQuestionJSON, ComponentCollection, StylesManager, ListModel, MultiSelectListModel, PopupModel, createDialogOptions, PopupBaseViewModel, PopupDropdownViewModel, PopupModalViewModel, createPopupViewModel, createPopupModalViewModel, DropdownListModel, DropdownMultiSelectListModel, QuestionButtonGroupModel, ButtonGroupItemModel, ButtonGroupItemValue, IsMobile, IsTouch, _setIsTouch, confirmAction, confirmActionAsync, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, chooseFiles, sanitizeEditableContent, InputMaskBase, InputMaskPattern, InputMaskNumeric, InputMaskDateTime, InputMaskCurrency, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropCore, DragDropChoices, DragDropRankingSelectToRank, defaultStandardCss, modernCss, SvgIconRegistry, SvgRegistry, SvgBundleViewModel, RendererFactory, ResponsivityManager, VerticalResponsivityManager, unwrap, getOriginalEvent, getElement, createDropdownActionModel, createDropdownActionModelAdvanced, getActionDropdownButtonTarget, BaseAction, Action, ActionDropdownViewModel, AnimationUtils, AnimationPropertyUtils, AnimationGroupUtils, AnimationProperty, AnimationBoolean, AnimationGroup, AnimationTab, AdaptiveActionContainer, defaultActionBarCss, ActionContainer, DragOrClickHelper, Model, bootstrapThemeName, bootstrapThemeColors, bootstrapThemeCssRules, bootstrapMaterialThemeName, bootstrapMaterialThemeColors, bootstrapMaterialThemeCssRules, defaultBootstrapCss, defaultBootstrapMaterialCss, 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 */
11481
+ /*! exports provided: Version, ReleaseDate, checkLibraryVersion, setLicenseKey, slk, hasLicense, settings, Helpers, AnswerCountValidator, EmailValidator, NumericValidator, RegexValidator, SurveyValidator, TextValidator, ValidatorResult, ExpressionValidator, ValidatorRunner, ItemValue, Base, Event, EventBase, ArrayChanges, ComputedUpdater, SurveyError, SurveyElementCore, SurveyElement, DragTypeOverMeEnum, CalculatedValue, CustomError, AnswerRequiredError, OneAnswerRequiredError, RequreNumericError, ExceedSizeError, LocalizableString, LocalizableStrings, HtmlConditionItem, UrlConditionItem, ChoicesRestful, ChoicesRestfull, FunctionFactory, registerFunction, ConditionRunner, ExpressionRunner, ExpressionExecutor, Operand, Const, BinaryOperand, Variable, FunctionOperand, ArrayOperand, UnaryOperand, ConditionsParser, ProcessValue, JsonError, JsonIncorrectTypeError, JsonMetadata, JsonMetadataClass, JsonMissingTypeError, JsonMissingTypeErrorBase, JsonObject, JsonObjectProperty, JsonRequiredPropertyError, JsonUnknownPropertyError, Serializer, property, propertyArray, MatrixDropdownCell, MatrixDropdownRowModelBase, QuestionMatrixDropdownModelBase, MatrixDropdownColumn, matrixDropdownColumnTypes, QuestionMatrixDropdownRenderedCell, QuestionMatrixDropdownRenderedRow, QuestionMatrixDropdownRenderedErrorRow, QuestionMatrixDropdownRenderedTable, MatrixDropdownRowModel, QuestionMatrixDropdownModel, MatrixDynamicRowModel, QuestionMatrixDynamicModel, MatrixRowModel, MatrixCells, QuestionMatrixModel, QuestionMatrixBaseModel, MultipleTextItemModel, MultipleTextCell, MultipleTextErrorCell, MutlipleTextErrorRow, MutlipleTextRow, QuestionMultipleTextModel, MultipleTextEditorModel, PanelModel, PanelModelBase, QuestionRowModel, FlowPanelModel, PageModel, DefaultTitleModel, Question, QuestionNonValue, QuestionEmptyModel, QuestionCheckboxBase, QuestionSelectBase, QuestionCheckboxModel, QuestionTagboxModel, QuestionRankingModel, QuestionCommentModel, QuestionDropdownModel, QuestionFactory, ElementFactory, QuestionFileModel, QuestionHtmlModel, QuestionRadiogroupModel, QuestionRatingModel, RenderedRatingItem, QuestionExpressionModel, QuestionTextBase, CharacterCounter, QuestionTextModel, QuestionBooleanModel, QuestionImagePickerModel, ImageItemValue, QuestionImageModel, QuestionSignaturePadModel, QuestionPanelDynamicModel, QuestionPanelDynamicItem, SurveyTimer, SurveyTimerModel, tryFocusPage, createTOCListModel, getTocRootCss, TOCModel, SurveyProgressModel, ProgressButtons, ProgressButtonsResponsivityManager, SurveyModel, SurveyTrigger, SurveyTriggerComplete, SurveyTriggerSetValue, SurveyTriggerVisible, SurveyTriggerCopyValue, SurveyTriggerRunExpression, SurveyTriggerSkip, Trigger, PopupSurveyModel, SurveyWindowModel, TextPreProcessor, Notifier, Cover, CoverCell, dxSurveyService, englishStrings, surveyLocalization, surveyStrings, QuestionCustomWidget, CustomWidgetCollection, QuestionCustomModel, QuestionCompositeModel, ComponentQuestionJSON, ComponentCollection, StylesManager, ListModel, MultiSelectListModel, PopupModel, createDialogOptions, PopupBaseViewModel, PopupDropdownViewModel, PopupModalViewModel, createPopupViewModel, createPopupModalViewModel, DropdownListModel, DropdownMultiSelectListModel, QuestionButtonGroupModel, ButtonGroupItemModel, ButtonGroupItemValue, IsMobile, IsTouch, _setIsTouch, confirmAction, confirmActionAsync, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, chooseFiles, sanitizeEditableContent, InputMaskBase, InputMaskPattern, InputMaskNumeric, InputMaskDateTime, InputMaskCurrency, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropCore, DragDropChoices, DragDropRankingSelectToRank, defaultStandardCss, modernCss, SvgIconRegistry, SvgRegistry, SvgBundleViewModel, RendererFactory, ResponsivityManager, VerticalResponsivityManager, unwrap, getOriginalEvent, getElement, createDropdownActionModel, createDropdownActionModelAdvanced, createPopupModelWithListModel, getActionDropdownButtonTarget, BaseAction, Action, ActionDropdownViewModel, AnimationUtils, AnimationPropertyUtils, AnimationGroupUtils, AnimationProperty, AnimationBoolean, AnimationGroup, AnimationTab, AdaptiveActionContainer, defaultActionBarCss, ActionContainer, DragOrClickHelper, Model, bootstrapThemeName, bootstrapThemeColors, bootstrapThemeCssRules, bootstrapMaterialThemeName, bootstrapMaterialThemeColors, bootstrapMaterialThemeCssRules, defaultBootstrapCss, defaultBootstrapMaterialCss, 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 */
11395
11482
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
11396
11483
 
11397
11484
  "use strict";
@@ -11821,6 +11908,8 @@ __webpack_require__.r(__webpack_exports__);
11821
11908
 
11822
11909
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "createDropdownActionModelAdvanced", function() { return _core__WEBPACK_IMPORTED_MODULE_0__["createDropdownActionModelAdvanced"]; });
11823
11910
 
11911
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "createPopupModelWithListModel", function() { return _core__WEBPACK_IMPORTED_MODULE_0__["createPopupModelWithListModel"]; });
11912
+
11824
11913
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getActionDropdownButtonTarget", function() { return _core__WEBPACK_IMPORTED_MODULE_0__["getActionDropdownButtonTarget"]; });
11825
11914
 
11826
11915
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "BaseAction", function() { return _core__WEBPACK_IMPORTED_MODULE_0__["BaseAction"]; });
@@ -11914,6 +12003,8 @@ __webpack_require__.r(__webpack_exports__);
11914
12003
 
11915
12004
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyQuestionRankingItem", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__["SurveyQuestionRankingItem"]; });
11916
12005
 
12006
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyQuestionRankingItemContent", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__["SurveyQuestionRankingItemContent"]; });
12007
+
11917
12008
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "RatingItem", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__["RatingItem"]; });
11918
12009
 
11919
12010
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "RatingItemStar", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__["RatingItemStar"]; });
@@ -12012,6 +12103,10 @@ __webpack_require__.r(__webpack_exports__);
12012
12103
 
12013
12104
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Popup", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__["Popup"]; });
12014
12105
 
12106
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ListItemContent", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__["ListItemContent"]; });
12107
+
12108
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ListItemGroup", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__["ListItemGroup"]; });
12109
+
12015
12110
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "List", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__["List"]; });
12016
12111
 
12017
12112
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "TitleActions", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__["TitleActions"]; });
@@ -16040,7 +16135,7 @@ var FunctionOperand = /** @class */ (function (_super) {
16040
16135
  return this.evaluateCore(processValue);
16041
16136
  };
16042
16137
  FunctionOperand.prototype.evaluateCore = function (processValue) {
16043
- return _functionsfactory__WEBPACK_IMPORTED_MODULE_1__["FunctionFactory"].Instance.run(this.originalValue, this.parameters.evaluate(processValue), processValue.properties);
16138
+ return _functionsfactory__WEBPACK_IMPORTED_MODULE_1__["FunctionFactory"].Instance.run(this.originalValue, this.parameters.evaluate(processValue), processValue.properties, this.parameters.values);
16044
16139
  };
16045
16140
  FunctionOperand.prototype.toString = function (func) {
16046
16141
  if (func === void 0) { func = undefined; }
@@ -16572,7 +16667,7 @@ var FunctionFactory = /** @class */ (function () {
16572
16667
  }
16573
16668
  return result.sort();
16574
16669
  };
16575
- FunctionFactory.prototype.run = function (name, params, properties) {
16670
+ FunctionFactory.prototype.run = function (name, params, properties, originalParams) {
16576
16671
  if (properties === void 0) { properties = null; }
16577
16672
  var func = this.functionHash[name];
16578
16673
  if (!func) {
@@ -16587,7 +16682,7 @@ var FunctionFactory = /** @class */ (function () {
16587
16682
  classRunner[key] = properties[key];
16588
16683
  }
16589
16684
  }
16590
- return classRunner.func(params);
16685
+ return classRunner.func(params, originalParams);
16591
16686
  };
16592
16687
  FunctionFactory.Instance = new FunctionFactory();
16593
16688
  return FunctionFactory;
@@ -16659,7 +16754,7 @@ function avg(params) {
16659
16754
  return arr.length > 0 ? res / arr.length : 0;
16660
16755
  }
16661
16756
  FunctionFactory.Instance.register("avg", avg);
16662
- function getInArrayParams(params) {
16757
+ function getInArrayParams(params, originalParams) {
16663
16758
  if (params.length < 2 || params.length > 3)
16664
16759
  return null;
16665
16760
  var arr = params[0];
@@ -16670,10 +16765,16 @@ function getInArrayParams(params) {
16670
16765
  var name = params[1];
16671
16766
  if (typeof name !== "string" && !(name instanceof String))
16672
16767
  return null;
16673
- var expression = params.length === 3 ? params[2] : undefined;
16768
+ var expression = params.length > 2 ? params[2] : undefined;
16674
16769
  if (typeof expression !== "string" && !(expression instanceof String)) {
16675
16770
  expression = undefined;
16676
16771
  }
16772
+ if (!expression) {
16773
+ var operand = Array.isArray(originalParams) && originalParams.length > 2 ? originalParams[2] : undefined;
16774
+ if (operand && !!operand.toString()) {
16775
+ expression = operand.toString();
16776
+ }
16777
+ }
16677
16778
  return { data: arr, name: name, expression: expression };
16678
16779
  }
16679
16780
  function convertToNumber(val) {
@@ -16689,9 +16790,9 @@ function processItemInArray(item, name, res, func, needToConvert, condition) {
16689
16790
  var val = needToConvert ? convertToNumber(item[name]) : 1;
16690
16791
  return func(res, val);
16691
16792
  }
16692
- function calcInArray(params, func, needToConvert) {
16793
+ function calcInArray(params, originalParams, func, needToConvert) {
16693
16794
  if (needToConvert === void 0) { needToConvert = true; }
16694
- var v = getInArrayParams(params);
16795
+ var v = getInArrayParams(params, originalParams);
16695
16796
  if (!v)
16696
16797
  return undefined;
16697
16798
  var condition = !!v.expression ? new _conditions__WEBPACK_IMPORTED_MODULE_3__["ConditionRunner"](v.expression) : undefined;
@@ -16711,8 +16812,8 @@ function calcInArray(params, func, needToConvert) {
16711
16812
  }
16712
16813
  return res;
16713
16814
  }
16714
- function sumInArray(params) {
16715
- var res = calcInArray(params, function (res, val) {
16815
+ function sumInArray(params, originalParams) {
16816
+ var res = calcInArray(params, originalParams, function (res, val) {
16716
16817
  if (res == undefined)
16717
16818
  res = 0;
16718
16819
  if (val == undefined || val == null)
@@ -16722,8 +16823,8 @@ function sumInArray(params) {
16722
16823
  return res !== undefined ? res : 0;
16723
16824
  }
16724
16825
  FunctionFactory.Instance.register("sumInArray", sumInArray);
16725
- function minInArray(params) {
16726
- return calcInArray(params, function (res, val) {
16826
+ function minInArray(params, originalParams) {
16827
+ return calcInArray(params, originalParams, function (res, val) {
16727
16828
  if (res == undefined)
16728
16829
  return val;
16729
16830
  if (val == undefined || val == null)
@@ -16732,8 +16833,8 @@ function minInArray(params) {
16732
16833
  });
16733
16834
  }
16734
16835
  FunctionFactory.Instance.register("minInArray", minInArray);
16735
- function maxInArray(params) {
16736
- return calcInArray(params, function (res, val) {
16836
+ function maxInArray(params, originalParams) {
16837
+ return calcInArray(params, originalParams, function (res, val) {
16737
16838
  if (res == undefined)
16738
16839
  return val;
16739
16840
  if (val == undefined || val == null)
@@ -16742,8 +16843,8 @@ function maxInArray(params) {
16742
16843
  });
16743
16844
  }
16744
16845
  FunctionFactory.Instance.register("maxInArray", maxInArray);
16745
- function countInArray(params) {
16746
- var res = calcInArray(params, function (res, val) {
16846
+ function countInArray(params, originalParams) {
16847
+ var res = calcInArray(params, originalParams, function (res, val) {
16747
16848
  if (res == undefined)
16748
16849
  res = 0;
16749
16850
  if (val == undefined || val == null)
@@ -16753,11 +16854,11 @@ function countInArray(params) {
16753
16854
  return res !== undefined ? res : 0;
16754
16855
  }
16755
16856
  FunctionFactory.Instance.register("countInArray", countInArray);
16756
- function avgInArray(params) {
16757
- var count = countInArray(params);
16857
+ function avgInArray(params, originalParams) {
16858
+ var count = countInArray(params, originalParams);
16758
16859
  if (count == 0)
16759
16860
  return 0;
16760
- return sumInArray(params) / count;
16861
+ return sumInArray(params, originalParams) / count;
16761
16862
  }
16762
16863
  FunctionFactory.Instance.register("avgInArray", avgInArray);
16763
16864
  function iif(params) {
@@ -16774,23 +16875,31 @@ function getDate(params) {
16774
16875
  return new Date(params[0]);
16775
16876
  }
16776
16877
  FunctionFactory.Instance.register("getDate", getDate);
16878
+ function dateDiffMonths(date1Param, date2Param, type) {
16879
+ if (type === "days")
16880
+ return diffDays([date1Param, date2Param]);
16881
+ var date1 = !!date1Param ? new Date(date1Param) : new Date();
16882
+ var date2 = !!date2Param ? new Date(date2Param) : new Date();
16883
+ var age = date2.getFullYear() - date1.getFullYear();
16884
+ type = type || "years";
16885
+ var ageInMonths = age * 12 + date2.getMonth() - date1.getMonth();
16886
+ if (date2.getDate() < date1.getDate()) {
16887
+ ageInMonths -= 1;
16888
+ }
16889
+ return type === "months" ? ageInMonths : ~~(ageInMonths / 12);
16890
+ }
16777
16891
  function age(params) {
16778
- if (!params && params.length < 1)
16892
+ if (!Array.isArray(params) || params.length < 1 || !params[0])
16779
16893
  return null;
16780
- if (!params[0])
16781
- return null;
16782
- var birthDate = new Date(params[0]);
16783
- var today = new Date();
16784
- var age = today.getFullYear() - birthDate.getFullYear();
16785
- if (age > 0) {
16786
- var m = today.getMonth() - birthDate.getMonth();
16787
- if (m < 0 || (m === 0 && today.getDate() < birthDate.getDate())) {
16788
- age -= 1;
16789
- }
16790
- }
16791
- return age;
16894
+ return dateDiffMonths(params[0], undefined, (params.length > 1 ? params[1] : "") || "years");
16792
16895
  }
16793
16896
  FunctionFactory.Instance.register("age", age);
16897
+ function dateDiff(params) {
16898
+ if (!Array.isArray(params) || params.length < 2 || !params[0] || !params[1])
16899
+ return null;
16900
+ return dateDiffMonths(params[0], params[1], (params.length > 2 ? params[2] : "") || "days");
16901
+ }
16902
+ FunctionFactory.Instance.register("dateDiff", dateDiff);
16794
16903
  function isContainerReadyCore(container) {
16795
16904
  if (!container)
16796
16905
  return false;
@@ -18005,6 +18114,7 @@ var map = {
18005
18114
  "./full-screen_16x16.svg": "./src/images/full-screen_16x16.svg",
18006
18115
  "./loading.svg": "./src/images/loading.svg",
18007
18116
  "./minimize_16x16.svg": "./src/images/minimize_16x16.svg",
18117
+ "./next_16x16.svg": "./src/images/next_16x16.svg",
18008
18118
  "./no-image.svg": "./src/images/no-image.svg",
18009
18119
  "./ranking-arrows.svg": "./src/images/ranking-arrows.svg",
18010
18120
  "./ranking-dash.svg": "./src/images/ranking-dash.svg",
@@ -18489,6 +18599,17 @@ module.exports = "<svg viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\
18489
18599
 
18490
18600
  /***/ }),
18491
18601
 
18602
+ /***/ "./src/images/next_16x16.svg":
18603
+ /*!***********************************!*\
18604
+ !*** ./src/images/next_16x16.svg ***!
18605
+ \***********************************/
18606
+ /*! no static exports found */
18607
+ /***/ (function(module, exports) {
18608
+
18609
+ module.exports = "<svg viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M5.64648 12.6465L6.34648 13.3465L11.7465 8.04648L6.34648 2.64648L5.64648 3.34648L10.2465 8.04648L5.64648 12.6465Z\"></path></svg>"
18610
+
18611
+ /***/ }),
18612
+
18492
18613
  /***/ "./src/images/no-image.svg":
18493
18614
  /*!*********************************!*\
18494
18615
  !*** ./src/images/no-image.svg ***!
@@ -21397,8 +21518,10 @@ var defaultListCss = {
21397
21518
  itemWithIcon: "sv-list__item--with-icon",
21398
21519
  itemDisabled: "sv-list__item--disabled",
21399
21520
  itemFocused: "sv-list__item--focused",
21521
+ itemHovered: "sv-list__item--hovered",
21400
21522
  itemTextWrap: "sv-list__item-text--wrap",
21401
21523
  itemIcon: "sv-list__item-icon",
21524
+ itemMarkerIcon: "sv-list-item__marker-icon",
21402
21525
  itemSeparator: "sv-list__item-separator",
21403
21526
  itemBody: "sv-list__item-body",
21404
21527
  itemsContainer: "sv-list",
@@ -21424,10 +21547,17 @@ var ListModel = /** @class */ (function (_super) {
21424
21547
  if (_this.allowSelection) {
21425
21548
  _this.selectedItem = itemValue;
21426
21549
  }
21550
+ var action = itemValue.action;
21551
+ if (!!action) {
21552
+ action(itemValue);
21553
+ }
21427
21554
  if (!!_this.onSelectionChanged) {
21428
21555
  _this.onSelectionChanged(itemValue);
21429
21556
  }
21430
21557
  };
21558
+ _this.onItemHover = function (itemValue) {
21559
+ _this.mouseOverHandler(itemValue);
21560
+ };
21431
21561
  _this.isItemDisabled = function (itemValue) {
21432
21562
  return itemValue.enabled !== undefined && !itemValue.enabled;
21433
21563
  };
@@ -21450,6 +21580,7 @@ var ListModel = /** @class */ (function (_super) {
21450
21580
  .append(_this.cssClasses.itemDisabled, _this.isItemDisabled(itemValue))
21451
21581
  .append(_this.cssClasses.itemFocused, _this.isItemFocused(itemValue))
21452
21582
  .append(_this.cssClasses.itemSelected, _this.isItemSelected(itemValue))
21583
+ .append(_this.cssClasses.itemHovered, itemValue.isHovered)
21453
21584
  .append(_this.cssClasses.itemTextWrap, _this.textWrapEnabled)
21454
21585
  .append(itemValue.css)
21455
21586
  .toString();
@@ -21458,8 +21589,28 @@ var ListModel = /** @class */ (function (_super) {
21458
21589
  var level = itemValue.level || 0;
21459
21590
  return (level + 1) * ListModel.INDENT + "px";
21460
21591
  };
21461
- _this.setItems(items);
21462
- _this.selectedItem = selectedItem;
21592
+ if (Object.keys(items).indexOf("items") !== -1) {
21593
+ var options_1 = items;
21594
+ Object.keys(options_1).forEach(function (key) {
21595
+ switch (key) {
21596
+ case "items":
21597
+ _this.setItems(options_1.items);
21598
+ break;
21599
+ case "onFilterStringChangedCallback":
21600
+ _this.setOnFilterStringChangedCallback(options_1.onFilterStringChangedCallback);
21601
+ break;
21602
+ case "onTextSearchCallback":
21603
+ _this.setOnTextSearchCallback(options_1.onTextSearchCallback);
21604
+ break;
21605
+ default:
21606
+ _this[key] = options_1[key];
21607
+ }
21608
+ });
21609
+ }
21610
+ else {
21611
+ _this.setItems(items);
21612
+ _this.selectedItem = selectedItem;
21613
+ }
21463
21614
  return _this;
21464
21615
  }
21465
21616
  ListModel.prototype.hasText = function (item, filterStringInLow) {
@@ -21475,6 +21626,26 @@ var ListModel = /** @class */ (function (_super) {
21475
21626
  ListModel.prototype.isItemVisible = function (item) {
21476
21627
  return item.visible && (!this.shouldProcessFilter || this.hasText(item, this.filterString));
21477
21628
  };
21629
+ ListModel.prototype.getRenderedActions = function () {
21630
+ var actions = _super.prototype.getRenderedActions.call(this);
21631
+ if (this.filterString) {
21632
+ var newActions_1 = [];
21633
+ actions.forEach(function (action) {
21634
+ newActions_1.push(action);
21635
+ if (action.items) {
21636
+ action.items.forEach(function (item) {
21637
+ var a = new _actions_action__WEBPACK_IMPORTED_MODULE_2__["Action"](item);
21638
+ if (!a.iconName) {
21639
+ a.iconName = action.iconName;
21640
+ }
21641
+ newActions_1.push(a);
21642
+ });
21643
+ }
21644
+ });
21645
+ return newActions_1;
21646
+ }
21647
+ return actions;
21648
+ };
21478
21649
  Object.defineProperty(ListModel.prototype, "visibleItems", {
21479
21650
  get: function () {
21480
21651
  var _this = this;
@@ -21535,6 +21706,14 @@ var ListModel = /** @class */ (function (_super) {
21535
21706
  ListModel.prototype.getDefaultCssClasses = function () {
21536
21707
  return defaultListCss;
21537
21708
  };
21709
+ ListModel.prototype.popupAfterShowCallback = function (itemValue) {
21710
+ this.addScrollEventListener(function () {
21711
+ itemValue.hidePopup();
21712
+ });
21713
+ };
21714
+ ListModel.prototype.onItemLeave = function (itemValue) {
21715
+ itemValue.hidePopupDelayed(this.subItemsHideDelay);
21716
+ };
21538
21717
  ListModel.prototype.areSameItems = function (item1, item2) {
21539
21718
  if (!!this.areSameItemsCallback)
21540
21719
  return this.areSameItemsCallback(item1, item2);
@@ -21686,6 +21865,7 @@ var ListModel = /** @class */ (function (_super) {
21686
21865
  };
21687
21866
  ListModel.prototype.addScrollEventListener = function (handler) {
21688
21867
  if (!!handler) {
21868
+ this.removeScrollEventListener();
21689
21869
  this.scrollHandler = handler;
21690
21870
  }
21691
21871
  if (!!this.scrollHandler) {
@@ -27016,6 +27196,134 @@ survey_core__WEBPACK_IMPORTED_MODULE_0__["surveyLocalization"].localeNames["fa"]
27016
27196
  // signaturePlaceHolderReadOnly: "No signature" => "بدون امضا"
27017
27197
 
27018
27198
 
27199
+ /***/ }),
27200
+
27201
+ /***/ "./src/localization/philippines.ts":
27202
+ /*!*****************************************!*\
27203
+ !*** ./src/localization/philippines.ts ***!
27204
+ \*****************************************/
27205
+ /*! exports provided: philippinesStrings */
27206
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
27207
+
27208
+ "use strict";
27209
+ __webpack_require__.r(__webpack_exports__);
27210
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "philippinesStrings", function() { return philippinesStrings; });
27211
+ /* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! survey-core */ "./src/entries/core.ts");
27212
+ // Uncomment the line below if you create a custom dictionary
27213
+
27214
+ var philippinesStrings = {
27215
+ pagePrevText: "Nakaraang",
27216
+ pageNextText: "Susunod",
27217
+ completeText: "Kumpleto",
27218
+ previewText: "Silipin",
27219
+ editText: "I-edit",
27220
+ startSurveyText: "Magsimula",
27221
+ otherItemText: "Iba pa (ilarawan)",
27222
+ noneItemText: "wala",
27223
+ refuseItemText: "Tumangging sumagot",
27224
+ dontKnowItemText: "hindi ko alam",
27225
+ selectAllItemText: "Piliin lahat",
27226
+ progressText: "Pahina {0} ng {1}",
27227
+ indexText: "{0} ng {1}",
27228
+ panelDynamicProgressText: "{0} ng {1}",
27229
+ panelDynamicTabTextFormat: "Panel {panelIndex}",
27230
+ questionsProgressText: "Sinagot ang {0}/{1} mga tanong",
27231
+ emptySurvey: "Ang survey ay hindi naglalaman ng anumang nakikitang elemento.",
27232
+ completingSurvey: "Salamat sa pagkumpleto ng survey",
27233
+ completingSurveyBefore: "Nakumpleto mo na ang survey na ito.",
27234
+ loadingSurvey: "Nilo-load ang Survey...",
27235
+ placeholder: "Pumili...",
27236
+ ratingOptionsCaption: "Pumili...",
27237
+ value: "halaga",
27238
+ requiredError: "Kinakailangan ang tugon.",
27239
+ requiredErrorInPanel: "Kinakailangan ang tugon: sagutin ang kahit isang tanong.",
27240
+ requiredInAllRowsError: "Kinakailangan ang tugon: sagutin ang mga tanong sa lahat ng row.",
27241
+ eachRowUniqueError: "Ang bawat hilera ay dapat may natatanging halaga.",
27242
+ numericError: "Ang halaga ay dapat na numero.",
27243
+ minError: "Ang halaga ay hindi dapat mas mababa sa {0}",
27244
+ maxError: "Ang halaga ay hindi dapat mas malaki sa {0}",
27245
+ textMinLength: "Mangyaring magpasok ng hindi bababa sa {0} (mga) character.",
27246
+ textMaxLength: "Mangyaring magpasok ng hindi hihigit sa {0} (mga) character.",
27247
+ textMinMaxLength: "Mangyaring magpasok ng hindi bababa sa {0} at hindi hihigit sa {1} (na) character.",
27248
+ minRowCountError: "Mangyaring punan ang hindi bababa sa {0} (na) hilera.",
27249
+ minSelectError: "Mangyaring pumili ng hindi bababa sa {0} (mga) opsyon.",
27250
+ maxSelectError: "Mangyaring pumili ng hindi hihigit sa {0} (mga) opsyon.",
27251
+ numericMinMax: "Ang '{0}' ay dapat na hindi bababa sa {1} at hindi hihigit sa {2}",
27252
+ numericMin: "Ang '{0}' ay dapat na hindi bababa sa {1}",
27253
+ numericMax: "Ang '{0}' ay dapat na hindi hihigit sa {1}",
27254
+ invalidEmail: "Mangyaring magpasok ng wastong e-mail address.",
27255
+ invalidExpression: "Ang expression na: {0} ay dapat magbalik ng 'true'.",
27256
+ urlRequestError: "Ang kahilingan ay nagbalik ng error na '{0}'. {1}",
27257
+ urlGetChoicesError: "Ang kahilingan ay nagbalik ng walang laman na data o ang 'path' property ay hindi tama",
27258
+ exceedMaxSize: "Ang laki ng file ay hindi dapat lumampas sa {0}.",
27259
+ noUploadFilesHandler: "Hindi ma-upload ang mga file. Mangyaring magdagdag ng handler para sa kaganapang 'onUploadFiles'.",
27260
+ otherRequiredError: "Kinakailangan ang tugon: maglagay ng isa pang halaga.",
27261
+ uploadingFile: "Ina-upload ang iyong file. Mangyaring maghintay ng ilang segundo at subukang muli.",
27262
+ loadingFile: "Naglo-load...",
27263
+ chooseFile: "Pumili ng (mga) file...",
27264
+ noFileChosen: "Walang napiling file",
27265
+ filePlaceholder: "I-drag at i-drop ang isang file dito o i-click ang button sa ibaba upang pumili ng file na ia-upload.",
27266
+ confirmDelete: "Sigurado ka bang gusto mong tanggalin ang talang ito?",
27267
+ keyDuplicationError: "Ang halagang ito ay dapat na natatangi.",
27268
+ addColumn: "Magdagdag ng Column",
27269
+ addRow: "Magdagdag ng hilera",
27270
+ removeRow: "Alisin",
27271
+ emptyRowsText: "Walang mga hilera.",
27272
+ addPanel: "Magdagdag ng bago",
27273
+ removePanel: "Alisin",
27274
+ showDetails: "Ipakita ang mga detalye",
27275
+ hideDetails: "Itago ang Mga Detalye",
27276
+ choices_Item: "aytem",
27277
+ matrix_column: "Kolum",
27278
+ matrix_row: "hilera",
27279
+ multipletext_itemname: "text",
27280
+ savingData: "Ang mga resulta ay sini-save sa server...",
27281
+ savingDataError: "May naganap na error at hindi namin mai-save ang mga resulta.",
27282
+ savingDataSuccess: "Matagumpay na na-save ang mga resulta!",
27283
+ savingExceedSize: "Ang iyong tugon ay lumampas sa 64KB. Mangyaring bawasan ang laki ng iyong (mga) file at subukang muli o makipag-ugnayan sa may-ari ng survey.",
27284
+ saveAgainButton: "Subukan muli",
27285
+ timerMin: "min",
27286
+ timerSec: "sec",
27287
+ timerSpentAll: "Gumastos ka ng {0} sa pahinang ito at {1} sa kabuuan.",
27288
+ timerSpentPage: "Gumastos ka ng {0} sa pahinang ito.",
27289
+ timerSpentSurvey: "Gumastos ka ng {0} sa kabuuan.",
27290
+ timerLimitAll: "Gumastos ka ng {0} ng {1} sa pahinang ito at {2} ng {3} sa kabuuan.",
27291
+ timerLimitPage: "Gumastos ka ng {0} sa {1} sa pahinang ito.",
27292
+ timerLimitSurvey: "Gumastos ka ng {0} sa {1} sa kabuuan.",
27293
+ clearCaption: "Maaliwalas",
27294
+ signaturePlaceHolder: "Pumirma dito",
27295
+ signaturePlaceHolderReadOnly: "Walang pirma",
27296
+ chooseFileCaption: "Piliin ang File",
27297
+ takePhotoCaption: "Kunan ng litrato",
27298
+ photoPlaceholder: "I-click ang button sa ibaba para kumuha ng larawan gamit ang camera.",
27299
+ fileOrPhotoPlaceholder: "I-drag at i-drop o pumili ng file na ia-upload o kumuha ng larawan gamit ang camera.",
27300
+ replaceFileCaption: "Palitan ang file",
27301
+ removeFileCaption: "Alisin ang file na ito",
27302
+ booleanCheckedLabel: "Oo",
27303
+ booleanUncheckedLabel: "Hindi",
27304
+ confirmRemoveFile: "Sigurado ka bang gusto mong alisin ang file na ito: {0}?",
27305
+ confirmRemoveAllFiles: "Sigurado ka bang gusto mong alisin ang lahat ng file?",
27306
+ questionTitlePatternText: "Pamagat ng Tanong",
27307
+ modalCancelButtonText: "Kanselahin",
27308
+ modalApplyButtonText: "Mag-apply",
27309
+ filterStringPlaceholder: "I-type para maghanap...",
27310
+ emptyMessage: "walang maipakitang datos",
27311
+ noEntriesText: "Wala pang entry.\nI-click ang button sa ibaba para magdagdag ng bagong entry.",
27312
+ noEntriesReadonlyText: "Walang entry",
27313
+ more: "Higit pa",
27314
+ tagboxDoneButtonCaption: "OK",
27315
+ selectToRankEmptyRankedAreaText: "Ang lahat ng mga pagpipilian ay pinili para sa pagraranggo",
27316
+ selectToRankEmptyUnrankedAreaText: "I-drag ang mga pagpipilian dito upang i-rank ang mga ito",
27317
+ ok: "OK",
27318
+ cancel: "Kanselahin",
27319
+ };
27320
+ // Uncomment the lines below if you create a custom dictionary.
27321
+ // Replace "en" with a custom locale code (for example, "fr" or "de"),
27322
+ // Replace `englishStrings` with the name of the variable that contains the custom dictionary.
27323
+ survey_core__WEBPACK_IMPORTED_MODULE_0__["surveyLocalization"].locales["fil"] = philippinesStrings;
27324
+ survey_core__WEBPACK_IMPORTED_MODULE_0__["surveyLocalization"].localeNames["fil"] = "Filipino";
27325
+
27326
+
27019
27327
  /***/ }),
27020
27328
 
27021
27329
  /***/ "./src/localization/polish.ts":
@@ -31531,12 +31839,53 @@ var InputMaskNumeric = /** @class */ (function (_super) {
31531
31839
  if (Number.isNaN(value)) {
31532
31840
  return true;
31533
31841
  }
31842
+ if (value >= min && value <= max)
31843
+ return true;
31534
31844
  if (!matchWholeMask) {
31845
+ if (!number.hasDecimalSeparator) {
31846
+ var test_high = value;
31847
+ var test_low = value;
31848
+ if (value >= 0) {
31849
+ if (value + 1 > min && value <= max)
31850
+ return true;
31851
+ while (true) {
31852
+ test_high = test_high * 10 + 9;
31853
+ test_low = test_low * 10;
31854
+ if (test_low > max) {
31855
+ break;
31856
+ }
31857
+ if (test_high > min) {
31858
+ return true;
31859
+ }
31860
+ }
31861
+ return false;
31862
+ }
31863
+ if (value < 0) {
31864
+ if (value >= min && value - 1 < max)
31865
+ return true;
31866
+ while (true) {
31867
+ test_high = test_high * 10;
31868
+ test_low = test_low * 10 - 9;
31869
+ if (test_high < min) {
31870
+ break;
31871
+ }
31872
+ if (test_low < max) {
31873
+ return true;
31874
+ }
31875
+ }
31876
+ return false;
31877
+ }
31878
+ }
31879
+ else {
31880
+ var delta = Math.pow(0.1, (number.fractionalPart || "").length);
31881
+ if (value >= 0)
31882
+ return value + delta > min && value <= max;
31883
+ if (value < 0)
31884
+ return value >= min && value - delta < max;
31885
+ }
31535
31886
  return value >= 0 && value <= max || value < 0 && value >= min;
31536
31887
  }
31537
- else {
31538
- return value >= min && value <= max;
31539
- }
31888
+ return false;
31540
31889
  }
31541
31890
  return true;
31542
31891
  };
@@ -31932,8 +32281,8 @@ var __decorate = (undefined && undefined.__decorate) || function (decorators, ta
31932
32281
 
31933
32282
  var MultiSelectListModel = /** @class */ (function (_super) {
31934
32283
  __extends(MultiSelectListModel, _super);
31935
- function MultiSelectListModel(items, onSelectionChanged, allowSelection, selectedItems, elementId) {
31936
- var _this = _super.call(this, items, onSelectionChanged, allowSelection, undefined, elementId) || this;
32284
+ function MultiSelectListModel(options) {
32285
+ var _this = _super.call(this, options) || this;
31937
32286
  _this.onItemClick = function (item) {
31938
32287
  if (_this.isItemDisabled(item))
31939
32288
  return;
@@ -31953,7 +32302,7 @@ var MultiSelectListModel = /** @class */ (function (_super) {
31953
32302
  _this.isItemSelected = function (itemValue) {
31954
32303
  return !!_this.allowSelection && _this.selectedItems.filter(function (item) { return _this.areSameItems(item, itemValue); }).length > 0;
31955
32304
  };
31956
- _this.setSelectedItems(selectedItems || []);
32305
+ _this.setSelectedItems(options.selectedItems || []);
31957
32306
  return _this;
31958
32307
  }
31959
32308
  MultiSelectListModel.prototype.updateItemState = function () {
@@ -32288,7 +32637,7 @@ var PageModel = /** @class */ (function (_super) {
32288
32637
  configurable: true
32289
32638
  });
32290
32639
  PageModel.prototype.calcCssClasses = function (css) {
32291
- var classes = { page: {}, error: {}, pageTitle: "", pageDescription: "", row: "", rowMultiple: "", pageRow: "", rowCompact: "", rowFadeIn: "", rowFadeOut: "", rowFadeOutActive: "" };
32640
+ var classes = { page: {}, error: {}, pageTitle: "", pageDescription: "", row: "", rowMultiple: "", pageRow: "", rowCompact: "", rowFadeIn: "", rowFadeOut: "", rowDelayedFadeIn: "" };
32292
32641
  this.copyCssClasses(classes.page, css.page);
32293
32642
  this.copyCssClasses(classes.error, css.error);
32294
32643
  if (!!css.pageTitle) {
@@ -32312,12 +32661,12 @@ var PageModel = /** @class */ (function (_super) {
32312
32661
  if (!!css.rowFadeIn) {
32313
32662
  classes.rowFadeIn = css.rowFadeIn;
32314
32663
  }
32664
+ if (!!css.rowDelayedFadeIn) {
32665
+ classes.rowDelayedFadeIn = css.rowDelayedFadeIn;
32666
+ }
32315
32667
  if (!!css.rowFadeOut) {
32316
32668
  classes.rowFadeOut = css.rowFadeOut;
32317
32669
  }
32318
- if (!!css.rowFadeOutActive) {
32319
- classes.rowFadeOutActive = css.rowFadeOutActive;
32320
- }
32321
32670
  if (this.survey) {
32322
32671
  this.survey.updatePageCssClasses(this, classes);
32323
32672
  }
@@ -32594,8 +32943,8 @@ var QuestionRowModel = /** @class */ (function (_super) {
32594
32943
  _this._scrollableParent = undefined;
32595
32944
  _this._updateVisibility = undefined;
32596
32945
  _this.visibleElementsAnimation = new _utils_animation__WEBPACK_IMPORTED_MODULE_11__["AnimationGroup"](_this.getVisibleElementsAnimationOptions(), function (value) {
32946
+ _this.setWidth(value);
32597
32947
  _this.setPropertyValue("visibleElements", value);
32598
- _this.setWidth();
32599
32948
  }, function () { return _this.visibleElements; });
32600
32949
  _this.idValue = QuestionRowModel.getRowId();
32601
32950
  _this.visible = panel.areInvisibleElementsShowing;
@@ -32684,7 +33033,9 @@ var QuestionRowModel = /** @class */ (function (_super) {
32684
33033
  el.style.setProperty("--animation-width", Object(_utils_utils__WEBPACK_IMPORTED_MODULE_8__["getElementWidth"])(el) + "px");
32685
33034
  };
32686
33035
  return {
33036
+ getRerenderEvent: function () { return _this.onElementRerendered; },
32687
33037
  isAnimationEnabled: function () { return _this.animationAllowed; },
33038
+ allowSyncRemovalAddition: false,
32688
33039
  getAnimatedElement: function (element) { return element.getWrapperElement(); },
32689
33040
  getLeaveOptions: function (element) {
32690
33041
  var surveyElement = element;
@@ -32764,12 +33115,12 @@ var QuestionRowModel = /** @class */ (function (_super) {
32764
33115
  enumerable: false,
32765
33116
  configurable: true
32766
33117
  });
32767
- QuestionRowModel.prototype.setWidth = function () {
33118
+ QuestionRowModel.prototype.setWidth = function (visibleElement) {
32768
33119
  var _a;
32769
- var visCount = this.visibleElements.length;
33120
+ var visCount = visibleElement.length;
32770
33121
  if (visCount == 0)
32771
33122
  return;
32772
- var isSingleInRow = this.visibleElements.length === 1;
33123
+ var isSingleInRow = visibleElement.length === 1;
32773
33124
  var counter = 0;
32774
33125
  var preSetWidthElements = [];
32775
33126
  for (var i = 0; i < this.elements.length; i++) {
@@ -32900,6 +33251,7 @@ var PanelModelBase = /** @class */ (function (_super) {
32900
33251
  el.style.setProperty("--animation-height", el.offsetHeight + "px");
32901
33252
  };
32902
33253
  return {
33254
+ getRerenderEvent: function () { return _this.onElementRerendered; },
32903
33255
  isAnimationEnabled: function () { return _this.animationAllowed; },
32904
33256
  getAnimatedElement: function (row) { return row.getRootElement(); },
32905
33257
  getLeaveOptions: function (_) {
@@ -32907,9 +33259,10 @@ var PanelModelBase = /** @class */ (function (_super) {
32907
33259
  onBeforeRunAnimation: beforeRunAnimation
32908
33260
  };
32909
33261
  },
32910
- getEnterOptions: function (_) {
33262
+ getEnterOptions: function (_, animationInfo) {
33263
+ var cssClasses = _this.cssClasses;
32911
33264
  return {
32912
- cssClass: _this.cssClasses.rowFadeIn,
33265
+ cssClass: new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_9__["CssClassBuilder"]().append(cssClasses.rowFadeIn).append(cssClasses.rowDelayedFadeIn, animationInfo.isDeletingRunning).toString(),
32913
33266
  onBeforeRunAnimation: beforeRunAnimation
32914
33267
  };
32915
33268
  }
@@ -33173,7 +33526,7 @@ var PanelModelBase = /** @class */ (function (_super) {
33173
33526
  configurable: true
33174
33527
  });
33175
33528
  PanelModelBase.prototype.calcCssClasses = function (css) {
33176
- var classes = { panel: {}, error: {}, row: "", rowFadeIn: "", rowFadeOut: "", rowFadeOutActive: "", rowMultiple: "", pageRow: "", rowCompact: "" };
33529
+ var classes = { panel: {}, error: {}, row: "", rowFadeIn: "", rowFadeOut: "", rowDelayedFadeIn: "", rowMultiple: "", pageRow: "", rowCompact: "" };
33177
33530
  this.copyCssClasses(classes.panel, css.panel);
33178
33531
  this.copyCssClasses(classes.error, css.error);
33179
33532
  if (!!css.pageRow) {
@@ -33191,8 +33544,8 @@ var PanelModelBase = /** @class */ (function (_super) {
33191
33544
  if (!!css.rowFadeOut) {
33192
33545
  classes.rowFadeOut = css.rowFadeOut;
33193
33546
  }
33194
- if (!!css.rowFadeOutActive) {
33195
- classes.rowFadeOutActive = css.rowFadeOutActive;
33547
+ if (!!css.rowDelayedFadeIn) {
33548
+ classes.rowDelayedFadeIn = css.rowDelayedFadeIn;
33196
33549
  }
33197
33550
  if (!!css.rowMultiple) {
33198
33551
  classes.rowMultiple = css.rowMultiple;
@@ -33512,16 +33865,13 @@ var PanelModelBase = /** @class */ (function (_super) {
33512
33865
  ? rec
33513
33866
  : {
33514
33867
  fireCallback: fireCallback,
33515
- focuseOnFirstError: focusOnFirstError,
33868
+ focusOnFirstError: focusOnFirstError,
33516
33869
  firstErrorQuestion: null,
33517
33870
  result: false,
33518
33871
  };
33519
33872
  if (rec.result !== true)
33520
33873
  rec.result = false;
33521
33874
  this.hasErrorsCore(rec);
33522
- if (rec.focuseOnFirstError && rec.firstErrorQuestion) {
33523
- rec.firstErrorQuestion.focus(true);
33524
- }
33525
33875
  return !rec.result;
33526
33876
  };
33527
33877
  PanelModelBase.prototype.validateContainerOnly = function () {
@@ -33566,13 +33916,14 @@ var PanelModelBase = /** @class */ (function (_super) {
33566
33916
  }
33567
33917
  rec.result = true;
33568
33918
  errors.push(new _error__WEBPACK_IMPORTED_MODULE_6__["OneAnswerRequiredError"](this.requiredErrorText, this));
33569
- if (rec.focuseOnFirstError && !rec.firstErrorQuestion) {
33919
+ if (rec.focusOnFirstError && !rec.firstErrorQuestion) {
33570
33920
  rec.firstErrorQuestion = visQuestions[0];
33571
33921
  }
33572
33922
  };
33573
33923
  PanelModelBase.prototype.hasErrorsCore = function (rec) {
33574
33924
  var elements = this.elements;
33575
33925
  var element = null;
33926
+ var firstErroredEl = null;
33576
33927
  for (var i = 0; i < elements.length; i++) {
33577
33928
  element = elements[i];
33578
33929
  if (!element.isVisible)
@@ -33583,7 +33934,10 @@ var PanelModelBase = /** @class */ (function (_super) {
33583
33934
  else {
33584
33935
  var question = element;
33585
33936
  if (!question.validate(rec.fireCallback, rec)) {
33586
- if (rec.focuseOnFirstError && rec.firstErrorQuestion == null) {
33937
+ if (!firstErroredEl) {
33938
+ firstErroredEl = question;
33939
+ }
33940
+ if (!rec.firstErrorQuestion) {
33587
33941
  rec.firstErrorQuestion = question;
33588
33942
  }
33589
33943
  rec.result = true;
@@ -33592,6 +33946,20 @@ var PanelModelBase = /** @class */ (function (_super) {
33592
33946
  }
33593
33947
  this.hasErrorsInPanels(rec);
33594
33948
  this.updateContainsErrors();
33949
+ if (!firstErroredEl && this.errors.length > 0) {
33950
+ firstErroredEl = this.getFirstQuestionToFocus(false, true);
33951
+ if (!rec.firstErrorQuestion) {
33952
+ rec.firstErrorQuestion = firstErroredEl;
33953
+ }
33954
+ }
33955
+ if (rec.fireCallback && firstErroredEl) {
33956
+ if (firstErroredEl === rec.firstErrorQuestion && rec.focusOnFirstError) {
33957
+ firstErroredEl.focus(true);
33958
+ }
33959
+ else {
33960
+ firstErroredEl.expandAllParents();
33961
+ }
33962
+ }
33595
33963
  };
33596
33964
  PanelModelBase.prototype.getContainsErrors = function () {
33597
33965
  var res = _super.prototype.getContainsErrors.call(this);
@@ -34104,21 +34472,10 @@ var PanelModelBase = /** @class */ (function (_super) {
34104
34472
  }
34105
34473
  };
34106
34474
  PanelModelBase.prototype.notifyStateChanged = function (prevState) {
34107
- var _this = this;
34108
34475
  _super.prototype.notifyStateChanged.call(this, prevState);
34109
34476
  if (this.isCollapsed) {
34110
34477
  this.questions.forEach(function (q) { return q.onHidingContent(); });
34111
34478
  }
34112
- if (this.survey != null && !this.isLoadingFromJson && this.isExpanded && prevState === "collapsed") {
34113
- var q_1 = this.getFirstQuestionToFocus(false);
34114
- if (!!q_1) {
34115
- setTimeout(function () {
34116
- if (!_this.isDisposed && !!_this.survey) {
34117
- _this.survey.scrollElementToTop(q_1, q_1, null, q_1.inputId, false);
34118
- }
34119
- }, 15);
34120
- }
34121
- }
34122
34479
  };
34123
34480
  Object.defineProperty(PanelModelBase.prototype, "isVisible", {
34124
34481
  /**
@@ -34715,12 +35072,6 @@ var PanelModel = /** @class */ (function (_super) {
34715
35072
  this.survey.panelVisibilityChanged(this, this.isVisible);
34716
35073
  }
34717
35074
  };
34718
- PanelModel.prototype.hasErrorsCore = function (rec) {
34719
- _super.prototype.hasErrorsCore.call(this, rec);
34720
- if (this.isCollapsed && rec.result && rec.fireCallback) {
34721
- this.expand();
34722
- }
34723
- };
34724
35075
  PanelModel.prototype.getRenderedTitle = function (str) {
34725
35076
  if (!str) {
34726
35077
  if (this.isCollapsed || this.isExpanded)
@@ -34904,6 +35255,19 @@ var PanelModel = /** @class */ (function (_super) {
34904
35255
  enumerable: false,
34905
35256
  configurable: true
34906
35257
  });
35258
+ PanelModel.prototype.onElementExpanded = function (elementIsRendered) {
35259
+ var _this = this;
35260
+ if (this.survey != null && !this.isLoadingFromJson) {
35261
+ var q_1 = this.getFirstQuestionToFocus(false);
35262
+ if (!!q_1) {
35263
+ setTimeout(function () {
35264
+ if (!_this.isDisposed && !!_this.survey) {
35265
+ _this.survey.scrollElementToTop(q_1, q_1, null, q_1.inputId, false, { behavior: "smooth" });
35266
+ }
35267
+ }, elementIsRendered ? 0 : 15);
35268
+ }
35269
+ }
35270
+ };
34907
35271
  PanelModel.prototype.getCssRoot = function (cssClasses) {
34908
35272
  return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_9__["CssClassBuilder"]()
34909
35273
  .append(_super.prototype.getCssRoot.call(this, cssClasses))
@@ -36404,9 +36768,10 @@ var __decorate = (undefined && undefined.__decorate) || function (decorators, ta
36404
36768
 
36405
36769
  var PopupDropdownViewModel = /** @class */ (function (_super) {
36406
36770
  __extends(PopupDropdownViewModel, _super);
36407
- function PopupDropdownViewModel(model, targetElement) {
36771
+ function PopupDropdownViewModel(model, targetElement, areaElement) {
36408
36772
  var _this = _super.call(this, model) || this;
36409
36773
  _this.targetElement = targetElement;
36774
+ _this.areaElement = areaElement;
36410
36775
  _this.scrollEventCallBack = function (event) {
36411
36776
  if (_this.isOverlay && _utils_devices__WEBPACK_IMPORTED_MODULE_3__["IsTouch"]) {
36412
36777
  event.stopPropagation();
@@ -36444,11 +36809,24 @@ var PopupDropdownViewModel = /** @class */ (function (_super) {
36444
36809
  var width = Math.min(windowWidth, windowHeight);
36445
36810
  this.isTablet = width >= PopupDropdownViewModel.tabletSizeBreakpoint;
36446
36811
  };
36812
+ PopupDropdownViewModel.prototype.getAvailableAreaRect = function () {
36813
+ if (this.areaElement) {
36814
+ var areaRect = this.areaElement.getBoundingClientRect();
36815
+ return new _utils_popup__WEBPACK_IMPORTED_MODULE_1__["Rect"](areaRect.x, areaRect.y, areaRect.width, areaRect.height);
36816
+ }
36817
+ return new _utils_popup__WEBPACK_IMPORTED_MODULE_1__["Rect"](0, 0, _global_variables_utils__WEBPACK_IMPORTED_MODULE_6__["DomWindowHelper"].getInnerWidth(), _global_variables_utils__WEBPACK_IMPORTED_MODULE_6__["DomWindowHelper"].getInnerHeight());
36818
+ };
36819
+ PopupDropdownViewModel.prototype.getTargetElementRect = function () {
36820
+ var rect = this.targetElement.getBoundingClientRect();
36821
+ var areaRect = this.getAvailableAreaRect();
36822
+ return new _utils_popup__WEBPACK_IMPORTED_MODULE_1__["Rect"](rect.left - areaRect.left, rect.top - areaRect.top, rect.width, rect.height);
36823
+ };
36447
36824
  PopupDropdownViewModel.prototype._updatePosition = function () {
36448
36825
  var _a, _b, _c;
36449
36826
  if (!this.targetElement)
36450
36827
  return;
36451
- var targetElementRect = this.targetElement.getBoundingClientRect();
36828
+ var targetElementRect = this.getTargetElementRect();
36829
+ var area = this.getAvailableAreaRect();
36452
36830
  var popupContainer = (_a = this.container) === null || _a === void 0 ? void 0 : _a.querySelector(this.containerSelector);
36453
36831
  if (!popupContainer)
36454
36832
  return;
@@ -36465,12 +36843,13 @@ var PopupDropdownViewModel = /** @class */ (function (_super) {
36465
36843
  if (_global_variables_utils__WEBPACK_IMPORTED_MODULE_6__["DomWindowHelper"].isAvailable()) {
36466
36844
  var heightValues = [height, _global_variables_utils__WEBPACK_IMPORTED_MODULE_6__["DomWindowHelper"].getInnerHeight() * 0.9, (_c = _global_variables_utils__WEBPACK_IMPORTED_MODULE_6__["DomWindowHelper"].getVisualViewport()) === null || _c === void 0 ? void 0 : _c.height];
36467
36845
  height = Math.ceil(Math.min.apply(Math, heightValues.filter(function (each) { return typeof each === "number"; })));
36468
- verticalPosition = _utils_popup__WEBPACK_IMPORTED_MODULE_1__["PopupUtils"].updateVerticalPosition(targetElementRect, height, this.model.verticalPosition, this.model.showPointer, _global_variables_utils__WEBPACK_IMPORTED_MODULE_6__["DomWindowHelper"].getInnerHeight());
36846
+ verticalPosition = _utils_popup__WEBPACK_IMPORTED_MODULE_1__["PopupUtils"].updateVerticalPosition(targetElementRect, height, this.model.horizontalPosition, this.model.verticalPosition, area.height);
36847
+ actualHorizontalPosition = _utils_popup__WEBPACK_IMPORTED_MODULE_1__["PopupUtils"].updateHorizontalPosition(targetElementRect, width, this.model.horizontalPosition, area.width);
36469
36848
  }
36470
36849
  this.popupDirection = _utils_popup__WEBPACK_IMPORTED_MODULE_1__["PopupUtils"].calculatePopupDirection(verticalPosition, actualHorizontalPosition);
36471
- var pos = _utils_popup__WEBPACK_IMPORTED_MODULE_1__["PopupUtils"].calculatePosition(targetElementRect, height, width + marginLeft + marginRight, verticalPosition, actualHorizontalPosition, this.showHeader, this.model.positionMode);
36850
+ var pos = _utils_popup__WEBPACK_IMPORTED_MODULE_1__["PopupUtils"].calculatePosition(targetElementRect, height, width + marginLeft + marginRight, verticalPosition, actualHorizontalPosition, this.model.positionMode);
36472
36851
  if (_global_variables_utils__WEBPACK_IMPORTED_MODULE_6__["DomWindowHelper"].isAvailable()) {
36473
- var newVerticalDimensions = _utils_popup__WEBPACK_IMPORTED_MODULE_1__["PopupUtils"].getCorrectedVerticalDimensions(pos.top, height, _global_variables_utils__WEBPACK_IMPORTED_MODULE_6__["DomWindowHelper"].getInnerHeight(), verticalPosition);
36852
+ var newVerticalDimensions = _utils_popup__WEBPACK_IMPORTED_MODULE_1__["PopupUtils"].getCorrectedVerticalDimensions(pos.top, height, area.height, verticalPosition, this.model.canShrink);
36474
36853
  if (!!newVerticalDimensions) {
36475
36854
  this.height = newVerticalDimensions.height + "px";
36476
36855
  pos.top = newVerticalDimensions.top;
@@ -36492,6 +36871,8 @@ var PopupDropdownViewModel = /** @class */ (function (_super) {
36492
36871
  pos.top -= rect.top;
36493
36872
  pos.left -= rect.left;
36494
36873
  }
36874
+ pos.left += area.left;
36875
+ pos.top += area.top;
36495
36876
  this.left = pos.left + "px";
36496
36877
  this.top = pos.top + "px";
36497
36878
  if (this.showHeader) {
@@ -36529,10 +36910,11 @@ var PopupDropdownViewModel = /** @class */ (function (_super) {
36529
36910
  PopupDropdownViewModel.prototype.getPopupHeaderTemplate = function () {
36530
36911
  return "popup-pointer";
36531
36912
  };
36532
- PopupDropdownViewModel.prototype.setComponentElement = function (componentRoot, targetElement) {
36913
+ PopupDropdownViewModel.prototype.setComponentElement = function (componentRoot, targetElement, areaElement) {
36533
36914
  _super.prototype.setComponentElement.call(this, componentRoot);
36534
36915
  if (!!componentRoot && !!componentRoot.parentElement && !this.isModal) {
36535
36916
  this.targetElement = targetElement || componentRoot.parentElement;
36917
+ this.areaElement = areaElement;
36536
36918
  }
36537
36919
  };
36538
36920
  PopupDropdownViewModel.prototype.resetComponentElement = function () {
@@ -36690,6 +37072,7 @@ var PopupModalViewModel = /** @class */ (function (_super) {
36690
37072
  PopupModalViewModel.prototype.createFooterActionBar = function () {
36691
37073
  var _this = this;
36692
37074
  _super.prototype.createFooterActionBar.call(this);
37075
+ this.footerToolbar.containerCss = "sv-footer-action-bar";
36693
37076
  this.footerToolbarValue.addAction({
36694
37077
  id: "apply",
36695
37078
  visibleIndex: 20,
@@ -37317,9 +37700,11 @@ var PopupBaseViewModel = /** @class */ (function (_super) {
37317
37700
  if (!val) {
37318
37701
  _this.updateOnHiding();
37319
37702
  _this.updateIsVisible(val);
37703
+ _this.updateAfterHiding();
37320
37704
  _this._isPositionSetValue = false;
37321
37705
  }
37322
37706
  else {
37707
+ _this.updateBeforeShowing();
37323
37708
  _this.updateIsVisible(val);
37324
37709
  }
37325
37710
  }
@@ -37337,8 +37722,18 @@ var PopupBaseViewModel = /** @class */ (function (_super) {
37337
37722
  this._isVisible = val;
37338
37723
  this.onVisibilityChanged.fire(this, { isVisible: val });
37339
37724
  };
37725
+ PopupBaseViewModel.prototype.updateBeforeShowing = function () {
37726
+ this.model.onShow();
37727
+ };
37728
+ PopupBaseViewModel.prototype.updateAfterHiding = function () {
37729
+ this.model.onHiding();
37730
+ };
37340
37731
  PopupBaseViewModel.prototype.getLeaveOptions = function () {
37341
- return { cssClass: "sv-popup--animate-leave" };
37732
+ return { cssClass: "sv-popup--animate-leave", onBeforeRunAnimation: function (el) {
37733
+ el.setAttribute("inert", "");
37734
+ },
37735
+ onAfterRunAnimation: function (el) { return el.removeAttribute("inert"); }
37736
+ };
37342
37737
  };
37343
37738
  PopupBaseViewModel.prototype.getEnterOptions = function () {
37344
37739
  return { cssClass: "sv-popup--animate-enter" };
@@ -37349,6 +37744,7 @@ var PopupBaseViewModel = /** @class */ (function (_super) {
37349
37744
  PopupBaseViewModel.prototype.isAnimationEnabled = function () {
37350
37745
  return this.model.displayMode !== "overlay" && _settings__WEBPACK_IMPORTED_MODULE_4__["settings"].animationEnabled;
37351
37746
  };
37747
+ PopupBaseViewModel.prototype.getRerenderEvent = function () { return this.onElementRerendered; };
37352
37748
  PopupBaseViewModel.prototype.getAnimationContainer = function () {
37353
37749
  var _a;
37354
37750
  return (_a = this.container) === null || _a === void 0 ? void 0 : _a.querySelector(this.fixedPopupContainer);
@@ -37633,7 +38029,7 @@ var PopupBaseViewModel = /** @class */ (function (_super) {
37633
38029
  Object(_utils_utils__WEBPACK_IMPORTED_MODULE_5__["getElement"])(_settings__WEBPACK_IMPORTED_MODULE_4__["settings"].environment.popupMountContainer).appendChild(container);
37634
38030
  }
37635
38031
  };
37636
- PopupBaseViewModel.prototype.setComponentElement = function (componentRoot, targetElement) {
38032
+ PopupBaseViewModel.prototype.setComponentElement = function (componentRoot, targetElement, areaElement) {
37637
38033
  if (!!componentRoot) {
37638
38034
  this.containerElement = componentRoot;
37639
38035
  }
@@ -37764,13 +38160,6 @@ var PopupModel = /** @class */ (function (_super) {
37764
38160
  }
37765
38161
  this.setPropertyValue("isVisible", value);
37766
38162
  this.onVisibilityChanged.fire(this, { model: this, isVisible: value });
37767
- if (this.isVisible) {
37768
- this.onShow();
37769
- }
37770
- else {
37771
- this.refreshInnerModel();
37772
- this.onHide();
37773
- }
37774
38163
  },
37775
38164
  enumerable: false,
37776
38165
  configurable: true
@@ -37778,6 +38167,14 @@ var PopupModel = /** @class */ (function (_super) {
37778
38167
  PopupModel.prototype.toggleVisibility = function () {
37779
38168
  this.isVisible = !this.isVisible;
37780
38169
  };
38170
+ PopupModel.prototype.show = function () {
38171
+ if (!this.isVisible)
38172
+ this.isVisible = true;
38173
+ };
38174
+ PopupModel.prototype.hide = function () {
38175
+ if (this.isVisible)
38176
+ this.isVisible = false;
38177
+ };
37781
38178
  PopupModel.prototype.recalculatePosition = function (isResetHeight) {
37782
38179
  this.onRecalculatePosition.fire(this, { isResetHeight: isResetHeight });
37783
38180
  };
@@ -37786,6 +38183,10 @@ var PopupModel = /** @class */ (function (_super) {
37786
38183
  this.onFooterActionsCreated.fire(this, options);
37787
38184
  return options.actions;
37788
38185
  };
38186
+ PopupModel.prototype.onHiding = function () {
38187
+ this.refreshInnerModel();
38188
+ this.onHide();
38189
+ };
37789
38190
  PopupModel.prototype.dispose = function () {
37790
38191
  _super.prototype.dispose.call(this);
37791
38192
  this.onDispose();
@@ -37808,6 +38209,9 @@ var PopupModel = /** @class */ (function (_super) {
37808
38209
  __decorate([
37809
38210
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])({ defaultValue: false })
37810
38211
  ], PopupModel.prototype, "isModal", void 0);
38212
+ __decorate([
38213
+ Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])({ defaultValue: true })
38214
+ ], PopupModel.prototype, "canShrink", void 0);
37811
38215
  __decorate([
37812
38216
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])({ defaultValue: true })
37813
38217
  ], PopupModel.prototype, "isFocusedContent", void 0);
@@ -39282,6 +39686,7 @@ var Question = /** @class */ (function (_super) {
39282
39686
  .append(cssClasses.hasErrorBottom, hasError && this.getErrorLocation() == "bottom")
39283
39687
  .append(cssClasses.small, !this.width)
39284
39688
  .append(cssClasses.answered, this.isAnswered)
39689
+ .append(cssClasses.noPointerEventsMode, this.isReadOnlyAttr)
39285
39690
  .toString();
39286
39691
  };
39287
39692
  Object.defineProperty(Question.prototype, "cssHeader", {
@@ -39524,7 +39929,7 @@ var Question = /** @class */ (function (_super) {
39524
39929
  Question.prototype.focuscore = function (onError, scrollIfVisible) {
39525
39930
  if (onError === void 0) { onError = false; }
39526
39931
  if (!!this.survey) {
39527
- this.expandAllParents(this);
39932
+ this.expandAllParents();
39528
39933
  this.survey.scrollElementToTop(this, this, null, this.id, scrollIfVisible);
39529
39934
  }
39530
39935
  var id = !onError
@@ -39534,14 +39939,17 @@ var Question = /** @class */ (function (_super) {
39534
39939
  this.fireCallback(this.focusCallback);
39535
39940
  }
39536
39941
  };
39537
- Question.prototype.expandAllParents = function (element) {
39942
+ Question.prototype.expandAllParents = function () {
39943
+ this.expandAllParentsCore(this);
39944
+ };
39945
+ Question.prototype.expandAllParentsCore = function (element) {
39538
39946
  if (!element)
39539
39947
  return;
39540
39948
  if (element.isCollapsed) {
39541
39949
  element.expand();
39542
39950
  }
39543
- this.expandAllParents(element.parent);
39544
- this.expandAllParents(element.parentQuestion);
39951
+ this.expandAllParentsCore(element.parent);
39952
+ this.expandAllParentsCore(element.parentQuestion);
39545
39953
  };
39546
39954
  Question.prototype.focusIn = function () {
39547
39955
  if (!this.survey || this.isDisposed || this.isContainer)
@@ -39750,6 +40158,20 @@ var Question = /** @class */ (function (_super) {
39750
40158
  enumerable: false,
39751
40159
  configurable: true
39752
40160
  });
40161
+ Object.defineProperty(Question.prototype, "isReadOnlyAttr", {
40162
+ get: function () {
40163
+ return this.isReadOnly;
40164
+ },
40165
+ enumerable: false,
40166
+ configurable: true
40167
+ });
40168
+ Object.defineProperty(Question.prototype, "isDisabledAttr", {
40169
+ get: function () {
40170
+ return this.isDesignModeV2;
40171
+ },
40172
+ enumerable: false,
40173
+ configurable: true
40174
+ });
39753
40175
  Question.prototype.onReadOnlyChanged = function () {
39754
40176
  this.setPropertyValue("isInputReadOnly", this.isInputReadOnly);
39755
40177
  _super.prototype.onReadOnlyChanged.call(this);
@@ -40365,6 +40787,13 @@ var Question = /** @class */ (function (_super) {
40365
40787
  return;
40366
40788
  this.setDefaultValue();
40367
40789
  };
40790
+ Object.defineProperty(Question.prototype, "isValueDefault", {
40791
+ get: function () {
40792
+ return !this.isEmpty() && (this.isTwoValueEquals(this.defaultValue, this.value) || !this.isValueChangedDirectly && !!this.defaultValueExpression);
40793
+ },
40794
+ enumerable: false,
40795
+ configurable: true
40796
+ });
40368
40797
  Object.defineProperty(Question.prototype, "isClearValueOnHidden", {
40369
40798
  get: function () {
40370
40799
  var clearIf = this.getClearIfInvisible();
@@ -40441,9 +40870,9 @@ var Question = /** @class */ (function (_super) {
40441
40870
  };
40442
40871
  }
40443
40872
  if (!values)
40444
- values = this.data.getFilteredValues();
40873
+ values = this.defaultValueExpression ? this.data.getFilteredValues() : {};
40445
40874
  if (!properties)
40446
- properties = this.data.getFilteredProperties();
40875
+ properties = this.defaultValueExpression ? this.data.getFilteredProperties() : {};
40447
40876
  if (!!runner && runner.canRun) {
40448
40877
  runner.onRunComplete = function (res) {
40449
40878
  if (res == undefined)
@@ -40793,13 +41222,9 @@ var Question = /** @class */ (function (_super) {
40793
41222
  Question.prototype.isTextValue = function () {
40794
41223
  return false;
40795
41224
  };
40796
- Object.defineProperty(Question.prototype, "isSurveyInputTextUpdate", {
40797
- get: function () {
40798
- return !!this.survey ? this.survey.isUpdateValueTextOnTyping : false;
40799
- },
40800
- enumerable: false,
40801
- configurable: true
40802
- });
41225
+ Question.prototype.getIsInputTextUpdate = function () {
41226
+ return !!this.survey ? this.survey.isUpdateValueTextOnTyping : false;
41227
+ };
40803
41228
  Object.defineProperty(Question.prototype, "requireStrictCompare", {
40804
41229
  get: function () { return false; },
40805
41230
  enumerable: false,
@@ -40810,7 +41235,7 @@ var Question = /** @class */ (function (_super) {
40810
41235
  };
40811
41236
  Object.defineProperty(Question.prototype, "isInputTextUpdate", {
40812
41237
  get: function () {
40813
- return this.isSurveyInputTextUpdate && this.isTextValue();
41238
+ return this.getIsInputTextUpdate() && this.isTextValue();
40814
41239
  },
40815
41240
  enumerable: false,
40816
41241
  configurable: true
@@ -40850,7 +41275,7 @@ var Question = /** @class */ (function (_super) {
40850
41275
  };
40851
41276
  Question.prototype.setCommentIntoData = function (newValue) {
40852
41277
  if (this.data != null) {
40853
- this.data.setComment(this.getValueName(), newValue, this.isSurveyInputTextUpdate ? "text" : false);
41278
+ this.data.setComment(this.getValueName(), newValue, this.getIsInputTextUpdate() ? "text" : false);
40854
41279
  }
40855
41280
  };
40856
41281
  Question.prototype.getValidName = function (name) {
@@ -41451,8 +41876,7 @@ _jsonobject__WEBPACK_IMPORTED_MODULE_1__["Serializer"].addClass("question", [
41451
41876
  visibleIf: function (obj) {
41452
41877
  return obj.showCommentArea;
41453
41878
  },
41454
- serializationProperty: "locCommentText",
41455
- layout: "row",
41879
+ serializationProperty: "locCommentText"
41456
41880
  },
41457
41881
  {
41458
41882
  name: "commentPlaceholder",
@@ -41857,6 +42281,15 @@ var QuestionSelectBase = /** @class */ (function (_super) {
41857
42281
  _itemvalue__WEBPACK_IMPORTED_MODULE_3__["ItemValue"].locStrsChanged(this.choicesFromUrl);
41858
42282
  _itemvalue__WEBPACK_IMPORTED_MODULE_3__["ItemValue"].locStrsChanged(this.visibleChoices);
41859
42283
  }
42284
+ if (this.isUsingCarryForward) {
42285
+ _itemvalue__WEBPACK_IMPORTED_MODULE_3__["ItemValue"].locStrsChanged(this.visibleChoices);
42286
+ }
42287
+ };
42288
+ QuestionSelectBase.prototype.updatePrevOtherErrorValue = function (val) {
42289
+ var oldVal = this.otherValue;
42290
+ if (val !== oldVal) {
42291
+ this.prevOtherErrorValue = oldVal;
42292
+ }
41860
42293
  };
41861
42294
  Object.defineProperty(QuestionSelectBase.prototype, "otherValue", {
41862
42295
  get: function () {
@@ -41865,6 +42298,7 @@ var QuestionSelectBase = /** @class */ (function (_super) {
41865
42298
  return this.otherValueCore;
41866
42299
  },
41867
42300
  set: function (val) {
42301
+ this.updatePrevOtherErrorValue(val);
41868
42302
  if (!this.showCommentArea) {
41869
42303
  this.comment = val;
41870
42304
  }
@@ -42317,6 +42751,7 @@ var QuestionSelectBase = /** @class */ (function (_super) {
42317
42751
  this.value = val ? this.otherItem.value : undefined;
42318
42752
  };
42319
42753
  QuestionSelectBase.prototype.setQuestionComment = function (newValue) {
42754
+ this.updatePrevOtherErrorValue(newValue);
42320
42755
  if (this.showCommentArea) {
42321
42756
  _super.prototype.setQuestionComment.call(this, newValue);
42322
42757
  return;
@@ -42361,6 +42796,8 @@ var QuestionSelectBase = /** @class */ (function (_super) {
42361
42796
  return this.getPropertyValue("renderedValue", null);
42362
42797
  },
42363
42798
  set: function (val) {
42799
+ if (this.isReadOnlyAttr)
42800
+ return;
42364
42801
  this.setPropertyValue("renderedValue", val);
42365
42802
  var val = this.rendredValueToData(val);
42366
42803
  if (!this.isTwoValueEquals(val, this.value)) {
@@ -42894,13 +43331,18 @@ var QuestionSelectBase = /** @class */ (function (_super) {
42894
43331
  }
42895
43332
  };
42896
43333
  QuestionSelectBase.prototype.addNewItemToVisibleChoices = function (items, isAddAll) {
43334
+ var _this = this;
42897
43335
  if (!isAddAll)
42898
43336
  return;
42899
43337
  if (!this.newItemValue) {
42900
43338
  this.newItemValue = this.createItemValue("newitem"); //TODO
42901
43339
  this.newItemValue.isGhost = true;
43340
+ this.newItemValue.registerFunctionOnPropertyValueChanged("isVisible", function () {
43341
+ _this.updateVisibleChoices();
43342
+ });
42902
43343
  }
42903
- if (!this.isUsingCarryForward && this.canShowOptionItem(this.newItemValue, isAddAll, false)) {
43344
+ if (this.newItemValue.isVisible && !this.isUsingCarryForward
43345
+ && this.canShowOptionItem(this.newItemValue, isAddAll, false)) {
42904
43346
  this.footItemsCount = 1;
42905
43347
  items.push(this.newItemValue);
42906
43348
  }
@@ -42991,6 +43433,8 @@ var QuestionSelectBase = /** @class */ (function (_super) {
42991
43433
  return questionPlainData;
42992
43434
  };
42993
43435
  QuestionSelectBase.prototype.getDisplayValueCore = function (keysAsText, value) {
43436
+ if (!this.useDisplayValuesInDynamicTexts)
43437
+ return value;
42994
43438
  return this.getChoicesDisplayValue(this.visibleChoices, value);
42995
43439
  };
42996
43440
  QuestionSelectBase.prototype.getDisplayValueEmpty = function () {
@@ -43217,7 +43661,8 @@ var QuestionSelectBase = /** @class */ (function (_super) {
43217
43661
  QuestionSelectBase.prototype.onCheckForErrors = function (errors, isOnValueChanged) {
43218
43662
  var _this = this;
43219
43663
  _super.prototype.onCheckForErrors.call(this, errors, isOnValueChanged);
43220
- if (!this.hasOther || !this.isOtherSelected || this.otherValue)
43664
+ if (!this.hasOther || !this.isOtherSelected || this.otherValue
43665
+ || isOnValueChanged && !this.prevOtherErrorValue)
43221
43666
  return;
43222
43667
  var otherEmptyError = new _error__WEBPACK_IMPORTED_MODULE_5__["OtherEmptyError"](this.otherErrorText, this);
43223
43668
  otherEmptyError.onUpdateErrorTextCallback = function (err) { err.text = _this.otherErrorText; };
@@ -43814,7 +44259,7 @@ var QuestionSelectBase = /** @class */ (function (_super) {
43814
44259
  configurable: true
43815
44260
  });
43816
44261
  QuestionSelectBase.prototype.getItemEnabled = function (item) {
43817
- return !this.isInputReadOnly && item.isEnabled;
44262
+ return !this.isDisabledAttr && item.isEnabled;
43818
44263
  };
43819
44264
  QuestionSelectBase.prototype.afterRender = function (el) {
43820
44265
  _super.prototype.afterRender.call(this, el);
@@ -44196,7 +44641,6 @@ var QuestionBooleanModel = /** @class */ (function (_super) {
44196
44641
  this.value = val == true ? this.getValueTrue() : this.getValueFalse();
44197
44642
  this.booleanValueRendered = val;
44198
44643
  }
44199
- this.updateThumbMargin();
44200
44644
  };
44201
44645
  Object.defineProperty(QuestionBooleanModel.prototype, "defaultValue", {
44202
44646
  get: function () {
@@ -44401,6 +44845,15 @@ var QuestionBooleanModel = /** @class */ (function (_super) {
44401
44845
  .append(this.cssClasses.labelFalse, !this.isIndeterminate && checked === this.swapOrder)
44402
44846
  .toString();
44403
44847
  };
44848
+ QuestionBooleanModel.prototype.updateValueFromSurvey = function (newValue, clearData) {
44849
+ if (clearData === void 0) { clearData = false; }
44850
+ _super.prototype.updateValueFromSurvey.call(this, newValue, clearData);
44851
+ this.updateThumbMargin();
44852
+ };
44853
+ QuestionBooleanModel.prototype.onValueChanged = function () {
44854
+ _super.prototype.onValueChanged.call(this);
44855
+ this.updateThumbMargin();
44856
+ };
44404
44857
  Object.defineProperty(QuestionBooleanModel.prototype, "svgIcon", {
44405
44858
  get: function () {
44406
44859
  if (this.booleanValue && this.cssClasses.svgIconCheckedId)
@@ -45020,6 +45473,8 @@ var QuestionCheckboxModel = /** @class */ (function (_super) {
45020
45473
  this.renderedValue = val;
45021
45474
  };
45022
45475
  QuestionCheckboxModel.prototype.clickItemHandler = function (item, checked) {
45476
+ if (this.isReadOnlyAttr)
45477
+ return;
45023
45478
  if (item === this.selectAllItem) {
45024
45479
  if (checked === true || checked === false) {
45025
45480
  this.isAllSelected = checked;
@@ -46904,6 +47359,9 @@ var QuestionCompositeModel = /** @class */ (function (_super) {
46904
47359
  this.contentPanel.getValue() : this.getValueForContentPanel(this.value);
46905
47360
  if (!val)
46906
47361
  val = {};
47362
+ if (!val.getType) {
47363
+ val = _helpers__WEBPACK_IMPORTED_MODULE_3__["Helpers"].getUnbindValue(val);
47364
+ }
46907
47365
  if (this.isValueEmpty(newValue) && !this.isEditingSurveyElement) {
46908
47366
  delete val[name];
46909
47367
  }
@@ -48293,7 +48751,16 @@ var QuestionFileModel = /** @class */ (function (_super) {
48293
48751
  }
48294
48752
  _this.clearFilesCore();
48295
48753
  };
48754
+ _this.doDownloadFileFromContainer = function (event) {
48755
+ event.stopPropagation();
48756
+ var currentTarget = event.currentTarget;
48757
+ if (currentTarget && currentTarget.getElementsByTagName) {
48758
+ var link = currentTarget.getElementsByTagName("a")[0];
48759
+ link === null || link === void 0 ? void 0 : link.click();
48760
+ }
48761
+ };
48296
48762
  _this.doDownloadFile = function (event, data) {
48763
+ event.stopPropagation();
48297
48764
  if (Object(_utils_utils__WEBPACK_IMPORTED_MODULE_6__["detectIEOrEdge"])()) {
48298
48765
  event.preventDefault();
48299
48766
  Object(_utils_utils__WEBPACK_IMPORTED_MODULE_6__["loadFileFromBase64"])(data.content, data.name);
@@ -49208,8 +49675,9 @@ var QuestionFileModel = /** @class */ (function (_super) {
49208
49675
  }
49209
49676
  this.clear();
49210
49677
  };
49211
- QuestionFileModel.prototype.doRemoveFile = function (data) {
49678
+ QuestionFileModel.prototype.doRemoveFile = function (data, event) {
49212
49679
  var _this = this;
49680
+ event.stopPropagation();
49213
49681
  if (this.needConfirmRemoveFile) {
49214
49682
  Object(_utils_utils__WEBPACK_IMPORTED_MODULE_6__["confirmActionAsync"])(this.getConfirmRemoveMessage(data.name), function () { _this.removeFileCore(data); }, undefined, this.getLocale(), this.survey.rootElement);
49215
49683
  return;
@@ -50579,6 +51047,16 @@ var MatrixRowModel = /** @class */ (function (_super) {
50579
51047
  enumerable: false,
50580
51048
  configurable: true
50581
51049
  });
51050
+ Object.defineProperty(MatrixRowModel.prototype, "isReadOnlyAttr", {
51051
+ get: function () { return this.data.isReadOnlyAttr; },
51052
+ enumerable: false,
51053
+ configurable: true
51054
+ });
51055
+ Object.defineProperty(MatrixRowModel.prototype, "isDisabledAttr", {
51056
+ get: function () { return !this.item.enabled || this.data.isDisabledAttr; },
51057
+ enumerable: false,
51058
+ configurable: true
51059
+ });
50582
51060
  Object.defineProperty(MatrixRowModel.prototype, "rowTextClasses", {
50583
51061
  get: function () {
50584
51062
  return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_11__["CssClassBuilder"]().append(this.data.cssClasses.rowTextCell).toString();
@@ -51417,6 +51895,7 @@ var QuestionMatrixDropdownModel = /** @class */ (function (_super) {
51417
51895
  __extends(QuestionMatrixDropdownModel, _super);
51418
51896
  function QuestionMatrixDropdownModel(name) {
51419
51897
  var _this = _super.call(this, name) || this;
51898
+ _this.defaultValuesInRows = {};
51420
51899
  _this.createLocalizableString("totalText", _this, true);
51421
51900
  _this.registerPropertyChangedHandlers(["rows"], function () {
51422
51901
  _this.clearGeneratedRows();
@@ -51539,6 +52018,29 @@ var QuestionMatrixDropdownModel = /** @class */ (function (_super) {
51539
52018
  _super.prototype.clearValueIfInvisibleCore.call(this, reason);
51540
52019
  this.clearInvisibleValuesInRows();
51541
52020
  };
52021
+ QuestionMatrixDropdownModel.prototype.clearGeneratedRows = function () {
52022
+ var _this = this;
52023
+ if (!this.generatedVisibleRows)
52024
+ return;
52025
+ if (!this.isDisposed) {
52026
+ this.generatedVisibleRows.forEach(function (row) {
52027
+ _this.defaultValuesInRows[row.rowName] = row.getNamesWithDefaultValues();
52028
+ });
52029
+ }
52030
+ _super.prototype.clearGeneratedRows.call(this);
52031
+ };
52032
+ QuestionMatrixDropdownModel.prototype.getRowValueForCreation = function (val, rowValue) {
52033
+ var res = val[rowValue];
52034
+ if (!res)
52035
+ return res;
52036
+ var names = this.defaultValuesInRows[rowValue];
52037
+ if (!Array.isArray(names) || names.length === 0)
52038
+ return res;
52039
+ names.forEach(function (name) {
52040
+ delete res[name];
52041
+ });
52042
+ return res;
52043
+ };
51542
52044
  QuestionMatrixDropdownModel.prototype.generateRows = function () {
51543
52045
  var result = new Array();
51544
52046
  var rows = !!this.filteredRows ? this.filteredRows : this.rows;
@@ -51548,9 +52050,10 @@ var QuestionMatrixDropdownModel = /** @class */ (function (_super) {
51548
52050
  if (!val)
51549
52051
  val = {};
51550
52052
  for (var i = 0; i < rows.length; i++) {
51551
- if (this.isValueEmpty(rows[i].value))
52053
+ var row = rows[i];
52054
+ if (this.isValueEmpty(row.value))
51552
52055
  continue;
51553
- result.push(this.createMatrixRow(rows[i], val[rows[i].value]));
52056
+ result.push(this.createMatrixRow(row, this.getRowValueForCreation(val, row.value)));
51554
52057
  }
51555
52058
  return result;
51556
52059
  };
@@ -52011,18 +52514,22 @@ var MatrixDropdownRowModelBase = /** @class */ (function () {
52011
52514
  }
52012
52515
  }
52013
52516
  res.row = this.getAllValues();
52517
+ this.applyRowVariablesToValues(res, this.rowIndex);
52014
52518
  return res;
52015
52519
  };
52016
52520
  MatrixDropdownRowModelBase.prototype.getFilteredProperties = function () {
52017
52521
  return { survey: this.getSurvey(), row: this };
52018
52522
  };
52523
+ MatrixDropdownRowModelBase.prototype.applyRowVariablesToValues = function (res, rowIndex) {
52524
+ res[MatrixDropdownRowModelBase.IndexVariableName] = rowIndex;
52525
+ res[MatrixDropdownRowModelBase.RowValueVariableName] = this.rowName;
52526
+ };
52019
52527
  MatrixDropdownRowModelBase.prototype.runCondition = function (values, properties) {
52020
52528
  if (!!this.data) {
52021
52529
  values[MatrixDropdownRowModelBase.OwnerVariableName] = this.data.value;
52022
52530
  }
52023
52531
  var rowIndex = this.rowIndex;
52024
- values[MatrixDropdownRowModelBase.IndexVariableName] = rowIndex;
52025
- values[MatrixDropdownRowModelBase.RowValueVariableName] = this.rowName;
52532
+ this.applyRowVariablesToValues(values, rowIndex);
52026
52533
  var newProps = _helpers__WEBPACK_IMPORTED_MODULE_2__["Helpers"].createCopy(properties);
52027
52534
  newProps[MatrixDropdownRowModelBase.RowVariableName] = this;
52028
52535
  var rowValues = rowIndex > 0 ? this.data.getRowValue(this.rowIndex - 1) : this.value;
@@ -52037,6 +52544,15 @@ var MatrixDropdownRowModelBase = /** @class */ (function () {
52037
52544
  this.detailPanel.runCondition(values, newProps);
52038
52545
  }
52039
52546
  };
52547
+ MatrixDropdownRowModelBase.prototype.getNamesWithDefaultValues = function () {
52548
+ var res = [];
52549
+ this.questions.forEach(function (q) {
52550
+ if (q.isValueDefault) {
52551
+ res.push(q.getValueName());
52552
+ }
52553
+ });
52554
+ return res;
52555
+ };
52040
52556
  MatrixDropdownRowModelBase.prototype.clearValue = function (keepComment) {
52041
52557
  var questions = this.questions;
52042
52558
  for (var i = 0; i < questions.length; i++) {
@@ -55269,6 +55785,13 @@ var MatrixDropdownColumn = /** @class */ (function (_super) {
55269
55785
  json[prop] = _this.jsonObj[prop];
55270
55786
  });
55271
55787
  }
55788
+ if (json["choicesOrder"] === "random") {
55789
+ json["choicesOrder"] = "none";
55790
+ var visChoices = this.templateQuestion["visibleChoices"];
55791
+ if (Array.isArray(visChoices)) {
55792
+ json["choices"] = visChoices;
55793
+ }
55794
+ }
55272
55795
  new _jsonobject__WEBPACK_IMPORTED_MODULE_0__["JsonObject"]().toObject(json, question);
55273
55796
  question.isContentElement = this.templateQuestion.isContentElement;
55274
55797
  this.previousChoicesId = undefined;
@@ -55291,8 +55814,12 @@ var MatrixDropdownColumn = /** @class */ (function (_super) {
55291
55814
  }
55292
55815
  if (!this.colOwner || this.isLoadingFromJson)
55293
55816
  return;
55294
- if (this.isShowInMultipleColumns && ["visibleChoices", "choices"].indexOf(name) > -1) {
55295
- this.colOwner.onShowInMultipleColumnsChanged(this);
55817
+ if (this.isShowInMultipleColumns) {
55818
+ if (name === "choicesOrder")
55819
+ return;
55820
+ if (["visibleChoices", "choices"].indexOf(name) > -1) {
55821
+ this.colOwner.onShowInMultipleColumnsChanged(this);
55822
+ }
55296
55823
  }
55297
55824
  if (!_jsonobject__WEBPACK_IMPORTED_MODULE_0__["Serializer"].hasOriginalProperty(this, name))
55298
55825
  return;
@@ -55772,11 +56299,9 @@ var QuestionMatrixDropdownRenderedTable = /** @class */ (function (_super) {
55772
56299
  function QuestionMatrixDropdownRenderedTable(matrix) {
55773
56300
  var _this = _super.call(this) || this;
55774
56301
  _this.matrix = matrix;
55775
- _this.renderedRowsChangedCallback = function () { };
55776
56302
  _this._renderedRows = [];
55777
56303
  _this.renderedRowsAnimation = new _utils_animation__WEBPACK_IMPORTED_MODULE_8__["AnimationGroup"](_this.getRenderedRowsAnimationOptions(), function (val) {
55778
56304
  _this._renderedRows = val;
55779
- _this.renderedRowsChangedCallback();
55780
56305
  }, function () { return _this._renderedRows; });
55781
56306
  _this.hasActionCellInRowsValues = {};
55782
56307
  _this.build();
@@ -55796,6 +56321,7 @@ var QuestionMatrixDropdownRenderedTable = /** @class */ (function (_super) {
55796
56321
  isAnimationEnabled: function () {
55797
56322
  return _this.animationAllowed;
55798
56323
  },
56324
+ getRerenderEvent: function () { return _this.onElementRerendered; },
55799
56325
  getAnimatedElement: function (el) {
55800
56326
  return el.getRootElement();
55801
56327
  },
@@ -56656,7 +57182,6 @@ var QuestionMatrixDropdownRenderedTable = /** @class */ (function (_super) {
56656
57182
  __decorate([
56657
57183
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__["propertyArray"])({
56658
57184
  onPush: function (_, i, target) {
56659
- target.renderedRowsChangedCallback();
56660
57185
  target.updateRenderedRows();
56661
57186
  },
56662
57187
  onRemove: function (_, i, target) {
@@ -59806,6 +60331,7 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
59806
60331
  .toString();
59807
60332
  };
59808
60333
  return {
60334
+ getRerenderEvent: function () { return _this.onElementRerendered; },
59809
60335
  getAnimatedElement: function (panel) {
59810
60336
  var _a, _b;
59811
60337
  if (panel && _this.cssContent) {
@@ -61310,7 +61836,7 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
61310
61836
  this.setOnCompleteAsyncInPanel(panels[i]);
61311
61837
  }
61312
61838
  for (var i = 0; i < panels.length; i++) {
61313
- var pnlError = panels[i].hasErrors(fireCallback, !!rec && rec.focuseOnFirstError, rec);
61839
+ var pnlError = panels[i].hasErrors(fireCallback, !!rec && rec.focusOnFirstError, rec);
61314
61840
  pnlError = this.isValueDuplicated(panels[i], keyValues, rec, fireCallback) || pnlError;
61315
61841
  if (!this.isRenderModeList && pnlError && !res) {
61316
61842
  this.currentIndex = i;
@@ -62142,6 +62668,8 @@ var QuestionRadiogroupModel = /** @class */ (function (_super) {
62142
62668
  configurable: true
62143
62669
  });
62144
62670
  QuestionRadiogroupModel.prototype.clickItemHandler = function (item) {
62671
+ if (this.isReadOnlyAttr)
62672
+ return;
62145
62673
  this.renderedValue = item.value;
62146
62674
  };
62147
62675
  QuestionRadiogroupModel.prototype.getDefaultTitleActions = function () {
@@ -62214,6 +62742,7 @@ __webpack_require__.r(__webpack_exports__);
62214
62742
  /* harmony import */ var _src_settings__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../src/settings */ "./src/settings.ts");
62215
62743
  /* harmony import */ var _utils_animation__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./utils/animation */ "./src/utils/animation.ts");
62216
62744
  /* harmony import */ var _utils_dragOrClickHelper__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./utils/dragOrClickHelper */ "./src/utils/dragOrClickHelper.ts");
62745
+ /* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./utils/utils */ "./src/utils/utils.ts");
62217
62746
  var __extends = (undefined && undefined.__extends) || (function () {
62218
62747
  var extendStatics = function (d, b) {
62219
62748
  extendStatics = Object.setPrototypeOf ||
@@ -62247,6 +62776,7 @@ var __decorate = (undefined && undefined.__decorate) || function (decorators, ta
62247
62776
 
62248
62777
 
62249
62778
 
62779
+
62250
62780
  /**
62251
62781
  * A class that describes the Ranking question type.
62252
62782
  *
@@ -62266,33 +62796,37 @@ var QuestionRankingModel = /** @class */ (function (_super) {
62266
62796
  if (_this.visibleChoices.length === 1 && !_this.selectToRankEnabled) {
62267
62797
  _this.value = [];
62268
62798
  _this.value.push(_this.visibleChoices[0].value);
62269
- _this.updateRankingChoicesSync();
62799
+ _this.updateRankingChoices();
62270
62800
  return;
62271
62801
  }
62272
62802
  if (_this.isEmpty()) {
62273
- _this.updateRankingChoicesSync();
62803
+ _this.updateRankingChoices();
62274
62804
  return;
62275
62805
  }
62276
62806
  if (_this.selectToRankEnabled) {
62277
- _this.updateRankingChoicesSync();
62807
+ _this.updateRankingChoices();
62278
62808
  return;
62279
62809
  }
62280
62810
  if (_this.visibleChoices.length > _this.value.length)
62281
62811
  _this.addToValueByVisibleChoices();
62282
62812
  if (_this.visibleChoices.length < _this.value.length)
62283
62813
  _this.removeFromValueByVisibleChoices();
62284
- _this.updateRankingChoicesSync();
62814
+ _this.updateRankingChoices();
62285
62815
  };
62286
62816
  _this.localeChanged = function () {
62287
62817
  _super.prototype.localeChanged.call(_this);
62288
62818
  _this.updateRankingChoicesSync();
62289
62819
  };
62290
- _this._rankingChoicesAnimation = new _utils_animation__WEBPACK_IMPORTED_MODULE_10__["AnimationGroup"](_this.getChoicesAnimation(true), function (val) {
62291
- _this.setPropertyValue("rankingChoices", val);
62292
- }, function () { return _this.rankingChoices; });
62293
- _this._unRankingChoicesAnimation = new _utils_animation__WEBPACK_IMPORTED_MODULE_10__["AnimationGroup"](_this.getChoicesAnimation(false), function (val) {
62294
- _this.setPropertyValue("unRankingChoices", val);
62295
- }, function () { return _this.unRankingChoices; });
62820
+ _this._rankingChoicesAnimation = new _utils_animation__WEBPACK_IMPORTED_MODULE_10__["AnimationGroup"](_this.getChoicesAnimationOptions(true), function (val) {
62821
+ _this._renderedRankingChoices = val;
62822
+ }, function () { return _this.renderedRankingChoices; });
62823
+ _this._unRankingChoicesAnimation = new _utils_animation__WEBPACK_IMPORTED_MODULE_10__["AnimationGroup"](_this.getChoicesAnimationOptions(false), function (val) {
62824
+ _this._renderedUnRankingChoices = val;
62825
+ }, function () { return _this.renderedUnRankingChoices; });
62826
+ _this.rankingChoices = [];
62827
+ _this.unRankingChoices = [];
62828
+ _this._renderedRankingChoices = [];
62829
+ _this._renderedUnRankingChoices = [];
62296
62830
  _this.handlePointerDown = function (event, choice, node) {
62297
62831
  var target = event.target;
62298
62832
  if (!_this.isDragStartNodeValid(target))
@@ -62316,6 +62850,8 @@ var QuestionRankingModel = /** @class */ (function (_super) {
62316
62850
  }
62317
62851
  };
62318
62852
  _this.handleKeydown = function (event, choice) {
62853
+ if (_this.isReadOnlyAttr)
62854
+ return;
62319
62855
  if (!_this.isDesignMode) {
62320
62856
  var key = event.key;
62321
62857
  var index = _this.rankingChoices.indexOf(choice);
@@ -62323,27 +62859,16 @@ var QuestionRankingModel = /** @class */ (function (_super) {
62323
62859
  _this.handleKeydownSelectToRank(event, choice);
62324
62860
  return;
62325
62861
  }
62326
- if (key === "ArrowUp" && index) {
62327
- _this.handleArrowKeys(index, choice, false);
62328
- event.preventDefault();
62329
- }
62330
- if (key === "ArrowDown" && index !== _this.rankingChoices.length - 1) {
62331
- _this.handleArrowKeys(index, choice, true);
62332
- event.preventDefault();
62862
+ if ((key === "ArrowUp" && index) || (key === "ArrowDown" && index !== _this.rankingChoices.length - 1)) {
62863
+ var toIndex = key == "ArrowUp" ? index - 1 : index + 1;
62864
+ _this.dragDropRankingChoices.reorderRankedItem(_this, index, toIndex);
62865
+ _this.setValueAfterKeydown(toIndex, "", true, event);
62333
62866
  }
62334
62867
  }
62335
62868
  };
62336
- _this.handleArrowKeys = function (index, choice, isDown) {
62337
- var delta = isDown ? 1 : -1;
62338
- var choices = _this.rankingChoices;
62339
- choices.splice(index, 1);
62340
- choices.splice(index + delta, 0, choice);
62341
- _this.setValue();
62342
- setTimeout(function () {
62343
- _this.focusItem(index + delta);
62344
- }, 1);
62345
- };
62346
62869
  _this.focusItem = function (index, container) {
62870
+ if (!_this.domNode)
62871
+ return;
62347
62872
  if (_this.selectToRankEnabled && container) {
62348
62873
  var containerSelector = "[data-ranking='" + container + "']";
62349
62874
  var itemsNodes = _this.domNode.querySelectorAll(containerSelector + " " + "." + _this.cssClasses.item);
@@ -62357,16 +62882,12 @@ var QuestionRankingModel = /** @class */ (function (_super) {
62357
62882
  _this.isValueSetByUser = false;
62358
62883
  _this.setValue = function () {
62359
62884
  var value = [];
62360
- _this.rankingChoicesAnimation.cancel();
62361
- _this.unRankingChoicesAnimation.cancel();
62362
62885
  _this.rankingChoices.forEach(function (choice) {
62363
62886
  value.push(choice.value);
62364
62887
  });
62365
62888
  _this.value = value;
62366
62889
  _this.isValueSetByUser = true;
62367
62890
  };
62368
- _this.createNewArray("rankingChoices");
62369
- _this.createNewArray("unRankingChoices");
62370
62891
  _this.registerFunctionOnPropertyValueChanged("selectToRankEnabled", function () {
62371
62892
  _this.clearValue(true);
62372
62893
  _this.setDragDropRankingChoices();
@@ -62416,15 +62937,9 @@ var QuestionRankingModel = /** @class */ (function (_super) {
62416
62937
  return true;
62417
62938
  };
62418
62939
  QuestionRankingModel.prototype.getItemClassCore = function (item, options) {
62419
- var itemIndex = this.rankingChoices.indexOf(item);
62420
- var unrankedItemIndex = this.unRankingChoices.indexOf(item);
62421
- var dropTargetIndex = this.rankingChoices.indexOf(this.currentDropTarget);
62422
- var isDrop = (this.selectToRankEnabled && itemIndex > -1 && unrankedItemIndex > -1) || this.currentDropTarget === item;
62423
62940
  return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_6__["CssClassBuilder"]()
62424
62941
  .append(_super.prototype.getItemClassCore.call(this, item, options))
62425
- .append(this.cssClasses.itemGhostMod, isDrop)
62426
- .append("sv-dragdrop-movedown", itemIndex === dropTargetIndex + 1 && this.dropTargetNodeMove === "down")
62427
- .append("sv-dragdrop-moveup", itemIndex === dropTargetIndex - 1 && this.dropTargetNodeMove === "up")
62942
+ .append(this.cssClasses.itemGhostMod, this.currentDropTarget === item)
62428
62943
  .toString();
62429
62944
  };
62430
62945
  QuestionRankingModel.prototype.getContainerClasses = function (containerType) {
@@ -62432,10 +62947,10 @@ var QuestionRankingModel = /** @class */ (function (_super) {
62432
62947
  var isToContainer = containerType === "to";
62433
62948
  var isFromContainer = containerType === "from";
62434
62949
  if (isToContainer) {
62435
- isEmpty = this.rankingChoices.length === 0;
62950
+ isEmpty = this.renderedRankingChoices.length === 0;
62436
62951
  }
62437
62952
  else if (isFromContainer) {
62438
- isEmpty = this.unRankingChoices.length === 0;
62953
+ isEmpty = this.renderedUnRankingChoices.length === 0;
62439
62954
  }
62440
62955
  return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_6__["CssClassBuilder"]()
62441
62956
  .append(this.cssClasses.container)
@@ -62496,7 +63011,12 @@ var QuestionRankingModel = /** @class */ (function (_super) {
62496
63011
  _super.prototype.onSurveyValueChanged.call(this, newValue);
62497
63012
  if (this.isLoadingFromJson)
62498
63013
  return;
62499
- this.updateRankingChoicesSync();
63014
+ this.updateRankingChoices();
63015
+ };
63016
+ QuestionRankingModel.prototype.onSurveyLoad = function () {
63017
+ this.blockAnimations();
63018
+ _super.prototype.onSurveyLoad.call(this);
63019
+ this.releaseAnimations();
62500
63020
  };
62501
63021
  QuestionRankingModel.prototype.addToValueByVisibleChoices = function () {
62502
63022
  var newValue = this.value.slice();
@@ -62517,19 +63037,32 @@ var QuestionRankingModel = /** @class */ (function (_super) {
62517
63037
  }
62518
63038
  this.value = newValue;
62519
63039
  };
62520
- QuestionRankingModel.prototype.getChoicesAnimation = function (isRankingChoices) {
63040
+ QuestionRankingModel.prototype.getChoicesAnimationOptions = function (isRankingChoices) {
62521
63041
  var _this = this;
62522
63042
  return {
62523
- isAnimationEnabled: function () { return _this.animationAllowed; },
63043
+ getKey: function (item) {
63044
+ return item.value;
63045
+ },
63046
+ getRerenderEvent: function () {
63047
+ return _this.onElementRerendered;
63048
+ },
63049
+ isAnimationEnabled: function () { return _this.animationAllowed && !_this.isDesignMode && _this.isVisible && !!_this.domNode; },
63050
+ getReorderOptions: function (item, movedForward) {
63051
+ var cssClass = "";
63052
+ if (item !== _this.currentDropTarget) {
63053
+ cssClass = movedForward ? "sv-dragdrop-movedown" : "sv-dragdrop-moveup";
63054
+ }
63055
+ return { cssClass: cssClass };
63056
+ },
62524
63057
  getLeaveOptions: function (item) {
62525
- var choices = isRankingChoices ? _this.rankingChoices : _this.unRankingChoices;
63058
+ var choices = isRankingChoices ? _this.renderedRankingChoices : _this.renderedUnRankingChoices;
62526
63059
  if (_this.renderedSelectToRankAreasLayout == "vertical" && choices.length == 1 && choices.indexOf(item) >= 0) {
62527
63060
  return { cssClass: "sv-ranking-item--animate-item-removing-empty" };
62528
63061
  }
62529
63062
  return { cssClass: "sv-ranking-item--animate-item-removing" };
62530
63063
  },
62531
63064
  getEnterOptions: function (item) {
62532
- var choices = isRankingChoices ? _this.rankingChoices : _this.unRankingChoices;
63065
+ var choices = isRankingChoices ? _this.renderedRankingChoices : _this.renderedUnRankingChoices;
62533
63066
  if (_this.renderedSelectToRankAreasLayout == "vertical" && choices.length == 1 && choices.indexOf(item) >= 0) {
62534
63067
  return { cssClass: "sv-ranking-item--animate-item-adding-empty" };
62535
63068
  }
@@ -62537,9 +63070,20 @@ var QuestionRankingModel = /** @class */ (function (_super) {
62537
63070
  },
62538
63071
  getAnimatedElement: function (item) {
62539
63072
  var _a;
62540
- var containerSelector = isRankingChoices ? ".sv-ranking__container--to" : ".sv-ranking__container--from";
62541
- return (_a = _this.getWrapperElement()) === null || _a === void 0 ? void 0 : _a.querySelector(containerSelector + " .sv-ranking-item--ghost");
62542
- }
63073
+ var cssClasses = _this.cssClasses;
63074
+ var containerSelector = "";
63075
+ if (_this.selectToRankEnabled) {
63076
+ if (!isRankingChoices && cssClasses.containerFromMode) {
63077
+ containerSelector = Object(_utils_utils__WEBPACK_IMPORTED_MODULE_12__["classesToSelector"])(cssClasses.containerFromMode);
63078
+ }
63079
+ else if (isRankingChoices && cssClasses.containerToMode) {
63080
+ containerSelector = Object(_utils_utils__WEBPACK_IMPORTED_MODULE_12__["classesToSelector"])(cssClasses.containerToMode);
63081
+ }
63082
+ }
63083
+ var index = isRankingChoices ? _this.renderedRankingChoices.indexOf(item) : _this.renderedUnRankingChoices.indexOf(item);
63084
+ return (_a = _this.domNode) === null || _a === void 0 ? void 0 : _a.querySelector(containerSelector + " [data-sv-drop-target-ranking-item='" + index + "']");
63085
+ },
63086
+ allowSyncRemovalAddition: true
62543
63087
  };
62544
63088
  };
62545
63089
  Object.defineProperty(QuestionRankingModel.prototype, "rankingChoicesAnimation", {
@@ -62556,26 +63100,32 @@ var QuestionRankingModel = /** @class */ (function (_super) {
62556
63100
  enumerable: false,
62557
63101
  configurable: true
62558
63102
  });
62559
- Object.defineProperty(QuestionRankingModel.prototype, "rankingChoices", {
63103
+ Object.defineProperty(QuestionRankingModel.prototype, "renderedRankingChoices", {
62560
63104
  get: function () {
62561
- return this.getPropertyValue("rankingChoices", []);
63105
+ return this._renderedRankingChoices;
62562
63106
  },
62563
63107
  set: function (val) {
62564
- this._rankingChoicesAnimation.sync(val);
63108
+ this.rankingChoicesAnimation.sync(val);
62565
63109
  },
62566
63110
  enumerable: false,
62567
63111
  configurable: true
62568
63112
  });
62569
- Object.defineProperty(QuestionRankingModel.prototype, "unRankingChoices", {
63113
+ Object.defineProperty(QuestionRankingModel.prototype, "renderedUnRankingChoices", {
62570
63114
  get: function () {
62571
- return this.getPropertyValue("unRankingChoices", []);
63115
+ return this._renderedUnRankingChoices;
62572
63116
  },
62573
63117
  set: function (val) {
62574
- this._unRankingChoicesAnimation.sync(val);
63118
+ this.unRankingChoicesAnimation.sync(val);
62575
63119
  },
62576
63120
  enumerable: false,
62577
63121
  configurable: true
62578
63122
  });
63123
+ QuestionRankingModel.prototype.updateRenderedRankingChoices = function () {
63124
+ this.renderedRankingChoices = this.rankingChoices;
63125
+ };
63126
+ QuestionRankingModel.prototype.updateRenderedUnRankingChoices = function () {
63127
+ this.renderedUnRankingChoices = this.unRankingChoices;
63128
+ };
62579
63129
  QuestionRankingModel.prototype.updateRankingChoices = function (forceUpdate) {
62580
63130
  var _this = this;
62581
63131
  if (forceUpdate === void 0) { forceUpdate = false; }
@@ -62590,9 +63140,9 @@ var QuestionRankingModel = /** @class */ (function (_super) {
62590
63140
  // return;
62591
63141
  // }
62592
63142
  if (forceUpdate)
62593
- this.setPropertyValue("rankingChoices", []);
63143
+ this.rankingChoices = [];
62594
63144
  if (this.isEmpty()) {
62595
- this.setPropertyValue("rankingChoices", this.visibleChoices);
63145
+ this.rankingChoices = this.visibleChoices;
62596
63146
  return;
62597
63147
  }
62598
63148
  this.value.forEach(function (valueItem) {
@@ -62601,7 +63151,7 @@ var QuestionRankingModel = /** @class */ (function (_super) {
62601
63151
  newRankingChoices.push(choice);
62602
63152
  });
62603
63153
  });
62604
- this.setPropertyValue("rankingChoices", newRankingChoices);
63154
+ this.rankingChoices = newRankingChoices;
62605
63155
  };
62606
63156
  QuestionRankingModel.prototype.updateUnRankingChoices = function (newRankingChoices) {
62607
63157
  var unRankingChoices = [];
@@ -62681,6 +63231,7 @@ var QuestionRankingModel = /** @class */ (function (_super) {
62681
63231
  };
62682
63232
  //cross framework destroy
62683
63233
  QuestionRankingModel.prototype.beforeDestroyQuestionElement = function (el) {
63234
+ this.domNode = undefined;
62684
63235
  _super.prototype.beforeDestroyQuestionElement.call(this, el);
62685
63236
  };
62686
63237
  QuestionRankingModel.prototype.supportSelectAll = function () { return false; };
@@ -62709,20 +63260,16 @@ var QuestionRankingModel = /** @class */ (function (_super) {
62709
63260
  if (!this.checkMaxSelectedChoicesUnreached() || !this.canStartDragDueItemEnabled(movedElement))
62710
63261
  return;
62711
63262
  toIndex = this.value.length;
62712
- this.blockAnimations();
62713
63263
  dnd.selectToRank(this, fromIndex, toIndex);
62714
- this.releaseAnimations();
62715
- this.setValueAfterKeydown(toIndex, "to-container", isNeedFocus);
63264
+ this.setValueAfterKeydown(toIndex, "to-container", isNeedFocus, event);
62716
63265
  return;
62717
63266
  }
62718
63267
  if (!isMovedElementRanked)
62719
63268
  return;
62720
63269
  if (key === " ") {
62721
- this.blockAnimations();
62722
63270
  dnd.unselectFromRank(this, fromIndex);
62723
- this.releaseAnimations();
62724
63271
  toIndex = this.unRankingChoices.indexOf(movedElement); //'this.' leads to actual array after the 'unselectFromRank' method
62725
- this.setValueAfterKeydown(toIndex, "from-container", isNeedFocus);
63272
+ this.setValueAfterKeydown(toIndex, "from-container", isNeedFocus, event);
62726
63273
  return;
62727
63274
  }
62728
63275
  var delta = key === "ArrowUp" ? -1 : (key === "ArrowDown" ? 1 : 0);
@@ -62732,9 +63279,9 @@ var QuestionRankingModel = /** @class */ (function (_super) {
62732
63279
  if (toIndex < 0 || toIndex >= rankingChoices.length)
62733
63280
  return;
62734
63281
  dnd.reorderRankedItem(this, fromIndex, toIndex);
62735
- this.setValueAfterKeydown(toIndex, "to-container", isNeedFocus);
63282
+ this.setValueAfterKeydown(toIndex, "to-container", isNeedFocus, event);
62736
63283
  };
62737
- QuestionRankingModel.prototype.setValueAfterKeydown = function (index, container, isNeedFocus) {
63284
+ QuestionRankingModel.prototype.setValueAfterKeydown = function (index, container, isNeedFocus, event) {
62738
63285
  var _this = this;
62739
63286
  if (isNeedFocus === void 0) { isNeedFocus = true; }
62740
63287
  this.setValue();
@@ -62774,6 +63321,19 @@ var QuestionRankingModel = /** @class */ (function (_super) {
62774
63321
  enumerable: false,
62775
63322
  configurable: true
62776
63323
  });
63324
+ Object.defineProperty(QuestionRankingModel.prototype, "itemContentComponent", {
63325
+ /**
63326
+ * The name of a component used to render items.
63327
+ */
63328
+ get: function () {
63329
+ return this.getPropertyValue("itemContentComponent", "sv-ranking-item-content");
63330
+ },
63331
+ set: function (value) {
63332
+ this.setPropertyValue("itemContentComponent", value);
63333
+ },
63334
+ enumerable: false,
63335
+ configurable: true
63336
+ });
62777
63337
  Object.defineProperty(QuestionRankingModel.prototype, "selectToRankEnabled", {
62778
63338
  /**
62779
63339
  * Specifies whether users can select choices they want to rank.
@@ -62863,11 +63423,27 @@ var QuestionRankingModel = /** @class */ (function (_super) {
62863
63423
  configurable: true
62864
63424
  });
62865
63425
  __decorate([
62866
- Object(_jsonobject__WEBPACK_IMPORTED_MODULE_3__["property"])({ defaultValue: null })
62867
- ], QuestionRankingModel.prototype, "currentDropTarget", void 0);
63426
+ Object(_jsonobject__WEBPACK_IMPORTED_MODULE_3__["propertyArray"])({
63427
+ onSet: function (val, target) { return target.updateRenderedRankingChoices(); },
63428
+ onRemove: function (_, _i, target) { return target.updateRenderedRankingChoices(); },
63429
+ onPush: function (_, _i, target) { return target.updateRenderedRankingChoices(); },
63430
+ })
63431
+ ], QuestionRankingModel.prototype, "rankingChoices", void 0);
63432
+ __decorate([
63433
+ Object(_jsonobject__WEBPACK_IMPORTED_MODULE_3__["propertyArray"])({ onSet: function (val, target) { return target.updateRenderedUnRankingChoices(); },
63434
+ onRemove: function (_, _i, target) { return target.updateRenderedUnRankingChoices(); },
63435
+ onPush: function (_, _i, target) { return target.updateRenderedUnRankingChoices(); },
63436
+ })
63437
+ ], QuestionRankingModel.prototype, "unRankingChoices", void 0);
63438
+ __decorate([
63439
+ Object(_jsonobject__WEBPACK_IMPORTED_MODULE_3__["propertyArray"])()
63440
+ ], QuestionRankingModel.prototype, "_renderedRankingChoices", void 0);
63441
+ __decorate([
63442
+ Object(_jsonobject__WEBPACK_IMPORTED_MODULE_3__["propertyArray"])()
63443
+ ], QuestionRankingModel.prototype, "_renderedUnRankingChoices", void 0);
62868
63444
  __decorate([
62869
63445
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_3__["property"])({ defaultValue: null })
62870
- ], QuestionRankingModel.prototype, "dropTargetNodeMove", void 0);
63446
+ ], QuestionRankingModel.prototype, "currentDropTarget", void 0);
62871
63447
  __decorate([
62872
63448
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_3__["property"])({ defaultValue: true })
62873
63449
  ], QuestionRankingModel.prototype, "carryForwardStartUnranked", void 0);
@@ -62950,7 +63526,8 @@ _jsonobject__WEBPACK_IMPORTED_MODULE_3__["Serializer"].addClass("ranking", [
62950
63526
  dependsOn: "selectToRankEnabled", visibleIf: function (obj) {
62951
63527
  return !!obj.selectToRankEnabled;
62952
63528
  }, isSerializable: true },
62953
- { name: "itemComponent", visible: false, default: "" }
63529
+ { name: "itemComponent", visible: false, default: "" },
63530
+ { name: "itemContentComponent", visible: false, default: "sv-ranking-item-content" },
62954
63531
  ], function () {
62955
63532
  return new QuestionRankingModel("");
62956
63533
  }, "checkbox");
@@ -63593,6 +64170,8 @@ var QuestionRatingModel = /** @class */ (function (_super) {
63593
64170
  return !isNaN(val) ? parseFloat(val) : val;
63594
64171
  };
63595
64172
  QuestionRatingModel.prototype.setValueFromClick = function (value) {
64173
+ if (this.isReadOnlyAttr)
64174
+ return;
63596
64175
  if (this.value === parseFloat(value)) {
63597
64176
  this.clearValue(true);
63598
64177
  }
@@ -65654,8 +66233,11 @@ var QuestionTextModel = /** @class */ (function (_super) {
65654
66233
  enumerable: false,
65655
66234
  configurable: true
65656
66235
  });
66236
+ QuestionTextModel.prototype.getIsInputTextUpdate = function () {
66237
+ return this.maskTypeIsEmpty ? _super.prototype.getIsInputTextUpdate.call(this) : false;
66238
+ };
65657
66239
  QuestionTextModel.prototype.supportGoNextPageAutomatic = function () {
65658
- return !this.isSurveyInputTextUpdate &&
66240
+ return !this.getIsInputTextUpdate() &&
65659
66241
  ["date", "datetime-local"].indexOf(this.inputType) < 0;
65660
66242
  };
65661
66243
  QuestionTextModel.prototype.supportGoNextPageError = function () {
@@ -66129,15 +66711,11 @@ var QuestionTextBase = /** @class */ (function (_super) {
66129
66711
  enumerable: false,
66130
66712
  configurable: true
66131
66713
  });
66132
- Object.defineProperty(QuestionTextBase.prototype, "isSurveyInputTextUpdate", {
66133
- get: function () {
66134
- if (this.textUpdateMode == "default")
66135
- return !!this.survey ? this.survey.isUpdateValueTextOnTyping : false;
66136
- return this.textUpdateMode == "onTyping";
66137
- },
66138
- enumerable: false,
66139
- configurable: true
66140
- });
66714
+ QuestionTextBase.prototype.getIsInputTextUpdate = function () {
66715
+ if (this.textUpdateMode == "default")
66716
+ return _super.prototype.getIsInputTextUpdate.call(this);
66717
+ return this.textUpdateMode == "onTyping";
66718
+ };
66141
66719
  Object.defineProperty(QuestionTextBase.prototype, "renderedPlaceholder", {
66142
66720
  get: function () {
66143
66721
  return this.getPropertyValue("renderedPlaceholder");
@@ -66526,7 +67104,7 @@ var SurveyQuestionBooleanCheckbox = /** @class */ (function (_super) {
66526
67104
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("label", { className: cssClasses.checkboxLabel },
66527
67105
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("input", { ref: this.checkRef, type: "checkbox", name: this.question.name, value: this.question.booleanValue === null
66528
67106
  ? ""
66529
- : 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 }),
67107
+ : 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 }),
66530
67108
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", { className: cssClasses.checkboxMaterialDecorator },
66531
67109
  this.question.svgIcon ?
66532
67110
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("svg", { className: cssClasses.checkboxItemDecorator },
@@ -66594,7 +67172,7 @@ var SurveyQuestionBooleanRadio = /** @class */ (function (_super) {
66594
67172
  var cssClasses = this.question.cssClasses;
66595
67173
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { role: "presentation", className: this.question.getRadioItemClass(cssClasses, value) },
66596
67174
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("label", { className: cssClasses.radioLabel },
66597
- 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 }),
67175
+ 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 }),
66598
67176
  this.question.cssClasses.materialRadioDecorator ?
66599
67177
  (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", { className: cssClasses.materialRadioDecorator }, this.question.itemSvgIcon ?
66600
67178
  (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("svg", { className: cssClasses.itemRadioDecorator },
@@ -66719,7 +67297,7 @@ var SurveyQuestionBoolean = /** @class */ (function (_super) {
66719
67297
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("label", { className: itemClass, onClick: this.handleOnClick },
66720
67298
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("input", { ref: this.checkRef, type: "checkbox", name: this.question.name, value: this.question.booleanValue === null
66721
67299
  ? ""
66722
- : 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 }),
67300
+ : 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 }),
66723
67301
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: cssClasses.sliderGhost, onClick: function (event) { return _this.handleOnLabelClick(event, _this.question.swapOrder); } },
66724
67302
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", { className: this.question.getLabelCss(this.question.swapOrder) }, this.renderLocString(this.question.locLabelLeft))),
66725
67303
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: cssClasses.switch, onClick: this.handleOnSwitchClick },
@@ -67375,11 +67953,11 @@ var SurveyFilePreview = /** @class */ (function (_super) {
67375
67953
  var previews = this.question.previewValue.map(function (val, index) {
67376
67954
  if (!val)
67377
67955
  return null;
67378
- 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" } },
67956
+ 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" } },
67379
67957
  _this.renderFileSign(_this.question.cssClasses.fileSign, val),
67380
67958
  react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { className: _this.question.getImageWrapperCss(val) },
67381
67959
  _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),
67382
- 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); } },
67960
+ 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); } },
67383
67961
  react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { className: _this.question.cssClasses.removeFile }, _this.question.removeFileCaption),
67384
67962
  (_this.question.cssClasses.removeFileSvgIconId) ?
67385
67963
  (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),
@@ -67536,6 +68114,166 @@ _element_factory__WEBPACK_IMPORTED_MODULE_2__["ReactElementFactory"].Instance.re
67536
68114
  });
67537
68115
 
67538
68116
 
68117
+ /***/ }),
68118
+
68119
+ /***/ "./src/react/components/list/list-item-content.tsx":
68120
+ /*!*********************************************************!*\
68121
+ !*** ./src/react/components/list/list-item-content.tsx ***!
68122
+ \*********************************************************/
68123
+ /*! exports provided: ListItemContent */
68124
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
68125
+
68126
+ "use strict";
68127
+ __webpack_require__.r(__webpack_exports__);
68128
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ListItemContent", function() { return ListItemContent; });
68129
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
68130
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
68131
+ /* harmony import */ var _element_factory__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../element-factory */ "./src/react/element-factory.tsx");
68132
+ /* harmony import */ var _reactquestion_element__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../reactquestion_element */ "./src/react/reactquestion_element.tsx");
68133
+ /* 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");
68134
+ var __extends = (undefined && undefined.__extends) || (function () {
68135
+ var extendStatics = function (d, b) {
68136
+ extendStatics = Object.setPrototypeOf ||
68137
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
68138
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
68139
+ return extendStatics(d, b);
68140
+ };
68141
+ return function (d, b) {
68142
+ if (typeof b !== "function" && b !== null)
68143
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
68144
+ extendStatics(d, b);
68145
+ function __() { this.constructor = d; }
68146
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
68147
+ };
68148
+ })();
68149
+
68150
+
68151
+
68152
+
68153
+ var ListItemContent = /** @class */ (function (_super) {
68154
+ __extends(ListItemContent, _super);
68155
+ function ListItemContent() {
68156
+ return _super !== null && _super.apply(this, arguments) || this;
68157
+ }
68158
+ Object.defineProperty(ListItemContent.prototype, "model", {
68159
+ get: function () {
68160
+ return this.props.model;
68161
+ },
68162
+ enumerable: false,
68163
+ configurable: true
68164
+ });
68165
+ Object.defineProperty(ListItemContent.prototype, "item", {
68166
+ get: function () {
68167
+ return this.props.item;
68168
+ },
68169
+ enumerable: false,
68170
+ configurable: true
68171
+ });
68172
+ ListItemContent.prototype.getStateElement = function () {
68173
+ return this.item;
68174
+ };
68175
+ ListItemContent.prototype.render = function () {
68176
+ if (!this.item)
68177
+ return null;
68178
+ var content = [];
68179
+ var text = this.renderLocString(this.item.locTitle, undefined, "locString");
68180
+ if (this.item.iconName) {
68181
+ 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 });
68182
+ content.push(icon);
68183
+ content.push(react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { key: "text" }, text));
68184
+ }
68185
+ else {
68186
+ content.push(text);
68187
+ }
68188
+ if (this.item.markerIconName) {
68189
+ 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 });
68190
+ content.push(icon);
68191
+ }
68192
+ return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, content);
68193
+ };
68194
+ return ListItemContent;
68195
+ }(_reactquestion_element__WEBPACK_IMPORTED_MODULE_2__["SurveyElementBase"]));
68196
+
68197
+ _element_factory__WEBPACK_IMPORTED_MODULE_1__["ReactElementFactory"].Instance.registerElement("sv-list-item-content", function (props) {
68198
+ return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(ListItemContent, props);
68199
+ });
68200
+
68201
+
68202
+ /***/ }),
68203
+
68204
+ /***/ "./src/react/components/list/list-item-group.tsx":
68205
+ /*!*******************************************************!*\
68206
+ !*** ./src/react/components/list/list-item-group.tsx ***!
68207
+ \*******************************************************/
68208
+ /*! exports provided: ListItemGroup */
68209
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
68210
+
68211
+ "use strict";
68212
+ __webpack_require__.r(__webpack_exports__);
68213
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ListItemGroup", function() { return ListItemGroup; });
68214
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
68215
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
68216
+ /* harmony import */ var _element_factory__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../element-factory */ "./src/react/element-factory.tsx");
68217
+ /* harmony import */ var _reactquestion_element__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../reactquestion_element */ "./src/react/reactquestion_element.tsx");
68218
+ /* harmony import */ var _popup_popup__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../popup/popup */ "./src/react/components/popup/popup.tsx");
68219
+ var __extends = (undefined && undefined.__extends) || (function () {
68220
+ var extendStatics = function (d, b) {
68221
+ extendStatics = Object.setPrototypeOf ||
68222
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
68223
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
68224
+ return extendStatics(d, b);
68225
+ };
68226
+ return function (d, b) {
68227
+ if (typeof b !== "function" && b !== null)
68228
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
68229
+ extendStatics(d, b);
68230
+ function __() { this.constructor = d; }
68231
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
68232
+ };
68233
+ })();
68234
+
68235
+
68236
+
68237
+
68238
+ var ListItemGroup = /** @class */ (function (_super) {
68239
+ __extends(ListItemGroup, _super);
68240
+ function ListItemGroup() {
68241
+ return _super !== null && _super.apply(this, arguments) || this;
68242
+ }
68243
+ Object.defineProperty(ListItemGroup.prototype, "model", {
68244
+ get: function () {
68245
+ return this.props.model;
68246
+ },
68247
+ enumerable: false,
68248
+ configurable: true
68249
+ });
68250
+ Object.defineProperty(ListItemGroup.prototype, "item", {
68251
+ get: function () {
68252
+ return this.props.item;
68253
+ },
68254
+ enumerable: false,
68255
+ configurable: true
68256
+ });
68257
+ ListItemGroup.prototype.getStateElement = function () {
68258
+ return this.item;
68259
+ };
68260
+ ListItemGroup.prototype.render = function () {
68261
+ var _a;
68262
+ if (!this.item)
68263
+ return null;
68264
+ 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 });
68265
+ return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null,
68266
+ newElement,
68267
+ 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 }));
68268
+ };
68269
+ return ListItemGroup;
68270
+ }(_reactquestion_element__WEBPACK_IMPORTED_MODULE_2__["SurveyElementBase"]));
68271
+
68272
+ _element_factory__WEBPACK_IMPORTED_MODULE_1__["ReactElementFactory"].Instance.registerElement("sv-list-item-group", function (props) {
68273
+ return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(ListItemGroup, props);
68274
+ });
68275
+
68276
+
67539
68277
  /***/ }),
67540
68278
 
67541
68279
  /***/ "./src/react/components/list/list-item.tsx":
@@ -67553,7 +68291,6 @@ __webpack_require__.r(__webpack_exports__);
67553
68291
  /* harmony import */ var _element_factory__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../element-factory */ "./src/react/element-factory.tsx");
67554
68292
  /* harmony import */ var _reactquestion_element__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../reactquestion_element */ "./src/react/reactquestion_element.tsx");
67555
68293
  /* harmony import */ var _reactSurvey__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../reactSurvey */ "./src/react/reactSurvey.tsx");
67556
- /* 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");
67557
68294
  var __extends = (undefined && undefined.__extends) || (function () {
67558
68295
  var extendStatics = function (d, b) {
67559
68296
  extendStatics = Object.setPrototypeOf ||
@@ -67573,7 +68310,6 @@ var __extends = (undefined && undefined.__extends) || (function () {
67573
68310
 
67574
68311
 
67575
68312
 
67576
-
67577
68313
  var ListItem = /** @class */ (function (_super) {
67578
68314
  __extends(ListItem, _super);
67579
68315
  function ListItem() {
@@ -67608,25 +68344,9 @@ var ListItem = /** @class */ (function (_super) {
67608
68344
  paddingInlineStart: this.model.getItemIndent(this.item)
67609
68345
  };
67610
68346
  var className = this.model.getItemClass(this.item);
67611
- var content = [];
67612
- if (!this.item.component) {
67613
- var text = this.renderLocString(this.item.locTitle, undefined, "locString");
67614
- if (this.item.iconName) {
67615
- 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 });
67616
- content.push(icon);
67617
- content.push(react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { key: 2 }, text));
67618
- }
67619
- else {
67620
- content.push(text);
67621
- }
67622
- }
67623
- else {
67624
- var newElement = _element_factory__WEBPACK_IMPORTED_MODULE_1__["ReactElementFactory"].Instance.createElement(this.item.component, { item: this.item, key: this.item.id });
67625
- if (!!newElement) {
67626
- content.push(newElement);
67627
- }
67628
- }
67629
- var contentWrap = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { style: contentWrapStyle, className: this.model.cssClasses.itemBody, title: this.item.locTitle.calculatedText }, content);
68347
+ var itemContent = this.item.component || "sv-list-item-content";
68348
+ var newElement = _element_factory__WEBPACK_IMPORTED_MODULE_1__["ReactElementFactory"].Instance.createElement(itemContent, { item: this.item, key: this.item.id, model: this.model });
68349
+ 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);
67630
68350
  var separator = this.item.needSeparator ? react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { className: this.model.cssClasses.itemSeparator }) : null;
67631
68351
  var isVisible = this.model.isItemVisible(this.item);
67632
68352
  var style = {
@@ -68596,7 +69316,7 @@ var Popup = /** @class */ (function (_super) {
68596
69316
  };
68597
69317
  Popup.prototype.setTargetElement = function () {
68598
69318
  var container = this.containerRef.current;
68599
- this.popup.setComponentElement(container, this.props.getTarget ? this.props.getTarget(container) : undefined);
69319
+ this.popup.setComponentElement(container, this.props.getTarget ? this.props.getTarget(container) : undefined, this.props.getArea ? this.props.getArea(container) : undefined);
68600
69320
  };
68601
69321
  Popup.prototype.componentDidMount = function () {
68602
69322
  _super.prototype.componentDidMount.call(this);
@@ -68925,7 +69645,7 @@ var RatingItemSmiley = /** @class */ (function (_super) {
68925
69645
  RatingItemSmiley.prototype.render = function () {
68926
69646
  var _this = this;
68927
69647
  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); } },
68928
- 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 }),
69648
+ 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 }),
68929
69649
  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 })));
68930
69650
  };
68931
69651
  return RatingItemSmiley;
@@ -68980,7 +69700,7 @@ var RatingItemStar = /** @class */ (function (_super) {
68980
69700
  RatingItemStar.prototype.render = function () {
68981
69701
  var _this = this;
68982
69702
  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); } },
68983
- 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 }),
69703
+ 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 }),
68984
69704
  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 }),
68985
69705
  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 })));
68986
69706
  };
@@ -69072,7 +69792,7 @@ var RatingItem = /** @class */ (function (_super) {
69072
69792
  RatingItem.prototype.render = function () {
69073
69793
  var itemText = this.renderLocString(this.item.locText);
69074
69794
  return (react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("label", { onMouseDown: this.handleOnMouseDown, className: this.question.getItemClassByText(this.item.itemValue, this.item.text) },
69075
- 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 }),
69795
+ 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 }),
69076
69796
  react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { className: this.question.cssClasses.itemText }, itemText)));
69077
69797
  };
69078
69798
  RatingItem.prototype.componentDidMount = function () {
@@ -69844,7 +70564,7 @@ var SurveyQuestionDropdownBase = /** @class */ (function (_super) {
69844
70564
  var text = (this.question.selectedItemLocText) ? this.renderLocString(this.question.selectedItemLocText) : "";
69845
70565
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
69846
70566
  // @ts-ignore
69847
- selectElement = react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { id: this.question.inputId, className: this.question.getControlClass(), disabled: true },
70567
+ 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() },
69848
70568
  text,
69849
70569
  this.renderReadOnlyElement());
69850
70570
  }
@@ -69878,7 +70598,7 @@ var SurveyQuestionDropdownBase = /** @class */ (function (_super) {
69878
70598
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { id: this.question.inputId, className: this.question.getControlClass(), tabIndex: dropdownListModel.noTabIndex ? undefined : 0,
69879
70599
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
69880
70600
  // @ts-ignore
69881
- 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 },
70601
+ 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 },
69882
70602
  dropdownListModel.showHintPrefix ?
69883
70603
  (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.question.cssClasses.hintPrefix },
69884
70604
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", null, dropdownListModel.hintStringPrefix))) : null,
@@ -69888,7 +70608,7 @@ var SurveyQuestionDropdownBase = /** @class */ (function (_super) {
69888
70608
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", { style: { visibility: "hidden" }, "data-bind": "text: model.filterString" }, dropdownListModel.inputStringRendered),
69889
70609
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", null, dropdownListModel.hintStringSuffix))) : null,
69890
70610
  valueElement,
69891
- 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 })),
70611
+ 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 })),
69892
70612
  this.createClearButton()));
69893
70613
  };
69894
70614
  SurveyQuestionDropdownBase.prototype.createClearButton = function () {
@@ -70734,6 +71454,8 @@ var SurveyQuestionImagePickerItem = /** @class */ (function (_super) {
70734
71454
  configurable: true
70735
71455
  });
70736
71456
  SurveyQuestionImagePickerItem.prototype.handleOnChange = function (event) {
71457
+ if (this.question.isReadOnlyAttr)
71458
+ return;
70737
71459
  if (this.question.multiSelect) {
70738
71460
  if (event.target.checked) {
70739
71461
  this.question.value = this.question.value.concat(event.target.value);
@@ -70780,7 +71502,7 @@ var SurveyQuestionImagePickerItem = /** @class */ (function (_super) {
70780
71502
  }
70781
71503
  var renderedItem = (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: itemClass },
70782
71504
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("label", { className: cssClasses.label },
70783
- 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 }),
71505
+ 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 }),
70784
71506
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.question.cssClasses.itemDecorator },
70785
71507
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.question.cssClasses.imageContainer },
70786
71508
  !!this.question.cssClasses.checkedItemDecorator ?
@@ -72839,7 +73561,7 @@ var SurveyQuestionCheckboxItem = /** @class */ (function (_super) {
72839
73561
  var itemLabel = !this.hideCaption ? react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", { className: this.cssClasses.controlLabel }, this.renderLocString(this.item.locText, this.textStyle)) : null;
72840
73562
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: itemClass, role: "presentation" },
72841
73563
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("label", { className: labelClass },
72842
- 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 }),
73564
+ 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 }),
72843
73565
  this.cssClasses.materialDecorator ?
72844
73566
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", { className: this.cssClasses.materialDecorator }, this.question.itemSvgIcon ?
72845
73567
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("svg", { className: this.cssClasses.itemDecorator },
@@ -72924,7 +73646,7 @@ var SurveyQuestionComment = /** @class */ (function (_super) {
72924
73646
  }
72925
73647
  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;
72926
73648
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null,
72927
- 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 } }),
73649
+ 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 } }),
72928
73650
  counter));
72929
73651
  };
72930
73652
  return SurveyQuestionComment;
@@ -73224,6 +73946,9 @@ var SurveyElementBase = /** @class */ (function (_super) {
73224
73946
  };
73225
73947
  SurveyElementBase.prototype.componentDidUpdate = function (prevProps, prevState) {
73226
73948
  this.makeBaseElementsReact();
73949
+ this.getStateElements().forEach(function (el) {
73950
+ el.afterRerender();
73951
+ });
73227
73952
  };
73228
73953
  SurveyElementBase.prototype.allowComponentUpdate = function () {
73229
73954
  this._allowComponentUpdate = true;
@@ -73295,12 +74020,14 @@ var SurveyElementBase = /** @class */ (function (_super) {
73295
74020
  SurveyElementBase.prototype.makeBaseElementsReact = function () {
73296
74021
  var els = this.getStateElements();
73297
74022
  for (var i = 0; i < els.length; i++) {
74023
+ els[i].enableOnElementRenderedEvent();
73298
74024
  this.makeBaseElementReact(els[i]);
73299
74025
  }
73300
74026
  };
73301
74027
  SurveyElementBase.prototype.unMakeBaseElementsReact = function () {
73302
74028
  var els = this.getStateElements();
73303
74029
  for (var i = 0; i < els.length; i++) {
74030
+ els[i].disableOnElementRenderedEvent();
73304
74031
  this.unMakeBaseElementReact(els[i]);
73305
74032
  }
73306
74033
  };
@@ -73752,9 +74479,19 @@ var SurveyQuestionFile = /** @class */ (function (_super) {
73752
74479
  var clearButton = this.question.showRemoveButton ? this.renderClearButton(this.question.cssClasses.removeButton) : null;
73753
74480
  var clearButtonBottom = this.question.showRemoveButtonBottom ? this.renderClearButton(this.question.cssClasses.removeButtonBottom) : null;
73754
74481
  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;
73755
- var fileInput = (this.isDisplayMode ?
73756
- 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 ?
73757
- 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);
74482
+ var fileInput;
74483
+ if (this.question.isReadOnlyAttr) {
74484
+ 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 });
74485
+ }
74486
+ else if (this.question.isDisabledAttr) {
74487
+ 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 });
74488
+ }
74489
+ else if (this.question.hasFileUI) {
74490
+ 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 });
74491
+ }
74492
+ else {
74493
+ fileInput = null;
74494
+ }
73758
74495
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.question.fileRootCss },
73759
74496
  fileInput,
73760
74497
  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 },
@@ -74146,7 +74883,7 @@ var SurveyQuestionMatrixCell = /** @class */ (function (_super) {
74146
74883
  mobileSpan));
74147
74884
  };
74148
74885
  SurveyQuestionMatrixCell.prototype.renderInput = function (inputId, isChecked) {
74149
- 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 }));
74886
+ 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 }));
74150
74887
  };
74151
74888
  return SurveyQuestionMatrixCell;
74152
74889
  }(_reactquestion_element__WEBPACK_IMPORTED_MODULE_1__["ReactSurveyElement"]));
@@ -74257,71 +74994,39 @@ var __extends = (undefined && undefined.__extends) || (function () {
74257
74994
 
74258
74995
 
74259
74996
 
74260
- var SurveyQuestionMatrixDropdownBase = /** @class */ (function (_super) {
74261
- __extends(SurveyQuestionMatrixDropdownBase, _super);
74262
- function SurveyQuestionMatrixDropdownBase(props) {
74263
- var _this = _super.call(this, props) || this;
74264
- //Create rendered table in contructor and not on rendering
74265
- var table = _this.question.renderedTable;
74266
- _this.state = _this.getState();
74267
- return _this;
74997
+ var SurveyQuestionMatrixTable = /** @class */ (function (_super) {
74998
+ __extends(SurveyQuestionMatrixTable, _super);
74999
+ function SurveyQuestionMatrixTable() {
75000
+ return _super !== null && _super.apply(this, arguments) || this;
74268
75001
  }
74269
- Object.defineProperty(SurveyQuestionMatrixDropdownBase.prototype, "question", {
75002
+ Object.defineProperty(SurveyQuestionMatrixTable.prototype, "question", {
74270
75003
  get: function () {
74271
- return this.questionBase;
75004
+ return this.props.question;
74272
75005
  },
74273
75006
  enumerable: false,
74274
75007
  configurable: true
74275
75008
  });
74276
- SurveyQuestionMatrixDropdownBase.prototype.getState = function (prevState) {
74277
- if (prevState === void 0) { prevState = null; }
74278
- return { rowCounter: !prevState ? 0 : prevState.rowCounter + 1 };
74279
- };
74280
- SurveyQuestionMatrixDropdownBase.prototype.updateStateOnCallback = function () {
74281
- if (this.isRendering)
74282
- return;
74283
- this.setState(this.getState(this.state));
74284
- };
74285
- SurveyQuestionMatrixDropdownBase.prototype.componentDidMount = function () {
74286
- var _this = this;
74287
- _super.prototype.componentDidMount.call(this);
74288
- this.question.visibleRowsChangedCallback = function () {
74289
- _this.updateStateOnCallback();
74290
- };
74291
- this.question.onRenderedTableResetCallback = function () {
74292
- _this.question.renderedTable.renderedRowsChangedCallback = function () {
74293
- _this.updateStateOnCallback();
74294
- };
74295
- _this.updateStateOnCallback();
74296
- };
74297
- this.question.renderedTable.renderedRowsChangedCallback = function () {
74298
- _this.updateStateOnCallback();
74299
- };
74300
- };
74301
- SurveyQuestionMatrixDropdownBase.prototype.componentWillUnmount = function () {
74302
- _super.prototype.componentWillUnmount.call(this);
74303
- this.question.visibleRowsChangedCallback = function () { };
74304
- this.question.onRenderedTableResetCallback = function () { };
74305
- this.question.renderedTable.renderedRowsChangedCallback = function () { };
74306
- };
74307
- SurveyQuestionMatrixDropdownBase.prototype.renderElement = function () {
74308
- return this.renderTableDiv();
75009
+ Object.defineProperty(SurveyQuestionMatrixTable.prototype, "creator", {
75010
+ get: function () {
75011
+ return this.props.creator;
75012
+ },
75013
+ enumerable: false,
75014
+ configurable: true
75015
+ });
75016
+ Object.defineProperty(SurveyQuestionMatrixTable.prototype, "table", {
75017
+ get: function () {
75018
+ return this.question.renderedTable;
75019
+ },
75020
+ enumerable: false,
75021
+ configurable: true
75022
+ });
75023
+ SurveyQuestionMatrixTable.prototype.getStateElement = function () {
75024
+ return this.table;
74309
75025
  };
74310
- SurveyQuestionMatrixDropdownBase.prototype.renderTableDiv = function () {
74311
- var _this = this;
74312
- var header = this.renderHeader();
74313
- var footers = this.renderFooter();
74314
- var rows = this.renderRows();
74315
- var divStyle = this.question.showHorizontalScroll
74316
- ? { overflowX: "scroll" }
74317
- : {};
74318
- return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { style: divStyle, className: this.question.cssClasses.tableWrapper, ref: function (root) { return (_this.setControl(root)); } },
74319
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("table", { className: this.question.getTableCss() },
74320
- header,
74321
- rows,
74322
- footers)));
75026
+ SurveyQuestionMatrixTable.prototype.wrapCell = function (cell, element, reason) {
75027
+ return this.props.wrapCell(cell, element, reason);
74323
75028
  };
74324
- SurveyQuestionMatrixDropdownBase.prototype.renderHeader = function () {
75029
+ SurveyQuestionMatrixTable.prototype.renderHeader = function () {
74325
75030
  var table = this.question.renderedTable;
74326
75031
  if (!table.showHeader)
74327
75032
  return null;
@@ -74349,14 +75054,14 @@ var SurveyQuestionMatrixDropdownBase = /** @class */ (function (_super) {
74349
75054
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("thead", null,
74350
75055
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("tr", null, headers)));
74351
75056
  };
74352
- SurveyQuestionMatrixDropdownBase.prototype.renderFooter = function () {
75057
+ SurveyQuestionMatrixTable.prototype.renderFooter = function () {
74353
75058
  var table = this.question.renderedTable;
74354
75059
  if (!table.showFooter)
74355
75060
  return null;
74356
75061
  var row = this.renderRow("footer", table.footerRow, this.question.cssClasses, "row-footer");
74357
75062
  return react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("tfoot", null, row);
74358
75063
  };
74359
- SurveyQuestionMatrixDropdownBase.prototype.renderRows = function () {
75064
+ SurveyQuestionMatrixTable.prototype.renderRows = function () {
74360
75065
  var cssClasses = this.question.cssClasses;
74361
75066
  var rows = [];
74362
75067
  var renderedRows = this.question.renderedTable.renderedRows;
@@ -74365,7 +75070,7 @@ var SurveyQuestionMatrixDropdownBase = /** @class */ (function (_super) {
74365
75070
  }
74366
75071
  return react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("tbody", null, rows);
74367
75072
  };
74368
- SurveyQuestionMatrixDropdownBase.prototype.renderRow = function (keyValue, row, cssClasses, reason) {
75073
+ SurveyQuestionMatrixTable.prototype.renderRow = function (keyValue, row, cssClasses, reason) {
74369
75074
  var matrixrow = [];
74370
75075
  var cells = row.cells;
74371
75076
  for (var i = 0; i < cells.length; i++) {
@@ -74374,7 +75079,7 @@ var SurveyQuestionMatrixDropdownBase = /** @class */ (function (_super) {
74374
75079
  var key = "row" + keyValue;
74375
75080
  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)));
74376
75081
  };
74377
- SurveyQuestionMatrixDropdownBase.prototype.renderCell = function (cell, index, cssClasses, reason) {
75082
+ SurveyQuestionMatrixTable.prototype.renderCell = function (cell, index, cssClasses, reason) {
74378
75083
  var key = "cell" + index;
74379
75084
  if (cell.hasQuestion) {
74380
75085
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"](SurveyQuestionMatrixDropdownCell, { key: key, cssClasses: cssClasses, cell: cell, creator: this.creator, reason: reason }));
@@ -74394,7 +75099,7 @@ var SurveyQuestionMatrixDropdownBase = /** @class */ (function (_super) {
74394
75099
  }
74395
75100
  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));
74396
75101
  };
74397
- SurveyQuestionMatrixDropdownBase.prototype.renderCellContent = function (cell, reason, cssClasses) {
75102
+ SurveyQuestionMatrixTable.prototype.renderCellContent = function (cell, reason, cssClasses) {
74398
75103
  var cellContent = null;
74399
75104
  var cellStyle = null;
74400
75105
  if (!!cell.width || !!cell.minWidth) {
@@ -74436,6 +75141,64 @@ var SurveyQuestionMatrixDropdownBase = /** @class */ (function (_super) {
74436
75141
  var readyCell = (react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null, cellContent));
74437
75142
  return this.wrapCell(cell, readyCell, reason);
74438
75143
  };
75144
+ SurveyQuestionMatrixTable.prototype.renderElement = function () {
75145
+ var header = this.renderHeader();
75146
+ var footers = this.renderFooter();
75147
+ var rows = this.renderRows();
75148
+ return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("table", { className: this.question.getTableCss() },
75149
+ header,
75150
+ rows,
75151
+ footers));
75152
+ };
75153
+ return SurveyQuestionMatrixTable;
75154
+ }(_reactquestion_element__WEBPACK_IMPORTED_MODULE_1__["SurveyElementBase"]));
75155
+ var SurveyQuestionMatrixDropdownBase = /** @class */ (function (_super) {
75156
+ __extends(SurveyQuestionMatrixDropdownBase, _super);
75157
+ function SurveyQuestionMatrixDropdownBase(props) {
75158
+ var _this = _super.call(this, props) || this;
75159
+ //Create rendered table in contructor and not on rendering
75160
+ var table = _this.question.renderedTable;
75161
+ _this.state = _this.getState();
75162
+ return _this;
75163
+ }
75164
+ Object.defineProperty(SurveyQuestionMatrixDropdownBase.prototype, "question", {
75165
+ get: function () {
75166
+ return this.questionBase;
75167
+ },
75168
+ enumerable: false,
75169
+ configurable: true
75170
+ });
75171
+ SurveyQuestionMatrixDropdownBase.prototype.getState = function (prevState) {
75172
+ if (prevState === void 0) { prevState = null; }
75173
+ return { rowCounter: !prevState ? 0 : prevState.rowCounter + 1 };
75174
+ };
75175
+ SurveyQuestionMatrixDropdownBase.prototype.updateStateOnCallback = function () {
75176
+ if (this.isRendering)
75177
+ return;
75178
+ this.setState(this.getState(this.state));
75179
+ };
75180
+ SurveyQuestionMatrixDropdownBase.prototype.componentDidMount = function () {
75181
+ var _this = this;
75182
+ _super.prototype.componentDidMount.call(this);
75183
+ this.question.onRenderedTableResetCallback = function () {
75184
+ _this.updateStateOnCallback();
75185
+ };
75186
+ };
75187
+ SurveyQuestionMatrixDropdownBase.prototype.componentWillUnmount = function () {
75188
+ _super.prototype.componentWillUnmount.call(this);
75189
+ this.question.onRenderedTableResetCallback = function () { };
75190
+ };
75191
+ SurveyQuestionMatrixDropdownBase.prototype.renderElement = function () {
75192
+ return this.renderTableDiv();
75193
+ };
75194
+ SurveyQuestionMatrixDropdownBase.prototype.renderTableDiv = function () {
75195
+ var _this = this;
75196
+ var divStyle = this.question.showHorizontalScroll
75197
+ ? { overflowX: "scroll" }
75198
+ : {};
75199
+ return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { style: divStyle, className: this.question.cssClasses.tableWrapper, ref: function (root) { return (_this.setControl(root)); } },
75200
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"](SurveyQuestionMatrixTable, { question: this.question, creator: this.creator, wrapCell: function (cell, element, reason) { return _this.wrapCell(cell, element, reason); } })));
75201
+ };
74439
75202
  return SurveyQuestionMatrixDropdownBase;
74440
75203
  }(_reactquestion_element__WEBPACK_IMPORTED_MODULE_1__["SurveyQuestionElementBase"]));
74441
75204
 
@@ -74554,6 +75317,8 @@ var SurveyQuestionMatrixDropdownCell = /** @class */ (function (_super) {
74554
75317
  return this.cell.headers;
74555
75318
  };
74556
75319
  SurveyQuestionMatrixDropdownCell.prototype.renderQuestion = function () {
75320
+ if (!this.question.isVisible)
75321
+ return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null);
74557
75322
  if (!this.cell.isChoice)
74558
75323
  return _reactquestion__WEBPACK_IMPORTED_MODULE_2__["SurveyQuestion"].renderQuestionBody(this.creator, this.question);
74559
75324
  if (this.cell.isOtherChoice)
@@ -75308,7 +76073,7 @@ var SurveyQuestionRadioItem = /** @class */ (function (_super) {
75308
76073
  var itemLabel = !this.hideCaption ? react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", { className: controlLabelClass }, this.renderLocString(this.item.locText, this.textStyle)) : null;
75309
76074
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: itemClass, role: "presentation" },
75310
76075
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("label", { onMouseDown: this.handleOnMouseDown, className: labelClass },
75311
- 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 }),
76076
+ 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 }),
75312
76077
  this.cssClasses.materialDecorator ?
75313
76078
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", { className: this.cssClasses.materialDecorator }, this.question.itemSvgIcon ?
75314
76079
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("svg", { className: this.cssClasses.itemDecorator },
@@ -75334,18 +76099,20 @@ _reactquestion_factory__WEBPACK_IMPORTED_MODULE_3__["ReactQuestionFactory"].Inst
75334
76099
  /*!*********************************************!*\
75335
76100
  !*** ./src/react/reactquestion_ranking.tsx ***!
75336
76101
  \*********************************************/
75337
- /*! exports provided: SurveyQuestionRanking, SurveyQuestionRankingItem */
76102
+ /*! exports provided: SurveyQuestionRanking, SurveyQuestionRankingItem, SurveyQuestionRankingItemContent */
75338
76103
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
75339
76104
 
75340
76105
  "use strict";
75341
76106
  __webpack_require__.r(__webpack_exports__);
75342
76107
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SurveyQuestionRanking", function() { return SurveyQuestionRanking; });
75343
76108
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SurveyQuestionRankingItem", function() { return SurveyQuestionRankingItem; });
76109
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SurveyQuestionRankingItemContent", function() { return SurveyQuestionRankingItemContent; });
75344
76110
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
75345
76111
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
75346
76112
  /* harmony import */ var _reactquestion_element__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./reactquestion_element */ "./src/react/reactquestion_element.tsx");
75347
76113
  /* harmony import */ var _reactquestion_factory__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./reactquestion_factory */ "./src/react/reactquestion_factory.tsx");
75348
76114
  /* harmony import */ var _reactsurveymodel__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./reactsurveymodel */ "./src/react/reactsurveymodel.tsx");
76115
+ /* harmony import */ var _element_factory__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./element-factory */ "./src/react/element-factory.tsx");
75349
76116
  var __extends = (undefined && undefined.__extends) || (function () {
75350
76117
  var extendStatics = function (d, b) {
75351
76118
  extendStatics = Object.setPrototypeOf ||
@@ -75365,6 +76132,7 @@ var __extends = (undefined && undefined.__extends) || (function () {
75365
76132
 
75366
76133
 
75367
76134
 
76135
+
75368
76136
  var SurveyQuestionRanking = /** @class */ (function (_super) {
75369
76137
  __extends(SurveyQuestionRanking, _super);
75370
76138
  function SurveyQuestionRanking() {
@@ -75386,15 +76154,15 @@ var SurveyQuestionRanking = /** @class */ (function (_super) {
75386
76154
  var unrankedItem = true;
75387
76155
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.question.rootClass, ref: function (root) { return (_this.setControl(root)); } },
75388
76156
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.question.getContainerClasses("from"), "data-ranking": "from-container" },
75389
- this.getItems(this.question.unRankingChoices, unrankedItem),
75390
- this.question.unRankingChoices.length === 0 ? react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.question.cssClasses.containerPlaceholder },
76157
+ this.getItems(this.question.renderedUnRankingChoices, unrankedItem),
76158
+ this.question.renderedUnRankingChoices.length === 0 ? react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.question.cssClasses.containerPlaceholder },
75391
76159
  " ",
75392
76160
  this.renderLocString(this.question.locSelectToRankEmptyRankedAreaText),
75393
76161
  " ") : null),
75394
76162
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.question.cssClasses.containersDivider }),
75395
76163
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.question.getContainerClasses("to"), "data-ranking": "to-container" },
75396
76164
  this.getItems(),
75397
- this.question.rankingChoices.length === 0 ? react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.question.cssClasses.containerPlaceholder },
76165
+ this.question.renderedRankingChoices.length === 0 ? react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.question.cssClasses.containerPlaceholder },
75398
76166
  " ",
75399
76167
  this.renderLocString(this.question.locSelectToRankEmptyUnrankedAreaText),
75400
76168
  " ") : null)));
@@ -75402,7 +76170,7 @@ var SurveyQuestionRanking = /** @class */ (function (_super) {
75402
76170
  };
75403
76171
  SurveyQuestionRanking.prototype.getItems = function (choices, unrankedItem) {
75404
76172
  var _this = this;
75405
- if (choices === void 0) { choices = this.question.rankingChoices; }
76173
+ if (choices === void 0) { choices = this.question.renderedRankingChoices; }
75406
76174
  var items = [];
75407
76175
  var _loop_1 = function (i) {
75408
76176
  var item = choices[i];
@@ -75535,6 +76303,7 @@ var SurveyQuestionRankingItem = /** @class */ (function (_super) {
75535
76303
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("use", { xlinkHref: this.question.dashSvgIcon })));
75536
76304
  };
75537
76305
  SurveyQuestionRankingItem.prototype.renderElement = function () {
76306
+ var itemContentComponent = _element_factory__WEBPACK_IMPORTED_MODULE_4__["ReactElementFactory"].Instance.createElement(this.question.itemContentComponent, { item: this.item, cssClasses: this.cssClasses });
75538
76307
  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 },
75539
76308
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { tabIndex: -1, style: { outline: "none" } },
75540
76309
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.cssClasses.itemGhostNode }),
@@ -75545,11 +76314,39 @@ var SurveyQuestionRankingItem = /** @class */ (function (_super) {
75545
76314
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("svg", { className: this.question.getIconFocusCss() },
75546
76315
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("use", { xlinkHref: this.question.arrowsSvgIcon }))),
75547
76316
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.question.getItemIndexClasses(this.item) }, (!this.unrankedItem && this.indexText) ? this.indexText : this.renderEmptyIcon()),
75548
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.cssClasses.controlLabel }, this.text)))));
76317
+ itemContentComponent))));
75549
76318
  };
75550
76319
  return SurveyQuestionRankingItem;
75551
76320
  }(_reactquestion_element__WEBPACK_IMPORTED_MODULE_1__["ReactSurveyElement"]));
75552
76321
 
76322
+ var SurveyQuestionRankingItemContent = /** @class */ (function (_super) {
76323
+ __extends(SurveyQuestionRankingItemContent, _super);
76324
+ function SurveyQuestionRankingItemContent() {
76325
+ return _super !== null && _super.apply(this, arguments) || this;
76326
+ }
76327
+ Object.defineProperty(SurveyQuestionRankingItemContent.prototype, "item", {
76328
+ get: function () {
76329
+ return this.props.item;
76330
+ },
76331
+ enumerable: false,
76332
+ configurable: true
76333
+ });
76334
+ Object.defineProperty(SurveyQuestionRankingItemContent.prototype, "cssClasses", {
76335
+ get: function () {
76336
+ return this.props.cssClasses;
76337
+ },
76338
+ enumerable: false,
76339
+ configurable: true
76340
+ });
76341
+ SurveyQuestionRankingItemContent.prototype.renderElement = function () {
76342
+ return react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.cssClasses.controlLabel }, _reactquestion_element__WEBPACK_IMPORTED_MODULE_1__["SurveyElementBase"].renderLocString(this.item.locText));
76343
+ };
76344
+ return SurveyQuestionRankingItemContent;
76345
+ }(_reactquestion_element__WEBPACK_IMPORTED_MODULE_1__["ReactSurveyElement"]));
76346
+
76347
+ _element_factory__WEBPACK_IMPORTED_MODULE_4__["ReactElementFactory"].Instance.registerElement("sv-ranking-item-content", function (props) {
76348
+ return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](SurveyQuestionRankingItemContent, props);
76349
+ });
75553
76350
  _reactquestion_factory__WEBPACK_IMPORTED_MODULE_2__["ReactQuestionFactory"].Instance.registerQuestion("ranking", function (props) {
75554
76351
  return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](SurveyQuestionRanking, props);
75555
76352
  });
@@ -75780,7 +76577,9 @@ var SurveyQuestionText = /** @class */ (function (_super) {
75780
76577
  }
75781
76578
  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;
75782
76579
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null,
75783
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("input", { id: this.question.inputId, disabled: this.isDisplayMode, className: inputClass, type: this.question.inputType,
76580
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("input", { id: this.question.inputId,
76581
+ // disabled={this.isDisplayMode}
76582
+ disabled: this.question.isDisabledAttr, readOnly: this.question.isReadOnlyAttr, className: inputClass, type: this.question.inputType,
75784
76583
  //ref={this.controlRef}
75785
76584
  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 }),
75786
76585
  counter));
@@ -78119,12 +78918,12 @@ var SurveyElement = /** @class */ (function (_super) {
78119
78918
  }
78120
78919
  return info;
78121
78920
  };
78122
- SurveyElement.ScrollElementToTop = function (elementId, scrollIfVisible) {
78921
+ SurveyElement.ScrollElementToTop = function (elementId, scrollIfVisible, scrollIntoViewOptions) {
78123
78922
  var root = _settings__WEBPACK_IMPORTED_MODULE_4__["settings"].environment.root;
78124
78923
  if (!elementId || typeof root === "undefined")
78125
78924
  return false;
78126
78925
  var el = root.getElementById(elementId);
78127
- return SurveyElement.ScrollElementToViewCore(el, false, scrollIfVisible);
78926
+ return SurveyElement.ScrollElementToViewCore(el, false, scrollIfVisible, scrollIntoViewOptions);
78128
78927
  };
78129
78928
  SurveyElement.ScrollElementToViewCore = function (el, checkLeft, scrollIfVisible, scrollIntoViewOptions) {
78130
78929
  if (!el || !el.scrollIntoView)
@@ -79215,6 +80014,8 @@ var SurveyElement = /** @class */ (function (_super) {
79215
80014
  enumerable: false,
79216
80015
  configurable: true
79217
80016
  });
80017
+ SurveyElement.prototype.onElementExpanded = function (elementIsRendered) {
80018
+ };
79218
80019
  SurveyElement.prototype.getExpandCollapseAnimationOptions = function () {
79219
80020
  var _this = this;
79220
80021
  var beforeRunAnimation = function (el) {
@@ -79225,12 +80026,16 @@ var SurveyElement = /** @class */ (function (_super) {
79225
80026
  _this.isAnimatingCollapseExpand = false;
79226
80027
  };
79227
80028
  return {
80029
+ getRerenderEvent: function () { return _this.onElementRerendered; },
79228
80030
  getEnterOptions: function () {
79229
80031
  var cssClasses = _this.isPanel ? _this.cssClasses.panel : _this.cssClasses;
79230
80032
  return {
79231
80033
  cssClass: cssClasses.contentFadeIn,
79232
80034
  onBeforeRunAnimation: beforeRunAnimation,
79233
- onAfterRunAnimation: afterRunAnimation,
80035
+ onAfterRunAnimation: function (el) {
80036
+ afterRunAnimation(el);
80037
+ _this.onElementExpanded(true);
80038
+ },
79234
80039
  };
79235
80040
  },
79236
80041
  getLeaveOptions: function () {
@@ -79251,15 +80056,26 @@ var SurveyElement = /** @class */ (function (_super) {
79251
80056
  }
79252
80057
  return undefined;
79253
80058
  },
79254
- isAnimationEnabled: function () { return _this.animationAllowed && !_this.isDesignMode; }
80059
+ isAnimationEnabled: function () { return _this.isExpandCollapseAnimationEnabled; }
79255
80060
  };
79256
80061
  };
80062
+ Object.defineProperty(SurveyElement.prototype, "isExpandCollapseAnimationEnabled", {
80063
+ get: function () {
80064
+ return this.animationAllowed && !this.isDesignMode;
80065
+ },
80066
+ enumerable: false,
80067
+ configurable: true
80068
+ });
79257
80069
  Object.defineProperty(SurveyElement.prototype, "renderedIsExpanded", {
79258
80070
  get: function () {
79259
80071
  return !!this._renderedIsExpanded;
79260
80072
  },
79261
80073
  set: function (val) {
80074
+ var oldValue = this._renderedIsExpanded;
79262
80075
  this.animationCollapsed.sync(val);
80076
+ if (!this.isExpandCollapseAnimationEnabled && !oldValue && this.renderedIsExpanded) {
80077
+ this.onElementExpanded(false);
80078
+ }
79263
80079
  },
79264
80080
  enumerable: false,
79265
80081
  configurable: true
@@ -80320,7 +81136,7 @@ var SurveyModel = /** @class */ (function (_super) {
80320
81136
  _this.onPopupVisibleChanged.add(function (_, opt) {
80321
81137
  if (opt.visible) {
80322
81138
  _this.onScrollCallback = function () {
80323
- opt.popup.toggleVisibility();
81139
+ opt.popup.hide();
80324
81140
  };
80325
81141
  }
80326
81142
  else {
@@ -80360,10 +81176,12 @@ var SurveyModel = /** @class */ (function (_super) {
80360
81176
  component: "sv-progress-requiredquestions",
80361
81177
  data: _this
80362
81178
  });
81179
+ var tocModel = new _surveyToc__WEBPACK_IMPORTED_MODULE_24__["TOCModel"](_this);
80363
81180
  _this.addLayoutElement({
80364
81181
  id: "toc-navigation",
80365
81182
  component: "sv-navigation-toc",
80366
- data: new _surveyToc__WEBPACK_IMPORTED_MODULE_24__["TOCModel"](_this)
81183
+ data: tocModel,
81184
+ processResponsiveness: function (width) { return tocModel.updateStickyTOCSize(_this.rootElement); }
80367
81185
  });
80368
81186
  _this.layoutElements.push({
80369
81187
  id: "buttons-navigation",
@@ -83628,7 +84446,7 @@ var SurveyModel = /** @class */ (function (_super) {
83628
84446
  if (this.isValidateOnComplete) {
83629
84447
  if (!this.isLastPage)
83630
84448
  return false;
83631
- return this.validate(true, true, func) !== true && !skipValidation;
84449
+ return this.validate(true, this.focusOnFirstError, func, true) !== true && !skipValidation;
83632
84450
  }
83633
84451
  return this.validateCurrentPage(func) !== true && !skipValidation;
83634
84452
  };
@@ -83760,25 +84578,27 @@ var SurveyModel = /** @class */ (function (_super) {
83760
84578
  * @see validateCurrentPage
83761
84579
  * @see validatePage
83762
84580
  */
83763
- SurveyModel.prototype.validate = function (fireCallback, focusOnFirstError, onAsyncValidation) {
84581
+ SurveyModel.prototype.validate = function (fireCallback, focusOnFirstError, onAsyncValidation, changeCurrentPage) {
83764
84582
  if (fireCallback === void 0) { fireCallback = true; }
83765
84583
  if (focusOnFirstError === void 0) { focusOnFirstError = false; }
83766
84584
  if (!!onAsyncValidation) {
83767
84585
  fireCallback = true;
83768
84586
  }
83769
84587
  var visPages = this.visiblePages;
83770
- var firstErrorPage = null;
83771
84588
  var res = true;
83772
- var rec = { fireCallback: fireCallback, focuseOnFirstError: focusOnFirstError, firstErrorQuestion: null, result: false };
84589
+ var rec = { fireCallback: fireCallback, focusOnFirstError: focusOnFirstError, firstErrorQuestion: null, result: false };
83773
84590
  for (var i = 0; i < visPages.length; i++) {
83774
84591
  if (!visPages[i].validate(fireCallback, focusOnFirstError, rec)) {
83775
- if (!firstErrorPage)
83776
- firstErrorPage = visPages[i];
83777
84592
  res = false;
83778
84593
  }
83779
84594
  }
83780
- if (focusOnFirstError && !!firstErrorPage && !!rec.firstErrorQuestion) {
83781
- rec.firstErrorQuestion.focus(true);
84595
+ if (!!rec.firstErrorQuestion && (focusOnFirstError || changeCurrentPage)) {
84596
+ if (focusOnFirstError) {
84597
+ rec.firstErrorQuestion.focus(true);
84598
+ }
84599
+ else {
84600
+ this.currentPage = rec.firstErrorQuestion.page;
84601
+ }
83782
84602
  }
83783
84603
  if (!res || !onAsyncValidation)
83784
84604
  return res;
@@ -85105,7 +85925,7 @@ var SurveyModel = /** @class */ (function (_super) {
85105
85925
  this.onGetMatrixRowActions.fire(this, options);
85106
85926
  return options.actions;
85107
85927
  };
85108
- SurveyModel.prototype.scrollElementToTop = function (element, question, page, id, scrollIfVisible) {
85928
+ SurveyModel.prototype.scrollElementToTop = function (element, question, page, id, scrollIfVisible, scrollIntoViewOptions) {
85109
85929
  var options = {
85110
85930
  element: element,
85111
85931
  question: question,
@@ -85115,7 +85935,7 @@ var SurveyModel = /** @class */ (function (_super) {
85115
85935
  };
85116
85936
  this.onScrollingElementToTop.fire(this, options);
85117
85937
  if (!options.cancel) {
85118
- _survey_element__WEBPACK_IMPORTED_MODULE_3__["SurveyElement"].ScrollElementToTop(options.elementId, scrollIfVisible);
85938
+ _survey_element__WEBPACK_IMPORTED_MODULE_3__["SurveyElement"].ScrollElementToTop(options.elementId, scrollIfVisible, scrollIntoViewOptions);
85119
85939
  }
85120
85940
  };
85121
85941
  /**
@@ -85767,6 +86587,12 @@ var SurveyModel = /** @class */ (function (_super) {
85767
86587
  }
85768
86588
  this.isTriggerIsRunning = false;
85769
86589
  };
86590
+ SurveyModel.prototype.checkTriggersAndRunConditions = function (name, newValue, oldValue) {
86591
+ var triggerKeys = {};
86592
+ triggerKeys[name] = { newValue: newValue, oldValue: oldValue };
86593
+ this.runConditionOnValueChanged(name, newValue);
86594
+ this.checkTriggers(triggerKeys, false, false, name);
86595
+ };
85770
86596
  Object.defineProperty(SurveyModel.prototype, "hasRequiredValidQuestionTrigger", {
85771
86597
  get: function () {
85772
86598
  for (var i = 0; i < this.triggers.length; i++) {
@@ -86324,10 +87150,7 @@ var SurveyModel = /** @class */ (function (_super) {
86324
87150
  this.variablesHash[name] = newValue;
86325
87151
  this.notifyElementsOnAnyValueOrVariableChanged(name);
86326
87152
  if (!_helpers__WEBPACK_IMPORTED_MODULE_0__["Helpers"].isTwoValueEquals(oldValue, newValue)) {
86327
- this.runConditionOnValueChanged(name, newValue);
86328
- var triggerKeys = {};
86329
- triggerKeys[name] = { newValue: newValue, oldValue: oldValue };
86330
- this.checkTriggers(triggerKeys, false, false, name);
87153
+ this.checkTriggersAndRunConditions(name, newValue, oldValue);
86331
87154
  this.onVariableChanged.fire(this, { name: name, value: newValue });
86332
87155
  }
86333
87156
  };
@@ -86416,10 +87239,7 @@ var SurveyModel = /** @class */ (function (_super) {
86416
87239
  if (locNotification === true || this.isDisposed || this.isRunningElementsBindings)
86417
87240
  return;
86418
87241
  questionName = questionName || name;
86419
- var triggerKeys = {};
86420
- triggerKeys[name] = { newValue: newValue, oldValue: oldValue };
86421
- this.runConditionOnValueChanged(name, newValue);
86422
- this.checkTriggers(triggerKeys, false, false, name);
87242
+ this.checkTriggersAndRunConditions(name, newValue, oldValue);
86423
87243
  if (allowNotifyValueChanged)
86424
87244
  this.notifyQuestionOnValueChanged(name, newValue, questionName);
86425
87245
  if (locNotification !== "text") {
@@ -86552,7 +87372,7 @@ var SurveyModel = /** @class */ (function (_super) {
86552
87372
  }
86553
87373
  }
86554
87374
  if (!locNotification) {
86555
- this.runConditionOnValueChanged(name, this.getValue(name));
87375
+ this.checkTriggersAndRunConditions(name, this.getValue(name), undefined);
86556
87376
  }
86557
87377
  if (locNotification !== "text") {
86558
87378
  this.tryGoNextPageAutomatic(name);
@@ -88545,14 +89365,21 @@ function createTOCListModel(survey, onAction) {
88545
89365
  visible: new _base__WEBPACK_IMPORTED_MODULE_1__["ComputedUpdater"](function () { return page.isVisible && !(page["isStartPage"]); })
88546
89366
  });
88547
89367
  });
88548
- var listModel = new _list__WEBPACK_IMPORTED_MODULE_3__["ListModel"](items, function (item) {
88549
- if (!!item.action()) {
88550
- listModel.selectedItem = item;
88551
- }
88552
- }, true, items.filter(function (i) { return !!survey.currentPage && i.id === survey.currentPage.name; })[0] || items.filter(function (i) { return i.id === pagesSource[0].name; })[0]);
89368
+ var selectedItem = items.filter(function (i) { return !!survey.currentPage && i.id === survey.currentPage.name; })[0] || items.filter(function (i) { return i.id === pagesSource[0].name; })[0];
89369
+ var listOptions = {
89370
+ items: items,
89371
+ onSelectionChanged: function (item) {
89372
+ if (!!item.action()) {
89373
+ listModel.selectedItem = item;
89374
+ }
89375
+ },
89376
+ allowSelection: true,
89377
+ searchEnabled: false,
89378
+ locOwner: survey,
89379
+ selectedItem: selectedItem
89380
+ };
89381
+ var listModel = new _list__WEBPACK_IMPORTED_MODULE_3__["ListModel"](listOptions);
88553
89382
  listModel.allowSelection = false;
88554
- listModel.locOwner = survey;
88555
- listModel.searchEnabled = false;
88556
89383
  survey.onCurrentPageChanged.add(function (s, o) {
88557
89384
  listModel.selectedItem = items.filter(function (i) { return !!survey.currentPage && i.id === survey.currentPage.name; })[0];
88558
89385
  });
@@ -88560,10 +89387,15 @@ function createTOCListModel(survey, onAction) {
88560
89387
  }
88561
89388
  function getTocRootCss(survey, isMobile) {
88562
89389
  if (isMobile === void 0) { isMobile = false; }
89390
+ var rootCss = TOCModel.RootStyle;
88563
89391
  if (isMobile) {
88564
- return "sv_progress-toc sv_progress-toc--mobile";
89392
+ return rootCss + " " + TOCModel.RootStyle + "--mobile";
88565
89393
  }
88566
- return "sv_progress-toc" + (" sv_progress-toc--" + (survey.tocLocation || "").toLowerCase());
89394
+ rootCss += (" " + TOCModel.RootStyle + "--" + (survey.tocLocation || "").toLowerCase());
89395
+ if (TOCModel.StickyPosition) {
89396
+ rootCss += " " + TOCModel.RootStyle + "--sticky";
89397
+ }
89398
+ return rootCss;
88567
89399
  }
88568
89400
  var TOCModel = /** @class */ (function () {
88569
89401
  function TOCModel(survey) {
@@ -88577,7 +89409,37 @@ var TOCModel = /** @class */ (function () {
88577
89409
  this.popupModel = new _popup__WEBPACK_IMPORTED_MODULE_5__["PopupModel"]("sv-list", { model: this.listModel });
88578
89410
  this.popupModel.overlayDisplayMode = "overlay";
88579
89411
  this.popupModel.displayMode = new _base__WEBPACK_IMPORTED_MODULE_1__["ComputedUpdater"](function () { return _this.isMobile ? "overlay" : "popup"; });
89412
+ if (TOCModel.StickyPosition) {
89413
+ survey.onAfterRenderSurvey.add(function (s, o) { return _this.initStickyTOCSubscriptions(o.htmlElement); });
89414
+ this.initStickyTOCSubscriptions(survey.rootElement);
89415
+ }
88580
89416
  }
89417
+ TOCModel.prototype.initStickyTOCSubscriptions = function (rootElement) {
89418
+ var _this = this;
89419
+ if (TOCModel.StickyPosition && !!rootElement) {
89420
+ rootElement.addEventListener("scroll", function (event) {
89421
+ _this.updateStickyTOCSize(rootElement);
89422
+ });
89423
+ this.updateStickyTOCSize(rootElement);
89424
+ }
89425
+ };
89426
+ TOCModel.prototype.updateStickyTOCSize = function (rootElement) {
89427
+ if (!rootElement) {
89428
+ return;
89429
+ }
89430
+ var tocRootElement = rootElement.querySelector("." + TOCModel.RootStyle);
89431
+ if (!!tocRootElement) {
89432
+ tocRootElement.style.height = "";
89433
+ if (!this.isMobile && TOCModel.StickyPosition && !!rootElement) {
89434
+ var rootHeight = rootElement.getBoundingClientRect().height;
89435
+ var titleSelector = this.survey.headerView === "advanced" ? ".sv-header" : ".sv_custom_header+div div." + (this.survey.css.title || "sd-title");
89436
+ var titleElement = rootElement.querySelector(titleSelector);
89437
+ var titleElementHeight = titleElement ? titleElement.getBoundingClientRect().height : 0;
89438
+ var scrollCompensationHeight = rootElement.scrollTop > titleElementHeight ? 0 : titleElementHeight - rootElement.scrollTop;
89439
+ tocRootElement.style.height = (rootHeight - scrollCompensationHeight - 2) + "px";
89440
+ }
89441
+ }
89442
+ };
88581
89443
  Object.defineProperty(TOCModel.prototype, "isMobile", {
88582
89444
  get: function () {
88583
89445
  return this.survey.isMobile;
@@ -88596,6 +89458,8 @@ var TOCModel = /** @class */ (function () {
88596
89458
  this.popupModel.dispose();
88597
89459
  this.listModel.dispose();
88598
89460
  };
89461
+ TOCModel.RootStyle = "sv_progress-toc";
89462
+ TOCModel.StickyPosition = true;
88599
89463
  return TOCModel;
88600
89464
  }());
88601
89465
 
@@ -89706,8 +90570,9 @@ __webpack_require__.r(__webpack_exports__);
89706
90570
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AnimationBoolean", function() { return AnimationBoolean; });
89707
90571
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AnimationGroup", function() { return AnimationGroup; });
89708
90572
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AnimationTab", function() { return AnimationTab; });
89709
- /* harmony import */ var _global_variables_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../global_variables_utils */ "./src/global_variables_utils.ts");
89710
- /* harmony import */ var _taskmanager__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./taskmanager */ "./src/utils/taskmanager.ts");
90573
+ /* harmony import */ var _taskmanager__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./taskmanager */ "./src/utils/taskmanager.ts");
90574
+ /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils */ "./src/utils/utils.ts");
90575
+ /* harmony import */ var _global_variables_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../global_variables_utils */ "./src/global_variables_utils.ts");
89711
90576
  var __extends = (undefined && undefined.__extends) || (function () {
89712
90577
  var extendStatics = function (d, b) {
89713
90578
  extendStatics = Object.setPrototypeOf ||
@@ -89725,6 +90590,7 @@ var __extends = (undefined && undefined.__extends) || (function () {
89725
90590
  })();
89726
90591
 
89727
90592
 
90593
+
89728
90594
  var AnimationUtils = /** @class */ (function () {
89729
90595
  function AnimationUtils() {
89730
90596
  this.cancelQueue = [];
@@ -89768,7 +90634,7 @@ var AnimationUtils = /** @class */ (function () {
89768
90634
  var animationsCount = this.getAnimationsCount(element);
89769
90635
  var onEndCallback = function (isCancel) {
89770
90636
  if (isCancel === void 0) { isCancel = true; }
89771
- options.onAfterRunAnimation && options.onAfterRunAnimation(element);
90637
+ _this.afterAnimationRun(element, options);
89772
90638
  callback(isCancel);
89773
90639
  clearTimeout(cancelTimeout);
89774
90640
  _this.removeCancelCallback(onEndCallback);
@@ -89787,9 +90653,15 @@ var AnimationUtils = /** @class */ (function () {
89787
90653
  }, this.getAnimationDuration(element) + 10);
89788
90654
  }
89789
90655
  else {
90656
+ this.afterAnimationRun(element, options);
89790
90657
  callback(true);
89791
90658
  }
89792
90659
  };
90660
+ AnimationUtils.prototype.afterAnimationRun = function (element, options) {
90661
+ if (element && options) {
90662
+ options.onAfterRunAnimation && options.onAfterRunAnimation(element);
90663
+ }
90664
+ };
89793
90665
  AnimationUtils.prototype.beforeAnimationRun = function (element, options) {
89794
90666
  if (element && options) {
89795
90667
  options.onBeforeRunAnimation && options.onBeforeRunAnimation(element);
@@ -89799,7 +90671,7 @@ var AnimationUtils = /** @class */ (function () {
89799
90671
  return options.cssClass.replace(/\s+$/, "").split(/\s+/);
89800
90672
  };
89801
90673
  AnimationUtils.prototype.runAnimation = function (element, options, callback) {
89802
- if (element && options.cssClass) {
90674
+ if (element && (options === null || options === void 0 ? void 0 : options.cssClass)) {
89803
90675
  this.reflow(element);
89804
90676
  this.getCssClasses(options).forEach(function (cssClass) {
89805
90677
  element.classList.add(cssClass);
@@ -89817,30 +90689,24 @@ var AnimationUtils = /** @class */ (function () {
89817
90689
  });
89818
90690
  }
89819
90691
  };
89820
- AnimationUtils.prototype.onNextRender = function (callback, runEarly, isCancel) {
90692
+ AnimationUtils.prototype.onNextRender = function (callback, isCancel) {
89821
90693
  var _this = this;
89822
90694
  if (isCancel === void 0) { isCancel = false; }
89823
- if (!isCancel && _global_variables_utils__WEBPACK_IMPORTED_MODULE_0__["DomWindowHelper"].isAvailable()) {
90695
+ if (!isCancel && _global_variables_utils__WEBPACK_IMPORTED_MODULE_2__["DomWindowHelper"].isAvailable()) {
89824
90696
  var cancelCallback_1 = function () {
89825
- callback();
90697
+ callback(true);
89826
90698
  cancelAnimationFrame(latestRAF_1);
89827
90699
  };
89828
- var latestRAF_1 = _global_variables_utils__WEBPACK_IMPORTED_MODULE_0__["DomWindowHelper"].requestAnimationFrame(function () {
89829
- if (runEarly && runEarly()) {
89830
- callback();
90700
+ var latestRAF_1 = _global_variables_utils__WEBPACK_IMPORTED_MODULE_2__["DomWindowHelper"].requestAnimationFrame(function () {
90701
+ latestRAF_1 = _global_variables_utils__WEBPACK_IMPORTED_MODULE_2__["DomWindowHelper"].requestAnimationFrame(function () {
90702
+ callback(false);
89831
90703
  _this.removeCancelCallback(cancelCallback_1);
89832
- }
89833
- else {
89834
- latestRAF_1 = _global_variables_utils__WEBPACK_IMPORTED_MODULE_0__["DomWindowHelper"].requestAnimationFrame(function () {
89835
- callback();
89836
- _this.removeCancelCallback(cancelCallback_1);
89837
- });
89838
- }
90704
+ });
89839
90705
  });
89840
90706
  this.addCancelCallback(cancelCallback_1);
89841
90707
  }
89842
90708
  else {
89843
- callback();
90709
+ callback(true);
89844
90710
  }
89845
90711
  };
89846
90712
  AnimationUtils.prototype.cancel = function () {
@@ -89858,25 +90724,23 @@ var AnimationPropertyUtils = /** @class */ (function (_super) {
89858
90724
  }
89859
90725
  AnimationPropertyUtils.prototype.onEnter = function (options) {
89860
90726
  var _this = this;
89861
- this.onNextRender(function () {
89862
- var htmlElement = options.getAnimatedElement();
89863
- var enterOptions = options.getEnterOptions();
89864
- _this.beforeAnimationRun(htmlElement, enterOptions);
89865
- _this.runAnimation(htmlElement, enterOptions, function () {
89866
- _this.clearHtmlElement(htmlElement, enterOptions);
89867
- });
89868
- }, function () { return !!options.getAnimatedElement(); });
90727
+ var htmlElement = options.getAnimatedElement();
90728
+ var enterOptions = options.getEnterOptions ? options.getEnterOptions() : {};
90729
+ this.beforeAnimationRun(htmlElement, enterOptions);
90730
+ this.runAnimation(htmlElement, enterOptions, function () {
90731
+ _this.clearHtmlElement(htmlElement, enterOptions);
90732
+ });
89869
90733
  };
89870
90734
  AnimationPropertyUtils.prototype.onLeave = function (options, callback) {
89871
90735
  var _this = this;
89872
90736
  var htmlElement = options.getAnimatedElement();
89873
- var leaveOptions = options.getLeaveOptions();
90737
+ var leaveOptions = options.getLeaveOptions ? options.getLeaveOptions() : {};
89874
90738
  this.beforeAnimationRun(htmlElement, leaveOptions);
89875
90739
  this.runAnimation(htmlElement, leaveOptions, function (isCancel) {
89876
90740
  callback();
89877
90741
  _this.onNextRender(function () {
89878
90742
  _this.clearHtmlElement(htmlElement, leaveOptions);
89879
- }, undefined, isCancel);
90743
+ }, isCancel);
89880
90744
  });
89881
90745
  };
89882
90746
  return AnimationPropertyUtils;
@@ -89887,40 +90751,54 @@ var AnimationGroupUtils = /** @class */ (function (_super) {
89887
90751
  function AnimationGroupUtils() {
89888
90752
  return _super !== null && _super.apply(this, arguments) || this;
89889
90753
  }
89890
- AnimationGroupUtils.prototype.runGroupAnimation = function (options, addedElements, removedElements, callback) {
90754
+ AnimationGroupUtils.prototype.runGroupAnimation = function (options, addedItems, removedItems, reorderedItems, callback) {
89891
90755
  var _this = this;
89892
- this.onNextRender(function () {
89893
- var addedHtmlElements = addedElements.map(function (el) { return options.getAnimatedElement(el); });
89894
- var enterOptions = addedElements.map(function (el) { return options.getEnterOptions(el); });
89895
- var removedHtmlElements = removedElements.map(function (el) { return options.getAnimatedElement(el); });
89896
- var leaveOptions = removedElements.map(function (el) { return options.getLeaveOptions(el); });
89897
- addedElements.forEach(function (_, i) {
89898
- _this.beforeAnimationRun(addedHtmlElements[i], enterOptions[i]);
89899
- });
89900
- removedElements.forEach(function (_, i) {
89901
- _this.beforeAnimationRun(removedHtmlElements[i], leaveOptions[i]);
89902
- });
89903
- var counter = addedElements.length + removedElements.length;
89904
- var onAnimationEndCallback = function (isCancel) {
89905
- if (--counter <= 0) {
89906
- callback && callback();
89907
- _this.onNextRender(function () {
89908
- addedElements.forEach(function (_, i) {
89909
- _this.clearHtmlElement(addedHtmlElements[i], enterOptions[i]);
89910
- });
89911
- removedElements.forEach(function (_, i) {
89912
- _this.clearHtmlElement(removedHtmlElements[i], leaveOptions[i]);
89913
- });
89914
- }, undefined, isCancel);
89915
- }
89916
- };
89917
- addedElements.forEach(function (_, i) {
89918
- _this.runAnimation(addedHtmlElements[i], enterOptions[i], onAnimationEndCallback);
89919
- });
89920
- removedElements.forEach(function (_, i) {
89921
- _this.runAnimation(removedHtmlElements[i], leaveOptions[i], onAnimationEndCallback);
89922
- });
89923
- }, function () { return addedElements.length == 0 || addedElements.some(function (el) { return !!options.getAnimatedElement(el); }); });
90756
+ var info = {
90757
+ isAddingRunning: addedItems.length > 0,
90758
+ isDeletingRunning: removedItems.length > 0,
90759
+ isReorderingRunning: reorderedItems.length > 0
90760
+ };
90761
+ var addedHtmlElements = addedItems.map(function (el) { return options.getAnimatedElement(el); });
90762
+ var enterOptions = addedItems.map(function (el) { return options.getEnterOptions ? options.getEnterOptions(el, info) : {}; });
90763
+ var removedHtmlElements = removedItems.map(function (el) { return options.getAnimatedElement(el); });
90764
+ var leaveOptions = removedItems.map(function (el) { return options.getLeaveOptions ? options.getLeaveOptions(el, info) : {}; });
90765
+ var reorderedHtmlElements = reorderedItems.map(function (el) { return options.getAnimatedElement(el.item); });
90766
+ var reorderedOptions = reorderedItems.map(function (el) { return options.getReorderOptions ? options.getReorderOptions(el.item, el.movedForward, info) : {}; });
90767
+ addedItems.forEach(function (_, i) {
90768
+ _this.beforeAnimationRun(addedHtmlElements[i], enterOptions[i]);
90769
+ });
90770
+ removedItems.forEach(function (_, i) {
90771
+ _this.beforeAnimationRun(removedHtmlElements[i], leaveOptions[i]);
90772
+ });
90773
+ reorderedItems.forEach(function (_, i) {
90774
+ _this.beforeAnimationRun(reorderedHtmlElements[i], reorderedOptions[i]);
90775
+ });
90776
+ var counter = addedItems.length + removedItems.length + reorderedHtmlElements.length;
90777
+ var onAnimationEndCallback = function (isCancel) {
90778
+ if (--counter <= 0) {
90779
+ callback && callback();
90780
+ _this.onNextRender(function () {
90781
+ addedItems.forEach(function (_, i) {
90782
+ _this.clearHtmlElement(addedHtmlElements[i], enterOptions[i]);
90783
+ });
90784
+ removedItems.forEach(function (_, i) {
90785
+ _this.clearHtmlElement(removedHtmlElements[i], leaveOptions[i]);
90786
+ });
90787
+ reorderedItems.forEach(function (_, i) {
90788
+ _this.clearHtmlElement(reorderedHtmlElements[i], reorderedOptions[i]);
90789
+ });
90790
+ }, isCancel);
90791
+ }
90792
+ };
90793
+ addedItems.forEach(function (_, i) {
90794
+ _this.runAnimation(addedHtmlElements[i], enterOptions[i], onAnimationEndCallback);
90795
+ });
90796
+ removedItems.forEach(function (_, i) {
90797
+ _this.runAnimation(removedHtmlElements[i], leaveOptions[i], onAnimationEndCallback);
90798
+ });
90799
+ reorderedItems.forEach(function (_, i) {
90800
+ _this.runAnimation(reorderedHtmlElements[i], reorderedOptions[i], onAnimationEndCallback);
90801
+ });
89924
90802
  };
89925
90803
  return AnimationGroupUtils;
89926
90804
  }(AnimationUtils));
@@ -89931,11 +90809,51 @@ var AnimationProperty = /** @class */ (function () {
89931
90809
  this.animationOptions = animationOptions;
89932
90810
  this.update = update;
89933
90811
  this.getCurrentValue = getCurrentValue;
89934
- this._debouncedSync = Object(_taskmanager__WEBPACK_IMPORTED_MODULE_1__["debounce"])(function (newValue) {
90812
+ this._debouncedSync = Object(_taskmanager__WEBPACK_IMPORTED_MODULE_0__["debounce"])(function (newValue) {
89935
90813
  _this.animation.cancel();
89936
- _this._sync(newValue);
90814
+ try {
90815
+ _this._sync(newValue);
90816
+ }
90817
+ catch (_a) {
90818
+ _this.update(newValue);
90819
+ }
89937
90820
  });
89938
90821
  }
90822
+ AnimationProperty.prototype.onNextRender = function (callback, onCancel) {
90823
+ var _this = this;
90824
+ var rerenderEvent = this.animationOptions.getRerenderEvent();
90825
+ if (!rerenderEvent) {
90826
+ if (_global_variables_utils__WEBPACK_IMPORTED_MODULE_2__["DomWindowHelper"].isAvailable()) {
90827
+ var raf_1 = _global_variables_utils__WEBPACK_IMPORTED_MODULE_2__["DomWindowHelper"].requestAnimationFrame(function () {
90828
+ callback();
90829
+ _this.cancelCallback = undefined;
90830
+ });
90831
+ this.cancelCallback = function () {
90832
+ onCancel && onCancel();
90833
+ cancelAnimationFrame(raf_1);
90834
+ _this.cancelCallback = undefined;
90835
+ };
90836
+ }
90837
+ else {
90838
+ throw new Error("Can't get next render");
90839
+ }
90840
+ }
90841
+ else {
90842
+ var clear_1 = function () {
90843
+ rerenderEvent.remove(nextRenderCallback_1);
90844
+ _this.cancelCallback = undefined;
90845
+ };
90846
+ var nextRenderCallback_1 = function () {
90847
+ callback();
90848
+ clear_1();
90849
+ };
90850
+ this.cancelCallback = function () {
90851
+ onCancel && onCancel();
90852
+ clear_1();
90853
+ };
90854
+ rerenderEvent.add(nextRenderCallback_1);
90855
+ }
90856
+ };
89939
90857
  AnimationProperty.prototype.sync = function (newValue) {
89940
90858
  if (this.animationOptions.isAnimationEnabled()) {
89941
90859
  this._debouncedSync.run(newValue);
@@ -89946,8 +90864,9 @@ var AnimationProperty = /** @class */ (function () {
89946
90864
  }
89947
90865
  };
89948
90866
  AnimationProperty.prototype.cancel = function () {
89949
- this.animation.cancel();
89950
90867
  this._debouncedSync.cancel();
90868
+ this.cancelCallback && this.cancelCallback();
90869
+ this.animation.cancel();
89951
90870
  };
89952
90871
  return AnimationProperty;
89953
90872
  }());
@@ -89963,8 +90882,10 @@ var AnimationBoolean = /** @class */ (function (_super) {
89963
90882
  var _this = this;
89964
90883
  if (newValue !== this.getCurrentValue()) {
89965
90884
  if (newValue) {
90885
+ this.onNextRender(function () {
90886
+ _this.animation.onEnter(_this.animationOptions);
90887
+ });
89966
90888
  this.update(newValue);
89967
- this.animation.onEnter(this.animationOptions);
89968
90889
  }
89969
90890
  else {
89970
90891
  this.animation.onLeave(this.animationOptions, function () {
@@ -89988,15 +90909,34 @@ var AnimationGroup = /** @class */ (function (_super) {
89988
90909
  }
89989
90910
  AnimationGroup.prototype._sync = function (newValue) {
89990
90911
  var _this = this;
90912
+ var _a, _b;
89991
90913
  var oldValue = this.getCurrentValue();
89992
- var itemsToAdd = newValue.filter(function (el) { return oldValue.indexOf(el) < 0; });
89993
- var deletedItems = oldValue.filter(function (el) { return newValue.indexOf(el) < 0; });
89994
- if (itemsToAdd.length == 0 && (deletedItems === null || deletedItems === void 0 ? void 0 : deletedItems.length) > 0) {
89995
- this.animation.runGroupAnimation(this.animationOptions, [], deletedItems, function () { return _this.update(newValue); });
90914
+ var allowSyncRemovalAddition = (_a = this.animationOptions.allowSyncRemovalAddition) !== null && _a !== void 0 ? _a : true;
90915
+ 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;
90916
+ if (!allowSyncRemovalAddition && (reorderedItems.length > 0 || addedItems.length > 0)) {
90917
+ deletedItems = [];
90918
+ mergedItems = newValue;
90919
+ }
90920
+ var runAnimationCallback = function () {
90921
+ _this.animation.runGroupAnimation(_this.animationOptions, addedItems, deletedItems, reorderedItems, function () {
90922
+ if (deletedItems.length > 0) {
90923
+ _this.update(newValue);
90924
+ }
90925
+ });
90926
+ };
90927
+ if ([addedItems, deletedItems, reorderedItems].some(function (arr) { return arr.length > 0; })) {
90928
+ if (deletedItems.length <= 0 || reorderedItems.length > 0 || addedItems.length > 0) {
90929
+ this.onNextRender(runAnimationCallback, function () {
90930
+ _this.update(newValue);
90931
+ });
90932
+ this.update(mergedItems);
90933
+ }
90934
+ else {
90935
+ runAnimationCallback();
90936
+ }
89996
90937
  }
89997
90938
  else {
89998
90939
  this.update(newValue);
89999
- this.animation.runGroupAnimation(this.animationOptions, itemsToAdd, []);
90000
90940
  }
90001
90941
  };
90002
90942
  return AnimationGroup;
@@ -90015,10 +90955,12 @@ var AnimationTab = /** @class */ (function (_super) {
90015
90955
  var oldValue = [].concat(this.getCurrentValue());
90016
90956
  if (oldValue[0] !== newValue[0]) {
90017
90957
  var tempValue = !!this.mergeValues ? this.mergeValues(newValue, oldValue) : [].concat(oldValue, newValue);
90958
+ this.onNextRender(function () {
90959
+ _this.animation.runGroupAnimation(_this.animationOptions, newValue, oldValue, [], function () {
90960
+ _this.update(newValue);
90961
+ });
90962
+ }, function () { return _this.update(newValue); });
90018
90963
  this.update(tempValue, true);
90019
- this.animation.runGroupAnimation(this.animationOptions, newValue, oldValue, function () {
90020
- _this.update(newValue);
90021
- });
90022
90964
  }
90023
90965
  else {
90024
90966
  this.update(newValue);
@@ -90412,16 +91354,55 @@ var DragOrClickHelper = /** @class */ (function () {
90412
91354
  /*!****************************!*\
90413
91355
  !*** ./src/utils/popup.ts ***!
90414
91356
  \****************************/
90415
- /*! exports provided: PopupUtils */
91357
+ /*! exports provided: Rect, PopupUtils */
90416
91358
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
90417
91359
 
90418
91360
  "use strict";
90419
91361
  __webpack_require__.r(__webpack_exports__);
91362
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Rect", function() { return Rect; });
90420
91363
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PopupUtils", function() { return PopupUtils; });
91364
+ var Rect = /** @class */ (function () {
91365
+ function Rect(x, y, width, height) {
91366
+ this.x = x;
91367
+ this.y = y;
91368
+ this.width = width;
91369
+ this.height = height;
91370
+ }
91371
+ Object.defineProperty(Rect.prototype, "left", {
91372
+ get: function () {
91373
+ return this.x;
91374
+ },
91375
+ enumerable: false,
91376
+ configurable: true
91377
+ });
91378
+ Object.defineProperty(Rect.prototype, "top", {
91379
+ get: function () {
91380
+ return this.y;
91381
+ },
91382
+ enumerable: false,
91383
+ configurable: true
91384
+ });
91385
+ Object.defineProperty(Rect.prototype, "right", {
91386
+ get: function () {
91387
+ return this.x + this.width;
91388
+ },
91389
+ enumerable: false,
91390
+ configurable: true
91391
+ });
91392
+ Object.defineProperty(Rect.prototype, "bottom", {
91393
+ get: function () {
91394
+ return this.y + this.height;
91395
+ },
91396
+ enumerable: false,
91397
+ configurable: true
91398
+ });
91399
+ return Rect;
91400
+ }());
91401
+
90421
91402
  var PopupUtils = /** @class */ (function () {
90422
91403
  function PopupUtils() {
90423
91404
  }
90424
- PopupUtils.calculatePosition = function (targetRect, height, width, verticalPosition, horizontalPosition, showPointer, positionMode) {
91405
+ PopupUtils.calculatePosition = function (targetRect, height, width, verticalPosition, horizontalPosition, positionMode) {
90425
91406
  if (positionMode === void 0) { positionMode = "flex"; }
90426
91407
  var currentLeft = targetRect.left;
90427
91408
  var currentTop = targetRect.top;
@@ -90439,29 +91420,33 @@ var PopupUtils = /** @class */ (function () {
90439
91420
  currentTop = targetRect.top - height;
90440
91421
  else
90441
91422
  currentTop = targetRect.bottom;
90442
- if (showPointer) {
90443
- if (horizontalPosition != "center" && verticalPosition != "middle") {
90444
- if (verticalPosition == "top") {
90445
- currentTop = currentTop + targetRect.height;
90446
- }
90447
- else {
90448
- currentTop = currentTop - targetRect.height;
90449
- }
91423
+ if (horizontalPosition != "center" && verticalPosition != "middle") {
91424
+ if (verticalPosition == "top") {
91425
+ currentTop = currentTop + targetRect.height;
91426
+ }
91427
+ else {
91428
+ currentTop = currentTop - targetRect.height;
90450
91429
  }
90451
91430
  }
90452
91431
  return { left: Math.round(currentLeft), top: Math.round(currentTop) };
90453
91432
  };
90454
- PopupUtils.getCorrectedVerticalDimensions = function (top, height, windowHeight, verticalPosition) {
91433
+ PopupUtils.getCorrectedVerticalDimensions = function (top, height, windowHeight, verticalPosition, canShrink) {
91434
+ if (canShrink === void 0) { canShrink = true; }
90455
91435
  var result;
91436
+ var maxHeight = windowHeight - PopupUtils.bottomIndent;
90456
91437
  if (verticalPosition === "top") {
90457
91438
  result = { height: height, top: top };
90458
91439
  }
90459
91440
  if (top < 0) {
90460
- result = { height: height + top, top: 0 };
91441
+ result = { height: canShrink ? height + top : height, top: 0 };
90461
91442
  }
90462
91443
  else if (height + top > windowHeight) {
90463
- var newHeight = Math.min(height, windowHeight - top - PopupUtils.bottomIndent);
90464
- result = { height: newHeight, top: top };
91444
+ var newHeight = Math.min(height, maxHeight - top);
91445
+ result = { height: canShrink ? newHeight : height, top: canShrink ? top : top - (height - newHeight) };
91446
+ }
91447
+ if (result) {
91448
+ result.height = Math.min(result.height, maxHeight);
91449
+ result.top = Math.max(result.top, 0);
90465
91450
  }
90466
91451
  return result;
90467
91452
  };
@@ -90502,18 +91487,15 @@ var PopupUtils = /** @class */ (function () {
90502
91487
  }
90503
91488
  return { width: newWidth - margins.left - margins.right, left: newLeft };
90504
91489
  };
90505
- PopupUtils.updateVerticalPosition = function (targetRect, height, verticalPosition, showPointer, windowHeight) {
90506
- var deltaTop = height - (targetRect.top + (showPointer ? targetRect.height : 0));
90507
- var deltaBottom = height +
90508
- targetRect.bottom -
90509
- (showPointer ? targetRect.height : 0) -
90510
- windowHeight;
91490
+ PopupUtils.updateVerticalPosition = function (targetRect, height, horizontalPosition, verticalPosition, windowHeight) {
91491
+ if (verticalPosition === "middle")
91492
+ return verticalPosition;
91493
+ var deltaTop = height - (targetRect.top + (horizontalPosition !== "center" ? targetRect.height : 0));
91494
+ var deltaBottom = height + targetRect.bottom - (horizontalPosition !== "center" ? targetRect.height : 0) - windowHeight;
90511
91495
  if (deltaTop > 0 && deltaBottom <= 0 && verticalPosition == "top") {
90512
91496
  verticalPosition = "bottom";
90513
91497
  }
90514
- else if (deltaBottom > 0 &&
90515
- deltaTop <= 0 &&
90516
- verticalPosition == "bottom") {
91498
+ else if (deltaBottom > 0 && deltaTop <= 0 && verticalPosition == "bottom") {
90517
91499
  verticalPosition = "top";
90518
91500
  }
90519
91501
  else if (deltaBottom > 0 && deltaTop > 0) {
@@ -90521,6 +91503,22 @@ var PopupUtils = /** @class */ (function () {
90521
91503
  }
90522
91504
  return verticalPosition;
90523
91505
  };
91506
+ PopupUtils.updateHorizontalPosition = function (targetRect, width, horizontalPosition, windowWidth) {
91507
+ if (horizontalPosition === "center")
91508
+ return horizontalPosition;
91509
+ var deltaLeft = width - targetRect.left;
91510
+ var deltaRight = width + targetRect.right - windowWidth;
91511
+ if (deltaLeft > 0 && deltaRight <= 0 && horizontalPosition == "left") {
91512
+ horizontalPosition = "right";
91513
+ }
91514
+ else if (deltaRight > 0 && deltaLeft <= 0 && horizontalPosition == "right") {
91515
+ horizontalPosition = "left";
91516
+ }
91517
+ else if (deltaRight > 0 && deltaLeft > 0) {
91518
+ horizontalPosition = deltaLeft < deltaRight ? "left" : "right";
91519
+ }
91520
+ return horizontalPosition;
91521
+ };
90524
91522
  PopupUtils.calculatePopupDirection = function (verticalPosition, horizontalPosition) {
90525
91523
  var popupDirection;
90526
91524
  if (horizontalPosition == "center" && verticalPosition != "middle") {
@@ -90885,7 +91883,7 @@ function debounce(func) {
90885
91883
  /*!****************************!*\
90886
91884
  !*** ./src/utils/utils.ts ***!
90887
91885
  \****************************/
90888
- /*! 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 */
91886
+ /*! 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 */
90889
91887
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
90890
91888
 
90891
91889
  "use strict";
@@ -90900,6 +91898,7 @@ __webpack_require__.r(__webpack_exports__);
90900
91898
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Logger", function() { return Logger; });
90901
91899
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "showConfirmDialog", function() { return showConfirmDialog; });
90902
91900
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "configConfirmDialog", function() { return configConfirmDialog; });
91901
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "compareArrays", function() { return compareArrays; });
90903
91902
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "mergeValues", function() { return mergeValues; });
90904
91903
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getElementWidth", function() { return getElementWidth; });
90905
91904
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isContainerVisible", function() { return isContainerVisible; });
@@ -91220,6 +92219,8 @@ function preventDefaults(event) {
91220
92219
  event.stopPropagation();
91221
92220
  }
91222
92221
  function classesToSelector(str) {
92222
+ if (!str)
92223
+ return str;
91223
92224
  var re = /\s*?([\w-]+)\s*?/g;
91224
92225
  return str.replace(re, ".$1");
91225
92226
  }
@@ -91368,6 +92369,100 @@ function chooseFiles(input, callback) {
91368
92369
  };
91369
92370
  input.click();
91370
92371
  }
92372
+ function compareArrays(oldValue, newValue, getKey) {
92373
+ var oldItemsMap = new Map();
92374
+ var newItemsMap = new Map();
92375
+ var commonItemsInNewMap = new Map();
92376
+ var commonItemsInOldMap = new Map();
92377
+ oldValue.forEach(function (item) {
92378
+ var itemKey = getKey(item);
92379
+ if (!oldItemsMap.has(itemKey)) {
92380
+ oldItemsMap.set(getKey(item), item);
92381
+ }
92382
+ else {
92383
+ //if keys are set incorrectly do not process comparing
92384
+ throw new Error("keys must be unique");
92385
+ }
92386
+ });
92387
+ newValue.forEach(function (item) {
92388
+ var itemKey = getKey(item);
92389
+ if (!newItemsMap.has(itemKey)) {
92390
+ newItemsMap.set(itemKey, item);
92391
+ }
92392
+ else {
92393
+ //if keys are set incorrectly do not process comparing
92394
+ throw new Error("keys must be unique");
92395
+ }
92396
+ });
92397
+ var addedItems = [];
92398
+ var deletedItems = [];
92399
+ //calculating addedItems and items that exist in both arrays
92400
+ newItemsMap.forEach(function (item, key) {
92401
+ if (!oldItemsMap.has(key)) {
92402
+ addedItems.push(item);
92403
+ }
92404
+ else {
92405
+ commonItemsInNewMap.set(key, commonItemsInNewMap.size);
92406
+ }
92407
+ });
92408
+ //calculating deletedItems and items that exist in both arrays
92409
+ oldItemsMap.forEach(function (item, key) {
92410
+ if (!newItemsMap.has(key)) {
92411
+ deletedItems.push(item);
92412
+ }
92413
+ else {
92414
+ commonItemsInOldMap.set(key, commonItemsInOldMap.size);
92415
+ }
92416
+ });
92417
+ //calculating reordered items
92418
+ var reorderedItems = [];
92419
+ commonItemsInNewMap.forEach(function (index, key) {
92420
+ var oldIndex = commonItemsInOldMap.get(key);
92421
+ var item = newItemsMap.get(key);
92422
+ if (oldIndex !== index)
92423
+ reorderedItems.push({ item: item, movedForward: oldIndex < index });
92424
+ });
92425
+ //calculating merged array if multiple operations are applied at once
92426
+ var oldItemsWithCorrectOrder = new Array(oldValue.length);
92427
+ var commonItemsIndex = 0;
92428
+ var commonItemsKeysOrder = Array.from(commonItemsInNewMap.keys());
92429
+ oldValue.forEach(function (item, index) {
92430
+ if (commonItemsInNewMap.has(getKey(item))) {
92431
+ oldItemsWithCorrectOrder[index] = newItemsMap.get(commonItemsKeysOrder[commonItemsIndex]);
92432
+ commonItemsIndex++;
92433
+ }
92434
+ else {
92435
+ oldItemsWithCorrectOrder[index] = item;
92436
+ }
92437
+ });
92438
+ var valuesToInsertBeforeKey = new Map();
92439
+ var tempValuesArray = [];
92440
+ oldItemsWithCorrectOrder.forEach(function (item) {
92441
+ var itemKey = getKey(item);
92442
+ if (newItemsMap.has(itemKey)) {
92443
+ if (tempValuesArray.length > 0) {
92444
+ valuesToInsertBeforeKey.set(itemKey, tempValuesArray);
92445
+ tempValuesArray = [];
92446
+ }
92447
+ }
92448
+ else {
92449
+ tempValuesArray.push(item);
92450
+ }
92451
+ });
92452
+ var mergedItems = new Array();
92453
+ newItemsMap.forEach(function (item, key) {
92454
+ if (valuesToInsertBeforeKey.has(key)) {
92455
+ valuesToInsertBeforeKey.get(key).forEach(function (item) {
92456
+ mergedItems.push(item);
92457
+ });
92458
+ }
92459
+ mergedItems.push(item);
92460
+ });
92461
+ tempValuesArray.forEach(function (item) {
92462
+ mergedItems.push(item);
92463
+ });
92464
+ return { reorderedItems: reorderedItems, deletedItems: deletedItems, addedItems: addedItems, mergedItems: mergedItems };
92465
+ }
91371
92466
 
91372
92467
 
91373
92468