survey-react-ui 1.9.123 → 1.9.124

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-react-ui",
3
- "version": "1.9.123",
3
+ "version": "1.9.124",
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",
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * surveyjs - Survey JavaScript library v1.9.123
3
- * Copyright (c) 2015-2023 Devsoft Baltic OÜ - http://surveyjs.io/
2
+ * surveyjs - Survey JavaScript library v1.9.124
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
  */
6
6
  (function webpackUniversalModuleDefinition(root, factory) {
@@ -484,6 +484,13 @@ var Base = /** @class */ (function () {
484
484
  enumerable: false,
485
485
  configurable: true
486
486
  });
487
+ Object.defineProperty(Base.prototype, "isDesignModeV2", {
488
+ get: function () {
489
+ return _settings__WEBPACK_IMPORTED_MODULE_3__["settings"].supportCreatorV2 && this.isDesignMode;
490
+ },
491
+ enumerable: false,
492
+ configurable: true
493
+ });
487
494
  Object.defineProperty(Base.prototype, "inSurvey", {
488
495
  /**
489
496
  * Returns `true` if the object is included in a survey.
@@ -659,6 +666,7 @@ var Base = /** @class */ (function () {
659
666
  Base.prototype.resetPropertyValue = function (name) {
660
667
  var locStr = this.localizableStrings ? this.localizableStrings[name] : undefined;
661
668
  if (locStr) {
669
+ this.setLocalizableStringText(name, undefined);
662
670
  locStr.clear();
663
671
  }
664
672
  else {
@@ -1993,7 +2001,7 @@ __webpack_require__.r(__webpack_exports__);
1993
2001
  /*!***************************************!*\
1994
2002
  !*** ./src/entries/react-ui-model.ts ***!
1995
2003
  \***************************************/
1996
- /*! exports provided: Survey, attachKey2click, ReactSurveyElementsWrapper, SurveyNavigationBase, SurveyTimerPanel, SurveyPage, SurveyRow, SurveyPanel, SurveyFlowPanel, SurveyQuestion, SurveyElementErrors, SurveyQuestionAndErrorsCell, ReactSurveyElement, SurveyElementBase, SurveyQuestionElementBase, SurveyQuestionCommentItem, SurveyQuestionComment, SurveyQuestionCheckbox, SurveyQuestionCheckboxItem, SurveyQuestionRanking, SurveyQuestionRankingItem, RatingItem, RatingItemStar, RatingItemSmiley, RatingDropdownItem, TagboxFilterString, SurveyQuestionOptionItem, SurveyQuestionDropdownBase, SurveyQuestionDropdown, SurveyQuestionTagboxItem, SurveyQuestionTagbox, SurveyQuestionDropdownSelect, SurveyQuestionMatrix, SurveyQuestionMatrixRow, 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 */
2004
+ /*! exports provided: Survey, attachKey2click, ReactSurveyElementsWrapper, SurveyNavigationBase, SurveyTimerPanel, SurveyPage, SurveyRow, SurveyPanel, SurveyFlowPanel, SurveyQuestion, SurveyElementErrors, SurveyQuestionAndErrorsCell, ReactSurveyElement, SurveyElementBase, SurveyQuestionElementBase, SurveyQuestionCommentItem, SurveyQuestionComment, SurveyQuestionCheckbox, SurveyQuestionCheckboxItem, SurveyQuestionRanking, SurveyQuestionRankingItem, RatingItem, RatingItemStar, RatingItemSmiley, RatingDropdownItem, TagboxFilterString, SurveyQuestionOptionItem, SurveyQuestionDropdownBase, SurveyQuestionDropdown, SurveyQuestionTagboxItem, SurveyQuestionTagbox, SurveyQuestionDropdownSelect, SurveyQuestionMatrix, SurveyQuestionMatrixRow, SurveyQuestionMatrixCell, SurveyQuestionHtml, SurveyQuestionFile, SurveyFileChooseButton, SurveyFilePreview, SurveyQuestionMultipleText, SurveyQuestionRadiogroup, SurveyQuestionRadioItem, SurveyQuestionText, SurveyQuestionBoolean, SurveyQuestionBooleanCheckbox, SurveyQuestionBooleanRadio, SurveyQuestionEmpty, SurveyQuestionMatrixDropdownCell, SurveyQuestionMatrixDropdownBase, SurveyQuestionMatrixDropdown, SurveyQuestionMatrixDynamic, SurveyQuestionMatrixDynamicAddButton, SurveyQuestionPanelDynamic, SurveyProgress, SurveyProgressButtons, SurveyProgressToc, SurveyQuestionRating, SurveyQuestionRatingDropdown, SurveyQuestionExpression, PopupSurvey, SurveyWindow, ReactQuestionFactory, ReactElementFactory, SurveyQuestionImagePicker, SurveyQuestionImage, SurveyQuestionSignaturePad, SurveyQuestionButtonGroup, SurveyQuestionCustom, SurveyQuestionComposite, Popup, List, TitleActions, TitleElement, SurveyActionBar, LogoImage, SurveyHeader, SvgIcon, SurveyQuestionMatrixDynamicRemoveButton, SurveyQuestionMatrixDetailButton, SurveyQuestionMatrixDynamicDragDropIcon, SurveyQuestionPanelDynamicAddButton, SurveyQuestionPanelDynamicRemoveButton, SurveyQuestionPanelDynamicPrevButton, SurveyQuestionPanelDynamicNextButton, SurveyQuestionPanelDynamicProgressText, SurveyNavigationButton, MatrixRow, Skeleton, NotifierComponent, ComponentsContainer, CharacterCounterComponent, HeaderMobile, HeaderCell, Header, SurveyLocStringViewer, SurveyLocStringEditor, LoadingIndicatorComponent, SvgBundleComponent */
1997
2005
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
1998
2006
 
1999
2007
  "use strict";
@@ -2091,6 +2099,8 @@ __webpack_require__.r(__webpack_exports__);
2091
2099
 
2092
2100
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyQuestionMatrixRow", function() { return _react_reactquestion_matrix__WEBPACK_IMPORTED_MODULE_24__["SurveyQuestionMatrixRow"]; });
2093
2101
 
2102
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyQuestionMatrixCell", function() { return _react_reactquestion_matrix__WEBPACK_IMPORTED_MODULE_24__["SurveyQuestionMatrixCell"]; });
2103
+
2094
2104
  /* harmony import */ var _react_reactquestion_html__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ../react/reactquestion_html */ "./src/react/reactquestion_html.tsx");
2095
2105
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyQuestionHtml", function() { return _react_reactquestion_html__WEBPACK_IMPORTED_MODULE_25__["SurveyQuestionHtml"]; });
2096
2106
 
@@ -2365,7 +2375,7 @@ __webpack_require__.r(__webpack_exports__);
2365
2375
  /*!*********************************!*\
2366
2376
  !*** ./src/entries/react-ui.ts ***!
2367
2377
  \*********************************/
2368
- /*! exports provided: Survey, attachKey2click, ReactSurveyElementsWrapper, SurveyNavigationBase, SurveyTimerPanel, SurveyPage, SurveyRow, SurveyPanel, SurveyFlowPanel, SurveyQuestion, SurveyElementErrors, SurveyQuestionAndErrorsCell, ReactSurveyElement, SurveyElementBase, SurveyQuestionElementBase, SurveyQuestionCommentItem, SurveyQuestionComment, SurveyQuestionCheckbox, SurveyQuestionCheckboxItem, SurveyQuestionRanking, SurveyQuestionRankingItem, RatingItem, RatingItemStar, RatingItemSmiley, RatingDropdownItem, TagboxFilterString, SurveyQuestionOptionItem, SurveyQuestionDropdownBase, SurveyQuestionDropdown, SurveyQuestionTagboxItem, SurveyQuestionTagbox, SurveyQuestionDropdownSelect, SurveyQuestionMatrix, SurveyQuestionMatrixRow, 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, SurveyModel, SurveyWindowModel, settings, surveyLocalization, surveyStrings, Model, ResponsivityManager, VerticalResponsivityManager, unwrap */
2378
+ /*! exports provided: Survey, attachKey2click, ReactSurveyElementsWrapper, SurveyNavigationBase, SurveyTimerPanel, SurveyPage, SurveyRow, SurveyPanel, SurveyFlowPanel, SurveyQuestion, SurveyElementErrors, SurveyQuestionAndErrorsCell, ReactSurveyElement, SurveyElementBase, SurveyQuestionElementBase, SurveyQuestionCommentItem, SurveyQuestionComment, SurveyQuestionCheckbox, SurveyQuestionCheckboxItem, SurveyQuestionRanking, SurveyQuestionRankingItem, RatingItem, RatingItemStar, RatingItemSmiley, RatingDropdownItem, TagboxFilterString, SurveyQuestionOptionItem, SurveyQuestionDropdownBase, SurveyQuestionDropdown, SurveyQuestionTagboxItem, SurveyQuestionTagbox, SurveyQuestionDropdownSelect, SurveyQuestionMatrix, SurveyQuestionMatrixRow, SurveyQuestionMatrixCell, SurveyQuestionHtml, SurveyQuestionFile, SurveyFileChooseButton, SurveyFilePreview, SurveyQuestionMultipleText, SurveyQuestionRadiogroup, SurveyQuestionRadioItem, SurveyQuestionText, SurveyQuestionBoolean, SurveyQuestionBooleanCheckbox, SurveyQuestionBooleanRadio, SurveyQuestionEmpty, SurveyQuestionMatrixDropdownCell, SurveyQuestionMatrixDropdownBase, SurveyQuestionMatrixDropdown, SurveyQuestionMatrixDynamic, SurveyQuestionMatrixDynamicAddButton, SurveyQuestionPanelDynamic, SurveyProgress, SurveyProgressButtons, SurveyProgressToc, SurveyQuestionRating, SurveyQuestionRatingDropdown, SurveyQuestionExpression, PopupSurvey, SurveyWindow, ReactQuestionFactory, ReactElementFactory, SurveyQuestionImagePicker, SurveyQuestionImage, SurveyQuestionSignaturePad, SurveyQuestionButtonGroup, SurveyQuestionCustom, SurveyQuestionComposite, Popup, List, TitleActions, TitleElement, SurveyActionBar, LogoImage, SurveyHeader, SvgIcon, SurveyQuestionMatrixDynamicRemoveButton, SurveyQuestionMatrixDetailButton, SurveyQuestionMatrixDynamicDragDropIcon, SurveyQuestionPanelDynamicAddButton, SurveyQuestionPanelDynamicRemoveButton, SurveyQuestionPanelDynamicPrevButton, SurveyQuestionPanelDynamicNextButton, SurveyQuestionPanelDynamicProgressText, SurveyNavigationButton, MatrixRow, Skeleton, NotifierComponent, ComponentsContainer, CharacterCounterComponent, HeaderMobile, HeaderCell, Header, SurveyLocStringViewer, SurveyLocStringEditor, LoadingIndicatorComponent, SvgBundleComponent, SurveyModel, SurveyWindowModel, settings, surveyLocalization, surveyStrings, Model, ResponsivityManager, VerticalResponsivityManager, unwrap */
2369
2379
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
2370
2380
 
2371
2381
  "use strict";
@@ -2439,6 +2449,8 @@ __webpack_require__.r(__webpack_exports__);
2439
2449
 
2440
2450
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyQuestionMatrixRow", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_0__["SurveyQuestionMatrixRow"]; });
2441
2451
 
2452
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyQuestionMatrixCell", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_0__["SurveyQuestionMatrixCell"]; });
2453
+
2442
2454
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyQuestionHtml", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_0__["SurveyQuestionHtml"]; });
2443
2455
 
2444
2456
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SurveyQuestionFile", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_0__["SurveyQuestionFile"]; });
@@ -2594,7 +2606,7 @@ __webpack_require__.r(__webpack_exports__);
2594
2606
 
2595
2607
 
2596
2608
 
2597
- Object(survey_core__WEBPACK_IMPORTED_MODULE_2__["checkLibraryVersion"])("" + "1.9.123", "survey-react-ui");
2609
+ Object(survey_core__WEBPACK_IMPORTED_MODULE_2__["checkLibraryVersion"])("" + "1.9.124", "survey-react-ui");
2598
2610
 
2599
2611
 
2600
2612
  /***/ }),
@@ -17154,18 +17166,20 @@ _reactquestion_factory__WEBPACK_IMPORTED_MODULE_2__["ReactQuestionFactory"].Inst
17154
17166
  /*!********************************************!*\
17155
17167
  !*** ./src/react/reactquestion_matrix.tsx ***!
17156
17168
  \********************************************/
17157
- /*! exports provided: SurveyQuestionMatrix, SurveyQuestionMatrixRow */
17169
+ /*! exports provided: SurveyQuestionMatrix, SurveyQuestionMatrixRow, SurveyQuestionMatrixCell */
17158
17170
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
17159
17171
 
17160
17172
  "use strict";
17161
17173
  __webpack_require__.r(__webpack_exports__);
17162
17174
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SurveyQuestionMatrix", function() { return SurveyQuestionMatrix; });
17163
17175
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SurveyQuestionMatrixRow", function() { return SurveyQuestionMatrixRow; });
17176
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SurveyQuestionMatrixCell", function() { return SurveyQuestionMatrixCell; });
17164
17177
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
17165
17178
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
17166
17179
  /* harmony import */ var _reactquestion_element__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./reactquestion_element */ "./src/react/reactquestion_element.tsx");
17167
17180
  /* harmony import */ var _reactquestion_factory__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./reactquestion_factory */ "./src/react/reactquestion_factory.tsx");
17168
17181
  /* harmony import */ var _reactsurveymodel__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./reactsurveymodel */ "./src/react/reactsurveymodel.tsx");
17182
+ /* harmony import */ var _element_factory__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./element-factory */ "./src/react/element-factory.tsx");
17169
17183
  var __extends = (undefined && undefined.__extends) || (function () {
17170
17184
  var extendStatics = function (d, b) {
17171
17185
  extendStatics = Object.setPrototypeOf ||
@@ -17185,6 +17199,7 @@ var __extends = (undefined && undefined.__extends) || (function () {
17185
17199
 
17186
17200
 
17187
17201
 
17202
+
17188
17203
  var SurveyQuestionMatrix = /** @class */ (function (_super) {
17189
17204
  __extends(SurveyQuestionMatrix, _super);
17190
17205
  function SurveyQuestionMatrix(props) {
@@ -17254,10 +17269,7 @@ var SurveyQuestionMatrix = /** @class */ (function (_super) {
17254
17269
  var SurveyQuestionMatrixRow = /** @class */ (function (_super) {
17255
17270
  __extends(SurveyQuestionMatrixRow, _super);
17256
17271
  function SurveyQuestionMatrixRow(props) {
17257
- var _this = _super.call(this, props) || this;
17258
- _this.handleOnChange = _this.handleOnChange.bind(_this);
17259
- _this.handleOnMouseDown = _this.handleOnMouseDown.bind(_this);
17260
- return _this;
17272
+ return _super.call(this, props) || this;
17261
17273
  }
17262
17274
  Object.defineProperty(SurveyQuestionMatrixRow.prototype, "question", {
17263
17275
  get: function () {
@@ -17273,13 +17285,6 @@ var SurveyQuestionMatrixRow = /** @class */ (function (_super) {
17273
17285
  enumerable: false,
17274
17286
  configurable: true
17275
17287
  });
17276
- SurveyQuestionMatrixRow.prototype.handleOnChange = function (event) {
17277
- this.row.value = event.target.value;
17278
- this.setState({ value: this.row.value });
17279
- };
17280
- SurveyQuestionMatrixRow.prototype.handleOnMouseDown = function (event) {
17281
- this.question.onMouseDown();
17282
- };
17283
17288
  SurveyQuestionMatrixRow.prototype.wrapCell = function (cell, element, reason) {
17284
17289
  if (!reason) {
17285
17290
  return element;
@@ -17314,33 +17319,35 @@ var SurveyQuestionMatrixRow = /** @class */ (function (_super) {
17314
17319
  var _this = this;
17315
17320
  var tds = [];
17316
17321
  var row = this.row;
17317
- for (var i = 0; i < this.question.visibleColumns.length; i++) {
17322
+ var cellComponent = this.question.cellComponent;
17323
+ var _loop_1 = function () {
17318
17324
  var td = null;
17319
- var column = this.question.visibleColumns[i];
17325
+ var column = this_1.question.visibleColumns[i];
17320
17326
  var key = "value" + i;
17321
- var isChecked = row.value == column.value;
17322
- var itemClass = this.question.getItemClass(row, column);
17323
- var inputId = this.question.inputId + "_" + row.name + "_" + i;
17324
- if (this.question.hasCellText) {
17325
- var getHandler = !this.question.isInputReadOnly
17327
+ var itemClass = this_1.question.getItemClass(row, column);
17328
+ if (this_1.question.hasCellText) {
17329
+ var getHandler = !this_1.question.isInputReadOnly
17326
17330
  ? function (column) { return function () { return _this.cellClick(row, column); }; }
17327
17331
  : null;
17328
- td = (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("td", { key: key, className: itemClass, onClick: getHandler ? getHandler(column) : function () { } }, this.renderLocString(this.question.getCellDisplayLocText(row.name, column))));
17332
+ td = (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("td", { key: key, className: itemClass, onClick: getHandler ? getHandler(column) : function () { } }, this_1.renderLocString(this_1.question.getCellDisplayLocText(row.name, column))));
17329
17333
  }
17330
17334
  else {
17331
- var mobileSpan = this.question.isMobile ?
17332
- (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", { className: this.question.cssClasses.cellResponsiveTitle }, this.renderLocString(column.locText)))
17333
- : undefined;
17334
- td = (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("td", { key: key, "data-responsive-title": column.locText.renderedHtml, className: this.question.cssClasses.cell },
17335
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("label", { onMouseDown: this.handleOnMouseDown, className: itemClass },
17336
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("input", { id: inputId, type: "radio", className: this.cssClasses.itemValue, name: row.fullName, value: column.value, disabled: this.isDisplayMode, checked: isChecked, onChange: this.handleOnChange, "aria-required": this.question.a11y_input_ariaRequired, "aria-label": this.question.getCellAriaLabel(row.locText.renderedHtml, column.locText.renderedHtml), "aria-invalid": this.question.a11y_input_ariaInvalid, "aria-describedby": this.question.a11y_input_ariaDescribedBy }),
17337
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", { className: this.question.cssClasses.materialDecorator }, this.question.itemSvgIcon ?
17338
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("svg", { className: this.cssClasses.itemDecorator },
17339
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("use", { xlinkHref: this.question.itemSvgIcon })) :
17340
- null),
17341
- mobileSpan)));
17335
+ var renderedCell = _element_factory__WEBPACK_IMPORTED_MODULE_4__["ReactElementFactory"].Instance.createElement(cellComponent, {
17336
+ question: this_1.question,
17337
+ row: this_1.row,
17338
+ column: column,
17339
+ columnIndex: i,
17340
+ cssClasses: this_1.cssClasses,
17341
+ isDisplayMode: this_1.isDisplayMode,
17342
+ cellChanged: function () { _this.cellClick(_this.row, column); }
17343
+ });
17344
+ td = (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("td", { key: key, "data-responsive-title": column.locText.renderedHtml, className: this_1.question.cssClasses.cell }, renderedCell));
17342
17345
  }
17343
17346
  tds.push(td);
17347
+ };
17348
+ var this_1 = this;
17349
+ for (var i = 0; i < this.question.visibleColumns.length; i++) {
17350
+ _loop_1();
17344
17351
  }
17345
17352
  return tds;
17346
17353
  };
@@ -17351,6 +17358,77 @@ var SurveyQuestionMatrixRow = /** @class */ (function (_super) {
17351
17358
  return SurveyQuestionMatrixRow;
17352
17359
  }(_reactquestion_element__WEBPACK_IMPORTED_MODULE_1__["ReactSurveyElement"]));
17353
17360
 
17361
+ var SurveyQuestionMatrixCell = /** @class */ (function (_super) {
17362
+ __extends(SurveyQuestionMatrixCell, _super);
17363
+ function SurveyQuestionMatrixCell(props) {
17364
+ var _this = _super.call(this, props) || this;
17365
+ _this.handleOnMouseDown = _this.handleOnMouseDown.bind(_this);
17366
+ _this.handleOnChange = _this.handleOnChange.bind(_this);
17367
+ return _this;
17368
+ }
17369
+ SurveyQuestionMatrixCell.prototype.handleOnChange = function (event) {
17370
+ if (!!this.props.cellChanged) {
17371
+ this.props.cellChanged();
17372
+ }
17373
+ };
17374
+ SurveyQuestionMatrixCell.prototype.handleOnMouseDown = function (event) {
17375
+ this.question.onMouseDown();
17376
+ };
17377
+ Object.defineProperty(SurveyQuestionMatrixCell.prototype, "question", {
17378
+ get: function () {
17379
+ return this.props.question;
17380
+ },
17381
+ enumerable: false,
17382
+ configurable: true
17383
+ });
17384
+ Object.defineProperty(SurveyQuestionMatrixCell.prototype, "row", {
17385
+ get: function () {
17386
+ return this.props.row;
17387
+ },
17388
+ enumerable: false,
17389
+ configurable: true
17390
+ });
17391
+ Object.defineProperty(SurveyQuestionMatrixCell.prototype, "column", {
17392
+ get: function () {
17393
+ return this.props.column;
17394
+ },
17395
+ enumerable: false,
17396
+ configurable: true
17397
+ });
17398
+ Object.defineProperty(SurveyQuestionMatrixCell.prototype, "columnIndex", {
17399
+ get: function () {
17400
+ return this.props.columnIndex;
17401
+ },
17402
+ enumerable: false,
17403
+ configurable: true
17404
+ });
17405
+ SurveyQuestionMatrixCell.prototype.canRender = function () {
17406
+ return !!this.question && !!this.row;
17407
+ };
17408
+ SurveyQuestionMatrixCell.prototype.renderElement = function () {
17409
+ var isChecked = this.row.value == this.column.value;
17410
+ var inputId = this.question.inputId + "_" + this.row.name + "_" + this.columnIndex;
17411
+ var itemClass = this.question.getItemClass(this.row, this.column);
17412
+ var mobileSpan = this.question.isMobile ?
17413
+ (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", { className: this.question.cssClasses.cellResponsiveTitle }, this.renderLocString(this.column.locText)))
17414
+ : undefined;
17415
+ return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("label", { onMouseDown: this.handleOnMouseDown, className: itemClass },
17416
+ this.renderInput(inputId, isChecked),
17417
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", { className: this.question.cssClasses.materialDecorator }, this.question.itemSvgIcon ?
17418
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("svg", { className: this.cssClasses.itemDecorator },
17419
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("use", { xlinkHref: this.question.itemSvgIcon })) :
17420
+ null),
17421
+ mobileSpan));
17422
+ };
17423
+ SurveyQuestionMatrixCell.prototype.renderInput = function (inputId, isChecked) {
17424
+ 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.isDisplayMode, 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 }));
17425
+ };
17426
+ return SurveyQuestionMatrixCell;
17427
+ }(_reactquestion_element__WEBPACK_IMPORTED_MODULE_1__["ReactSurveyElement"]));
17428
+
17429
+ _element_factory__WEBPACK_IMPORTED_MODULE_4__["ReactElementFactory"].Instance.registerElement("survey-matrix-cell", function (props) {
17430
+ return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](SurveyQuestionMatrixCell, props);
17431
+ });
17354
17432
  _reactquestion_factory__WEBPACK_IMPORTED_MODULE_2__["ReactQuestionFactory"].Instance.registerQuestion("matrix", function (props) {
17355
17433
  return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](SurveyQuestionMatrix, props);
17356
17434
  });