survey-react 1.9.86 → 1.9.87

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.9.86
2
+ * surveyjs - Survey JavaScript library v1.9.87
3
3
  * Copyright (c) 2015-2023 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
5
5
  */
@@ -5563,7 +5563,11 @@ var defaultStandardCss = {
5563
5563
  controlValue: "sv_q_tagbox__value sv_q_dropdown__value",
5564
5564
  controlEmpty: "sv_q_dropdown--empty sv_q_tagbox--empty",
5565
5565
  placeholderInput: "sv_q_tagbox__placeholder",
5566
- filterStringInput: "sv_q_tagbox__filter-string-input sv_q_dropdown__filter-string-input"
5566
+ filterStringInput: "sv_q_tagbox__filter-string-input sv_q_dropdown__filter-string-input",
5567
+ hint: "sv_q_tagbox__hint",
5568
+ hintPrefix: "sv_q_dropdown__hint-prefix sv_q_tagbox__hint-prefix",
5569
+ hintSuffix: "sv_q_dropdown__hint-suffix sv_q_tagbox__hint-suffix",
5570
+ hintSuffixWrapper: "sv_q_tagbox__hint-suffix-wrapper"
5567
5571
  },
5568
5572
  };
5569
5573
  _defaultV2Css__WEBPACK_IMPORTED_MODULE_0__["surveyCss"]["default"] = defaultStandardCss;
@@ -6051,6 +6055,7 @@ var defaultV2Css = {
6051
6055
  itemStarDisabled: "sd-rating__item-star--disabled",
6052
6056
  itemStarHighlighted: "sd-rating__item-star--highlighted",
6053
6057
  itemStarUnhighlighted: "sd-rating__item-star--unhighlighted",
6058
+ itemStarSmall: "sd-rating__item-star--small",
6054
6059
  itemSmiley: "sd-rating__item-smiley",
6055
6060
  itemSmileyOnError: "sd-rating__item-smiley--error",
6056
6061
  itemSmileyHover: "sd-rating__item-smiley--allowhover",
@@ -6059,12 +6064,14 @@ var defaultV2Css = {
6059
6064
  itemSmileyHighlighted: "sd-rating__item-star--highlighted",
6060
6065
  itemSmileyScaleColored: "sd-rating__item-smiley--scale-colored",
6061
6066
  itemSmileyRateColored: "sd-rating__item-smiley--rate-colored",
6067
+ itemSmileySmall: "sd-rating__item-smiley--small",
6062
6068
  minText: "sd-rating__item-text sd-rating__min-text",
6063
6069
  itemText: "sd-rating__item-text",
6064
6070
  maxText: "sd-rating__item-text sd-rating__max-text",
6065
6071
  itemDisabled: "sd-rating__item--disabled",
6066
6072
  itemFixedSize: "sd-rating__item--fixed-size",
6067
6073
  control: "sd-input sd-dropdown",
6074
+ itemSmall: "sd-rating--small",
6068
6075
  controlValue: "sd-dropdown__value",
6069
6076
  controlDisabled: "sd-input--disabled",
6070
6077
  controlEmpty: "sd-dropdown--empty",
@@ -6231,7 +6238,11 @@ var defaultV2Css = {
6231
6238
  controlEmpty: "sd-dropdown--empty sd-tagbox--empty",
6232
6239
  controlLabel: "sd-item__control-label",
6233
6240
  filterStringInput: "sd-tagbox__filter-string-input sd-dropdown__filter-string-input",
6234
- materialDecorator: "sd-item__decorator sd-checkbox__decorator"
6241
+ materialDecorator: "sd-item__decorator sd-checkbox__decorator",
6242
+ hint: "sd-tagbox__hint",
6243
+ hintPrefix: "sd-dropdown__hint-prefix sd-tagbox__hint-prefix",
6244
+ hintSuffix: "sd-dropdown__hint-suffix sd-tagbox__hint-suffix",
6245
+ hintSuffixWrapper: "sd-tagbox__hint-suffix-wrapper"
6235
6246
  },
6236
6247
  };
6237
6248
  var defaultV2ThemeName = "defaultV2";
@@ -6901,6 +6912,7 @@ __webpack_require__.r(__webpack_exports__);
6901
6912
  /* harmony import */ var _jsonobject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../jsonobject */ "./src/jsonobject.ts");
6902
6913
  /* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/utils */ "./src/utils/utils.ts");
6903
6914
  /* harmony import */ var _utils_devices__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils/devices */ "./src/utils/devices.ts");
