survey-react 1.9.127 → 1.9.129

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.127
2
+ * surveyjs - Survey JavaScript library v1.9.129
3
3
  * Copyright (c) 2015-2024 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
5
5
  */
@@ -2297,18 +2297,23 @@ var Base = /** @class */ (function () {
2297
2297
  configurable: true
2298
2298
  });
2299
2299
  Base.prototype.doPropertyValueChangedCallback = function (name, oldValue, newValue, arrayChanges, target) {
2300
- if (this.isInternal)
2300
+ var fireCallback = function (obj) {
2301
+ if (!!obj && !!obj.onPropertyValueChangedCallback) {
2302
+ obj.onPropertyValueChangedCallback(name, oldValue, newValue, target, arrayChanges);
2303
+ }
2304
+ };
2305
+ if (this.isInternal) {
2306
+ fireCallback(this);
2301
2307
  return;
2308
+ }
2302
2309
  if (!target)
2303
2310
  target = this;
2304
2311
  var notifier = this.getSurvey();
2305
2312
  if (!notifier)
2306
2313
  notifier = this;
2307
- if (!!notifier.onPropertyValueChangedCallback) {
2308
- notifier.onPropertyValueChangedCallback(name, oldValue, newValue, target, arrayChanges);
2309
- }
2310
- if (notifier !== this && !!this.onPropertyValueChangedCallback) {
2311
- this.onPropertyValueChangedCallback(name, oldValue, newValue, target, arrayChanges);
2314
+ fireCallback(notifier);
2315
+ if (notifier !== this) {
2316
+ fireCallback(this);
2312
2317
  }
2313
2318
  };
2314
2319
  Base.prototype.addExpressionProperty = function (name, onExecute, canRun) {
@@ -4778,7 +4783,7 @@ var modernCss = {
4778
4783
  cellText: "sv-matrix__text",
4779
4784
  cellTextSelected: "sv-matrix__text--checked",
4780
4785
  cellTextDisabled: "sv-matrix__text--disabled",
4781
- cellResponsiveTitle: "sv-hidden",
4786
+ cellResponsiveTitle: "sv-matrix__cell-responsive-title",
4782
4787
  itemSvgIconId: "#icon-modernradio",
4783
4788
  },
4784
4789
  matrixdropdown: {
@@ -4890,6 +4895,7 @@ var modernCss = {
4890
4895
  window: {
4891
4896
  root: "sv_window",
4892
4897
  rootCollapsedMod: "sv_window--collapsed",
4898
+ rootFullScreenMode: "sv_window--full-screen",
4893
4899
  rootContent: "sv_window_root-content",
4894
4900
  body: "sv_window_content",
4895
4901
  header: {
@@ -4900,7 +4906,8 @@ var modernCss = {
4900
4906
  buttonExpanded: "",
4901
4907
  buttonCollapsed: "",
4902
4908
  collapseButton: "sv_window_button sv_window_button_collapse",
4903
- closeButton: "sv_window_button sv_window_button_close"
4909
+ closeButton: "sv_window_button sv_window_button_close",
4910
+ fullScreenButton: "sv_window_button sv_window_button_full_screen"
4904
4911
  }
4905
4912
  },
4906
4913
  variables: {
@@ -5122,7 +5129,7 @@ var defaultStandardCss = {
5122
5129
  cellText: "sv_q_m_cell_text",
5123
5130
  cellTextSelected: "sv_q_m_cell_selected",
5124
5131
  cellLabel: "sv_q_m_cell_label",
5125
- cellResponsiveTitle: "sv-hidden"
5132
+ cellResponsiveTitle: "sv_q_m_cell_responsive_title"
5126
5133
  },
5127
5134
  matrixdropdown: {
5128
5135
  root: "sv_q_matrix_dropdown",
@@ -5288,6 +5295,7 @@ var defaultStandardCss = {
5288
5295
  window: {
5289
5296
  root: "sv_window",
5290
5297
  rootCollapsedMod: "sv_window--collapsed",
5298
+ rootFullScreenMode: "sv_window--full-screen",
5291
5299
  rootContent: "sv_window_root-content",
5292
5300
  body: "sv_window_content",
5293
5301
  header: {
@@ -5298,7 +5306,8 @@ var defaultStandardCss = {
5298
5306
  buttonExpanded: "",
5299
5307
  buttonCollapsed: "",
5300
5308
  collapseButton: "sv_window_button sv_window_button_collapse",
5301
- closeButton: "sv_window_button sv_window_button_close"
5309
+ closeButton: "sv_window_button sv_window_button_close",
5310
+ fullScreenButton: "sv_window_button sv_window_button_full_screen"
5302
5311
  }
5303
5312
  },
5304
5313
  variables: {
@@ -5366,6 +5375,7 @@ var surveyCss = {
5366
5375
  var defaultV2Css = {
5367
5376
  root: "sd-root-modern",
5368
5377
  rootMobile: "sd-root-modern--mobile",
5378
+ rootAnimationDisabled: "sd-root-modern--animation-disabled",
5369
5379
  rootReadOnly: "sd-root--readonly",
5370
5380
  rootCompact: "sd-root--compact",
5371
5381
  rootFitToContainer: "sd-root-modern--full-container",
@@ -5483,8 +5493,13 @@ var defaultV2Css = {
5483
5493
  progressBottom: "sd-body__progress--bottom",
5484
5494
  progressBar: "sd-progress__bar",
5485
5495
  progressText: "sd-progress__text",
5496
+ progressButtonsRoot: "sd-progress-buttons",
5497
+ progressButtonsNumbered: "sd-progress-buttons--numbered",
5486
5498
  progressButtonsContainerCenter: "sd-progress-buttons__container-center",
5487
5499
  progressButtonsContainer: "sd-progress-buttons__container",
5500
+ progressButtonsConnector: "sd-progress-buttons__connector",
5501
+ progressButtonsHeader: "sd-progress-buttons__header",
5502
+ progressButtonsFooter: "sd-progress-buttons__footer",
5488
5503
  progressButtonsImageButtonLeft: "sd-progress-buttons__image-button-left",
5489
5504
  progressButtonsImageButtonRight: "sd-progress-buttons__image-button-right",
5490
5505
  progressButtonsImageButtonHidden: "sd-progress-buttons__image-button--hidden",
@@ -5829,6 +5844,7 @@ var defaultV2Css = {
5829
5844
  noHeader: "sd-table--no-header",
5830
5845
  hasFooter: "sd-table--has-footer",
5831
5846
  tableWrapper: "sd-table-wrapper",
5847
+ rootAlternateRows: "sd-table--alternate-rows",
5832
5848
  content: "sd-matrixdynamic__content sd-question__content",
5833
5849
  cell: "sd-table__cell",
5834
5850
  row: "sd-table__row",
@@ -5875,7 +5891,7 @@ var defaultV2Css = {
5875
5891
  rating: {
5876
5892
  rootDropdown: "sd-scrollable-container sd-scrollable-container--compact sd-selectbase",
5877
5893
  root: "sd-scrollable-container sd-rating",
5878
- rootWrappable: "sd-scrollable-container sd-rating sd-rating--wrappable",
5894
+ rootWrappable: "sd-rating--wrappable",
5879
5895
  rootLabelsTop: "sd-rating--labels-top",
5880
5896
  rootLabelsBottom: "sd-rating--labels-bottom",
5881
5897
  rootLabelsDiagonal: "sd-rating--labels-diagonal",
@@ -6003,6 +6019,7 @@ var defaultV2Css = {
6003
6019
  window: {
6004
6020
  root: "sv_window",
6005
6021
  rootCollapsedMod: "sv_window--collapsed",
6022
+ rootFullScreenMode: "sv_window--full-screen",
6006
6023
  rootContent: "sv_window_root-content",
6007
6024
  body: "sv_window_content",
6008
6025
  header: {
@@ -6013,7 +6030,8 @@ var defaultV2Css = {
6013
6030
  buttonExpanded: "",
6014
6031
  buttonCollapsed: "",
6015
6032
  collapseButton: "sv_window_button sv_window_button_collapse",
6016
- closeButton: "sv_window_button sv_window_button_close"
6033
+ closeButton: "sv_window_button sv_window_button_close",
6034
+ fullScreenButton: "sv_window_button sv_window_button_full_screen"
6017
6035
  }
6018
6036
  },
6019
6037
  ranking: {
@@ -7807,9 +7825,10 @@ __webpack_require__.r(__webpack_exports__);
7807
7825
  /* harmony import */ var _list__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./list */ "./src/list.ts");
7808
7826
  /* harmony import */ var _popup__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./popup */ "./src/popup.ts");
7809
7827
  /* harmony import */ var _question_dropdown__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./question_dropdown */ "./src/question_dropdown.ts");
7810
- /* harmony import */ var _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./utils/cssClassBuilder */ "./src/utils/cssClassBuilder.ts");
7811
- /* harmony import */ var _utils_devices__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./utils/devices */ "./src/utils/devices.ts");
7812
- /* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./utils/utils */ "./src/utils/utils.ts");
7828
+ /* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./settings */ "./src/settings.ts");
7829
+ /* harmony import */ var _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./utils/cssClassBuilder */ "./src/utils/cssClassBuilder.ts");
7830
+ /* harmony import */ var _utils_devices__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./utils/devices */ "./src/utils/devices.ts");
7831
+ /* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./utils/utils */ "./src/utils/utils.ts");
7813
7832
  var __extends = (undefined && undefined.__extends) || (function () {
7814
7833
  var extendStatics = function (d, b) {
7815
7834
  extendStatics = Object.setPrototypeOf ||
@@ -7840,6 +7859,7 @@ var __decorate = (undefined && undefined.__decorate) || function (decorators, ta
7840
7859
 
7841
7860
 
7842
7861
 
7862
+
7843
7863
  var DropdownListModel = /** @class */ (function (_super) {
7844
7864
  __extends(DropdownListModel, _super);
7845
7865
  function DropdownListModel(question, onSelectionChanged) {
@@ -7849,6 +7869,7 @@ var DropdownListModel = /** @class */ (function (_super) {
7849
7869
  _this.minPageSize = 25;
7850
7870
  _this.loadingItemHeight = 40;
7851
7871
  _this._markdownMode = false;
7872
+ _this.filteredItems = undefined;
7852
7873
  _this.selectedItemSelector = ".sv-list__item--selected";
7853
7874
  _this.itemSelector = ".sv-list__item";
7854
7875
  _this.itemsSettings = { skip: 0, take: 0, totalCount: 0, items: [] };
@@ -7862,6 +7883,7 @@ var DropdownListModel = /** @class */ (function (_super) {
7862
7883
  _this.qustionPropertyChangedHandler = function (sender, options) {
7863
7884
  _this.onPropertyChangedHandler(sender, options);
7864
7885
  };
7886
+ _this.htmlCleanerElement = document.createElement("div");
7865
7887
  question.onPropertyChanged.add(_this.qustionPropertyChangedHandler);
7866
7888
  _this.showInputFieldComponent = _this.question.showInputFieldComponent;
7867
7889
  _this.listModel = _this.createListModel();
@@ -7879,7 +7901,7 @@ var DropdownListModel = /** @class */ (function (_super) {
7879
7901
  configurable: true
7880
7902
  });
7881
7903
  DropdownListModel.prototype.getFocusFirstInputSelector = function () {
7882
- if (_utils_devices__WEBPACK_IMPORTED_MODULE_7__["IsTouch"]) {
7904
+ if (_utils_devices__WEBPACK_IMPORTED_MODULE_8__["IsTouch"]) {
7883
7905
  return this.isValueEmpty(this.question.value) ? this.itemSelector : this.selectedItemSelector;
7884
7906
  }
7885
7907
  else {
@@ -7928,11 +7950,11 @@ var DropdownListModel = /** @class */ (function (_super) {
7928
7950
  DropdownListModel.prototype.createPopup = function () {
7929
7951
  var _this = this;
7930
7952
  this._popupModel = new _popup__WEBPACK_IMPORTED_MODULE_4__["PopupModel"]("sv-list", { model: this.listModel }, "bottom", "center", false);
7931
- this._popupModel.displayMode = _utils_devices__WEBPACK_IMPORTED_MODULE_7__["IsTouch"] ? "overlay" : "popup";
7953
+ this._popupModel.displayMode = _utils_devices__WEBPACK_IMPORTED_MODULE_8__["IsTouch"] ? "overlay" : "popup";
7932
7954
  this._popupModel.positionMode = "fixed";
7933
7955
  this._popupModel.isFocusedContainer = false;
7934
- this._popupModel.isFocusedContent = _utils_devices__WEBPACK_IMPORTED_MODULE_7__["IsTouch"];
7935
- this._popupModel.setWidthByTarget = !_utils_devices__WEBPACK_IMPORTED_MODULE_7__["IsTouch"];
7956
+ this._popupModel.isFocusedContent = _utils_devices__WEBPACK_IMPORTED_MODULE_8__["IsTouch"];
7957
+ this._popupModel.setWidthByTarget = !_utils_devices__WEBPACK_IMPORTED_MODULE_8__["IsTouch"];
7936
7958
  this.updatePopupFocusFirstInputSelector();
7937
7959
  this.listModel.registerPropertyChangedHandlers(["showFilter"], function () {
7938
7960
  _this.updatePopupFocusFirstInputSelector();
@@ -7997,10 +8019,18 @@ var DropdownListModel = /** @class */ (function (_super) {
7997
8019
  _this.question.value = item.id;
7998
8020
  if (_this.question.searchEnabled)
7999
8021
  _this.applyInputString(item);
8000
- _this._popupModel.toggleVisibility();
8022
+ _this.popupModel.isVisible = false;
8001
8023
  };
8002
8024
  }
8003
8025
  var res = new _list__WEBPACK_IMPORTED_MODULE_3__["ListModel"](visibleItems, _onSelectionChanged, false, undefined, this.question.choicesLazyLoadEnabled ? this.listModelFilterStringChanged : undefined, this.listElementId);
8026
+ res.setOnTextSearchCallback(function (item, textToSearch) {
8027
+ if (_this.filteredItems)
8028
+ return _this.filteredItems.indexOf(item) >= 0;
8029
+ var textInLow = item.text.toLocaleLowerCase();
8030
+ textInLow = _settings__WEBPACK_IMPORTED_MODULE_6__["settings"].comparator.normalizeTextCallback(textInLow, "filter");
8031
+ var index = textInLow.indexOf(textToSearch.toLocaleLowerCase());
8032
+ return _this.question.searchMode == "startsWith" ? index == 0 : index > -1;
8033
+ });
8004
8034
  res.renderElements = false;
8005
8035
  res.forceShowFilter = true;
8006
8036
  res.areSameItemsCallback = function (item1, item2) {
@@ -8020,7 +8050,7 @@ var DropdownListModel = /** @class */ (function (_super) {
8020
8050
  model.isAllDataLoaded = !this.question.choicesLazyLoadEnabled;
8021
8051
  };
8022
8052
  DropdownListModel.prototype.updateCssClasses = function (popupCssClass, listCssClasses) {
8023
- this.popupModel.cssClass = new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_6__["CssClassBuilder"]().append(popupCssClass).append(this.popupCssClasses).toString();
8053
+ this.popupModel.cssClass = new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_7__["CssClassBuilder"]().append(popupCssClass).append(this.popupCssClasses).toString();
8024
8054
  this.listModel.cssClasses = listCssClasses;
8025
8055
  };
8026
8056
  DropdownListModel.prototype.resetFilterString = function () {
@@ -8035,8 +8065,12 @@ var DropdownListModel = /** @class */ (function (_super) {
8035
8065
  };
8036
8066
  DropdownListModel.prototype.onSetFilterString = function () {
8037
8067
  var _this = this;
8068
+ this.filteredItems = undefined;
8038
8069
  if (!this.filterString && !this.popupModel.isVisible)
8039
8070
  return;
8071
+ var options = { question: this.question, choices: this.getAvailableItems(), filter: this.filterString, filteredChoices: undefined };
8072
+ this.question.survey.onChoicesSearch.fire(this.question.survey, options);
8073
+ this.filteredItems = options.filteredChoices;
8040
8074
  if (!!this.filterString && !this.popupModel.isVisible) {
8041
8075
  this.popupModel.isVisible = true;
8042
8076
  }
@@ -8070,7 +8104,7 @@ var DropdownListModel = /** @class */ (function (_super) {
8070
8104
  var hasHtml = item === null || item === void 0 ? void 0 : item.locText.hasHtml;
8071
8105
  if (hasHtml || this.question.inputFieldComponentName) {
8072
8106
  this._markdownMode = true;
8073
- this.inputString = "";
8107
+ this.inputString = this.cleanHtml(item === null || item === void 0 ? void 0 : item.locText.getHtmlValue());
8074
8108
  this.hintString = "";
8075
8109
  }
8076
8110
  else {
@@ -8078,6 +8112,10 @@ var DropdownListModel = /** @class */ (function (_super) {
8078
8112
  this.hintString = item === null || item === void 0 ? void 0 : item.title;
8079
8113
  }
8080
8114
  };
8115
+ DropdownListModel.prototype.cleanHtml = function (html) {
8116
+ this.htmlCleanerElement.innerHTML = html;
8117
+ return this.htmlCleanerElement.textContent;
8118
+ };
8081
8119
  DropdownListModel.prototype.fixInputCase = function () {
8082
8120
  var hintStringMiddle = this.hintStringMiddle;
8083
8121
  if (hintStringMiddle && this.inputString != hintStringMiddle)
@@ -8211,14 +8249,14 @@ var DropdownListModel = /** @class */ (function (_super) {
8211
8249
  });
8212
8250
  Object.defineProperty(DropdownListModel.prototype, "inputMode", {
8213
8251
  get: function () {
8214
- return _utils_devices__WEBPACK_IMPORTED_MODULE_7__["IsTouch"] ? "none" : "text";
8252
+ return _utils_devices__WEBPACK_IMPORTED_MODULE_8__["IsTouch"] ? "none" : "text";
8215
8253
  },
8216
8254
  enumerable: false,
8217
8255
  configurable: true
8218
8256
  });
8219
8257
  DropdownListModel.prototype.setSearchEnabled = function (newValue) {
8220
- this.listModel.searchEnabled = _utils_devices__WEBPACK_IMPORTED_MODULE_7__["IsTouch"];
8221
- this.listModel.showSearchClearButton = _utils_devices__WEBPACK_IMPORTED_MODULE_7__["IsTouch"];
8258
+ this.listModel.searchEnabled = _utils_devices__WEBPACK_IMPORTED_MODULE_8__["IsTouch"];
8259
+ this.listModel.showSearchClearButton = _utils_devices__WEBPACK_IMPORTED_MODULE_8__["IsTouch"];
8222
8260
  this.searchEnabled = newValue;
8223
8261
  };
8224
8262
  DropdownListModel.prototype.updateItems = function () {
@@ -8357,7 +8395,7 @@ var DropdownListModel = /** @class */ (function (_super) {
8357
8395
  if (event.keyCode === 32 && this.question.searchEnabled) {
8358
8396
  return;
8359
8397
  }
8360
- Object(_utils_utils__WEBPACK_IMPORTED_MODULE_8__["doKey2ClickUp"])(event, { processEsc: false, disableTabStop: this.question.isInputReadOnly });
8398
+ Object(_utils_utils__WEBPACK_IMPORTED_MODULE_9__["doKey2ClickUp"])(event, { processEsc: false, disableTabStop: this.question.isInputReadOnly });
8361
8399
  }
8362
8400
  };
8363
8401
  DropdownListModel.prototype.onEscape = function () {
@@ -8372,11 +8410,11 @@ var DropdownListModel = /** @class */ (function (_super) {
8372
8410
  };
8373
8411
  DropdownListModel.prototype.onBlur = function (event) {
8374
8412
  this.focused = false;
8375
- if (this.popupModel.isVisible && _utils_devices__WEBPACK_IMPORTED_MODULE_7__["IsTouch"]) {
8413
+ if (this.popupModel.isVisible && _utils_devices__WEBPACK_IMPORTED_MODULE_8__["IsTouch"]) {
8376
8414
  this._popupModel.isVisible = true;
8377
8415
  return;
8378
8416
  }
8379
- Object(_utils_utils__WEBPACK_IMPORTED_MODULE_8__["doKey2ClickBlur"])(event);
8417
+ Object(_utils_utils__WEBPACK_IMPORTED_MODULE_9__["doKey2ClickBlur"])(event);
8380
8418
  this._popupModel.isVisible = false;
8381
8419
  this.resetFilterString();
8382
8420
  this.inputString = null;
@@ -9008,7 +9046,7 @@ __webpack_require__.r(__webpack_exports__);
9008
9046
  /*!*************************************!*\
9009
9047
  !*** ./src/entries/chunks/model.ts ***!
9010
9048
  \*************************************/
9011
- /*! exports provided: Version, ReleaseDate, checkLibraryVersion, setLicenseKey, slk, hasLicense, settings, Helpers, AnswerCountValidator, EmailValidator, NumericValidator, RegexValidator, SurveyValidator, TextValidator, ValidatorResult, ExpressionValidator, ValidatorRunner, ItemValue, Base, Event, EventBase, ArrayChanges, ComputedUpdater, SurveyError, SurveyElementCore, SurveyElement, DragTypeOverMeEnum, CalculatedValue, CustomError, AnswerRequiredError, OneAnswerRequiredError, RequreNumericError, ExceedSizeError, LocalizableString, LocalizableStrings, HtmlConditionItem, UrlConditionItem, ChoicesRestful, ChoicesRestfull, FunctionFactory, registerFunction, ConditionRunner, ExpressionRunner, ExpressionExecutor, Operand, Const, BinaryOperand, Variable, FunctionOperand, ArrayOperand, UnaryOperand, ConditionsParser, ProcessValue, JsonError, JsonIncorrectTypeError, JsonMetadata, JsonMetadataClass, JsonMissingTypeError, JsonMissingTypeErrorBase, JsonObject, JsonObjectProperty, JsonRequiredPropertyError, JsonUnknownPropertyError, Serializer, property, propertyArray, MatrixDropdownCell, MatrixDropdownRowModelBase, QuestionMatrixDropdownModelBase, MatrixDropdownColumn, matrixDropdownColumnTypes, QuestionMatrixDropdownRenderedCell, QuestionMatrixDropdownRenderedRow, QuestionMatrixDropdownRenderedTable, MatrixDropdownRowModel, QuestionMatrixDropdownModel, MatrixDynamicRowModel, QuestionMatrixDynamicModel, MatrixRowModel, MatrixCells, QuestionMatrixModel, QuestionMatrixBaseModel, MultipleTextItemModel, MultipleTextCell, MultipleTextErrorCell, MutlipleTextErrorRow, MutlipleTextRow, QuestionMultipleTextModel, MultipleTextEditorModel, PanelModel, PanelModelBase, QuestionRowModel, FlowPanelModel, PageModel, DefaultTitleModel, Question, QuestionNonValue, QuestionEmptyModel, QuestionCheckboxBase, QuestionSelectBase, QuestionCheckboxModel, QuestionTagboxModel, QuestionRankingModel, QuestionCommentModel, QuestionDropdownModel, QuestionFactory, ElementFactory, QuestionFileModel, QuestionHtmlModel, QuestionRadiogroupModel, QuestionRatingModel, RenderedRatingItem, QuestionExpressionModel, QuestionTextBase, CharacterCounter, QuestionTextModel, QuestionBooleanModel, QuestionImagePickerModel, ImageItemValue, QuestionImageModel, QuestionSignaturePadModel, QuestionPanelDynamicModel, QuestionPanelDynamicItem, SurveyTimer, SurveyTimerModel, tryFocusPage, createTOCListModel, getTocRootCss, TOCModel, SurveyProgressModel, SurveyProgressButtonsModel, SurveyModel, SurveyTrigger, SurveyTriggerComplete, SurveyTriggerSetValue, SurveyTriggerVisible, SurveyTriggerCopyValue, SurveyTriggerRunExpression, SurveyTriggerSkip, Trigger, PopupSurveyModel, SurveyWindowModel, TextPreProcessor, Notifier, Cover, CoverCell, dxSurveyService, englishStrings, surveyLocalization, surveyStrings, QuestionCustomWidget, CustomWidgetCollection, QuestionCustomModel, QuestionCompositeModel, ComponentQuestionJSON, ComponentCollection, StylesManager, ListModel, MultiSelectListModel, PopupModel, createDialogOptions, PopupBaseViewModel, PopupDropdownViewModel, PopupModalViewModel, createPopupViewModel, createPopupModalViewModel, DropdownListModel, DropdownMultiSelectListModel, QuestionButtonGroupModel, ButtonGroupItemModel, ButtonGroupItemValue, IsMobile, IsTouch, _setIsTouch, confirmAction, confirmActionAsync, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, sanitizeEditableContent, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropCore, DragDropChoices, DragDropRankingSelectToRank */
9049
+ /*! exports provided: Version, ReleaseDate, checkLibraryVersion, setLicenseKey, slk, hasLicense, settings, Helpers, AnswerCountValidator, EmailValidator, NumericValidator, RegexValidator, SurveyValidator, TextValidator, ValidatorResult, ExpressionValidator, ValidatorRunner, ItemValue, Base, Event, EventBase, ArrayChanges, ComputedUpdater, SurveyError, SurveyElementCore, SurveyElement, DragTypeOverMeEnum, CalculatedValue, CustomError, AnswerRequiredError, OneAnswerRequiredError, RequreNumericError, ExceedSizeError, LocalizableString, LocalizableStrings, HtmlConditionItem, UrlConditionItem, ChoicesRestful, ChoicesRestfull, FunctionFactory, registerFunction, ConditionRunner, ExpressionRunner, ExpressionExecutor, Operand, Const, BinaryOperand, Variable, FunctionOperand, ArrayOperand, UnaryOperand, ConditionsParser, ProcessValue, JsonError, JsonIncorrectTypeError, JsonMetadata, JsonMetadataClass, JsonMissingTypeError, JsonMissingTypeErrorBase, JsonObject, JsonObjectProperty, JsonRequiredPropertyError, JsonUnknownPropertyError, Serializer, property, propertyArray, MatrixDropdownCell, MatrixDropdownRowModelBase, QuestionMatrixDropdownModelBase, MatrixDropdownColumn, matrixDropdownColumnTypes, QuestionMatrixDropdownRenderedCell, QuestionMatrixDropdownRenderedRow, QuestionMatrixDropdownRenderedTable, MatrixDropdownRowModel, QuestionMatrixDropdownModel, MatrixDynamicRowModel, QuestionMatrixDynamicModel, MatrixRowModel, MatrixCells, QuestionMatrixModel, QuestionMatrixBaseModel, MultipleTextItemModel, MultipleTextCell, MultipleTextErrorCell, MutlipleTextErrorRow, MutlipleTextRow, QuestionMultipleTextModel, MultipleTextEditorModel, PanelModel, PanelModelBase, QuestionRowModel, FlowPanelModel, PageModel, DefaultTitleModel, Question, QuestionNonValue, QuestionEmptyModel, QuestionCheckboxBase, QuestionSelectBase, QuestionCheckboxModel, QuestionTagboxModel, QuestionRankingModel, QuestionCommentModel, QuestionDropdownModel, QuestionFactory, ElementFactory, QuestionFileModel, QuestionHtmlModel, QuestionRadiogroupModel, QuestionRatingModel, RenderedRatingItem, QuestionExpressionModel, QuestionTextBase, CharacterCounter, QuestionTextModel, QuestionBooleanModel, QuestionImagePickerModel, ImageItemValue, QuestionImageModel, QuestionSignaturePadModel, QuestionPanelDynamicModel, QuestionPanelDynamicItem, SurveyTimer, SurveyTimerModel, tryFocusPage, createTOCListModel, getTocRootCss, TOCModel, SurveyProgressModel, ProgressButtons, ProgressButtonsResponsivityManager, SurveyModel, SurveyTrigger, SurveyTriggerComplete, SurveyTriggerSetValue, SurveyTriggerVisible, SurveyTriggerCopyValue, SurveyTriggerRunExpression, SurveyTriggerSkip, Trigger, PopupSurveyModel, SurveyWindowModel, TextPreProcessor, Notifier, Cover, CoverCell, dxSurveyService, englishStrings, surveyLocalization, surveyStrings, QuestionCustomWidget, CustomWidgetCollection, QuestionCustomModel, QuestionCompositeModel, ComponentQuestionJSON, ComponentCollection, StylesManager, ListModel, MultiSelectListModel, PopupModel, createDialogOptions, PopupBaseViewModel, PopupDropdownViewModel, PopupModalViewModel, createPopupViewModel, createPopupModalViewModel, DropdownListModel, DropdownMultiSelectListModel, QuestionButtonGroupModel, ButtonGroupItemModel, ButtonGroupItemValue, IsMobile, IsTouch, _setIsTouch, confirmAction, confirmActionAsync, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, chooseFiles, sanitizeEditableContent, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropCore, DragDropChoices, DragDropRankingSelectToRank */
9012
9050
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
9013
9051
 
9014
9052
  "use strict";
@@ -9324,8 +9362,10 @@ __webpack_require__.r(__webpack_exports__);
9324
9362
  /* harmony import */ var _surveyProgress__WEBPACK_IMPORTED_MODULE_56__ = __webpack_require__(/*! ../../surveyProgress */ "./src/surveyProgress.ts");
9325
9363
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyProgressModel", function() { return _surveyProgress__WEBPACK_IMPORTED_MODULE_56__["SurveyProgressModel"]; });
9326
9364
 
9327
- /* harmony import */ var _surveyProgressButtons__WEBPACK_IMPORTED_MODULE_57__ = __webpack_require__(/*! ../../surveyProgressButtons */ "./src/surveyProgressButtons.ts");
9328
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyProgressButtonsModel", function() { return _surveyProgressButtons__WEBPACK_IMPORTED_MODULE_57__["SurveyProgressButtonsModel"]; });
9365
+ /* harmony import */ var _progress_buttons__WEBPACK_IMPORTED_MODULE_57__ = __webpack_require__(/*! ../../progress-buttons */ "./src/progress-buttons.ts");
9366
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ProgressButtons", function() { return _progress_buttons__WEBPACK_IMPORTED_MODULE_57__["ProgressButtons"]; });
9367
+
9368
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ProgressButtonsResponsivityManager", function() { return _progress_buttons__WEBPACK_IMPORTED_MODULE_57__["ProgressButtonsResponsivityManager"]; });
9329
9369
 
9330
9370
  /* harmony import */ var _themes__WEBPACK_IMPORTED_MODULE_58__ = __webpack_require__(/*! ../../themes */ "./src/themes.ts");
9331
9371
  /* empty/unused harmony star reexport *//* harmony import */ var _survey__WEBPACK_IMPORTED_MODULE_59__ = __webpack_require__(/*! ../../survey */ "./src/survey.ts");
@@ -9457,6 +9497,8 @@ __webpack_require__.r(__webpack_exports__);
9457
9497
 
9458
9498
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "createSvg", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_83__["createSvg"]; });
9459
9499
 
9500
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "chooseFiles", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_83__["chooseFiles"]; });
9501
+
9460
9502
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "sanitizeEditableContent", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_83__["sanitizeEditableContent"]; });
9461
9503
 
9462
9504
  /* harmony import */ var _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_84__ = __webpack_require__(/*! ../../utils/cssClassBuilder */ "./src/utils/cssClassBuilder.ts");
@@ -9483,8 +9525,8 @@ __webpack_require__.r(__webpack_exports__);
9483
9525
  //import "../../modern.scss";
9484
9526
  var Version;
9485
9527
  var ReleaseDate;
9486
- Version = "" + "1.9.127";
9487
- ReleaseDate = "" + "2024-01-23";
9528
+ Version = "" + "1.9.129";
9529
+ ReleaseDate = "" + "2024-02-06";
9488
9530
  function checkLibraryVersion(ver, libraryName) {
9489
9531
  if (Version != ver) {
9490
9532
  var str = "survey-core has version '" + Version + "' and " + libraryName
@@ -9659,7 +9701,7 @@ function checkPrefix(prefix) {
9659
9701
  /*!**************************************!*\
9660
9702
  !*** ./src/entries/core-wo-model.ts ***!
9661
9703
  \**************************************/
9662
- /*! exports provided: Version, ReleaseDate, checkLibraryVersion, setLicenseKey, slk, hasLicense, settings, Helpers, AnswerCountValidator, EmailValidator, NumericValidator, RegexValidator, SurveyValidator, TextValidator, ValidatorResult, ExpressionValidator, ValidatorRunner, ItemValue, Base, Event, EventBase, ArrayChanges, ComputedUpdater, SurveyError, SurveyElementCore, SurveyElement, DragTypeOverMeEnum, CalculatedValue, CustomError, AnswerRequiredError, OneAnswerRequiredError, RequreNumericError, ExceedSizeError, LocalizableString, LocalizableStrings, HtmlConditionItem, UrlConditionItem, ChoicesRestful, ChoicesRestfull, FunctionFactory, registerFunction, ConditionRunner, ExpressionRunner, ExpressionExecutor, Operand, Const, BinaryOperand, Variable, FunctionOperand, ArrayOperand, UnaryOperand, ConditionsParser, ProcessValue, JsonError, JsonIncorrectTypeError, JsonMetadata, JsonMetadataClass, JsonMissingTypeError, JsonMissingTypeErrorBase, JsonObject, JsonObjectProperty, JsonRequiredPropertyError, JsonUnknownPropertyError, Serializer, property, propertyArray, MatrixDropdownCell, MatrixDropdownRowModelBase, QuestionMatrixDropdownModelBase, MatrixDropdownColumn, matrixDropdownColumnTypes, QuestionMatrixDropdownRenderedCell, QuestionMatrixDropdownRenderedRow, QuestionMatrixDropdownRenderedTable, MatrixDropdownRowModel, QuestionMatrixDropdownModel, MatrixDynamicRowModel, QuestionMatrixDynamicModel, MatrixRowModel, MatrixCells, QuestionMatrixModel, QuestionMatrixBaseModel, MultipleTextItemModel, MultipleTextCell, MultipleTextErrorCell, MutlipleTextErrorRow, MutlipleTextRow, QuestionMultipleTextModel, MultipleTextEditorModel, PanelModel, PanelModelBase, QuestionRowModel, FlowPanelModel, PageModel, DefaultTitleModel, Question, QuestionNonValue, QuestionEmptyModel, QuestionCheckboxBase, QuestionSelectBase, QuestionCheckboxModel, QuestionTagboxModel, QuestionRankingModel, QuestionCommentModel, QuestionDropdownModel, QuestionFactory, ElementFactory, QuestionFileModel, QuestionHtmlModel, QuestionRadiogroupModel, QuestionRatingModel, RenderedRatingItem, QuestionExpressionModel, QuestionTextBase, CharacterCounter, QuestionTextModel, QuestionBooleanModel, QuestionImagePickerModel, ImageItemValue, QuestionImageModel, QuestionSignaturePadModel, QuestionPanelDynamicModel, QuestionPanelDynamicItem, SurveyTimer, SurveyTimerModel, tryFocusPage, createTOCListModel, getTocRootCss, TOCModel, SurveyProgressModel, SurveyProgressButtonsModel, SurveyModel, SurveyTrigger, SurveyTriggerComplete, SurveyTriggerSetValue, SurveyTriggerVisible, SurveyTriggerCopyValue, SurveyTriggerRunExpression, SurveyTriggerSkip, Trigger, PopupSurveyModel, SurveyWindowModel, TextPreProcessor, Notifier, Cover, CoverCell, dxSurveyService, englishStrings, surveyLocalization, surveyStrings, QuestionCustomWidget, CustomWidgetCollection, QuestionCustomModel, QuestionCompositeModel, ComponentQuestionJSON, ComponentCollection, StylesManager, ListModel, MultiSelectListModel, PopupModel, createDialogOptions, PopupBaseViewModel, PopupDropdownViewModel, PopupModalViewModel, createPopupViewModel, createPopupModalViewModel, DropdownListModel, DropdownMultiSelectListModel, QuestionButtonGroupModel, ButtonGroupItemModel, ButtonGroupItemValue, IsMobile, IsTouch, _setIsTouch, confirmAction, confirmActionAsync, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, sanitizeEditableContent, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropCore, DragDropChoices, DragDropRankingSelectToRank, defaultStandardCss, modernCss, SvgIconRegistry, SvgRegistry, SvgBundleViewModel, RendererFactory, ResponsivityManager, VerticalResponsivityManager, unwrap, getOriginalEvent, getElement, createDropdownActionModel, createDropdownActionModelAdvanced, getActionDropdownButtonTarget, BaseAction, Action, ActionDropdownViewModel, AdaptiveActionContainer, defaultActionBarCss, ActionContainer, DragOrClickHelper */
9704
+ /*! exports provided: Version, ReleaseDate, checkLibraryVersion, setLicenseKey, slk, hasLicense, settings, Helpers, AnswerCountValidator, EmailValidator, NumericValidator, RegexValidator, SurveyValidator, TextValidator, ValidatorResult, ExpressionValidator, ValidatorRunner, ItemValue, Base, Event, EventBase, ArrayChanges, ComputedUpdater, SurveyError, SurveyElementCore, SurveyElement, DragTypeOverMeEnum, CalculatedValue, CustomError, AnswerRequiredError, OneAnswerRequiredError, RequreNumericError, ExceedSizeError, LocalizableString, LocalizableStrings, HtmlConditionItem, UrlConditionItem, ChoicesRestful, ChoicesRestfull, FunctionFactory, registerFunction, ConditionRunner, ExpressionRunner, ExpressionExecutor, Operand, Const, BinaryOperand, Variable, FunctionOperand, ArrayOperand, UnaryOperand, ConditionsParser, ProcessValue, JsonError, JsonIncorrectTypeError, JsonMetadata, JsonMetadataClass, JsonMissingTypeError, JsonMissingTypeErrorBase, JsonObject, JsonObjectProperty, JsonRequiredPropertyError, JsonUnknownPropertyError, Serializer, property, propertyArray, MatrixDropdownCell, MatrixDropdownRowModelBase, QuestionMatrixDropdownModelBase, MatrixDropdownColumn, matrixDropdownColumnTypes, QuestionMatrixDropdownRenderedCell, QuestionMatrixDropdownRenderedRow, QuestionMatrixDropdownRenderedTable, MatrixDropdownRowModel, QuestionMatrixDropdownModel, MatrixDynamicRowModel, QuestionMatrixDynamicModel, MatrixRowModel, MatrixCells, QuestionMatrixModel, QuestionMatrixBaseModel, MultipleTextItemModel, MultipleTextCell, MultipleTextErrorCell, MutlipleTextErrorRow, MutlipleTextRow, QuestionMultipleTextModel, MultipleTextEditorModel, PanelModel, PanelModelBase, QuestionRowModel, FlowPanelModel, PageModel, DefaultTitleModel, Question, QuestionNonValue, QuestionEmptyModel, QuestionCheckboxBase, QuestionSelectBase, QuestionCheckboxModel, QuestionTagboxModel, QuestionRankingModel, QuestionCommentModel, QuestionDropdownModel, QuestionFactory, ElementFactory, QuestionFileModel, QuestionHtmlModel, QuestionRadiogroupModel, QuestionRatingModel, RenderedRatingItem, QuestionExpressionModel, QuestionTextBase, CharacterCounter, QuestionTextModel, QuestionBooleanModel, QuestionImagePickerModel, ImageItemValue, QuestionImageModel, QuestionSignaturePadModel, QuestionPanelDynamicModel, QuestionPanelDynamicItem, SurveyTimer, SurveyTimerModel, tryFocusPage, createTOCListModel, getTocRootCss, TOCModel, SurveyProgressModel, ProgressButtons, ProgressButtonsResponsivityManager, SurveyModel, SurveyTrigger, SurveyTriggerComplete, SurveyTriggerSetValue, SurveyTriggerVisible, SurveyTriggerCopyValue, SurveyTriggerRunExpression, SurveyTriggerSkip, Trigger, PopupSurveyModel, SurveyWindowModel, TextPreProcessor, Notifier, Cover, CoverCell, dxSurveyService, englishStrings, surveyLocalization, surveyStrings, QuestionCustomWidget, CustomWidgetCollection, QuestionCustomModel, QuestionCompositeModel, ComponentQuestionJSON, ComponentCollection, StylesManager, ListModel, MultiSelectListModel, PopupModel, createDialogOptions, PopupBaseViewModel, PopupDropdownViewModel, PopupModalViewModel, createPopupViewModel, createPopupModalViewModel, DropdownListModel, DropdownMultiSelectListModel, QuestionButtonGroupModel, ButtonGroupItemModel, ButtonGroupItemValue, IsMobile, IsTouch, _setIsTouch, confirmAction, confirmActionAsync, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, chooseFiles, sanitizeEditableContent, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropCore, DragDropChoices, DragDropRankingSelectToRank, defaultStandardCss, modernCss, SvgIconRegistry, SvgRegistry, SvgBundleViewModel, RendererFactory, ResponsivityManager, VerticalResponsivityManager, unwrap, getOriginalEvent, getElement, createDropdownActionModel, createDropdownActionModelAdvanced, getActionDropdownButtonTarget, BaseAction, Action, ActionDropdownViewModel, AdaptiveActionContainer, defaultActionBarCss, ActionContainer, DragOrClickHelper */
9663
9705
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
9664
9706
 
9665
9707
  "use strict";
@@ -9925,7 +9967,9 @@ __webpack_require__.r(__webpack_exports__);
9925
9967
 
9926
9968
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyProgressModel", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__["SurveyProgressModel"]; });
9927
9969
 
9928
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyProgressButtonsModel", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__["SurveyProgressButtonsModel"]; });
9970
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ProgressButtons", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__["ProgressButtons"]; });
9971
+
9972
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ProgressButtonsResponsivityManager", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__["ProgressButtonsResponsivityManager"]; });
9929
9973
 
9930
9974
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyModel", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__["SurveyModel"]; });
9931
9975
 
@@ -10031,6 +10075,8 @@ __webpack_require__.r(__webpack_exports__);
10031
10075
 
10032
10076
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "createSvg", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__["createSvg"]; });
10033
10077
 
10078
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "chooseFiles", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__["chooseFiles"]; });
10079
+
10034
10080
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "sanitizeEditableContent", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__["sanitizeEditableContent"]; });
10035
10081
 
10036
10082
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "CssClassBuilder", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__["CssClassBuilder"]; });
@@ -10122,7 +10168,7 @@ __webpack_require__.r(__webpack_exports__);
10122
10168
  /*!*****************************!*\
10123
10169
  !*** ./src/entries/core.ts ***!
10124
10170
  \*****************************/
10125
- /*! exports provided: Version, ReleaseDate, checkLibraryVersion, setLicenseKey, slk, hasLicense, settings, Helpers, AnswerCountValidator, EmailValidator, NumericValidator, RegexValidator, SurveyValidator, TextValidator, ValidatorResult, ExpressionValidator, ValidatorRunner, ItemValue, Base, Event, EventBase, ArrayChanges, ComputedUpdater, SurveyError, SurveyElementCore, SurveyElement, DragTypeOverMeEnum, CalculatedValue, CustomError, AnswerRequiredError, OneAnswerRequiredError, RequreNumericError, ExceedSizeError, LocalizableString, LocalizableStrings, HtmlConditionItem, UrlConditionItem, ChoicesRestful, ChoicesRestfull, FunctionFactory, registerFunction, ConditionRunner, ExpressionRunner, ExpressionExecutor, Operand, Const, BinaryOperand, Variable, FunctionOperand, ArrayOperand, UnaryOperand, ConditionsParser, ProcessValue, JsonError, JsonIncorrectTypeError, JsonMetadata, JsonMetadataClass, JsonMissingTypeError, JsonMissingTypeErrorBase, JsonObject, JsonObjectProperty, JsonRequiredPropertyError, JsonUnknownPropertyError, Serializer, property, propertyArray, MatrixDropdownCell, MatrixDropdownRowModelBase, QuestionMatrixDropdownModelBase, MatrixDropdownColumn, matrixDropdownColumnTypes, QuestionMatrixDropdownRenderedCell, QuestionMatrixDropdownRenderedRow, QuestionMatrixDropdownRenderedTable, MatrixDropdownRowModel, QuestionMatrixDropdownModel, MatrixDynamicRowModel, QuestionMatrixDynamicModel, MatrixRowModel, MatrixCells, QuestionMatrixModel, QuestionMatrixBaseModel, MultipleTextItemModel, MultipleTextCell, MultipleTextErrorCell, MutlipleTextErrorRow, MutlipleTextRow, QuestionMultipleTextModel, MultipleTextEditorModel, PanelModel, PanelModelBase, QuestionRowModel, FlowPanelModel, PageModel, DefaultTitleModel, Question, QuestionNonValue, QuestionEmptyModel, QuestionCheckboxBase, QuestionSelectBase, QuestionCheckboxModel, QuestionTagboxModel, QuestionRankingModel, QuestionCommentModel, QuestionDropdownModel, QuestionFactory, ElementFactory, QuestionFileModel, QuestionHtmlModel, QuestionRadiogroupModel, QuestionRatingModel, RenderedRatingItem, QuestionExpressionModel, QuestionTextBase, CharacterCounter, QuestionTextModel, QuestionBooleanModel, QuestionImagePickerModel, ImageItemValue, QuestionImageModel, QuestionSignaturePadModel, QuestionPanelDynamicModel, QuestionPanelDynamicItem, SurveyTimer, SurveyTimerModel, tryFocusPage, createTOCListModel, getTocRootCss, TOCModel, SurveyProgressModel, SurveyProgressButtonsModel, SurveyModel, SurveyTrigger, SurveyTriggerComplete, SurveyTriggerSetValue, SurveyTriggerVisible, SurveyTriggerCopyValue, SurveyTriggerRunExpression, SurveyTriggerSkip, Trigger, PopupSurveyModel, SurveyWindowModel, TextPreProcessor, Notifier, Cover, CoverCell, dxSurveyService, englishStrings, surveyLocalization, surveyStrings, QuestionCustomWidget, CustomWidgetCollection, QuestionCustomModel, QuestionCompositeModel, ComponentQuestionJSON, ComponentCollection, StylesManager, ListModel, MultiSelectListModel, PopupModel, createDialogOptions, PopupBaseViewModel, PopupDropdownViewModel, PopupModalViewModel, createPopupViewModel, createPopupModalViewModel, DropdownListModel, DropdownMultiSelectListModel, QuestionButtonGroupModel, ButtonGroupItemModel, ButtonGroupItemValue, IsMobile, IsTouch, _setIsTouch, confirmAction, confirmActionAsync, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, sanitizeEditableContent, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropCore, DragDropChoices, DragDropRankingSelectToRank, defaultStandardCss, modernCss, SvgIconRegistry, SvgRegistry, SvgBundleViewModel, RendererFactory, ResponsivityManager, VerticalResponsivityManager, unwrap, getOriginalEvent, getElement, createDropdownActionModel, createDropdownActionModelAdvanced, getActionDropdownButtonTarget, BaseAction, Action, ActionDropdownViewModel, AdaptiveActionContainer, defaultActionBarCss, ActionContainer, DragOrClickHelper, Model */
10171
+ /*! exports provided: Version, ReleaseDate, checkLibraryVersion, setLicenseKey, slk, hasLicense, settings, Helpers, AnswerCountValidator, EmailValidator, NumericValidator, RegexValidator, SurveyValidator, TextValidator, ValidatorResult, ExpressionValidator, ValidatorRunner, ItemValue, Base, Event, EventBase, ArrayChanges, ComputedUpdater, SurveyError, SurveyElementCore, SurveyElement, DragTypeOverMeEnum, CalculatedValue, CustomError, AnswerRequiredError, OneAnswerRequiredError, RequreNumericError, ExceedSizeError, LocalizableString, LocalizableStrings, HtmlConditionItem, UrlConditionItem, ChoicesRestful, ChoicesRestfull, FunctionFactory, registerFunction, ConditionRunner, ExpressionRunner, ExpressionExecutor, Operand, Const, BinaryOperand, Variable, FunctionOperand, ArrayOperand, UnaryOperand, ConditionsParser, ProcessValue, JsonError, JsonIncorrectTypeError, JsonMetadata, JsonMetadataClass, JsonMissingTypeError, JsonMissingTypeErrorBase, JsonObject, JsonObjectProperty, JsonRequiredPropertyError, JsonUnknownPropertyError, Serializer, property, propertyArray, MatrixDropdownCell, MatrixDropdownRowModelBase, QuestionMatrixDropdownModelBase, MatrixDropdownColumn, matrixDropdownColumnTypes, QuestionMatrixDropdownRenderedCell, QuestionMatrixDropdownRenderedRow, QuestionMatrixDropdownRenderedTable, MatrixDropdownRowModel, QuestionMatrixDropdownModel, MatrixDynamicRowModel, QuestionMatrixDynamicModel, MatrixRowModel, MatrixCells, QuestionMatrixModel, QuestionMatrixBaseModel, MultipleTextItemModel, MultipleTextCell, MultipleTextErrorCell, MutlipleTextErrorRow, MutlipleTextRow, QuestionMultipleTextModel, MultipleTextEditorModel, PanelModel, PanelModelBase, QuestionRowModel, FlowPanelModel, PageModel, DefaultTitleModel, Question, QuestionNonValue, QuestionEmptyModel, QuestionCheckboxBase, QuestionSelectBase, QuestionCheckboxModel, QuestionTagboxModel, QuestionRankingModel, QuestionCommentModel, QuestionDropdownModel, QuestionFactory, ElementFactory, QuestionFileModel, QuestionHtmlModel, QuestionRadiogroupModel, QuestionRatingModel, RenderedRatingItem, QuestionExpressionModel, QuestionTextBase, CharacterCounter, QuestionTextModel, QuestionBooleanModel, QuestionImagePickerModel, ImageItemValue, QuestionImageModel, QuestionSignaturePadModel, QuestionPanelDynamicModel, QuestionPanelDynamicItem, SurveyTimer, SurveyTimerModel, tryFocusPage, createTOCListModel, getTocRootCss, TOCModel, SurveyProgressModel, ProgressButtons, ProgressButtonsResponsivityManager, SurveyModel, SurveyTrigger, SurveyTriggerComplete, SurveyTriggerSetValue, SurveyTriggerVisible, SurveyTriggerCopyValue, SurveyTriggerRunExpression, SurveyTriggerSkip, Trigger, PopupSurveyModel, SurveyWindowModel, TextPreProcessor, Notifier, Cover, CoverCell, dxSurveyService, englishStrings, surveyLocalization, surveyStrings, QuestionCustomWidget, CustomWidgetCollection, QuestionCustomModel, QuestionCompositeModel, ComponentQuestionJSON, ComponentCollection, StylesManager, ListModel, MultiSelectListModel, PopupModel, createDialogOptions, PopupBaseViewModel, PopupDropdownViewModel, PopupModalViewModel, createPopupViewModel, createPopupModalViewModel, DropdownListModel, DropdownMultiSelectListModel, QuestionButtonGroupModel, ButtonGroupItemModel, ButtonGroupItemValue, IsMobile, IsTouch, _setIsTouch, confirmAction, confirmActionAsync, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, chooseFiles, sanitizeEditableContent, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropCore, DragDropChoices, DragDropRankingSelectToRank, defaultStandardCss, modernCss, SvgIconRegistry, SvgRegistry, SvgBundleViewModel, RendererFactory, ResponsivityManager, VerticalResponsivityManager, unwrap, getOriginalEvent, getElement, createDropdownActionModel, createDropdownActionModelAdvanced, getActionDropdownButtonTarget, BaseAction, Action, ActionDropdownViewModel, AdaptiveActionContainer, defaultActionBarCss, ActionContainer, DragOrClickHelper, Model */
10126
10172
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
10127
10173
 
10128
10174
  "use strict";
@@ -10388,7 +10434,9 @@ __webpack_require__.r(__webpack_exports__);
10388
10434
 
10389
10435
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyProgressModel", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__["SurveyProgressModel"]; });
10390
10436
 
10391
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyProgressButtonsModel", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__["SurveyProgressButtonsModel"]; });
10437
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ProgressButtons", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__["ProgressButtons"]; });
10438
+
10439
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ProgressButtonsResponsivityManager", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__["ProgressButtonsResponsivityManager"]; });
10392
10440
 
10393
10441
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyModel", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__["SurveyModel"]; });
10394
10442
 
@@ -10494,6 +10542,8 @@ __webpack_require__.r(__webpack_exports__);
10494
10542
 
10495
10543
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "createSvg", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__["createSvg"]; });
10496
10544
 
10545
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "chooseFiles", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__["chooseFiles"]; });
10546
+
10497
10547
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "sanitizeEditableContent", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__["sanitizeEditableContent"]; });
10498
10548
 
10499
10549
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "CssClassBuilder", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__["CssClassBuilder"]; });
@@ -10754,14 +10804,14 @@ __webpack_require__.r(__webpack_exports__);
10754
10804
  /* harmony import */ var _react_reactquestion_paneldynamic__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(/*! ../react/reactquestion_paneldynamic */ "./src/react/reactquestion_paneldynamic.tsx");
10755
10805
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyQuestionPanelDynamic", function() { return _react_reactquestion_paneldynamic__WEBPACK_IMPORTED_MODULE_39__["SurveyQuestionPanelDynamic"]; });
10756
10806
 
10757
- /* harmony import */ var _react_reactSurveyProgress__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(/*! ../react/reactSurveyProgress */ "./src/react/reactSurveyProgress.tsx");
10758
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyProgress", function() { return _react_reactSurveyProgress__WEBPACK_IMPORTED_MODULE_40__["SurveyProgress"]; });
10807
+ /* harmony import */ var _react_progress__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(/*! ../react/progress */ "./src/react/progress.tsx");
10808
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyProgress", function() { return _react_progress__WEBPACK_IMPORTED_MODULE_40__["SurveyProgress"]; });
10759
10809
 
10760
- /* harmony import */ var _react_reactSurveyProgressButtons__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(/*! ../react/reactSurveyProgressButtons */ "./src/react/reactSurveyProgressButtons.tsx");
10761
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyProgressButtons", function() { return _react_reactSurveyProgressButtons__WEBPACK_IMPORTED_MODULE_41__["SurveyProgressButtons"]; });
10810
+ /* harmony import */ var _react_progressButtons__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(/*! ../react/progressButtons */ "./src/react/progressButtons.tsx");
10811
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyProgressButtons", function() { return _react_progressButtons__WEBPACK_IMPORTED_MODULE_41__["SurveyProgressButtons"]; });
10762
10812
 
10763
- /* harmony import */ var _react_reactSurveyProgressToc__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(/*! ../react/reactSurveyProgressToc */ "./src/react/reactSurveyProgressToc.tsx");
10764
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyProgressToc", function() { return _react_reactSurveyProgressToc__WEBPACK_IMPORTED_MODULE_42__["SurveyProgressToc"]; });
10813
+ /* harmony import */ var _react_progressToc__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(/*! ../react/progressToc */ "./src/react/progressToc.tsx");
10814
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyProgressToc", function() { return _react_progressToc__WEBPACK_IMPORTED_MODULE_42__["SurveyProgressToc"]; });
10765
10815
 
10766
10816
  /* harmony import */ var _react_reactquestion_rating__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(/*! ../react/reactquestion_rating */ "./src/react/reactquestion_rating.tsx");
10767
10817
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyQuestionRating", function() { return _react_reactquestion_rating__WEBPACK_IMPORTED_MODULE_43__["SurveyQuestionRating"]; });
@@ -10977,7 +11027,7 @@ __webpack_require__.r(__webpack_exports__);
10977
11027
  /*!******************************!*\
10978
11028
  !*** ./src/entries/react.ts ***!
10979
11029
  \******************************/
10980
- /*! exports provided: Version, ReleaseDate, checkLibraryVersion, setLicenseKey, slk, hasLicense, settings, Helpers, AnswerCountValidator, EmailValidator, NumericValidator, RegexValidator, SurveyValidator, TextValidator, ValidatorResult, ExpressionValidator, ValidatorRunner, ItemValue, Base, Event, EventBase, ArrayChanges, ComputedUpdater, SurveyError, SurveyElementCore, SurveyElement, DragTypeOverMeEnum, CalculatedValue, CustomError, AnswerRequiredError, OneAnswerRequiredError, RequreNumericError, ExceedSizeError, LocalizableString, LocalizableStrings, HtmlConditionItem, UrlConditionItem, ChoicesRestful, ChoicesRestfull, FunctionFactory, registerFunction, ConditionRunner, ExpressionRunner, ExpressionExecutor, Operand, Const, BinaryOperand, Variable, FunctionOperand, ArrayOperand, UnaryOperand, ConditionsParser, ProcessValue, JsonError, JsonIncorrectTypeError, JsonMetadata, JsonMetadataClass, JsonMissingTypeError, JsonMissingTypeErrorBase, JsonObject, JsonObjectProperty, JsonRequiredPropertyError, JsonUnknownPropertyError, Serializer, property, propertyArray, MatrixDropdownCell, MatrixDropdownRowModelBase, QuestionMatrixDropdownModelBase, MatrixDropdownColumn, matrixDropdownColumnTypes, QuestionMatrixDropdownRenderedCell, QuestionMatrixDropdownRenderedRow, QuestionMatrixDropdownRenderedTable, MatrixDropdownRowModel, QuestionMatrixDropdownModel, MatrixDynamicRowModel, QuestionMatrixDynamicModel, MatrixRowModel, MatrixCells, QuestionMatrixModel, QuestionMatrixBaseModel, MultipleTextItemModel, MultipleTextCell, MultipleTextErrorCell, MutlipleTextErrorRow, MutlipleTextRow, QuestionMultipleTextModel, MultipleTextEditorModel, PanelModel, PanelModelBase, QuestionRowModel, FlowPanelModel, PageModel, DefaultTitleModel, Question, QuestionNonValue, QuestionEmptyModel, QuestionCheckboxBase, QuestionSelectBase, QuestionCheckboxModel, QuestionTagboxModel, QuestionRankingModel, QuestionCommentModel, QuestionDropdownModel, QuestionFactory, ElementFactory, QuestionFileModel, QuestionHtmlModel, QuestionRadiogroupModel, QuestionRatingModel, RenderedRatingItem, QuestionExpressionModel, QuestionTextBase, CharacterCounter, QuestionTextModel, QuestionBooleanModel, QuestionImagePickerModel, ImageItemValue, QuestionImageModel, QuestionSignaturePadModel, QuestionPanelDynamicModel, QuestionPanelDynamicItem, SurveyTimer, SurveyTimerModel, tryFocusPage, createTOCListModel, getTocRootCss, TOCModel, SurveyProgressModel, SurveyProgressButtonsModel, SurveyModel, SurveyTrigger, SurveyTriggerComplete, SurveyTriggerSetValue, SurveyTriggerVisible, SurveyTriggerCopyValue, SurveyTriggerRunExpression, SurveyTriggerSkip, Trigger, PopupSurveyModel, SurveyWindowModel, TextPreProcessor, Notifier, Cover, CoverCell, dxSurveyService, englishStrings, surveyLocalization, surveyStrings, QuestionCustomWidget, CustomWidgetCollection, QuestionCustomModel, QuestionCompositeModel, ComponentQuestionJSON, ComponentCollection, StylesManager, ListModel, MultiSelectListModel, PopupModel, createDialogOptions, PopupBaseViewModel, PopupDropdownViewModel, PopupModalViewModel, createPopupViewModel, createPopupModalViewModel, DropdownListModel, DropdownMultiSelectListModel, QuestionButtonGroupModel, ButtonGroupItemModel, ButtonGroupItemValue, IsMobile, IsTouch, _setIsTouch, confirmAction, confirmActionAsync, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, sanitizeEditableContent, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropCore, DragDropChoices, DragDropRankingSelectToRank, defaultStandardCss, modernCss, SvgIconRegistry, SvgRegistry, SvgBundleViewModel, RendererFactory, ResponsivityManager, VerticalResponsivityManager, unwrap, getOriginalEvent, getElement, createDropdownActionModel, createDropdownActionModelAdvanced, getActionDropdownButtonTarget, BaseAction, Action, ActionDropdownViewModel, AdaptiveActionContainer, defaultActionBarCss, ActionContainer, DragOrClickHelper, Model, bootstrapThemeName, bootstrapThemeColors, bootstrapThemeCssRules, bootstrapMaterialThemeName, bootstrapMaterialThemeColors, bootstrapMaterialThemeCssRules, defaultBootstrapCss, defaultBootstrapMaterialCss, Survey, attachKey2click, ReactSurveyElementsWrapper, SurveyNavigationBase, SurveyTimerPanel, SurveyPage, SurveyRow, SurveyPanel, SurveyFlowPanel, SurveyQuestion, SurveyElementErrors, SurveyQuestionAndErrorsCell, ReactSurveyElement, SurveyElementBase, SurveyQuestionElementBase, SurveyQuestionCommentItem, SurveyQuestionComment, SurveyQuestionCheckbox, SurveyQuestionCheckboxItem, SurveyQuestionRanking, SurveyQuestionRankingItem, RatingItem, RatingItemStar, RatingItemSmiley, RatingDropdownItem, TagboxFilterString, SurveyQuestionOptionItem, SurveyQuestionDropdownBase, SurveyQuestionDropdown, SurveyQuestionTagboxItem, SurveyQuestionTagbox, SurveyQuestionDropdownSelect, SurveyQuestionMatrix, SurveyQuestionMatrixRow, SurveyQuestionMatrixCell, SurveyQuestionHtml, SurveyQuestionFile, SurveyFileChooseButton, SurveyFilePreview, SurveyQuestionMultipleText, SurveyQuestionRadiogroup, SurveyQuestionRadioItem, SurveyQuestionText, SurveyQuestionBoolean, SurveyQuestionBooleanCheckbox, SurveyQuestionBooleanRadio, SurveyQuestionEmpty, SurveyQuestionMatrixDropdownCell, SurveyQuestionMatrixDropdownBase, SurveyQuestionMatrixDropdown, SurveyQuestionMatrixDynamic, SurveyQuestionMatrixDynamicAddButton, SurveyQuestionPanelDynamic, SurveyProgress, SurveyProgressButtons, SurveyProgressToc, SurveyQuestionRating, SurveyQuestionRatingDropdown, SurveyQuestionExpression, PopupSurvey, SurveyWindow, ReactQuestionFactory, ReactElementFactory, SurveyQuestionImagePicker, SurveyQuestionImage, SurveyQuestionSignaturePad, SurveyQuestionButtonGroup, SurveyQuestionCustom, SurveyQuestionComposite, Popup, List, TitleActions, TitleElement, SurveyActionBar, LogoImage, SurveyHeader, SvgIcon, SurveyQuestionMatrixDynamicRemoveButton, SurveyQuestionMatrixDetailButton, SurveyQuestionMatrixDynamicDragDropIcon, SurveyQuestionPanelDynamicAddButton, SurveyQuestionPanelDynamicRemoveButton, SurveyQuestionPanelDynamicPrevButton, SurveyQuestionPanelDynamicNextButton, SurveyQuestionPanelDynamicProgressText, SurveyNavigationButton, MatrixRow, Skeleton, NotifierComponent, ComponentsContainer, CharacterCounterComponent, HeaderMobile, HeaderCell, Header, SurveyLocStringViewer, SurveyLocStringEditor, LoadingIndicatorComponent, SvgBundleComponent */
11030
+ /*! exports provided: Version, ReleaseDate, checkLibraryVersion, setLicenseKey, slk, hasLicense, settings, Helpers, AnswerCountValidator, EmailValidator, NumericValidator, RegexValidator, SurveyValidator, TextValidator, ValidatorResult, ExpressionValidator, ValidatorRunner, ItemValue, Base, Event, EventBase, ArrayChanges, ComputedUpdater, SurveyError, SurveyElementCore, SurveyElement, DragTypeOverMeEnum, CalculatedValue, CustomError, AnswerRequiredError, OneAnswerRequiredError, RequreNumericError, ExceedSizeError, LocalizableString, LocalizableStrings, HtmlConditionItem, UrlConditionItem, ChoicesRestful, ChoicesRestfull, FunctionFactory, registerFunction, ConditionRunner, ExpressionRunner, ExpressionExecutor, Operand, Const, BinaryOperand, Variable, FunctionOperand, ArrayOperand, UnaryOperand, ConditionsParser, ProcessValue, JsonError, JsonIncorrectTypeError, JsonMetadata, JsonMetadataClass, JsonMissingTypeError, JsonMissingTypeErrorBase, JsonObject, JsonObjectProperty, JsonRequiredPropertyError, JsonUnknownPropertyError, Serializer, property, propertyArray, MatrixDropdownCell, MatrixDropdownRowModelBase, QuestionMatrixDropdownModelBase, MatrixDropdownColumn, matrixDropdownColumnTypes, QuestionMatrixDropdownRenderedCell, QuestionMatrixDropdownRenderedRow, QuestionMatrixDropdownRenderedTable, MatrixDropdownRowModel, QuestionMatrixDropdownModel, MatrixDynamicRowModel, QuestionMatrixDynamicModel, MatrixRowModel, MatrixCells, QuestionMatrixModel, QuestionMatrixBaseModel, MultipleTextItemModel, MultipleTextCell, MultipleTextErrorCell, MutlipleTextErrorRow, MutlipleTextRow, QuestionMultipleTextModel, MultipleTextEditorModel, PanelModel, PanelModelBase, QuestionRowModel, FlowPanelModel, PageModel, DefaultTitleModel, Question, QuestionNonValue, QuestionEmptyModel, QuestionCheckboxBase, QuestionSelectBase, QuestionCheckboxModel, QuestionTagboxModel, QuestionRankingModel, QuestionCommentModel, QuestionDropdownModel, QuestionFactory, ElementFactory, QuestionFileModel, QuestionHtmlModel, QuestionRadiogroupModel, QuestionRatingModel, RenderedRatingItem, QuestionExpressionModel, QuestionTextBase, CharacterCounter, QuestionTextModel, QuestionBooleanModel, QuestionImagePickerModel, ImageItemValue, QuestionImageModel, QuestionSignaturePadModel, QuestionPanelDynamicModel, QuestionPanelDynamicItem, SurveyTimer, SurveyTimerModel, tryFocusPage, createTOCListModel, getTocRootCss, TOCModel, SurveyProgressModel, ProgressButtons, ProgressButtonsResponsivityManager, SurveyModel, SurveyTrigger, SurveyTriggerComplete, SurveyTriggerSetValue, SurveyTriggerVisible, SurveyTriggerCopyValue, SurveyTriggerRunExpression, SurveyTriggerSkip, Trigger, PopupSurveyModel, SurveyWindowModel, TextPreProcessor, Notifier, Cover, CoverCell, dxSurveyService, englishStrings, surveyLocalization, surveyStrings, QuestionCustomWidget, CustomWidgetCollection, QuestionCustomModel, QuestionCompositeModel, ComponentQuestionJSON, ComponentCollection, StylesManager, ListModel, MultiSelectListModel, PopupModel, createDialogOptions, PopupBaseViewModel, PopupDropdownViewModel, PopupModalViewModel, createPopupViewModel, createPopupModalViewModel, DropdownListModel, DropdownMultiSelectListModel, QuestionButtonGroupModel, ButtonGroupItemModel, ButtonGroupItemValue, IsMobile, IsTouch, _setIsTouch, confirmAction, confirmActionAsync, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, chooseFiles, sanitizeEditableContent, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropCore, DragDropChoices, DragDropRankingSelectToRank, defaultStandardCss, modernCss, SvgIconRegistry, SvgRegistry, SvgBundleViewModel, RendererFactory, ResponsivityManager, VerticalResponsivityManager, unwrap, getOriginalEvent, getElement, createDropdownActionModel, createDropdownActionModelAdvanced, getActionDropdownButtonTarget, BaseAction, Action, ActionDropdownViewModel, AdaptiveActionContainer, defaultActionBarCss, ActionContainer, DragOrClickHelper, Model, bootstrapThemeName, bootstrapThemeColors, bootstrapThemeCssRules, bootstrapMaterialThemeName, bootstrapMaterialThemeColors, bootstrapMaterialThemeCssRules, defaultBootstrapCss, defaultBootstrapMaterialCss, Survey, attachKey2click, ReactSurveyElementsWrapper, SurveyNavigationBase, SurveyTimerPanel, SurveyPage, SurveyRow, SurveyPanel, SurveyFlowPanel, SurveyQuestion, SurveyElementErrors, SurveyQuestionAndErrorsCell, ReactSurveyElement, SurveyElementBase, SurveyQuestionElementBase, SurveyQuestionCommentItem, SurveyQuestionComment, SurveyQuestionCheckbox, SurveyQuestionCheckboxItem, SurveyQuestionRanking, SurveyQuestionRankingItem, RatingItem, RatingItemStar, RatingItemSmiley, RatingDropdownItem, TagboxFilterString, SurveyQuestionOptionItem, SurveyQuestionDropdownBase, SurveyQuestionDropdown, SurveyQuestionTagboxItem, SurveyQuestionTagbox, SurveyQuestionDropdownSelect, SurveyQuestionMatrix, SurveyQuestionMatrixRow, SurveyQuestionMatrixCell, SurveyQuestionHtml, SurveyQuestionFile, SurveyFileChooseButton, SurveyFilePreview, SurveyQuestionMultipleText, SurveyQuestionRadiogroup, SurveyQuestionRadioItem, SurveyQuestionText, SurveyQuestionBoolean, SurveyQuestionBooleanCheckbox, SurveyQuestionBooleanRadio, SurveyQuestionEmpty, SurveyQuestionMatrixDropdownCell, SurveyQuestionMatrixDropdownBase, SurveyQuestionMatrixDropdown, SurveyQuestionMatrixDynamic, SurveyQuestionMatrixDynamicAddButton, SurveyQuestionPanelDynamic, SurveyProgress, SurveyProgressButtons, SurveyProgressToc, SurveyQuestionRating, SurveyQuestionRatingDropdown, SurveyQuestionExpression, PopupSurvey, SurveyWindow, ReactQuestionFactory, ReactElementFactory, SurveyQuestionImagePicker, SurveyQuestionImage, SurveyQuestionSignaturePad, SurveyQuestionButtonGroup, SurveyQuestionCustom, SurveyQuestionComposite, Popup, List, TitleActions, TitleElement, SurveyActionBar, LogoImage, SurveyHeader, SvgIcon, SurveyQuestionMatrixDynamicRemoveButton, SurveyQuestionMatrixDetailButton, SurveyQuestionMatrixDynamicDragDropIcon, SurveyQuestionPanelDynamicAddButton, SurveyQuestionPanelDynamicRemoveButton, SurveyQuestionPanelDynamicPrevButton, SurveyQuestionPanelDynamicNextButton, SurveyQuestionPanelDynamicProgressText, SurveyNavigationButton, MatrixRow, Skeleton, NotifierComponent, ComponentsContainer, CharacterCounterComponent, HeaderMobile, HeaderCell, Header, SurveyLocStringViewer, SurveyLocStringEditor, LoadingIndicatorComponent, SvgBundleComponent */
10981
11031
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
10982
11032
 
10983
11033
  "use strict";
@@ -11243,7 +11293,9 @@ __webpack_require__.r(__webpack_exports__);
11243
11293
 
11244
11294
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyProgressModel", function() { return _core__WEBPACK_IMPORTED_MODULE_0__["SurveyProgressModel"]; });
11245
11295
 
11246
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyProgressButtonsModel", function() { return _core__WEBPACK_IMPORTED_MODULE_0__["SurveyProgressButtonsModel"]; });
11296
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ProgressButtons", function() { return _core__WEBPACK_IMPORTED_MODULE_0__["ProgressButtons"]; });
11297
+
11298
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ProgressButtonsResponsivityManager", function() { return _core__WEBPACK_IMPORTED_MODULE_0__["ProgressButtonsResponsivityManager"]; });
11247
11299
 
11248
11300
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyModel", function() { return _core__WEBPACK_IMPORTED_MODULE_0__["SurveyModel"]; });
11249
11301
 
@@ -11349,6 +11401,8 @@ __webpack_require__.r(__webpack_exports__);
11349
11401
 
11350
11402
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "createSvg", function() { return _core__WEBPACK_IMPORTED_MODULE_0__["createSvg"]; });
11351
11403
 
11404
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "chooseFiles", function() { return _core__WEBPACK_IMPORTED_MODULE_0__["chooseFiles"]; });
11405
+
11352
11406
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "sanitizeEditableContent", function() { return _core__WEBPACK_IMPORTED_MODULE_0__["sanitizeEditableContent"]; });
11353
11407
 
11354
11408
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "CssClassBuilder", function() { return _core__WEBPACK_IMPORTED_MODULE_0__["CssClassBuilder"]; });
@@ -16465,6 +16519,21 @@ function propertyValue(params) {
16465
16519
  return q ? q[params[1]] : undefined;
16466
16520
  }
16467
16521
  FunctionFactory.Instance.register("propertyValue", propertyValue);
16522
+ function substring_(params) {
16523
+ if (params.length < 2)
16524
+ return "";
16525
+ var s = params[0];
16526
+ if (!s || typeof s !== "string")
16527
+ return "";
16528
+ var start = params[1];
16529
+ if (!_helpers__WEBPACK_IMPORTED_MODULE_0__["Helpers"].isNumber(start))
16530
+ return "";
16531
+ var end = params.length > 2 ? params[2] : undefined;
16532
+ if (!_helpers__WEBPACK_IMPORTED_MODULE_0__["Helpers"].isNumber(end))
16533
+ return s.substring(start);
16534
+ return s.substring(start, end);
16535
+ }
16536
+ FunctionFactory.Instance.register("substring", substring_);
16468
16537
 
16469
16538
 
16470
16539
  /***/ }),
@@ -16606,13 +16675,10 @@ var Cover = /** @class */ (function (_super) {
16606
16675
  function Cover() {
16607
16676
  var _this = _super.call(this) || this;
16608
16677
  _this.cells = [];
16609
- _this.renderBackgroundImage = Object(_utils_utils__WEBPACK_IMPORTED_MODULE_3__["wrapUrlForBackgroundImage"])(_this.backgroundImage);
16610
16678
  ["top", "middle", "bottom"].forEach(function (positionY) {
16611
16679
  return ["left", "center", "right"].forEach(function (positionX) { return _this.cells.push(new CoverCell(_this, positionX, positionY)); });
16612
16680
  });
16613
- _this.updateHeaderClasses();
16614
- _this.updateContentClasses();
16615
- _this.updateBackgroundImageClasses();
16681
+ _this.init();
16616
16682
  return _this;
16617
16683
  }
16618
16684
  Cover.prototype.calcBackgroundSize = function (backgroundImageFit) {
@@ -16628,6 +16694,9 @@ var Cover = /** @class */ (function (_super) {
16628
16694
  this.headerClasses = new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_2__["CssClassBuilder"]()
16629
16695
  .append("sv-header")
16630
16696
  .append("sv-header__without-background", (this.backgroundColor === "transparent") && !this.backgroundImage)
16697
+ .append("sv-header__background-color--none", this.backgroundColor === "transparent" && !this.titleColor && !this.descriptionColor)
16698
+ .append("sv-header__background-color--accent", !this.backgroundColor && !this.titleColor && !this.descriptionColor)
16699
+ .append("sv-header__background-color--custom", !!this.backgroundColor && this.backgroundColor !== "transparent" && !this.titleColor && !this.descriptionColor)
16631
16700
  .append("sv-header__overlap", this.overlapEnabled)
16632
16701
  .toString();
16633
16702
  };
@@ -16651,7 +16720,16 @@ var Cover = /** @class */ (function (_super) {
16651
16720
  _super.prototype.fromJSON.call(this, theme.header);
16652
16721
  if (!!theme.cssVariables) {
16653
16722
  this.backgroundColor = theme.cssVariables["--sjs-header-backcolor"];
16723
+ this.titleColor = theme.cssVariables["--sjs-font-headertitle-color"];
16724
+ this.descriptionColor = theme.cssVariables["--sjs-font-headerdescription-color"];
16654
16725
  }
16726
+ this.init();
16727
+ };
16728
+ Cover.prototype.init = function () {
16729
+ this.renderBackgroundImage = Object(_utils_utils__WEBPACK_IMPORTED_MODULE_3__["wrapUrlForBackgroundImage"])(this.backgroundImage);
16730
+ this.updateHeaderClasses();
16731
+ this.updateContentClasses();
16732
+ this.updateBackgroundImageClasses();
16655
16733
  };
16656
16734
  Cover.prototype.getType = function () {
16657
16735
  return "cover";
@@ -16774,6 +16852,12 @@ var Cover = /** @class */ (function (_super) {
16774
16852
  __decorate([
16775
16853
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])()
16776
16854
  ], Cover.prototype, "backgroundColor", void 0);
16855
+ __decorate([
16856
+ Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])()
16857
+ ], Cover.prototype, "titleColor", void 0);
16858
+ __decorate([
16859
+ Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])()
16860
+ ], Cover.prototype, "descriptionColor", void 0);
16777
16861
  __decorate([
16778
16862
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])({
16779
16863
  onSet: function (newVal, target) {
@@ -17362,12 +17446,14 @@ var map = {
17362
17446
  "./V2Check.svg": "./src/images/V2Check.svg",
17363
17447
  "./V2Check_24x24.svg": "./src/images/V2Check_24x24.svg",
17364
17448
  "./V2DragElement_16x16.svg": "./src/images/V2DragElement_16x16.svg",
17449
+ "./back-to-panel_16x16.svg": "./src/images/back-to-panel_16x16.svg",
17365
17450
  "./chevron.svg": "./src/images/chevron.svg",
17366
17451
  "./clear_16x16.svg": "./src/images/clear_16x16.svg",
17367
17452
  "./close_16x16.svg": "./src/images/close_16x16.svg",
17368
17453
  "./collapseDetail.svg": "./src/images/collapseDetail.svg",
17369
17454
  "./drag-n-drop.svg": "./src/images/drag-n-drop.svg",
17370
17455
  "./expandDetail.svg": "./src/images/expandDetail.svg",
17456
+ "./full-screen_16x16.svg": "./src/images/full-screen_16x16.svg",
17371
17457
  "./loading.svg": "./src/images/loading.svg",
17372
17458
  "./minimize_16x16.svg": "./src/images/minimize_16x16.svg",
17373
17459
  "./no-image.svg": "./src/images/no-image.svg",
@@ -17744,6 +17830,17 @@ module.exports = "<svg viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\
17744
17830
 
17745
17831
  /***/ }),
17746
17832
 
17833
+ /***/ "./src/images/back-to-panel_16x16.svg":
17834
+ /*!********************************************!*\
17835
+ !*** ./src/images/back-to-panel_16x16.svg ***!
17836
+ \********************************************/
17837
+ /*! no static exports found */
17838
+ /***/ (function(module, exports) {
17839
+
17840
+ module.exports = "<svg viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M15.0001 6C15.0001 6.55 14.5501 7 14.0001 7H10.0001C9.45006 7 9.00006 6.55 9.00006 6V2C9.00006 1.45 9.45006 1 10.0001 1C10.5501 1 11.0001 1.45 11.0001 2V3.59L13.2901 1.29C13.4901 1.09 13.7401 1 14.0001 1C14.2601 1 14.5101 1.1 14.7101 1.29C15.1001 1.68 15.1001 2.31 14.7101 2.7L12.4201 4.99H14.0101C14.5601 4.99 15.0101 5.44 15.0101 5.99L15.0001 6ZM6.00006 9H2.00006C1.45006 9 1.00006 9.45 1.00006 10C1.00006 10.55 1.45006 11 2.00006 11H3.59006L1.29006 13.29C0.900059 13.68 0.900059 14.31 1.29006 14.7C1.68006 15.09 2.31006 15.09 2.70006 14.7L4.99006 12.41V14C4.99006 14.55 5.44006 15 5.99006 15C6.54006 15 6.99006 14.55 6.99006 14V10C6.99006 9.45 6.54006 9 5.99006 9H6.00006Z\"></path></svg>"
17841
+
17842
+ /***/ }),
17843
+
17747
17844
  /***/ "./src/images/chevron.svg":
17748
17845
  /*!********************************!*\
17749
17846
  !*** ./src/images/chevron.svg ***!
@@ -17810,6 +17907,17 @@ module.exports = "<svg viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\
17810
17907
 
17811
17908
  /***/ }),
17812
17909
 
17910
+ /***/ "./src/images/full-screen_16x16.svg":
17911
+ /*!******************************************!*\
17912
+ !*** ./src/images/full-screen_16x16.svg ***!
17913
+ \******************************************/
17914
+ /*! no static exports found */
17915
+ /***/ (function(module, exports) {
17916
+
17917
+ module.exports = "<svg viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M6.71 10.71L4.42 13H6.01C6.56 13 7.01 13.45 7.01 14C7.01 14.55 6.56 15 6.01 15H2C1.45 15 1 14.55 1 14V10C1 9.45 1.45 9 2 9C2.55 9 3 9.45 3 10V11.59L5.29 9.3C5.68 8.91 6.31 8.91 6.7 9.3C7.09 9.69 7.09 10.32 6.7 10.71H6.71ZM14 1H10C9.45 1 9 1.45 9 2C9 2.55 9.45 3 10 3H11.59L9.3 5.29C8.91 5.68 8.91 6.31 9.3 6.7C9.5 6.9 9.75 6.99 10.01 6.99C10.27 6.99 10.52 6.89 10.72 6.7L13.01 4.41V6C13.01 6.55 13.46 7 14.01 7C14.56 7 15.01 6.55 15.01 6V2C15.01 1.45 14.56 1 14.01 1H14Z\"></path></svg>"
17918
+
17919
+ /***/ }),
17920
+
17813
17921
  /***/ "./src/images/loading.svg":
17814
17922
  /*!********************************!*\
17815
17923
  !*** ./src/images/loading.svg ***!
@@ -19063,15 +19171,32 @@ var JsonObjectProperty = /** @class */ (function () {
19063
19171
  enumerable: false,
19064
19172
  configurable: true
19065
19173
  });
19174
+ JsonObjectProperty.prototype.isEnable = function (obj) {
19175
+ if (this.readOnly)
19176
+ return false;
19177
+ if (!obj || !this.enableIf)
19178
+ return true;
19179
+ return this.enableIf(this.getOriginalObj(obj));
19180
+ };
19066
19181
  JsonObjectProperty.prototype.isVisible = function (layout, obj) {
19067
19182
  if (obj === void 0) { obj = null; }
19068
19183
  var isLayout = !this.layout || this.layout == layout;
19069
19184
  if (!this.visible || !isLayout)
19070
19185
  return false;
19071
- if (!!this.visibleIf && !!obj)
19072
- return this.visibleIf(obj);
19186
+ if (!!this.visibleIf && !!obj) {
19187
+ return this.visibleIf(this.getOriginalObj(obj));
19188
+ }
19073
19189
  return true;
19074
19190
  };
19191
+ JsonObjectProperty.prototype.getOriginalObj = function (obj) {
19192
+ if (obj && obj.getOriginalObj) {
19193
+ var orjObj = obj.getOriginalObj();
19194
+ if (orjObj && Serializer.findProperty(orjObj.getType(), this.name)) {
19195
+ return orjObj;
19196
+ }
19197
+ }
19198
+ return obj;
19199
+ };
19075
19200
  Object.defineProperty(JsonObjectProperty.prototype, "visible", {
19076
19201
  get: function () {
19077
19202
  return this.visibleValue != null ? this.visibleValue : true;
@@ -19195,6 +19320,7 @@ var JsonObjectProperty = /** @class */ (function () {
19195
19320
  "showMode",
19196
19321
  "dependedProperties",
19197
19322
  "visibleIf",
19323
+ "enableIf",
19198
19324
  "onExecuteExpression",
19199
19325
  "onPropertyEditorUpdate",
19200
19326
  "maxLength",
@@ -19513,7 +19639,7 @@ var JsonMetadataClass = /** @class */ (function () {
19513
19639
  if (!_helpers__WEBPACK_IMPORTED_MODULE_2__["Helpers"].isValueEmpty(propInfo.maxLength)) {
19514
19640
  prop.maxLength = propInfo.maxLength;
19515
19641
  }
19516
- if (!_helpers__WEBPACK_IMPORTED_MODULE_2__["Helpers"].isValueEmpty(propInfo.displayName)) {
19642
+ if (propInfo.displayName !== undefined) {
19517
19643
  prop.displayName = propInfo.displayName;
19518
19644
  }
19519
19645
  if (!_helpers__WEBPACK_IMPORTED_MODULE_2__["Helpers"].isValueEmpty(propInfo.category)) {
@@ -19564,6 +19690,9 @@ var JsonMetadataClass = /** @class */ (function () {
19564
19690
  if (!!propInfo.visibleIf) {
19565
19691
  prop.visibleIf = propInfo.visibleIf;
19566
19692
  }
19693
+ if (!!propInfo.enableIf) {
19694
+ prop.enableIf = propInfo.enableIf;
19695
+ }
19567
19696
  if (!!propInfo.onExecuteExpression) {
19568
19697
  prop.onExecuteExpression = propInfo.onExecuteExpression;
19569
19698
  }
@@ -20490,9 +20619,7 @@ var JsonObject = /** @class */ (function () {
20490
20619
  JsonObject.prototype.removePosOnValueToJson = function (property, value) {
20491
20620
  if (!property.isCustom || !value)
20492
20621
  return value;
20493
- if (!!value[JsonObject.positionPropertyName]) {
20494
- delete value[JsonObject.positionPropertyName];
20495
- }
20622
+ this.removePosFromObj(value);
20496
20623
  return value;
20497
20624
  };
20498
20625
  JsonObject.prototype.removePos = function (property, value) {
@@ -20508,9 +20635,14 @@ var JsonObject = /** @class */ (function () {
20508
20635
  this.removePosFromObj(obj[i]);
20509
20636
  }
20510
20637
  }
20638
+ if (typeof obj !== "object")
20639
+ return;
20511
20640
  if (!!obj[JsonObject.positionPropertyName]) {
20512
20641
  delete obj[JsonObject.positionPropertyName];
20513
20642
  }
20643
+ for (var key in obj) {
20644
+ this.removePosFromObj(obj[key]);
20645
+ }
20514
20646
  };
20515
20647
  JsonObject.prototype.isValueArray = function (value) {
20516
20648
  return value && Array.isArray(value);
@@ -20766,7 +20898,10 @@ var ListModel = /** @class */ (function (_super) {
20766
20898
  ListModel.prototype.hasText = function (item, filterStringInLow) {
20767
20899
  if (!filterStringInLow)
20768
20900
  return true;
20769
- var textInLow = (item.title || "").toLocaleLowerCase();
20901
+ var text = item.title || "";
20902
+ if (this.onTextSearchCallback)
20903
+ return this.onTextSearchCallback(item, filterStringInLow);
20904
+ var textInLow = text.toLocaleLowerCase();
20770
20905
  textInLow = _settings__WEBPACK_IMPORTED_MODULE_6__["settings"].comparator.normalizeTextCallback(textInLow, "filter");
20771
20906
  return textInLow.indexOf(filterStringInLow.toLocaleLowerCase()) > -1;
20772
20907
  };
@@ -20812,6 +20947,9 @@ var ListModel = /** @class */ (function (_super) {
20812
20947
  ListModel.prototype.setOnFilterStringChangedCallback = function (callback) {
20813
20948
  this.onFilterStringChangedCallback = callback;
20814
20949
  };
20950
+ ListModel.prototype.setOnTextSearchCallback = function (callback) {
20951
+ this.onTextSearchCallback = callback;
20952
+ };
20815
20953
  ListModel.prototype.setItems = function (items, sortByVisibleIndex) {
20816
20954
  var _this = this;
20817
20955
  if (sortByVisibleIndex === void 0) { sortByVisibleIndex = true; }
@@ -21676,6 +21814,8 @@ var arabicSurveyStrings = {
21676
21814
  startSurveyText: "بداية",
21677
21815
  otherItemText: "نص آخر",
21678
21816
  noneItemText: "لا شيء",
21817
+ refuseItemText: "رفض الإجابة",
21818
+ dontKnowItemText: "لا أعرف",
21679
21819
  selectAllItemText: "اختر الكل",
21680
21820
  progressText: "{1} صفحة {0} من",
21681
21821
  indexText: "{0} من {1}",
@@ -21800,6 +21940,8 @@ survey_core__WEBPACK_IMPORTED_MODULE_0__["surveyLocalization"].localeNames["ar"]
21800
21940
  // hideDetails: "Hide Details" => "إخفاء التفاصيل"
21801
21941
  // ok: "OK" => "موافق"
21802
21942
  // cancel: "Cancel" => "إلغاء الأمر"
21943
+ // refuseItemText: "Refuse to answer" => "رفض الإجابة"
21944
+ // dontKnowItemText: "Don't know" => "لا أعرف"
21803
21945
 
21804
21946
 
21805
21947
  /***/ }),
@@ -21825,6 +21967,8 @@ var basqueSurveyStrings = {
21825
21967
  startSurveyText: "Hasi",
21826
21968
  otherItemText: "Beste bat (zehaztu)",
21827
21969
  noneItemText: "Bat ere ez",
21970
+ refuseItemText: "Erantzuteari uko egin",
21971
+ dontKnowItemText: "Ez dakit",
21828
21972
  selectAllItemText: "Guztia hautatu",
21829
21973
  progressText: "{1}-(e)tik {0} orrialde",
21830
21974
  indexText: "{1} {0}",
@@ -21942,6 +22086,8 @@ survey_core__WEBPACK_IMPORTED_MODULE_0__["surveyLocalization"].localeNames["eu"]
21942
22086
  // hideDetails: "Hide Details" => "Xehetasunak ezkutatu"
21943
22087
  // ok: "OK" => "Ados"
21944
22088
  // cancel: "Cancel" => "Ezeztatu"
22089
+ // refuseItemText: "Refuse to answer" => "Erantzuteari uko egin"
22090
+ // dontKnowItemText: "Don't know" => "Ez dakit"
21945
22091
 
21946
22092
 
21947
22093
  /***/ }),
@@ -21967,6 +22113,8 @@ var bulgarianStrings = {
21967
22113
  startSurveyText: "Начало",
21968
22114
  otherItemText: "Друго (опишете)",
21969
22115
  noneItemText: "Нито един",
22116
+ refuseItemText: "Отказва да отговори",
22117
+ dontKnowItemText: "Не знам",
21970
22118
  selectAllItemText: "Всички",
21971
22119
  progressText: "стр. {0}, общо стр. {1}",
21972
22120
  indexText: "{0} на {1}",
@@ -22091,6 +22239,8 @@ survey_core__WEBPACK_IMPORTED_MODULE_0__["surveyLocalization"].localeNames["bg"]
22091
22239
  // hideDetails: "Hide Details" => "Скрий подробните данни"
22092
22240
  // ok: "OK" => "Добре"
22093
22241
  // cancel: "Cancel" => "Отмени"
22242
+ // refuseItemText: "Refuse to answer" => "Отказва да отговори"
22243
+ // dontKnowItemText: "Don't know" => "Не знам"
22094
22244
 
22095
22245
 
22096
22246
  /***/ }),
@@ -22116,6 +22266,8 @@ var catalanSurveyStrings = {
22116
22266
  startSurveyText: "Començar",
22117
22267
  otherItemText: "Un altre (descrigui)",
22118
22268
  noneItemText: "Cap",
22269
+ refuseItemText: "Negar-se a respondre",
22270
+ dontKnowItemText: "No sé",
22119
22271
  selectAllItemText: "Selecciona-ho tot",
22120
22272
  progressText: "Pàgina {0} de {1}",
22121
22273
  indexText: "{0} de {1}",
@@ -22280,6 +22432,8 @@ survey_core__WEBPACK_IMPORTED_MODULE_0__["surveyLocalization"].localeNames["ca"]
22280
22432
  // hideDetails: "Hide Details" => "Amaga els detalls"
22281
22433
  // ok: "OK" => "D'ACORD"
22282
22434
  // cancel: "Cancel" => "Cancel·lar"
22435
+ // refuseItemText: "Refuse to answer" => "Negar-se a respondre"
22436
+ // dontKnowItemText: "Don't know" => "No sé"
22283
22437
 
22284
22438
 
22285
22439
  /***/ }),
@@ -22305,6 +22459,8 @@ var croatianStrings = {
22305
22459
  startSurveyText: "Početak",
22306
22460
  otherItemText: "Ostali (opis)",
22307
22461
  noneItemText: "Nitko",
22462
+ refuseItemText: "Odbijte odgovoriti",
22463
+ dontKnowItemText: "Ne znam",
22308
22464
  selectAllItemText: "Select All",
22309
22465
  progressText: "Stranica {0} od {1}",
22310
22466
  indexText: "{0} {1}",
@@ -22427,6 +22583,8 @@ survey_core__WEBPACK_IMPORTED_MODULE_0__["surveyLocalization"].localeNames["hr"]
22427
22583
  // hideDetails: "Hide Details" => "Sakrij detalje"
22428
22584
  // ok: "OK" => "OK"
22429
22585
  // cancel: "Cancel" => "Otkazati"
22586
+ // refuseItemText: "Refuse to answer" => "Odbijte odgovoriti"
22587
+ // dontKnowItemText: "Don't know" => "Ne znam"
22430
22588
 
22431
22589
 
22432
22590
  /***/ }),
@@ -22452,6 +22610,8 @@ var czechSurveyStrings = {
22452
22610
  startSurveyText: "Začít",
22453
22611
  otherItemText: "Jiná odpověď (napište)",
22454
22612
  noneItemText: "Žádný",
22613
+ refuseItemText: "Odmítnout odpovědět",
22614
+ dontKnowItemText: "Nevím",
22455
22615
  selectAllItemText: "Vybrat vše",
22456
22616
  progressText: "Strana {0} z {1}",
22457
22617
  indexText: "{0} z {1}",
@@ -22576,6 +22736,8 @@ survey_core__WEBPACK_IMPORTED_MODULE_0__["surveyLocalization"].localeNames["cs"]
22576
22736
  // hideDetails: "Hide Details" => "Skrýt podrobnosti"
22577
22737
  // ok: "OK" => "OK"
22578
22738
  // cancel: "Cancel" => "Zrušit"
22739
+ // refuseItemText: "Refuse to answer" => "Odmítnout odpovědět"
22740
+ // dontKnowItemText: "Don't know" => "Nevím"
22579
22741
 
22580
22742
 
22581
22743
  /***/ }),
@@ -22601,6 +22763,8 @@ var danishSurveyStrings = {
22601
22763
  startSurveyText: "Start",
22602
22764
  otherItemText: "Valgfrit svar...",
22603
22765
  noneItemText: "Ingen",
22766
+ refuseItemText: "Nægt at svare",
22767
+ dontKnowItemText: "Ved ikke",
22604
22768
  selectAllItemText: "Vælg alle",
22605
22769
  progressText: "Side {0} af {1}",
22606
22770
  indexText: "{0} af {1}",
@@ -22725,6 +22889,8 @@ survey_core__WEBPACK_IMPORTED_MODULE_0__["surveyLocalization"].localeNames["da"]
22725
22889
  // hideDetails: "Hide Details" => "Skjul detaljer"
22726
22890
  // ok: "OK" => "OK"
22727
22891
  // cancel: "Cancel" => "Aflyse"
22892
+ // refuseItemText: "Refuse to answer" => "Nægt at svare"
22893
+ // dontKnowItemText: "Don't know" => "Ved ikke"
22728
22894
 
22729
22895
 
22730
22896
  /***/ }),
@@ -22750,6 +22916,8 @@ var dutchSurveyStrings = {
22750
22916
  startSurveyText: "Start",
22751
22917
  otherItemText: "Anders, nl.",
22752
22918
  noneItemText: "Geen",
22919
+ refuseItemText: "Weiger te antwoorden",
22920
+ dontKnowItemText: "Weet niet",
22753
22921
  selectAllItemText: "Selecteer Alles",
22754
22922
  progressText: "Pagina {0} van {1}",
22755
22923
  indexText: "{0} van {1}",
@@ -22872,6 +23040,8 @@ survey_core__WEBPACK_IMPORTED_MODULE_0__["surveyLocalization"].localeNames["nl"]
22872
23040
  // hideDetails: "Hide Details" => "Verberg details"
22873
23041
  // ok: "OK" => "OK"
22874
23042
  // cancel: "Cancel" => "Annuleren"
23043
+ // refuseItemText: "Refuse to answer" => "Weiger te antwoorden"
23044
+ // dontKnowItemText: "Don't know" => "Weet niet"
22875
23045
 
22876
23046
 
22877
23047
  /***/ }),
@@ -22897,6 +23067,8 @@ var englishStrings = {
22897
23067
  startSurveyText: "Start",
22898
23068
  otherItemText: "Other (describe)",
22899
23069
  noneItemText: "None",
23070
+ refuseItemText: "Refuse to answer",
23071
+ dontKnowItemText: "Don't know",
22900
23072
  selectAllItemText: "Select All",
22901
23073
  progressText: "Page {0} of {1}",
22902
23074
  indexText: "{0} of {1}",
@@ -23020,6 +23192,8 @@ var estonianSurveyStrings = {
23020
23192
  startSurveyText: "Alusta",
23021
23193
  otherItemText: "Muu (täpsusta)",
23022
23194
  noneItemText: "Mitte midagi",
23195
+ refuseItemText: "Keeldu vastamast",
23196
+ dontKnowItemText: "Ei tea",
23023
23197
  selectAllItemText: "Vali kõik",
23024
23198
  progressText: "Lehekülg {0}/{1}",
23025
23199
  indexText: "{0} {1}",
@@ -23144,6 +23318,8 @@ survey_core__WEBPACK_IMPORTED_MODULE_0__["surveyLocalization"].localeNames["et"]
23144
23318
  // hideDetails: "Hide Details" => "Peida üksikasjad"
23145
23319
  // ok: "OK" => "OK"
23146
23320
  // cancel: "Cancel" => "Tühistama"
23321
+ // refuseItemText: "Refuse to answer" => "Keeldu vastamast"
23322
+ // dontKnowItemText: "Don't know" => "Ei tea"
23147
23323
 
23148
23324
 
23149
23325
  /***/ }),
@@ -23169,6 +23345,8 @@ var finnishSurveyStrings = {
23169
23345
  startSurveyText: "Aloita",
23170
23346
  otherItemText: "Muu (tarkenna)",
23171
23347
  noneItemText: "Ei mitään",
23348
+ refuseItemText: "Kieltäydy vastaamasta",
23349
+ dontKnowItemText: "Ei tiedä",
23172
23350
  selectAllItemText: "Valitse kaikki",
23173
23351
  progressText: "Sivu {0} / {1}",
23174
23352
  indexText: "{0} / {1}",
@@ -23281,6 +23459,8 @@ survey_core__WEBPACK_IMPORTED_MODULE_0__["surveyLocalization"].localeNames["fi"]
23281
23459
  // hideDetails: "Hide Details" => "Piilota tiedot"
23282
23460
  // ok: "OK" => "OKEI"
23283
23461
  // cancel: "Cancel" => "Perua"
23462
+ // refuseItemText: "Refuse to answer" => "Kieltäydy vastaamasta"
23463
+ // dontKnowItemText: "Don't know" => "Ei tiedä"
23284
23464
 
23285
23465
 
23286
23466
  /***/ }),
@@ -23306,6 +23486,8 @@ var frenchSurveyStrings = {
23306
23486
  startSurveyText: "Commencer",
23307
23487
  otherItemText: "Autre (préciser)",
23308
23488
  noneItemText: "Aucun",
23489
+ refuseItemText: "Refuser de répondre",
23490
+ dontKnowItemText: "Sais pas",
23309
23491
  selectAllItemText: "Tout sélectionner",
23310
23492
  progressText: "Page {0} sur {1}",
23311
23493
  indexText: "{0} sur {1}",
@@ -23418,6 +23600,8 @@ survey_core__WEBPACK_IMPORTED_MODULE_0__["surveyLocalization"].localeNames["fr"]
23418
23600
  // hideDetails: "Hide Details" => "Masquer les détails"
23419
23601
  // ok: "OK" => "D’ACCORD"
23420
23602
  // cancel: "Cancel" => "Annuler"
23603
+ // refuseItemText: "Refuse to answer" => "Refuser de répondre"
23604
+ // dontKnowItemText: "Don't know" => "Sais pas"
23421
23605
 
23422
23606
 
23423
23607
  /***/ }),
@@ -23443,6 +23627,8 @@ var georgianSurveyStrings = {
23443
23627
  startSurveyText: "დაქოქვა",
23444
23628
  otherItemText: "სხვა (გთხოვთ მიუთითეთ)",
23445
23629
  noneItemText: "არცერთი",
23630
+ refuseItemText: "უარი პასუხზე",
23631
+ dontKnowItemText: "არ ვიცი",
23446
23632
  selectAllItemText: "ყველას მონიშნა",
23447
23633
  progressText: "გვერდი {0} / {1}",
23448
23634
  indexText: "{1} {0}",
@@ -23620,6 +23806,8 @@ survey_core__WEBPACK_IMPORTED_MODULE_0__["surveyLocalization"].localeNames["ka"]
23620
23806
  // hideDetails: "Hide Details" => "დეტალების დამალვა"
23621
23807
  // ok: "OK" => "კარგი"
23622
23808
  // cancel: "Cancel" => "გაუქმება"
23809
+ // refuseItemText: "Refuse to answer" => "უარი პასუხზე"
23810
+ // dontKnowItemText: "Don't know" => "არ ვიცი"
23623
23811
 
23624
23812
 
23625
23813
  /***/ }),
@@ -23645,6 +23833,8 @@ var germanSurveyStrings = {
23645
23833
  startSurveyText: "Start",
23646
23834
  otherItemText: "Sonstiges (Bitte angeben)",
23647
23835
  noneItemText: "Nichts trifft zu",
23836
+ refuseItemText: "Verweigern Sie die Antwort",
23837
+ dontKnowItemText: "Weiß ich nicht",
23648
23838
  selectAllItemText: "Alles auswählen",
23649
23839
  progressText: "Seite {0} von {1}",
23650
23840
  indexText: "{0} von {1}",
@@ -23755,6 +23945,8 @@ survey_core__WEBPACK_IMPORTED_MODULE_0__["surveyLocalization"].localeNames["de"]
23755
23945
  // hideDetails: "Hide Details" => "Details ausblenden"
23756
23946
  // ok: "OK" => "OKAY"
23757
23947
  // cancel: "Cancel" => "Abbrechen"
23948
+ // refuseItemText: "Refuse to answer" => "Verweigern Sie die Antwort"
23949
+ // dontKnowItemText: "Don't know" => "Weiß ich nicht"
23758
23950
 
23759
23951
 
23760
23952
  /***/ }),
@@ -23780,6 +23972,8 @@ var greekSurveyStrings = {
23780
23972
  startSurveyText: "Αρχή",
23781
23973
  otherItemText: "Άλλο (παρακαλώ διευκρινίστε)",
23782
23974
  noneItemText: "Κανένας",
23975
+ refuseItemText: "Αρνηθείτε να απαντήσετε",
23976
+ dontKnowItemText: "Δεν ξέρω",
23783
23977
  selectAllItemText: "Επιλογή όλων",
23784
23978
  progressText: "Σελίδα {0} από {1}",
23785
23979
  indexText: "{0} από {1}",
@@ -23889,6 +24083,8 @@ survey_core__WEBPACK_IMPORTED_MODULE_0__["surveyLocalization"].localeNames["gr"]
23889
24083
  // hideDetails: "Hide Details" => "Απόκρυψη λεπτομερειών"
23890
24084
  // ok: "OK" => "OK"
23891
24085
  // cancel: "Cancel" => "Ακυρώνω"
24086
+ // refuseItemText: "Refuse to answer" => "Αρνηθείτε να απαντήσετε"
24087
+ // dontKnowItemText: "Don't know" => "Δεν ξέρω"
23892
24088
 
23893
24089
 
23894
24090
  /***/ }),
@@ -23914,6 +24110,8 @@ var hebrewSurveyStrings = {
23914
24110
  startSurveyText: "הַתחָלָה",
23915
24111
  otherItemText: "אחר (נא לתאר)",
23916
24112
  noneItemText: "אף אחד",
24113
+ refuseItemText: "מסרבים לענות",
24114
+ dontKnowItemText: "לא יודע",
23917
24115
  selectAllItemText: "בחר הכל",
23918
24116
  progressText: "דף {1} מתוך {0}",
23919
24117
  indexText: "{0} מתוך {1}",
@@ -24038,6 +24236,8 @@ survey_core__WEBPACK_IMPORTED_MODULE_0__["surveyLocalization"].localeNames["he"]
24038
24236
  // hideDetails: "Hide Details" => "הסתר פרטים"
24039
24237
  // ok: "OK" => "אוקיי"
24040
24238
  // cancel: "Cancel" => "ביטל"
24239
+ // refuseItemText: "Refuse to answer" => "מסרבים לענות"
24240
+ // dontKnowItemText: "Don't know" => "לא יודע"
24041
24241
 
24042
24242
 
24043
24243
  /***/ }),
@@ -24063,6 +24263,8 @@ var hindiStrings = {
24063
24263
  startSurveyText: "शुरू",
24064
24264
  otherItemText: "दूसरा (वर्णन करें)",
24065
24265
  noneItemText: "कोई नहीं",
24266
+ refuseItemText: "जवाब देने से इनकार",
24267
+ dontKnowItemText: "नहीं मालूम",
24066
24268
  selectAllItemText: "सभी का चयन करें",
24067
24269
  progressText: "पृष्ठ 1 में से 0",
24068
24270
  indexText: "{1} का {0}",
@@ -24187,7 +24389,8 @@ survey_core__WEBPACK_IMPORTED_MODULE_0__["surveyLocalization"].localeNames["hi"]
24187
24389
  // showDetails: "Show Details" => "विवरण दिखाएँ"
24188
24390
  // hideDetails: "Hide Details" => "विवरण छुपाएँ"
24189
24391
  // ok: "OK" => "ठीक है"
24190
- // cancel: "Cancel" => "रद्द करना"
24392
+ // cancel: "Cancel" => "रद्द करना"// refuseItemText: "Refuse to answer" => "जवाब देने से इनकार"
24393
+ // dontKnowItemText: "Don't know" => "नहीं मालूम"
24191
24394
 
24192
24395
 
24193
24396
  /***/ }),
@@ -24213,6 +24416,8 @@ var hungarianSurveyStrings = {
24213
24416
  startSurveyText: "Rajt",
24214
24417
  otherItemText: "Egyéb (adja meg)",
24215
24418
  noneItemText: "Egyik sem",
24419
+ refuseItemText: "A válaszadás megtagadása",
24420
+ dontKnowItemText: "Nem tudom",
24216
24421
  selectAllItemText: "Mindet kiválaszt",
24217
24422
  progressText: "{0}./{1} oldal",
24218
24423
  indexText: "{0} {1} közül",
@@ -24336,6 +24541,8 @@ survey_core__WEBPACK_IMPORTED_MODULE_0__["surveyLocalization"].localeNames["hu"]
24336
24541
  // hideDetails: "Hide Details" => "Részletek elrejtése"
24337
24542
  // ok: "OK" => "OKÉ"
24338
24543
  // cancel: "Cancel" => "Érvénytelenít"
24544
+ // refuseItemText: "Refuse to answer" => "A válaszadás megtagadása"
24545
+ // dontKnowItemText: "Don't know" => "Nem tudom"
24339
24546
 
24340
24547
 
24341
24548
  /***/ }),
@@ -24361,6 +24568,8 @@ var icelandicSurveyStrings = {
24361
24568
  startSurveyText: "Byrjaðu",
24362
24569
  otherItemText: "Hinn (skýring)",
24363
24570
  noneItemText: "Enginn",
24571
+ refuseItemText: "Neita að svara",
24572
+ dontKnowItemText: "Veit ekki",
24364
24573
  selectAllItemText: "Velja allt",
24365
24574
  progressText: "Síða {0} of {1}",
24366
24575
  indexText: "{0} af {1}",
@@ -24485,6 +24694,8 @@ survey_core__WEBPACK_IMPORTED_MODULE_0__["surveyLocalization"].localeNames["is"]
24485
24694
  // hideDetails: "Hide Details" => "Fela upplýsingar"
24486
24695
  // ok: "OK" => "ÓKEI"
24487
24696
  // cancel: "Cancel" => "Afturkalla"
24697
+ // refuseItemText: "Refuse to answer" => "Neita að svara"
24698
+ // dontKnowItemText: "Don't know" => "Veit ekki"
24488
24699
 
24489
24700
 
24490
24701
  /***/ }),
@@ -24510,6 +24721,8 @@ var indonesianStrings = {
24510
24721
  startSurveyText: "Mulai",
24511
24722
  otherItemText: "Lainnya (jelaskan)",
24512
24723
  noneItemText: "Tidak Ada",
24724
+ refuseItemText: "Menolak untuk menjawab",
24725
+ dontKnowItemText: "Tidak tahu",
24513
24726
  selectAllItemText: "Pilih Semua",
24514
24727
  progressText: "Halaman {0} dari {1}",
24515
24728
  indexText: "{0} dari {1}",
@@ -24634,6 +24847,8 @@ survey_core__WEBPACK_IMPORTED_MODULE_0__["surveyLocalization"].localeNames["id"]
24634
24847
  // hideDetails: "Hide Details" => "Sembunyikan Detail"
24635
24848
  // ok: "OK" => "OKE"
24636
24849
  // cancel: "Cancel" => "Membatalkan"
24850
+ // refuseItemText: "Refuse to answer" => "Menolak untuk menjawab"
24851
+ // dontKnowItemText: "Don't know" => "Tidak tahu"
24637
24852
 
24638
24853
 
24639
24854
  /***/ }),
@@ -24659,6 +24874,8 @@ var italianSurveyStrings = {
24659
24874
  startSurveyText: "Inizio",
24660
24875
  otherItemText: "Altro (descrivi)",
24661
24876
  noneItemText: "Nessuno",
24877
+ refuseItemText: "Rifiuta di rispondere",
24878
+ dontKnowItemText: "Non lo so",
24662
24879
  selectAllItemText: "Seleziona tutti",
24663
24880
  progressText: "Pagina {0} di {1}",
24664
24881
  indexText: "{0} da {1}",
@@ -24771,6 +24988,8 @@ survey_core__WEBPACK_IMPORTED_MODULE_0__["surveyLocalization"].localeNames["it"]
24771
24988
  // hideDetails: "Hide Details" => "Nascondi dettagli"
24772
24989
  // ok: "OK" => "OK"
24773
24990
  // cancel: "Cancel" => "Annulla"
24991
+ // refuseItemText: "Refuse to answer" => "Rifiuta di rispondere"
24992
+ // dontKnowItemText: "Don't know" => "Non lo so"
24774
24993
 
24775
24994
 
24776
24995
  /***/ }),
@@ -24796,6 +25015,8 @@ var japaneseSurveyStrings = {
24796
25015
  startSurveyText: "スタート",
24797
25016
  otherItemText: "その他(説明)",
24798
25017
  noneItemText: "なし",
25018
+ refuseItemText: "回答を拒否する",
25019
+ dontKnowItemText: "わかりません",
24799
25020
  selectAllItemText: "すべて選択",
24800
25021
  progressText: "{0}/{1}頁",
24801
25022
  indexText: "{1}の{0}",
@@ -24920,6 +25141,8 @@ survey_core__WEBPACK_IMPORTED_MODULE_0__["surveyLocalization"].localeNames["ja"]
24920
25141
  // hideDetails: "Hide Details" => "詳細を隠す"
24921
25142
  // ok: "OK" => "わかりました"
24922
25143
  // cancel: "Cancel" => "キャンセル"
25144
+ // refuseItemText: "Refuse to answer" => "回答を拒否する"
25145
+ // dontKnowItemText: "Don't know" => "わかりません"
24923
25146
 
24924
25147
 
24925
25148
  /***/ }),
@@ -24945,6 +25168,8 @@ var kazakhStrings = {
24945
25168
  startSurveyText: "Бастау",
24946
25169
  otherItemText: "Басқа (өтінеміз, жазыңыз)",
24947
25170
  noneItemText: "Жоқ",
25171
+ refuseItemText: "Жауап беруден бас тарту",
25172
+ dontKnowItemText: "Білмеймін",
24948
25173
  selectAllItemText: "Барлығын таңдау",
24949
25174
  progressText: "{0} ден {1} бет ",
24950
25175
  indexText: "{1} {0}",
@@ -25069,6 +25294,8 @@ survey_core__WEBPACK_IMPORTED_MODULE_0__["surveyLocalization"].localeNames["kk"]
25069
25294
  // hideDetails: "Hide Details" => "Егжей- тегжейін жасы"
25070
25295
  // ok: "OK" => "ЖАҚСЫ"
25071
25296
  // cancel: "Cancel" => "Болдырмау"
25297
+ // refuseItemText: "Refuse to answer" => "Жауап беруден бас тарту"
25298
+ // dontKnowItemText: "Don't know" => "Білмеймін"
25072
25299
 
25073
25300
 
25074
25301
  /***/ }),
@@ -25094,6 +25321,8 @@ var koreanStrings = {
25094
25321
  startSurveyText: "시작",
25095
25322
  otherItemText: "기타 (설명)",
25096
25323
  noneItemText: "없음",
25324
+ refuseItemText: "대답 거부",
25325
+ dontKnowItemText: "모르다",
25097
25326
  selectAllItemText: "모두 선택",
25098
25327
  progressText: "페이지 {1} / {0}",
25099
25328
  indexText: "{0} / {1}",
@@ -25205,6 +25434,8 @@ survey_core__WEBPACK_IMPORTED_MODULE_0__["surveyLocalization"].localeNames["ko"]
25205
25434
  // hideDetails: "Hide Details" => "세부 정보 숨기기"
25206
25435
  // ok: "OK" => "그래"
25207
25436
  // cancel: "Cancel" => "취소"
25437
+ // refuseItemText: "Refuse to answer" => "대답 거부"
25438
+ // dontKnowItemText: "Don't know" => "모르다"
25208
25439
 
25209
25440
 
25210
25441
  /***/ }),
@@ -25230,6 +25461,8 @@ var latvianSurveyStrings = {
25230
25461
  startSurveyText: "Sākt",
25231
25462
  otherItemText: "Cits (lūdzu, aprakstiet!)",
25232
25463
  noneItemText: "Nav",
25464
+ refuseItemText: "Atteikties atbildēt",
25465
+ dontKnowItemText: "Es nezinu",
25233
25466
  selectAllItemText: "Izvēlēties visus",
25234
25467
  progressText: "{0}. lapa no {1}",
25235
25468
  indexText: "{0} no {1}",
@@ -25342,6 +25575,8 @@ survey_core__WEBPACK_IMPORTED_MODULE_0__["surveyLocalization"].localeNames["lv"]
25342
25575
  // hideDetails: "Hide Details" => "Slēpt detaļas"
25343
25576
  // ok: "OK" => "LABI"
25344
25577
  // cancel: "Cancel" => "Atcelt"
25578
+ // refuseItemText: "Refuse to answer" => "Atteikties atbildēt"
25579
+ // dontKnowItemText: "Don't know" => "Es nezinu"
25345
25580
 
25346
25581
 
25347
25582
  /***/ }),
@@ -25367,6 +25602,8 @@ var lithuaniaSurveyStrings = {
25367
25602
  startSurveyText: "Pradėti",
25368
25603
  otherItemText: "Kita (įvesti)",
25369
25604
  noneItemText: "Nėra",
25605
+ refuseItemText: "Atsisakyti atsakyti",
25606
+ dontKnowItemText: "Nežinau",
25370
25607
  selectAllItemText: "Pasirinkti visus",
25371
25608
  progressText: "Puslapis {0} iš {1}",
25372
25609
  indexText: "{1} {0}",
@@ -25491,6 +25728,8 @@ survey_core__WEBPACK_IMPORTED_MODULE_0__["surveyLocalization"].localeNames["lt"]
25491
25728
  // hideDetails: "Hide Details" => "Slėpti išsamią informaciją"
25492
25729
  // ok: "OK" => "GERAI"
25493
25730
  // cancel: "Cancel" => "Atšaukti"
25731
+ // refuseItemText: "Refuse to answer" => "Atsisakyti atsakyti"
25732
+ // dontKnowItemText: "Don't know" => "Nežinau"
25494
25733
 
25495
25734
 
25496
25735
  /***/ }),
@@ -25516,6 +25755,8 @@ var macedonianSurveyStrings = {
25516
25755
  startSurveyText: "Започнете",
25517
25756
  otherItemText: "Друго (опиши)",
25518
25757
  noneItemText: "Ништо",
25758
+ refuseItemText: "Одбиј да одговориш.",
25759
+ dontKnowItemText: "Не знам",
25519
25760
  selectAllItemText: "Селектирај се",
25520
25761
  progressText: "Страница {0} од {1}",
25521
25762
  indexText: "{0} на {1}",
@@ -25634,6 +25875,8 @@ survey_core__WEBPACK_IMPORTED_MODULE_0__["surveyLocalization"].localeNames["mk"]
25634
25875
  // hideDetails: "Hide Details" => "Сокриј ги деталите."
25635
25876
  // ok: "OK" => "ДОБРО"
25636
25877
  // cancel: "Cancel" => "Откажи"
25878
+ // refuseItemText: "Refuse to answer" => "Одбиј да одговориш."
25879
+ // dontKnowItemText: "Don't know" => "Не знам"
25637
25880
 
25638
25881
 
25639
25882
  /***/ }),
@@ -25659,6 +25902,8 @@ var malaySurveyStrings = {
25659
25902
  startSurveyText: "Mula",
25660
25903
  otherItemText: "Lain (terangkan)",
25661
25904
  noneItemText: "Tiada",
25905
+ refuseItemText: "Enggan menjawab",
25906
+ dontKnowItemText: "Tak tahu",
25662
25907
  selectAllItemText: "Pilih Semua",
25663
25908
  progressText: "Halaman {0} daripada {1}",
25664
25909
  indexText: "{0} {1}",
@@ -25773,6 +26018,8 @@ survey_core__WEBPACK_IMPORTED_MODULE_0__["surveyLocalization"].localeNames["ms"]
25773
26018
  // hideDetails: "Hide Details" => "Sembunyikan Butiran"
25774
26019
  // ok: "OK" => "OK"
25775
26020
  // cancel: "Cancel" => "Batal"
26021
+ // refuseItemText: "Refuse to answer" => "Enggan menjawab"
26022
+ // dontKnowItemText: "Don't know" => "Tak tahu"
25776
26023
 
25777
26024
 
25778
26025
  /***/ }),
@@ -25822,6 +26069,8 @@ var norwegianSurveyStrings = {
25822
26069
  startSurveyText: "Start",
25823
26070
  otherItemText: "Annet (beskriv)",
25824
26071
  noneItemText: "Ingen",
26072
+ refuseItemText: "Nekter å svare",
26073
+ dontKnowItemText: "Vet ikke",
25825
26074
  selectAllItemText: "Velg alle",
25826
26075
  progressText: "Side {0} av {1}",
25827
26076
  indexText: "{0} av {1}",
@@ -25946,6 +26195,8 @@ survey_core__WEBPACK_IMPORTED_MODULE_0__["surveyLocalization"].localeNames["no"]
25946
26195
  // hideDetails: "Hide Details" => "Skjul detaljer"
25947
26196
  // ok: "OK" => "OK"
25948
26197
  // cancel: "Cancel" => "Annullere"
26198
+ // refuseItemText: "Refuse to answer" => "Nekter å svare"
26199
+ // dontKnowItemText: "Don't know" => "Vet ikke"
25949
26200
 
25950
26201
 
25951
26202
  /***/ }),
@@ -25971,6 +26222,8 @@ var persianSurveyStrings = {
25971
26222
  startSurveyText: "شروع",
25972
26223
  otherItemText: "دیگر(توضیح)",
25973
26224
  noneItemText: "هیچ",
26225
+ refuseItemText: "امتناع از پاسخ دادن",
26226
+ dontKnowItemText: "نمی دانم",
25974
26227
  selectAllItemText: "انتخاب همه",
25975
26228
  progressText: "صفحه {0} از {1}",
25976
26229
  indexText: "{0} {1}",
@@ -26095,6 +26348,8 @@ survey_core__WEBPACK_IMPORTED_MODULE_0__["surveyLocalization"].localeNames["fa"]
26095
26348
  // hideDetails: "Hide Details" => "مخفی کردن جزئیات"
26096
26349
  // ok: "OK" => "باشه"
26097
26350
  // cancel: "Cancel" => "لغو"
26351
+ // refuseItemText: "Refuse to answer" => "امتناع از پاسخ دادن"
26352
+ // dontKnowItemText: "Don't know" => "نمی دانم"
26098
26353
 
26099
26354
 
26100
26355
  /***/ }),
@@ -26120,6 +26375,8 @@ var polishSurveyStrings = {
26120
26375
  startSurveyText: "Start",
26121
26376
  otherItemText: "Inna odpowiedź (wpisz)",
26122
26377
  noneItemText: "Brak",
26378
+ refuseItemText: "Odmów odpowiedzi",
26379
+ dontKnowItemText: "Nie wiem",
26123
26380
  selectAllItemText: "Wybierz wszystkie",
26124
26381
  progressText: "Strona {0} z {1}",
26125
26382
  indexText: "{0} od {1}",
@@ -26232,6 +26489,8 @@ survey_core__WEBPACK_IMPORTED_MODULE_0__["surveyLocalization"].localeNames["pl"]
26232
26489
  // hideDetails: "Hide Details" => "Ukryj szczegóły"
26233
26490
  // ok: "OK" => "OK"
26234
26491
  // cancel: "Cancel" => "Anuluj"
26492
+ // refuseItemText: "Refuse to answer" => "Odmów odpowiedzi"
26493
+ // dontKnowItemText: "Don't know" => "Nie wiem"
26235
26494
 
26236
26495
 
26237
26496
  /***/ }),
@@ -26260,6 +26519,8 @@ var portugueseBrSurveyStrings = {
26260
26519
  startSurveyText: "Começar",
26261
26520
  otherItemText: "Outros (descrever)",
26262
26521
  noneItemText: "Nenhum",
26522
+ refuseItemText: "Recusar-se a responder",
26523
+ dontKnowItemText: "Não sei",
26263
26524
  selectAllItemText: "Selecionar tudo",
26264
26525
  progressText: "Página {0} de {1}",
26265
26526
  indexText: "{0} de {1}",
@@ -26431,6 +26692,8 @@ survey_core__WEBPACK_IMPORTED_MODULE_0__["surveyLocalization"].localeNames["pt-b
26431
26692
  // hideDetails: "Hide Details" => "Ocultar detalhes"
26432
26693
  // ok: "OK" => "OKEY"
26433
26694
  // cancel: "Cancel" => "Cancelar"
26695
+ // refuseItemText: "Refuse to answer" => "Recusar-se a responder"
26696
+ // dontKnowItemText: "Don't know" => "Não sei"
26434
26697
 
26435
26698
 
26436
26699
  /***/ }),
@@ -26456,6 +26719,8 @@ var portugueseSurveyStrings = {
26456
26719
  startSurveyText: "Começar",
26457
26720
  otherItemText: "Outros (descrever)",
26458
26721
  noneItemText: "Nenhum",
26722
+ refuseItemText: "Recusar-se a responder",
26723
+ dontKnowItemText: "Não sei",
26459
26724
  selectAllItemText: "Selecionar Todos",
26460
26725
  progressText: "Página {0} de {1}",
26461
26726
  indexText: "{0} de {1}",
@@ -26565,6 +26830,8 @@ survey_core__WEBPACK_IMPORTED_MODULE_0__["surveyLocalization"].localeNames["pt"]
26565
26830
  // hideDetails: "Hide Details" => "Ocultar detalhes"
26566
26831
  // ok: "OK" => "OKEY"
26567
26832
  // cancel: "Cancel" => "Cancelar"
26833
+ // refuseItemText: "Refuse to answer" => "Recusar-se a responder"
26834
+ // dontKnowItemText: "Don't know" => "Não sei"
26568
26835
 
26569
26836
 
26570
26837
  /***/ }),
@@ -26590,6 +26857,8 @@ var romanianSurveyStrings = {
26590
26857
  startSurveyText: "start",
26591
26858
  otherItemText: "Altul(precizaţi)",
26592
26859
  noneItemText: "Nici unul",
26860
+ refuseItemText: "Refuză să răspundă",
26861
+ dontKnowItemText: "Nu ştiu",
26593
26862
  selectAllItemText: "Selectează tot",
26594
26863
  progressText: "Pagina {0} din {1}",
26595
26864
  indexText: "{0} de {1}",
@@ -26714,6 +26983,8 @@ survey_core__WEBPACK_IMPORTED_MODULE_0__["surveyLocalization"].localeNames["ro"]
26714
26983
  // hideDetails: "Hide Details" => "Ascunde detalii"
26715
26984
  // ok: "OK" => "OK"
26716
26985
  // cancel: "Cancel" => "Anula"
26986
+ // refuseItemText: "Refuse to answer" => "Refuză să răspundă"
26987
+ // dontKnowItemText: "Don't know" => "Nu ştiu"
26717
26988
 
26718
26989
 
26719
26990
  /***/ }),
@@ -26739,6 +27010,8 @@ var russianSurveyStrings = {
26739
27010
  startSurveyText: "Начать",
26740
27011
  otherItemText: "Другое (пожалуйста, опишите)",
26741
27012
  noneItemText: "Нет",
27013
+ refuseItemText: "Отказываюсь отвечать",
27014
+ dontKnowItemText: "Не знаю",
26742
27015
  selectAllItemText: "Выбрать всё",
26743
27016
  progressText: "Страница {0} из {1}",
26744
27017
  indexText: "{0} из {1}",
@@ -26826,10 +27099,10 @@ var russianSurveyStrings = {
26826
27099
  noEntriesText: "Пока нет записей.\nНажмите кнопку ниже, чтобы добавить новую запись.",
26827
27100
  noEntriesReadonlyText: "Записей нет.",
26828
27101
  more: "Больше",
26829
- tagboxDoneButtonCaption: "ХОРОШО",
27102
+ tagboxDoneButtonCaption: "Хорошо",
26830
27103
  selectToRankEmptyRankedAreaText: "Все варианты ранжируются",
26831
27104
  selectToRankEmptyUnrankedAreaText: "Перетащите сюда варианты, чтобы ранжировать их",
26832
- ok: "ХОРОШО",
27105
+ ok: "Хорошо",
26833
27106
  cancel: "Отмена"
26834
27107
  };
26835
27108
  survey_core__WEBPACK_IMPORTED_MODULE_0__["surveyLocalization"].locales["ru"] = russianSurveyStrings;
@@ -26840,7 +27113,6 @@ survey_core__WEBPACK_IMPORTED_MODULE_0__["surveyLocalization"].localeNames["ru"]
26840
27113
  // emptyMessage: "No data to display" => "Нет данных для отображения"
26841
27114
  // noEntriesReadonlyText: "There are no entries." => "Записей нет."
26842
27115
  // more: "More" => "Больше"
26843
- // tagboxDoneButtonCaption: "OK" => "ХОРОШО"
26844
27116
  // selectToRankEmptyRankedAreaText: "All choices are ranked" => "Все варианты ранжируются"
26845
27117
  // selectToRankEmptyUnrankedAreaText: "Drag and drop choices here to rank them" => "Перетащите сюда варианты, чтобы ранжировать их"// takePhotoCaption: "Take Photo" => "Сделать фото"
26846
27118
  // photoPlaceholder: "Click the button below to take a photo using the camera." => "Нажмите кнопку ниже, чтобы сделать снимок с помощью камеры."
@@ -26849,7 +27121,6 @@ survey_core__WEBPACK_IMPORTED_MODULE_0__["surveyLocalization"].localeNames["ru"]
26849
27121
  // noUploadFilesHandler: "Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event." => "Файлы не могут быть загружены. Пожалуйста, добавьте обработчик для события 'onUploadFiles'."
26850
27122
  // showDetails: "Show Details" => "Показать подробности"
26851
27123
  // hideDetails: "Hide Details" => "Скрыть подробности"
26852
- // ok: "OK" => "ХОРОШО"
26853
27124
  // cancel: "Cancel" => "Отмена"
26854
27125
 
26855
27126
 
@@ -26876,6 +27147,8 @@ var serbianStrings = {
26876
27147
  startSurveyText: "Započni",
26877
27148
  otherItemText: "Drugo (upiši)",
26878
27149
  noneItemText: "Ništa",
27150
+ refuseItemText: "Odbijanje odgovora",
27151
+ dontKnowItemText: "Ne znam",
26879
27152
  selectAllItemText: "Izaberi sve",
26880
27153
  progressText: "Stranica {0} od {1}",
26881
27154
  indexText: "{0} {1}",
@@ -26995,6 +27268,8 @@ survey_core__WEBPACK_IMPORTED_MODULE_0__["surveyLocalization"].localeNames["rs"]
26995
27268
  // hideDetails: "Hide Details" => "Sakrij detalje"
26996
27269
  // ok: "OK" => "U redu"
26997
27270
  // cancel: "Cancel" => "Otkaži"
27271
+ // refuseItemText: "Refuse to answer" => "Odbijanje odgovora"
27272
+ // dontKnowItemText: "Don't know" => "Ne znam"
26998
27273
 
26999
27274
 
27000
27275
  /***/ }),
@@ -27020,6 +27295,8 @@ var simplifiedChineseSurveyStrings = {
27020
27295
  startSurveyText: "开始问卷",
27021
27296
  otherItemText: "填写其他答案",
27022
27297
  noneItemText: "无",
27298
+ refuseItemText: "拒绝回答",
27299
+ dontKnowItemText: "不知道",
27023
27300
  selectAllItemText: "选择全部",
27024
27301
  progressText: "第 {0} 页, 共 {1} 页",
27025
27302
  indexText: "{1}{0}",
@@ -27138,6 +27415,8 @@ survey_core__WEBPACK_IMPORTED_MODULE_0__["surveyLocalization"].localeNames["zh-c
27138
27415
  // hideDetails: "Hide Details" => "隐藏详细信息"
27139
27416
  // ok: "OK" => "还行"
27140
27417
  // cancel: "Cancel" => "取消"
27418
+ // refuseItemText: "Refuse to answer" => "拒绝回答"
27419
+ // dontKnowItemText: "Don't know" => "不知道"
27141
27420
 
27142
27421
 
27143
27422
  /***/ }),
@@ -27163,6 +27442,8 @@ var slovakSurveyStrings = {
27163
27442
  startSurveyText: "Spustiť",
27164
27443
  otherItemText: "Iné (opíšte)",
27165
27444
  noneItemText: "Žiadne",
27445
+ refuseItemText: "Odmietnuť odpovedať",
27446
+ dontKnowItemText: "Neviem",
27166
27447
  selectAllItemText: "Vybrať všetky",
27167
27448
  progressText: "Strana {0} z {1}",
27168
27449
  indexText: "{0} {1}",
@@ -27257,7 +27538,7 @@ var slovakSurveyStrings = {
27257
27538
  cancel: "Zrušiť"
27258
27539
  };
27259
27540
  survey_core__WEBPACK_IMPORTED_MODULE_0__["surveyLocalization"].locales["sk"] = slovakSurveyStrings;
27260
- survey_core__WEBPACK_IMPORTED_MODULE_0__["surveyLocalization"].localeNames["sk"] = "slovenčina";
27541
+ survey_core__WEBPACK_IMPORTED_MODULE_0__["surveyLocalization"].localeNames["sk"] = "slovak";
27261
27542
  // The following strings have been translated by a machine translation service
27262
27543
  // Remove those strings that you have corrected manually
27263
27544
  // indexText: "{0} of {1}" => "{0} {1}"
@@ -27277,6 +27558,8 @@ survey_core__WEBPACK_IMPORTED_MODULE_0__["surveyLocalization"].localeNames["sk"]
27277
27558
  // hideDetails: "Hide Details" => "Skryť podrobnosti"
27278
27559
  // ok: "OK" => "OK"
27279
27560
  // cancel: "Cancel" => "Zrušiť"
27561
+ // refuseItemText: "Refuse to answer" => "Odmietnuť odpovedať"
27562
+ // dontKnowItemText: "Don't know" => "Neviem"
27280
27563
 
27281
27564
 
27282
27565
  /***/ }),
@@ -27302,6 +27585,8 @@ var spanishSurveyStrings = {
27302
27585
  startSurveyText: "Comienza",
27303
27586
  otherItemText: "Otro (describa)",
27304
27587
  noneItemText: "Ninguno",
27588
+ refuseItemText: "Negarse a responder",
27589
+ dontKnowItemText: "No sé",
27305
27590
  selectAllItemText: "Seleccionar todo",
27306
27591
  progressText: "Página {0} de {1}",
27307
27592
  indexText: "{0} de {1}",
@@ -27414,6 +27699,8 @@ survey_core__WEBPACK_IMPORTED_MODULE_0__["surveyLocalization"].localeNames["es"]
27414
27699
  // hideDetails: "Hide Details" => "Ocultar detalles"
27415
27700
  // ok: "OK" => "De acuerdo"
27416
27701
  // cancel: "Cancel" => "Cancelar"
27702
+ // refuseItemText: "Refuse to answer" => "Negarse a responder"
27703
+ // dontKnowItemText: "Don't know" => "No sé"
27417
27704
 
27418
27705
 
27419
27706
  /***/ }),
@@ -27439,6 +27726,8 @@ var swahiliStrings = {
27439
27726
  startSurveyText: "Anza",
27440
27727
  otherItemText: "Nyingine (eleza)",
27441
27728
  noneItemText: "Hakuna",
27729
+ refuseItemText: "Kukataa kujibu",
27730
+ dontKnowItemText: "Sijui",
27442
27731
  selectAllItemText: "Chagua Zote",
27443
27732
  progressText: "Ukurasa {0} wa {1}",
27444
27733
  indexText: "{0} ya {1}",
@@ -27563,6 +27852,8 @@ survey_core__WEBPACK_IMPORTED_MODULE_0__["surveyLocalization"].localeNames["sw"]
27563
27852
  // hideDetails: "Hide Details" => "Ficha Maelezo"
27564
27853
  // ok: "OK" => "Sawa kabisa"
27565
27854
  // cancel: "Cancel" => "Katisha"
27855
+ // refuseItemText: "Refuse to answer" => "Kukataa kujibu"
27856
+ // dontKnowItemText: "Don't know" => "Sijui"
27566
27857
 
27567
27858
 
27568
27859
  /***/ }),
@@ -27588,6 +27879,8 @@ var swedishSurveyStrings = {
27588
27879
  startSurveyText: "Börja",
27589
27880
  otherItemText: "Annat (beskriv)",
27590
27881
  noneItemText: "Ingen",
27882
+ refuseItemText: "Vägra svara",
27883
+ dontKnowItemText: "Vet inte",
27591
27884
  selectAllItemText: "Välj alla",
27592
27885
  progressText: "Sida {0} av {1}",
27593
27886
  indexText: "{0} av {1}",
@@ -27700,6 +27993,8 @@ survey_core__WEBPACK_IMPORTED_MODULE_0__["surveyLocalization"].localeNames["sv"]
27700
27993
  // hideDetails: "Hide Details" => "Göm detaljer"
27701
27994
  // ok: "OK" => "OKEJ"
27702
27995
  // cancel: "Cancel" => "Annullera"
27996
+ // refuseItemText: "Refuse to answer" => "Vägra svara"
27997
+ // dontKnowItemText: "Don't know" => "Vet inte"
27703
27998
 
27704
27999
 
27705
28000
  /***/ }),
@@ -27832,6 +28127,8 @@ var teluguStrings = {
27832
28127
  startSurveyText: "ప్రారంభించు",
27833
28128
  otherItemText: "ఇతరమైన(వివరించండి)",
27834
28129
  noneItemText: "ఎవరు కాదు",
28130
+ refuseItemText: "సమాధానం ఇవ్వడానికి నిరాకరించండి",
28131
+ dontKnowItemText: "తెలియదు",
27835
28132
  selectAllItemText: "అన్ని ఎంచుకో",
27836
28133
  progressText: "పేజీ{0}/{1}",
27837
28134
  indexText: "{1} {0}[మార్చు]",
@@ -27956,7 +28253,8 @@ survey_core__WEBPACK_IMPORTED_MODULE_0__["surveyLocalization"].localeNames["tel"
27956
28253
  // showDetails: "Show Details" => "వివరాలు చూపించు"
27957
28254
  // hideDetails: "Hide Details" => "వివరాలను దాచండి"
27958
28255
  // ok: "OK" => "సరే"
27959
- // cancel: "Cancel" => "రద్దు"
28256
+ // cancel: "Cancel" => "రద్దు"// refuseItemText: "Refuse to answer" => "సమాధానం ఇవ్వడానికి నిరాకరించండి"
28257
+ // dontKnowItemText: "Don't know" => "తెలియదు"
27960
28258
 
27961
28259
 
27962
28260
  /***/ }),
@@ -27982,6 +28280,8 @@ var thaiStrings = {
27982
28280
  startSurveyText: "เริ่ม",
27983
28281
  otherItemText: "อื่นๆ (โปรดระบุ)",
27984
28282
  noneItemText: "ไม่มี",
28283
+ refuseItemText: "ปฏิเสธที่จะตอบ",
28284
+ dontKnowItemText: "ไม่ทราบ",
27985
28285
  selectAllItemText: "เลือกทั้งหมด",
27986
28286
  progressText: "หน้าที่ {0} จาก {1}",
27987
28287
  indexText: "{0} of {1}",
@@ -28105,7 +28405,8 @@ survey_core__WEBPACK_IMPORTED_MODULE_0__["surveyLocalization"].localeNames["th"]
28105
28405
  // showDetails: "Show Details" => "แสดงรายละเอียด"
28106
28406
  // hideDetails: "Hide Details" => "ซ่อนรายละเอียด"
28107
28407
  // ok: "OK" => "ตกลง, ได้"
28108
- // cancel: "Cancel" => "ยกเลิก"
28408
+ // cancel: "Cancel" => "ยกเลิก"// refuseItemText: "Refuse to answer" => "ปฏิเสธที่จะตอบ"
28409
+ // dontKnowItemText: "Don't know" => "ไม่ทราบ"
28109
28410
 
28110
28411
 
28111
28412
  /***/ }),
@@ -28131,6 +28432,8 @@ var traditionalChineseSurveyStrings = {
28131
28432
  startSurveyText: "開始",
28132
28433
  otherItemText: "填寫其他答案",
28133
28434
  noneItemText: "沒有",
28435
+ refuseItemText: "拒絕回答",
28436
+ dontKnowItemText: "不知道",
28134
28437
  selectAllItemText: "全選",
28135
28438
  progressText: "第 {0} 頁, 共 {1} 頁",
28136
28439
  indexText: "{1}{0}",
@@ -28289,7 +28592,8 @@ survey_core__WEBPACK_IMPORTED_MODULE_0__["surveyLocalization"].localeNames["zh-t
28289
28592
  // showDetails: "Show Details" => "顯示詳細資訊"
28290
28593
  // hideDetails: "Hide Details" => "隱藏詳細資訊"
28291
28594
  // ok: "OK" => "還行"
28292
- // cancel: "Cancel" => "取消"
28595
+ // cancel: "Cancel" => "取消"// refuseItemText: "Refuse to answer" => "拒絕回答"
28596
+ // dontKnowItemText: "Don't know" => "不知道"
28293
28597
 
28294
28598
 
28295
28599
  /***/ }),
@@ -28315,6 +28619,8 @@ var turkishSurveyStrings = {
28315
28619
  startSurveyText: "Başlat",
28316
28620
  otherItemText: "Diğer (açıklayınız)",
28317
28621
  noneItemText: "Hiçbiri",
28622
+ refuseItemText: "Cevap vermeyi reddet",
28623
+ dontKnowItemText: "Bilmiyorum",
28318
28624
  selectAllItemText: "Tümünü Seç",
28319
28625
  progressText: "Sayfa {0}/{1}",
28320
28626
  indexText: "{0}/{1}",
@@ -28420,7 +28726,8 @@ survey_core__WEBPACK_IMPORTED_MODULE_0__["surveyLocalization"].localeNames["tr"]
28420
28726
  // showDetails: "Show Details" => "Detayları göster"
28421
28727
  // hideDetails: "Hide Details" => "Detayları Gizle"
28422
28728
  // ok: "OK" => "TAMAM"
28423
- // cancel: "Cancel" => "İptal"
28729
+ // cancel: "Cancel" => "İptal"// refuseItemText: "Refuse to answer" => "Cevap vermeyi reddet"
28730
+ // dontKnowItemText: "Don't know" => "Bilmiyorum"
28424
28731
 
28425
28732
 
28426
28733
  /***/ }),
@@ -28446,6 +28753,8 @@ var ukrainianSurveyStrings = {
28446
28753
  startSurveyText: "Почати",
28447
28754
  otherItemText: "Інше (будь ласка, опишіть)",
28448
28755
  noneItemText: "Жоден",
28756
+ refuseItemText: "Відмовтеся відповідати",
28757
+ dontKnowItemText: "Не знаю",
28449
28758
  selectAllItemText: "Вибрати все",
28450
28759
  progressText: "Сторінка {0} з {1}",
28451
28760
  indexText: "{0} {1}",
@@ -28569,7 +28878,8 @@ survey_core__WEBPACK_IMPORTED_MODULE_0__["surveyLocalization"].localeNames["ua"]
28569
28878
  // showDetails: "Show Details" => "Показати подробиці"
28570
28879
  // hideDetails: "Hide Details" => "Сховати подробиці"
28571
28880
  // ok: "OK" => "ГАРАЗД"
28572
- // cancel: "Cancel" => "Скасувати"
28881
+ // cancel: "Cancel" => "Скасувати"// refuseItemText: "Refuse to answer" => "Відмовтеся відповідати"
28882
+ // dontKnowItemText: "Don't know" => "Не знаю"
28573
28883
 
28574
28884
 
28575
28885
  /***/ }),
