survey-js-ui 2.2.5 → 2.2.6

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "survey-js-ui",
3
- "version": "2.2.5",
3
+ "version": "2.2.6",
4
4
  "description": "survey.js is a JavaScript Survey Library. It is a modern way to add a survey to your website. It uses JSON for survey metadata and results.",
5
5
  "keywords": [
6
6
  "Survey",
@@ -31,7 +31,7 @@
31
31
  },
32
32
  "dependencies": {},
33
33
  "peerDependencies": {
34
- "survey-core": "2.2.5",
34
+ "survey-core": "2.2.6",
35
35
  "@types/react-dom": "*",
36
36
  "@types/react": "*"
37
37
  }
package/survey-js-ui.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - Survey JavaScript library v2.2.5
2
+ * surveyjs - Survey JavaScript library v2.2.6
3
3
  * Copyright (c) 2015-2025 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
5
5
  */
@@ -23,7 +23,7 @@ return /******/ (() => { // webpackBootstrap
23
23
  /***/ (function(module) {
24
24
 
25
25
  /*!
26
- * surveyjs - Survey JavaScript library v2.2.5
26
+ * surveyjs - Survey JavaScript library v2.2.6
27
27
  * Copyright (c) 2015-2025 Devsoft Baltic OÜ - http://surveyjs.io/
28
28
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
29
29
  */
@@ -830,7 +830,7 @@ path.keys().forEach(function (key) {
830
830
  /***/ (function(module) {
831
831
 
832
832
  /*!
833
- * surveyjs - Survey JavaScript library v2.2.5
833
+ * surveyjs - Survey JavaScript library v2.2.6
834
834
  * Copyright (c) 2015-2025 Devsoft Baltic OÜ - http://surveyjs.io/
835
835
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
836
836
  */
@@ -6155,9 +6155,11 @@ var SurveyQuestionDropdownBase = /** @class */ (function (_super) {
6155
6155
  };
6156
6156
  return 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.ariaInputRole, "aria-required": dropdownListModel.ariaInputRequired, "aria-invalid": dropdownListModel.ariaInputInvalid, "aria-errormessage": dropdownListModel.ariaInputErrorMessage, "aria-expanded": dropdownListModel.ariaInputExpanded, "aria-label": dropdownListModel.ariaInputLabel, "aria-labelledby": dropdownListModel.ariaInputLabelledby, "aria-describedby": dropdownListModel.ariaInputDescribedby, "aria-controls": dropdownListModel.ariaInputControls, "aria-activedescendant": dropdownListModel.ariaInputActivedescendant, placeholder: dropdownListModel.placeholderRendered, readOnly: dropdownListModel.filterReadOnly ? true : undefined, tabIndex: dropdownListModel.noTabIndex ? undefined : -1, disabled: this.question.isDisabledAttr, inputMode: dropdownListModel.inputMode, onChange: function (e) { onInputChange(e); }, onBlur: this.blur, onFocus: this.focus });
6157
6157
  };
6158
- SurveyQuestionDropdownBase.prototype.renderOther = function (cssClasses) {
6159
- return (react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { className: this.question.getCommentAreaCss(true) },
6160
- react__WEBPACK_IMPORTED_MODULE_0__.createElement(_reactquestion_comment__WEBPACK_IMPORTED_MODULE_4__.SurveyQuestionOtherValueItem, { question: this.question, otherCss: cssClasses.other, cssClasses: cssClasses, isDisplayMode: this.isDisplayMode, isOther: true })));
6158
+ SurveyQuestionDropdownBase.prototype.renderOther = function (item, cssClasses) {
6159
+ if (!item || !item.isCommentShowing)
6160
+ return null;
6161
+ return (react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { key: item.normalizedId, className: this.question.getCommentAreaCss(true) },
6162
+ react__WEBPACK_IMPORTED_MODULE_0__.createElement(_reactquestion_comment__WEBPACK_IMPORTED_MODULE_4__.SurveyQuestionCommentValueItem, { question: this.question, item: item, isDisplayMode: this.isDisplayMode, cssClasses: this.question.cssClasses, otherCss: this.question.getCommentAreaCss(false) })));
6161
6163
  };
6162
6164
  SurveyQuestionDropdownBase.prototype.renderEditorButtons = function () {
6163
6165
  return react__WEBPACK_IMPORTED_MODULE_0__.createElement(_components_action_bar_action_bar__WEBPACK_IMPORTED_MODULE_6__.SurveyActionBar, { model: this.dropdownListModel.editorButtons });
@@ -7064,7 +7066,7 @@ var SurveyQuestionImagePickerItem = /** @class */ (function (_super) {
7064
7066
  }
7065
7067
  var renderedItem = (react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { className: itemClass },
7066
7068
  react__WEBPACK_IMPORTED_MODULE_0__.createElement("label", { className: cssClasses.label },
7067
- react__WEBPACK_IMPORTED_MODULE_0__.createElement("input", { className: cssClasses.itemControl, id: this.question.getItemId(item), type: this.question.inputType, name: this.question.questionName, checked: isChecked, value: item.value, disabled: !this.question.getItemEnabled(item), readOnly: this.question.isReadOnlyAttr, onChange: this.handleOnChange, "aria-required": this.question.ariaRequired, "aria-label": item.locText.renderedHtml, "aria-invalid": this.question.ariaInvalid, "aria-errormessage": this.question.ariaErrormessage }),
7069
+ react__WEBPACK_IMPORTED_MODULE_0__.createElement("input", { className: cssClasses.itemControl, id: this.question.getItemId(item), type: this.question.inputType, name: this.question.questionName, checked: isChecked, value: item.value, disabled: !this.question.getItemEnabled(item), readOnly: this.question.isReadOnlyAttr, onChange: this.handleOnChange, required: this.question.inputRequiredAttribute, "aria-label": item.locText.renderedHtml, "aria-invalid": this.question.ariaInvalid, "aria-errormessage": this.question.ariaErrormessage }),
7068
7070
  react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { className: this.question.cssClasses.itemDecorator },
7069
7071
  react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { className: this.question.cssClasses.imageContainer },
7070
7072
  !!this.question.cssClasses.checkedItemDecorator ?
@@ -8996,8 +8998,7 @@ var SurveyQuestionCheckbox = /** @class */ (function (_super) {
8996
8998
  this.question.hasColumns
8997
8999
  ? this.getColumnedBody(cssClasses)
8998
9000
  : this.getBody(cssClasses),
8999
- this.getFooter(),
9000
- this.question.isOtherSelected ? this.renderOther() : null));
9001
+ this.getFooter()));
9001
9002
  };
9002
9003
  SurveyQuestionCheckbox.prototype.getHeader = function () {
9003
9004
  var _this = this;
@@ -9039,7 +9040,6 @@ var SurveyQuestionCheckbox = /** @class */ (function (_super) {
9039
9040
  var renderedItems = [];
9040
9041
  for (var i = 0; i < choices.length; i++) {
9041
9042
  var item = choices[i];
9042
- var key = "item" + item.value;
9043
9043
  var renderedItem = this.renderItem(item, i == 0, cssClasses, "" + i);
9044
9044
  if (!!renderedItem) {
9045
9045
  renderedItems.push(renderedItem);
@@ -9054,11 +9054,6 @@ var SurveyQuestionCheckbox = /** @class */ (function (_super) {
9054
9054
  enumerable: false,
9055
9055
  configurable: true
9056
9056
  });
9057
- SurveyQuestionCheckbox.prototype.renderOther = function () {
9058
- var cssClasses = this.question.cssClasses;
9059
- return (react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { className: this.question.getCommentAreaCss(true) },
9060
- react__WEBPACK_IMPORTED_MODULE_0__.createElement(_reactquestion_comment__WEBPACK_IMPORTED_MODULE_2__.SurveyQuestionOtherValueItem, { question: this.question, otherCss: cssClasses.other, cssClasses: cssClasses, isDisplayMode: this.isDisplayMode })));
9061
- };
9062
9057
  SurveyQuestionCheckbox.prototype.renderItem = function (item, isFirst, cssClasses, index) {
9063
9058
  var renderedItem = _element_factory__WEBPACK_IMPORTED_MODULE_5__.ReactElementFactory.Instance.createElement(this.question.itemComponent, {
9064
9059
  key: item.value,
@@ -9166,7 +9161,9 @@ var SurveyQuestionCheckboxItem = /** @class */ (function (_super) {
9166
9161
  };
9167
9162
  SurveyQuestionCheckboxItem.prototype.renderElement = function () {
9168
9163
  var isChecked = this.question.isItemSelected(this.item);
9169
- return this.renderCheckbox(isChecked, null);
9164
+ return react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null,
9165
+ this.renderCheckbox(isChecked, null),
9166
+ this.renderComment());
9170
9167
  };
9171
9168
  Object.defineProperty(SurveyQuestionCheckboxItem.prototype, "inputStyle", {
9172
9169
  get: function () {
@@ -9175,6 +9172,12 @@ var SurveyQuestionCheckboxItem = /** @class */ (function (_super) {
9175
9172
  enumerable: false,
9176
9173
  configurable: true
9177
9174
  });
9175
+ SurveyQuestionCheckboxItem.prototype.renderComment = function () {
9176
+ if (!this.item.isCommentShowing)
9177
+ return null;
9178
+ return react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { className: this.question.getCommentAreaCss(true) },
9179
+ react__WEBPACK_IMPORTED_MODULE_0__.createElement(_reactquestion_comment__WEBPACK_IMPORTED_MODULE_2__.SurveyQuestionCommentValueItem, { question: this.question, item: this.item, isDisplayMode: this.isDisplayMode, cssClasses: this.question.cssClasses, otherCss: this.question.getCommentAreaCss(false) }));
9180
+ };
9178
9181
  SurveyQuestionCheckboxItem.prototype.renderCheckbox = function (isChecked, otherItem) {
9179
9182
  var id = this.question.getItemId(this.item);
9180
9183
  var itemClass = this.question.getItemClass(this.item);
@@ -9228,7 +9231,7 @@ __webpack_require__.r(__webpack_exports__);
9228
9231
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
9229
9232
  /* harmony export */ SurveyQuestionComment: () => (/* binding */ SurveyQuestionComment),
9230
9233
  /* harmony export */ SurveyQuestionCommentItem: () => (/* binding */ SurveyQuestionCommentItem),
9231
- /* harmony export */ SurveyQuestionOtherValueItem: () => (/* binding */ SurveyQuestionOtherValueItem)
9234
+ /* harmony export */ SurveyQuestionCommentValueItem: () => (/* binding */ SurveyQuestionCommentValueItem)
9232
9235
  /* harmony export */ });
9233
9236
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/preact/compat/dist/compat.module.js");
9234
9237
  /* harmony import */ var _reactquestion_element__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./reactquestion_element */ "../survey-react-ui/src/reactquestion_element.tsx");
@@ -9299,20 +9302,22 @@ var SurveyQuestionCommentItem = /** @class */ (function (_super) {
9299
9302
  var comment = this.textAreaModel.getTextValue() || "";
9300
9303
  return react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", null, comment);
9301
9304
  }
9302
- return (react__WEBPACK_IMPORTED_MODULE_0__.createElement(_components_text_area__WEBPACK_IMPORTED_MODULE_4__.TextAreaComponent, { viewModel: this.textAreaModel }));
9305
+ return (react__WEBPACK_IMPORTED_MODULE_0__.createElement(_components_text_area__WEBPACK_IMPORTED_MODULE_4__.TextAreaComponent, { key: this.getKey(), viewModel: this.textAreaModel }));
9303
9306
  };
9307
+ SurveyQuestionCommentItem.prototype.getKey = function () { return undefined; };
9304
9308
  return SurveyQuestionCommentItem;
9305
9309
  }(_reactquestion_element__WEBPACK_IMPORTED_MODULE_1__.ReactSurveyElement));
9306
9310
 
9307
- var SurveyQuestionOtherValueItem = /** @class */ (function (_super) {
9308
- __extends(SurveyQuestionOtherValueItem, _super);
9309
- function SurveyQuestionOtherValueItem() {
9311
+ var SurveyQuestionCommentValueItem = /** @class */ (function (_super) {
9312
+ __extends(SurveyQuestionCommentValueItem, _super);
9313
+ function SurveyQuestionCommentValueItem() {
9310
9314
  return _super !== null && _super.apply(this, arguments) || this;
9311
9315
  }
9312
- SurveyQuestionOtherValueItem.prototype.getTextAreaModel = function () {
9313
- return this.props.question.otherTextAreaModel;
9316
+ SurveyQuestionCommentValueItem.prototype.getTextAreaModel = function () {
9317
+ return this.props.question.getCommentTextAreaModel(this.props.item);
9314
9318
  };
9315
- return SurveyQuestionOtherValueItem;
9319
+ SurveyQuestionCommentValueItem.prototype.getKey = function () { return this.props.item.normalizedId; };
9320
+ return SurveyQuestionCommentValueItem;
9316
9321
  }(SurveyQuestionCommentItem));
9317
9322
 
9318
9323
  _reactquestion_factory__WEBPACK_IMPORTED_MODULE_2__.ReactQuestionFactory.Instance.registerQuestion("comment", function (props) {
@@ -9440,7 +9445,7 @@ var SurveyQuestionDropdown = /** @class */ (function (_super) {
9440
9445
  }
9441
9446
  SurveyQuestionDropdown.prototype.renderElement = function () {
9442
9447
  var cssClasses = this.question.cssClasses;
9443
- var comment = this.question.isOtherSelected ? this.renderOther(cssClasses) : null;
9448
+ var comment = this.renderOther(this.question.selectedItem, cssClasses);
9444
9449
  var select = this.renderSelect(cssClasses);
9445
9450
  return (react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { className: this.question.renderCssRoot },
9446
9451
  select,
@@ -9969,7 +9974,7 @@ var SurveyQuestionExpression = /** @class */ (function (_super) {
9969
9974
  SurveyQuestionExpression.prototype.renderElement = function () {
9970
9975
  var _this = this;
9971
9976
  var cssClasses = this.question.cssClasses;
9972
- return (react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { id: this.question.inputId, className: cssClasses.root, ref: function (div) { return (_this.setControl(div)); } }, this.question.formatedValue));
9977
+ return (react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { id: this.question.inputId, className: cssClasses.root, ref: function (div) { return (_this.setControl(div)); }, "aria-live": "polite", "aria-label": this.question.formatedValue }, this.question.formatedValue));
9973
9978
  };
9974
9979
  return SurveyQuestionExpression;
9975
9980
  }(_reactquestion_element__WEBPACK_IMPORTED_MODULE_1__.SurveyQuestionElementBase));
@@ -10957,7 +10962,7 @@ var SurveyQuestionMatrixDropdownCell = /** @class */ (function (_super) {
10957
10962
  SurveyQuestionMatrixDropdownCell.prototype.renderOtherComment = function () {
10958
10963
  var question = this.cell.question;
10959
10964
  var cssClasses = question.cssClasses || {};
10960
- return react__WEBPACK_IMPORTED_MODULE_0__.createElement(_reactquestion_comment__WEBPACK_IMPORTED_MODULE_9__.SurveyQuestionOtherValueItem, { question: question, cssClasses: cssClasses, otherCss: cssClasses.other, isDisplayMode: question.isInputReadOnly });
10965
+ return react__WEBPACK_IMPORTED_MODULE_0__.createElement(_reactquestion_comment__WEBPACK_IMPORTED_MODULE_9__.SurveyQuestionCommentValueItem, { question: question, item: question.otherItem, cssClasses: cssClasses, otherCss: cssClasses.other, isDisplayMode: question.isInputReadOnly });
10961
10966
  };
10962
10967
  SurveyQuestionMatrixDropdownCell.prototype.renderCellCheckboxButton = function () {
10963
10968
  var key = this.cell.question.id + "item" + this.cell.choiceIndex;
@@ -11540,7 +11545,6 @@ var SurveyQuestionRadiogroup = /** @class */ (function (_super) {
11540
11545
  ? this.getColumnedBody(cssClasses)
11541
11546
  : this.getBody(cssClasses),
11542
11547
  this.getFooter(),
11543
- this.question.isOtherSelected ? this.renderOther(cssClasses) : null,
11544
11548
  clearButton));
11545
11549
  };
11546
11550
  SurveyQuestionRadiogroup.prototype.getFooter = function () {
@@ -11589,10 +11593,6 @@ var SurveyQuestionRadiogroup = /** @class */ (function (_super) {
11589
11593
  enumerable: false,
11590
11594
  configurable: true
11591
11595
  });
11592
- SurveyQuestionRadiogroup.prototype.renderOther = function (cssClasses) {
11593
- return (react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { className: this.question.getCommentAreaCss(true) },
11594
- react__WEBPACK_IMPORTED_MODULE_0__.createElement(_reactquestion_comment__WEBPACK_IMPORTED_MODULE_2__.SurveyQuestionOtherValueItem, { question: this.question, otherCss: cssClasses.other, cssClasses: cssClasses, isDisplayMode: this.isDisplayMode })));
11595
- };
11596
11596
  SurveyQuestionRadiogroup.prototype.renderItem = function (item, value, cssClasses, index) {
11597
11597
  var renderedItem = _element_factory__WEBPACK_IMPORTED_MODULE_5__.ReactElementFactory.Instance.createElement(this.question.itemComponent, {
11598
11598
  key: item.value,
@@ -11709,6 +11709,17 @@ var SurveyQuestionRadioItem = /** @class */ (function (_super) {
11709
11709
  }
11710
11710
  };
11711
11711
  SurveyQuestionRadioItem.prototype.renderElement = function () {
11712
+ return react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null,
11713
+ this.renderRadioButton(),
11714
+ this.renderComment());
11715
+ };
11716
+ SurveyQuestionRadioItem.prototype.renderComment = function () {
11717
+ if (!this.item.isCommentShowing)
11718
+ return null;
11719
+ return react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { className: this.question.getCommentAreaCss(true) },
11720
+ react__WEBPACK_IMPORTED_MODULE_0__.createElement(_reactquestion_comment__WEBPACK_IMPORTED_MODULE_2__.SurveyQuestionCommentValueItem, { question: this.question, item: this.item, isDisplayMode: this.isDisplayMode, cssClasses: this.question.cssClasses, otherCss: this.question.getCommentAreaCss(false) }));
11721
+ };
11722
+ SurveyQuestionRadioItem.prototype.renderRadioButton = function () {
11712
11723
  var itemClass = this.question.getItemClass(this.item);
11713
11724
  var labelClass = this.question.getLabelClass(this.item);
11714
11725
  var controlLabelClass = this.question.getControlLabelClass(this.item);
@@ -12375,7 +12386,7 @@ var SurveyQuestionTagbox = /** @class */ (function (_super) {
12375
12386
  };
12376
12387
  SurveyQuestionTagbox.prototype.renderElement = function () {
12377
12388
  var cssClasses = this.question.cssClasses;
12378
- var comment = this.question.isOtherSelected ? this.renderOther(cssClasses) : null;
12389
+ var comment = this.renderOther(this.question.otherItem, cssClasses);
12379
12390
  var select = this.renderSelect(cssClasses);
12380
12391
  return (react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { className: this.question.renderCssRoot },
12381
12392
  select,
@@ -13790,7 +13801,7 @@ var preact = react__WEBPACK_IMPORTED_MODULE_0__;
13790
13801
 
13791
13802
 
13792
13803
 
13793
- (0,survey_core__WEBPACK_IMPORTED_MODULE_2__.checkLibraryVersion)("".concat("2.2.5"), "survey-js-ui");
13804
+ (0,survey_core__WEBPACK_IMPORTED_MODULE_2__.checkLibraryVersion)("".concat("2.2.6"), "survey-js-ui");
13794
13805
 
13795
13806
  })();
13796
13807