survey-react 1.9.131 → 1.9.133

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.131
2
+ * surveyjs - Survey JavaScript library v1.9.133
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
  */
@@ -4791,6 +4791,7 @@ var modernCss = {
4791
4791
  cell: "sv-table__cell",
4792
4792
  headerCell: "sv-table__cell sv-table__cell--header",
4793
4793
  row: "sv-table__row",
4794
+ rowTextCell: "sv-table__cell--row-text",
4794
4795
  rowAdditional: "sv-table__row--additional",
4795
4796
  detailRow: "sv-table__row--detail",
4796
4797
  detailRowText: "sv-table__cell--detail-rowtext",
@@ -5137,6 +5138,7 @@ var defaultStandardCss = {
5137
5138
  headerCell: "sv_matrix_cell_header",
5138
5139
  row: "sv_matrix_row",
5139
5140
  rowAdditional: "sv-matrix__row--additional",
5141
+ rowTextCell: "sv-table__cell--row-text",
5140
5142
  detailRow: "sv_matrix_detail_row",
5141
5143
  detailRowText: "sv_matrix_cell_detail_rowtext",
5142
5144
  detailCell: "sv_matrix_cell_detail",
@@ -5495,6 +5497,7 @@ var defaultV2Css = {
5495
5497
  progressText: "sd-progress__text",
5496
5498
  progressButtonsRoot: "sd-progress-buttons",
5497
5499
  progressButtonsNumbered: "sd-progress-buttons--numbered",
5500
+ progressButtonsFitSurveyWidth: "sd-progress-buttons--fit-survey-width",
5498
5501
  progressButtonsContainerCenter: "sd-progress-buttons__container-center",
5499
5502
  progressButtonsContainer: "sd-progress-buttons__container",
5500
5503
  progressButtonsConnector: "sd-progress-buttons__connector",
@@ -5570,7 +5573,7 @@ var defaultV2Css = {
5570
5573
  expanded: "sd-element--expanded",
5571
5574
  nested: "sd-element--nested",
5572
5575
  invisible: "sd-element--invisible",
5573
- composite: "sd-element--complex",
5576
+ composite: "sd-element--complex sd-composite",
5574
5577
  disabled: "sd-question--disabled",
5575
5578
  errorsContainer: "sd-element__erbox sd-question__erbox",
5576
5579
  errorsContainerTop: "sd-element__erbox--above-element sd-question__erbox--above-question",
@@ -7682,14 +7685,14 @@ var DragDropRankingSelectToRank = /** @class */ (function (_super) {
7682
7685
  if (dragOverNode.dataset.ranking === "from-container" || dragOverNode.dataset.ranking === "to-container") {
7683
7686
  return dragOverNode;
7684
7687
  }
7685
- if (this.parentElement.isEmpty()) {
7688
+ if (this.parentElement.rankingChoices.length === 0 ||
7689
+ this.parentElement.unRankingChoices.length === 0) {
7686
7690
  var toContainer = dragOverNode.closest("[data-ranking='to-container']");
7687
7691
  var fromContainer = dragOverNode.closest("[data-ranking='from-container']");
7688
7692
  if (!!toContainer)
7689
7693
  return toContainer;
7690
7694
  if (!!fromContainer)
7691
7695
  return fromContainer;
7692
- return null;
7693
7696
  }
7694
7697
  return _super.prototype.findDropTargetNodeByDragOverNode.call(this, dragOverNode);
7695
7698
  };
@@ -7739,8 +7742,10 @@ var DragDropRankingSelectToRank = /** @class */ (function (_super) {
7739
7742
  DragDropRankingSelectToRank.prototype.getIndixies = function (model, fromChoicesArray, toChoicesArray) {
7740
7743
  var fromIndex = fromChoicesArray.indexOf(this.draggedElement);
7741
7744
  var toIndex = toChoicesArray.indexOf(this.dropTarget);
7742
- if (toIndex === -1)
7743
- toIndex = model.value.length;
7745
+ if (toIndex === -1) {
7746
+ var length_1 = model.value.length;
7747
+ toIndex = fromChoicesArray === toChoicesArray ? length_1 - 1 : length_1;
7748
+ }
7744
7749
  return { fromIndex: fromIndex, toIndex: toIndex };
7745
7750
  };
7746
7751
  DragDropRankingSelectToRank.prototype.doUIEffects = function (dropTargetNode, fromIndex, toIndex) {
@@ -9547,8 +9552,8 @@ __webpack_require__.r(__webpack_exports__);
9547
9552
  //import "../../modern.scss";
9548
9553
  var Version;
9549
9554
  var ReleaseDate;
9550
- Version = "" + "1.9.131";
9551
- ReleaseDate = "" + "2024-02-20";
9555
+ Version = "" + "1.9.133";
9556
+ ReleaseDate = "" + "2024-03-05";
9552
9557
  function checkLibraryVersion(ver, libraryName) {
9553
9558
  if (Version != ver) {
9554
9559
  var str = "survey-core has version '" + Version + "' and " + libraryName
@@ -16405,9 +16410,11 @@ function age(params) {
16405
16410
  var birthDate = new Date(params[0]);
16406
16411
  var today = new Date();
16407
16412
  var age = today.getFullYear() - birthDate.getFullYear();
16408
- var m = today.getMonth() - birthDate.getMonth();
16409
- if (m < 0 || (m === 0 && today.getDate() < birthDate.getDate())) {
16410
- age -= age > 0 ? 1 : 0;
16413
+ if (age > 0) {
16414
+ var m = today.getMonth() - birthDate.getMonth();
16415
+ if (m < 0 || (m === 0 && today.getDate() < birthDate.getDate())) {
16416
+ age -= 1;
16417
+ }
16411
16418
  }
16412
16419
  return age;
16413
16420
  }
@@ -35515,6 +35522,9 @@ var ProgressButtons = /** @class */ (function (_super) {
35515
35522
  if (this.showItemNumbers && this.survey.css.progressButtonsNumbered) {
35516
35523
  result += " " + this.survey.css.progressButtonsNumbered;
35517
35524
  }
35525
+ if (this.isFitToSurveyWidth) {
35526
+ result += " " + this.survey.css.progressButtonsFitSurveyWidth;
35527
+ }
35518
35528
  return result;
35519
35529
  };
35520
35530
  ProgressButtons.prototype.getListElementCss = function (index) {
@@ -35572,11 +35582,32 @@ var ProgressButtons = /** @class */ (function (_super) {
35572
35582
  if (!listContainerElement)
35573
35583
  return;
35574
35584
  var listContainerElements = element.querySelectorAll(".sd-progress-buttons__connector");
35575
- var connectorWidth = listContainerElement.clientWidth / (listContainerElement.children.length - 1) - 4;
35585
+ var circleWidth = this.showItemNumbers ? 17 : 7;
35586
+ var connectorWidth = listContainerElement.clientWidth / (listContainerElement.children.length - 1) - circleWidth;
35576
35587
  for (var i = 0; i < listContainerElements.length; i++) {
35577
35588
  listContainerElements[i].style.width = connectorWidth + "px";
35578
35589
  }
35579
35590
  };
35591
+ Object.defineProperty(ProgressButtons.prototype, "isFitToSurveyWidth", {
35592
+ get: function () {
35593
+ if (_defaultCss_defaultV2Css__WEBPACK_IMPORTED_MODULE_1__["surveyCss"].currentType !== "defaultV2") {
35594
+ return false;
35595
+ }
35596
+ return this.survey.progressBarInheritWidthFrom === "survey" && this.survey.widthMode == "static";
35597
+ },
35598
+ enumerable: false,
35599
+ configurable: true
35600
+ });
35601
+ Object.defineProperty(ProgressButtons.prototype, "progressWidth", {
35602
+ get: function () {
35603
+ if (this.isFitToSurveyWidth) {
35604
+ return this.survey.width;
35605
+ }
35606
+ return "";
35607
+ },
35608
+ enumerable: false,
35609
+ configurable: true
35610
+ });
35580
35611
  Object.defineProperty(ProgressButtons.prototype, "showItemNumbers", {
35581
35612
  get: function () {
35582
35613
  if (_defaultCss_defaultV2Css__WEBPACK_IMPORTED_MODULE_1__["surveyCss"].currentType !== "defaultV2") {
@@ -37236,6 +37267,13 @@ var Question = /** @class */ (function (_super) {
37236
37267
  enumerable: false,
37237
37268
  configurable: true
37238
37269
  });
37270
+ Object.defineProperty(Question.prototype, "ariaDescriptionId", {
37271
+ get: function () {
37272
+ return this.id + "_ariaDescription";
37273
+ },
37274
+ enumerable: false,
37275
+ configurable: true
37276
+ });
37239
37277
  Object.defineProperty(Question.prototype, "commentId", {
37240
37278
  get: function () {
37241
37279
  return this.id + "_comment";
@@ -38761,6 +38799,20 @@ var Question = /** @class */ (function (_super) {
38761
38799
  enumerable: false,
38762
38800
  configurable: true
38763
38801
  });
38802
+ Object.defineProperty(Question.prototype, "ariaDescribedBy", {
38803
+ get: function () {
38804
+ if (this.isNewA11yStructure)
38805
+ return null;
38806
+ if (this.hasTitle) {
38807
+ return this.ariaDescriptionId;
38808
+ }
38809
+ else {
38810
+ return null;
38811
+ }
38812
+ },
38813
+ enumerable: false,
38814
+ configurable: true
38815
+ });
38764
38816
  Object.defineProperty(Question.prototype, "ariaExpanded", {
38765
38817
  get: function () {
38766
38818
  return null;
@@ -38768,7 +38820,7 @@ var Question = /** @class */ (function (_super) {
38768
38820
  enumerable: false,
38769
38821
  configurable: true
38770
38822
  });
38771
- Object.defineProperty(Question.prototype, "ariaDescribedBy", {
38823
+ Object.defineProperty(Question.prototype, "ariaErrormessage", {
38772
38824
  get: function () {
38773
38825
  if (this.isNewA11yStructure)
38774
38826
  return null;
@@ -38825,6 +38877,18 @@ var Question = /** @class */ (function (_super) {
38825
38877
  configurable: true
38826
38878
  });
38827
38879
  Object.defineProperty(Question.prototype, "a11y_input_ariaDescribedBy", {
38880
+ get: function () {
38881
+ if (this.hasTitle && !this.parentQuestion) {
38882
+ return this.ariaDescriptionId;
38883
+ }
38884
+ else {
38885
+ return null;
38886
+ }
38887
+ },
38888
+ enumerable: false,
38889
+ configurable: true
38890
+ });
38891
+ Object.defineProperty(Question.prototype, "a11y_input_ariaErrormessage", {
38828
38892
  get: function () {
38829
38893
  return this.hasCssError() ? this.id + "_errors" : null;
38830
38894
  },
@@ -44198,6 +44262,15 @@ var QuestionCompositeModel = /** @class */ (function (_super) {
44198
44262
  }
44199
44263
  }
44200
44264
  };
44265
+ QuestionCompositeModel.prototype.onSurveyValueChanged = function (newValue) {
44266
+ _super.prototype.onSurveyValueChanged.call(this, newValue);
44267
+ var val = !!newValue ? newValue : {};
44268
+ if (!!this.contentPanel) {
44269
+ this.contentPanel.questions.forEach(function (q) {
44270
+ q.onSurveyValueChanged(val[q.getValueName()]);
44271
+ });
44272
+ }
44273
+ };
44201
44274
  QuestionCompositeModel.prototype.getValue = function (name) {
44202
44275
  var val = this.value;
44203
44276
  return !!val ? val[name] : null;
@@ -44222,6 +44295,14 @@ var QuestionCompositeModel = /** @class */ (function (_super) {
44222
44295
  this.setNewValueIntoQuestion(name, newValue);
44223
44296
  _super.prototype.setValue.call(this, name, newValue, locNotification, allowNotifyValueChanged);
44224
44297
  this.settingNewValue = false;
44298
+ this.runPanelTriggers(QuestionCompositeModel.ItemVariableName + "." + name, newValue);
44299
+ };
44300
+ QuestionCompositeModel.prototype.runPanelTriggers = function (name, value) {
44301
+ if (!!this.contentPanel) {
44302
+ this.contentPanel.questions.forEach(function (q) {
44303
+ q.runTriggers(name, value);
44304
+ });
44305
+ }
44225
44306
  };
44226
44307
  QuestionCompositeModel.prototype.getFilteredValues = function () {
44227
44308
  var values = !!this.data ? this.data.getFilteredValues() : {};
@@ -48359,7 +48440,7 @@ var QuestionMatrixModel = /** @class */ (function (_super) {
48359
48440
  return loc ? loc : this.emptyLocalizableString;
48360
48441
  };
48361
48442
  QuestionMatrixModel.prototype.supportGoNextPageAutomatic = function () {
48362
- return this.isMouseDown === true && this.hasValuesInAllRows();
48443
+ return this.isMouseDown === true && this.hasValuesInAllRows(false);
48363
48444
  };
48364
48445
  QuestionMatrixModel.prototype.onCheckForErrors = function (errors, isOnValueChanged) {
48365
48446
  _super.prototype.onCheckForErrors.call(this, errors, isOnValueChanged);
@@ -48374,12 +48455,12 @@ var QuestionMatrixModel = /** @class */ (function (_super) {
48374
48455
  }
48375
48456
  };
48376
48457
  QuestionMatrixModel.prototype.hasErrorAllRowsRequired = function () {
48377
- return this.isAllRowRequired && !this.hasValuesInAllRows();
48458
+ return this.isAllRowRequired && !this.hasValuesInAllRows(true);
48378
48459
  };
48379
48460
  QuestionMatrixModel.prototype.hasErrorEachRowUnique = function () {
48380
48461
  return this.eachRowUnique && this.hasNonUniqueValueInRow();
48381
48462
  };
48382
- QuestionMatrixModel.prototype.hasValuesInAllRows = function () {
48463
+ QuestionMatrixModel.prototype.hasValuesInAllRows = function (addError) {
48383
48464
  var rows = this.generatedVisibleRows;
48384
48465
  if (!rows)
48385
48466
  rows = this.visibleRows;
@@ -48389,7 +48470,7 @@ var QuestionMatrixModel = /** @class */ (function (_super) {
48389
48470
  for (var i = 0; i < rows.length; i++) {
48390
48471
  var row = rows[i];
48391
48472
  var hasValue = !this.isValueEmpty(row.value);
48392
- if (!hasValue) {
48473
+ if (addError && !hasValue) {
48393
48474
  this.addErrorIntoRow(row);
48394
48475
  }
48395
48476
  res = res && hasValue;
@@ -48424,7 +48505,7 @@ var QuestionMatrixModel = /** @class */ (function (_super) {
48424
48505
  this.errorsInRow[row.name] = true;
48425
48506
  };
48426
48507
  QuestionMatrixModel.prototype.getIsAnswered = function () {
48427
- return _super.prototype.getIsAnswered.call(this) && this.hasValuesInAllRows();
48508
+ return _super.prototype.getIsAnswered.call(this) && this.hasValuesInAllRows(false);
48428
48509
  };
48429
48510
  QuestionMatrixModel.prototype.createMatrixRow = function (item, fullName, value) {
48430
48511
  var row = new MatrixRowModel(item, fullName, this, value);
@@ -53751,6 +53832,7 @@ var QuestionMatrixDropdownRenderedTable = /** @class */ (function (_super) {
53751
53832
  };
53752
53833
  QuestionMatrixDropdownRenderedTable.prototype.setItemCellCssClasses = function (cell) {
53753
53834
  cell.className = new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_5__["CssClassBuilder"]()
53835
+ .append(this.cssClasses.cell)
53754
53836
  .append(this.cssClasses.itemCell)
53755
53837
  .append(this.cssClasses.radioCell, cell.isRadio)
53756
53838
  .append(this.cssClasses.checkboxCell, cell.isCheckbox)
@@ -55073,6 +55155,13 @@ var MultipleTextEditorModel = /** @class */ (function (_super) {
55073
55155
  enumerable: false,
55074
55156
  configurable: true
55075
55157
  });
55158
+ Object.defineProperty(MultipleTextEditorModel.prototype, "a11y_input_ariaDescribedBy", {
55159
+ get: function () {
55160
+ return null;
55161
+ },
55162
+ enumerable: false,
55163
+ configurable: true
55164
+ });
55076
55165
  return MultipleTextEditorModel;
55077
55166
  }(_question_text__WEBPACK_IMPORTED_MODULE_3__["QuestionTextModel"]));
55078
55167
 
@@ -56084,7 +56173,7 @@ _jsonobject__WEBPACK_IMPORTED_MODULE_4__["Serializer"].addClass("multipletextite
56084
56173
  });
56085
56174
  _jsonobject__WEBPACK_IMPORTED_MODULE_4__["Serializer"].addClass("multipletext", [
56086
56175
  { name: "!items:textitems", className: "multipletextitem", isArray: true },
56087
- { name: "itemSize:number", minValue: 0 },
56176
+ { name: "itemSize:number", minValue: 0, visible: false },
56088
56177
  { name: "colCount:number", default: 1, choices: [1, 2, 3, 4, 5] },
56089
56178
  { name: "itemErrorLocation", default: "default", choices: ["default", "top", "bottom"], visible: false },
56090
56179
  { name: "itemTitleWidth", category: "layout" }
@@ -60146,6 +60235,9 @@ var QuestionRatingModel = /** @class */ (function (_super) {
60146
60235
  else {
60147
60236
  rateValues = this.createRateValues();
60148
60237
  }
60238
+ if (this.autoGenerate) {
60239
+ this.rateMax = rateValues[rateValues.length - 1].value;
60240
+ }
60149
60241
  if (this.rateType == "smileys" && rateValues.length > 10)
60150
60242
  rateValues = rateValues.slice(0, 10);
60151
60243
  this.renderedRateItems = rateValues.map(function (v, i) {
@@ -63047,7 +63139,7 @@ var SurveyQuestionBooleanCheckbox = /** @class */ (function (_super) {
63047
63139
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("label", { className: cssClasses.checkboxLabel },
63048
63140
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("input", { ref: this.checkRef, type: "checkbox", name: this.question.name, value: this.question.booleanValue === null
63049
63141
  ? ""
63050
- : this.question.booleanValue, id: this.question.inputId, className: cssClasses.controlCheckbox, disabled: this.isDisplayMode, checked: this.question.booleanValue || false, onChange: this.handleOnChange, "aria-required": this.question.ariaRequired, "aria-label": this.question.ariaLabel, "aria-invalid": this.question.ariaInvalid, "aria-describedby": this.question.ariaDescribedBy }),
63142
+ : this.question.booleanValue, id: this.question.inputId, className: cssClasses.controlCheckbox, disabled: this.isDisplayMode, checked: this.question.booleanValue || false, onChange: this.handleOnChange, "aria-required": this.question.ariaRequired, "aria-label": this.question.ariaLabel, "aria-invalid": this.question.ariaInvalid, "aria-errormessage": this.question.ariaErrormessage }),
63051
63143
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", { className: cssClasses.checkboxMaterialDecorator },
63052
63144
  this.question.svgIcon ?
63053
63145
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("svg", { className: cssClasses.checkboxItemDecorator },
@@ -63115,7 +63207,7 @@ var SurveyQuestionBooleanRadio = /** @class */ (function (_super) {
63115
63207
  var cssClasses = this.question.cssClasses;
63116
63208
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { role: "presentation", className: this.question.getRadioItemClass(cssClasses, value) },
63117
63209
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("label", { className: cssClasses.radioLabel },
63118
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("input", { type: "radio", name: this.question.name, value: value, "aria-describedby": this.question.ariaDescribedBy, checked: value === this.question.booleanValueRendered, disabled: this.question.isInputReadOnly, className: cssClasses.itemRadioControl, onChange: this.handleOnChange }),
63210
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("input", { type: "radio", name: this.question.name, value: value, "aria-errormessage": this.question.ariaErrormessage, checked: value === this.question.booleanValueRendered, disabled: this.question.isInputReadOnly, className: cssClasses.itemRadioControl, onChange: this.handleOnChange }),
63119
63211
  this.question.cssClasses.materialRadioDecorator ?
63120
63212
  (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", { className: cssClasses.materialRadioDecorator }, this.question.itemSvgIcon ?
63121
63213
  (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("svg", { className: cssClasses.itemRadioDecorator },
@@ -63235,7 +63327,7 @@ var SurveyQuestionBoolean = /** @class */ (function (_super) {
63235
63327
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("label", { className: itemClass, onClick: this.handleOnClick },
63236
63328
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("input", { ref: this.checkRef, type: "checkbox", name: this.question.name, value: this.question.booleanValue === null
63237
63329
  ? ""
63238
- : this.question.booleanValue, id: this.question.inputId, className: cssClasses.control, disabled: this.isDisplayMode, checked: this.question.booleanValue || false, onChange: this.handleOnChange, role: this.question.a11y_input_ariaRole, "aria-required": this.question.a11y_input_ariaRequired, "aria-label": this.question.a11y_input_ariaLabel, "aria-labelledby": this.question.a11y_input_ariaLabelledBy, "aria-invalid": this.question.a11y_input_ariaInvalid, "aria-describedby": this.question.a11y_input_ariaDescribedBy }),
63330
+ : this.question.booleanValue, id: this.question.inputId, className: cssClasses.control, disabled: this.isDisplayMode, checked: this.question.booleanValue || false, onChange: this.handleOnChange, role: this.question.a11y_input_ariaRole, "aria-required": this.question.a11y_input_ariaRequired, "aria-label": this.question.a11y_input_ariaLabel, "aria-labelledby": this.question.a11y_input_ariaLabelledBy, "aria-describedby": this.question.a11y_input_ariaDescribedBy, "aria-invalid": this.question.a11y_input_ariaInvalid, "aria-errormessage": this.question.a11y_input_ariaErrormessage }),
63239
63331
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: cssClasses.sliderGhost, onClick: function (event) { return _this.handleOnLabelClick(event, _this.question.swapOrder); } },
63240
63332
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", { className: this.question.getLabelCss(this.question.swapOrder) }, this.renderLocString(this.question.locLabelLeft))),
63241
63333
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: cssClasses.switch, onClick: this.handleOnSwitchClick },
@@ -65350,7 +65442,7 @@ var RatingItemSmiley = /** @class */ (function (_super) {
65350
65442
  RatingItemSmiley.prototype.render = function () {
65351
65443
  var _this = this;
65352
65444
  return (react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("label", { onMouseDown: this.handleOnMouseDown, style: this.question.getItemStyle(this.item.itemValue, this.item.highlight), className: this.question.getItemClass(this.item.itemValue), onMouseOver: function (e) { return _this.question.onItemMouseIn(_this.item); }, onMouseOut: function (e) { return _this.question.onItemMouseOut(_this.item); } },
65353
- react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("input", { type: "radio", className: "sv-visuallyhidden", name: this.question.name, id: this.question.getInputId(this.index), value: this.item.value, disabled: this.isDisplayMode, checked: this.question.value == this.item.value, onClick: this.props.handleOnClick, onChange: function () { }, "aria-required": this.question.ariaRequired, "aria-label": this.question.ariaLabel, "aria-invalid": this.question.ariaInvalid, "aria-describedby": this.question.ariaDescribedBy }),
65445
+ react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("input", { type: "radio", className: "sv-visuallyhidden", name: this.question.name, id: this.question.getInputId(this.index), value: this.item.value, disabled: this.isDisplayMode, checked: this.question.value == this.item.value, onClick: this.props.handleOnClick, onChange: function () { }, "aria-required": this.question.ariaRequired, "aria-label": this.question.ariaLabel, "aria-invalid": this.question.ariaInvalid, "aria-errormessage": this.question.ariaErrormessage }),
65354
65446
  react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_svg_icon_svg_icon__WEBPACK_IMPORTED_MODULE_2__["SvgIcon"], { size: "auto", iconName: this.question.getItemSmileyIconName(this.item.itemValue), title: this.item.text })));
65355
65447
  };
65356
65448
  return RatingItemSmiley;
@@ -65405,7 +65497,7 @@ var RatingItemStar = /** @class */ (function (_super) {
65405
65497
  RatingItemStar.prototype.render = function () {
65406
65498
  var _this = this;
65407
65499
  return (react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("label", { onMouseDown: this.handleOnMouseDown, className: this.question.getItemClass(this.item.itemValue), onMouseOver: function (e) { return _this.question.onItemMouseIn(_this.item); }, onMouseOut: function (e) { return _this.question.onItemMouseOut(_this.item); } },
65408
- react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("input", { type: "radio", className: "sv-visuallyhidden", name: this.question.name, id: this.question.getInputId(this.index), value: this.item.value, disabled: this.isDisplayMode, checked: this.question.value == this.item.value, onClick: this.props.handleOnClick, onChange: function () { }, "aria-required": this.question.ariaRequired, "aria-label": this.question.ariaLabel, "aria-invalid": this.question.ariaInvalid, "aria-describedby": this.question.ariaDescribedBy }),
65500
+ react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("input", { type: "radio", className: "sv-visuallyhidden", name: this.question.name, id: this.question.getInputId(this.index), value: this.item.value, disabled: this.isDisplayMode, checked: this.question.value == this.item.value, onClick: this.props.handleOnClick, onChange: function () { }, "aria-required": this.question.ariaRequired, "aria-label": this.question.ariaLabel, "aria-invalid": this.question.ariaInvalid, "aria-errormessage": this.question.ariaErrormessage }),
65409
65501
  react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_svg_icon_svg_icon__WEBPACK_IMPORTED_MODULE_2__["SvgIcon"], { className: "sv-star", size: "auto", iconName: this.question.itemStarIcon, title: this.item.text }),
65410
65502
  react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_svg_icon_svg_icon__WEBPACK_IMPORTED_MODULE_2__["SvgIcon"], { className: "sv-star-2", size: "auto", iconName: this.question.itemStarIconAlt, title: this.item.text })));
65411
65503
  };
@@ -65497,7 +65589,7 @@ var RatingItem = /** @class */ (function (_super) {
65497
65589
  RatingItem.prototype.render = function () {
65498
65590
  var itemText = this.renderLocString(this.item.locText);
65499
65591
  return (react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("label", { onMouseDown: this.handleOnMouseDown, className: this.question.getItemClassByText(this.item.itemValue, this.item.text) },
65500
- react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("input", { type: "radio", className: "sv-visuallyhidden", name: this.question.name, id: this.question.getInputId(this.index), value: this.item.value, disabled: this.isDisplayMode, checked: this.question.value == this.item.value, onClick: this.props.handleOnClick, onChange: function () { }, "aria-required": this.question.ariaRequired, "aria-label": this.question.ariaLabel, "aria-invalid": this.question.ariaInvalid, "aria-describedby": this.question.ariaDescribedBy }),
65592
+ react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("input", { type: "radio", className: "sv-visuallyhidden", name: this.question.name, id: this.question.getInputId(this.index), value: this.item.value, disabled: this.isDisplayMode, checked: this.question.value == this.item.value, onClick: this.props.handleOnClick, onChange: function () { }, "aria-required": this.question.ariaRequired, "aria-label": this.question.ariaLabel, "aria-invalid": this.question.ariaInvalid, "aria-errormessage": this.question.ariaErrormessage }),
65501
65593
  react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { className: this.question.cssClasses.itemText }, itemText)));
65502
65594
  };
65503
65595
  RatingItem.prototype.componentDidMount = function () {
@@ -66306,7 +66398,7 @@ var SurveyQuestionDropdownBase = /** @class */ (function (_super) {
66306
66398
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { id: this.question.inputId, className: this.question.getControlClass(), tabIndex: dropdownListModel.noTabIndex ? undefined : 0,
66307
66399
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
66308
66400
  // @ts-ignore
66309
- disabled: this.question.isInputReadOnly, required: this.question.isRequired, onKeyDown: this.keyhandler, onBlur: this.blur, role: this.question.ariaRole, "aria-required": this.question.ariaRequired, "aria-label": this.question.ariaLabel, "aria-invalid": this.question.ariaInvalid, "aria-describedby": this.question.ariaDescribedBy, "aria-expanded": this.question.ariaExpanded === null ? undefined : this.question.ariaExpanded === "true", "aria-controls": dropdownListModel.listElementId, "aria-activedescendant": dropdownListModel.ariaActivedescendant },
66401
+ disabled: this.question.isInputReadOnly, required: this.question.isRequired, onKeyDown: this.keyhandler, onBlur: this.blur, role: this.question.ariaRole, "aria-required": this.question.ariaRequired, "aria-label": this.question.ariaLabel, "aria-invalid": this.question.ariaInvalid, "aria-errormessage": this.question.ariaErrormessage, "aria-expanded": this.question.ariaExpanded === null ? undefined : this.question.ariaExpanded === "true", "aria-controls": dropdownListModel.listElementId, "aria-activedescendant": dropdownListModel.ariaActivedescendant },
66310
66402
  dropdownListModel.showHintPrefix ?
66311
66403
  (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.question.cssClasses.hintPrefix },
66312
66404
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", null, dropdownListModel.hintStringPrefix))) : null,
@@ -66316,7 +66408,7 @@ var SurveyQuestionDropdownBase = /** @class */ (function (_super) {
66316
66408
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", { style: { visibility: "hidden" }, "data-bind": "text: model.filterString" }, dropdownListModel.inputStringRendered),
66317
66409
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", null, dropdownListModel.hintStringSuffix))) : null,
66318
66410
  valueElement,
66319
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("input", { type: "text", autoComplete: "off", id: this.question.getInputId(), ref: function (element) { return (_this.inputElement = element); }, className: this.question.cssClasses.filterStringInput, role: dropdownListModel.filterStringEnabled ? this.question.ariaRole : undefined, "aria-expanded": this.question.ariaExpanded === null ? undefined : this.question.ariaExpanded === "true", "aria-label": this.question.a11y_input_ariaLabel, "aria-labelledby": this.question.a11y_input_ariaLabelledBy, "aria-controls": dropdownListModel.listElementId, "aria-activedescendant": dropdownListModel.ariaActivedescendant, placeholder: dropdownListModel.placeholderRendered, readOnly: dropdownListModel.filterReadOnly ? true : undefined, tabIndex: dropdownListModel.noTabIndex ? undefined : -1, disabled: this.question.isInputReadOnly, inputMode: dropdownListModel.inputMode, onChange: function (e) { onInputChange(e); }, onBlur: this.blur, onFocus: this.focus })),
66411
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("input", { type: "text", autoComplete: "off", id: this.question.getInputId(), ref: function (element) { return (_this.inputElement = element); }, className: this.question.cssClasses.filterStringInput, role: dropdownListModel.filterStringEnabled ? this.question.ariaRole : undefined, "aria-expanded": this.question.ariaExpanded === null ? undefined : this.question.ariaExpanded === "true", "aria-label": this.question.a11y_input_ariaLabel, "aria-labelledby": this.question.a11y_input_ariaLabelledBy, "aria-describedby": this.question.a11y_input_ariaDescribedBy, "aria-controls": dropdownListModel.listElementId, "aria-activedescendant": dropdownListModel.ariaActivedescendant, placeholder: dropdownListModel.placeholderRendered, readOnly: dropdownListModel.filterReadOnly ? true : undefined, tabIndex: dropdownListModel.noTabIndex ? undefined : -1, disabled: this.question.isInputReadOnly, inputMode: dropdownListModel.inputMode, onChange: function (e) { onInputChange(e); }, onBlur: this.blur, onFocus: this.focus })),
66320
66412
  this.createClearButton()));
66321
66413
  };
66322
66414
  SurveyQuestionDropdownBase.prototype.createClearButton = function () {
@@ -66492,7 +66584,7 @@ var SurveyQuestionDropdownSelect = /** @class */ (function (_super) {
66492
66584
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
66493
66585
  // @ts-ignore
66494
66586
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { id: this.question.inputId, className: this.question.getControlClass(), disabled: true }, this.question.readOnlyText)) :
66495
- (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("select", { id: this.question.inputId, className: this.question.getControlClass(), ref: function (select) { return (_this.setControl(select)); }, autoComplete: this.question.autocomplete, onChange: this.updateValueOnEvent, onInput: this.updateValueOnEvent, onClick: click, onKeyUp: keyup, "aria-required": this.question.ariaRequired, "aria-label": this.question.ariaLabel, "aria-invalid": this.question.ariaInvalid, "aria-describedby": this.question.ariaDescribedBy, required: this.question.isRequired },
66587
+ (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("select", { id: this.question.inputId, className: this.question.getControlClass(), ref: function (select) { return (_this.setControl(select)); }, autoComplete: this.question.autocomplete, onChange: this.updateValueOnEvent, onInput: this.updateValueOnEvent, onClick: click, onKeyUp: keyup, "aria-required": this.question.ariaRequired, "aria-label": this.question.ariaLabel, "aria-invalid": this.question.ariaInvalid, "aria-errormessage": this.question.ariaErrormessage, required: this.question.isRequired },
66496
66588
  this.question.allowClear ? (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("option", { value: "" }, this.question.placeholder)) : null,
66497
66589
  this.question.visibleChoices.map(function (item, i) { return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_dropdown_item__WEBPACK_IMPORTED_MODULE_4__["SurveyQuestionOptionItem"], { key: "item" + i, item: item }); })));
66498
66590
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: cssClasses.selectWrapper },
@@ -67189,7 +67281,7 @@ var SurveyQuestionImagePickerItem = /** @class */ (function (_super) {
67189
67281
  }
67190
67282
  var renderedItem = (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: itemClass },
67191
67283
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("label", { className: cssClasses.label },
67192
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("input", { className: cssClasses.itemControl, id: this.question.getItemId(item), type: this.question.inputType, name: this.question.questionName, checked: isChecked, value: item.value, disabled: !this.question.getItemEnabled(item), onChange: this.handleOnChange, "aria-required": this.question.ariaRequired, "aria-label": this.question.ariaLabel, "aria-invalid": this.question.ariaInvalid, "aria-describedby": this.question.ariaDescribedBy }),
67284
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("input", { className: cssClasses.itemControl, id: this.question.getItemId(item), type: this.question.inputType, name: this.question.questionName, checked: isChecked, value: item.value, disabled: !this.question.getItemEnabled(item), onChange: this.handleOnChange, "aria-required": this.question.ariaRequired, "aria-label": this.question.ariaLabel, "aria-invalid": this.question.ariaInvalid, "aria-errormessage": this.question.ariaErrormessage }),
67193
67285
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.question.cssClasses.itemDecorator },
67194
67286
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.question.cssClasses.imageContainer },
67195
67287
  !!this.question.cssClasses.checkedItemDecorator ?
@@ -67703,7 +67795,7 @@ var SurveyProgressButtons = /** @class */ (function (_super) {
67703
67795
  };
67704
67796
  SurveyProgressButtons.prototype.render = function () {
67705
67797
  var _this = this;
67706
- 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" },
67798
+ return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.model.getRootCss(this.props.container), style: { "maxWidth": this.model.progressWidth }, role: "progressbar", "aria-valuemin": 0, "aria-valuemax": 100, "aria-label": "progress" },
67707
67799
  this.state.canShowHeader ? react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.css.progressButtonsHeader },
67708
67800
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.css.progressButtonsPageTitle, title: this.model.headerText }, this.model.headerText)) : null,
67709
67801
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.css.progressButtonsContainer },
@@ -68624,7 +68716,7 @@ var SurveyQuestion = /** @class */ (function (_super) {
68624
68716
  var rootStyle = question.getRootStyle();
68625
68717
  var questionContent = this.wrapQuestionContent(this.renderQuestionContent());
68626
68718
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null,
68627
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { ref: this.rootRef, id: question.id, className: question.getRootCss(), style: rootStyle, role: question.ariaRole, "aria-required": this.question.ariaRequired, "aria-invalid": this.question.ariaInvalid, "aria-labelledby": question.ariaLabelledBy, "aria-expanded": question.ariaExpanded === null ? undefined : question.ariaExpanded === "true" },
68719
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { ref: this.rootRef, id: question.id, className: question.getRootCss(), style: rootStyle, role: question.ariaRole, "aria-required": this.question.ariaRequired, "aria-invalid": this.question.ariaInvalid, "aria-labelledby": question.ariaLabelledBy, "aria-describedby": question.ariaDescribedBy, "aria-expanded": question.ariaExpanded === null ? undefined : question.ariaExpanded === "true" },
68628
68720
  errorsAboveQuestion,
68629
68721
  headerTop,
68630
68722
  questionContent,
@@ -68993,7 +69085,7 @@ var SurveyButtonGroupItem = /** @class */ (function (_super) {
68993
69085
  var _this = this;
68994
69086
  return (react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("input", { className: this.model.css.control, id: this.model.id, type: "radio", name: this.model.name, checked: this.model.selected, value: this.model.value, disabled: this.model.readOnly, onChange: function () {
68995
69087
  _this.model.onChange();
68996
- }, "aria-required": this.model.isRequired, "aria-label": this.model.caption.renderedHtml, "aria-invalid": this.model.hasErrors, "aria-describedby": this.model.describedBy, role: "radio" }));
69088
+ }, "aria-required": this.model.isRequired, "aria-label": this.model.caption.renderedHtml, "aria-invalid": this.model.hasErrors, "aria-errormessage": this.model.describedBy, role: "radio" }));
68997
69089
  };
68998
69090
  SurveyButtonGroupItem.prototype.renderCaption = function () {
68999
69091
  if (!this.model.showCaption)
@@ -69065,7 +69157,7 @@ var SurveyQuestionCheckbox = /** @class */ (function (_super) {
69065
69157
  SurveyQuestionCheckbox.prototype.renderElement = function () {
69066
69158
  var _this = this;
69067
69159
  var cssClasses = this.question.cssClasses;
69068
- return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("fieldset", { className: this.question.getSelectBaseRootCss(), ref: function (fieldset) { return (_this.setControl(fieldset)); }, role: this.question.a11y_input_ariaRole, "aria-required": this.question.a11y_input_ariaRequired, "aria-label": this.question.a11y_input_ariaLabel, "aria-labelledby": this.question.a11y_input_ariaLabelledBy, "aria-invalid": this.question.a11y_input_ariaInvalid, "aria-describedby": this.question.a11y_input_ariaDescribedBy },
69160
+ return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("fieldset", { className: this.question.getSelectBaseRootCss(), ref: function (fieldset) { return (_this.setControl(fieldset)); }, role: this.question.a11y_input_ariaRole, "aria-required": this.question.a11y_input_ariaRequired, "aria-label": this.question.a11y_input_ariaLabel, "aria-labelledby": this.question.a11y_input_ariaLabelledBy, "aria-describedby": this.question.a11y_input_ariaDescribedBy, "aria-invalid": this.question.a11y_input_ariaInvalid, "aria-errormessage": this.question.a11y_input_ariaErrormessage },
69069
69161
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("legend", { className: "sv-hidden" }, this.question.locTitle.renderedHtml),
69070
69162
  this.getHeader(),
69071
69163
  this.question.hasColumns
@@ -69324,7 +69416,7 @@ var SurveyQuestionComment = /** @class */ (function (_super) {
69324
69416
  }
69325
69417
  var counter = !!this.question.getMaxLength() ? (react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_components_character_counter__WEBPACK_IMPORTED_MODULE_4__["CharacterCounterComponent"], { counter: this.question.characterCounter, remainingCharacterCounter: this.question.cssClasses.remainingCharacterCounter })) : null;
69326
69418
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null,
69327
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("textarea", { id: this.question.inputId, className: this.question.className, disabled: this.question.isInputReadOnly, readOnly: this.question.isInputReadOnly, ref: function (textarea) { return (_this.setControl(textarea)); }, maxLength: this.question.getMaxLength(), placeholder: placeholder, onBlur: onBlur, onInput: onInput, onKeyDown: function (event) { _this.question.onKeyDown(event); }, cols: this.question.cols, rows: this.question.rows, "aria-required": this.question.a11y_input_ariaRequired, "aria-label": this.question.a11y_input_ariaLabel, "aria-labelledby": this.question.a11y_input_ariaLabelledBy, "aria-invalid": this.question.a11y_input_ariaInvalid, "aria-describedby": this.question.a11y_input_ariaDescribedBy, style: { resize: this.question.resizeStyle } }),
69419
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("textarea", { id: this.question.inputId, className: this.question.className, disabled: this.question.isInputReadOnly, readOnly: this.question.isInputReadOnly, ref: function (textarea) { return (_this.setControl(textarea)); }, maxLength: this.question.getMaxLength(), placeholder: placeholder, onBlur: onBlur, onInput: onInput, onKeyDown: function (event) { _this.question.onKeyDown(event); }, cols: this.question.cols, rows: this.question.rows, "aria-required": this.question.a11y_input_ariaRequired, "aria-label": this.question.a11y_input_ariaLabel, "aria-labelledby": this.question.a11y_input_ariaLabelledBy, "aria-describedby": this.question.a11y_input_ariaDescribedBy, "aria-invalid": this.question.a11y_input_ariaInvalid, "aria-errormessage": this.question.a11y_input_ariaErrormessage, style: { resize: this.question.resizeStyle } }),
69328
69420
  counter));
69329
69421
  };
69330
69422
  return SurveyQuestionComment;
@@ -69614,7 +69706,7 @@ var SurveyElementBase = /** @class */ (function (_super) {
69614
69706
  };
69615
69707
  SurveyElementBase.renderQuestionDescription = function (question) {
69616
69708
  var descriptionText = SurveyElementBase.renderLocString(question.locDescription);
69617
- return react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { style: question.hasDescription ? undefined : { display: "none" }, className: question.cssDescription }, descriptionText);
69709
+ return react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { style: question.hasDescription ? undefined : { display: "none" }, id: question.ariaDescriptionId, className: question.cssDescription }, descriptionText);
69618
69710
  };
69619
69711
  SurveyElementBase.prototype.componentDidMount = function () {
69620
69712
  this.makeBaseElementsReact();
@@ -70154,7 +70246,7 @@ var SurveyQuestionFile = /** @class */ (function (_super) {
70154
70246
  var fileNavigator = this.question.fileNavigatorVisible ? (react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_components_action_bar_action_bar__WEBPACK_IMPORTED_MODULE_1__["SurveyActionBar"], { model: this.question.fileNavigator })) : null;
70155
70247
  var fileInput = (this.isDisplayMode ?
70156
70248
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("input", { type: "file", disabled: this.isDisplayMode, className: !this.isDisplayMode ? this.question.cssClasses.fileInput : this.question.getReadOnlyFileCss(), id: this.question.inputId, ref: function (input) { return (_this.setControl(input)); }, style: !this.isDisplayMode ? {} : { color: "transparent" }, multiple: this.question.allowMultiple, placeholder: this.question.title, accept: this.question.acceptedTypes }) : this.question.hasFileUI ?
70157
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("input", { type: "file", disabled: this.isDisplayMode, tabIndex: -1, className: !this.isDisplayMode ? this.question.cssClasses.fileInput : this.question.getReadOnlyFileCss(), id: this.question.inputId, ref: function (input) { return (_this.setControl(input)); }, style: !this.isDisplayMode ? {} : { color: "transparent" }, "aria-required": this.question.ariaRequired, "aria-label": this.question.ariaLabel, "aria-invalid": this.question.ariaInvalid, "aria-describedby": this.question.ariaDescribedBy, multiple: this.question.allowMultiple, title: this.question.inputTitle, accept: this.question.acceptedTypes, capture: this.question.renderCapture }) : null);
70249
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("input", { type: "file", disabled: this.isDisplayMode, tabIndex: -1, className: !this.isDisplayMode ? this.question.cssClasses.fileInput : this.question.getReadOnlyFileCss(), id: this.question.inputId, ref: function (input) { return (_this.setControl(input)); }, style: !this.isDisplayMode ? {} : { color: "transparent" }, "aria-required": this.question.ariaRequired, "aria-label": this.question.ariaLabel, "aria-invalid": this.question.ariaInvalid, "aria-errormessage": this.question.ariaErrormessage, multiple: this.question.allowMultiple, title: this.question.inputTitle, accept: this.question.acceptedTypes, capture: this.question.renderCapture }) : null);
70158
70250
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.question.fileRootCss },
70159
70251
  fileInput,
70160
70252
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.question.cssClasses.dragArea, onDrop: this.question.onDrop, onDragOver: this.question.onDragOver, onDragLeave: this.question.onDragLeave, onDragEnter: this.question.onDragEnter },
@@ -70546,7 +70638,7 @@ var SurveyQuestionMatrixCell = /** @class */ (function (_super) {
70546
70638
  mobileSpan));
70547
70639
  };
70548
70640
  SurveyQuestionMatrixCell.prototype.renderInput = function (inputId, isChecked) {
70549
- return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("input", { id: inputId, type: "radio", className: this.cssClasses.itemValue, name: this.row.fullName, value: this.column.value, disabled: this.row.isReadOnly, checked: isChecked, onChange: this.handleOnChange, "aria-required": this.question.a11y_input_ariaRequired, "aria-label": this.question.getCellAriaLabel(this.row.locText.renderedHtml, this.column.locText.renderedHtml), "aria-invalid": this.question.a11y_input_ariaInvalid, "aria-describedby": this.question.a11y_input_ariaDescribedBy }));
70641
+ return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("input", { id: inputId, type: "radio", className: this.cssClasses.itemValue, name: this.row.fullName, value: this.column.value, disabled: this.row.isReadOnly, checked: isChecked, onChange: this.handleOnChange, "aria-required": this.question.a11y_input_ariaRequired, "aria-label": this.question.getCellAriaLabel(this.row.locText.renderedHtml, this.column.locText.renderedHtml), "aria-invalid": this.question.a11y_input_ariaInvalid, "aria-errormessage": this.question.a11y_input_ariaErrormessage }));
70550
70642
  };
70551
70643
  return SurveyQuestionMatrixCell;
70552
70644
  }(_reactquestion_element__WEBPACK_IMPORTED_MODULE_1__["ReactSurveyElement"]));
@@ -71557,7 +71649,7 @@ var SurveyQuestionRadiogroup = /** @class */ (function (_super) {
71557
71649
  clearButton = (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", null,
71558
71650
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("input", { type: "button", className: this.question.cssClasses.clearButton, onClick: function () { return _this.question.clearValue(); }, value: this.question.clearButtonCaption })));
71559
71651
  }
71560
- return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("fieldset", { className: this.question.getSelectBaseRootCss(), ref: function (fieldset) { return (_this.setControl(fieldset)); }, role: this.question.a11y_input_ariaRole, "aria-required": this.question.a11y_input_ariaRequired, "aria-label": this.question.a11y_input_ariaLabel, "aria-labelledby": this.question.a11y_input_ariaLabelledBy, "aria-invalid": this.question.a11y_input_ariaInvalid, "aria-describedby": this.question.a11y_input_ariaDescribedBy },
71652
+ return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("fieldset", { className: this.question.getSelectBaseRootCss(), ref: function (fieldset) { return (_this.setControl(fieldset)); }, role: this.question.a11y_input_ariaRole, "aria-required": this.question.a11y_input_ariaRequired, "aria-label": this.question.a11y_input_ariaLabel, "aria-labelledby": this.question.a11y_input_ariaLabelledBy, "aria-describedby": this.question.a11y_input_ariaDescribedBy, "aria-invalid": this.question.a11y_input_ariaInvalid, "aria-errormessage": this.question.a11y_input_ariaErrormessage },
71561
71653
  this.question.hasColumns
71562
71654
  ? this.getColumnedBody(cssClasses)
71563
71655
  : this.getBody(cssClasses),
@@ -71717,7 +71809,7 @@ var SurveyQuestionRadioItem = /** @class */ (function (_super) {
71717
71809
  var itemLabel = !this.hideCaption ? react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", { className: controlLabelClass }, this.renderLocString(this.item.locText, this.textStyle)) : null;
71718
71810
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: itemClass, role: "presentation" },
71719
71811
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("label", { onMouseDown: this.handleOnMouseDown, className: labelClass },
71720
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("input", { "aria-describedby": this.question.ariaDescribedBy, className: this.cssClasses.itemControl, id: this.question.getItemId(this.item), type: "radio", name: this.question.questionName, checked: this.isChecked, value: this.item.value, disabled: !this.question.getItemEnabled(this.item), onChange: this.handleOnChange }),
71812
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("input", { "aria-errormessage": this.question.ariaErrormessage, className: this.cssClasses.itemControl, id: this.question.getItemId(this.item), type: "radio", name: this.question.questionName, checked: this.isChecked, value: this.item.value, disabled: !this.question.getItemEnabled(this.item), onChange: this.handleOnChange }),
71721
71813
  this.cssClasses.materialDecorator ?
71722
71814
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", { className: this.cssClasses.materialDecorator }, this.question.itemSvgIcon ?
71723
71815
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("svg", { className: this.cssClasses.itemDecorator },
@@ -72096,7 +72188,7 @@ var SurveyQuestionTagbox = /** @class */ (function (_super) {
72096
72188
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { id: this.question.inputId, className: this.question.getControlClass(), tabIndex: dropdownListModel.noTabIndex ? undefined : 0,
72097
72189
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
72098
72190
  // @ts-ignore
72099
- disabled: this.question.isInputReadOnly, required: this.question.isRequired, onKeyDown: this.keyhandler, onBlur: this.blur, role: this.question.ariaRole, "aria-required": this.question.ariaRequired, "aria-label": this.question.ariaLabel, "aria-invalid": this.question.ariaInvalid, "aria-describedby": this.question.ariaDescribedBy, "aria-expanded": this.question.ariaExpanded === null ? undefined : this.question.ariaExpanded === "true", "aria-controls": dropdownListModel.listElementId, "aria-activedescendant": dropdownListModel.ariaActivedescendant },
72191
+ disabled: this.question.isInputReadOnly, required: this.question.isRequired, onKeyDown: this.keyhandler, onBlur: this.blur, role: this.question.ariaRole, "aria-required": this.question.ariaRequired, "aria-label": this.question.ariaLabel, "aria-invalid": this.question.ariaInvalid, "aria-errormessage": this.question.ariaErrormessage, "aria-expanded": this.question.ariaExpanded === null ? undefined : this.question.ariaExpanded === "true", "aria-controls": dropdownListModel.listElementId, "aria-activedescendant": dropdownListModel.ariaActivedescendant },
72100
72192
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.question.cssClasses.controlValue },
72101
72193
  items,
72102
72194
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_tagbox_filter__WEBPACK_IMPORTED_MODULE_4__["TagboxFilterString"], { model: dropdownMultiSelectListModel, question: this.question })),
@@ -72180,7 +72272,7 @@ var SurveyQuestionText = /** @class */ (function (_super) {
72180
72272
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null,
72181
72273
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("input", { id: this.question.inputId, disabled: this.isDisplayMode, className: inputClass, type: this.question.inputType,
72182
72274
  //ref={this.controlRef}
72183
- ref: function (input) { return (_this.setControl(input)); }, style: this.question.inputStyle, maxLength: this.question.getMaxLength(), min: this.question.renderedMin, max: this.question.renderedMax, step: this.question.renderedStep, size: this.question.inputSize, placeholder: placeholder, list: this.question.dataListId, autoComplete: this.question.autocomplete, onBlur: this.question.onBlur, onFocus: this.question.onFocus, onChange: this.question.onChange, onKeyUp: this.question.onKeyUp, onKeyDown: this.question.onKeyDown, onCompositionUpdate: function (event) { return _this.question.onCompositionUpdate(event.nativeEvent); }, "aria-required": this.question.a11y_input_ariaRequired, "aria-label": this.question.a11y_input_ariaLabel, "aria-labelledby": this.question.a11y_input_ariaLabelledBy, "aria-invalid": this.question.a11y_input_ariaInvalid, "aria-describedby": this.question.a11y_input_ariaDescribedBy }),
72275
+ ref: function (input) { return (_this.setControl(input)); }, style: this.question.inputStyle, maxLength: this.question.getMaxLength(), min: this.question.renderedMin, max: this.question.renderedMax, step: this.question.renderedStep, size: this.question.inputSize, placeholder: placeholder, list: this.question.dataListId, autoComplete: this.question.autocomplete, onBlur: this.question.onBlur, onFocus: this.question.onFocus, onChange: this.question.onChange, onKeyUp: this.question.onKeyUp, onKeyDown: this.question.onKeyDown, onCompositionUpdate: function (event) { return _this.question.onCompositionUpdate(event.nativeEvent); }, "aria-required": this.question.a11y_input_ariaRequired, "aria-label": this.question.a11y_input_ariaLabel, "aria-labelledby": this.question.a11y_input_ariaLabelledBy, "aria-describedby": this.question.a11y_input_ariaDescribedBy, "aria-invalid": this.question.a11y_input_ariaInvalid, "aria-errormessage": this.question.a11y_input_ariaErrormessage }),
72184
72276
  counter));
72185
72277
  };
72186
72278
  SurveyQuestionText.prototype.renderElement = function () {
@@ -72956,7 +73048,7 @@ var TagboxFilterString = /** @class */ (function (_super) {
72956
73048
  (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.question.cssClasses.hintSuffix },
72957
73049
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", { style: { visibility: "hidden" }, "data-bind": "text: model.filterString" }, this.model.inputStringRendered),
72958
73050
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", null, this.model.hintStringSuffix))) : null,
72959
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("input", { type: "text", autoComplete: "off", id: this.question.getInputId(), inputMode: this.model.inputMode, ref: function (element) { return (_this.inputElement = element); }, className: this.question.cssClasses.filterStringInput, disabled: this.question.isInputReadOnly, readOnly: this.model.filterReadOnly ? true : undefined, size: !this.model.inputStringRendered ? 1 : undefined, role: this.model.filterStringEnabled ? this.question.ariaRole : undefined, "aria-expanded": this.question.ariaExpanded === null ? undefined : this.question.ariaExpanded === "true", "aria-label": this.question.a11y_input_ariaLabel, "aria-labelledby": this.question.a11y_input_ariaLabelledBy, "aria-controls": this.model.listElementId, "aria-activedescendant": this.model.ariaActivedescendant, placeholder: this.model.filterStringPlaceholder, onKeyDown: function (e) { _this.keyhandler(e); }, onChange: function (e) { _this.onChange(e); }, onBlur: function (e) { _this.onBlur(e); }, onFocus: function (e) { _this.onFocus(e); } }))));
73051
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("input", { type: "text", autoComplete: "off", id: this.question.getInputId(), inputMode: this.model.inputMode, ref: function (element) { return (_this.inputElement = element); }, className: this.question.cssClasses.filterStringInput, disabled: this.question.isInputReadOnly, readOnly: this.model.filterReadOnly ? true : undefined, size: !this.model.inputStringRendered ? 1 : undefined, role: this.model.filterStringEnabled ? this.question.ariaRole : undefined, "aria-expanded": this.question.ariaExpanded === null ? undefined : this.question.ariaExpanded === "true", "aria-label": this.question.a11y_input_ariaLabel, "aria-labelledby": this.question.a11y_input_ariaLabelledBy, "aria-describedby": this.question.a11y_input_ariaDescribedBy, "aria-controls": this.model.listElementId, "aria-activedescendant": this.model.ariaActivedescendant, placeholder: this.model.filterStringPlaceholder, onKeyDown: function (e) { _this.keyhandler(e); }, onChange: function (e) { _this.onChange(e); }, onBlur: function (e) { _this.onBlur(e); }, onFocus: function (e) { _this.onFocus(e); } }))));
72960
73052
  };
72961
73053
  return TagboxFilterString;
72962
73054
  }(_reactquestion_element__WEBPACK_IMPORTED_MODULE_3__["SurveyElementBase"]));
@@ -73687,7 +73779,7 @@ var settings = {
73687
73779
  */
73688
73780
  showMaxLengthIndicator: true,
73689
73781
  /**
73690
- * Set to `false` to disable animations
73782
+ * Specifies whether to animate survey elements.
73691
73783
  *
73692
73784
  * Default value: `true`
73693
73785
  */
@@ -74334,6 +74426,11 @@ var SurveyElementCore = /** @class */ (function (_super) {
74334
74426
  enumerable: false,
74335
74427
  configurable: true
74336
74428
  });
74429
+ Object.defineProperty(SurveyElementCore.prototype, "ariaDescriptionId", {
74430
+ get: function () { return undefined; },
74431
+ enumerable: false,
74432
+ configurable: true
74433
+ });
74337
74434
  Object.defineProperty(SurveyElementCore.prototype, "titleTabIndex", {
74338
74435
  get: function () { return undefined; },
74339
74436
  enumerable: false,
@@ -76433,7 +76530,7 @@ var SurveyModel = /** @class */ (function (_super) {
76433
76530
  _this.registerPropertyChangedHandlers(["questionStartIndex", "requiredText", "questionTitlePattern"], function () {
76434
76531
  _this.resetVisibleIndexes();
76435
76532
  });
76436
- _this.registerPropertyChangedHandlers(["isLoading", "isCompleted", "isCompletedBefore", "mode", "isStartedState", "currentPage"], function () { _this.updateState(); });
76533
+ _this.registerPropertyChangedHandlers(["isLoading", "isCompleted", "isCompletedBefore", "mode", "isStartedState", "currentPage", "isShowingPreview"], function () { _this.updateState(); });
76437
76534
  _this.registerPropertyChangedHandlers(["state", "currentPage", "showPreviewBeforeComplete"], function () { _this.onStateAndCurrentPageChanged(); });
76438
76535
  _this.registerPropertyChangedHandlers(["logo", "logoPosition"], function () { _this.updateHasLogo(); });
76439
76536
  _this.registerPropertyChangedHandlers(["backgroundImage"], function () { _this.updateRenderBackgroundImage(); });
@@ -77349,7 +77446,7 @@ var SurveyModel = /** @class */ (function (_super) {
77349
77446
  * @see [`settings.autoAdvanceDelay`](https://surveyjs.io/form-library/documentation/api-reference/settings#autoAdvanceDelay)
77350
77447
  */
77351
77448
  get: function () {
77352
- return this.getPropertyValue("allowCompleteSurveyAutomatic", true);
77449
+ return this.getPropertyValue("allowCompleteSurveyAutomatic");
77353
77450
  },
77354
77451
  set: function (val) {
77355
77452
  this.setPropertyValue("allowCompleteSurveyAutomatic", val);
@@ -83897,6 +83994,9 @@ var SurveyModel = /** @class */ (function (_super) {
83897
83994
  __decorate([
83898
83995
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])()
83899
83996
  ], SurveyModel.prototype, "progressBarShowPageNumbers", void 0);
83997
+ __decorate([
83998
+ Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])()
83999
+ ], SurveyModel.prototype, "progressBarInheritWidthFrom", void 0);
83900
84000
  __decorate([
83901
84001
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])()
83902
84002
  ], SurveyModel.prototype, "rootCss", void 0);
@@ -84060,6 +84160,13 @@ _jsonobject__WEBPACK_IMPORTED_MODULE_1__["Serializer"].addClass("survey", [
84060
84160
  category: "navigation",
84061
84161
  visibleIf: function (obj) { return obj.showProgressBar !== "off" && obj.progressBarType === "pages"; }
84062
84162
  },
84163
+ {
84164
+ name: "progressBarInheritWidthFrom",
84165
+ default: "container",
84166
+ choices: ["container", "survey"],
84167
+ category: "navigation",
84168
+ visibleIf: function (obj) { return obj.showProgressBar !== "off" && obj.progressBarType === "pages"; }
84169
+ },
84063
84170
  {
84064
84171
  name: "showTOC:switch",
84065
84172
  default: false
@@ -84082,6 +84189,10 @@ _jsonobject__WEBPACK_IMPORTED_MODULE_1__["Serializer"].addClass("survey", [
84082
84189
  obj.setPropertyValue("goNextPageAutomatic", value);
84083
84190
  }
84084
84191
  },
84192
+ {
84193
+ name: "allowCompleteSurveyAutomatic:boolean", default: true,
84194
+ visibleIf: function (obj) { return obj.goNextPageAutomatic === true; }
84195
+ },
84085
84196
  {
84086
84197
  name: "clearInvisibleValues",
84087
84198
  default: "onComplete",
@@ -86558,7 +86669,7 @@ var VerticalResponsivityManager = /** @class */ (function (_super) {
86558
86669
  /*!****************************!*\
86559
86670
  !*** ./src/utils/utils.ts ***!
86560
86671
  \****************************/
86561
- /*! 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 */
86672
+ /*! exports provided: unwrap, getRenderedSize, getRenderedStyleSize, doKey2ClickBlur, doKey2ClickUp, doKey2ClickDown, sanitizeEditableContent, Logger, showConfirmDialog, configConfirmDialog, mergeValues, getElementWidth, isContainerVisible, classesToSelector, compareVersions, confirmAction, confirmActionAsync, detectIEOrEdge, detectIEBrowser, loadFileFromBase64, isMobile, isShadowDOM, getElement, isElementVisible, findScrollableParent, scrollElementByChildId, navigateToUrl, wrapUrlForBackgroundImage, createSvg, getIconNameFromProxy, increaseHeightByContent, getOriginalEvent, preventDefaults, findParentByClassNames, getFirstVisibleChild, chooseFiles */
86562
86673
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
86563
86674
 
86564
86675
  "use strict";
@@ -86572,6 +86683,7 @@ __webpack_require__.r(__webpack_exports__);
86572
86683
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "sanitizeEditableContent", function() { return sanitizeEditableContent; });
86573
86684
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Logger", function() { return Logger; });
86574
86685
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "showConfirmDialog", function() { return showConfirmDialog; });
86686
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "configConfirmDialog", function() { return configConfirmDialog; });
86575
86687
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "mergeValues", function() { return mergeValues; });
86576
86688
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getElementWidth", function() { return getElementWidth; });
86577
86689
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isContainerVisible", function() { return isContainerVisible; });
@@ -87015,9 +87127,12 @@ function showConfirmDialog(message, callback, applyTitle, locale, rootElement) {
87015
87127
  cancelBtn.innerCss = "sv-popup__body-footer-item sv-popup__button sd-btn sd-btn--small";
87016
87128
  applyBtn.title = applyTitle || _surveyStrings__WEBPACK_IMPORTED_MODULE_2__["surveyLocalization"].getString("ok", locale);
87017
87129
  applyBtn.innerCss = "sv-popup__body-footer-item sv-popup__button sv-popup__button--danger sd-btn sd-btn--small sd-btn--danger";
87018
- //popupViewModel.width = "452px";
87130
+ configConfirmDialog(popupViewModel);
87019
87131
  return true;
87020
87132
  }
87133
+ function configConfirmDialog(popupViewModel) {
87134
+ popupViewModel.width = "min-content";
87135
+ }
87021
87136
  function chooseFiles(input, callback) {
87022
87137
  if (!window || !window["FileReader"])
87023
87138
  return;