@@ -28595,6 +28905,8 @@ var vietnameseSurveyStrings = {
28595
28905
  startSurveyText: "Bắt đầu",
28596
28906
  otherItemText: "Khác (mô tả)",
28597
28907
  noneItemText: "Trống",
28908
+ refuseItemText: "Từ chối trả lời",
28909
+ dontKnowItemText: "Không biết",
28598
28910
  selectAllItemText: "Chọn tất cả",
28599
28911
  progressText: "Trang {0} / {1}",
28600
28912
  indexText: "{0} của {1}",
@@ -28719,7 +29031,8 @@ survey_core__WEBPACK_IMPORTED_MODULE_0__["surveyLocalization"].localeNames["vi"]
28719
29031
  // showDetails: "Show Details" => "Hiển thị chi tiết"
28720
29032
  // hideDetails: "Hide Details" => "Ẩn chi tiết"
28721
29033
  // ok: "OK" => "OK"
28722
- // cancel: "Cancel" => "Hủy"
29034
+ // cancel: "Cancel" => "Hủy"// refuseItemText: "Refuse to answer" => "Từ chối trả lời"
29035
+ // dontKnowItemText: "Don't know" => "Không biết"
28723
29036
 
28724
29037
 
28725
29038
  /***/ }),
@@ -28745,6 +29058,8 @@ var welshSurveyStrings = {
28745
29058
  startSurveyText: "Dechrau",
28746
29059
  otherItemText: "Arall (disgrifiwch)",
28747
29060
  noneItemText: "Dim",
29061
+ refuseItemText: "Gwrthod ateb",
29062
+ dontKnowItemText: "Ddim yn gwybod",
28748
29063
  selectAllItemText: "Dewis y Cyfan ",
28749
29064
  progressText: "Tudalen {0} o {1}",
28750
29065
  indexText: "{0} o {1}",
@@ -28868,7 +29183,8 @@ survey_core__WEBPACK_IMPORTED_MODULE_0__["surveyLocalization"].localeNames["cy"]
28868
29183
  // showDetails: "Show Details" => "Dangos manylion"
28869
29184
  // hideDetails: "Hide Details" => "Manylion Cuddio"
28870
29185
  // ok: "OK" => "OCÊ"
28871
- // cancel: "Cancel" => "Canslo"
29186
+ // cancel: "Cancel" => "Canslo"// refuseItemText: "Refuse to answer" => "Gwrthod ateb"
29187
+ // dontKnowItemText: "Don't know" => "Ddim yn gwybod"
28872
29188
 
28873
29189
 
28874
29190
  /***/ }),