6915
+ /* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../settings */ "./src/settings.ts");
6904
6916
  var __extends = (undefined && undefined.__extends) || (function () {
6905
6917
  var extendStatics = function (d, b) {
6906
6918
  extendStatics = Object.setPrototypeOf ||
@@ -6926,6 +6938,7 @@ var __decorate = (undefined && undefined.__decorate) || function (decorators, ta
6926
6938
 
6927
6939
 
6928
6940
 
6941
+
6929
6942
  // WebKit requires cancelable `touchmove` events to be added as early as possible
6930
6943
  // see https://bugs.webkit.org/show_bug.cgi?id=184250
6931
6944
  if (typeof window !== "undefined") {
@@ -7035,7 +7048,7 @@ var DragDropCore = /** @class */ (function (_super) {
7035
7048
  if (_utils_devices__WEBPACK_IMPORTED_MODULE_3__["IsTouch"]) {
7036
7049
  _this.draggedElementShortcut.removeEventListener("contextmenu", _this.onContextMenu);
7037
7050
  }
7038
- document.body.removeChild(_this.draggedElementShortcut);
7051
+ _settings__WEBPACK_IMPORTED_MODULE_4__["settings"].environment.rootElement.removeChild(_this.draggedElementShortcut);
7039
7052
  _this.doClear();
7040
7053
  _this.dropTarget = null;
7041
7054
  _this.draggedElementShortcut = null;
@@ -7044,7 +7057,7 @@ var DragDropCore = /** @class */ (function (_super) {
7044
7057
  _this.parentElement = null;
7045
7058
  _this.scrollIntervalId = null;
7046
7059
  if (_utils_devices__WEBPACK_IMPORTED_MODULE_3__["IsTouch"]) {
7047
- _this.savedTargetNode && document.body.removeChild(_this.savedTargetNode);
7060
+ _this.savedTargetNode && _settings__WEBPACK_IMPORTED_MODULE_4__["settings"].environment.rootElement.removeChild(_this.savedTargetNode);
7048
7061
  DragDropCore.PreventScrolling = false;
7049
7062
  }
7050
7063
  document.body.style.setProperty("touch-action", "");
@@ -7092,7 +7105,7 @@ var DragDropCore = /** @class */ (function (_super) {
7092
7105
  _this.savedTargetNode = event.target;
7093
7106
  _this.savedTargetNode.style.cssText =
7094
7107
  "\n position: absolute;\n height: 1px!important;\n width: 1px!important;\n overflow: hidden;\n clip: rect(1px 1px 1px 1px);\n clip: rect(1px, 1px, 1px, 1px);\n ";
7095
- document.body.appendChild(_this.savedTargetNode);
7108
+ _settings__WEBPACK_IMPORTED_MODULE_4__["settings"].environment.rootElement.appendChild(_this.savedTargetNode);
7096
7109
  }
7097
7110
  _this.stopLongTap();
7098
7111
  }, this.longTap ? 500 : 0);
@@ -7171,8 +7184,8 @@ var DragDropCore = /** @class */ (function (_super) {
7171
7184
  shortcutXOffset = shortcutWidth / 2;
7172
7185
  shortcutYOffset = shortcutHeight / 2;
7173
7186
  }
7174
- var documentBottom = document.documentElement.clientHeight;
7175
- var documentRight = document.documentElement.clientWidth;
7187
+ var documentBottom = (Object(_utils_utils__WEBPACK_IMPORTED_MODULE_2__["isShadowDOM"])(_settings__WEBPACK_IMPORTED_MODULE_4__["settings"].environment.root) ? _settings__WEBPACK_IMPORTED_MODULE_4__["settings"].environment.root.host : _settings__WEBPACK_IMPORTED_MODULE_4__["settings"].environment.root.documentElement).clientHeight;
7188
+ var documentRight = (Object(_utils_utils__WEBPACK_IMPORTED_MODULE_2__["isShadowDOM"])(_settings__WEBPACK_IMPORTED_MODULE_4__["settings"].environment.root) ? _settings__WEBPACK_IMPORTED_MODULE_4__["settings"].environment.root.host : _settings__WEBPACK_IMPORTED_MODULE_4__["settings"].environment.root.documentElement).clientWidth;
7176
7189
  var shortcutBottomCoordinate = this.getShortcutBottomCoordinate(event.clientY, shortcutHeight, shortcutYOffset);
7177
7190
  var shortcutRightCoordinate = this.getShortcutRightCoordinate(event.clientX, shortcutWidth, shortcutXOffset);
7178
7191
  if (shortcutRightCoordinate >= documentRight) {
@@ -7646,6 +7659,7 @@ __webpack_require__.r(__webpack_exports__);
7646
7659
  /* harmony import */ var _survey_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../survey-element */ "./src/survey-element.ts");
7647
7660
  /* harmony import */ var _jsonobject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../jsonobject */ "./src/jsonobject.ts");
7648
7661
  /* harmony import */ var _core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./core */ "./src/dragdrop/core.ts");
7662
+ /* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../settings */ "./src/settings.ts");
7649
7663
  var __extends = (undefined && undefined.__extends) || (function () {
7650
7664
  var extendStatics = function (d, b) {
7651
7665
  extendStatics = Object.setPrototypeOf ||
@@ -7664,6 +7678,7 @@ var __extends = (undefined && undefined.__extends) || (function () {
7664
7678
 
7665
7679
 
7666
7680
 
7681
+
7667
7682
  var DragDropSurveyElements = /** @class */ (function (_super) {
7668
7683
  __extends(DragDropSurveyElements, _super);
7669
7684
  function DragDropSurveyElements() {
@@ -7678,7 +7693,7 @@ var DragDropSurveyElements = /** @class */ (function (_super) {
7678
7693
  };
7679
7694
  _this.doDrop = function () {
7680
7695
  if (_this.dropTarget) {
7681
- document.activeElement.blur();
7696
+ _settings__WEBPACK_IMPORTED_MODULE_3__["settings"].environment.root.activeElement.blur();
7682
7697
  return _this.insertRealElementIntoSurvey();
7683
7698
  }
7684
7699
  return null;
@@ -8312,12 +8327,18 @@ var DropdownListModel = /** @class */ (function (_super) {
8312
8327
  if (hasHtml || this.question.inputFieldComponentName) {
8313
8328
  this._markdownMode = true;
8314
8329
  this.inputString = "";
8330
+ this.hintString = "";
8315
8331
  }
8316
8332
  else {
8317
8333
  this.inputString = item === null || item === void 0 ? void 0 : item.title;
8318
8334
  this.hintString = item === null || item === void 0 ? void 0 : item.title;
8319
8335
  }
8320
8336
  };
8337
+ DropdownListModel.prototype.fixInputCase = function () {
8338
+ var hintStringMiddle = this.hintStringMiddle;
8339
+ if (hintStringMiddle && this.inputString != hintStringMiddle)
8340
+ this.inputString = hintStringMiddle;
8341
+ };
8321
8342
  DropdownListModel.prototype.applyHintString = function (item) {
8322
8343
  var hasHtml = item === null || item === void 0 ? void 0 : item.locText.hasHtml;
8323
8344
  if (hasHtml || this.question.inputFieldComponentName) {
@@ -8330,10 +8351,10 @@ var DropdownListModel = /** @class */ (function (_super) {
8330
8351
  };
8331
8352
  Object.defineProperty(DropdownListModel.prototype, "inputStringRendered", {
8332
8353
  get: function () {
8333
- return this.getPropertyValue("inputString") || "";
8354
+ return this.inputString || "";
8334
8355
  },
8335
8356
  set: function (val) {
8336
- this.setPropertyValue("inputString", val);
8357
+ this.inputString = val;
8337
8358
  this.filterString = val;
8338
8359
  this.applyHintString(this.listModel.focusedItem);
8339
8360
  },
@@ -8401,6 +8422,16 @@ var DropdownListModel = /** @class */ (function (_super) {
8401
8422
  enumerable: false,
8402
8423
  configurable: true
8403
8424
  });
8425
+ Object.defineProperty(DropdownListModel.prototype, "hintStringMiddle", {
8426
+ get: function () {
8427
+ var start = this.hintStringLC.indexOf(this.inputStringLC);
8428
+ if (start == -1)
8429
+ return null;
8430
+ return this.hintString.substring(start, start + this.inputStringLC.length);
8431
+ },
8432
+ enumerable: false,
8433
+ configurable: true
8434
+ });
8404
8435
  Object.defineProperty(DropdownListModel.prototype, "popupModel", {
8405
8436
  get: function () {
8406
8437
  return this._popupModel;
@@ -8439,8 +8470,7 @@ var DropdownListModel = /** @class */ (function (_super) {
8439
8470
  };
8440
8471
  DropdownListModel.prototype.onClick = function (event) {
8441
8472
  this._popupModel.toggleVisibility();
8442
- if (this._popupModel.isVisible && this.question.value && this.question instanceof _question_dropdown__WEBPACK_IMPORTED_MODULE_4__["QuestionDropdownModel"])
8443
- this.changeSelectionWithKeyboard(false);
8473
+ this.focusItemOnClickAndPopup();
8444
8474
  if (this.searchEnabled && !!event && !!event.target) {
8445
8475
  var input = event.target.querySelector("input");
8446
8476
  if (!!input) {
@@ -8448,8 +8478,13 @@ var DropdownListModel = /** @class */ (function (_super) {
8448
8478
  }
8449
8479
  }
8450
8480
  };
8481
+ DropdownListModel.prototype.focusItemOnClickAndPopup = function () {
8482
+ if (this._popupModel.isVisible && this.question.value)
8483
+ this.changeSelectionWithKeyboard(false);
8484
+ };
8451
8485
  DropdownListModel.prototype.onClear = function (event) {
8452
8486
  this.question.clearValue();
8487
+ this._popupModel.isVisible = false;
8453
8488
  if (event) {
8454
8489
  event.preventDefault();
8455
8490
  event.stopPropagation();
@@ -8467,18 +8502,27 @@ var DropdownListModel = /** @class */ (function (_super) {
8467
8502
  else {
8468
8503
  this.listModel.focusNextVisibleItem();
8469
8504
  }
8470
- if (this.question.value && focusedItem && this.question instanceof _question_dropdown__WEBPACK_IMPORTED_MODULE_4__["QuestionDropdownModel"]) {
8505
+ this.beforeScrollToFocusedItem(focusedItem);
8506
+ this.scrollToFocusedItem();
8507
+ this.afterScrollToFocusedItem();
8508
+ this.ariaActivedescendant = (_a = this.listModel.focusedItem) === null || _a === void 0 ? void 0 : _a.elementId;
8509
+ };
8510
+ DropdownListModel.prototype.beforeScrollToFocusedItem = function (focusedItem) {
8511
+ if (this.question.value && focusedItem) {
8471
8512
  focusedItem.selectedValue = false;
8472
8513
  this.listModel.focusedItem.selectedValue = !this.listModel.filterString;
8473
8514
  this.question.suggestedItem = this.listModel.focusedItem;
8474
8515
  }
8475
- this.scrollToFocusedItem();
8476
- if (this.question.value && !this.listModel.filterString && this.question.searchEnabled && this.question instanceof _question_dropdown__WEBPACK_IMPORTED_MODULE_4__["QuestionDropdownModel"]) {
8516
+ };
8517
+ DropdownListModel.prototype.afterScrollToFocusedItem = function () {
8518
+ var _a;
8519
+ if (this.question.value && !this.listModel.filterString && this.question.searchEnabled) {
8477
8520
  this.applyInputString(this.listModel.focusedItem || this.question.selectedItem);
8478
8521
  }
8479
8522
  else {
8480
8523
  this.applyHintString(this.listModel.focusedItem || this.question.selectedItem);
8481
8524
  }
8525
+ this.fixInputCase();
8482
8526
  this.ariaActivedescendant = (_a = this.listModel.focusedItem) === null || _a === void 0 ? void 0 : _a.elementId;
8483
8527
  };
8484
8528
  DropdownListModel.prototype.keyHandler = function (event) {
@@ -8502,7 +8546,7 @@ var DropdownListModel = /** @class */ (function (_super) {
8502
8546
  event.preventDefault();
8503
8547
  event.stopPropagation();
8504
8548
  }
8505
- else if (this.popupModel.isVisible && (event.keyCode === 13 || event.keyCode === 32 && !this.question.searchEnabled)) {
8549
+ else if (this.popupModel.isVisible && (event.keyCode === 13 || event.keyCode === 32 && (!this.question.searchEnabled || !this.inputString))) {
8506
8550
  if (event.keyCode === 13 && this.question.searchEnabled && !this.inputString && this.question instanceof _question_dropdown__WEBPACK_IMPORTED_MODULE_4__["QuestionDropdownModel"] && !this._markdownMode && this.question.value) {
8507
8551
  this._popupModel.isVisible = false;
8508
8552
  this.onClear(event);
@@ -8524,8 +8568,7 @@ var DropdownListModel = /** @class */ (function (_super) {
8524
8568
  else if (event.keyCode === 27) {
8525
8569
  this._popupModel.isVisible = false;
8526
8570
  this.hintString = "";
8527
- if (this.question.searchEnabled && this.question instanceof _question_dropdown__WEBPACK_IMPORTED_MODULE_4__["QuestionDropdownModel"])
8528
- this.applyInputString(this.question.selectedItem);
8571
+ this.onEscape();
8529
8572
  }
8530
8573
  else {
8531
8574
  if (event.keyCode === 38 || event.keyCode === 40 || event.keyCode === 32 && !this.question.searchEnabled) {
@@ -8538,6 +8581,10 @@ var DropdownListModel = /** @class */ (function (_super) {
8538
8581
  Object(_utils_utils__WEBPACK_IMPORTED_MODULE_7__["doKey2ClickUp"])(event, { processEsc: false, disableTabStop: this.question.isInputReadOnly });
8539
8582
  }
8540
8583
  };
8584
+ DropdownListModel.prototype.onEscape = function () {
8585
+ if (this.question.searchEnabled)
8586
+ this.applyInputString(this.question.selectedItem);
8587
+ };
8541
8588
  DropdownListModel.prototype.onScroll = function (event) {
8542
8589
  var target = event.target;
8543
8590
  if ((target.scrollHeight - (target.scrollTop + target.offsetHeight)) <= this.loadingItemHeight) {
@@ -8693,7 +8740,7 @@ var DropdownMultiSelectListModel = /** @class */ (function (_super) {
8693
8740
  };
8694
8741
  DropdownMultiSelectListModel.prototype.syncFilterStringPlaceholder = function () {
8695
8742
  var selectedActions = this.getSelectedActions();
8696
- if (selectedActions.length || this.question.selectedItems.length) {
8743
+ if (selectedActions.length || this.question.selectedItems.length || this.listModel.focusedItem) {
8697
8744
  this.filterStringPlaceholder = undefined;
8698
8745
  }
8699
8746
  else {
@@ -8741,6 +8788,7 @@ var DropdownMultiSelectListModel = /** @class */ (function (_super) {
8741
8788
  DropdownMultiSelectListModel.prototype.resetFilterString = function () {
8742
8789
  _super.prototype.resetFilterString.call(this);
8743
8790
  this.inputString = null;
8791
+ this.hintString = "";
8744
8792
  };
8745
8793
  Object.defineProperty(DropdownMultiSelectListModel.prototype, "shouldResetAfterCancel", {
8746
8794
  get: function () {
@@ -8794,6 +8842,7 @@ var DropdownMultiSelectListModel = /** @class */ (function (_super) {
8794
8842
  var newValue = [].concat(this.question.renderedValue || []);
8795
8843
  newValue.splice(newValue.indexOf(id), 1);
8796
8844
  this.question.renderedValue = newValue;
8845
+ this.applyHintString(this.listModel.focusedItem);
8797
8846
  this.updateListState();
8798
8847
  };
8799
8848
  DropdownMultiSelectListModel.prototype.clear = function () {
@@ -8824,6 +8873,25 @@ var DropdownMultiSelectListModel = /** @class */ (function (_super) {
8824
8873
  this.inputString = null;
8825
8874
  }
8826
8875
  };
8876
+ DropdownMultiSelectListModel.prototype.focusItemOnClickAndPopup = function () {
8877
+ return;
8878
+ };
8879
+ DropdownMultiSelectListModel.prototype.onEscape = function () {
8880
+ return;
8881
+ };
8882
+ DropdownMultiSelectListModel.prototype.beforeScrollToFocusedItem = function (focusedItem) {
8883
+ return;
8884
+ };
8885
+ DropdownMultiSelectListModel.prototype.afterScrollToFocusedItem = function () {
8886
+ var _a;
8887
+ if (!((_a = this.listModel.focusedItem) === null || _a === void 0 ? void 0 : _a.selected)) {
8888
+ this.applyHintString(this.listModel.focusedItem || this.question.selectedItem);
8889
+ }
8890
+ else {
8891
+ this.hintString = "";
8892
+ }
8893
+ this.syncFilterStringPlaceholder();
8894
+ };
8827
8895
  __decorate([
8828
8896
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__["property"])({ defaultValue: "" })
8829
8897
  ], DropdownMultiSelectListModel.prototype, "filterStringPlaceholder", void 0);
@@ -9591,7 +9659,7 @@ __webpack_require__.r(__webpack_exports__);
9591
9659
  // import "../../main.scss";
9592
9660
  //import "../../modern.scss";
9593
9661
  var Version;
9594
- Version = "" + "1.9.86";
9662
+ Version = "" + "1.9.87";
9595
9663
  function checkLibraryVersion(ver, libraryName) {
9596
9664
  if (Version != ver) {
9597
9665
  var str = "survey-core has version '" + Version + "' and " + libraryName
@@ -9696,7 +9764,7 @@ function checkLibraryVersion(ver, libraryName) {
9696
9764
  /*!**************************************!*\
9697
9765
  !*** ./src/entries/core-wo-model.ts ***!
9698
9766
  \**************************************/
9699
- /*! exports provided: Version, checkLibraryVersion, 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, QuestionMatrixDropdownRenderedTable, MatrixDropdownRowModel, QuestionMatrixDropdownModel, MatrixDynamicRowModel, QuestionMatrixDynamicModel, MatrixRowModel, MatrixCells, QuestionMatrixModel, QuestionMatrixBaseModel, MultipleTextItemModel, QuestionMultipleTextModel, 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, tryNavigateToPage, createTOCListModel, getTocRootCss, SurveyProgressModel, SurveyProgressButtonsModel, SurveyModel, SurveyTrigger, SurveyTriggerComplete, SurveyTriggerSetValue, SurveyTriggerVisible, SurveyTriggerCopyValue, SurveyTriggerRunExpression, Trigger, PopupSurveyModel, SurveyWindowModel, TextPreProcessor, Notifier, 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, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, sanitizeEditableContent, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropSurveyElements, DragDropChoices, defaultStandardCss, modernCss, SvgIconRegistry, SvgRegistry, SvgBundleViewModel, RendererFactory, ResponsivityManager, VerticalResponsivityManager, unwrap, getOriginalEvent, createDropdownActionModel, createDropdownActionModelAdvanced, BaseAction, Action, ActionDropdownViewModel, AdaptiveActionContainer, defaultActionBarCss, ActionContainer, TooltipManager, DragOrClickHelper */
9767
+ /*! exports provided: Version, checkLibraryVersion, 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, QuestionMatrixDropdownRenderedTable, MatrixDropdownRowModel, QuestionMatrixDropdownModel, MatrixDynamicRowModel, QuestionMatrixDynamicModel, MatrixRowModel, MatrixCells, QuestionMatrixModel, QuestionMatrixBaseModel, MultipleTextItemModel, QuestionMultipleTextModel, 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, tryNavigateToPage, createTOCListModel, getTocRootCss, SurveyProgressModel, SurveyProgressButtonsModel, SurveyModel, SurveyTrigger, SurveyTriggerComplete, SurveyTriggerSetValue, SurveyTriggerVisible, SurveyTriggerCopyValue, SurveyTriggerRunExpression, Trigger, PopupSurveyModel, SurveyWindowModel, TextPreProcessor, Notifier, 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, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, sanitizeEditableContent, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropSurveyElements, DragDropChoices, defaultStandardCss, modernCss, SvgIconRegistry, SvgRegistry, SvgBundleViewModel, RendererFactory, ResponsivityManager, VerticalResponsivityManager, unwrap, getOriginalEvent, getElement, createDropdownActionModel, createDropdownActionModelAdvanced, BaseAction, Action, ActionDropdownViewModel, AdaptiveActionContainer, defaultActionBarCss, ActionContainer, TooltipManager, DragOrClickHelper */
9700
9768
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
9701
9769
 
9702
9770
  "use strict";
@@ -10080,6 +10148,8 @@ __webpack_require__.r(__webpack_exports__);
10080
10148
 
10081
10149
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getOriginalEvent", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_6__["getOriginalEvent"]; });
10082
10150
 
10151
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getElement", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_6__["getElement"]; });
10152
+
10083
10153
  /* harmony import */ var _actions_action__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../actions/action */ "./src/actions/action.ts");
10084
10154
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "createDropdownActionModel", function() { return _actions_action__WEBPACK_IMPORTED_MODULE_7__["createDropdownActionModel"]; });
10085
10155
 
@@ -10129,7 +10199,7 @@ __webpack_require__.r(__webpack_exports__);
10129
10199
  /*!*****************************!*\
10130
10200
  !*** ./src/entries/core.ts ***!
10131
10201
  \*****************************/
10132
- /*! exports provided: Version, checkLibraryVersion, 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, QuestionMatrixDropdownRenderedTable, MatrixDropdownRowModel, QuestionMatrixDropdownModel, MatrixDynamicRowModel, QuestionMatrixDynamicModel, MatrixRowModel, MatrixCells, QuestionMatrixModel, QuestionMatrixBaseModel, MultipleTextItemModel, QuestionMultipleTextModel, 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, tryNavigateToPage, createTOCListModel, getTocRootCss, SurveyProgressModel, SurveyProgressButtonsModel, SurveyModel, SurveyTrigger, SurveyTriggerComplete, SurveyTriggerSetValue, SurveyTriggerVisible, SurveyTriggerCopyValue, SurveyTriggerRunExpression, Trigger, PopupSurveyModel, SurveyWindowModel, TextPreProcessor, Notifier, 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, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, sanitizeEditableContent, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropSurveyElements, DragDropChoices, defaultStandardCss, modernCss, SvgIconRegistry, SvgRegistry, SvgBundleViewModel, RendererFactory, ResponsivityManager, VerticalResponsivityManager, unwrap, getOriginalEvent, createDropdownActionModel, createDropdownActionModelAdvanced, BaseAction, Action, ActionDropdownViewModel, AdaptiveActionContainer, defaultActionBarCss, ActionContainer, TooltipManager, DragOrClickHelper, Model */
10202
+ /*! exports provided: Version, checkLibraryVersion, 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, QuestionMatrixDropdownRenderedTable, MatrixDropdownRowModel, QuestionMatrixDropdownModel, MatrixDynamicRowModel, QuestionMatrixDynamicModel, MatrixRowModel, MatrixCells, QuestionMatrixModel, QuestionMatrixBaseModel, MultipleTextItemModel, QuestionMultipleTextModel, 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, tryNavigateToPage, createTOCListModel, getTocRootCss, SurveyProgressModel, SurveyProgressButtonsModel, SurveyModel, SurveyTrigger, SurveyTriggerComplete, SurveyTriggerSetValue, SurveyTriggerVisible, SurveyTriggerCopyValue, SurveyTriggerRunExpression, Trigger, PopupSurveyModel, SurveyWindowModel, TextPreProcessor, Notifier, 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, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, sanitizeEditableContent, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropSurveyElements, DragDropChoices, defaultStandardCss, modernCss, SvgIconRegistry, SvgRegistry, SvgBundleViewModel, RendererFactory, ResponsivityManager, VerticalResponsivityManager, unwrap, getOriginalEvent, getElement, createDropdownActionModel, createDropdownActionModelAdvanced, BaseAction, Action, ActionDropdownViewModel, AdaptiveActionContainer, defaultActionBarCss, ActionContainer, TooltipManager, DragOrClickHelper, Model */
10133
10203
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
10134
10204
 
10135
10205
  "use strict";
@@ -10507,6 +10577,8 @@ __webpack_require__.r(__webpack_exports__);
10507
10577
 
10508
10578
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getOriginalEvent", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__["getOriginalEvent"]; });
10509
10579
 
10580
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getElement", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__["getElement"]; });
10581
+
10510
10582
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "createDropdownActionModel", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__["createDropdownActionModel"]; });
10511
10583
 
10512
10584
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "createDropdownActionModelAdvanced", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__["createDropdownActionModelAdvanced"]; });
@@ -10922,7 +10994,7 @@ __webpack_require__.r(__webpack_exports__);
10922
10994
  /*!******************************!*\
10923
10995
  !*** ./src/entries/react.ts ***!
10924
10996
  \******************************/
10925
- /*! exports provided: Version, checkLibraryVersion, 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, QuestionMatrixDropdownRenderedTable, MatrixDropdownRowModel, QuestionMatrixDropdownModel, MatrixDynamicRowModel, QuestionMatrixDynamicModel, MatrixRowModel, MatrixCells, QuestionMatrixModel, QuestionMatrixBaseModel, MultipleTextItemModel, QuestionMultipleTextModel, 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, tryNavigateToPage, createTOCListModel, getTocRootCss, SurveyProgressModel, SurveyProgressButtonsModel, SurveyModel, SurveyTrigger, SurveyTriggerComplete, SurveyTriggerSetValue, SurveyTriggerVisible, SurveyTriggerCopyValue, SurveyTriggerRunExpression, Trigger, PopupSurveyModel, SurveyWindowModel, TextPreProcessor, Notifier, 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, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, sanitizeEditableContent, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropSurveyElements, DragDropChoices, defaultStandardCss, modernCss, SvgIconRegistry, SvgRegistry, SvgBundleViewModel, RendererFactory, ResponsivityManager, VerticalResponsivityManager, unwrap, getOriginalEvent, createDropdownActionModel, createDropdownActionModelAdvanced, BaseAction, Action, ActionDropdownViewModel, AdaptiveActionContainer, defaultActionBarCss, ActionContainer, TooltipManager, 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, TagboxFilterString, SurveyQuestionOptionItem, SurveyQuestionDropdownBase, SurveyQuestionDropdown, SurveyQuestionTagboxItem, SurveyQuestionTagbox, SurveyQuestionDropdownSelect, SurveyQuestionMatrix, SurveyQuestionMatrixRow, SurveyQuestionHtml, SurveyQuestionFile, SurveyQuestionMultipleText, SurveyQuestionRadiogroup, SurveyQuestionRadioItem, SurveyQuestionText, SurveyQuestionBoolean, SurveyQuestionBooleanCheckbox, SurveyQuestionBooleanRadio, SurveyQuestionEmpty, SurveyQuestionMatrixDropdownCell, SurveyQuestionMatrixDropdownBase, SurveyQuestionMatrixDropdown, SurveyQuestionMatrixDynamic, SurveyQuestionMatrixDynamicAddButton, SurveyQuestionPanelDynamic, SurveyProgress, SurveyProgressButtons, SurveyProgressToc, SurveyQuestionRating, SurveyQuestionRatingDropdown, SurveyQuestionExpression, PopupSurvey, SurveyWindow, ReactQuestionFactory, ReactElementFactory, SurveyQuestionImagePicker, SurveyQuestionImage, SurveyQuestionSignaturePad, SurveyQuestionButtonGroup, SurveyQuestionCustom, SurveyQuestionComposite, Popup, List, TitleActions, TitleElement, SurveyActionBar, LogoImage, SurveyHeader, SvgIcon, SurveyQuestionMatrixDynamicRemoveButton, SurveyQuestionMatrixDetailButton, SurveyQuestionMatrixDynamicDragDropIcon, SurveyQuestionPanelDynamicAddButton, SurveyQuestionPanelDynamicRemoveButton, SurveyQuestionPanelDynamicPrevButton, SurveyQuestionPanelDynamicNextButton, SurveyQuestionPanelDynamicProgressText, SurveyNavigationButton, MatrixRow, Skeleton, NotifierComponent, ComponentsContainer, CharacterCounterComponent, SurveyLocStringViewer, SurveyLocStringEditor */
10997
+ /*! exports provided: Version, checkLibraryVersion, 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, QuestionMatrixDropdownRenderedTable, MatrixDropdownRowModel, QuestionMatrixDropdownModel, MatrixDynamicRowModel, QuestionMatrixDynamicModel, MatrixRowModel, MatrixCells, QuestionMatrixModel, QuestionMatrixBaseModel, MultipleTextItemModel, QuestionMultipleTextModel, 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, tryNavigateToPage, createTOCListModel, getTocRootCss, SurveyProgressModel, SurveyProgressButtonsModel, SurveyModel, SurveyTrigger, SurveyTriggerComplete, SurveyTriggerSetValue, SurveyTriggerVisible, SurveyTriggerCopyValue, SurveyTriggerRunExpression, Trigger, PopupSurveyModel, SurveyWindowModel, TextPreProcessor, Notifier, 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, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, sanitizeEditableContent, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropSurveyElements, DragDropChoices, defaultStandardCss, modernCss, SvgIconRegistry, SvgRegistry, SvgBundleViewModel, RendererFactory, ResponsivityManager, VerticalResponsivityManager, unwrap, getOriginalEvent, getElement, createDropdownActionModel, createDropdownActionModelAdvanced, BaseAction, Action, ActionDropdownViewModel, AdaptiveActionContainer, defaultActionBarCss, ActionContainer, TooltipManager, 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, TagboxFilterString, SurveyQuestionOptionItem, SurveyQuestionDropdownBase, SurveyQuestionDropdown, SurveyQuestionTagboxItem, SurveyQuestionTagbox, SurveyQuestionDropdownSelect, SurveyQuestionMatrix, SurveyQuestionMatrixRow, SurveyQuestionHtml, SurveyQuestionFile, SurveyQuestionMultipleText, SurveyQuestionRadiogroup, SurveyQuestionRadioItem, SurveyQuestionText, SurveyQuestionBoolean, SurveyQuestionBooleanCheckbox, SurveyQuestionBooleanRadio, SurveyQuestionEmpty, SurveyQuestionMatrixDropdownCell, SurveyQuestionMatrixDropdownBase, SurveyQuestionMatrixDropdown, SurveyQuestionMatrixDynamic, SurveyQuestionMatrixDynamicAddButton, SurveyQuestionPanelDynamic, SurveyProgress, SurveyProgressButtons, SurveyProgressToc, SurveyQuestionRating, SurveyQuestionRatingDropdown, SurveyQuestionExpression, PopupSurvey, SurveyWindow, ReactQuestionFactory, ReactElementFactory, SurveyQuestionImagePicker, SurveyQuestionImage, SurveyQuestionSignaturePad, SurveyQuestionButtonGroup, SurveyQuestionCustom, SurveyQuestionComposite, Popup, List, TitleActions, TitleElement, SurveyActionBar, LogoImage, SurveyHeader, SvgIcon, SurveyQuestionMatrixDynamicRemoveButton, SurveyQuestionMatrixDetailButton, SurveyQuestionMatrixDynamicDragDropIcon, SurveyQuestionPanelDynamicAddButton, SurveyQuestionPanelDynamicRemoveButton, SurveyQuestionPanelDynamicPrevButton, SurveyQuestionPanelDynamicNextButton, SurveyQuestionPanelDynamicProgressText, SurveyNavigationButton, MatrixRow, Skeleton, NotifierComponent, ComponentsContainer, CharacterCounterComponent, SurveyLocStringViewer, SurveyLocStringEditor */
10926
10998
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
10927
10999
 
10928
11000
  "use strict";
@@ -11300,6 +11372,8 @@ __webpack_require__.r(__webpack_exports__);
11300
11372
 
11301
11373
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getOriginalEvent", function() { return _core__WEBPACK_IMPORTED_MODULE_0__["getOriginalEvent"]; });
11302
11374
 
11375
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getElement", function() { return _core__WEBPACK_IMPORTED_MODULE_0__["getElement"]; });
11376
+
11303
11377
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "createDropdownActionModel", function() { return _core__WEBPACK_IMPORTED_MODULE_0__["createDropdownActionModel"]; });
11304
11378
 
11305
11379
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "createDropdownActionModelAdvanced", function() { return _core__WEBPACK_IMPORTED_MODULE_0__["createDropdownActionModelAdvanced"]; });
@@ -16725,6 +16799,8 @@ var map = {
16725
16799
  "./expandDetail.svg": "./src/images/expandDetail.svg",
16726
16800
  "./no-image.svg": "./src/images/no-image.svg",
16727
16801
  "./rating-star-2.svg": "./src/images/rating-star-2.svg",
16802
+ "./rating-star-small-2.svg": "./src/images/rating-star-small-2.svg",
16803
+ "./rating-star-small.svg": "./src/images/rating-star-small.svg",
16728
16804
  "./rating-star.svg": "./src/images/rating-star.svg",
16729
16805
  "./search.svg": "./src/images/search.svg"
16730
16806
  };
@@ -17081,6 +17157,28 @@ module.exports = "<svg viewBox=\"0 0 48 48\" xmlns=\"http://www.w3.org/2000/svg\
17081
17157
 
17082
17158
  /***/ }),
17083
17159
 
17160
+ /***/ "./src/images/rating-star-small-2.svg":
17161
+ /*!********************************************!*\
17162
+ !*** ./src/images/rating-star-small-2.svg ***!
17163
+ \********************************************/
17164
+ /*! no static exports found */
17165
+ /***/ (function(module, exports) {
17166
+
17167
+ module.exports = "<svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M12 19.3373L6.13001 22.4373C5.50001 22.7673 4.77001 22.2373 4.89001 21.5373L6.01001 14.9773L1.26001 10.3273C0.750007 9.83728 1.03001 8.96728 1.73001 8.86728L8.29001 7.90728L11.23 1.93728C11.54 1.29728 12.45 1.29728 12.77 1.93728L15.7 7.90728L22.26 8.86728C22.96 8.96728 23.24 9.83728 22.73 10.3273L17.98 14.9773L19.1 21.5373C19.22 22.2373 18.49 22.7773 17.86 22.4373L11.99 19.3373H12Z\" fill=\"none\" stroke-width=\"2\"></path><path d=\"M12 15.9472L8.58001 17.7572L9.23001 13.9272L6.45001 11.2072L10.29 10.6472L12 7.17725L13.71 10.6472L17.55 11.2072L14.77 13.9272L15.42 17.7572L12 15.9472Z\"></path></svg>"
17168
+
17169
+ /***/ }),
17170
+
17171
+ /***/ "./src/images/rating-star-small.svg":
17172
+ /*!******************************************!*\
17173
+ !*** ./src/images/rating-star-small.svg ***!
17174
+ \******************************************/
17175
+ /*! no static exports found */
17176
+ /***/ (function(module, exports) {
17177
+
17178
+ module.exports = "<svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><g><path d=\"M12 19.3373L6.13001 22.4373C5.50001 22.7673 4.77001 22.2373 4.89001 21.5373L6.01001 14.9773L1.26001 10.3273C0.750007 9.83728 1.03001 8.96728 1.73001 8.86728L8.29001 7.90728L11.23 1.93728C11.54 1.29728 12.45 1.29728 12.77 1.93728L15.7 7.90728L22.26 8.86728C22.96 8.96728 23.24 9.83728 22.73 10.3273L17.98 14.9773L19.1 21.5373C19.22 22.2373 18.49 22.7773 17.86 22.4373L11.99 19.3373H12Z\" stroke-width=\"2\"></path></g></svg>"
17179
+
17180
+ /***/ }),
17181
+
17084
17182
  /***/ "./src/images/rating-star.svg":
17085
17183
  /*!************************************!*\
17086
17184
  !*** ./src/images/rating-star.svg ***!
@@ -30285,6 +30383,7 @@ __webpack_require__.r(__webpack_exports__);
30285
30383
  /* harmony import */ var _utils_popup__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils/popup */ "./src/utils/popup.ts");
30286
30384
  /* harmony import */ var _popup_view_model__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./popup-view-model */ "./src/popup-view-model.ts");
30287
30385
  /* harmony import */ var _utils_devices__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./utils/devices */ "./src/utils/devices.ts");
30386
+ /* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./settings */ "./src/settings.ts");
30288
30387
  var __extends = (undefined && undefined.__extends) || (function () {
30289
30388
  var extendStatics = function (d, b) {
30290
30389
  extendStatics = Object.setPrototypeOf ||
@@ -30310,6 +30409,7 @@ var __decorate = (undefined && undefined.__decorate) || function (decorators, ta
30310
30409
 
30311
30410
 
30312
30411
 
30412
+
30313
30413
  var PopupDropdownViewModel = /** @class */ (function (_super) {
30314
30414
  __extends(PopupDropdownViewModel, _super);
30315
30415
  function PopupDropdownViewModel(model, targetElement) {
@@ -30434,7 +30534,8 @@ var PopupDropdownViewModel = /** @class */ (function (_super) {
30434
30534
  return "popup-pointer";
30435
30535
  };
30436
30536
  PopupDropdownViewModel.prototype.updateOnShowing = function () {
30437
- this.prevActiveElement = document.activeElement;
30537
+ var root = _settings__WEBPACK_IMPORTED_MODULE_4__["settings"].environment.root;
30538
+ this.prevActiveElement = root.activeElement;
30438
30539
  if (this.isOverlay) {
30439
30540
  this.resetDimensionsAndPositionStyleProperties();
30440
30541
  }
@@ -30942,6 +31043,8 @@ __webpack_require__.r(__webpack_exports__);
30942
31043
  /* harmony import */ var _jsonobject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./jsonobject */ "./src/jsonobject.ts");
30943
31044
  /* harmony import */ var _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils/cssClassBuilder */ "./src/utils/cssClassBuilder.ts");
30944
31045
  /* harmony import */ var _actions_container__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./actions/container */ "./src/actions/container.ts");
31046
+ /* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./settings */ "./src/settings.ts");
31047
+ /* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./utils/utils */ "./src/utils/utils.ts");
30945
31048
  var __extends = (undefined && undefined.__extends) || (function () {
30946
31049
  var extendStatics = function (d, b) {
30947
31050
  extendStatics = Object.setPrototypeOf ||
@@ -30967,6 +31070,8 @@ var __decorate = (undefined && undefined.__decorate) || function (decorators, ta
30967
31070
 
30968
31071
 
30969
31072
 
31073
+
31074
+
30970
31075
  var FOCUS_INPUT_SELECTOR = "input:not(:disabled):not([readonly]):not([type=hidden]),select:not(:disabled):not([readonly]),textarea:not(:disabled):not([readonly]), button:not(:disabled):not([readonly]), [tabindex]:not([tabindex^=\"-\"])";
30971
31076
  var PopupBaseViewModel = /** @class */ (function (_super) {
30972
31077
  __extends(PopupBaseViewModel, _super);
@@ -31148,13 +31253,13 @@ var PopupBaseViewModel = /** @class */ (function (_super) {
31148
31253
  var firstFocusableElement = focusableElements[0];
31149
31254
  var lastFocusableElement = focusableElements[focusableElements.length - 1];
31150
31255
  if (event.shiftKey) {
31151
- if (document.activeElement === firstFocusableElement) {
31256
+ if (_settings__WEBPACK_IMPORTED_MODULE_4__["settings"].environment.root.activeElement === firstFocusableElement) {
31152
31257
  lastFocusableElement.focus();
31153
31258
  event.preventDefault();
31154
31259
  }
31155
31260
  }
31156
31261
  else {
31157
- if (document.activeElement === lastFocusableElement) {
31262
+ if (_settings__WEBPACK_IMPORTED_MODULE_4__["settings"].environment.root.activeElement === lastFocusableElement) {
31158
31263
  firstFocusableElement.focus();
31159
31264
  event.preventDefault();
31160
31265
  }
@@ -31166,7 +31271,7 @@ var PopupBaseViewModel = /** @class */ (function (_super) {
31166
31271
  }
31167
31272
  };
31168
31273
  PopupBaseViewModel.prototype.updateOnShowing = function () {
31169
- this.prevActiveElement = document.activeElement;
31274
+ this.prevActiveElement = _settings__WEBPACK_IMPORTED_MODULE_4__["settings"].environment.root.activeElement;
31170
31275
  if (this.isOverlay) {
31171
31276
  this.resetDimensionsAndPositionStyleProperties();
31172
31277
  }
@@ -31209,13 +31314,7 @@ var PopupBaseViewModel = /** @class */ (function (_super) {
31209
31314
  var container = document.createElement("div");
31210
31315
  this.container = this.createdContainer = container;
31211
31316
  }
31212
- var mountContainer = document.body.querySelector(".sv-popup-mount");
31213
- if (mountContainer) {
31214
- mountContainer.appendChild(this.container);
31215
- }
31216
- else {
31217
- document.body.appendChild(this.container);
31218
- }
31317
+ Object(_utils_utils__WEBPACK_IMPORTED_MODULE_5__["getElement"])(_settings__WEBPACK_IMPORTED_MODULE_4__["settings"].environment.popupMountContainer).appendChild(this.container);
31219
31318
  };
31220
31319
  PopupBaseViewModel.prototype.unmountPopupContainer = function () {
31221
31320
  this.createdContainer.remove();
@@ -32239,7 +32338,8 @@ var Question = /** @class */ (function (_super) {
32239
32338
  if (this.supportComment() || this.supportOther()) {
32240
32339
  this.commentElements = [];
32241
32340
  this.getCommentElementsId().forEach(function (id) {
32242
- var el = document.getElementById(id);
32341
+ var root = _settings__WEBPACK_IMPORTED_MODULE_8__["settings"].environment.root;
32342
+ var el = root.getElementById(id);
32243
32343
  if (el)
32244
32344
  _this.commentElements.push(el);
32245
32345
  });
@@ -32775,6 +32875,9 @@ var Question = /** @class */ (function (_super) {
32775
32875
  });
32776
32876
  Object.defineProperty(Question.prototype, "isInputReadOnly", {
32777
32877
  get: function () {
32878
+ if (this.forceIsInputReadOnly !== undefined) {
32879
+ return this.forceIsInputReadOnly;
32880
+ }
32778
32881
  var isDesignModeV2 = _settings__WEBPACK_IMPORTED_MODULE_8__["settings"].supportCreatorV2 && this.isDesignMode;
32779
32882
  return this.isReadOnly || isDesignModeV2;
32780
32883
  },
@@ -33924,12 +34027,18 @@ var Question = /** @class */ (function (_super) {
33924
34027
  target.setIsMobile(val);
33925
34028
  } })
33926
34029
  ], Question.prototype, "isMobile", void 0);
34030
+ __decorate([
34031
+ Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])()
34032
+ ], Question.prototype, "forceIsInputReadOnly", void 0);
33927
34033
  __decorate([
33928
34034
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])({ localizable: true })
33929
34035
  ], Question.prototype, "commentPlaceholder", void 0);
33930
34036
  __decorate([
33931
34037
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])()
33932
34038
  ], Question.prototype, "renderAs", void 0);
34039
+ __decorate([
34040
+ Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])({ defaultValue: false })
34041
+ ], Question.prototype, "inMatrixMode", void 0);
33933
34042
  return Question;
33934
34043
  }(_survey_element__WEBPACK_IMPORTED_MODULE_2__["SurveyElement"]));
33935
34044
 
@@ -34876,6 +34985,8 @@ var QuestionSelectBase = /** @class */ (function (_super) {
34876
34985
  return this.hasUnknownValue(val, true, false);
34877
34986
  };
34878
34987
  QuestionSelectBase.prototype.updateSelectedItemValues = function () {
34988
+ if (this.waitingGetChoiceDisplayValueResponse)
34989
+ return;
34879
34990
  var IsMultipleValue = this.getIsMultipleValue();
34880
34991
  if (IsMultipleValue) {
34881
34992
  this.updateMultipleSelectedItemValues();
@@ -34887,10 +34998,12 @@ var QuestionSelectBase = /** @class */ (function (_super) {
34887
34998
  QuestionSelectBase.prototype.updateSingleSelectedItemValues = function () {
34888
34999
  var _this = this;
34889
35000
  if (!!this.survey && !this.isEmpty() && !_itemvalue__WEBPACK_IMPORTED_MODULE_3__["ItemValue"].getItemByValue(this.choices, this.value)) {
35001
+ this.waitingGetChoiceDisplayValueResponse = true;
34890
35002
  this.survey.getChoiceDisplayValue({
34891
35003
  question: this,
34892
35004
  values: [this.value],
34893
35005
  setItems: function (displayValues) {
35006
+ _this.waitingGetChoiceDisplayValueResponse = false;
34894
35007
  if (!displayValues || !displayValues.length)
34895
35008
  return;
34896
35009
  _this.selectedItemValues = _this.createItemValue(_this.value, displayValues[0]);
@@ -34903,10 +35016,12 @@ var QuestionSelectBase = /** @class */ (function (_super) {
34903
35016
  var valueArray = this.value;
34904
35017
  var hasItemWithValues = valueArray.some(function (val) { return !_itemvalue__WEBPACK_IMPORTED_MODULE_3__["ItemValue"].getItemByValue(_this.choices, val); });
34905
35018
  if (!!this.survey && !this.isEmpty() && hasItemWithValues) {
35019
+ this.waitingGetChoiceDisplayValueResponse = true;
34906
35020
  this.survey.getChoiceDisplayValue({
34907
35021
  question: this,
34908
35022
  values: valueArray,
34909
35023
  setItems: function (displayValues) {
35024
+ _this.waitingGetChoiceDisplayValueResponse = false;
34910
35025
  if (!displayValues || !displayValues.length)
34911
35026
  return;
34912
35027
  _this.selectedItemValues = displayValues.map(function (displayValue, index) { return _this.createItemValue(_this.value[index], displayValue); });
@@ -37533,6 +37648,7 @@ __webpack_require__.r(__webpack_exports__);
37533
37648
  /* harmony import */ var _questionfactory__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./questionfactory */ "./src/questionfactory.ts");
37534
37649
  /* harmony import */ var _question_textbase__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./question_textbase */ "./src/question_textbase.ts");
37535
37650
  /* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./utils/utils */ "./src/utils/utils.ts");
37651
+ /* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./settings */ "./src/settings.ts");
37536
37652
  var __extends = (undefined && undefined.__extends) || (function () {
37537
37653
  var extendStatics = function (d, b) {
37538
37654
  extendStatics = Object.setPrototypeOf ||
@@ -37552,6 +37668,7 @@ var __extends = (undefined && undefined.__extends) || (function () {
37552
37668
 
37553
37669
 
37554
37670
 
37671
+
37555
37672
  /**
37556
37673
  * A class that describes the Comment question type.
37557
37674
  *
@@ -37628,7 +37745,8 @@ var QuestionCommentModel = /** @class */ (function (_super) {
37628
37745
  return "comment";
37629
37746
  };
37630
37747
  QuestionCommentModel.prototype.afterRenderQuestionElement = function (el) {
37631
- this.element = document.getElementById(this.inputId) || el;
37748
+ var root = _settings__WEBPACK_IMPORTED_MODULE_4__["settings"].environment.root;
37749
+ this.element = root.getElementById(this.inputId) || el;
37632
37750
  this.updateElement();
37633
37751
  _super.prototype.afterRenderQuestionElement.call(this, el);
37634
37752
  };
@@ -40071,7 +40189,7 @@ var QuestionFileModel = /** @class */ (function (_super) {
40071
40189
  return errorLength === this.errors.length;
40072
40190
  };
40073
40191
  QuestionFileModel.prototype.isFileImage = function (file) {
40074
- if (!file)
40192
+ if (!file || !file.content || !file.content.substring)
40075
40193
  return false;
40076
40194
  var imagePrefix = "data:image";
40077
40195
  var subStr = file.content && file.content.substring(0, imagePrefix.length);
@@ -44398,6 +44516,7 @@ var QuestionMatrixDropdownModelBase = /** @class */ (function (_super) {
44398
44516
  var question = column.createCellQuestion(row);
44399
44517
  question.setSurveyImpl(row);
44400
44518
  question.setParentQuestion(this);
44519
+ question.inMatrixMode = true;
44401
44520
  return question;
44402
44521
  };
44403
44522
  QuestionMatrixDropdownModelBase.prototype.deleteRowValue = function (newValue, row) {
@@ -51527,9 +51646,9 @@ var RenderedRatingItem = /** @class */ (function (_super) {
51527
51646
  }(_base__WEBPACK_IMPORTED_MODULE_7__["Base"]));
51528
51647
 
51529
51648
  /**
51530
- * A Model for a rating question.
51649
+ * A class that describes the Rating Scale question type.
51531
51650
  *
51532
- * [View Demo](https://surveyjs.io/form-library/examples/questiontype-rating/ (linkStyle))
51651
+ * [View Demo](https://surveyjs.io/form-library/examples/rating-scale/ (linkStyle))
51533
51652
  */
51534
51653
  var QuestionRatingModel = /** @class */ (function (_super) {
51535
51654
  __extends(QuestionRatingModel, _super);
@@ -51994,10 +52113,35 @@ var QuestionRatingModel = /** @class */ (function (_super) {
51994
52113
  QuestionRatingModel.prototype.onItemMouseOut = function (item) {
51995
52114
  this.renderedRateItems.forEach(function (item) { return item.highlight = "none"; });
51996
52115
  };
52116
+ Object.defineProperty(QuestionRatingModel.prototype, "itemSmallMode", {
52117
+ get: function () {
52118
+ return this.inMatrixMode && _settings__WEBPACK_IMPORTED_MODULE_4__["settings"].matrix.rateSize == "small";
52119
+ },
52120
+ enumerable: false,
52121
+ configurable: true
52122
+ });
51997
52123
  Object.defineProperty(QuestionRatingModel.prototype, "ratingRootCss", {
51998
52124
  get: function () {
51999
- return ((this.displayMode == "buttons" || (!!this.survey && this.survey.isDesignMode)) && this.cssClasses.rootWrappable) ?
52125
+ var baseClass = ((this.displayMode == "buttons" || (!!this.survey && this.survey.isDesignMode)) && this.cssClasses.rootWrappable) ?
52000
52126
  this.cssClasses.rootWrappable : this.cssClasses.root;
52127
+ return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_6__["CssClassBuilder"]()
52128
+ .append(baseClass)
52129
+ .append(this.cssClasses.itemSmall, this.itemSmallMode && this.rateType != "labels")
52130
+ .toString();
52131
+ },
52132
+ enumerable: false,
52133
+ configurable: true
52134
+ });
52135
+ Object.defineProperty(QuestionRatingModel.prototype, "itemStarIcon", {
52136
+ get: function () {
52137
+ return this.itemSmallMode ? "icon-rating-star-small" : "icon-rating-star";
52138
+ },
52139
+ enumerable: false,
52140
+ configurable: true
52141
+ });
52142
+ Object.defineProperty(QuestionRatingModel.prototype, "itemStarIconAlt", {
52143
+ get: function () {
52144
+ return this.itemStarIcon + "-2";
52001
52145
  },
52002
52146
  enumerable: false,
52003
52147
  configurable: true
@@ -52087,6 +52231,7 @@ var QuestionRatingModel = /** @class */ (function (_super) {
52087
52231
  var itemUnhighlightedClass = null;
52088
52232
  var itemScaleColoredClass = null;
52089
52233
  var itemRateColoredClass = null;
52234
+ var itemSmallClass = null;
52090
52235
  if (this.isStar) {
52091
52236
  itemClass = this.cssClasses.itemStar;
52092
52237
  itemSelectedClass = this.cssClasses.itemStarSelected;
@@ -52095,6 +52240,7 @@ var QuestionRatingModel = /** @class */ (function (_super) {
52095
52240
  itemitemOnErrorClass = this.cssClasses.itemStarOnError;
52096
52241
  itemHighlightedClass = this.cssClasses.itemStarHighlighted;
52097
52242
  itemUnhighlightedClass = this.cssClasses.itemStarUnhighlighted;
52243
+ itemSmallClass = this.cssClasses.itemStarSmall;
52098
52244
  }
52099
52245
  if (this.isSmiley) {
52100
52246
  itemClass = this.cssClasses.itemSmiley;
@@ -52105,6 +52251,7 @@ var QuestionRatingModel = /** @class */ (function (_super) {
52105
52251
  itemHighlightedClass = this.cssClasses.itemSmileyHighlighted;
52106
52252
  itemScaleColoredClass = this.cssClasses.itemSmileyScaleColored;
52107
52253
  itemRateColoredClass = this.cssClasses.itemSmileyRateColored;
52254
+ itemSmallClass = this.cssClasses.itemSmileySmall;
52108
52255
  }
52109
52256
  var hasFixedSize = !this.isStar &&
52110
52257
  !this.isSmiley &&
@@ -52123,6 +52270,7 @@ var QuestionRatingModel = /** @class */ (function (_super) {
52123
52270
  .append(itemRateColoredClass, this.rateColorMode == "scale" && isSelected)
52124
52271
  .append(itemUnhighlightedClass, isUnhighlighted)
52125
52272
  .append(itemitemOnErrorClass, this.errors.length > 0)
52273
+ .append(itemSmallClass, this.itemSmallMode)
52126
52274
  .append(this.cssClasses.itemFixedSize, hasFixedSize)
52127
52275
  .toString();
52128
52276
  };
@@ -53103,7 +53251,7 @@ var QuestionTextModel = /** @class */ (function (_super) {
53103
53251
  }
53104
53252
  };
53105
53253
  _this.onChange = function (event) {
53106
- if (event.target === document.activeElement) {
53254
+ if (event.target === _settings__WEBPACK_IMPORTED_MODULE_6__["settings"].environment.root.activeElement) {
53107
53255
  if (_this.isInputTextUpdate) {
53108
53256
  _this.updateValueOnEvent(event);
53109
53257
  }
@@ -55103,10 +55251,11 @@ __webpack_require__.r(__webpack_exports__);
55103
55251
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "List", function() { return List; });
55104
55252
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
55105
55253
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
55106
- /* harmony import */ var _element_factory__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../element-factory */ "./src/react/element-factory.tsx");
55107
- /* harmony import */ var _reactquestion_element__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../reactquestion_element */ "./src/react/reactquestion_element.tsx");
55108
- /* 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");
55109
- /* harmony import */ var _list_item__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./list-item */ "./src/react/components/list/list-item.tsx");
55254
+ /* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! survey-core */ "./src/entries/core.ts");
55255
+ /* harmony import */ var _element_factory__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../element-factory */ "./src/react/element-factory.tsx");
55256
+ /* harmony import */ var _reactquestion_element__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../reactquestion_element */ "./src/react/reactquestion_element.tsx");
55257
+ /* 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");
55258
+ /* harmony import */ var _list_item__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./list-item */ "./src/react/components/list/list-item.tsx");
55110
55259
  var __extends = (undefined && undefined.__extends) || (function () {
55111
55260
  var extendStatics = function (d, b) {
55112
55261
  extendStatics = Object.setPrototypeOf ||
@@ -55127,6 +55276,7 @@ var __extends = (undefined && undefined.__extends) || (function () {
55127
55276
 
55128
55277
 
55129
55278
 
55279
+
55130
55280
  var List = /** @class */ (function (_super) {
55131
55281
  __extends(List, _super);
55132
55282
  function List(props) {
@@ -55184,7 +55334,7 @@ var List = /** @class */ (function (_super) {
55184
55334
  return null;
55185
55335
  }
55186
55336
  return items.map(function (item, itemIndex) {
55187
- return (react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_list_item__WEBPACK_IMPORTED_MODULE_4__["ListItem"], { model: _this.model, item: item, key: "item" + itemIndex }));
55337
+ return (react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_list_item__WEBPACK_IMPORTED_MODULE_5__["ListItem"], { model: _this.model, item: item, key: "item" + itemIndex }));
55188
55338
  });
55189
55339
  };
55190
55340
  List.prototype.searchElementContent = function () {
@@ -55193,7 +55343,8 @@ var List = /** @class */ (function (_super) {
55193
55343
  return null;
55194
55344
  else {
55195
55345
  var onChange = function (e) {
55196
- if (e.target === document.activeElement) {
55346
+ var root = survey_core__WEBPACK_IMPORTED_MODULE_1__["settings"].environment.root;
55347
+ if (e.target === root.activeElement) {
55197
55348
  _this.model.filterString = e.target.value;
55198
55349
  }
55199
55350
  };
@@ -55202,10 +55353,10 @@ var List = /** @class */ (function (_super) {
55202
55353
  };
55203
55354
  var clearButton = this.model.showSearchClearButton && !!this.model.filterString ?
55204
55355
  react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", { className: this.model.cssClasses.searchClearButtonIcon, onClick: function (event) { _this.model.onClickSearchClearButton(event); } },
55205
- react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_svg_icon_svg_icon__WEBPACK_IMPORTED_MODULE_3__["SvgIcon"], { iconName: "icon-searchclear", size: "auto" })) : null;
55356
+ react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_svg_icon_svg_icon__WEBPACK_IMPORTED_MODULE_4__["SvgIcon"], { iconName: "icon-searchclear", size: "auto" })) : null;
55206
55357
  return (react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { className: this.model.cssClasses.filter },
55207
55358
  react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { className: this.model.cssClasses.filterIcon },
55208
- react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_svg_icon_svg_icon__WEBPACK_IMPORTED_MODULE_3__["SvgIcon"], { iconName: "icon-search", size: "auto" })),
55359
+ react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_svg_icon_svg_icon__WEBPACK_IMPORTED_MODULE_4__["SvgIcon"], { iconName: "icon-search", size: "auto" })),
55209
55360
  react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("input", { type: "text", className: this.model.cssClasses.filterInput, "aria-label": this.model.filterStringPlaceholder, placeholder: this.model.filterStringPlaceholder, value: this.state.filterString, onKeyUp: onKeyUp, onChange: onChange }),
55210
55361
  clearButton));
55211
55362
  }
@@ -55216,9 +55367,9 @@ var List = /** @class */ (function (_super) {
55216
55367
  react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { className: this.model.cssClasses.emptyText, "aria-label": this.model.emptyMessage }, this.model.emptyMessage)));
55217
55368
  };
55218
55369
  return List;
55219
- }(_reactquestion_element__WEBPACK_IMPORTED_MODULE_2__["SurveyElementBase"]));
55370
+ }(_reactquestion_element__WEBPACK_IMPORTED_MODULE_3__["SurveyElementBase"]));
55220
55371
 
55221
- _element_factory__WEBPACK_IMPORTED_MODULE_1__["ReactElementFactory"].Instance.registerElement("sv-list", function (props) {
55372
+ _element_factory__WEBPACK_IMPORTED_MODULE_2__["ReactElementFactory"].Instance.registerElement("sv-list", function (props) {
55222
55373
  return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(List, props);
55223
55374
  });
55224
55375
 
@@ -56268,8 +56419,8 @@ var RatingItemStar = /** @class */ (function (_super) {
56268
56419
  var _this = this;
56269
56420
  return (react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("label", { 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); } },
56270
56421
  react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("input", { type: "radio", className: "sv-visuallyhidden", name: this.question.name, 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-describedby": this.question.ariaDescribedBy }),
56271
- react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_svg_icon_svg_icon__WEBPACK_IMPORTED_MODULE_3__["SvgIcon"], { className: "sv-star", size: "auto", iconName: "icon-rating-star", title: this.item.text }),
56272
- react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_svg_icon_svg_icon__WEBPACK_IMPORTED_MODULE_3__["SvgIcon"], { className: "sv-star-2", size: "auto", iconName: "icon-rating-star-2", title: this.item.text })));
56422
+ react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_svg_icon_svg_icon__WEBPACK_IMPORTED_MODULE_3__["SvgIcon"], { className: "sv-star", size: "auto", iconName: this.question.itemStarIcon, title: this.item.text }),
56423
+ react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_svg_icon_svg_icon__WEBPACK_IMPORTED_MODULE_3__["SvgIcon"], { className: "sv-star-2", size: "auto", iconName: this.question.itemStarIconAlt, title: this.item.text })));
56273
56424
  };
56274
56425
  return RatingItemStar;
56275
56426
  }(_reactquestion_element__WEBPACK_IMPORTED_MODULE_2__["SurveyElementBase"]));
@@ -56837,7 +56988,8 @@ var TitleContent = /** @class */ (function (_super) {
56837
56988
  }
56838
56989
  var questionNumber = element.no;
56839
56990
  if (questionNumber) {
56840
- spans.push(react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { "data-key": "q_num", key: "q_num", className: cssClasses.number || cssClasses.panel.number, style: { position: "static" }, "aria-hidden": true }, questionNumber));
56991
+ var panelNumber = !!cssClasses.panel ? cssClasses.panel.number : undefined;
56992
+ spans.push(react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { "data-key": "q_num", key: "q_num", className: cssClasses.number || panelNumber, style: { position: "static" }, "aria-hidden": true }, questionNumber));
56841
56993
  spans.push(getSpaceSpan("num-sp"));
56842
56994
  }
56843
56995
  if (element.isRequireTextBeforeTitle) {
@@ -57133,8 +57285,9 @@ var SurveyQuestionDropdownBase = /** @class */ (function (_super) {
57133
57285
  SurveyQuestionDropdownBase.prototype.renderInput = function (dropdownListModel) {
57134
57286
  var _this = this;
57135
57287
  var valueElement = this.renderValueElement(dropdownListModel);
57288
+ var root = survey_core__WEBPACK_IMPORTED_MODULE_1__["settings"].environment.root;
57136
57289
  var onInputChange = function (e) {
57137
- if (e.target === document.activeElement) {
57290
+ if (e.target === root.activeElement) {
57138
57291
  dropdownListModel.inputStringRendered = e.target.value;
57139
57292
  }
57140
57293
  };
@@ -63337,7 +63490,8 @@ var TagboxFilterString = /** @class */ (function (_super) {
63337
63490
  }
63338
63491
  };
63339
63492
  TagboxFilterString.prototype.onChange = function (e) {
63340
- if (e.target === document.activeElement) {
63493
+ var root = survey_core__WEBPACK_IMPORTED_MODULE_1__["settings"].environment.root;
63494
+ if (e.target === root.activeElement) {
63341
63495
  this.model.inputStringRendered = e.target.value;
63342
63496
  }
63343
63497
  };
@@ -63355,7 +63509,16 @@ var TagboxFilterString = /** @class */ (function (_super) {
63355
63509
  };
63356
63510
  TagboxFilterString.prototype.render = function () {
63357
63511
  var _this = this;
63358
- return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("input", { type: "text", autoComplete: "off", id: this.question.getInputId(), inputMode: this.model.inputMode, ref: function (element) { return (_this.inputElement = element); }, className: this.question.cssClasses.filterStringInput, disabled: this.question.isInputReadOnly, readOnly: !this.model.searchEnabled ? true : undefined, size: !this.model.inputStringRendered ? 1 : undefined, role: this.model.filterStringEnabled ? this.question.ariaRole : undefined, "aria-label": this.question.placeholder, "aria-expanded": this.question.ariaExpanded ? "true" : "false", "aria-controls": this.model.listElementId, "aria-activedescendant": this.model.ariaActivedescendant, placeholder: this.model.filterStringPlaceholder, onKeyDown: function (e) { _this.keyhandler(e); }, onChange: function (e) { _this.onChange(e); }, onBlur: function (e) { _this.onBlur(e); }, onFocus: function (e) { _this.onFocus(e); } }));
63512
+ return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.question.cssClasses.hint },
63513
+ this.model.showHintPrefix ?
63514
+ (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.question.cssClasses.hintPrefix },
63515
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", null, this.model.hintStringPrefix))) : null,
63516
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.question.cssClasses.hintSuffixWrapper },
63517
+ this.model.showHintString ?
63518
+ (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.question.cssClasses.hintSuffix },
63519
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", { style: { visibility: "hidden" }, "data-bind": "text: model.filterString" }, this.model.inputStringRendered),
63520
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", null, this.model.hintStringSuffix))) : null,
63521
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("input", { type: "text", autoComplete: "off", id: this.question.getInputId(), inputMode: this.model.inputMode, ref: function (element) { return (_this.inputElement = element); }, className: this.question.cssClasses.filterStringInput, disabled: this.question.isInputReadOnly, readOnly: !this.model.searchEnabled ? true : undefined, size: !this.model.inputStringRendered ? 1 : undefined, role: this.model.filterStringEnabled ? this.question.ariaRole : undefined, "aria-label": this.question.placeholder, "aria-expanded": this.question.ariaExpanded ? "true" : "false", "aria-controls": this.model.listElementId, "aria-activedescendant": this.model.ariaActivedescendant, placeholder: this.model.filterStringPlaceholder, onKeyDown: function (e) { _this.keyhandler(e); }, onChange: function (e) { _this.onChange(e); }, onBlur: function (e) { _this.onBlur(e); }, onFocus: function (e) { _this.onFocus(e); } }))));
63359
63522
  };
63360
63523
  return TagboxFilterString;
63361
63524
  }(_reactquestion_element__WEBPACK_IMPORTED_MODULE_3__["SurveyElementBase"]));
@@ -63494,7 +63657,29 @@ var RendererFactory = /** @class */ (function () {
63494
63657
 
63495
63658
  "use strict";
63496
63659
  __webpack_require__.r(__webpack_exports__);
63497
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "settings", function() { return settings; });
63660
+ /* WEBPACK VAR INJECTION */(function(global) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "settings", function() { return settings; });
63661
+ var document = global.document;
63662
+ var defaultEnvironment = (!!document ? {
63663
+ root: document,
63664
+ _rootElement: document.body,
63665
+ get rootElement() {
63666
+ var _a;
63667
+ return (_a = this._rootElement) !== null && _a !== void 0 ? _a : document.body;
63668
+ },
63669
+ set rootElement(rootElement) {
63670
+ this._rootElement = rootElement;
63671
+ },
63672
+ _popupMountContainer: document.body,
63673
+ get popupMountContainer() {
63674
+ var _a;
63675
+ return (_a = this._popupMountContainer) !== null && _a !== void 0 ? _a : document.body;
63676
+ },
63677
+ set popupMountContainer(popupMountContainer) {
63678
+ this._popupMountContainer = popupMountContainer;
63679
+ },
63680
+ svgMountContainer: document.head,
63681
+ stylesSheetsMountContainer: document.head,
63682
+ } : undefined);
63498
63683
  var columnWidthsByType = {
63499
63684
  "file": { minWidth: "240px" },
63500
63685
  "comment": { minWidth: "200px" }
@@ -63876,6 +64061,10 @@ var settings = {
63876
64061
  * - `"icon"` - Users can only use the choice item icon as a drag handle.
63877
64062
  */
63878
64063
  rankingDragHandleArea: "entireItem",
64064
+ /**
64065
+ * Specifies environment in which SurveyJS will exist
64066
+ */
64067
+ environment: defaultEnvironment,
63879
64068
  titleTags: {
63880
64069
  survey: "h3",
63881
64070
  page: "h4",
@@ -63963,12 +64152,17 @@ var settings = {
63963
64152
  * - `columnWidthsByType`: `Object`\
63964
64153
  * An object that specifies fixed and minimum column width based on the column type.\
63965
64154
  * Example: `settings.matrix.columnWidthsByType = { "tagbox": { minWidth: "240px", width: "300px" } }`
64155
+ *
64156
+ * - `rateSize`: `"small"` (default) | `"normal"`\
64157
+ * Specifies the size of rate values. Applies to [Rating Scale](https://surveyjs.io/form-library/examples/rating-scale/) questions within matrixes.
63966
64158
  */
63967
64159
  matrix: {
63968
- columnWidthsByType: columnWidthsByType
64160
+ columnWidthsByType: columnWidthsByType,
64161
+ rateSize: "small",
63969
64162
  }
63970
64163
  };
63971
64164
 
64165
+ /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../node_modules/webpack/buildin/global.js */ "./node_modules/webpack/buildin/global.js")))
63972
64166
 
63973
64167
  /***/ }),
63974
64168
 
@@ -63991,6 +64185,10 @@ __webpack_require__.r(__webpack_exports__);
63991
64185
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "winterstoneThemeColors", function() { return winterstoneThemeColors; });
63992
64186
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "StylesManager", function() { return StylesManager; });
63993
64187
  /* harmony import */ var _defaultCss_defaultV2Css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./defaultCss/defaultV2Css */ "./src/defaultCss/defaultV2Css.ts");
64188
+ /* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./settings */ "./src/settings.ts");
64189
+ /* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils/utils */ "./src/utils/utils.ts");
64190
+
64191
+
63994
64192
 
63995
64193
  var modernThemeColors = {
63996
64194
  "$main-color": "#1ab394",
@@ -64222,9 +64420,11 @@ var StylesManager = /** @class */ (function () {
64222
64420
  return themeMapper;
64223
64421
  };
64224
64422
  StylesManager.getIncludedThemeCss = function () {
64423
+ var rootElement = _settings__WEBPACK_IMPORTED_MODULE_1__["settings"].environment.rootElement;
64225
64424
  var themeMapper = StylesManager.getAvailableThemes();
64226
- if (!!document && !!document.body) {
64227
- var styles_1 = getComputedStyle(document.body);
64425
+ var element = Object(_utils_utils__WEBPACK_IMPORTED_MODULE_2__["isShadowDOM"])(rootElement) ? rootElement.host : rootElement;
64426
+ if (!!element) {
64427
+ var styles_1 = getComputedStyle(element);
64228
64428
  if (styles_1.length) {
64229
64429
  return themeMapper.filter(function (item) { return item.theme.variables && styles_1.getPropertyValue(item.theme.variables.themeMark); });
64230
64430
  }
@@ -64232,23 +64432,25 @@ var StylesManager = /** @class */ (function () {
64232
64432
  return [];
64233
64433
  };
64234
64434
  StylesManager.findSheet = function (styleSheetId) {
64235
- if (typeof document === "undefined")
64435
+ if (typeof _settings__WEBPACK_IMPORTED_MODULE_1__["settings"].environment === "undefined")
64236
64436
  return null;
64237
- for (var i = 0; i < document.styleSheets.length; i++) {
64238
- if (!!document.styleSheets[i].ownerNode && document.styleSheets[i].ownerNode["id"] === styleSheetId) {
64239
- return document.styleSheets[i];
64437
+ var styleSheets = _settings__WEBPACK_IMPORTED_MODULE_1__["settings"].environment.root.styleSheets;
64438
+ for (var i = 0; i < styleSheets.length; i++) {
64439
+ if (!!styleSheets[i].ownerNode && styleSheets[i].ownerNode["id"] === styleSheetId) {
64440
+ return styleSheets[i];
64240
64441
  }
64241
64442
  }
64242
64443
  return null;
64243
64444
  };
64244
64445
  StylesManager.createSheet = function (styleSheetId) {
64446
+ var stylesSheetsMountContainer = _settings__WEBPACK_IMPORTED_MODULE_1__["settings"].environment.stylesSheetsMountContainer;
64245
64447
  var style = document.createElement("style");
64246
64448
  style.id = styleSheetId;
64247
64449
  // Add a media (and/or media query) here if you'd like!
64248
64450
  // style.setAttribute("media", "screen")
64249
64451
  // style.setAttribute("media", "only screen and (max-width : 1024px)")
64250
64452
  style.appendChild(document.createTextNode(""));
64251
- document.head.appendChild(style);
64453
+ Object(_utils_utils__WEBPACK_IMPORTED_MODULE_2__["getElement"])(stylesSheetsMountContainer).appendChild(style);
64252
64454
  if (!!StylesManager.Logger) {
64253
64455
  StylesManager.Logger.log("style sheet " + styleSheetId + " created");
64254
64456
  }
@@ -64256,10 +64458,12 @@ var StylesManager = /** @class */ (function () {
64256
64458
  };
64257
64459
  StylesManager.applyTheme = function (themeName, themeSelector) {
64258
64460
  if (themeName === void 0) { themeName = "default"; }
64461
+ var rootElement = _settings__WEBPACK_IMPORTED_MODULE_1__["settings"].environment.rootElement;
64462
+ var element = Object(_utils_utils__WEBPACK_IMPORTED_MODULE_2__["isShadowDOM"])(rootElement) ? rootElement.host : rootElement;
64259
64463
  _defaultCss_defaultV2Css__WEBPACK_IMPORTED_MODULE_0__["surveyCss"].currentType = themeName;
64260
64464
  if (StylesManager.Enabled) {
64261
64465
  if (themeName !== "bootstrap" && themeName !== "bootstrapmaterial") {
64262
- setCssVariables(StylesManager.ThemeColors[themeName], document.body);
64466
+ setCssVariables(StylesManager.ThemeColors[themeName], element);
64263
64467
  if (!!StylesManager.Logger) {
64264
64468
  StylesManager.Logger.log("apply theme " + themeName + " completed");
64265
64469
  }
@@ -64596,9 +64800,10 @@ var SurveyElement = /** @class */ (function (_super) {
64596
64800
  return info;
64597
64801
  };
64598
64802
  SurveyElement.ScrollElementToTop = function (elementId) {
64599
- if (!elementId || typeof document === "undefined")
64803
+ var root = _settings__WEBPACK_IMPORTED_MODULE_4__["settings"].environment.root;
64804
+ if (!elementId || typeof root === "undefined")
64600
64805
  return false;
64601
- var el = document.getElementById(elementId);
64806
+ var el = root.getElementById(elementId);
64602
64807
  if (!el || !el.scrollIntoView)
64603
64808
  return false;
64604
64809
  var elemTop = el.getBoundingClientRect().top;
@@ -64636,9 +64841,10 @@ var SurveyElement = /** @class */ (function (_super) {
64636
64841
  return res;
64637
64842
  };
64638
64843
  SurveyElement.focusElementCore = function (elementId) {
64639
- if (!document)
64844
+ var root = _settings__WEBPACK_IMPORTED_MODULE_4__["settings"].environment.root;
64845
+ if (!root)
64640
64846
  return false;
64641
- var el = document.getElementById(elementId);
64847
+ var el = root.getElementById(elementId);
64642
64848
  if (el && !el["disabled"]) {
64643
64849
  el.focus();
64644
64850
  return true;
@@ -65038,9 +65244,10 @@ var SurveyElement = /** @class */ (function (_super) {
65038
65244
  *
65039
65245
  * Use the following events of the [`SurveyModel`](https://surveyjs.io/form-library/documentation/surveymodel) object to override CSS classes:
65040
65246
  *
65041
- * - [`onUpdatePageCssClasses`](https://surveyjs.io/form-library/documentation/surveymodel#onUpdatePageCssClasses)
65042
- * - [`onUpdatePanelCssClasses`](https://surveyjs.io/form-library/documentation/surveymodel#onUpdatePanelCssClasses)
65043
65247
  * - [`onUpdateQuestionCssClasses`](https://surveyjs.io/form-library/documentation/surveymodel#onUpdateQuestionCssClasses)
65248
+ * - [`onUpdatePanelCssClasses`](https://surveyjs.io/form-library/documentation/surveymodel#onUpdatePanelCssClasses)
65249
+ * - [`onUpdatePageCssClasses`](https://surveyjs.io/form-library/documentation/surveymodel#onUpdatePageCssClasses)
65250
+ * - [`onUpdateChoiceItemCss`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onUpdateChoiceItemCss)
65044
65251
  */
65045
65252
  get: function () {
65046
65253
  if (!this.survey)
@@ -65051,6 +65258,16 @@ var SurveyElement = /** @class */ (function (_super) {
65051
65258
  enumerable: false,
65052
65259
  configurable: true
65053
65260
  });
65261
+ Object.defineProperty(SurveyElement.prototype, "cssTitleNumber", {
65262
+ get: function () {
65263
+ var css = this.cssClasses;
65264
+ if (css.number)
65265
+ return css.number;
65266
+ return css.panel ? css.panel.number : undefined;
65267
+ },
65268
+ enumerable: false,
65269
+ configurable: true
65270
+ });
65054
65271
  SurveyElement.prototype.calcCssClasses = function (css) { return undefined; };
65055
65272
  SurveyElement.prototype.updateElementCssCore = function (cssClasses) { };
65056
65273
  Object.defineProperty(SurveyElement.prototype, "cssError", {
@@ -66111,23 +66328,33 @@ var SurveyModel = /** @class */ (function (_super) {
66111
66328
  */
66112
66329
  _this.onProcessTextValue = _this.addEvent();
66113
66330
  /**
66114
- * An event that is raised before rendering a question. Use it to override the default question CSS classes.
66331
+ * An event that is raised before rendering a question. Use it to override default question CSS classes.
66115
66332
  *
66116
66333
  * For information on event handler parameters, refer to descriptions within the interface.
66117
66334
  *
66118
- * [View Demo](https://surveyjs.io/form-library/examples/survey-cssclasses/ (linkStyle))
66335
+ * [View Demo](/form-library/examples/customize-survey-with-css/ (linkStyle))
66336
+ * @see css
66119
66337
  */
66120
66338
  _this.onUpdateQuestionCssClasses = _this.addEvent();
66121
66339
  /**
66122
- * An event that is raised before rendering a panel. Use it to override the default panel CSS classes.
66340
+ * An event that is raised before rendering a panel. Use it to override default panel CSS classes.
66341
+ *
66342
+ * [View Demo](/form-library/examples/customize-survey-with-css/ (linkStyle))
66343
+ * @see css
66123
66344
  */
66124
66345
  _this.onUpdatePanelCssClasses = _this.addEvent();
66125
66346
  /**
66126
- * An event that is raised before rendering a page. Use it to override the default page CSS classes.
66347
+ * An event that is raised before rendering a page. Use it to override default page CSS classes.
66348
+ *
66349
+ * [View Demo](/form-library/examples/customize-survey-with-css/ (linkStyle))
66350
+ * @see css
66127
66351
  */
66128
66352
  _this.onUpdatePageCssClasses = _this.addEvent();
66129
66353
  /**
66130
- * An event that is raised before rendering a choice item in radiogroup, checkbox or dropdown questions. Use it to override the default choice item css.
66354
+ * An event that is raised before rendering a choice item in Radio Button Group, Checkboxes, and Dropdown questions. Use it to override default CSS classes applied to choice items.
66355
+ *
66356
+ * [View Demo](/form-library/examples/customize-survey-with-css/ (linkStyle))
66357
+ * @see css
66131
66358
  */
66132
66359
  _this.onUpdateChoiceItemCss = _this.addEvent();
66133
66360
  /**
@@ -66703,6 +66930,11 @@ var SurveyModel = /** @class */ (function (_super) {
66703
66930
  this.updateCompletedPageCss();
66704
66931
  };
66705
66932
  Object.defineProperty(SurveyModel.prototype, "css", {
66933
+ /**
66934
+ * Gets or sets an object in which keys are UI elements and values are CSS classes applied to them.
66935
+ *
66936
+ * [View Demo](/form-library/examples/customize-survey-with-css/ (linkStyle))
66937
+ */
66706
66938
  get: function () {
66707
66939
  if (!this.cssValue) {
66708
66940
  this.cssValue = {};
@@ -69237,7 +69469,7 @@ var SurveyModel = /** @class */ (function (_super) {
69237
69469
  this.isCompleted = false;
69238
69470
  this.isCompletedBefore = false;
69239
69471
  this.isLoading = false;
69240
- this.canBeCompletedByTrigger = false;
69472
+ this.completedByTriggers = undefined;
69241
69473
  if (clearData) {
69242
69474
  this.data = null;
69243
69475
  this.variablesHash = {};
@@ -69483,7 +69715,7 @@ var SurveyModel = /** @class */ (function (_super) {
69483
69715
  });
69484
69716
  Object.defineProperty(SurveyModel.prototype, "hasCookie", {
69485
69717
  /**
69486
- * Returns `true`, if a user has already completed the survey in this browser and there is a cookie about it. Survey goes to `completed` state if the function returns `true`.
69718
+ * Returns `true`, if a user has already completed the survey in this browser and there is a cookie about it. Survey goes to `completedbefore` state if the function returns `true`.
69487
69719
  * @see cookieName
69488
69720
  * @see setCookie
69489
69721
  * @see deleteCookie
@@ -70477,14 +70709,31 @@ var SurveyModel = /** @class */ (function (_super) {
70477
70709
  SurveyModel.prototype.setCompleted = function () {
70478
70710
  this.doComplete(true);
70479
70711
  };
70480
- SurveyModel.prototype.canBeCompleted = function () {
70712
+ SurveyModel.prototype.canBeCompleted = function (trigger, isCompleted) {
70481
70713
  if (!_settings__WEBPACK_IMPORTED_MODULE_14__["settings"].changeNavigationButtonsOnCompleteTrigger)
70482
70714
  return;
70483
- if (!this.canBeCompletedByTrigger) {
70484
- this.canBeCompletedByTrigger = true;
70715
+ var prevCanBeCompleted = this.canBeCompletedByTrigger;
70716
+ if (!this.completedByTriggers)
70717
+ this.completedByTriggers = {};
70718
+ if (isCompleted) {
70719
+ this.completedByTriggers[trigger.id] = true;
70720
+ }
70721
+ else {
70722
+ delete this.completedByTriggers[trigger.id];
70723
+ }
70724
+ if (prevCanBeCompleted !== this.canBeCompletedByTrigger) {
70485
70725
  this.updateButtonsVisibility();
70486
70726
  }
70487
70727
  };
70728
+ Object.defineProperty(SurveyModel.prototype, "canBeCompletedByTrigger", {
70729
+ get: function () {
70730
+ if (!this.completedByTriggers)
70731
+ return false;
70732
+ return Object.keys(this.completedByTriggers).length > 0;
70733
+ },
70734
+ enumerable: false,
70735
+ configurable: true
70736
+ });
70488
70737
  Object.defineProperty(SurveyModel.prototype, "processedCompletedHtml", {
70489
70738
  /**
70490
70739
  * Returns the HTML content for the complete page.
@@ -70699,8 +70948,9 @@ var SurveyModel = /** @class */ (function (_super) {
70699
70948
  if (this.onAfterRenderQuestionInput.isEmpty)
70700
70949
  return;
70701
70950
  var id = question.inputId;
70702
- if (!!id && htmlElement.id !== id && typeof document !== "undefined") {
70703
- var el = document.getElementById(id);
70951
+ var root = _settings__WEBPACK_IMPORTED_MODULE_14__["settings"].environment.root;
70952
+ if (!!id && htmlElement.id !== id && typeof root !== "undefined") {
70953
+ var el = root.getElementById(id);
70704
70954
  if (!!el) {
70705
70955
  htmlElement = el;
70706
70956
  }
@@ -70741,7 +70991,12 @@ var SurveyModel = /** @class */ (function (_super) {
70741
70991
  this.onChoicesLazyLoad.fire(this, options);
70742
70992
  };
70743
70993
  SurveyModel.prototype.getChoiceDisplayValue = function (options) {
70744
- this.onGetChoiceDisplayValue.fire(this, options);
70994
+ if (this.onGetChoiceDisplayValue.isEmpty) {
70995
+ options.setItems(null);
70996
+ }
70997
+ else {
70998
+ this.onGetChoiceDisplayValue.fire(this, options);
70999
+ }
70745
71000
  };
70746
71001
  SurveyModel.prototype.matrixBeforeRowAdded = function (options) {
70747
71002
  this.onMatrixBeforeRowAdded.fire(this, options);
@@ -71470,7 +71725,6 @@ var SurveyModel = /** @class */ (function (_super) {
71470
71725
  this.triggerValues = this.getFilteredValues();
71471
71726
  var properties = this.getFilteredProperties();
71472
71727
  var prevCanBeCompleted = this.canBeCompletedByTrigger;
71473
- this.canBeCompletedByTrigger = false;
71474
71728
  for (var i = 0; i < this.triggers.length; i++) {
71475
71729
  this.triggers[i].checkExpression(isOnNextPage, isOnComplete, this.triggerKeys, this.triggerValues, properties);
71476
71730
  }
@@ -71735,7 +71989,7 @@ var SurveyModel = /** @class */ (function (_super) {
71735
71989
  this.onQuestionsOnPageModeChanged("standard");
71736
71990
  _super.prototype.endLoadingFromJson.call(this);
71737
71991
  if (this.hasCookie) {
71738
- this.doComplete();
71992
+ this.isCompletedBefore = true;
71739
71993
  }
71740
71994
  this.doElementsOnLoad();
71741
71995
  this.isEndLoadingFromJson = "conditions";
@@ -73977,6 +74231,10 @@ __webpack_require__.r(__webpack_exports__);
73977
74231
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SvgIconRegistry", function() { return SvgIconRegistry; });
73978
74232
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SvgRegistry", function() { return SvgRegistry; });
73979
74233
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SvgBundleViewModel", function() { return SvgBundleViewModel; });
74234
+ /* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./settings */ "./src/settings.ts");
74235
+ /* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils/utils */ "./src/utils/utils.ts");
74236
+
74237
+
73980
74238
  var SvgIconData = /** @class */ (function () {
73981
74239
  function SvgIconData() {
73982
74240
  }
@@ -74033,12 +74291,12 @@ var SvgIconRegistry = /** @class */ (function () {
74033
74291
  };
74034
74292
  SvgIconRegistry.prototype.renderIcons = function () {
74035
74293
  var containerId = "sv-icon-holder-global-container";
74036
- if (!document.getElementById(containerId)) {
74294
+ if (!_settings__WEBPACK_IMPORTED_MODULE_0__["settings"].environment.root.getElementById(containerId)) {
74037
74295
  var iconsDiv = document.createElement("div");
74038
74296
  iconsDiv.id = containerId;
74039
74297
  iconsDiv.innerHTML = "<svg>" + this.iconsRenderedHtml() + "</svg>";
74040
74298
  iconsDiv.style.display = "none";
74041
- document.head.insertBefore(iconsDiv, document.head.firstChild);
74299
+ Object(_utils_utils__WEBPACK_IMPORTED_MODULE_1__["getElement"])(_settings__WEBPACK_IMPORTED_MODULE_0__["settings"].environment.svgMountContainer).appendChild(iconsDiv);
74042
74300
  }
74043
74301
  };
74044
74302
  return SvgIconRegistry;
@@ -74349,6 +74607,7 @@ var Trigger = /** @class */ (function (_super) {
74349
74607
  __extends(Trigger, _super);
74350
74608
  function Trigger() {
74351
74609
  var _this = _super.call(this) || this;
74610
+ _this.idValue = (Trigger.idCounter++);
74352
74611
  _this.usedNames = [];
74353
74612
  _this.registerPropertyChangedHandlers(["operator", "value", "name"], function () {
74354
74613
  _this.oldPropertiesChanged();
@@ -74397,6 +74656,11 @@ var Trigger = /** @class */ (function (_super) {
74397
74656
  enumerable: false,
74398
74657
  configurable: true
74399
74658
  });
74659
+ Object.defineProperty(Trigger.prototype, "id", {
74660
+ get: function () { return this.idValue; },
74661
+ enumerable: false,
74662
+ configurable: true
74663
+ });
74400
74664
  Trigger.prototype.getType = function () {
74401
74665
  return "triggerbase";
74402
74666
  };
@@ -74576,6 +74840,7 @@ var Trigger = /** @class */ (function (_super) {
74576
74840
  enumerable: false,
74577
74841
  configurable: true
74578
74842
  });
74843
+ Trigger.idCounter = 1;
74579
74844
  Trigger.operatorsValue = null;
74580
74845
  return Trigger;
74581
74846
  }(_base__WEBPACK_IMPORTED_MODULE_1__["Base"]));
@@ -74676,9 +74941,12 @@ var SurveyTriggerComplete = /** @class */ (function (_super) {
74676
74941
  this.owner.setCompleted();
74677
74942
  }
74678
74943
  else {
74679
- this.owner.canBeCompleted();
74944
+ this.owner.canBeCompleted(this, true);
74680
74945
  }
74681
74946
  };
74947
+ SurveyTriggerComplete.prototype.onFailure = function () {
74948
+ this.owner.canBeCompleted(this, false);
74949
+ };
74682
74950
  return SurveyTriggerComplete;
74683
74951
  }(SurveyTrigger));
74684
74952
 
@@ -75411,7 +75679,7 @@ var TooltipManager = /** @class */ (function () {
75411
75679
  /*!****************************!*\
75412
75680
  !*** ./src/utils/utils.ts ***!
75413
75681
  \****************************/
75414
- /*! exports provided: unwrap, getSize, doKey2ClickBlur, doKey2ClickUp, doKey2ClickDown, sanitizeEditableContent, Logger, mergeValues, getElementWidth, isContainerVisible, classesToSelector, compareVersions, confirmAction, detectIEOrEdge, detectIEBrowser, loadFileFromBase64, isMobile, isElementVisible, findScrollableParent, scrollElementByChildId, navigateToUrl, createSvg, getIconNameFromProxy, increaseHeightByContent, getOriginalEvent, preventDefaults, findParentByClassNames */
75682
+ /*! exports provided: unwrap, getSize, doKey2ClickBlur, doKey2ClickUp, doKey2ClickDown, sanitizeEditableContent, Logger, mergeValues, getElementWidth, isContainerVisible, classesToSelector, compareVersions, confirmAction, detectIEOrEdge, detectIEBrowser, loadFileFromBase64, isMobile, isShadowDOM, getElement, isElementVisible, findScrollableParent, scrollElementByChildId, navigateToUrl, createSvg, getIconNameFromProxy, increaseHeightByContent, getOriginalEvent, preventDefaults, findParentByClassNames */
75415
75683
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
75416
75684
 
75417
75685
  "use strict";
@@ -75433,6 +75701,8 @@ __webpack_require__.r(__webpack_exports__);
75433
75701
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "detectIEBrowser", function() { return detectIEBrowser; });
75434
75702
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "loadFileFromBase64", function() { return loadFileFromBase64; });
75435
75703
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isMobile", function() { return isMobile; });
75704
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isShadowDOM", function() { return isShadowDOM; });
75705
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getElement", function() { return getElement; });
75436
75706
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isElementVisible", function() { return isElementVisible; });
75437
75707
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "findScrollableParent", function() { return findScrollableParent; });
75438
75708
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "scrollElementByChildId", function() { return scrollElementByChildId; });
@@ -75510,13 +75780,24 @@ function loadFileFromBase64(b64Data, fileName) {
75510
75780
  function isMobile() {
75511
75781
  return (typeof window !== "undefined" && typeof window.orientation !== "undefined");
75512
75782
  }
75783
+ var isShadowDOM = function (rootElement) {
75784
+ return !!rootElement && !!("host" in rootElement && rootElement.host);
75785
+ };
75786
+ var getElement = function (element) {
75787
+ var root = _settings__WEBPACK_IMPORTED_MODULE_0__["settings"].environment.root;
75788
+ return typeof element === "string" ? root.getElementById(element) : element;
75789
+ };
75513
75790
  function isElementVisible(element, threshold) {
75514
75791
  if (threshold === void 0) { threshold = 0; }
75515
- if (typeof document === "undefined") {
75792
+ if (typeof _settings__WEBPACK_IMPORTED_MODULE_0__["settings"].environment === "undefined") {
75516
75793
  return false;
75517
75794
  }
75795
+ var root = _settings__WEBPACK_IMPORTED_MODULE_0__["settings"].environment.root;
75796
+ var clientHeight = isShadowDOM(root)
75797
+ ? root.host.clientHeight
75798
+ : root.documentElement.clientHeight;
75518
75799
  var elementRect = element.getBoundingClientRect();
75519
- var viewHeight = Math.max(document.documentElement.clientHeight, window.innerHeight);
75800
+ var viewHeight = Math.max(clientHeight, window.innerHeight);
75520
75801
  var topWin = -threshold;
75521
75802
  var bottomWin = viewHeight + threshold;
75522
75803
  var topEl = elementRect.top;
@@ -75526,8 +75807,11 @@ function isElementVisible(element, threshold) {
75526
75807
  return maxTop <= minBottom;
75527
75808
  }
75528
75809
  function findScrollableParent(element) {
75810
+ var root = _settings__WEBPACK_IMPORTED_MODULE_0__["settings"].environment.root;
75529
75811
  if (!element) {
75530
- return document.documentElement;
75812
+ return isShadowDOM(root)
75813
+ ? root.host
75814
+ : root.documentElement;
75531
75815
  }
75532
75816
  if (element.scrollHeight > element.clientHeight &&
75533
75817
  (getComputedStyle(element).overflowY === "scroll" ||
@@ -75542,9 +75826,11 @@ function findScrollableParent(element) {
75542
75826
  return findScrollableParent(element.parentElement);
75543
75827
  }
75544
75828
  function scrollElementByChildId(id) {
75545
- if (!document)
75829
+ var environment = _settings__WEBPACK_IMPORTED_MODULE_0__["settings"].environment;
75830
+ if (!environment)
75546
75831
  return;
75547
- var el = document.getElementById(id);
75832
+ var root = environment.root;
75833
+ var el = root.getElementById(id);
75548
75834
  if (!el)
75549
75835
  return;
75550
75836
  var scrollableEl = findScrollableParent(el);