@@ -29590,7 +29906,7 @@ var PageModel = /** @class */ (function (_super) {
29590
29906
  };
29591
29907
  Object.defineProperty(PageModel.prototype, "navigationTitle", {
29592
29908
  /**
29593
- * A caption displayed on a navigation button in the TOC or progress bar. Applies when [`showTOC`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#showTOC) is `true` or when the [progress bar is visible](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#showProgressBar) and [`progressBarType`](https://surveyjs.io/form-library/documentation/surveymodel#progressBarType) is set to `"buttons"`.
29909
+ * A caption displayed on a navigation button in the TOC or progress bar. Applies when [`showTOC`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#showTOC) is `true` or when the [progress bar is visible](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#showProgressBar), [`progressBarType`](https://surveyjs.io/form-library/documentation/surveymodel#progressBarType) is set to `"pages"`, and [`progressBarShowPageTitles`](https://surveyjs.io/form-library/documentation/surveymodel#progressBarShowPageTitles) is `true`.
29594
29910
  *
29595
29911
  * If navigation titles are unspecified, the navigation buttons display page [titles](https://surveyjs.io/form-library/documentation/api-reference/page-model#title) or [names](https://surveyjs.io/form-library/documentation/pagemodel#name).
29596
29912
  */
@@ -29612,7 +29928,7 @@ var PageModel = /** @class */ (function (_super) {
29612
29928
  });
29613
29929
  Object.defineProperty(PageModel.prototype, "navigationDescription", {
29614
29930
  /**
29615
- * Explanatory text displayed under a navigation button in the progress bar. Applies when the [progress bar is visible](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#showProgressBar) and `SurveyModel`'s [`progressBarType`](https://surveyjs.io/form-library/documentation/surveymodel#progressBarType) property is set to `"buttons"`.
29931
+ * Explanatory text displayed under a navigation button in the progress bar. Applies when the [progress bar is visible](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#showProgressBar), `SurveyModel`'s [`progressBarType`](https://surveyjs.io/form-library/documentation/surveymodel#progressBarType) is set to `"pages"`, and [`progressBarShowPageTitles`](https://surveyjs.io/form-library/documentation/surveymodel#progressBarShowPageTitles) is `true`.
29616
29932
  */
29617
29933
  get: function () {
29618
29934
  return this.getLocalizableStringText("navigationDescription");
@@ -33930,7 +34246,7 @@ var PopupSurveyModel = /** @class */ (function (_super) {
33930
34246
  else {
33931
34247
  _this.surveyValue = _this.createSurvey(jsonObj);
33932
34248
  }
33933
- //this.surveyValue.showTitle = false;
34249
+ _this.surveyValue.fitToContainer = true;
33934
34250
  if ("undefined" !== typeof document) {
33935
34251
  _this.windowElement = document.createElement("div");
33936
34252
  }
@@ -33979,6 +34295,20 @@ var PopupSurveyModel = /** @class */ (function (_super) {
33979
34295
  enumerable: false,
33980
34296
  configurable: true
33981
34297
  });
34298
+ Object.defineProperty(PopupSurveyModel.prototype, "isFullScreen", {
34299
+ get: function () {
34300
+ return this.getPropertyValue("isFullScreen", false);
34301
+ },
34302
+ set: function (val) {
34303
+ if (!this.isExpanded && !!val) {
34304
+ this.isExpanded = true;
34305
+ }
34306
+ this.setPropertyValue("isFullScreen", val);
34307
+ this.setCssRoot();
34308
+ },
34309
+ enumerable: false,
34310
+ configurable: true
34311
+ });
33982
34312
  /**
33983
34313
  * Shows the pop-up survey. The survey may appear [expanded or collapsed](#isExpanded).
33984
34314
  *
@@ -33999,6 +34329,9 @@ var PopupSurveyModel = /** @class */ (function (_super) {
33999
34329
  PopupSurveyModel.prototype.hide = function () {
34000
34330
  this.isShowing = false;
34001
34331
  };
34332
+ PopupSurveyModel.prototype.toggleFullScreen = function () {
34333
+ this.isFullScreen = !this.isFullScreen;
34334
+ };
34002
34335
  Object.defineProperty(PopupSurveyModel.prototype, "isExpanded", {
34003
34336
  /**
34004
34337
  * Indicates whether the pop-up window is expanded or collapsed.
@@ -34009,6 +34342,9 @@ var PopupSurveyModel = /** @class */ (function (_super) {
34009
34342
  return this.getPropertyValue("isExpanded", false);
34010
34343
  },
34011
34344
  set: function (val) {
34345
+ if (!!this.isFullScreen && !val) {
34346
+ this.isFullScreen = false;
34347
+ }
34012
34348
  this.setPropertyValue("isExpanded", val);
34013
34349
  },
34014
34350
  enumerable: false,
@@ -34099,6 +34435,22 @@ var PopupSurveyModel = /** @class */ (function (_super) {
34099
34435
  enumerable: false,
34100
34436
  configurable: true
34101
34437
  });
34438
+ Object.defineProperty(PopupSurveyModel.prototype, "allowFullScreen", {
34439
+ /**
34440
+ * Specifies whether to display a button that allow showing pop-up in full-screen mode.
34441
+ *
34442
+ * Default value: `false`
34443
+ *
34444
+ */
34445
+ get: function () {
34446
+ return this.getPropertyValue("allowFullScreen", false);
34447
+ },
34448
+ set: function (val) {
34449
+ this.setPropertyValue("allowFullScreen", val);
34450
+ },
34451
+ enumerable: false,
34452
+ configurable: true
34453
+ });
34102
34454
  Object.defineProperty(PopupSurveyModel.prototype, "css", {
34103
34455
  get: function () {
34104
34456
  return this.survey.css;
@@ -34179,6 +34531,13 @@ var PopupSurveyModel = /** @class */ (function (_super) {
34179
34531
  enumerable: false,
34180
34532
  configurable: true
34181
34533
  });
34534
+ Object.defineProperty(PopupSurveyModel.prototype, "cssHeaderFullScreenButton", {
34535
+ get: function () {
34536
+ return this.getPropertyValue("cssHeaderFullScreenButton", "");
34537
+ },
34538
+ enumerable: false,
34539
+ configurable: true
34540
+ });
34182
34541
  Object.defineProperty(PopupSurveyModel.prototype, "renderedWidth", {
34183
34542
  get: function () {
34184
34543
  var width = this.getPropertyValue("width", "60%");
@@ -34193,7 +34552,7 @@ var PopupSurveyModel = /** @class */ (function (_super) {
34193
34552
  if (!this.css || !this.css.window)
34194
34553
  return;
34195
34554
  var cssWindow = this.css.window;
34196
- this.setPropertyValue("cssRoot", cssWindow.root);
34555
+ this.setCssRoot();
34197
34556
  this.setPropertyValue("cssRootCollapsedMod", cssWindow.rootCollapsedMod);
34198
34557
  this.setPropertyValue("cssRootContent", cssWindow.rootContent);
34199
34558
  this.setPropertyValue("cssBody", cssWindow.body);
@@ -34205,8 +34564,18 @@ var PopupSurveyModel = /** @class */ (function (_super) {
34205
34564
  this.setPropertyValue("cssHeaderButtonsContainer", cssHeader.buttonsContainer);
34206
34565
  this.setPropertyValue("cssHeaderCollapseButton", cssHeader.collapseButton);
34207
34566
  this.setPropertyValue("cssHeaderCloseButton", cssHeader.closeButton);
34567
+ this.setPropertyValue("cssHeaderFullScreenButton", cssHeader.fullScreenButton);
34208
34568
  this.updateCssButton();
34209
34569
  };
34570
+ PopupSurveyModel.prototype.setCssRoot = function () {
34571
+ var cssWindow = this.css.window;
34572
+ if (this.isFullScreen) {
34573
+ this.setPropertyValue("cssRoot", cssWindow.root + " " + cssWindow.rootFullScreenMode);
34574
+ }
34575
+ else {
34576
+ this.setPropertyValue("cssRoot", cssWindow.root);
34577
+ }
34578
+ };
34210
34579
  PopupSurveyModel.prototype.updateCssButton = function () {
34211
34580
  var cssHeader = !!this.css.window ? this.css.window.header : null;
34212
34581
  if (!cssHeader)
@@ -34877,6 +35246,231 @@ function createDialogOptions(componentName, data, onApply, onCancel, onHide, onS
34877
35246
  }
34878
35247
 
34879
35248
 
35249
+ /***/ }),
35250
+
35251
+ /***/ "./src/progress-buttons.ts":
35252
+ /*!*********************************!*\
35253
+ !*** ./src/progress-buttons.ts ***!
35254
+ \*********************************/
35255
+ /*! exports provided: ProgressButtons, ProgressButtonsResponsivityManager */
35256
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
35257
+
35258
+ "use strict";
35259
+ __webpack_require__.r(__webpack_exports__);
35260
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ProgressButtons", function() { return ProgressButtons; });
35261
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ProgressButtonsResponsivityManager", function() { return ProgressButtonsResponsivityManager; });
35262
+ /* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base */ "./src/base.ts");
35263
+ /* harmony import */ var _defaultCss_defaultV2Css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./defaultCss/defaultV2Css */ "./src/defaultCss/defaultV2Css.ts");
35264
+ /* harmony import */ var _page__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./page */ "./src/page.ts");
35265
+ /* harmony import */ var _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./utils/cssClassBuilder */ "./src/utils/cssClassBuilder.ts");
35266
+ var __extends = (undefined && undefined.__extends) || (function () {
35267
+ var extendStatics = function (d, b) {
35268
+ extendStatics = Object.setPrototypeOf ||
35269
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
35270
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
35271
+ return extendStatics(d, b);
35272
+ };
35273
+ return function (d, b) {
35274
+ if (typeof b !== "function" && b !== null)
35275
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
35276
+ extendStatics(d, b);
35277
+ function __() { this.constructor = d; }
35278
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
35279
+ };
35280
+ })();
35281
+
35282
+
35283
+
35284
+
35285
+ var ProgressButtons = /** @class */ (function (_super) {
35286
+ __extends(ProgressButtons, _super);
35287
+ function ProgressButtons(survey) {
35288
+ var _this = _super.call(this) || this;
35289
+ _this.survey = survey;
35290
+ _this.onResize = _this.addEvent();
35291
+ return _this;
35292
+ }
35293
+ ProgressButtons.prototype.isListElementClickable = function (index) {
35294
+ if (!this.survey.onServerValidateQuestions ||
35295
+ this.survey.onServerValidateQuestions.isEmpty ||
35296
+ this.survey.checkErrorsMode === "onComplete") {
35297
+ return true;
35298
+ }
35299
+ return index <= this.survey.currentPageNo + 1;
35300
+ };
35301
+ ProgressButtons.prototype.getRootCss = function (container) {
35302
+ if (container === void 0) { container = "center"; }
35303
+ var result = this.survey.css.progressButtonsContainerCenter;
35304
+ if (this.survey.css.progressButtonsRoot) {
35305
+ result += " " + this.survey.css.progressButtonsRoot + " " + this.survey.css.progressButtonsRoot + "--" + (["footer", "contentBottom"].indexOf(container) !== -1 ? "bottom" : "top");
35306
+ result += " " + this.survey.css.progressButtonsRoot + "--" + (this.showItemTitles ? "with-titles" : "no-titles");
35307
+ }
35308
+ if (this.showItemNumbers && this.survey.css.progressButtonsNumbered) {
35309
+ result += " " + this.survey.css.progressButtonsNumbered;
35310
+ }
35311
+ return result;
35312
+ };
35313
+ ProgressButtons.prototype.getListElementCss = function (index) {
35314
+ if (index >= this.survey.visiblePages.length)
35315
+ return;
35316
+ return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_3__["CssClassBuilder"]()
35317
+ .append(this.survey.css.progressButtonsListElementPassed, this.survey.visiblePages[index].passed)
35318
+ .append(this.survey.css.progressButtonsListElementCurrent, this.survey.currentPageNo === index)
35319
+ .append(this.survey.css.progressButtonsListElementNonClickable, !this.isListElementClickable(index))
35320
+ .toString();
35321
+ };
35322
+ ProgressButtons.prototype.getScrollButtonCss = function (hasScroller, isLeftScroll) {
35323
+ return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_3__["CssClassBuilder"]()
35324
+ .append(this.survey.css.progressButtonsImageButtonLeft, isLeftScroll)
35325
+ .append(this.survey.css.progressButtonsImageButtonRight, !isLeftScroll)
35326
+ .append(this.survey.css.progressButtonsImageButtonHidden, !hasScroller)
35327
+ .toString();
35328
+ };
35329
+ ProgressButtons.prototype.clickListElement = function (element) {
35330
+ if (!(element instanceof _page__WEBPACK_IMPORTED_MODULE_2__["PageModel"])) {
35331
+ element = this.survey.visiblePages[element];
35332
+ }
35333
+ this.survey.tryNavigateToPage(element);
35334
+ };
35335
+ ProgressButtons.prototype.isListContainerHasScroller = function (element) {
35336
+ var listContainerElement = element.querySelector("." + this.survey.css.progressButtonsListContainer);
35337
+ if (!!listContainerElement) {
35338
+ return listContainerElement.scrollWidth > listContainerElement.offsetWidth;
35339
+ }
35340
+ return false;
35341
+ };
35342
+ ProgressButtons.prototype.isCanShowItemTitles = function (element) {
35343
+ var listContainerElement = element.querySelector("ul");
35344
+ if (!listContainerElement || listContainerElement.children.length < 2)
35345
+ return true;
35346
+ if (listContainerElement.clientWidth > listContainerElement.parentElement.clientWidth) {
35347
+ return false;
35348
+ }
35349
+ var expectedElementWidth = listContainerElement.children[0].clientWidth;
35350
+ for (var i = 0; i < listContainerElement.children.length; i++) {
35351
+ if (Math.abs(listContainerElement.children[i].clientWidth - expectedElementWidth) > 5) {
35352
+ return false;
35353
+ }
35354
+ }
35355
+ return true;
35356
+ };
35357
+ ProgressButtons.prototype.clearConnectorsWidth = function (element) {
35358
+ var listContainerElements = element.querySelectorAll(".sd-progress-buttons__connector");
35359
+ for (var i = 0; i < listContainerElements.length; i++) {
35360
+ listContainerElements[i].style.width = "";
35361
+ }
35362
+ };
35363
+ ProgressButtons.prototype.adjustConnectors = function (element) {
35364
+ var listContainerElement = element.querySelector("ul");
35365
+ if (!listContainerElement)
35366
+ return;
35367
+ var listContainerElements = element.querySelectorAll(".sd-progress-buttons__connector");
35368
+ var connectorWidth = listContainerElement.clientWidth / (listContainerElement.children.length - 1) - 4;
35369
+ for (var i = 0; i < listContainerElements.length; i++) {
35370
+ listContainerElements[i].style.width = connectorWidth + "px";
35371
+ }
35372
+ };
35373
+ Object.defineProperty(ProgressButtons.prototype, "showItemNumbers", {
35374
+ get: function () {
35375
+ if (_defaultCss_defaultV2Css__WEBPACK_IMPORTED_MODULE_1__["surveyCss"].currentType !== "defaultV2") {
35376
+ return false;
35377
+ }
35378
+ return this.survey.progressBarShowPageNumbers;
35379
+ },
35380
+ enumerable: false,
35381
+ configurable: true
35382
+ });
35383
+ Object.defineProperty(ProgressButtons.prototype, "showItemTitles", {
35384
+ get: function () {
35385
+ if (_defaultCss_defaultV2Css__WEBPACK_IMPORTED_MODULE_1__["surveyCss"].currentType !== "defaultV2") {
35386
+ return true;
35387
+ }
35388
+ return this.survey.progressBarShowPageTitles;
35389
+ },
35390
+ enumerable: false,
35391
+ configurable: true
35392
+ });
35393
+ ProgressButtons.prototype.getItemNumber = function (page) {
35394
+ var result = "";
35395
+ if (this.showItemNumbers) {
35396
+ result += this.survey.visiblePages.indexOf(page) + 1;
35397
+ }
35398
+ return result;
35399
+ };
35400
+ Object.defineProperty(ProgressButtons.prototype, "headerText", {
35401
+ get: function () {
35402
+ return this.survey.currentPage ? this.survey.currentPage.renderedNavigationTitle : "";
35403
+ },
35404
+ enumerable: false,
35405
+ configurable: true
35406
+ });
35407
+ Object.defineProperty(ProgressButtons.prototype, "footerText", {
35408
+ get: function () {
35409
+ return this.survey.progressText;
35410
+ },
35411
+ enumerable: false,
35412
+ configurable: true
35413
+ });
35414
+ ProgressButtons.prototype.processResponsiveness = function (width) {
35415
+ this.onResize.fire(this, { width: width });
35416
+ };
35417
+ return ProgressButtons;
35418
+ }(_base__WEBPACK_IMPORTED_MODULE_0__["Base"]));
35419
+
35420
+ var ProgressButtonsResponsivityManager = /** @class */ (function () {
35421
+ function ProgressButtonsResponsivityManager(model, element, viewModel) {
35422
+ var _this = this;
35423
+ this.model = model;
35424
+ this.element = element;
35425
+ this.viewModel = viewModel;
35426
+ this.criticalProperties = ["progressBarType", "progressBarShowPageTitles"];
35427
+ this.canShowItemTitles = true;
35428
+ this.processResponsiveness = function (model, options) {
35429
+ _this.viewModel.onUpdateScroller(model.isListContainerHasScroller(_this.element));
35430
+ if (!model.showItemTitles) {
35431
+ _this.model.adjustConnectors(_this.element);
35432
+ return;
35433
+ }
35434
+ if (model.survey.isMobile) {
35435
+ _this.prevWidth = options.width;
35436
+ _this.canShowItemTitles = false;
35437
+ _this.model.adjustConnectors(_this.element);
35438
+ _this.viewModel.onResize(_this.canShowItemTitles);
35439
+ return;
35440
+ }
35441
+ _this.model.clearConnectorsWidth(_this.element);
35442
+ if (_this.timer !== undefined) {
35443
+ clearTimeout(_this.timer);
35444
+ }
35445
+ _this.timer = setTimeout(function () {
35446
+ if (_this.prevWidth === undefined || _this.prevWidth < options.width && !_this.canShowItemTitles || _this.prevWidth > options.width && _this.canShowItemTitles) {
35447
+ _this.prevWidth = options.width;
35448
+ _this.canShowItemTitles = model.isCanShowItemTitles(_this.element);
35449
+ _this.viewModel.onResize(_this.canShowItemTitles);
35450
+ _this.timer = undefined;
35451
+ }
35452
+ }, 10);
35453
+ };
35454
+ this.model.survey.registerFunctionOnPropertiesValueChanged(this.criticalProperties, function () { return _this.forceUpdate(); }, "ProgressButtonsResponsivityManager" + this.viewModel.container);
35455
+ this.model.onResize.add(this.processResponsiveness);
35456
+ this.forceUpdate();
35457
+ }
35458
+ ProgressButtonsResponsivityManager.prototype.forceUpdate = function () {
35459
+ this.viewModel.onUpdateSettings();
35460
+ this.processResponsiveness(this.model, {});
35461
+ };
35462
+ ProgressButtonsResponsivityManager.prototype.dispose = function () {
35463
+ clearTimeout(this.timer);
35464
+ this.model.onResize.remove(this.processResponsiveness);
35465
+ this.model.survey.unRegisterFunctionOnPropertiesValueChanged(this.criticalProperties, "ProgressButtonsResponsivityManager" + this.viewModel.container);
35466
+ this.element = undefined;
35467
+ this.model = undefined;
35468
+ };
35469
+ return ProgressButtonsResponsivityManager;
35470
+ }());
35471
+
35472
+
35473
+
34880
35474
  /***/ }),
34881
35475
 
34882
35476
  /***/ "./src/question.ts":
@@ -38441,7 +39035,6 @@ var QuestionSelectBase = /** @class */ (function (_super) {
38441
39035
  function QuestionSelectBase(name) {
38442
39036
  var _this = _super.call(this, name) || this;
38443
39037
  _this.otherItemValue = new _itemvalue__WEBPACK_IMPORTED_MODULE_3__["ItemValue"]("other");
38444
- _this.noneItemValue = new _itemvalue__WEBPACK_IMPORTED_MODULE_3__["ItemValue"](_settings__WEBPACK_IMPORTED_MODULE_9__["settings"].noneItemValue);
38445
39038
  _this.isSettingDefaultValue = false;
38446
39039
  _this.isSettingComment = false;
38447
39040
  _this.isRunningChoices = false;
@@ -38450,9 +39043,9 @@ var QuestionSelectBase = /** @class */ (function (_super) {
38450
39043
  _this.headItemsCount = 0;
38451
39044
  _this.footItemsCount = 0;
38452
39045
  _this.prevIsOtherSelected = false;
38453
- var noneItemText = _this.createLocalizableString("noneText", _this.noneItemValue, true, "noneItemText");
38454
- _this.noneItemValue.locOwner = _this;
38455
- _this.noneItemValue.setLocText(noneItemText);
39046
+ _this.noneItemValue = _this.createDefaultItem(_settings__WEBPACK_IMPORTED_MODULE_9__["settings"].noneItemValue, "noneText", "noneItemText");
39047
+ _this.refuseItemValue = _this.createDefaultItem(_settings__WEBPACK_IMPORTED_MODULE_9__["settings"].refuseItemValue, "refuseText", "refuseItemText");
39048
+ _this.dontKnowItemValue = _this.createDefaultItem(_settings__WEBPACK_IMPORTED_MODULE_9__["settings"].dontKnowItemValue, "dontKnowText", "dontKnowItemText");
38456
39049
  _this.createItemValues("choices");
38457
39050
  _this.registerPropertyChangedHandlers(["choices"], function () {
38458
39051
  if (!_this.filterItems()) {
@@ -38460,7 +39053,7 @@ var QuestionSelectBase = /** @class */ (function (_super) {
38460
39053
  }
38461
39054
  });
38462
39055
  _this.registerPropertyChangedHandlers(["choicesFromQuestion", "choicesFromQuestionMode", "choiceValuesFromQuestion",
38463
- "choiceTextsFromQuestion", "showNoneItem", "isUsingRestful"], function () {
39056
+ "choiceTextsFromQuestion", "showNoneItem", "showRefuseItem", "showDontKnowItem", "isUsingRestful", "isMessagePanelVisible"], function () {
38464
39057
  _this.onVisibleChoicesChanged();
38465
39058
  });
38466
39059
  _this.registerPropertyChangedHandlers(["hideIfChoicesEmpty"], function () {
@@ -38628,7 +39221,7 @@ var QuestionSelectBase = /** @class */ (function (_super) {
38628
39221
  });
38629
39222
  Object.defineProperty(QuestionSelectBase.prototype, "isNoneSelected", {
38630
39223
  get: function () {
38631
- return this.hasNone && this.getIsItemValue(this.renderedValue, this.noneItem);
39224
+ return this.showNoneItem && this.getIsItemValue(this.renderedValue, this.noneItem);
38632
39225
  },
38633
39226
  enumerable: false,
38634
39227
  configurable: true
@@ -38640,6 +39233,7 @@ var QuestionSelectBase = /** @class */ (function (_super) {
38640
39233
  * When users select the "None" item in multi-select questions, all other items become unselected.
38641
39234
  * @see noneItem
38642
39235
  * @see noneText
39236
+ * @see [settings.noneItemValue](https://surveyjs.io/form-library/documentation/api-reference/settings#noneItemValue)
38643
39237
  * @see [settings.specialChoicesOrder](https://surveyjs.io/form-library/documentation/api-reference/settings#specialChoicesOrder)
38644
39238
  */
38645
39239
  get: function () {
@@ -38693,6 +39287,115 @@ var QuestionSelectBase = /** @class */ (function (_super) {
38693
39287
  enumerable: false,
38694
39288
  configurable: true
38695
39289
  });
39290
+ Object.defineProperty(QuestionSelectBase.prototype, "showRefuseItem", {
39291
+ /**
39292
+ * Specifies whether to display the "Refuse to answer" choice item.
39293
+ *
39294
+ * When users select the "Refuse to answer" item in multi-select questions, all other items become unselected.
39295
+ * @see refuseItem
39296
+ * @see refuseItemText
39297
+ * @see [settings.refuseItemValue](https://surveyjs.io/form-library/documentation/api-reference/settings#refuseItemValue)
39298
+ * @see [settings.specialChoicesOrder](https://surveyjs.io/form-library/documentation/api-reference/settings#specialChoicesOrder)
39299
+ */
39300
+ get: function () {
39301
+ return this.getPropertyValue("showRefuseItem");
39302
+ },
39303
+ set: function (val) {
39304
+ this.setPropertyValue("showRefuseItem", val);
39305
+ },
39306
+ enumerable: false,
39307
+ configurable: true
39308
+ });
39309
+ Object.defineProperty(QuestionSelectBase.prototype, "refuseItem", {
39310
+ /**
39311
+ * Returns the "Refuse to answer" choice item. Use this property to change the item's `value` or `text`.
39312
+ * @see showRefuseItem
39313
+ */
39314
+ get: function () {
39315
+ return this.refuseItemValue;
39316
+ },
39317
+ enumerable: false,
39318
+ configurable: true
39319
+ });
39320
+ Object.defineProperty(QuestionSelectBase.prototype, "refuseText", {
39321
+ /**
39322
+ * Gets or sets a caption for the "Refuse to answer" choice item.
39323
+ * @see showRefuseItem
39324
+ */
39325
+ get: function () {
39326
+ return this.getLocalizableStringText("refuseText");
39327
+ },
39328
+ set: function (val) {
39329
+ this.setLocalizableStringText("refuseText", val);
39330
+ },
39331
+ enumerable: false,
39332
+ configurable: true
39333
+ });
39334
+ Object.defineProperty(QuestionSelectBase.prototype, "locRefuseText", {
39335
+ get: function () {
39336
+ return this.getLocalizableString("refuseText");
39337
+ },
39338
+ enumerable: false,
39339
+ configurable: true
39340
+ });
39341
+ Object.defineProperty(QuestionSelectBase.prototype, "showDontKnowItem", {
39342
+ /**
39343
+ * Specifies whether to display the "Don't know" choice item.
39344
+ *
39345
+ * When users select the "Don't know" item in multi-select questions, all other items become unselected.
39346
+ * @see dontKnowItem
39347
+ * @see dontKnowItemText
39348
+ * @see [settings.dontKnowItemValue](https://surveyjs.io/form-library/documentation/api-reference/settings#dontKnowItemValue)
39349
+ * @see [settings.specialChoicesOrder](https://surveyjs.io/form-library/documentation/api-reference/settings#specialChoicesOrder)
39350
+ */
39351
+ get: function () {
39352
+ return this.getPropertyValue("showDontKnowItem");
39353
+ },
39354
+ set: function (val) {
39355
+ this.setPropertyValue("showDontKnowItem", val);
39356
+ },
39357
+ enumerable: false,
39358
+ configurable: true
39359
+ });
39360
+ Object.defineProperty(QuestionSelectBase.prototype, "dontKnowItem", {
39361
+ /**
39362
+ * Returns the "Don't know" choice item. Use this property to change the item's `value` or `text`.
39363
+ * @see showDontKnowItem
39364
+ */
39365
+ get: function () {
39366
+ return this.dontKnowItemValue;
39367
+ },
39368
+ enumerable: false,
39369
+ configurable: true
39370
+ });
39371
+ Object.defineProperty(QuestionSelectBase.prototype, "dontKnowText", {
39372
+ /**
39373
+ * Gets or sets a caption for the "Don't know" choice item.
39374
+ * @see showDontKnowItem
39375
+ */
39376
+ get: function () {
39377
+ return this.getLocalizableStringText("dontKnowText");
39378
+ },
39379
+ set: function (val) {
39380
+ this.setLocalizableStringText("dontKnowText", val);
39381
+ },
39382
+ enumerable: false,
39383
+ configurable: true
39384
+ });
39385
+ Object.defineProperty(QuestionSelectBase.prototype, "locDontKnowText", {
39386
+ get: function () {
39387
+ return this.getLocalizableString("dontKnowText");
39388
+ },
39389
+ enumerable: false,
39390
+ configurable: true
39391
+ });
39392
+ QuestionSelectBase.prototype.createDefaultItem = function (defaultValue, name, locName) {
39393
+ var item = new _itemvalue__WEBPACK_IMPORTED_MODULE_3__["ItemValue"](defaultValue);
39394
+ var locStr = this.createLocalizableString(name, item, true, locName);
39395
+ item.locOwner = this;
39396
+ item.setLocText(locStr);
39397
+ return item;
39398
+ };
38696
39399
  Object.defineProperty(QuestionSelectBase.prototype, "choicesVisibleIf", {
38697
39400
  /**
38698
39401
  * A Boolean expression that is evaluated against each choice item. If the expression evaluates to `false`, the choice item becomes hidden.
@@ -39114,7 +39817,11 @@ var QuestionSelectBase = /** @class */ (function (_super) {
39114
39817
  return false;
39115
39818
  if (includeOther && val == this.otherItem.value)
39116
39819
  return false;
39117
- if (this.hasNone && val == this.noneItem.value)
39820
+ if (this.showNoneItem && val == this.noneItem.value)
39821
+ return false;
39822
+ if (this.showRefuseItem && val == this.refuseItem.value)
39823
+ return false;
39824
+ if (this.showDontKnowItem && val == this.dontKnowItem.value)
39118
39825
  return false;
39119
39826
  var choices = isFilteredChoices
39120
39827
  ? this.getFilteredChoices()
@@ -39436,7 +40143,9 @@ var QuestionSelectBase = /** @class */ (function (_super) {
39436
40143
  };
39437
40144
  QuestionSelectBase.prototype.canUseFilteredChoices = function () {
39438
40145
  return (!this.isAddDefaultItems &&
39439
- !this.hasNone &&
40146
+ !this.showNoneItem &&
40147
+ !this.showRefuseItem &&
40148
+ !this.showDontKnowItem &&
39440
40149
  !this.hasOther &&
39441
40150
  this.choicesOrder == "none");
39442
40151
  };
@@ -39454,7 +40163,7 @@ var QuestionSelectBase = /** @class */ (function (_super) {
39454
40163
  QuestionSelectBase.prototype.addToVisibleChoices = function (items, isAddAll) {
39455
40164
  this.headItemsCount = 0;
39456
40165
  this.footItemsCount = 0;
39457
- if (!this.hasChoicesUrl) {
40166
+ if (!this.isEmptyActiveChoicesInDesign) {
39458
40167
  this.addNewItemToVisibleChoices(items, isAddAll);
39459
40168
  }
39460
40169
  var dict = new Array();
@@ -39489,15 +40198,23 @@ var QuestionSelectBase = /** @class */ (function (_super) {
39489
40198
  }
39490
40199
  };
39491
40200
  QuestionSelectBase.prototype.addNonChoicesItems = function (dict, isAddAll) {
39492
- if (this.supportNone() && this.canShowOptionItem(this.noneItem, isAddAll, this.hasNone)) {
39493
- this.addNonChoiceItem(dict, this.noneItem, _settings__WEBPACK_IMPORTED_MODULE_9__["settings"].specialChoicesOrder.noneItem);
40201
+ if (this.supportNone()) {
40202
+ this.addNonChoiceItem(dict, this.noneItem, isAddAll, this.showNoneItem, _settings__WEBPACK_IMPORTED_MODULE_9__["settings"].specialChoicesOrder.noneItem);
40203
+ }
40204
+ if (this.supportRefuse()) {
40205
+ this.addNonChoiceItem(dict, this.refuseItem, isAddAll, this.showRefuseItem, _settings__WEBPACK_IMPORTED_MODULE_9__["settings"].specialChoicesOrder.refuseItem);
40206
+ }
40207
+ if (this.supportDontKnow()) {
40208
+ this.addNonChoiceItem(dict, this.dontKnowItem, isAddAll, this.showDontKnowItem, _settings__WEBPACK_IMPORTED_MODULE_9__["settings"].specialChoicesOrder.dontKnowItem);
39494
40209
  }
39495
- if (this.supportOther() && this.canShowOptionItem(this.otherItem, isAddAll, this.hasOther)) {
39496
- this.addNonChoiceItem(dict, this.otherItem, _settings__WEBPACK_IMPORTED_MODULE_9__["settings"].specialChoicesOrder.otherItem);
40210
+ if (this.supportOther()) {
40211
+ this.addNonChoiceItem(dict, this.otherItem, isAddAll, this.hasOther, _settings__WEBPACK_IMPORTED_MODULE_9__["settings"].specialChoicesOrder.otherItem);
39497
40212
  }
39498
40213
  };
39499
- QuestionSelectBase.prototype.addNonChoiceItem = function (dict, item, order) {
39500
- order.forEach(function (val) { return dict.push({ index: val, item: item }); });
40214
+ QuestionSelectBase.prototype.addNonChoiceItem = function (dict, item, isAddAll, showItem, order) {
40215
+ if (this.canShowOptionItem(item, isAddAll, showItem)) {
40216
+ order.forEach(function (val) { return dict.push({ index: val, item: item }); });
40217
+ }
39501
40218
  };
39502
40219
  QuestionSelectBase.prototype.canShowOptionItem = function (item, isAddAll, hasItem) {
39503
40220
  var res = (isAddAll && (!!this.canShowOptionItemCallback ? this.canShowOptionItemCallback(item) : true)) || hasItem;
@@ -39511,7 +40228,11 @@ var QuestionSelectBase = /** @class */ (function (_super) {
39511
40228
  if (item === this.otherItem)
39512
40229
  return this.hasOther;
39513
40230
  if (item === this.noneItem)
39514
- return this.hasNone;
40231
+ return this.showNoneItem;
40232
+ if (item === this.refuseItem)
40233
+ return this.showRefuseItem;
40234
+ if (item === this.dontKnowItem)
40235
+ return this.showDontKnowItem;
39515
40236
  if (item === this.newItemValue)
39516
40237
  return false;
39517
40238
  return true;
@@ -39618,13 +40339,30 @@ var QuestionSelectBase = /** @class */ (function (_super) {
39618
40339
  question.addDependedQuestion(this);
39619
40340
  return this.getChoicesFromArrayQuestion(question);
39620
40341
  }
39621
- if (this.isDesignModeV2 && this.hasChoicesUrl)
40342
+ if (this.isEmptyActiveChoicesInDesign)
39622
40343
  return [];
39623
40344
  return this.choicesFromUrl ? this.choicesFromUrl : this.getChoices();
39624
40345
  },
39625
40346
  enumerable: false,
39626
40347
  configurable: true
39627
40348
  });
40349
+ Object.defineProperty(QuestionSelectBase.prototype, "isMessagePanelVisible", {
40350
+ get: function () {
40351
+ return this.getPropertyValue("isMessagePanelVisible", false);
40352
+ },
40353
+ set: function (val) {
40354
+ this.setPropertyValue("isMessagePanelVisible", val);
40355
+ },
40356
+ enumerable: false,
40357
+ configurable: true
40358
+ });
40359
+ Object.defineProperty(QuestionSelectBase.prototype, "isEmptyActiveChoicesInDesign", {
40360
+ get: function () {
40361
+ return this.isDesignModeV2 && (this.hasChoicesUrl || this.isMessagePanelVisible);
40362
+ },
40363
+ enumerable: false,
40364
+ configurable: true
40365
+ });
39628
40366
  QuestionSelectBase.prototype.getCarryForwardQuestion = function (data) {
39629
40367
  var question = this.findCarryForwardQuestion(data);
39630
40368
  var selBaseQuestion = this.getQuestionWithChoicesCore(question);
@@ -39695,7 +40433,7 @@ var QuestionSelectBase = /** @class */ (function (_super) {
39695
40433
  : undefined;
39696
40434
  var choices = question.visibleChoices;
39697
40435
  for (var i = 0; i < choices.length; i++) {
39698
- if (this.isBuiltInChoice(choices[i], question))
40436
+ if (question.isBuiltInChoice(choices[i]))
39699
40437
  continue;
39700
40438
  if (isSelected === undefined) {
39701
40439
  res.push(this.copyChoiceItem(choices[i]));
@@ -39724,7 +40462,7 @@ var QuestionSelectBase = /** @class */ (function (_super) {
39724
40462
  choices = this.visibleChoices;
39725
40463
  }
39726
40464
  for (var i = 0; i < choices.length; i++) {
39727
- if (!this.isBuiltInChoice(choices[i], this))
40465
+ if (!this.isBuiltInChoice(choices[i]))
39728
40466
  return true;
39729
40467
  }
39730
40468
  return false;
@@ -39732,10 +40470,16 @@ var QuestionSelectBase = /** @class */ (function (_super) {
39732
40470
  enumerable: false,
39733
40471
  configurable: true
39734
40472
  });
39735
- QuestionSelectBase.prototype.isBuiltInChoice = function (item, question) {
39736
- return (item === question.noneItem ||
39737
- item === question.otherItem ||
39738
- item === question.newItemValue);
40473
+ QuestionSelectBase.prototype.isBuiltInChoice = function (item) {
40474
+ return this.isNoneItem(item) ||
40475
+ item === this.otherItem ||
40476
+ item === this.newItemValue;
40477
+ };
40478
+ QuestionSelectBase.prototype.isNoneItem = function (item) {
40479
+ return this.getNoneItems().indexOf(item) > -1;
40480
+ };
40481
+ QuestionSelectBase.prototype.getNoneItems = function () {
40482
+ return [this.noneItem, this.refuseItem, this.dontKnowItem];
39739
40483
  };
39740
40484
  QuestionSelectBase.prototype.getChoices = function () {
39741
40485
  return this.choices;
@@ -39746,6 +40490,12 @@ var QuestionSelectBase = /** @class */ (function (_super) {
39746
40490
  QuestionSelectBase.prototype.supportNone = function () {
39747
40491
  return this.isSupportProperty("showNoneItem");
39748
40492
  };
40493
+ QuestionSelectBase.prototype.supportRefuse = function () {
40494
+ return this.isSupportProperty("showRefuseItem");
40495
+ };
40496
+ QuestionSelectBase.prototype.supportDontKnow = function () {
40497
+ return this.isSupportProperty("showDontKnowItem");
40498
+ };
39749
40499
  QuestionSelectBase.prototype.isSupportProperty = function (propName) {
39750
40500
  return (!this.isDesignMode ||
39751
40501
  this.getPropertyByName(propName).visible);
@@ -40040,15 +40790,7 @@ var QuestionSelectBase = /** @class */ (function (_super) {
40040
40790
  configurable: true
40041
40791
  });
40042
40792
  QuestionSelectBase.prototype.clearIncorrectValues = function () {
40043
- if (!this.hasValueToClearIncorrectValues())
40044
- return;
40045
- if (this.carryForwardQuestion && !this.carryForwardQuestion.isReady)
40046
- return;
40047
- if (!!this.survey &&
40048
- this.survey.questionsByValueName(this.getValueName()).length > 1)
40049
- return;
40050
- if (this.hasChoicesUrl &&
40051
- (!this.choicesFromUrl || this.choicesFromUrl.length == 0))
40793
+ if (!this.hasValueToClearIncorrectValues() || !this.canClearIncorrectValues())
40052
40794
  return;
40053
40795
  if (this.clearIncorrectValuesCallback) {
40054
40796
  this.clearIncorrectValuesCallback();
@@ -40057,6 +40799,15 @@ var QuestionSelectBase = /** @class */ (function (_super) {
40057
40799
  this.clearIncorrectValuesCore();
40058
40800
  }
40059
40801
  };
40802
+ QuestionSelectBase.prototype.canClearIncorrectValues = function () {
40803
+ if (this.carryForwardQuestion && !this.carryForwardQuestion.isReady)
40804
+ return false;
40805
+ if (!!this.survey && this.survey.questionsByValueName(this.getValueName()).length > 1)
40806
+ return false;
40807
+ if (this.hasChoicesUrl && (!this.choicesFromUrl || this.choicesFromUrl.length == 0))
40808
+ return false;
40809
+ return true;
40810
+ };
40060
40811
  QuestionSelectBase.prototype.hasValueToClearIncorrectValues = function () {
40061
40812
  if (!!this.survey && this.survey.keepIncorrectValues)
40062
40813
  return false;
@@ -40192,7 +40943,7 @@ var QuestionSelectBase = /** @class */ (function (_super) {
40192
40943
  Object.defineProperty(QuestionSelectBase.prototype, "dataChoices", {
40193
40944
  get: function () {
40194
40945
  var _this = this;
40195
- return this.visibleChoices.filter(function (item) { return !_this.isBuiltInChoice(item, _this); });
40946
+ return this.visibleChoices.filter(function (item) { return !_this.isBuiltInChoice(item); });
40196
40947
  },
40197
40948
  enumerable: false,
40198
40949
  configurable: true
@@ -40534,6 +41285,8 @@ _jsonobject__WEBPACK_IMPORTED_MODULE_0__["Serializer"].addClass("selectbase", [
40534
41285
  { name: "separateSpecialChoices:boolean", visible: false },
40535
41286
  { name: "showOtherItem:boolean", alternativeName: "hasOther" },
40536
41287
  { name: "showNoneItem:boolean", alternativeName: "hasNone" },
41288
+ { name: "showRefuseItem:boolean", visible: false },
41289
+ { name: "showDontKnowItem:boolean", visible: false },
40537
41290
  {
40538
41291
  name: "otherPlaceholder",
40539
41292
  alternativeName: "otherPlaceHolder",
@@ -40548,7 +41301,23 @@ _jsonobject__WEBPACK_IMPORTED_MODULE_0__["Serializer"].addClass("selectbase", [
40548
41301
  serializationProperty: "locNoneText",
40549
41302
  dependsOn: "showNoneItem",
40550
41303
  visibleIf: function (obj) {
40551
- return obj.hasNone;
41304
+ return obj.showNoneItem;
41305
+ },
41306
+ },
41307
+ {
41308
+ name: "refuseText",
41309
+ serializationProperty: "locRefuseText",
41310
+ dependsOn: "showRefuseItem",
41311
+ visibleIf: function (obj) {
41312
+ return obj.showRefuseItem;
41313
+ },
41314
+ },
41315
+ {
41316
+ name: "dontKnowText",
41317
+ serializationProperty: "locDontKnowText",
41318
+ dependsOn: "showDontKnowItem",
41319
+ visibleIf: function (obj) {
41320
+ return obj.showDontKnowItem;
40552
41321
  },
40553
41322
  },
40554
41323
  {
@@ -41401,8 +42170,11 @@ var QuestionCheckboxModel = /** @class */ (function (_super) {
41401
42170
  * @see showSelectAllItem
41402
42171
  */
41403
42172
  get: function () {
41404
- if (this.isItemSelected(this.noneItem))
41405
- return false;
42173
+ var noneItems = this.getNoneItems();
42174
+ for (var i = 0; i < noneItems.length; i++) {
42175
+ if (this.isItemSelected(noneItems[i]))
42176
+ return false;
42177
+ }
41406
42178
  var items = this.getVisibleEnableItems();
41407
42179
  if (items.length === 0)
41408
42180
  return false;
@@ -41459,19 +42231,24 @@ var QuestionCheckboxModel = /** @class */ (function (_super) {
41459
42231
  }
41460
42232
  }
41461
42233
  else {
41462
- var newValue = [].concat(this.renderedValue || []);
41463
- var index = newValue.indexOf(item.value);
41464
- if (checked) {
41465
- if (index < 0) {
41466
- newValue.push(item.value);
41467
- }
42234
+ if (this.isNoneItem(item)) {
42235
+ this.renderedValue = [item.value];
41468
42236
  }
41469
42237
  else {
41470
- if (index > -1) {
41471
- newValue.splice(index, 1);
42238
+ var newValue = [].concat(this.renderedValue || []);
42239
+ var index = newValue.indexOf(item.value);
42240
+ if (checked) {
42241
+ if (index < 0) {
42242
+ newValue.push(item.value);
42243
+ }
41472
42244
  }
42245
+ else {
42246
+ if (index > -1) {
42247
+ newValue.splice(index, 1);
42248
+ }
42249
+ }
42250
+ this.renderedValue = newValue;
41473
42251
  }
41474
- this.renderedValue = newValue;
41475
42252
  }
41476
42253
  };
41477
42254
  QuestionCheckboxModel.prototype.isItemSelectedCore = function (item) {
@@ -41700,21 +42477,7 @@ var QuestionCheckboxModel = /** @class */ (function (_super) {
41700
42477
  value = [];
41701
42478
  if (this.isTwoValueEquals(value, newValue))
41702
42479
  return;
41703
- if (this.hasNone) {
41704
- var prevNoneIndex = this.noneIndexInArray(value);
41705
- var newNoneIndex = this.noneIndexInArray(newValue);
41706
- if (prevNoneIndex > -1) {
41707
- if (newNoneIndex > -1 && newValue.length > 1) {
41708
- newValue.splice(newNoneIndex, 1);
41709
- }
41710
- }
41711
- else {
41712
- if (newNoneIndex > -1) {
41713
- newValue.splice(0, newValue.length);
41714
- newValue.push(this.noneItem.value);
41715
- }
41716
- }
41717
- }
42480
+ this.removeNoneItemsValues(value, newValue);
41718
42481
  _super.prototype.setNewValue.call(this, newValue);
41719
42482
  };
41720
42483
  QuestionCheckboxModel.prototype.getIsMultipleValue = function () {
@@ -41742,15 +42505,47 @@ var QuestionCheckboxModel = /** @class */ (function (_super) {
41742
42505
  }
41743
42506
  return -1;
41744
42507
  };
41745
- QuestionCheckboxModel.prototype.noneIndexInArray = function (val) {
41746
- if (!val || !Array.isArray(val))
41747
- return -1;
41748
- var noneValue = this.noneItem.value;
41749
- for (var i = 0; i < val.length; i++) {
41750
- if (val[i] == noneValue)
41751
- return i;
42508
+ QuestionCheckboxModel.prototype.removeNoneItemsValues = function (value, newValue) {
42509
+ var noneValues = [];
42510
+ if (this.showNoneItem)
42511
+ noneValues.push(this.noneItem.value);
42512
+ if (this.showRefuseItem)
42513
+ noneValues.push(this.refuseItem.value);
42514
+ if (this.showDontKnowItem)
42515
+ noneValues.push(this.dontKnowItem.value);
42516
+ if (noneValues.length > 0) {
42517
+ var prevNone = this.noneIndexInArray(value, noneValues);
42518
+ var newNone = this.noneIndexInArray(newValue, noneValues);
42519
+ if (prevNone.index > -1) {
42520
+ if (prevNone.val === newNone.val) {
42521
+ if (newValue.length > 0) {
42522
+ newValue.splice(newNone.index, 1);
42523
+ }
42524
+ }
42525
+ else {
42526
+ var prevNewNone = this.noneIndexInArray(newValue, [prevNone.val]);
42527
+ if (prevNewNone.index > -1 && prevNewNone.index < newValue.length - 1) {
42528
+ newValue.splice(prevNewNone.index, 1);
42529
+ }
42530
+ }
42531
+ }
42532
+ else {
42533
+ if (newNone.index > -1 && newValue.length > 1) {
42534
+ var itemVal = this.convertValueToObject([newNone.val])[0];
42535
+ newValue.splice(0, newValue.length, itemVal);
42536
+ }
42537
+ }
41752
42538
  }
41753
- return -1;
42539
+ };
42540
+ QuestionCheckboxModel.prototype.noneIndexInArray = function (val, noneValues) {
42541
+ if (!Array.isArray(val))
42542
+ return { index: -1, val: undefined };
42543
+ for (var i = val.length - 1; i >= 0; i--) {
42544
+ var index = noneValues.indexOf(this.getRealValue(val[i]));
42545
+ if (index > -1)
42546
+ return { index: i, val: noneValues[index] };
42547
+ }
42548
+ return { index: -1, val: undefined };
41754
42549
  };
41755
42550
  QuestionCheckboxModel.prototype.canUseFilteredChoices = function () {
41756
42551
  return !this.hasSelectAll && _super.prototype.canUseFilteredChoices.call(this);
@@ -41760,12 +42555,12 @@ var QuestionCheckboxModel = /** @class */ (function (_super) {
41760
42555
  };
41761
42556
  QuestionCheckboxModel.prototype.addNonChoicesItems = function (dict, isAddAll) {
41762
42557
  _super.prototype.addNonChoicesItems.call(this, dict, isAddAll);
41763
- if (this.supportSelectAll() && this.canShowOptionItem(this.selectAllItem, isAddAll, this.hasSelectAll)) {
41764
- this.addNonChoiceItem(dict, this.selectAllItem, _settings__WEBPACK_IMPORTED_MODULE_7__["settings"].specialChoicesOrder.selectAllItem);
42558
+ if (this.supportSelectAll()) {
42559
+ this.addNonChoiceItem(dict, this.selectAllItem, isAddAll, this.hasSelectAll, _settings__WEBPACK_IMPORTED_MODULE_7__["settings"].specialChoicesOrder.selectAllItem);
41765
42560
  }
41766
42561
  };
41767
- QuestionCheckboxModel.prototype.isBuiltInChoice = function (item, question) {
41768
- return item === question.selectAllItem || _super.prototype.isBuiltInChoice.call(this, item, question);
42562
+ QuestionCheckboxModel.prototype.isBuiltInChoice = function (item) {
42563
+ return item === this.selectAllItem || _super.prototype.isBuiltInChoice.call(this, item);
41769
42564
  };
41770
42565
  QuestionCheckboxModel.prototype.isItemInList = function (item) {
41771
42566
  if (item == this.selectAllItem)
@@ -42384,8 +43179,8 @@ var ComponentQuestionJSON = /** @class */ (function () {
42384
43179
  });
42385
43180
  ComponentQuestionJSON.prototype.getDynamicProperties = function () {
42386
43181
  if (!Array.isArray(this.dynamicProperties)) {
43182
+ this.dynamicProperties = this.calcDynamicProperties();
42387
43183
  }
42388
- this.dynamicProperties = this.calcDynamicProperties();
42389
43184
  return this.dynamicProperties;
42390
43185
  };
42391
43186
  ComponentQuestionJSON.prototype.calcDynamicProperties = function () {
@@ -42758,9 +43553,29 @@ var QuestionCustomModel = /** @class */ (function (_super) {
42758
43553
  QuestionCustomModel.prototype.getDynamicType = function () {
42759
43554
  return this.questionWrapper ? this.questionWrapper.getType() : "question";
42760
43555
  };
43556
+ QuestionCustomModel.prototype.getOriginalObj = function () {
43557
+ return this.questionWrapper;
43558
+ };
42761
43559
  QuestionCustomModel.prototype.createWrapper = function () {
43560
+ var _this = this;
42762
43561
  this.questionWrapper = this.createQuestion();
42763
43562
  this.createDynamicProperties(this.questionWrapper);
43563
+ if (this.getDynamicProperties().length > 0) {
43564
+ this.questionWrapper.onPropertyValueChangedCallback = function (name, oldValue, newValue, sender, arrayChanges) {
43565
+ var prop = _this.getDynamicProperty(name);
43566
+ if (prop) {
43567
+ _this.propertyValueChanged(name, oldValue, newValue, arrayChanges);
43568
+ }
43569
+ };
43570
+ }
43571
+ };
43572
+ QuestionCustomModel.prototype.getDynamicProperty = function (name) {
43573
+ var props = this.getDynamicProperties();
43574
+ for (var i = 0; i < props.length; i++) {
43575
+ if (props[i].name === name)
43576
+ return props[i];
43577
+ }
43578
+ return null;
42764
43579
  };
42765
43580
  QuestionCustomModel.prototype.getElement = function () {
42766
43581
  return this.contentQuestion;
@@ -43170,6 +43985,13 @@ var QuestionCompositeModel = /** @class */ (function (_super) {
43170
43985
  _super.prototype.setValue.call(this, name, newValue, locNotification, allowNotifyValueChanged);
43171
43986
  this.settingNewValue = false;
43172
43987
  };
43988
+ QuestionCompositeModel.prototype.getFilteredValues = function () {
43989
+ var values = !!this.data ? this.data.getFilteredValues() : {};
43990
+ if (!!this.contentPanel) {
43991
+ values[QuestionCompositeModel.ItemVariableName] = this.contentPanel.getValue();
43992
+ }
43993
+ return values;
43994
+ };
43173
43995
  QuestionCompositeModel.prototype.updateValueCoreWithPanelValue = function () {
43174
43996
  var panelValue = this.getContentPanelValue();
43175
43997
  if (this.isTwoValueEquals(this.getValueCore(), panelValue))
@@ -43688,6 +44510,9 @@ var QuestionDropdownModel = /** @class */ (function (_super) {
43688
44510
  }
43689
44511
  })
43690
44512
  ], QuestionDropdownModel.prototype, "searchEnabled", void 0);
44513
+ __decorate([
44514
+ Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__["property"])()
44515
+ ], QuestionDropdownModel.prototype, "searchMode", void 0);
43691
44516
  __decorate([
43692
44517
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__["property"])({ defaultValue: false })
43693
44518
  ], QuestionDropdownModel.prototype, "inputHasValue", void 0);
@@ -43715,6 +44540,7 @@ _jsonobject__WEBPACK_IMPORTED_MODULE_0__["Serializer"].addClass("dropdown", [
43715
44540
  { name: "autocomplete", alternativeName: "autoComplete", choices: _settings__WEBPACK_IMPORTED_MODULE_5__["settings"].questions.dataList, },
43716
44541
  { name: "renderAs", default: "default", visible: false },
43717
44542
  { name: "searchEnabled:boolean", default: true, visible: false },
44543
+ { name: "searchMode", default: "contains", choices: ["contains", "startsWith"], },
43718
44544
  { name: "choicesLazyLoadEnabled:boolean", default: false, visible: false },
43719
44545
  { name: "choicesLazyLoadPageSize:number", default: 25, visible: false },
43720
44546
  { name: "inputFieldComponent", visible: false },
@@ -44580,7 +45406,7 @@ var QuestionFileModel = /** @class */ (function (_super) {
44580
45406
  };
44581
45407
  _this.doClean = function () {
44582
45408
  if (_this.needConfirmRemoveFile) {
44583
- Object(_utils_utils__WEBPACK_IMPORTED_MODULE_6__["confirmActionAsync"])(_this.confirmRemoveAllMessage, function () { _this.clearFilesCore(); }, undefined, _this.getLocale());
45409
+ Object(_utils_utils__WEBPACK_IMPORTED_MODULE_6__["confirmActionAsync"])(_this.confirmRemoveAllMessage, function () { _this.clearFilesCore(); }, undefined, _this.getLocale(), _this.survey.rootElement);
44584
45410
  return;
44585
45411
  }
44586
45412
  _this.clearFilesCore();
@@ -44934,6 +45760,18 @@ var QuestionFileModel = /** @class */ (function (_super) {
44934
45760
  enumerable: false,
44935
45761
  configurable: true
44936
45762
  });
45763
+ QuestionFileModel.prototype.chooseFile = function () {
45764
+ var _this = this;
45765
+ var inputElement = document.getElementById(this.inputId);
45766
+ if (inputElement) {
45767
+ if (this.survey) {
45768
+ this.survey.chooseFiles(inputElement, function (files) { return _this.loadFiles(files); }, { element: this });
45769
+ }
45770
+ else {
45771
+ inputElement.click();
45772
+ }
45773
+ }
45774
+ };
44937
45775
  Object.defineProperty(QuestionFileModel.prototype, "needConfirmRemoveFile", {
44938
45776
  /**
44939
45777
  * Specifies whether users should confirm file deletion.
@@ -45470,7 +46308,7 @@ var QuestionFileModel = /** @class */ (function (_super) {
45470
46308
  QuestionFileModel.prototype.doRemoveFile = function (data) {
45471
46309
  var _this = this;
45472
46310
  if (this.needConfirmRemoveFile) {
45473
- Object(_utils_utils__WEBPACK_IMPORTED_MODULE_6__["confirmActionAsync"])(this.getConfirmRemoveMessage(data.name), function () { _this.removeFileCore(data); }, undefined, this.getLocale());
46311
+ Object(_utils_utils__WEBPACK_IMPORTED_MODULE_6__["confirmActionAsync"])(this.getConfirmRemoveMessage(data.name), function () { _this.removeFileCore(data); }, undefined, this.getLocale(), this.survey.rootElement);
45474
46312
  return;
45475
46313
  }
45476
46314
  this.removeFileCore(data);
@@ -45495,9 +46333,12 @@ var QuestionFileModel = /** @class */ (function (_super) {
45495
46333
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])({ defaultValue: 0 })
45496
46334
  ], QuestionFileModel.prototype, "indexToShow", void 0);
45497
46335
  __decorate([
45498
- Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])({ defaultValue: 1, onSet: function (_, target) {
46336
+ Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])({
46337
+ defaultValue: 1,
46338
+ onSet: function (_, target) {
45499
46339
  target.updateFileNavigator();
45500
- } })
46340
+ }
46341
+ })
45501
46342
  ], QuestionFileModel.prototype, "pageSize", void 0);
45502
46343
  __decorate([
45503
46344
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])({ defaultValue: false })
@@ -45506,11 +46347,13 @@ var QuestionFileModel = /** @class */ (function (_super) {
45506
46347
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])()
45507
46348
  ], QuestionFileModel.prototype, "allowCameraAccess", void 0);
45508
46349
  __decorate([
45509
- Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])({ onSet: function (val, obj) {
46350
+ Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])({
46351
+ onSet: function (val, obj) {
45510
46352
  if (!obj.isLoadingFromJson) {
45511
46353
  obj.updateCurrentMode();
45512
46354
  }
45513
- } })
46355
+ }
46356
+ })
45514
46357
  ], QuestionFileModel.prototype, "sourceType", void 0);
45515
46358
  __decorate([
45516
46359
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])()
@@ -46278,12 +47121,10 @@ var QuestionImagePickerModel = /** @class */ (function (_super) {
46278
47121
  enumerable: false,
46279
47122
  configurable: true
46280
47123
  });
46281
- QuestionImagePickerModel.prototype.supportOther = function () {
46282
- return false;
46283
- };
46284
- QuestionImagePickerModel.prototype.supportNone = function () {
46285
- return false;
46286
- };
47124
+ QuestionImagePickerModel.prototype.supportOther = function () { return false; };
47125
+ QuestionImagePickerModel.prototype.supportNone = function () { return false; };
47126
+ QuestionImagePickerModel.prototype.supportRefuse = function () { return false; };
47127
+ QuestionImagePickerModel.prototype.supportDontKnow = function () { return false; };
46287
47128
  QuestionImagePickerModel.prototype.isAnswerCorrect = function () {
46288
47129
  if (!this.multiSelect)
46289
47130
  return _super.prototype.isAnswerCorrect.call(this);
@@ -46507,7 +47348,7 @@ var QuestionImagePickerModel = /** @class */ (function (_super) {
46507
47348
  enumerable: false,
46508
47349
  configurable: true
46509
47350
  });
46510
- QuestionImagePickerModel.prototype.isBuiltInChoice = function (item, question) {
47351
+ QuestionImagePickerModel.prototype.isBuiltInChoice = function (item) {
46511
47352
  return false;
46512
47353
  };
46513
47354
  QuestionImagePickerModel.prototype.addToVisibleChoices = function (items, isAddAll) {
@@ -46658,6 +47499,8 @@ _jsonobject__WEBPACK_IMPORTED_MODULE_0__["Serializer"].addClass("imagepicker", [
46658
47499
  { name: "showOtherItem", visible: false },
46659
47500
  { name: "otherText", visible: false },
46660
47501
  { name: "showNoneItem", visible: false },
47502
+ { name: "showRefuseItem", visible: false },
47503
+ { name: "showDontKnowItem", visible: false },
46661
47504
  { name: "noneText", visible: false },
46662
47505
  { name: "optionsCaption", visible: false },
46663
47506
  { name: "otherErrorText", visible: false },
@@ -46764,7 +47607,7 @@ var MatrixRowModel = /** @class */ (function (_super) {
46764
47607
  _this.item = item;
46765
47608
  _this.fullName = fullName;
46766
47609
  _this.data = data;
46767
- _this.value = value;
47610
+ _this.setValueDirectly(value);
46768
47611
  _this.cellClick = function (column) {
46769
47612
  _this.value = column.value;
46770
47613
  };
@@ -47922,6 +48765,9 @@ var MatrixDropdownCell = /** @class */ (function () {
47922
48765
  enumerable: false,
47923
48766
  configurable: true
47924
48767
  });
48768
+ MatrixDropdownCell.prototype.getQuestionWrapperClassName = function (className) {
48769
+ return className;
48770
+ };
47925
48771
  MatrixDropdownCell.prototype.runCondition = function (values, properties) {
47926
48772
  this.question.runCondition(values, properties);
47927
48773
  };
@@ -47961,6 +48807,22 @@ var MatrixDropdownTotalCell = /** @class */ (function (_super) {
47961
48807
  this.question.unlocCalculation();
47962
48808
  this.question.runIfReadOnly = true;
47963
48809
  };
48810
+ MatrixDropdownTotalCell.prototype.getQuestionWrapperClassName = function (className) {
48811
+ var result = _super.prototype.getQuestionWrapperClassName.call(this, className);
48812
+ if (!result) {
48813
+ return result;
48814
+ }
48815
+ if (this.question.expression && this.question.expression != "''") {
48816
+ result += " " + className + "--expression";
48817
+ }
48818
+ var alignment = this.column.totalAlignment;
48819
+ if (alignment === "auto") {
48820
+ if (this.column.cellType === "dropdown") {
48821
+ alignment = "left";
48822
+ }
48823
+ }
48824
+ return result + " " + className + "--" + alignment;
48825
+ };
47964
48826
  MatrixDropdownTotalCell.prototype.getTotalExpression = function () {
47965
48827
  if (!!this.column.totalExpression)
47966
48828
  return this.column.totalExpression;
@@ -50402,9 +51264,11 @@ _jsonobject__WEBPACK_IMPORTED_MODULE_0__["Serializer"].addClass("matrixdropdownb
50402
51264
  default: "none",
50403
51265
  },
50404
51266
  { name: "cellErrorLocation", default: "default", choices: ["default", "top", "bottom"] },
50405
- { name: "detailErrorLocation", default: "default", choices: ["default", "top", "bottom"], visibleIf: function (obj) { return !!obj && obj.detailPanelMode != "none"; }
51267
+ {
51268
+ name: "detailErrorLocation", default: "default", choices: ["default", "top", "bottom"],
51269
+ visibleIf: function (obj) { return !!obj && obj.detailPanelMode != "none"; }
50406
51270
  },
50407
- "horizontalScroll:boolean",
51271
+ { name: "horizontalScroll:boolean", visible: false, },
50408
51272
  {
50409
51273
  name: "choices:itemvalue[]", uniqueProperty: "value",
50410
51274
  },
@@ -51201,6 +52065,32 @@ var MatrixDropdownColumn = /** @class */ (function (_super) {
51201
52065
  enumerable: false,
51202
52066
  configurable: true
51203
52067
  });
52068
+ Object.defineProperty(MatrixDropdownColumn.prototype, "totalAlignment", {
52069
+ /**
52070
+ * An alignment for calculated total values.
52071
+ *
52072
+ * Possible values:
52073
+ *
52074
+ * - `"left"`
52075
+ * - `"center"`
52076
+ * - `"right"`
52077
+ * - `"auto"` (default) - Applies one of the values above based on the column's [cell type](#cellType).
52078
+ *
52079
+ * [View Demo](https://surveyjs.io/form-library/examples/aggregate-data-within-form/ (linkStyle))
52080
+ * @see totalType
52081
+ * @see totalFormat
52082
+ * @see totalCurrency
52083
+ * @see totalDisplayStyle
52084
+ */
52085
+ get: function () {
52086
+ return this.getPropertyValue("totalAlignment");
52087
+ },
52088
+ set: function (val) {
52089
+ this.setPropertyValue("totalAlignment", val);
52090
+ },
52091
+ enumerable: false,
52092
+ configurable: true
52093
+ });
51204
52094
  Object.defineProperty(MatrixDropdownColumn.prototype, "totalCurrency", {
51205
52095
  /**
51206
52096
  * Specifies a currency used to display calculated total values. Applies only if [`totalDisplayStyle`](#totalDisplayStyle) is set to `"currency"`.
@@ -51519,6 +52409,11 @@ _jsonobject__WEBPACK_IMPORTED_MODULE_0__["Serializer"].addClass("matrixdropdownc
51519
52409
  default: "none",
51520
52410
  choices: ["none", "decimal", "currency", "percent"],
51521
52411
  },
52412
+ {
52413
+ name: "totalAlignment",
52414
+ default: "auto",
52415
+ choices: ["auto", "left", "center", "right"],
52416
+ },
51522
52417
  {
51523
52418
  name: "totalCurrency",
51524
52419
  choices: function () {
@@ -51709,6 +52604,13 @@ var QuestionMatrixDropdownRenderedCell = /** @class */ (function () {
51709
52604
  enumerable: false,
51710
52605
  configurable: true
51711
52606
  });
52607
+ Object.defineProperty(QuestionMatrixDropdownRenderedCell.prototype, "cellQuestionWrapperClassName", {
52608
+ get: function () {
52609
+ return this.cell.getQuestionWrapperClassName(this.matrix.cssClasses.cellQuestionWrapper);
52610
+ },
52611
+ enumerable: false,
52612
+ configurable: true
52613
+ });
51712
52614
  Object.defineProperty(QuestionMatrixDropdownRenderedCell.prototype, "headers", {
51713
52615
  get: function () {
51714
52616
  if (this.cell && this.cell.column) {
@@ -53391,7 +54293,7 @@ var QuestionMatrixDynamicModel = /** @class */ (function (_super) {
53391
54293
  confirmDelete = this.isRequireConfirmOnRowDelete(index);
53392
54294
  }
53393
54295
  if (confirmDelete) {
53394
- Object(_utils_utils__WEBPACK_IMPORTED_MODULE_5__["confirmActionAsync"])(this.confirmDeleteText, function () { _this.removeRowAsync(index, row); }, undefined, this.getLocale());
54296
+ Object(_utils_utils__WEBPACK_IMPORTED_MODULE_5__["confirmActionAsync"])(this.confirmDeleteText, function () { _this.removeRowAsync(index, row); }, undefined, this.getLocale(), this.survey.rootElement);
53395
54297
  return;
53396
54298
  }
53397
54299
  this.removeRowAsync(index, row);
@@ -56571,7 +57473,7 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
56571
57473
  if (!this.canRemovePanel)
56572
57474
  return;
56573
57475
  if (this.isRequireConfirmOnDelete(value)) {
56574
- Object(_utils_utils__WEBPACK_IMPORTED_MODULE_9__["confirmActionAsync"])(this.confirmDeleteText, function () { _this.removePanel(value); }, undefined, this.getLocale());
57476
+ Object(_utils_utils__WEBPACK_IMPORTED_MODULE_9__["confirmActionAsync"])(this.confirmDeleteText, function () { _this.removePanel(value); }, undefined, this.getLocale(), this.survey.rootElement);
56575
57477
  }
56576
57478
  else {
56577
57479
  this.removePanel(value);
@@ -56980,10 +57882,13 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
56980
57882
  };
56981
57883
  QuestionPanelDynamicModel.prototype.clearValueInPanelsIfInvisible = function (reason) {
56982
57884
  for (var i = 0; i < this.panelsCore.length; i++) {
56983
- var questions = this.panelsCore[i].questions;
57885
+ var panel = this.panelsCore[i];
57886
+ var questions = panel.questions;
56984
57887
  this.isSetPanelItemData = {};
56985
57888
  for (var j = 0; j < questions.length; j++) {
56986
57889
  var q = questions[j];
57890
+ if (q.visible && !panel.isVisible)
57891
+ continue;
56987
57892
  q.clearValueIfInvisible(reason);
56988
57893
  this.isSetPanelItemData[q.getValueName()] = this.maxCheckCount + 1;
56989
57894
  }
@@ -58300,15 +59205,11 @@ var QuestionRankingModel = /** @class */ (function (_super) {
58300
59205
  QuestionRankingModel.prototype.beforeDestroyQuestionElement = function (el) {
58301
59206
  _super.prototype.beforeDestroyQuestionElement.call(this, el);
58302
59207
  };
58303
- QuestionRankingModel.prototype.supportSelectAll = function () {
58304
- return false;
58305
- };
58306
- QuestionRankingModel.prototype.supportOther = function () {
58307
- return false;
58308
- };
58309
- QuestionRankingModel.prototype.supportNone = function () {
58310
- return false;
58311
- };
59208
+ QuestionRankingModel.prototype.supportSelectAll = function () { return false; };
59209
+ QuestionRankingModel.prototype.supportOther = function () { return false; };
59210
+ QuestionRankingModel.prototype.supportNone = function () { return false; };
59211
+ QuestionRankingModel.prototype.supportRefuse = function () { return false; };
59212
+ QuestionRankingModel.prototype.supportDontKnow = function () { return false; };
58312
59213
  QuestionRankingModel.prototype.handleKeydownSelectToRank = function (event, movedElement) {
58313
59214
  if (this.isDesignMode)
58314
59215
  return;
@@ -58495,6 +59396,8 @@ _jsonobject__WEBPACK_IMPORTED_MODULE_3__["Serializer"].addClass("ranking", [
58495
59396
  { name: "otherErrorText", visible: false, isSerializable: false },
58496
59397
  { name: "storeOthersAsComment", visible: false, isSerializable: false },
58497
59398
  { name: "showNoneItem", visible: false, isSerializable: false },
59399
+ { name: "showRefuseItem", visible: false, isSerializable: false },
59400
+ { name: "showDontKnowItem", visible: false, isSerializable: false },
58498
59401
  { name: "noneText", visible: false, isSerializable: false },
58499
59402
  { name: "showSelectAllItem", visible: false, isSerializable: false },
58500
59403
  { name: "selectAllText", visible: false, isSerializable: false },
@@ -59198,8 +60101,8 @@ var QuestionRatingModel = /** @class */ (function (_super) {
59198
60101
  });
59199
60102
  Object.defineProperty(QuestionRatingModel.prototype, "ratingRootCss", {
59200
60103
  get: function () {
59201
- var baseClass = ((this.displayMode == "buttons" || (!!this.survey && this.survey.isDesignMode)) && this.cssClasses.rootWrappable) ?
59202
- this.cssClasses.rootWrappable : this.cssClasses.root;
60104
+ var baseClassModifier = ((this.displayMode == "buttons" || (!!this.survey && this.survey.isDesignMode)) && this.cssClasses.rootWrappable) ?
60105
+ this.cssClasses.rootWrappable : "";
59203
60106
  var rootClassModifier = "";
59204
60107
  if (this.hasMaxLabel || this.hasMinLabel) {
59205
60108
  if (this.rateDescriptionLocation == "top")
@@ -59210,7 +60113,8 @@ var QuestionRatingModel = /** @class */ (function (_super) {
59210
60113
  rootClassModifier = this.cssClasses.rootLabelsDiagonal;
59211
60114
  }
59212
60115
  return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_6__["CssClassBuilder"]()
59213
- .append(baseClass)
60116
+ .append(this.cssClasses.root)
60117
+ .append(baseClassModifier)
59214
60118
  .append(rootClassModifier)
59215
60119
  .append(this.cssClasses.itemSmall, this.itemSmallMode && this.rateType != "labels")
59216
60120
  .toString();
@@ -60710,7 +61614,7 @@ var QuestionTextModel = /** @class */ (function (_super) {
60710
61614
  configurable: true
60711
61615
  });
60712
61616
  QuestionTextModel.prototype.getMaxLength = function () {
60713
- if (this.inputType !== "text")
61617
+ if (!this.isTextInput)
60714
61618
  return null;
60715
61619
  return _super.prototype.getMaxLength.call(this);
60716
61620
  };
@@ -62617,7 +63521,8 @@ var SurveyFileChooseButton = /** @class */ (function (_super) {
62617
63521
  configurable: true
62618
63522
  });
62619
63523
  SurveyFileChooseButton.prototype.render = function () {
62620
- return Object(_reactSurvey__WEBPACK_IMPORTED_MODULE_1__["attachKey2click"])(react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("label", { tabIndex: 0, className: this.question.getChooseFileCss(), htmlFor: this.question.inputId, "aria-label": this.question.chooseButtonText },
63524
+ var _this = this;
63525
+ return Object(_reactSurvey__WEBPACK_IMPORTED_MODULE_1__["attachKey2click"])(react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("label", { tabIndex: 0, className: this.question.getChooseFileCss(), htmlFor: this.question.inputId, "aria-label": this.question.chooseButtonText, onClick: function () { return _this.question.chooseFile(); } },
62621
63526
  (!!this.question.cssClasses.chooseFileIconId) ? react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_svg_icon_svg_icon__WEBPACK_IMPORTED_MODULE_3__["SvgIcon"], { title: this.question.chooseButtonText, iconName: this.question.cssClasses.chooseFileIconId, size: "auto" }) : null,
62622
63527
  react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", null, this.question.chooseButtonText)));
62623
63528
  };
@@ -62830,7 +63735,7 @@ var Header = /** @class */ (function (_super) {
62830
63735
  };
62831
63736
  Header.prototype.renderElement = function () {
62832
63737
  this.model.survey = this.props.survey;
62833
- if (!(this.props.survey.headerView === "advanced" && this.props.survey.renderedHasHeader)) {
63738
+ if (!(this.props.survey.headerView === "advanced")) {
62834
63739
  return null;
62835
63740
  }
62836
63741
  var headerContent = null;
@@ -66371,6 +67276,287 @@ _element_factory__WEBPACK_IMPORTED_MODULE_3__["ReactElementFactory"].Instance.re
66371
67276
  });
66372
67277
 
66373
67278
 
67279
+ /***/ }),
67280
+
67281
+ /***/ "./src/react/progress.tsx":
67282
+ /*!********************************!*\
67283
+ !*** ./src/react/progress.tsx ***!
67284
+ \********************************/
67285
+ /*! exports provided: SurveyProgress */
67286
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
67287
+
67288
+ "use strict";
67289
+ __webpack_require__.r(__webpack_exports__);
67290
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SurveyProgress", function() { return SurveyProgress; });
67291
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
67292
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
67293
+ /* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! survey-core */ "./src/entries/core.ts");
67294
+ /* harmony import */ var _reactSurveyNavigationBase__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./reactSurveyNavigationBase */ "./src/react/reactSurveyNavigationBase.tsx");
67295
+ /* harmony import */ var _element_factory__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./element-factory */ "./src/react/element-factory.tsx");
67296
+ var __extends = (undefined && undefined.__extends) || (function () {
67297
+ var extendStatics = function (d, b) {
67298
+ extendStatics = Object.setPrototypeOf ||
67299
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
67300
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
67301
+ return extendStatics(d, b);
67302
+ };
67303
+ return function (d, b) {
67304
+ if (typeof b !== "function" && b !== null)
67305
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
67306
+ extendStatics(d, b);
67307
+ function __() { this.constructor = d; }
67308
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
67309
+ };
67310
+ })();
67311
+
67312
+
67313
+
67314
+
67315
+ var SurveyProgress = /** @class */ (function (_super) {
67316
+ __extends(SurveyProgress, _super);
67317
+ function SurveyProgress(props) {
67318
+ return _super.call(this, props) || this;
67319
+ }
67320
+ Object.defineProperty(SurveyProgress.prototype, "isTop", {
67321
+ get: function () {
67322
+ return this.props.isTop;
67323
+ },
67324
+ enumerable: false,
67325
+ configurable: true
67326
+ });
67327
+ Object.defineProperty(SurveyProgress.prototype, "progress", {
67328
+ get: function () {
67329
+ return this.survey.progressValue;
67330
+ },
67331
+ enumerable: false,
67332
+ configurable: true
67333
+ });
67334
+ Object.defineProperty(SurveyProgress.prototype, "progressText", {
67335
+ get: function () {
67336
+ return this.survey.progressText;
67337
+ },
67338
+ enumerable: false,
67339
+ configurable: true
67340
+ });
67341
+ SurveyProgress.prototype.render = function () {
67342
+ var progressStyle = {
67343
+ width: this.progress + "%",
67344
+ };
67345
+ return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.survey.getProgressCssClasses(this.props.container) },
67346
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { style: progressStyle, className: this.css.progressBar, role: "progressbar", "aria-valuemin": 0, "aria-valuemax": 100, "aria-label": "progress" },
67347
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", { className: survey_core__WEBPACK_IMPORTED_MODULE_1__["SurveyProgressModel"].getProgressTextInBarCss(this.css) }, this.progressText)),
67348
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", { className: survey_core__WEBPACK_IMPORTED_MODULE_1__["SurveyProgressModel"].getProgressTextUnderBarCss(this.css) }, this.progressText)));
67349
+ };
67350
+ return SurveyProgress;
67351
+ }(_reactSurveyNavigationBase__WEBPACK_IMPORTED_MODULE_2__["SurveyNavigationBase"]));
67352
+
67353
+ _element_factory__WEBPACK_IMPORTED_MODULE_3__["ReactElementFactory"].Instance.registerElement("sv-progress-pages", function (props) {
67354
+ return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](SurveyProgress, props);
67355
+ });
67356
+ _element_factory__WEBPACK_IMPORTED_MODULE_3__["ReactElementFactory"].Instance.registerElement("sv-progress-questions", function (props) {
67357
+ return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](SurveyProgress, props);
67358
+ });
67359
+ _element_factory__WEBPACK_IMPORTED_MODULE_3__["ReactElementFactory"].Instance.registerElement("sv-progress-correctquestions", function (props) {
67360
+ return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](SurveyProgress, props);
67361
+ });
67362
+ _element_factory__WEBPACK_IMPORTED_MODULE_3__["ReactElementFactory"].Instance.registerElement("sv-progress-requiredquestions", function (props) {
67363
+ return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](SurveyProgress, props);
67364
+ });
67365
+
67366
+
67367
+ /***/ }),
67368
+
67369
+ /***/ "./src/react/progressButtons.tsx":
67370
+ /*!***************************************!*\
67371
+ !*** ./src/react/progressButtons.tsx ***!
67372
+ \***************************************/
67373
+ /*! exports provided: SurveyProgressButtons */
67374
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
67375
+
67376
+ "use strict";
67377
+ __webpack_require__.r(__webpack_exports__);
67378
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SurveyProgressButtons", function() { return SurveyProgressButtons; });
67379
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
67380
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
67381
+ /* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! survey-core */ "./src/entries/core.ts");
67382
+ /* harmony import */ var _reactSurveyNavigationBase__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./reactSurveyNavigationBase */ "./src/react/reactSurveyNavigationBase.tsx");
67383
+ /* harmony import */ var _element_factory__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./element-factory */ "./src/react/element-factory.tsx");
67384
+ var __extends = (undefined && undefined.__extends) || (function () {
67385
+ var extendStatics = function (d, b) {
67386
+ extendStatics = Object.setPrototypeOf ||
67387
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
67388
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
67389
+ return extendStatics(d, b);
67390
+ };
67391
+ return function (d, b) {
67392
+ if (typeof b !== "function" && b !== null)
67393
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
67394
+ extendStatics(d, b);
67395
+ function __() { this.constructor = d; }
67396
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
67397
+ };
67398
+ })();
67399
+
67400
+
67401
+
67402
+
67403
+ var SurveyProgressButtons = /** @class */ (function (_super) {
67404
+ __extends(SurveyProgressButtons, _super);
67405
+ function SurveyProgressButtons(props) {
67406
+ var _this = _super.call(this, props) || this;
67407
+ _this.listContainerRef = react__WEBPACK_IMPORTED_MODULE_0__["createRef"]();
67408
+ return _this;
67409
+ }
67410
+ Object.defineProperty(SurveyProgressButtons.prototype, "model", {
67411
+ get: function () {
67412
+ return this.props.model;
67413
+ },
67414
+ enumerable: false,
67415
+ configurable: true
67416
+ });
67417
+ Object.defineProperty(SurveyProgressButtons.prototype, "container", {
67418
+ get: function () {
67419
+ return this.props.container;
67420
+ },
67421
+ enumerable: false,
67422
+ configurable: true
67423
+ });
67424
+ SurveyProgressButtons.prototype.onResize = function (canShowItemTitles) {
67425
+ this.setState({ canShowItemTitles: canShowItemTitles });
67426
+ this.setState({ canShowHeader: !canShowItemTitles });
67427
+ };
67428
+ SurveyProgressButtons.prototype.onUpdateScroller = function (hasScroller) {
67429
+ this.setState({ hasScroller: hasScroller });
67430
+ };
67431
+ SurveyProgressButtons.prototype.onUpdateSettings = function () {
67432
+ this.setState({ canShowItemTitles: this.model.showItemTitles });
67433
+ this.setState({ canShowFooter: !this.model.showItemTitles });
67434
+ };
67435
+ SurveyProgressButtons.prototype.render = function () {
67436
+ var _this = this;
67437
+ return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.model.getRootCss(this.props.container), role: "progressbar", "aria-valuemin": 0, "aria-valuemax": 100, "aria-label": "progress" },
67438
+ this.state.canShowHeader ? react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.css.progressButtonsHeader },
67439
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.css.progressButtonsPageTitle, title: this.model.headerText }, this.model.headerText)) : null,
67440
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.css.progressButtonsContainer },
67441
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.model.getScrollButtonCss(this.state.hasScroller, true), role: "button", onClick: function () {
67442
+ return _this.clickScrollButton(_this.listContainerRef.current, true);
67443
+ } }),
67444
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.css.progressButtonsListContainer, ref: this.listContainerRef },
67445
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("ul", { className: this.css.progressButtonsList }, this.getListElements())),
67446
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.model.getScrollButtonCss(this.state.hasScroller, false), role: "button", onClick: function () {
67447
+ return _this.clickScrollButton(_this.listContainerRef.current, false);
67448
+ } })),
67449
+ this.state.canShowFooter ? react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.css.progressButtonsFooter },
67450
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.css.progressButtonsPageTitle, title: this.model.footerText }, this.model.footerText)) : null));
67451
+ };
67452
+ SurveyProgressButtons.prototype.getListElements = function () {
67453
+ var _this = this;
67454
+ var buttons = [];
67455
+ this.survey.visiblePages.forEach(function (page, index) {
67456
+ buttons.push(_this.renderListElement(page, index));
67457
+ });
67458
+ return buttons;
67459
+ };
67460
+ SurveyProgressButtons.prototype.renderListElement = function (page, index) {
67461
+ var _this = this;
67462
+ return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("li", { key: "listelement" + index, className: this.model.getListElementCss(index), onClick: this.model.isListElementClickable(index)
67463
+ ? function () { return _this.model.clickListElement(page); }
67464
+ : undefined, "data-page-number": this.model.getItemNumber(page) },
67465
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.css.progressButtonsConnector }),
67466
+ this.state.canShowItemTitles ? react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null,
67467
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.css.progressButtonsPageTitle, title: page.renderedNavigationTitle }, page.renderedNavigationTitle),
67468
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.css.progressButtonsPageDescription, title: page.navigationDescription }, page.navigationDescription)) : null));
67469
+ };
67470
+ SurveyProgressButtons.prototype.clickScrollButton = function (listContainerElement, isLeftScroll) {
67471
+ if (!!listContainerElement) {
67472
+ listContainerElement.scrollLeft += (isLeftScroll ? -1 : 1) * 70;
67473
+ }
67474
+ };
67475
+ SurveyProgressButtons.prototype.componentDidMount = function () {
67476
+ var _this = this;
67477
+ _super.prototype.componentDidMount.call(this);
67478
+ setTimeout(function () {
67479
+ _this.respManager = new survey_core__WEBPACK_IMPORTED_MODULE_1__["ProgressButtonsResponsivityManager"](_this.model, _this.listContainerRef.current, _this);
67480
+ }, 10);
67481
+ };
67482
+ SurveyProgressButtons.prototype.componentWillUnmount = function () {
67483
+ this.respManager.dispose();
67484
+ _super.prototype.componentWillUnmount.call(this);
67485
+ };
67486
+ return SurveyProgressButtons;
67487
+ }(_reactSurveyNavigationBase__WEBPACK_IMPORTED_MODULE_2__["SurveyNavigationBase"]));
67488
+
67489
+ _element_factory__WEBPACK_IMPORTED_MODULE_3__["ReactElementFactory"].Instance.registerElement("sv-progress-buttons", function (props) {
67490
+ return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](SurveyProgressButtons, props);
67491
+ });
67492
+
67493
+
67494
+ /***/ }),
67495
+
67496
+ /***/ "./src/react/progressToc.tsx":
67497
+ /*!***********************************!*\
67498
+ !*** ./src/react/progressToc.tsx ***!
67499
+ \***********************************/
67500
+ /*! exports provided: SurveyProgressToc */
67501
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
67502
+
67503
+ "use strict";
67504
+ __webpack_require__.r(__webpack_exports__);
67505
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SurveyProgressToc", function() { return SurveyProgressToc; });
67506
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
67507
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
67508
+ /* harmony import */ var _reactSurveyNavigationBase__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./reactSurveyNavigationBase */ "./src/react/reactSurveyNavigationBase.tsx");
67509
+ /* harmony import */ var _element_factory__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./element-factory */ "./src/react/element-factory.tsx");
67510
+ /* harmony import */ var _components_list_list__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./components/list/list */ "./src/react/components/list/list.tsx");
67511
+ /* harmony import */ var _components_popup_popup__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./components/popup/popup */ "./src/react/components/popup/popup.tsx");
67512
+ /* harmony import */ var _components_svg_icon_svg_icon__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./components/svg-icon/svg-icon */ "./src/react/components/svg-icon/svg-icon.tsx");
67513
+ var __extends = (undefined && undefined.__extends) || (function () {
67514
+ var extendStatics = function (d, b) {
67515
+ extendStatics = Object.setPrototypeOf ||
67516
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
67517
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
67518
+ return extendStatics(d, b);
67519
+ };
67520
+ return function (d, b) {
67521
+ if (typeof b !== "function" && b !== null)
67522
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
67523
+ extendStatics(d, b);
67524
+ function __() { this.constructor = d; }
67525
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
67526
+ };
67527
+ })();
67528
+
67529
+
67530
+
67531
+
67532
+
67533
+
67534
+ var SurveyProgressToc = /** @class */ (function (_super) {
67535
+ __extends(SurveyProgressToc, _super);
67536
+ function SurveyProgressToc() {
67537
+ return _super !== null && _super.apply(this, arguments) || this;
67538
+ }
67539
+ SurveyProgressToc.prototype.render = function () {
67540
+ var tocModel = this.props.model;
67541
+ var content;
67542
+ if (tocModel.isMobile) {
67543
+ content = react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { onClick: tocModel.togglePopup },
67544
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_components_svg_icon_svg_icon__WEBPACK_IMPORTED_MODULE_5__["SvgIcon"], { iconName: tocModel.icon, size: 24 }),
67545
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_components_popup_popup__WEBPACK_IMPORTED_MODULE_4__["Popup"], { model: tocModel.popupModel }));
67546
+ }
67547
+ else {
67548
+ content = react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_components_list_list__WEBPACK_IMPORTED_MODULE_3__["List"], { model: tocModel.listModel });
67549
+ }
67550
+ return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: tocModel.containerCss }, content));
67551
+ };
67552
+ return SurveyProgressToc;
67553
+ }(_reactSurveyNavigationBase__WEBPACK_IMPORTED_MODULE_1__["SurveyNavigationBase"]));
67554
+
67555
+ _element_factory__WEBPACK_IMPORTED_MODULE_2__["ReactElementFactory"].Instance.registerElement("sv-navigation-toc", function (props) {
67556
+ return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](SurveyProgressToc, props);
67557
+ });
67558
+
67559
+
66374
67560
  /***/ }),
66375
67561
 
66376
67562
  /***/ "./src/react/rating-dropdown.tsx":
@@ -66503,6 +67689,7 @@ var PopupSurvey = /** @class */ (function (_super) {
66503
67689
  var titleCollapsed = null;
66504
67690
  var expandCollapseIcon;
66505
67691
  var closeButton = null;
67692
+ var allowFullScreenButon = null;
66506
67693
  if (popup.isCollapsed) {
66507
67694
  headerCss += " " + popup.cssRootCollapsedMod;
66508
67695
  titleCollapsed = this.renderTitleCollapsed(popup);
@@ -66514,9 +67701,13 @@ var PopupSurvey = /** @class */ (function (_super) {
66514
67701
  if (popup.allowClose) {
66515
67702
  closeButton = this.renderCloseButton(this.popup);
66516
67703
  }
67704
+ if (popup.allowFullScreen) {
67705
+ allowFullScreenButon = this.renderAllowFullScreenButon(this.popup);
67706
+ }
66517
67707
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: popup.cssHeaderRoot },
66518
67708
  titleCollapsed,
66519
67709
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: popup.cssHeaderButtonsContainer },
67710
+ allowFullScreenButon,
66520
67711
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: popup.cssHeaderCollapseButton, onClick: this.handleOnExpanded }, expandCollapseIcon),
66521
67712
  closeButton)));
66522
67713
  };
@@ -66535,6 +67726,16 @@ var PopupSurvey = /** @class */ (function (_super) {
66535
67726
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: popup.cssHeaderCloseButton, onClick: function () { popup.hide(); } },
66536
67727
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_components_svg_icon_svg_icon__WEBPACK_IMPORTED_MODULE_3__["SvgIcon"], { iconName: "icon-close_16x16", size: 16 })));
66537
67728
  };
67729
+ PopupSurvey.prototype.renderAllowFullScreenButon = function (popup) {
67730
+ var Icon;
67731
+ if (popup.isFullScreen) {
67732
+ Icon = react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_components_svg_icon_svg_icon__WEBPACK_IMPORTED_MODULE_3__["SvgIcon"], { iconName: "icon-back-to-panel_16x16", size: 16 });
67733
+ }
67734
+ else {
67735
+ Icon = react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_components_svg_icon_svg_icon__WEBPACK_IMPORTED_MODULE_3__["SvgIcon"], { iconName: "icon-full-screen_16x16", size: 16 });
67736
+ }
67737
+ return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: popup.cssHeaderFullScreenButton, onClick: function () { popup.toggleFullScreen(); } }, Icon));
67738
+ };
66538
67739
  PopupSurvey.prototype.renderBody = function () {
66539
67740
  return react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.popup.cssBody }, this.doRender());
66540
67741
  };
@@ -66547,6 +67748,7 @@ var PopupSurvey = /** @class */ (function (_super) {
66547
67748
  this.popup.closeOnCompleteTimeout = newProps.closeOnCompleteTimeout;
66548
67749
  }
66549
67750
  this.popup.allowClose = newProps.allowClose;
67751
+ this.popup.allowFullScreen = newProps.allowFullScreen;
66550
67752
  this.popup.isShowing = true;
66551
67753
  if (!this.popup.isExpanded && (newProps.expanded || newProps.isExpanded))
66552
67754
  this.popup.expand();
@@ -66987,273 +68189,6 @@ var SurveyNavigationBase = /** @class */ (function (_super) {
66987
68189
 
66988
68190
 
66989
68191
 
66990
- /***/ }),
66991
-
66992
- /***/ "./src/react/reactSurveyProgress.tsx":
66993
- /*!*******************************************!*\
66994
- !*** ./src/react/reactSurveyProgress.tsx ***!
66995
- \*******************************************/
66996
- /*! exports provided: SurveyProgress */
66997
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
66998
-
66999
- "use strict";
67000
- __webpack_require__.r(__webpack_exports__);
67001
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SurveyProgress", function() { return SurveyProgress; });
67002
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
67003
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
67004
- /* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! survey-core */ "./src/entries/core.ts");
67005
- /* harmony import */ var _reactSurveyNavigationBase__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./reactSurveyNavigationBase */ "./src/react/reactSurveyNavigationBase.tsx");
67006
- /* harmony import */ var _element_factory__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./element-factory */ "./src/react/element-factory.tsx");
67007
- var __extends = (undefined && undefined.__extends) || (function () {
67008
- var extendStatics = function (d, b) {
67009
- extendStatics = Object.setPrototypeOf ||
67010
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
67011
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
67012
- return extendStatics(d, b);
67013
- };
67014
- return function (d, b) {
67015
- if (typeof b !== "function" && b !== null)
67016
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
67017
- extendStatics(d, b);
67018
- function __() { this.constructor = d; }
67019
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
67020
- };
67021
- })();
67022
-
67023
-
67024
-
67025
-
67026
- var SurveyProgress = /** @class */ (function (_super) {
67027
- __extends(SurveyProgress, _super);
67028
- function SurveyProgress(props) {
67029
- return _super.call(this, props) || this;
67030
- }
67031
- Object.defineProperty(SurveyProgress.prototype, "isTop", {
67032
- get: function () {
67033
- return this.props.isTop;
67034
- },
67035
- enumerable: false,
67036
- configurable: true
67037
- });
67038
- Object.defineProperty(SurveyProgress.prototype, "progress", {
67039
- get: function () {
67040
- return this.survey.progressValue;
67041
- },
67042
- enumerable: false,
67043
- configurable: true
67044
- });
67045
- Object.defineProperty(SurveyProgress.prototype, "progressText", {
67046
- get: function () {
67047
- return this.survey.progressText;
67048
- },
67049
- enumerable: false,
67050
- configurable: true
67051
- });
67052
- SurveyProgress.prototype.render = function () {
67053
- var progressStyle = {
67054
- width: this.progress + "%",
67055
- };
67056
- return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.survey.getProgressCssClasses(this.props.container) },
67057
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { style: progressStyle, className: this.css.progressBar, role: "progressbar", "aria-valuemin": 0, "aria-valuemax": 100, "aria-label": "progress" },
67058
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", { className: survey_core__WEBPACK_IMPORTED_MODULE_1__["SurveyProgressModel"].getProgressTextInBarCss(this.css) }, this.progressText)),
67059
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", { className: survey_core__WEBPACK_IMPORTED_MODULE_1__["SurveyProgressModel"].getProgressTextUnderBarCss(this.css) }, this.progressText)));
67060
- };
67061
- return SurveyProgress;
67062
- }(_reactSurveyNavigationBase__WEBPACK_IMPORTED_MODULE_2__["SurveyNavigationBase"]));
67063
-
67064
- _element_factory__WEBPACK_IMPORTED_MODULE_3__["ReactElementFactory"].Instance.registerElement("sv-progress-pages", function (props) {
67065
- return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](SurveyProgress, props);
67066
- });
67067
- _element_factory__WEBPACK_IMPORTED_MODULE_3__["ReactElementFactory"].Instance.registerElement("sv-progress-questions", function (props) {
67068
- return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](SurveyProgress, props);
67069
- });
67070
- _element_factory__WEBPACK_IMPORTED_MODULE_3__["ReactElementFactory"].Instance.registerElement("sv-progress-correctquestions", function (props) {
67071
- return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](SurveyProgress, props);
67072
- });
67073
- _element_factory__WEBPACK_IMPORTED_MODULE_3__["ReactElementFactory"].Instance.registerElement("sv-progress-requiredquestions", function (props) {
67074
- return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](SurveyProgress, props);
67075
- });
67076
-
67077
-
67078
- /***/ }),
67079
-
67080
- /***/ "./src/react/reactSurveyProgressButtons.tsx":
67081
- /*!**************************************************!*\
67082
- !*** ./src/react/reactSurveyProgressButtons.tsx ***!
67083
- \**************************************************/
67084
- /*! exports provided: SurveyProgressButtons */
67085
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
67086
-
67087
- "use strict";
67088
- __webpack_require__.r(__webpack_exports__);
67089
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SurveyProgressButtons", function() { return SurveyProgressButtons; });
67090
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
67091
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
67092
- /* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! survey-core */ "./src/entries/core.ts");
67093
- /* harmony import */ var _reactSurveyNavigationBase__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./reactSurveyNavigationBase */ "./src/react/reactSurveyNavigationBase.tsx");
67094
- /* harmony import */ var _element_factory__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./element-factory */ "./src/react/element-factory.tsx");
67095
- var __extends = (undefined && undefined.__extends) || (function () {
67096
- var extendStatics = function (d, b) {
67097
- extendStatics = Object.setPrototypeOf ||
67098
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
67099
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
67100
- return extendStatics(d, b);
67101
- };
67102
- return function (d, b) {
67103
- if (typeof b !== "function" && b !== null)
67104
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
67105
- extendStatics(d, b);
67106
- function __() { this.constructor = d; }
67107
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
67108
- };
67109
- })();
67110
-
67111
-
67112
-
67113
-
67114
- var SurveyProgressButtons = /** @class */ (function (_super) {
67115
- __extends(SurveyProgressButtons, _super);
67116
- function SurveyProgressButtons(props) {
67117
- var _this = _super.call(this, props) || this;
67118
- _this.updateScroller = undefined;
67119
- _this.progressButtonsModel = new survey_core__WEBPACK_IMPORTED_MODULE_1__["SurveyProgressButtonsModel"](_this.survey);
67120
- _this.listContainerRef = react__WEBPACK_IMPORTED_MODULE_0__["createRef"]();
67121
- return _this;
67122
- }
67123
- SurveyProgressButtons.prototype.render = function () {
67124
- var _this = this;
67125
- return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.css.progressButtonsContainerCenter },
67126
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.css.progressButtonsContainer },
67127
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.getScrollButtonCss(true), role: "button", onClick: function () {
67128
- return _this.clickScrollButton(_this.listContainerRef.current, true);
67129
- } }),
67130
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.css.progressButtonsListContainer, ref: this.listContainerRef },
67131
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("ul", { className: this.css.progressButtonsList }, this.getListElements())),
67132
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.getScrollButtonCss(false), role: "button", onClick: function () {
67133
- return _this.clickScrollButton(_this.listContainerRef.current, false);
67134
- } }))));
67135
- };
67136
- SurveyProgressButtons.prototype.getListElements = function () {
67137
- var _this = this;
67138
- var buttons = [];
67139
- this.survey.visiblePages.forEach(function (page, index) {
67140
- buttons.push(_this.renderListElement(page, index));
67141
- });
67142
- return buttons;
67143
- };
67144
- SurveyProgressButtons.prototype.renderListElement = function (page, index) {
67145
- var _this = this;
67146
- return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("li", { key: "listelement" + index, className: this.getListElementCss(index), onClick: this.isListElementClickable(index)
67147
- ? function () { return _this.clickListElement(index); }
67148
- : undefined },
67149
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.css.progressButtonsPageTitle, title: page.renderedNavigationTitle }, page.renderedNavigationTitle),
67150
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.css.progressButtonsPageDescription, title: page.navigationDescription }, page.navigationDescription)));
67151
- };
67152
- SurveyProgressButtons.prototype.isListElementClickable = function (index) {
67153
- return this.progressButtonsModel.isListElementClickable(index);
67154
- };
67155
- SurveyProgressButtons.prototype.getListElementCss = function (index) {
67156
- return this.progressButtonsModel.getListElementCss(index);
67157
- };
67158
- SurveyProgressButtons.prototype.clickListElement = function (index) {
67159
- this.progressButtonsModel.clickListElement(index);
67160
- };
67161
- SurveyProgressButtons.prototype.getScrollButtonCss = function (isLeftScroll) {
67162
- return this.progressButtonsModel.getScrollButtonCss(this.state.hasScroller, isLeftScroll);
67163
- };
67164
- SurveyProgressButtons.prototype.clickScrollButton = function (listContainerElement, isLeftScroll) {
67165
- if (!!listContainerElement) {
67166
- listContainerElement.scrollLeft += (isLeftScroll ? -1 : 1) * 70;
67167
- }
67168
- };
67169
- SurveyProgressButtons.prototype.componentDidMount = function () {
67170
- var _this = this;
67171
- this.updateScroller = setInterval(function () {
67172
- if (!!_this.listContainerRef.current) {
67173
- _this.setState({ hasScroller: _this.listContainerRef.current.scrollWidth > _this.listContainerRef.current.offsetWidth, });
67174
- }
67175
- }, 100);
67176
- };
67177
- SurveyProgressButtons.prototype.componentWillUnmount = function () {
67178
- if (typeof this.updateScroller !== "undefined") {
67179
- clearInterval(this.updateScroller);
67180
- this.updateScroller = undefined;
67181
- }
67182
- };
67183
- return SurveyProgressButtons;
67184
- }(_reactSurveyNavigationBase__WEBPACK_IMPORTED_MODULE_2__["SurveyNavigationBase"]));
67185
-
67186
- _element_factory__WEBPACK_IMPORTED_MODULE_3__["ReactElementFactory"].Instance.registerElement("sv-progress-buttons", function (props) {
67187
- return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](SurveyProgressButtons, props);
67188
- });
67189
-
67190
-
67191
- /***/ }),
67192
-
67193
- /***/ "./src/react/reactSurveyProgressToc.tsx":
67194
- /*!**********************************************!*\
67195
- !*** ./src/react/reactSurveyProgressToc.tsx ***!
67196
- \**********************************************/
67197
- /*! exports provided: SurveyProgressToc */
67198
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
67199
-
67200
- "use strict";
67201
- __webpack_require__.r(__webpack_exports__);
67202
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SurveyProgressToc", function() { return SurveyProgressToc; });
67203
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
67204
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
67205
- /* harmony import */ var _reactSurveyNavigationBase__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./reactSurveyNavigationBase */ "./src/react/reactSurveyNavigationBase.tsx");
67206
- /* harmony import */ var _element_factory__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./element-factory */ "./src/react/element-factory.tsx");
67207
- /* harmony import */ var _components_list_list__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./components/list/list */ "./src/react/components/list/list.tsx");
67208
- /* harmony import */ var _components_popup_popup__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./components/popup/popup */ "./src/react/components/popup/popup.tsx");
67209
- /* harmony import */ var _components_svg_icon_svg_icon__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./components/svg-icon/svg-icon */ "./src/react/components/svg-icon/svg-icon.tsx");
67210
- var __extends = (undefined && undefined.__extends) || (function () {
67211
- var extendStatics = function (d, b) {
67212
- extendStatics = Object.setPrototypeOf ||
67213
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
67214
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
67215
- return extendStatics(d, b);
67216
- };
67217
- return function (d, b) {
67218
- if (typeof b !== "function" && b !== null)
67219
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
67220
- extendStatics(d, b);
67221
- function __() { this.constructor = d; }
67222
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
67223
- };
67224
- })();
67225
-
67226
-
67227
-
67228
-
67229
-
67230
-
67231
- var SurveyProgressToc = /** @class */ (function (_super) {
67232
- __extends(SurveyProgressToc, _super);
67233
- function SurveyProgressToc() {
67234
- return _super !== null && _super.apply(this, arguments) || this;
67235
- }
67236
- SurveyProgressToc.prototype.render = function () {
67237
- var tocModel = this.props.model;
67238
- var content;
67239
- if (tocModel.isMobile) {
67240
- content = react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { onClick: tocModel.togglePopup },
67241
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_components_svg_icon_svg_icon__WEBPACK_IMPORTED_MODULE_5__["SvgIcon"], { iconName: tocModel.icon, size: 24 }),
67242
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_components_popup_popup__WEBPACK_IMPORTED_MODULE_4__["Popup"], { model: tocModel.popupModel }));
67243
- }
67244
- else {
67245
- content = react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_components_list_list__WEBPACK_IMPORTED_MODULE_3__["List"], { model: tocModel.listModel });
67246
- }
67247
- return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: tocModel.containerCss }, content));
67248
- };
67249
- return SurveyProgressToc;
67250
- }(_reactSurveyNavigationBase__WEBPACK_IMPORTED_MODULE_1__["SurveyNavigationBase"]));
67251
-
67252
- _element_factory__WEBPACK_IMPORTED_MODULE_2__["ReactElementFactory"].Instance.registerElement("sv-navigation-toc", function (props) {
67253
- return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](SurveyProgressToc, props);
67254
- });
67255
-
67256
-
67257
68192
  /***/ }),
67258
68193
 
67259
68194
  /***/ "./src/react/reactquestion.tsx":
@@ -67597,7 +68532,7 @@ var SurveyQuestionAndErrorsCell = /** @class */ (function (_super) {
67597
68532
  var style = this.getCellStyle();
67598
68533
  var cell = this.props.cell;
67599
68534
  var focusIn = function () { cell.focusIn(); };
67600
- return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("td", { ref: this.cellRef, className: this.itemCss, colSpan: cell.colSpans, "data-responsive-title": this.getHeaderText(), title: cell.getTitle(), style: style, onFocus: focusIn }, this.wrapCell(this.props.cell, (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.cssClasses.cellQuestionWrapper }, this.renderQuestion())))));
68535
+ return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("td", { ref: this.cellRef, className: this.itemCss, colSpan: cell.colSpans, "data-responsive-title": this.getHeaderText(), title: cell.getTitle(), style: style, onFocus: focusIn }, this.wrapCell(this.props.cell, (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.props.cell.cellQuestionWrapperClassName }, this.renderQuestion())))));
67601
68536
  };
67602
68537
  SurveyQuestionAndErrorsCell.prototype.getCellStyle = function () {
67603
68538
  return null;
@@ -68131,13 +69066,27 @@ var SurveyQuestionCommentItem = /** @class */ (function (_super) {
68131
69066
  _this.state = { comment: _this.getComment() || "" };
68132
69067
  return _this;
68133
69068
  }
68134
- SurveyQuestionCommentItem.prototype.getStateComment = function () {
68135
- var comment = this.getComment();
68136
- var stateComment = this.state.comment;
68137
- if (stateComment !== undefined && stateComment.trim() !== comment) {
68138
- stateComment = comment;
69069
+ SurveyQuestionCommentItem.prototype.componentDidUpdate = function (prevProps, prevState) {
69070
+ _super.prototype.componentDidUpdate.call(this, prevProps, prevState);
69071
+ this.updateDomElement();
69072
+ };
69073
+ SurveyQuestionCommentItem.prototype.componentDidMount = function () {
69074
+ _super.prototype.componentDidMount.call(this);
69075
+ this.updateDomElement();
69076
+ };
69077
+ SurveyQuestionCommentItem.prototype.updateDomElement = function () {
69078
+ if (!!this.control) {
69079
+ var control = this.control;
69080
+ var newValue = this.getComment() || "";
69081
+ if (!survey_core__WEBPACK_IMPORTED_MODULE_2__["Helpers"].isTwoValueEquals(newValue, control.value, false, true, false)) {
69082
+ control.value = newValue;
69083
+ }
69084
+ }
69085
+ };
69086
+ SurveyQuestionCommentItem.prototype.setControl = function (element) {
69087
+ if (!!element) {
69088
+ this.control = element;
68139
69089
  }
68140
- return stateComment !== undefined ? stateComment : comment || "";
68141
69090
  };
68142
69091
  SurveyQuestionCommentItem.prototype.canRender = function () {
68143
69092
  return !!this.props.question;
@@ -68164,18 +69113,11 @@ var SurveyQuestionCommentItem = /** @class */ (function (_super) {
68164
69113
  var _this = this;
68165
69114
  var question = this.props.question;
68166
69115
  var className = this.props.otherCss || this.cssClasses.comment;
68167
- var handleOnChange = function (event) {
68168
- _this.setState({ comment: event.target.value });
68169
- // https://github.com/surveyjs/survey-library/issues/7252
68170
- if (!survey_core__WEBPACK_IMPORTED_MODULE_2__["Helpers"].isTwoValueEquals(_this.getComment(), event.target.value, false, true, false)) {
68171
- _this.setComment(event.target.value);
68172
- }
68173
- };
68174
- var comment = this.getStateComment();
68175
69116
  if (question.isReadOnlyRenderDiv()) {
69117
+ var comment = this.getComment() || "";
68176
69118
  return react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", null, comment);
68177
69119
  }
68178
- return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("textarea", { id: this.getId(), className: className, value: comment, disabled: this.isDisplayMode, maxLength: question.getOthersMaxLength(), placeholder: this.getPlaceholder(), onChange: handleOnChange, onBlur: function (e) { _this.onCommentChange(e); handleOnChange(e); }, onInput: function (e) { return _this.onCommentInput(e); }, "aria-required": question.isRequired || question.a11y_input_ariaRequired, "aria-label": question.ariaLabel || question.a11y_input_ariaLabel, style: { resize: question.resizeStyle } }));
69120
+ return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("textarea", { id: this.getId(), className: className, ref: function (textarea) { return (_this.setControl(textarea)); }, disabled: this.isDisplayMode, maxLength: question.getOthersMaxLength(), placeholder: this.getPlaceholder(), onBlur: function (e) { _this.onCommentChange(e); }, onInput: function (e) { return _this.onCommentInput(e); }, "aria-required": question.isRequired || question.a11y_input_ariaRequired, "aria-label": question.ariaLabel || question.a11y_input_ariaLabel, style: { resize: question.resizeStyle } }));
68179
69121
  };
68180
69122
  return SurveyQuestionCommentItem;
68181
69123
  }(_reactquestion_element__WEBPACK_IMPORTED_MODULE_1__["ReactSurveyElement"]));
@@ -72307,8 +73249,8 @@ var settings = {
72307
73249
  * @param message A message to be displayed in the confirm dialog window.
72308
73250
  * @param callback A callback function that should be called with `true` if a user confirms an action or `false` otherwise.
72309
73251
  */
72310
- confirmActionAsync: function (message, callback, applyTitle, locale) {
72311
- return Object(_utils_utils__WEBPACK_IMPORTED_MODULE_0__["showConfirmDialog"])(message, callback, applyTitle, locale);
73252
+ confirmActionAsync: function (message, callback, applyTitle, locale, rootElement) {
73253
+ return Object(_utils_utils__WEBPACK_IMPORTED_MODULE_0__["showConfirmDialog"])(message, callback, applyTitle, locale, rootElement);
72312
73254
  },
72313
73255
  /**
72314
73256
  * A minimum width value for all survey elements.
@@ -72359,15 +73301,27 @@ var settings = {
72359
73301
  */
72360
73302
  showItemsInOrder: "default",
72361
73303
  /**
72362
- * A value to save in survey results when respondents select the None choice item.
73304
+ * A value to save in survey results when respondents select the "None" choice item.
72363
73305
  *
72364
73306
  * Default value: `"none"`
72365
73307
  */
72366
73308
  noneItemValue: "none",
72367
73309
  /**
72368
- * An object whose properties specify the order of the special choice items (None, Other, Select All) in select-based questions.
73310
+ * A value to save in survey results when respondents select the "Refuse to answer" choice item.
73311
+ *
73312
+ * Default value: `"refused"`
73313
+ */
73314
+ refuseItemValue: "refused",
73315
+ /**
73316
+ * A value to save in survey results when respondents select the "Don't know" choice item.
73317
+ *
73318
+ * Default value: `"dontknow"`
73319
+ */
73320
+ dontKnowItemValue: "dontknow",
73321
+ /**
73322
+ * An object whose properties specify the order of the special choice items ("None", "Other", "Select All", "Refuse to answer", "Don't know") in select-based questions.
72369
73323
  *
72370
- * Default value: `{ selectAllItem: [-1], noneItem: [1], otherItem: [2] }`
73324
+ * Default value: `{ selectAllItem: [-1], noneItem: [1], otherItem: [2], dontKnowItem: [3], otherItem: [4] }`
72371
73325
  *
72372
73326
  * Use this object to reorder special choices. Each property accepts an array of integer numbers. Negative numbers place a special choice item above regular choice items, positive numbers place it below them. For instance, the code below specifies the following order of choices: None, Select All, regular choices, Other.
72373
73327
  *
@@ -72388,7 +73342,9 @@ var settings = {
72388
73342
  specialChoicesOrder: {
72389
73343
  selectAllItem: [-1],
72390
73344
  noneItem: [1],
72391
- otherItem: [2]
73345
+ refuseItem: [2],
73346
+ dontKnowItem: [3],
73347
+ otherItem: [4]
72392
73348
  },
72393
73349
  /**
72394
73350
  * A list of supported validators by question type.
@@ -72442,6 +73398,12 @@ var settings = {
72442
73398
  * Default value: `true`
72443
73399
  */
72444
73400
  showMaxLengthIndicator: true,
73401
+ /**
73402
+ * Set to `false` to disable animations
73403
+ *
73404
+ * Default value: `true`
73405
+ */
73406
+ animationEnabled: true,
72445
73407
  /**
72446
73408
  * An object that specifies heading levels (`<h1>`, `<h2>`, etc.) to use when rendering survey, page, panel, and question titles.
72447
73409
  *
@@ -72527,7 +73489,8 @@ var settings = {
72527
73489
  "email",
72528
73490
  "impp",
72529
73491
  ]
72530
- }
73492
+ },
73493
+ legacyProgressBarView: false
72531
73494
  };
72532
73495
 
72533
73496
 
@@ -74352,7 +75315,8 @@ __webpack_require__.r(__webpack_exports__);
74352
75315
  /* harmony import */ var _header__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./header */ "./src/header.ts");
74353
75316
  /* harmony import */ var _surveytimer__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./surveytimer */ "./src/surveytimer.ts");
74354
75317
  /* harmony import */ var _surveyTaskManager__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./surveyTaskManager */ "./src/surveyTaskManager.ts");
74355
- /* harmony import */ var _surveyToc__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./surveyToc */ "./src/surveyToc.ts");
75318
+ /* harmony import */ var _progress_buttons__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./progress-buttons */ "./src/progress-buttons.ts");
75319
+ /* harmony import */ var _surveyToc__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./surveyToc */ "./src/surveyToc.ts");
74356
75320
  var __extends = (undefined && undefined.__extends) || (function () {
74357
75321
  var extendStatics = function (d, b) {
74358
75322
  extendStatics = Object.setPrototypeOf ||
@@ -74396,6 +75360,7 @@ var __decorate = (undefined && undefined.__decorate) || function (decorators, ta
74396
75360
 
74397
75361
 
74398
75362
 
75363
+
74399
75364
 
74400
75365
 
74401
75366
  /**
@@ -74712,6 +75677,12 @@ var SurveyModel = /** @class */ (function (_super) {
74712
75677
  * @see getResult
74713
75678
  */
74714
75679
  _this.onGetResult = _this.addEvent();
75680
+ /**
75681
+ * An event that is raised when Survey Creator opens a dialog window for users to select files.
75682
+ * @see onUploadFile
75683
+ * @see uploadFiles
75684
+ */
75685
+ _this.onOpenFileChooser = _this.addEvent();
74715
75686
  /**
74716
75687
  * An event that is raised when a File Upload or Signature Pad question starts to upload a file. Applies only if [`storeDataAsText`](https://surveyjs.io/form-library/documentation/api-reference/file-model#storeDataAsText) is `false`. Use this event to upload files to your server.
74717
75688
  *
@@ -74865,6 +75836,12 @@ var SurveyModel = /** @class */ (function (_super) {
74865
75836
  * [View Demo](https://surveyjs.io/form-library/examples/lazy-loading-dropdown/ (linkStyle))
74866
75837
  */
74867
75838
  _this.onChoicesLazyLoad = _this.addEvent();
75839
+ /**
75840
+ * An event that is raised each time a search string in a [Dropdown](https://surveyjs.io/form-library/documentation/api-reference/dropdown-menu-model) or [Tag Box](https://surveyjs.io/form-library/documentation/api-reference/dropdown-tag-box-model) question changes. Use this event to implement custom filtering of choice options.
75841
+ * @see [QuestionDropdownModel.searchEnabled](https://surveyjs.io/form-library/documentation/api-reference/dropdown-menu-model#searchEnabled)
75842
+ * @see [QuestionDropdownModel.searchMode](https://surveyjs.io/form-library/documentation/api-reference/dropdown-menu-model#searchMode)
75843
+ */
75844
+ _this.onChoicesSearch = _this.addEvent();
74868
75845
  /**
74869
75846
  * Use this event to load a display text for the [default choice item](https://surveyjs.io/form-library/documentation/questiondropdownmodel#defaultValue) in [Dropdown](https://surveyjs.io/form-library/documentation/questiondropdownmodel) and [Tag Box](https://surveyjs.io/form-library/documentation/questiontagboxmodel) questions.
74870
75847
  *
@@ -75236,6 +76213,7 @@ var SurveyModel = /** @class */ (function (_super) {
75236
76213
  _this.onScrollCallback = undefined;
75237
76214
  }
75238
76215
  });
76216
+ _this.progressBarValue = new _progress_buttons__WEBPACK_IMPORTED_MODULE_23__["ProgressButtons"](_this);
75239
76217
  _this.layoutElements.push({
75240
76218
  id: "timerpanel",
75241
76219
  template: "survey-timerpanel",
@@ -75245,7 +76223,8 @@ var SurveyModel = /** @class */ (function (_super) {
75245
76223
  _this.layoutElements.push({
75246
76224
  id: "progress-buttons",
75247
76225
  component: "sv-progress-buttons",
75248
- data: _this
76226
+ data: _this.progressBar,
76227
+ processResponsiveness: function (width) { return _this.progressBar.processResponsiveness && _this.progressBar.processResponsiveness(width); }
75249
76228
  });
75250
76229
  _this.layoutElements.push({
75251
76230
  id: "progress-questions",
@@ -75270,10 +76249,10 @@ var SurveyModel = /** @class */ (function (_super) {
75270
76249
  _this.addLayoutElement({
75271
76250
  id: "toc-navigation",
75272
76251
  component: "sv-navigation-toc",
75273
- data: new _surveyToc__WEBPACK_IMPORTED_MODULE_23__["TOCModel"](_this)
76252
+ data: new _surveyToc__WEBPACK_IMPORTED_MODULE_24__["TOCModel"](_this)
75274
76253
  });
75275
76254
  _this.layoutElements.push({
75276
- id: "navigationbuttons",
76255
+ id: "buttons-navigation",
75277
76256
  component: "sv-action-bar",
75278
76257
  data: _this.navigationBar
75279
76258
  });
@@ -77215,6 +78194,13 @@ var SurveyModel = /** @class */ (function (_super) {
77215
78194
  enumerable: false,
77216
78195
  configurable: true
77217
78196
  });
78197
+ Object.defineProperty(SurveyModel.prototype, "progressBar", {
78198
+ get: function () {
78199
+ return this.progressBarValue;
78200
+ },
78201
+ enumerable: false,
78202
+ configurable: true
78203
+ });
77218
78204
  Object.defineProperty(SurveyModel.prototype, "showProgressBar", {
77219
78205
  /**
77220
78206
  * Controls the visibility of the progress bar and specifies its position.
@@ -77222,9 +78208,13 @@ var SurveyModel = /** @class */ (function (_super) {
77222
78208
  * Possible values:
77223
78209
  *
77224
78210
  * - `"off"` (default) - Hides the progress bar.
77225
- * - `"top"` - Displays the progress bar above survey content.
78211
+ * - `"aboveHeader"` - Displays the progress bar above the survey header.
78212
+ * - `"belowHeader"` - Displays the progress bar below the survey header.
77226
78213
  * - `"bottom"` - Displays the progress bar below survey content.
77227
- * - `"both"` - Displays the progress bar above and below survey content.
78214
+ * - `"topBottom"` - Displays the progress bar above and below survey content.
78215
+ * - `"auto"` - Automatically selects between `"aboveHeader"` and `"belowHeader"`.
78216
+ * - `"top"` - *(Obsolete)* Use the `"aboveHeader"` or `"belowHeader"` property value instead.
78217
+ * - `"both"` - *(Obsolete)* Use the `"topBottom"` property value instead.
77228
78218
  *
77229
78219
  * [View Demo](https://surveyjs.io/form-library/examples/navigation-default/ (linkStyle))
77230
78220
  * @see progressBarType
@@ -77249,7 +78239,9 @@ var SurveyModel = /** @class */ (function (_super) {
77249
78239
  * - `"questions"` - The number of answered questions.
77250
78240
  * - `"requiredQuestions"` - The number of answered [required questions](https://surveyjs.io/form-library/documentation/api-reference/question#isRequired).
77251
78241
  * - `"correctQuestions"` - The number of correct questions in a [quiz](https://surveyjs.io/form-library/documentation/design-survey/create-a-quiz).
77252
- * - `"buttons"` - Adds jump links to the progress bar.
78242
+ * - `"buttons"` - *(Obsolete)* Use the `"pages"` property value with the [`progressBarShowPageTitles`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#progressBarShowPageTitles) property set to `true` instead.
78243
+ *
78244
+ * > When `progressBarType` is set to `"pages"`, you can also enable the [`progressBarShowPageNumbers`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#progressBarShowPageNumbers) and [`progressBarShowPageTitles`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#progressBarShowPageTitles) properties if you want to display page numbers and titles in the progress bar.
77253
78245
  *
77254
78246
  * [View Demo](https://surveyjs.io/form-library/examples/navigation-buttons/ (linkStyle))
77255
78247
  * @see progressValue
@@ -77262,16 +78254,33 @@ var SurveyModel = /** @class */ (function (_super) {
77262
78254
  newValue = "correctQuestion";
77263
78255
  if (newValue === "requiredquestion")
77264
78256
  newValue = "requiredQuestion";
78257
+ // if (newValue === "buttons") {
78258
+ // newValue = "pages";
78259
+ // this.progressBarShowPageTitles = true;
78260
+ // }
77265
78261
  this.setPropertyValue("progressBarType", newValue);
77266
78262
  },
77267
78263
  enumerable: false,
77268
78264
  configurable: true
77269
78265
  });
78266
+ Object.defineProperty(SurveyModel.prototype, "progressBarComponentName", {
78267
+ get: function () {
78268
+ var actualProgressBarType = this.progressBarType;
78269
+ if (!_settings__WEBPACK_IMPORTED_MODULE_14__["settings"].legacyProgressBarView && _defaultCss_defaultV2Css__WEBPACK_IMPORTED_MODULE_4__["surveyCss"].currentType === "defaultV2") {
78270
+ if (isStrCiEqual(actualProgressBarType, "pages")) {
78271
+ actualProgressBarType = "buttons";
78272
+ }
78273
+ }
78274
+ return "progress-" + actualProgressBarType;
78275
+ },
78276
+ enumerable: false,
78277
+ configurable: true
78278
+ });
77270
78279
  Object.defineProperty(SurveyModel.prototype, "isShowProgressBarOnTop", {
77271
78280
  get: function () {
77272
78281
  if (!this.canShowProresBar())
77273
78282
  return false;
77274
- return this.showProgressBar === "top" || this.showProgressBar === "both";
78283
+ return ["auto", "aboveheader", "belowheader", "topbottom", "top", "both"].indexOf(this.showProgressBar) !== -1;
77275
78284
  },
77276
78285
  enumerable: false,
77277
78286
  configurable: true
@@ -77280,7 +78289,7 @@ var SurveyModel = /** @class */ (function (_super) {
77280
78289
  get: function () {
77281
78290
  if (!this.canShowProresBar())
77282
78291
  return false;
77283
- return this.showProgressBar === "bottom" || this.showProgressBar === "both";
78292
+ return this.showProgressBar === "bottom" || this.showProgressBar === "both" || this.showProgressBar === "topbottom";
77284
78293
  },
77285
78294
  enumerable: false,
77286
78295
  configurable: true
@@ -79611,6 +80620,7 @@ var SurveyModel = /** @class */ (function (_super) {
79611
80620
  return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_18__["CssClassBuilder"]()
79612
80621
  .append(this.css.root)
79613
80622
  .append(this.css.rootMobile, this.isMobile)
80623
+ .append(this.css.rootAnimationDisabled, !_settings__WEBPACK_IMPORTED_MODULE_14__["settings"].animationEnabled)
79614
80624
  .append(this.css.rootReadOnly, this.mode === "display")
79615
80625
  .append(this.css.rootCompact, this.isCompact)
79616
80626
  .append(this.css.rootFitToContainer, this.fitToContainer)
@@ -79991,6 +81001,26 @@ var SurveyModel = /** @class */ (function (_super) {
79991
81001
  _survey_element__WEBPACK_IMPORTED_MODULE_3__["SurveyElement"].ScrollElementToTop(options.elementId, scrollIfVisible);
79992
81002
  }
79993
81003
  };
81004
+ /**
81005
+ * Opens a dialog window for users to select files.
81006
+ * @param input A [file input HTML element](https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement).
81007
+ * @param callback A callback function that you can use to process selected files. Accepts an array of JavaScript <a href="https://developer.mozilla.org/en-US/docs/Web/API/File" target="_blank">File</a> objects.
81008
+ * @see onOpenFileChooser
81009
+ * @see onUploadFile
81010
+ */
81011
+ SurveyModel.prototype.chooseFiles = function (input, callback, context) {
81012
+ if (this.onOpenFileChooser.isEmpty) {
81013
+ Object(_utils_utils__WEBPACK_IMPORTED_MODULE_15__["chooseFiles"])(input, callback);
81014
+ }
81015
+ else {
81016
+ this.onOpenFileChooser.fire(this, {
81017
+ input: input,
81018
+ element: context && context.element || this.survey,
81019
+ item: context && context.item,
81020
+ callback: callback
81021
+ });
81022
+ }
81023
+ };
79994
81024
  /**
79995
81025
  * Uploads files to a server.
79996
81026
  *
@@ -80640,6 +81670,12 @@ var SurveyModel = /** @class */ (function (_super) {
80640
81670
  enumerable: false,
80641
81671
  configurable: true
80642
81672
  });
81673
+ /**
81674
+ * Recalculates all [expressions](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#expressions) in the survey.
81675
+ */
81676
+ SurveyModel.prototype.runExpressions = function () {
81677
+ this.runConditions();
81678
+ };
80643
81679
  SurveyModel.prototype.runConditions = function () {
80644
81680
  if (this.isCompleted ||
80645
81681
  this.isEndLoadingFromJson === "processing" ||
@@ -80876,6 +81912,12 @@ var SurveyModel = /** @class */ (function (_super) {
80876
81912
  this.onStateAndCurrentPageChanged();
80877
81913
  this.updateState();
80878
81914
  };
81915
+ SurveyModel.prototype.startLoadingFromJson = function (json) {
81916
+ _super.prototype.startLoadingFromJson.call(this, json);
81917
+ if (json && json.locale) {
81918
+ this.locale = json.locale;
81919
+ }
81920
+ };
80879
81921
  SurveyModel.prototype.setJsonObject = function (jsonObj) {
80880
81922
  this.fromJSON(jsonObj);
80881
81923
  };
@@ -81987,7 +83029,9 @@ var SurveyModel = /** @class */ (function (_super) {
81987
83029
  * @see onTimer
81988
83030
  */
81989
83031
  SurveyModel.prototype.startTimer = function () {
81990
- this.timerModel.start();
83032
+ if (this.isEditMode) {
83033
+ this.timerModel.start();
83034
+ }
81991
83035
  };
81992
83036
  SurveyModel.prototype.startTimerFromUI = function () {
81993
83037
  if (this.showTimerPanel != "none" && this.state === "running") {
@@ -82261,7 +83305,7 @@ var SurveyModel = /** @class */ (function (_super) {
82261
83305
  *
82262
83306
  * This method accepts an object with the following layout element properties:
82263
83307
  *
82264
- * - `id`: `string` | `"timerpanel"` | `"progress-buttons"` | `"progress-questions"` | `"progress-pages"` | `"progress-correctquestions"` | `"progress-requiredquestions"` | `"toc-navigation"` | `"navigationbuttons"`\
83308
+ * - `id`: `string` | `"timerpanel"` | `"progress-buttons"` | `"progress-questions"` | `"progress-pages"` | `"progress-correctquestions"` | `"progress-requiredquestions"` | `"toc-navigation"` | `"buttons-navigation"`\
82265
83309
  * A layout element identifier. You can use possible values to access and relocate or customize predefined layout elements.
82266
83310
  *
82267
83311
  * - `container`: `"header"` | `"footer"` | `"left"` | `"right"` | `"contentTop"` | `"contentBottom"`\
@@ -82310,10 +83354,16 @@ var SurveyModel = /** @class */ (function (_super) {
82310
83354
  }
82311
83355
  }
82312
83356
  }
82313
- else if (this.state === "running" && isStrCiEqual(layoutElement.id, "progress-" + this.progressBarType)) {
83357
+ else if (this.state === "running" && isStrCiEqual(layoutElement.id, this.progressBarComponentName)) {
82314
83358
  var headerLayoutElement = this.findLayoutElement("advanced-header");
82315
83359
  var advHeader = headerLayoutElement && headerLayoutElement.data;
82316
83360
  var isBelowHeader = !advHeader || advHeader.hasBackground;
83361
+ if (isStrCiEqual(this.showProgressBar, "aboveHeader")) {
83362
+ isBelowHeader = false;
83363
+ }
83364
+ if (isStrCiEqual(this.showProgressBar, "belowHeader")) {
83365
+ isBelowHeader = true;
83366
+ }
82317
83367
  if (container === "header" && !isBelowHeader) {
82318
83368
  layoutElement.index = -150;
82319
83369
  if (this.isShowProgressBarOnTop && !this.isShowStartingPage) {
@@ -82334,7 +83384,7 @@ var SurveyModel = /** @class */ (function (_super) {
82334
83384
  }
82335
83385
  }
82336
83386
  }
82337
- else if (isStrCiEqual(layoutElement.id, "navigationbuttons")) {
83387
+ else if (isStrCiEqual(layoutElement.id, "buttons-navigation")) {
82338
83388
  if (container === "contentTop") {
82339
83389
  if (["top", "both"].indexOf(this.isNavigationButtonsShowing) !== -1) {
82340
83390
  containerLayoutElements.push(layoutElement);
@@ -82544,6 +83594,16 @@ var SurveyModel = /** @class */ (function (_super) {
82544
83594
  __decorate([
82545
83595
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])()
82546
83596
  ], SurveyModel.prototype, "wrapperFormCss", void 0);
83597
+ __decorate([
83598
+ Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])({
83599
+ getDefaultValue: function (self) {
83600
+ return self.progressBarType === "buttons";
83601
+ },
83602
+ })
83603
+ ], SurveyModel.prototype, "progressBarShowPageTitles", void 0);
83604
+ __decorate([
83605
+ Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])()
83606
+ ], SurveyModel.prototype, "progressBarShowPageNumbers", void 0);
82547
83607
  __decorate([
82548
83608
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])()
82549
83609
  ], SurveyModel.prototype, "rootCss", void 0);
@@ -82679,7 +83739,7 @@ _jsonobject__WEBPACK_IMPORTED_MODULE_1__["Serializer"].addClass("survey", [
82679
83739
  {
82680
83740
  name: "showProgressBar",
82681
83741
  default: "off",
82682
- choices: ["off", "top", "bottom", "both"],
83742
+ choices: ["off", "auto", "aboveHeader", "belowHeader", "bottom", "topBottom"],
82683
83743
  },
82684
83744
  {
82685
83745
  name: "progressBarType",
@@ -82689,9 +83749,10 @@ _jsonobject__WEBPACK_IMPORTED_MODULE_1__["Serializer"].addClass("survey", [
82689
83749
  "questions",
82690
83750
  "requiredQuestions",
82691
83751
  "correctQuestions",
82692
- "buttons",
82693
83752
  ],
82694
83753
  },
83754
+ { name: "progressBarShowPageTitles:switch", category: "navigation" },
83755
+ { name: "progressBarShowPageNumbers:switch", default: false, category: "navigation" },
82695
83756
  {
82696
83757
  name: "showTOC:switch",
82697
83758
  default: false
@@ -82838,56 +83899,6 @@ var SurveyProgressModel = /** @class */ (function () {
82838
83899
 
82839
83900
 
82840
83901
 
82841
- /***/ }),
82842
-
82843
- /***/ "./src/surveyProgressButtons.ts":
82844
- /*!**************************************!*\
82845
- !*** ./src/surveyProgressButtons.ts ***!
82846
- \**************************************/
82847
- /*! exports provided: SurveyProgressButtonsModel */
82848
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
82849
-
82850
- "use strict";
82851
- __webpack_require__.r(__webpack_exports__);
82852
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SurveyProgressButtonsModel", function() { return SurveyProgressButtonsModel; });
82853
- /* harmony import */ var _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils/cssClassBuilder */ "./src/utils/cssClassBuilder.ts");
82854
-
82855
- var SurveyProgressButtonsModel = /** @class */ (function () {
82856
- function SurveyProgressButtonsModel(survey) {
82857
- this.survey = survey;
82858
- }
82859
- SurveyProgressButtonsModel.prototype.isListElementClickable = function (index) {
82860
- if (!this.survey.onServerValidateQuestions ||
82861
- this.survey.onServerValidateQuestions.isEmpty ||
82862
- this.survey.checkErrorsMode === "onComplete") {
82863
- return true;
82864
- }
82865
- return index <= this.survey.currentPageNo + 1;
82866
- };
82867
- SurveyProgressButtonsModel.prototype.getListElementCss = function (index) {
82868
- if (index >= this.survey.visiblePages.length)
82869
- return;
82870
- return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_0__["CssClassBuilder"]()
82871
- .append(this.survey.css.progressButtonsListElementPassed, this.survey.visiblePages[index].passed)
82872
- .append(this.survey.css.progressButtonsListElementCurrent, this.survey.currentPageNo === index)
82873
- .append(this.survey.css.progressButtonsListElementNonClickable, !this.isListElementClickable(index))
82874
- .toString();
82875
- };
82876
- SurveyProgressButtonsModel.prototype.getScrollButtonCss = function (hasScroller, isLeftScroll) {
82877
- return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_0__["CssClassBuilder"]()
82878
- .append(this.survey.css.progressButtonsImageButtonLeft, isLeftScroll)
82879
- .append(this.survey.css.progressButtonsImageButtonRight, !isLeftScroll)
82880
- .append(this.survey.css.progressButtonsImageButtonHidden, !hasScroller)
82881
- .toString();
82882
- };
82883
- SurveyProgressButtonsModel.prototype.clickListElement = function (index) {
82884
- this.survey.tryNavigateToPage(this.survey.visiblePages[index]);
82885
- };
82886
- return SurveyProgressButtonsModel;
82887
- }());
82888
-
82889
-
82890
-
82891
83902
  /***/ }),
82892
83903
 
82893
83904
  /***/ "./src/surveyStrings.ts":
@@ -85214,7 +86225,7 @@ var VerticalResponsivityManager = /** @class */ (function (_super) {
85214
86225
  /*!****************************!*\
85215
86226
  !*** ./src/utils/utils.ts ***!
85216
86227
  \****************************/
85217
- /*! exports provided: unwrap, getRenderedSize, getRenderedStyleSize, doKey2ClickBlur, doKey2ClickUp, doKey2ClickDown, sanitizeEditableContent, Logger, showConfirmDialog, mergeValues, getElementWidth, isContainerVisible, classesToSelector, compareVersions, confirmAction, confirmActionAsync, detectIEOrEdge, detectIEBrowser, loadFileFromBase64, isMobile, isShadowDOM, getElement, isElementVisible, findScrollableParent, scrollElementByChildId, navigateToUrl, wrapUrlForBackgroundImage, createSvg, getIconNameFromProxy, increaseHeightByContent, getOriginalEvent, preventDefaults, findParentByClassNames, getFirstVisibleChild */
86228
+ /*! exports provided: unwrap, getRenderedSize, getRenderedStyleSize, doKey2ClickBlur, doKey2ClickUp, doKey2ClickDown, sanitizeEditableContent, Logger, showConfirmDialog, mergeValues, getElementWidth, isContainerVisible, classesToSelector, compareVersions, confirmAction, confirmActionAsync, detectIEOrEdge, detectIEBrowser, loadFileFromBase64, isMobile, isShadowDOM, getElement, isElementVisible, findScrollableParent, scrollElementByChildId, navigateToUrl, wrapUrlForBackgroundImage, createSvg, getIconNameFromProxy, increaseHeightByContent, getOriginalEvent, preventDefaults, findParentByClassNames, getFirstVisibleChild, chooseFiles */
85218
86229
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
85219
86230
 
85220
86231
  "use strict";
@@ -85253,6 +86264,7 @@ __webpack_require__.r(__webpack_exports__);
85253
86264
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "preventDefaults", function() { return preventDefaults; });
85254
86265
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "findParentByClassNames", function() { return findParentByClassNames; });
85255
86266
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getFirstVisibleChild", function() { return getFirstVisibleChild; });
86267
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "chooseFiles", function() { return chooseFiles; });
85256
86268
  /* harmony import */ var _localizablestring__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../localizablestring */ "./src/localizablestring.ts");
85257
86269
  /* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./../settings */ "./src/settings.ts");
85258
86270
  /* harmony import */ var _surveyStrings__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../surveyStrings */ "./src/surveyStrings.ts");
@@ -85277,7 +86289,7 @@ function confirmAction(message) {
85277
86289
  return _settings__WEBPACK_IMPORTED_MODULE_1__["settings"].confirmActionFunc(message);
85278
86290
  return confirm(message);
85279
86291
  }
85280
- function confirmActionAsync(message, funcOnYes, funcOnNo, locale) {
86292
+ function confirmActionAsync(message, funcOnYes, funcOnNo, locale, rootElement) {
85281
86293
  var callbackFunc = function (res) {
85282
86294
  if (res)
85283
86295
  funcOnYes();
@@ -85285,7 +86297,7 @@ function confirmActionAsync(message, funcOnYes, funcOnNo, locale) {
85285
86297
  funcOnNo();
85286
86298
  };
85287
86299
  if (!!_settings__WEBPACK_IMPORTED_MODULE_1__["settings"] && !!_settings__WEBPACK_IMPORTED_MODULE_1__["settings"].confirmActionAsync) {
85288
- if (_settings__WEBPACK_IMPORTED_MODULE_1__["settings"].confirmActionAsync(message, callbackFunc, undefined, locale))
86300
+ if (_settings__WEBPACK_IMPORTED_MODULE_1__["settings"].confirmActionAsync(message, callbackFunc, undefined, locale, rootElement))
85289
86301
  return;
85290
86302
  }
85291
86303
  callbackFunc(confirmAction(message));
@@ -85634,7 +86646,7 @@ var Logger = /** @class */ (function () {
85634
86646
  return Logger;
85635
86647
  }());
85636
86648
 
85637
- function showConfirmDialog(message, callback, applyTitle, locale) {
86649
+ function showConfirmDialog(message, callback, applyTitle, locale, rootElement) {
85638
86650
  var locStr = new _localizablestring__WEBPACK_IMPORTED_MODULE_0__["LocalizableString"](undefined);
85639
86651
  var popupViewModel = _settings__WEBPACK_IMPORTED_MODULE_1__["settings"].showDialog({
85640
86652
  componentName: "sv-string-viewer",
@@ -85651,7 +86663,7 @@ function showConfirmDialog(message, callback, applyTitle, locale) {
85651
86663
  displayMode: "popup",
85652
86664
  isFocusedContent: false,
85653
86665
  cssClass: "sv-popup--confirm-delete"
85654
- }, /*settings.rootElement*/ document.body); //TODO survey root
86666
+ }, rootElement);
85655
86667
  var toolbar = popupViewModel.footerToolbar;
85656
86668
  var applyBtn = toolbar.getActionById("apply");
85657
86669
  var cancelBtn = toolbar.getActionById("cancel");
@@ -85662,6 +86674,23 @@ function showConfirmDialog(message, callback, applyTitle, locale) {
85662
86674
  popupViewModel.width = "452px";
85663
86675
  return true;
85664
86676
  }
86677
+ function chooseFiles(input, callback) {
86678
+ if (!window || !window["FileReader"])
86679
+ return;
86680
+ input.value = "";
86681
+ input.onchange = function (event) {
86682
+ if (!window["FileReader"])
86683
+ return;
86684
+ if (!input || !input.files || input.files.length < 1)
86685
+ return;
86686
+ var files = [];
86687
+ for (var i = 0; i < input.files.length; i++) {
86688
+ files.push(input.files[i]);
86689
+ }
86690
+ callback(files);
86691
+ };
86692
+ input.click();
86693
+ }
85665
86694
 
85666
86695
 
85667
86696