survey-react 1.11.12 → 1.11.13

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.11.12
2
+ * surveyjs - Survey JavaScript library v1.11.13
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
  */
@@ -2039,8 +2039,7 @@ var englishStrings = {
2039
2039
  // Uncomment the lines below if you create a custom dictionary.
2040
2040
  // Replace "en" with a custom locale code (for example, "fr" or "de"),
2041
2041
  // Replace `englishStrings` with the name of the variable that contains the custom dictionary.
2042
- // surveyLocalization.locales["en"] = englishStrings;
2043
- // surveyLocalization.localeNames["en"] = "English";
2042
+ //surveyLocalization.setupLocale("en", englishStrings, "English", "English");
2044
2043
 
2045
2044
  // CONCATENATED MODULE: ./packages/survey-core/src/surveyStrings.ts
2046
2045
 
@@ -2049,8 +2048,21 @@ var surveyLocalization = {
2049
2048
  defaultLocaleValue: "en",
2050
2049
  locales: {},
2051
2050
  localeNames: {},
2051
+ localeNamesInEnglish: {},
2052
2052
  localeDirections: {},
2053
2053
  supportedLocales: [],
2054
+ useEnglishNames: false,
2055
+ //TODO remove on next week
2056
+ get showNamesInEnglish() { return this.useEnglishNames; },
2057
+ set showNamesInEnglish(val) { this.useEnglishNames = val; },
2058
+ setupLocale: function (loc, strings, name, nameInEngish, direction) {
2059
+ this.locales[loc] = strings;
2060
+ this.localeNames[loc] = name;
2061
+ this.localeNamesInEnglish[loc] = nameInEngish;
2062
+ if (direction !== undefined) {
2063
+ this.localeDirections[loc] = direction;
2064
+ }
2065
+ },
2054
2066
  get currentLocale() {
2055
2067
  return this.currentLocaleValue === this.defaultLocaleValue ? "" : this.currentLocaleValue;
2056
2068
  },
@@ -2102,7 +2114,17 @@ var surveyLocalization = {
2102
2114
  }
2103
2115
  return this.onGetExternalString(strName, locale);
2104
2116
  },
2117
+ getLocaleName: function (loc, inEnglish) {
2118
+ if (!loc)
2119
+ return "";
2120
+ if (inEnglish === undefined)
2121
+ inEnglish = this.showNamesInEnglish;
2122
+ var firstNames = inEnglish ? this.localeNamesInEnglish : this.localeNames;
2123
+ var secondNames = inEnglish ? this.localeNames : this.localeNamesInEnglish;
2124
+ return firstNames[loc] || secondNames[loc] || loc;
2125
+ },
2105
2126
  getLocales: function (removeDefaultLoc) {
2127
+ var _this = this;
2106
2128
  if (removeDefaultLoc === void 0) { removeDefaultLoc = false; }
2107
2129
  var res = [];
2108
2130
  res.push("");
@@ -2119,12 +2141,7 @@ var surveyLocalization = {
2119
2141
  res.push(key);
2120
2142
  }
2121
2143
  var locName = function (loc) {
2122
- if (!loc)
2123
- return "";
2124
- var res = surveyLocalization.localeNames[loc];
2125
- if (!res)
2126
- res = loc;
2127
- return res.toLowerCase();
2144
+ return _this.getLocaleName(loc).toLowerCase();
2128
2145
  };
2129
2146
  res.sort(function (a, b) {
2130
2147
  var str1 = locName(a);
@@ -5379,11 +5396,27 @@ var expressions_FunctionOperand = /** @class */ (function (_super) {
5379
5396
  return true;
5380
5397
  };
5381
5398
  FunctionOperand.prototype.hasAsyncFunction = function () {
5399
+ return this.isAsyncFunction() || this.parameters.hasAsyncFunction();
5400
+ };
5401
+ FunctionOperand.prototype.isAsyncFunction = function () {
5382
5402
  return functionsfactory_FunctionFactory.Instance.isAsyncFunction(this.originalValue);
5383
5403
  };
5384
5404
  FunctionOperand.prototype.addToAsyncList = function (list) {
5385
- if (this.hasAsyncFunction()) {
5386
- list.push(this);
5405
+ var item = undefined;
5406
+ if (this.isAsyncFunction()) {
5407
+ item = { operand: this };
5408
+ }
5409
+ if (this.parameters.hasAsyncFunction()) {
5410
+ var children = new Array();
5411
+ this.parameters.addToAsyncList(children);
5412
+ children.forEach(function (child) { return child.parent = item; });
5413
+ if (!item) {
5414
+ item = {};
5415
+ }
5416
+ item.children = children;
5417
+ }
5418
+ if (item) {
5419
+ list.push(item);
5387
5420
  }
5388
5421
  };
5389
5422
  FunctionOperand.prototype.isContentEqual = function (op) {
@@ -8742,7 +8775,6 @@ var conditions_ExpressionExecutor = /** @class */ (function () {
8742
8775
  return !!this.operand;
8743
8776
  };
8744
8777
  ExpressionExecutor.prototype.run = function (values, properties) {
8745
- var _this = this;
8746
8778
  if (properties === void 0) { properties = null; }
8747
8779
  if (!this.operand) {
8748
8780
  if (!!this.expression) {
@@ -8754,25 +8786,57 @@ var conditions_ExpressionExecutor = /** @class */ (function () {
8754
8786
  this.processValue.properties = properties;
8755
8787
  if (!this.isAsync)
8756
8788
  return this.runValues();
8757
- this.asyncFuncList = [];
8789
+ this.asyncFuncList = new Array();
8758
8790
  this.operand.addToAsyncList(this.asyncFuncList);
8759
8791
  for (var i = 0; i < this.asyncFuncList.length; i++) {
8760
- this.asyncFuncList[i].onAsyncReady = function () {
8761
- _this.doAsyncFunctionReady();
8762
- };
8763
- }
8764
- for (var i = 0; i < this.asyncFuncList.length; i++) {
8765
- this.asyncFuncList[i].evaluateAsync(this.processValue);
8792
+ this.runAsyncItem(this.asyncFuncList[i]);
8766
8793
  }
8767
8794
  return false;
8768
8795
  };
8769
- ExpressionExecutor.prototype.doAsyncFunctionReady = function () {
8796
+ ExpressionExecutor.prototype.runAsyncItem = function (item) {
8797
+ var _this = this;
8798
+ if (item.children) {
8799
+ item.children.forEach(function (child) { return _this.runAsyncItem(child); });
8800
+ }
8801
+ else {
8802
+ this.runAsyncItemCore(item);
8803
+ }
8804
+ };
8805
+ ExpressionExecutor.prototype.runAsyncItemCore = function (item) {
8806
+ var _this = this;
8807
+ if (item.operand) {
8808
+ item.operand.onAsyncReady = function () { return _this.doAsyncFunctionReady(item); };
8809
+ item.operand.evaluateAsync(this.processValue);
8810
+ }
8811
+ else {
8812
+ this.doAsyncFunctionReady(item);
8813
+ }
8814
+ };
8815
+ ExpressionExecutor.prototype.doAsyncFunctionReady = function (item) {
8816
+ if (item.parent && this.isAsyncChildrenReady(item)) {
8817
+ this.runAsyncItemCore(item.parent);
8818
+ return;
8819
+ }
8770
8820
  for (var i = 0; i < this.asyncFuncList.length; i++) {
8771
- if (!this.asyncFuncList[i].isReady)
8821
+ if (!this.isAsyncFuncReady(this.asyncFuncList[i]))
8772
8822
  return;
8773
8823
  }
8774
8824
  this.runValues();
8775
8825
  };
8826
+ ExpressionExecutor.prototype.isAsyncFuncReady = function (item) {
8827
+ if (item.operand && !item.operand.isReady)
8828
+ return false;
8829
+ return this.isAsyncChildrenReady(item);
8830
+ };
8831
+ ExpressionExecutor.prototype.isAsyncChildrenReady = function (item) {
8832
+ if (item.children) {
8833
+ for (var i = 0; i < item.children.length; i++) {
8834
+ if (!this.isAsyncFuncReady(item.children[i]))
8835
+ return false;
8836
+ }
8837
+ }
8838
+ return true;
8839
+ };
8776
8840
  ExpressionExecutor.prototype.runValues = function () {
8777
8841
  var res = this.operand.evaluate(this.processValue);
8778
8842
  if (!!this.onComplete) {
@@ -25966,6 +26030,14 @@ var question_matrixdropdownrendered_QuestionMatrixDropdownRenderedCell = /** @cl
25966
26030
  enumerable: false,
25967
26031
  configurable: true
25968
26032
  });
26033
+ Object.defineProperty(QuestionMatrixDropdownRenderedCell.prototype, "isVisible", {
26034
+ get: function () {
26035
+ var _a;
26036
+ return (!this.hasQuestion && !this.isErrorsCell) || !((_a = this.matrix) === null || _a === void 0 ? void 0 : _a.isMobile) || this.question.isVisible;
26037
+ },
26038
+ enumerable: false,
26039
+ configurable: true
26040
+ });
25969
26041
  Object.defineProperty(QuestionMatrixDropdownRenderedCell.prototype, "showResponsiveTitle", {
25970
26042
  get: function () {
25971
26043
  var _a;
@@ -27011,9 +27083,6 @@ var question_matrixdropdownrendered_QuestionMatrixDropdownRenderedTable = /** @c
27011
27083
  QuestionMatrixDropdownRenderedTable.prototype.createTextCell = function (locTitle) {
27012
27084
  var cell = new question_matrixdropdownrendered_QuestionMatrixDropdownRenderedCell();
27013
27085
  cell.locTitle = locTitle;
27014
- if (!!locTitle) {
27015
- locTitle.strChanged();
27016
- }
27017
27086
  if (!!this.cssClasses.cell) {
27018
27087
  cell.className = this.cssClasses.cell;
27019
27088
  }
@@ -38501,14 +38570,6 @@ var survey_SurveyModel = /** @class */ (function (_super) {
38501
38570
  _this._isMobile = false;
38502
38571
  _this._isCompact = false;
38503
38572
  _this._isDesignMode = false;
38504
- /**
38505
- * Specifies whether data validation is enabled.
38506
- *
38507
- * Default value: `true`
38508
- * @see checkErrorsMode
38509
- * @see hideRequiredErrors
38510
- */
38511
- _this.validationEnabled = true;
38512
38573
  /**
38513
38574
  * Specifies whether respondents can switch the current page even if it contains validation errors.
38514
38575
  *
@@ -46228,6 +46289,9 @@ var survey_SurveyModel = /** @class */ (function (_super) {
46228
46289
  survey_decorate([
46229
46290
  jsonobject_property()
46230
46291
  ], SurveyModel.prototype, "progressBarInheritWidthFrom", void 0);
46292
+ survey_decorate([
46293
+ jsonobject_property({ defaultValue: true })
46294
+ ], SurveyModel.prototype, "validationEnabled", void 0);
46231
46295
  survey_decorate([
46232
46296
  jsonobject_property()
46233
46297
  ], SurveyModel.prototype, "rootCss", void 0);
@@ -53137,7 +53201,7 @@ Serializer.addClass("text", [
53137
53201
  return isMinMaxType(obj);
53138
53202
  },
53139
53203
  },
53140
- { name: "inputTextAlignment", default: "auto", choices: ["left", "right", "auto"], visible: false },
53204
+ { name: "inputTextAlignment", default: "auto", choices: ["left", "right", "auto"] },
53141
53205
  {
53142
53206
  name: "maskType",
53143
53207
  default: "none",
@@ -53628,6 +53692,15 @@ var question_multipletext_MultipleTextItemModel = /** @class */ (function (_supe
53628
53692
  configurable: true
53629
53693
  });
53630
53694
  Object.defineProperty(MultipleTextItemModel.prototype, "inputTextAlignment", {
53695
+ /**
53696
+ * Specifies text alignment within the input field.
53697
+ *
53698
+ * Possible values:
53699
+ *
53700
+ * - `"left"` - Aligns input text to the left side.
53701
+ * - `"right"` - Aligns input text to the right side.
53702
+ * - `"auto"` (default) - Applies right alignment if a [numeric or currency input mask](https://surveyjs.io/form-library/documentation/api-reference/multipletextitemmodel#maskType) is specified. Otherwise, applies left alignment.
53703
+ */
53631
53704
  get: function () {
53632
53705
  return this.editor.inputTextAlignment;
53633
53706
  },
@@ -54373,7 +54446,7 @@ Serializer.addClass("multipletextitem", [
54373
54446
  obj.maskSettings.setData(value);
54374
54447
  },
54375
54448
  },
54376
- { name: "inputTextAlignment", default: "auto", choices: ["left", "right", "auto"], visible: false },
54449
+ { name: "inputTextAlignment", default: "auto", choices: ["left", "right", "auto"] },
54377
54450
  { name: "title", serializationProperty: "locTitle" },
54378
54451
  { name: "maxLength:number", default: -1 },
54379
54452
  { name: "size:number", minValue: 0 },
@@ -57692,7 +57765,6 @@ questionfactory_QuestionFactory.Instance.registerQuestion("comment", function (n
57692
57765
 
57693
57766
  // CONCATENATED MODULE: ./packages/survey-core/src/utils/camera.ts
57694
57767
 
57695
-
57696
57768
  var camera_Camera = /** @class */ (function () {
57697
57769
  function Camera() {
57698
57770
  this.canFlipValue = undefined;
@@ -57795,27 +57867,25 @@ var camera_Camera = /** @class */ (function () {
57795
57867
  audio: false
57796
57868
  };
57797
57869
  };
57798
- Camera.prototype.startVideo = function (videoElementId, callback, imageWidth, imageHeight) {
57870
+ Camera.prototype.startVideo = function (videoElement, callback, imageWidth, imageHeight) {
57799
57871
  var _this = this;
57800
- var _a;
57801
- var videoEl = (_a = settings.environment.root) === null || _a === void 0 ? void 0 : _a.getElementById(videoElementId);
57802
- if (!videoEl) {
57872
+ if (!videoElement) {
57803
57873
  callback(undefined);
57804
57874
  return;
57805
57875
  }
57806
- videoEl.style.width = "100%";
57807
- videoEl.style.height = "auto";
57808
- videoEl.style.height = "100%";
57809
- videoEl.style.objectFit = "contain";
57876
+ videoElement.style.width = "100%";
57877
+ videoElement.style.height = "auto";
57878
+ videoElement.style.height = "100%";
57879
+ videoElement.style.objectFit = "contain";
57810
57880
  var mediaConstraints = this.getMediaConstraints({ width: imageWidth, height: imageHeight });
57811
57881
  navigator.mediaDevices.getUserMedia(mediaConstraints).then(function (stream) {
57812
57882
  var _a;
57813
- videoEl.srcObject = stream;
57883
+ videoElement.srcObject = stream;
57814
57884
  if (!((_a = Camera.cameraList[Camera.cameraIndex]) === null || _a === void 0 ? void 0 : _a.deviceId) && !!stream.getTracks()[0].getCapabilities().facingMode) {
57815
57885
  Camera.canSwitchFacingMode = true;
57816
57886
  _this.updateCanFlipValue();
57817
57887
  }
57818
- videoEl.play();
57888
+ videoElement.play();
57819
57889
  callback(stream);
57820
57890
  })
57821
57891
  .catch(function (error) {
@@ -57825,15 +57895,14 @@ var camera_Camera = /** @class */ (function () {
57825
57895
  Camera.prototype.getImageSize = function (videoEl) {
57826
57896
  return { width: videoEl.videoWidth, height: videoEl.videoHeight };
57827
57897
  };
57828
- Camera.prototype.snap = function (videoElementId, callback) {
57898
+ Camera.prototype.snap = function (videoElement, callback) {
57899
+ if (!videoElement)
57900
+ return false;
57829
57901
  if (!DomDocumentHelper.isAvailable())
57830
57902
  return false;
57831
57903
  var root = DomDocumentHelper.getDocument();
57832
- var videoEl = root === null || root === void 0 ? void 0 : root.getElementById(videoElementId);
57833
- if (!videoEl)
57834
- return false;
57835
57904
  var canvasEl = root.createElement("canvas");
57836
- var imageSize = this.getImageSize(videoEl);
57905
+ var imageSize = this.getImageSize(videoElement);
57837
57906
  canvasEl.height = imageSize.height;
57838
57907
  canvasEl.width = imageSize.width;
57839
57908
  var context = canvasEl.getContext("2d");
@@ -57844,7 +57913,7 @@ var camera_Camera = /** @class */ (function () {
57844
57913
  }
57845
57914
  */
57846
57915
  context.clearRect(0, 0, canvasEl.width, canvasEl.height);
57847
- context.drawImage(videoEl, 0, 0, canvasEl.width, canvasEl.height);
57916
+ context.drawImage(videoElement, 0, 0, canvasEl.width, canvasEl.height);
57848
57917
  canvasEl.toBlob(callback, "image/png");
57849
57918
  return true;
57850
57919
  };
@@ -58307,9 +58376,17 @@ var question_file_QuestionFileModel = /** @class */ (function (_super) {
58307
58376
  _this.startVideoInCamera();
58308
58377
  }, 0);
58309
58378
  };
58379
+ Object.defineProperty(QuestionFileModel.prototype, "videoHtmlElement", {
58380
+ get: function () {
58381
+ var _a;
58382
+ return (_a = this.rootElement) === null || _a === void 0 ? void 0 : _a.querySelector("#" + this.videoId);
58383
+ },
58384
+ enumerable: false,
58385
+ configurable: true
58386
+ });
58310
58387
  QuestionFileModel.prototype.startVideoInCamera = function () {
58311
58388
  var _this = this;
58312
- this.camera.startVideo(this.videoId, function (stream) {
58389
+ this.camera.startVideo(this.videoHtmlElement, function (stream) {
58313
58390
  _this.videoStream = stream;
58314
58391
  if (!stream) {
58315
58392
  _this.stopVideo();
@@ -58330,7 +58407,7 @@ var question_file_QuestionFileModel = /** @class */ (function (_super) {
58330
58407
  _this.loadFiles([file]);
58331
58408
  }
58332
58409
  };
58333
- this.camera.snap(this.videoId, blobCallback);
58410
+ this.camera.snap(this.videoHtmlElement, blobCallback);
58334
58411
  this.stopVideo();
58335
58412
  };
58336
58413
  QuestionFileModel.prototype.canFlipCamera = function () {
@@ -60101,7 +60178,7 @@ var question_rating_QuestionRatingModel = /** @class */ (function (_super) {
60101
60178
  QuestionRatingModel.prototype.setValueFromClick = function (value) {
60102
60179
  if (this.isReadOnlyAttr)
60103
60180
  return;
60104
- if (this.value === parseFloat(value)) {
60181
+ if (this.value === ((typeof (this.value) === "string") ? value : parseFloat(value))) {
60105
60182
  this.clearValue(true);
60106
60183
  }
60107
60184
  else {
@@ -63445,7 +63522,7 @@ var question_paneldynamic_QuestionPanelDynamicModel = /** @class */ (function (_
63445
63522
  _this.registerPropertyChangedHandlers(["panelsState"], function () {
63446
63523
  _this.setPanelsState();
63447
63524
  });
63448
- _this.registerPropertyChangedHandlers(["isMobile", "newPanelPosition", "showRangeInProgress", "renderMode"], function () {
63525
+ _this.registerPropertyChangedHandlers(["isMobile", "newPanelPosition", "displayMode", "showProgressBar"], function () {
63449
63526
  _this.updateFooterActions();
63450
63527
  });
63451
63528
  _this.registerPropertyChangedHandlers(["allowAddPanel"], function () { _this.updateNoEntriesTextDefaultLoc(); });
@@ -63601,7 +63678,7 @@ var question_paneldynamic_QuestionPanelDynamicModel = /** @class */ (function (_
63601
63678
  });
63602
63679
  Object.defineProperty(QuestionPanelDynamicModel.prototype, "templateTabTitle", {
63603
63680
  /**
63604
- * A template for tab titles. Applies when [`renderMode`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#renderMode) is `"tab"`.
63681
+ * A template for tab titles. Applies when [`displayMode`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#displayMode) is `"tab"`.
63605
63682
  *
63606
63683
  * The template can contain the following placeholders:
63607
63684
  *
@@ -63613,7 +63690,7 @@ var question_paneldynamic_QuestionPanelDynamicModel = /** @class */ (function (_
63613
63690
  * [View Demo](https://surveyjs.io/form-library/examples/tabbed-interface-for-duplicate-group-option/ (linkStyle))
63614
63691
  * @see templateTitle
63615
63692
  * @see tabTitlePlaceholder
63616
- * @see renderMode
63693
+ * @see displayMode
63617
63694
  */
63618
63695
  get: function () {
63619
63696
  return this.locTemplateTabTitle.text;
@@ -63793,11 +63870,11 @@ var question_paneldynamic_QuestionPanelDynamicModel = /** @class */ (function (_
63793
63870
  /**
63794
63871
  * A zero-based index of the currently displayed panel.
63795
63872
  *
63796
- * When `renderMode` is `"list"` or Dynamic Panel is empty (`panelCount` is 0), this property contains -1.
63873
+ * When `displayMode` is `"list"` or Dynamic Panel is empty (`panelCount` is 0), this property contains -1.
63797
63874
  * @see currentPanel
63798
63875
  * @see panels
63799
63876
  * @see panelCount
63800
- * @see renderMode
63877
+ * @see displayMode
63801
63878
  */
63802
63879
  get: function () {
63803
63880
  if (this.isRenderModeList)
@@ -63820,11 +63897,11 @@ var question_paneldynamic_QuestionPanelDynamicModel = /** @class */ (function (_
63820
63897
  /**
63821
63898
  * A `PanelModel` object that is the currently displayed panel.
63822
63899
  *
63823
- * When `renderMode` is `"list"` or Dynamic Panel is empty (`panelCount` is 0), this property contains `null`.
63900
+ * When `displayMode` is `"list"` or Dynamic Panel is empty (`panelCount` is 0), this property contains `null`.
63824
63901
  * @see currentIndex
63825
63902
  * @see panels
63826
63903
  * @see panelCount
63827
- * @see renderMode
63904
+ * @see displayMode
63828
63905
  */
63829
63906
  get: function () {
63830
63907
  if (this.isDesignMode)
@@ -64074,8 +64151,8 @@ var question_paneldynamic_QuestionPanelDynamicModel = /** @class */ (function (_
64074
64151
  });
64075
64152
  Object.defineProperty(QuestionPanelDynamicModel.prototype, "panelPrevText", {
64076
64153
  /**
64077
- * A caption for the Previous button. Applies only if `renderMode` is different from `"list"`.
64078
- * @see renderMode
64154
+ * A caption for the Previous button. Applies only if `displayMode` is different from `"list"`.
64155
+ * @see displayMode
64079
64156
  * @see isPrevButtonVisible
64080
64157
  */
64081
64158
  get: function () {
@@ -64096,8 +64173,8 @@ var question_paneldynamic_QuestionPanelDynamicModel = /** @class */ (function (_
64096
64173
  });
64097
64174
  Object.defineProperty(QuestionPanelDynamicModel.prototype, "panelNextText", {
64098
64175
  /**
64099
- * A caption for the Next button. Applies only if `renderMode` is different from `"list"`.
64100
- * @see renderMode
64176
+ * A caption for the Next button. Applies only if `displayMode` is different from `"list"`.
64177
+ * @see displayMode
64101
64178
  * @see isNextButtonVisible
64102
64179
  */
64103
64180
  get: function () {
@@ -64158,21 +64235,15 @@ var question_paneldynamic_QuestionPanelDynamicModel = /** @class */ (function (_
64158
64235
  configurable: true
64159
64236
  });
64160
64237
  Object.defineProperty(QuestionPanelDynamicModel.prototype, "isProgressTopShowing", {
64161
- /**
64162
- * Returns true when the renderMode equals to "progressTop" or "progressTopBottom"
64163
- */
64164
64238
  get: function () {
64165
- return this.renderMode === "progressTop" || this.renderMode === "progressTopBottom";
64239
+ return this.displayMode == "carousel" && (this.progressBarLocation === "top" || this.progressBarLocation === "topBottom");
64166
64240
  },
64167
64241
  enumerable: false,
64168
64242
  configurable: true
64169
64243
  });
64170
64244
  Object.defineProperty(QuestionPanelDynamicModel.prototype, "isProgressBottomShowing", {
64171
- /**
64172
- * Returns true when the renderMode equals to "progressBottom" or "progressTopBottom"
64173
- */
64174
64245
  get: function () {
64175
- return this.renderMode === "progressBottom" || this.renderMode === "progressTopBottom";
64246
+ return this.displayMode == "carousel" && (this.progressBarLocation === "bottom" || this.progressBarLocation === "topBottom");
64176
64247
  },
64177
64248
  enumerable: false,
64178
64249
  configurable: true
@@ -64212,9 +64283,6 @@ var question_paneldynamic_QuestionPanelDynamicModel = /** @class */ (function (_
64212
64283
  configurable: true
64213
64284
  });
64214
64285
  Object.defineProperty(QuestionPanelDynamicModel.prototype, "isRangeShowing", {
64215
- /**
64216
- * Returns true when showRangeInProgress equals to true, renderMode doesn't equal to "list" and visiblePanelCount is >= 2.
64217
- */
64218
64286
  get: function () {
64219
64287
  return (this.showRangeInProgress && this.currentIndex >= 0 && this.visiblePanelCount > 1);
64220
64288
  },
@@ -64291,7 +64359,7 @@ var question_paneldynamic_QuestionPanelDynamicModel = /** @class */ (function (_
64291
64359
  for (var i = this.panelCount; i < val; i++) {
64292
64360
  var panel = this.createNewPanel();
64293
64361
  this.panelsCore.push(panel);
64294
- if (this.renderMode == "list" && this.panelsState != "default") {
64362
+ if (this.displayMode == "list" && this.panelsState != "default") {
64295
64363
  if (this.panelsState === "expanded") {
64296
64364
  panel.expand();
64297
64365
  }
@@ -64327,7 +64395,7 @@ var question_paneldynamic_QuestionPanelDynamicModel = /** @class */ (function (_
64327
64395
  });
64328
64396
  Object.defineProperty(QuestionPanelDynamicModel.prototype, "panelsState", {
64329
64397
  /**
64330
- * Specifies whether users can expand and collapse panels. Applies if `renderMode` is `"list"` and the `templateTitle` property is specified.
64398
+ * Specifies whether users can expand and collapse panels. Applies if `displayMode` is `"list"` and the `templateTitle` property is specified.
64331
64399
  *
64332
64400
  * Possible values:
64333
64401
  *
@@ -64335,7 +64403,7 @@ var question_paneldynamic_QuestionPanelDynamicModel = /** @class */ (function (_
64335
64403
  * - `"expanded"` - All panels are displayed in full and can be collapsed in the UI.
64336
64404
  * - `"collapsed"` - All panels display only their titles and descriptions and can be expanded in the UI.
64337
64405
  * - `"firstExpanded"` - Only the first panel is displayed in full; other panels are collapsed and can be expanded in the UI.
64338
- * @see renderMode
64406
+ * @see displayMode
64339
64407
  * @see templateTitle
64340
64408
  */
64341
64409
  get: function () {
@@ -64361,7 +64429,7 @@ var question_paneldynamic_QuestionPanelDynamicModel = /** @class */ (function (_
64361
64429
  }
64362
64430
  };
64363
64431
  QuestionPanelDynamicModel.prototype.setPanelsState = function () {
64364
- if (this.useTemplatePanel || this.renderMode != "list" || !this.templateTitle)
64432
+ if (this.useTemplatePanel || this.displayMode != "list" || !this.templateTitle)
64365
64433
  return;
64366
64434
  for (var i = 0; i < this.panelsCore.length; i++) {
64367
64435
  var state = this.panelsState;
@@ -64574,46 +64642,68 @@ var question_paneldynamic_QuestionPanelDynamicModel = /** @class */ (function (_
64574
64642
  });
64575
64643
  Object.defineProperty(QuestionPanelDynamicModel.prototype, "showRangeInProgress", {
64576
64644
  /**
64577
- * Shows the range from 1 to panelCount when renderMode doesn't equal to "list". Set to false to hide this element.
64578
- * @see panelCount
64579
- * @see renderMode
64645
+ * Obsolete. Use the [`showProgressBar`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#showProgressBar) property instead.
64646
+ * @deprecated
64580
64647
  */
64581
64648
  get: function () {
64582
- return this.getPropertyValue("showRangeInProgress");
64649
+ return this.showProgressBar;
64650
+ // return this.getPropertyValue("showRangeInProgress");
64583
64651
  },
64584
64652
  set: function (val) {
64585
- this.setPropertyValue("showRangeInProgress", val);
64586
- this.fireCallback(this.currentIndexChangedCallback);
64653
+ this.showProgressBar = val;
64654
+ // this.setPropertyValue("showRangeInProgress", val);
64587
64655
  },
64588
64656
  enumerable: false,
64589
64657
  configurable: true
64590
64658
  });
64591
64659
  Object.defineProperty(QuestionPanelDynamicModel.prototype, "renderMode", {
64592
64660
  /**
64593
- * Specifies how to render panels.
64594
- *
64595
- * Possible values:
64596
- *
64597
- * - `"list"` (default) - Renders panels one under the other. [View Demo](https://surveyjs.io/form-library/examples/how-to-use-expressions-in-dynamic-panel/)
64598
- * - `"progressTop"` - Renders each panel as a card and displays a progress bar at the top. [View Demo](https://surveyjs.io/form-library/examples/questiontype-paneldynamic/)
64599
- * - `"progressBottom"` - Renders each panel panel as a card and displays a progress bar at the bottom.
64600
- * - `"progressTopBottom"` - Renders each panel as a card and displays a progress bar at the top and bottom.
64601
- * - `"tab"` - Renders each panel within a tab. Use the [`templateTabTitle`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#templateTabTitle) to specify a template for tab titles. [View Demo](https://surveyjs.io/form-library/examples/tabbed-interface-for-duplicate-group-option/)
64661
+ * Obsolete. Use the [`displayMode`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#displayMode) property instead.
64662
+ * @deprecated
64602
64663
  */
64603
64664
  get: function () {
64604
- return this.getPropertyValue("renderMode");
64665
+ var displayMode = this.displayMode;
64666
+ if (displayMode == "carousel") {
64667
+ var progressBarLocation = this.progressBarLocation;
64668
+ if (progressBarLocation == "top") {
64669
+ return "progressTop";
64670
+ }
64671
+ else if (progressBarLocation == "bottom") {
64672
+ return "progressBottom";
64673
+ }
64674
+ else if (progressBarLocation == "topBottom") {
64675
+ return "progressTopBottom";
64676
+ }
64677
+ }
64678
+ return displayMode;
64605
64679
  },
64606
64680
  set: function (val) {
64607
- this.setPropertyValue("renderMode", val);
64608
- this.fireCallback(this.renderModeChangedCallback);
64609
- this.blockAnimations();
64610
- this.updateRenderedPanels();
64611
- this.releaseAnimations();
64612
- this.updatePanelsAnimation();
64681
+ if ((val || "").startsWith("progress")) {
64682
+ if (val == "progressTop") {
64683
+ this.progressBarLocation = "top";
64684
+ }
64685
+ else if (val == "progressBottom") {
64686
+ this.progressBarLocation = "bottom";
64687
+ }
64688
+ else if (val == "progressTopBottom") {
64689
+ this.progressBarLocation = "topBottom";
64690
+ }
64691
+ this.displayMode = "carousel";
64692
+ }
64693
+ else {
64694
+ this.displayMode = val;
64695
+ }
64696
+ // this.updatePanelView();
64613
64697
  },
64614
64698
  enumerable: false,
64615
64699
  configurable: true
64616
64700
  });
64701
+ QuestionPanelDynamicModel.prototype.updatePanelView = function () {
64702
+ this.blockAnimations();
64703
+ this.updateRenderedPanels();
64704
+ this.releaseAnimations();
64705
+ this.updatePanelsAnimation();
64706
+ };
64617
64707
  Object.defineProperty(QuestionPanelDynamicModel.prototype, "tabAlign", {
64618
64708
  get: function () {
64619
64709
  return this.getPropertyValue("tabAlign");
@@ -64629,14 +64719,14 @@ var question_paneldynamic_QuestionPanelDynamicModel = /** @class */ (function (_
64629
64719
  });
64630
64720
  Object.defineProperty(QuestionPanelDynamicModel.prototype, "isRenderModeList", {
64631
64721
  get: function () {
64632
- return this.renderMode === "list";
64722
+ return this.displayMode === "list";
64633
64723
  },
64634
64724
  enumerable: false,
64635
64725
  configurable: true
64636
64726
  });
64637
64727
  Object.defineProperty(QuestionPanelDynamicModel.prototype, "isRenderModeTab", {
64638
64728
  get: function () {
64639
- return this.renderMode === "tab";
64729
+ return this.displayMode === "tab";
64640
64730
  },
64641
64731
  enumerable: false,
64642
64732
  configurable: true
@@ -64828,7 +64918,7 @@ var question_paneldynamic_QuestionPanelDynamicModel = /** @class */ (function (_
64828
64918
  };
64829
64919
  /**
64830
64920
  * Add a new dynamic panel based on the template Panel. It checks if canAddPanel returns true and then calls addPanel method.
64831
- * If a renderMode is different from "list" and the current panel has erros, then
64921
+ * If a displayMode is different from "list" and the current panel has erros, then
64832
64922
  * @see template
64833
64923
  * @see panelCount
64834
64924
  * @see panels
@@ -64840,7 +64930,7 @@ var question_paneldynamic_QuestionPanelDynamicModel = /** @class */ (function (_
64840
64930
  if (!this.canLeaveCurrentPanel())
64841
64931
  return null;
64842
64932
  var newPanel = this.addPanel();
64843
- if (this.renderMode === "list" && this.panelsState !== "default") {
64933
+ if (this.displayMode === "list" && this.panelsState !== "default") {
64844
64934
  newPanel.expand();
64845
64935
  }
64846
64936
  this.focusNewPanelCallback = function () {
@@ -64859,7 +64949,7 @@ var question_paneldynamic_QuestionPanelDynamicModel = /** @class */ (function (_
64859
64949
  };
64860
64950
  /**
64861
64951
  * Adds a new panel based on the [template](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#template).
64862
- * @param index *(Optional)* An index at which to insert the new panel. `undefined` adds the panel to the end or inserts it after the current panel if [`renderMode`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#renderMode) is `"tab"`. A negative index (for instance, -1) adds the panel to the end in all cases, regardless of the `renderMode` value.
64952
+ * @param index *(Optional)* An index at which to insert the new panel. `undefined` adds the panel to the end or inserts it after the current panel if [`displayMode`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#renderMode) is `"tab"`. A negative index (for instance, -1) adds the panel to the end in all cases, regardless of the `displayMode` value.
64863
64953
  * @see panelCount
64864
64954
  * @see panels
64865
64955
  * @see allowAddPanel
@@ -64908,7 +64998,7 @@ var question_paneldynamic_QuestionPanelDynamicModel = /** @class */ (function (_
64908
64998
  }
64909
64999
  };
64910
65000
  QuestionPanelDynamicModel.prototype.canLeaveCurrentPanel = function () {
64911
- return !(this.renderMode !== "list" && this.currentPanel && this.currentPanel.hasErrors(true, true));
65001
+ return !(this.displayMode !== "list" && this.currentPanel && this.currentPanel.hasErrors(true, true));
64912
65002
  };
64913
65003
  QuestionPanelDynamicModel.prototype.copyValue = function (dest, src) {
64914
65004
  for (var key in src) {
@@ -64946,8 +65036,8 @@ var question_paneldynamic_QuestionPanelDynamicModel = /** @class */ (function (_
64946
65036
  (this.isValueEmpty(this.defaultPanelValue) || !this.isTwoValueEquals(panelValue, this.defaultPanelValue));
64947
65037
  };
64948
65038
  /**
64949
- * Switches Dynamic Panel to the next panel. Returns `true` in case of success, or `false` if `renderMode` is `"list"` or the current panel contains validation errors.
64950
- * @see renderMode
65039
+ * Switches Dynamic Panel to the next panel. Returns `true` in case of success, or `false` if `displayMode` is `"list"` or the current panel contains validation errors.
65040
+ * @see displayMode
64951
65041
  */
64952
65042
  QuestionPanelDynamicModel.prototype.goToNextPanel = function () {
64953
65043
  if (this.currentIndex < 0)
@@ -65761,7 +65851,7 @@ var question_paneldynamic_QuestionPanelDynamicModel = /** @class */ (function (_
65761
65851
  return new CssClassBuilder()
65762
65852
  .append(this.cssClasses.button)
65763
65853
  .append(this.cssClasses.buttonAdd)
65764
- .append(this.cssClasses.buttonAdd + "--list-mode", this.renderMode === "list")
65854
+ .append(this.cssClasses.buttonAdd + "--list-mode", this.displayMode === "list")
65765
65855
  .toString();
65766
65856
  };
65767
65857
  QuestionPanelDynamicModel.prototype.getPrevButtonCss = function () {
@@ -66020,6 +66110,28 @@ var question_paneldynamic_QuestionPanelDynamicModel = /** @class */ (function (_
66020
66110
  question_paneldynamic_decorate([
66021
66111
  propertyArray({})
66022
66112
  ], QuestionPanelDynamicModel.prototype, "_renderedPanels", void 0);
66113
+ question_paneldynamic_decorate([
66114
+ jsonobject_property({
66115
+ onSet: function (val, target) {
66116
+ target.fireCallback(target.renderModeChangedCallback);
66117
+ target.updatePanelView();
66118
+ }
66119
+ })
66120
+ ], QuestionPanelDynamicModel.prototype, "displayMode", void 0);
66121
+ question_paneldynamic_decorate([
66122
+ jsonobject_property({
66123
+ onSet: function (val, target) {
66124
+ target.fireCallback(target.currentIndexChangedCallback);
66125
+ }
66126
+ })
66127
+ ], QuestionPanelDynamicModel.prototype, "showProgressBar", void 0);
66128
+ question_paneldynamic_decorate([
66129
+ jsonobject_property({
66130
+ onSet: function (val, target) {
66131
+ // target.updatePanelView();
66132
+ }
66133
+ })
66134
+ ], QuestionPanelDynamicModel.prototype, "progressBarLocation", void 0);
66023
66135
  question_paneldynamic_decorate([
66024
66136
  jsonobject_property({ defaultValue: false, onSet: function (_, target) { target.updateFooterActions(); } })
66025
66137
  ], QuestionPanelDynamicModel.prototype, "legacyNavigation", void 0);
@@ -66036,8 +66148,14 @@ Serializer.addClass("paneldynamic", [
66036
66148
  isLightSerializable: false
66037
66149
  },
66038
66150
  { name: "templateTitle:text", serializationProperty: "locTemplateTitle" },
66039
- { name: "templateTabTitle", serializationProperty: "locTemplateTabTitle", visibleIf: function (obj) { return obj.renderMode === "tab"; } },
66040
- { name: "tabTitlePlaceholder", serializationProperty: "locTabTitlePlaceholder", visibleIf: function (obj) { return obj.renderMode === "tab"; } },
66151
+ {
66152
+ name: "templateTabTitle", serializationProperty: "locTemplateTabTitle",
66153
+ visibleIf: function (obj) { return obj.displayMode === "tab"; }
66154
+ },
66155
+ {
66156
+ name: "tabTitlePlaceholder", serializationProperty: "locTabTitlePlaceholder",
66157
+ visibleIf: function (obj) { return obj.displayMode === "tab"; }
66158
+ },
66041
66159
  {
66042
66160
  name: "templateDescription:text",
66043
66161
  serializationProperty: "locTemplateDescription",
@@ -66064,7 +66182,7 @@ Serializer.addClass("paneldynamic", [
66064
66182
  name: "panelsState",
66065
66183
  default: "default",
66066
66184
  choices: ["default", "collapsed", "expanded", "firstExpanded"],
66067
- visibleIf: function (obj) { return obj.renderMode === "list"; }
66185
+ visibleIf: function (obj) { return obj.displayMode === "list"; }
66068
66186
  },
66069
66187
  { name: "keyName" },
66070
66188
  {
@@ -66090,12 +66208,12 @@ Serializer.addClass("paneldynamic", [
66090
66208
  {
66091
66209
  name: "panelPrevText",
66092
66210
  serializationProperty: "locPanelPrevText",
66093
- visibleIf: function (obj) { return obj.renderMode !== "list"; }
66211
+ visibleIf: function (obj) { return obj.displayMode !== "list"; }
66094
66212
  },
66095
66213
  {
66096
66214
  name: "panelNextText",
66097
66215
  serializationProperty: "locPanelNextText",
66098
- visibleIf: function (obj) { return obj.renderMode !== "list"; }
66216
+ visibleIf: function (obj) { return obj.displayMode !== "list"; }
66099
66217
  },
66100
66218
  {
66101
66219
  name: "showQuestionNumbers",
@@ -66105,16 +66223,30 @@ Serializer.addClass("paneldynamic", [
66105
66223
  {
66106
66224
  name: "showRangeInProgress:boolean",
66107
66225
  default: true,
66108
- visibleIf: function (obj) { return obj.renderMode !== "list"; }
66226
+ visible: false
66227
+ // visibleIf: (obj: any) => { return obj.displayMode !== "list"; }
66109
66228
  },
66110
66229
  {
66111
66230
  name: "renderMode",
66112
66231
  default: "list",
66113
66232
  choices: ["list", "progressTop", "progressBottom", "progressTopBottom", "tab"],
66233
+ visible: false,
66234
+ },
66235
+ { name: "displayMode", default: "list", choices: ["list", "carousel", "tab"] },
66236
+ {
66237
+ name: "showProgressBar:boolean",
66238
+ default: true,
66239
+ visibleIf: function (obj) { return obj.displayMode === "carousel"; }
66240
+ },
66241
+ {
66242
+ name: "progressBarLocation",
66243
+ default: "top",
66244
+ choices: ["top", "bottom", "topBottom"],
66245
+ visibleIf: function (obj) { return obj.showProgressBar; }
66114
66246
  },
66115
66247
  {
66116
66248
  name: "tabAlign", default: "center", choices: ["left", "center", "right"],
66117
- visibleIf: function (obj) { return obj.renderMode === "tab"; }
66249
+ visibleIf: function (obj) { return obj.displayMode === "tab"; }
66118
66250
  },
66119
66251
  {
66120
66252
  name: "templateTitleLocation",
@@ -69006,8 +69138,8 @@ Serializer.addClass("currencymask", [
69006
69138
 
69007
69139
  var Version;
69008
69140
  var ReleaseDate;
69009
- Version = "" + "1.11.12";
69010
- ReleaseDate = "" + "2024-08-20";
69141
+ Version = "" + "1.11.13";
69142
+ ReleaseDate = "" + "2024-08-27";
69011
69143
  function checkLibraryVersion(ver, libraryName) {
69012
69144
  if (Version != ver) {
69013
69145
  var str = "survey-core has version '" + Version + "' and " + libraryName
@@ -71941,9 +72073,7 @@ var arabicSurveyStrings = {
71941
72073
  ok: "موافق",
71942
72074
  cancel: "إلغاء الأمر"
71943
72075
  };
71944
- surveyLocalization.locales["ar"] = arabicSurveyStrings;
71945
- surveyLocalization.localeNames["ar"] = "العربية";
71946
- surveyLocalization.localeDirections["ar"] = "rtl";
72076
+ surveyLocalization.setupLocale("ar", arabicSurveyStrings, "العربية", "Arabic", "rtl");
71947
72077
  // The following strings have been translated by a machine translation service
71948
72078
  // Remove those strings that you have corrected manually
71949
72079
  // indexText: "{0} of {1}" => "{0} من {1}"
@@ -72086,8 +72216,7 @@ var basqueSurveyStrings = {
72086
72216
  ok: "Ados",
72087
72217
  cancel: "Ezeztatu"
72088
72218
  };
72089
- surveyLocalization.locales["eu"] = basqueSurveyStrings;
72090
- surveyLocalization.localeNames["eu"] = "Euskara";
72219
+ surveyLocalization.setupLocale("eu", basqueSurveyStrings, "euskara", "Basque");
72091
72220
  // The following strings have been translated by a machine translation service
72092
72221
  // Remove those strings that you have corrected manually
72093
72222
  // indexText: "{0} of {1}" => "{1} {0}"
@@ -72223,8 +72352,7 @@ var bulgarianStrings = {
72223
72352
  ok: "Добре",
72224
72353
  cancel: "Отмени"
72225
72354
  };
72226
- surveyLocalization.locales["bg"] = bulgarianStrings;
72227
- surveyLocalization.localeNames["bg"] = "български";
72355
+ surveyLocalization.setupLocale("bg", bulgarianStrings, "български", "Bulgarian");
72228
72356
  // The following strings have been translated by a machine translation service
72229
72357
  // Remove those strings that you have corrected manually
72230
72358
  // indexText: "{0} of {1}" => "{0} на {1}"
@@ -72367,8 +72495,7 @@ var catalanSurveyStrings = {
72367
72495
  ok: "D'ACORD",
72368
72496
  cancel: "Cancel·lar"
72369
72497
  };
72370
- surveyLocalization.locales["ca"] = catalanSurveyStrings;
72371
- surveyLocalization.localeNames["ca"] = "català";
72498
+ surveyLocalization.setupLocale("ca", catalanSurveyStrings, "català", "Catalan");
72372
72499
  // The following strings have been translated by a machine translation service
72373
72500
  // Remove those strings that you have corrected manually
72374
72501
  // previewText: "Preview" => "Preestrena"
@@ -72551,8 +72678,7 @@ var croatianStrings = {
72551
72678
  ok: "OK",
72552
72679
  cancel: "Otkazati"
72553
72680
  };
72554
- surveyLocalization.locales["hr"] = croatianStrings;
72555
- surveyLocalization.localeNames["hr"] = "hrvatski";
72681
+ surveyLocalization.setupLocale("hr", croatianStrings, "hrvatski", "Croatian");
72556
72682
  // The following strings have been translated by a machine translation service
72557
72683
  // Remove those strings that you have corrected manually
72558
72684
  // indexText: "{0} of {1}" => "{0} {1}"
@@ -72693,8 +72819,7 @@ var czechSurveyStrings = {
72693
72819
  ok: "OK",
72694
72820
  cancel: "Zrušit"
72695
72821
  };
72696
- surveyLocalization.locales["cs"] = czechSurveyStrings;
72697
- surveyLocalization.localeNames["cs"] = "čeština";
72822
+ surveyLocalization.setupLocale("cs", czechSurveyStrings, "čeština", "Czech");
72698
72823
  // The following strings have been translated by a machine translation service
72699
72824
  // Remove those strings that you have corrected manually
72700
72825
  // indexText: "{0} of {1}" => "{0} z {1}"
@@ -72837,8 +72962,7 @@ var danishSurveyStrings = {
72837
72962
  ok: "OK",
72838
72963
  cancel: "Aflyse"
72839
72964
  };
72840
- surveyLocalization.locales["da"] = danishSurveyStrings;
72841
- surveyLocalization.localeNames["da"] = "dansk";
72965
+ surveyLocalization.setupLocale("da", danishSurveyStrings, "dansk", "Danish");
72842
72966
  // The following strings have been translated by a machine translation service
72843
72967
  // Remove those strings that you have corrected manually
72844
72968
  // indexText: "{0} of {1}" => "{0} af {1}"
@@ -72981,8 +73105,7 @@ var dutchSurveyStrings = {
72981
73105
  ok: "OK",
72982
73106
  cancel: "Annuleren"
72983
73107
  };
72984
- surveyLocalization.locales["nl"] = dutchSurveyStrings;
72985
- surveyLocalization.localeNames["nl"] = "nederlands";
73108
+ surveyLocalization.setupLocale("nl", dutchSurveyStrings, "nederlands", "Dutch");
72986
73109
  // The following strings have been translated by a machine translation service
72987
73110
  // Remove those strings that you have corrected manually
72988
73111
  // indexText: "{0} of {1}" => "{0} van {1}"
@@ -73022,8 +73145,7 @@ surveyLocalization.localeNames["nl"] = "nederlands";
73022
73145
  * - Copy the Dutch set once and move forward as if it are 2 totally different languages
73023
73146
  * - Override the relevant strings only
73024
73147
  */
73025
- surveyLocalization.locales["nl-BE"] = dutchSurveyStrings;
73026
- surveyLocalization.localeNames["nl-BE"] = "vlaams";
73148
+ surveyLocalization.setupLocale("nl-BE", dutchSurveyStrings, "vlaams", "Flemish");
73027
73149
 
73028
73150
  // CONCATENATED MODULE: ./packages/survey-core/src/localization/estonian.ts
73029
73151
 
@@ -73134,8 +73256,7 @@ var estonianSurveyStrings = {
73134
73256
  ok: "OK",
73135
73257
  cancel: "Tühistama"
73136
73258
  };
73137
- surveyLocalization.locales["et"] = estonianSurveyStrings;
73138
- surveyLocalization.localeNames["et"] = "eesti keel";
73259
+ surveyLocalization.setupLocale("et", estonianSurveyStrings, "eesti keel", "Estonian");
73139
73260
  // The following strings have been translated by a machine translation service
73140
73261
  // Remove those strings that you have corrected manually
73141
73262
  // indexText: "{0} of {1}" => "{0} {1}"
@@ -73278,8 +73399,7 @@ var finnishSurveyStrings = {
73278
73399
  ok: "OKEI",
73279
73400
  cancel: "Perua"
73280
73401
  };
73281
- surveyLocalization.locales["fi"] = finnishSurveyStrings;
73282
- surveyLocalization.localeNames["fi"] = "suomi";
73402
+ surveyLocalization.setupLocale("fi", finnishSurveyStrings, "suomi", "Finnish");
73283
73403
  // The following strings have been translated by a machine translation service
73284
73404
  // Remove those strings that you have corrected manually
73285
73405
  // panelDynamicTabTextFormat: "Panel {panelIndex}" => "Paneeli {panelIndex}"
@@ -73410,8 +73530,7 @@ var frenchSurveyStrings = {
73410
73530
  ok: "D’ACCORD",
73411
73531
  cancel: "Annuler"
73412
73532
  };
73413
- surveyLocalization.locales["fr"] = frenchSurveyStrings;
73414
- surveyLocalization.localeNames["fr"] = "français";
73533
+ surveyLocalization.setupLocale("fr", frenchSurveyStrings, "français", "French");
73415
73534
  // The following strings have been translated by a machine translation service
73416
73535
  // Remove those strings that you have corrected manually
73417
73536
  // panelDynamicTabTextFormat: "Panel {panelIndex}" => "Panel {panelIndex}"
@@ -73542,8 +73661,7 @@ var georgianSurveyStrings = {
73542
73661
  ok: "კარგი",
73543
73662
  cancel: "გაუქმება"
73544
73663
  };
73545
- surveyLocalization.locales["ka"] = georgianSurveyStrings;
73546
- surveyLocalization.localeNames["ka"] = "ქართული";
73664
+ surveyLocalization.setupLocale("ka", georgianSurveyStrings, "ქართული", "Georgian");
73547
73665
  // The following strings have been translated by a machine translation service
73548
73666
  // Remove those strings that you have corrected manually
73549
73667
  // previewText: "Preview" => "გადახედვა"
@@ -73739,8 +73857,7 @@ var germanSurveyStrings = {
73739
73857
  ok: "OK",
73740
73858
  cancel: "Abbrechen"
73741
73859
  };
73742
- surveyLocalization.locales["de"] = germanSurveyStrings;
73743
- surveyLocalization.localeNames["de"] = "deutsch";
73860
+ surveyLocalization.setupLocale("de", germanSurveyStrings, "deutsch", "German");
73744
73861
  // The following strings have been translated by a machine translation service
73745
73862
  // Remove those strings that you have corrected manually
73746
73863
  // tabTitlePlaceholder: "New Panel" => "Neues Panel"
@@ -73854,8 +73971,7 @@ var greekSurveyStrings = {
73854
73971
  ok: "OK",
73855
73972
  cancel: "Ακυρώνω"
73856
73973
  };
73857
- surveyLocalization.locales["gr"] = greekSurveyStrings;
73858
- surveyLocalization.localeNames["gr"] = "ελληνικά";
73974
+ surveyLocalization.setupLocale("gr", greekSurveyStrings, "ελληνικά", "Greek");
73859
73975
  // The following strings have been translated by a machine translation service
73860
73976
  // Remove those strings that you have corrected manually
73861
73977
  // panelDynamicTabTextFormat: "Panel {panelIndex}" => "Πίνακας {panelIndex}"
@@ -73983,8 +74099,7 @@ var hebrewSurveyStrings = {
73983
74099
  ok: "אוקיי",
73984
74100
  cancel: "ביטל"
73985
74101
  };
73986
- surveyLocalization.locales["he"] = hebrewSurveyStrings;
73987
- surveyLocalization.localeNames["he"] = "עברית";
74102
+ surveyLocalization.setupLocale("he", hebrewSurveyStrings, "עברית", "Hebrew");
73988
74103
  // The following strings have been translated by a machine translation service
73989
74104
  // Remove those strings that you have corrected manually
73990
74105
  // indexText: "{0} of {1}" => "{0} מתוך {1}"
@@ -74128,8 +74243,7 @@ var hindiStrings = {
74128
74243
  ok: "ठीक है",
74129
74244
  cancel: "रद्द करना"
74130
74245
  };
74131
- surveyLocalization.locales["hi"] = hindiStrings;
74132
- surveyLocalization.localeNames["hi"] = "hindi";
74246
+ surveyLocalization.setupLocale("hi", hindiStrings, "hindi", "Hindi");
74133
74247
  // The following strings have been translated by a machine translation service
74134
74248
  // Remove those strings that you have corrected manually
74135
74249
  // noneItemText: "None" => "कोई नहीं"
@@ -74272,8 +74386,7 @@ var hungarianSurveyStrings = {
74272
74386
  ok: "OKÉ",
74273
74387
  cancel: "Érvénytelenít"
74274
74388
  };
74275
- surveyLocalization.locales["hu"] = hungarianSurveyStrings;
74276
- surveyLocalization.localeNames["hu"] = "magyar";
74389
+ surveyLocalization.setupLocale("hu", hungarianSurveyStrings, "magyar", "Hungarian");
74277
74390
  // The following strings have been translated by a machine translation service
74278
74391
  // Remove those strings that you have corrected manually
74279
74392
  // indexText: "{0} of {1}" => "{0} {1} közül"
@@ -74415,8 +74528,7 @@ var icelandicSurveyStrings = {
74415
74528
  ok: "ÓKEI",
74416
74529
  cancel: "Afturkalla"
74417
74530
  };
74418
- surveyLocalization.locales["is"] = icelandicSurveyStrings;
74419
- surveyLocalization.localeNames["is"] = "íslenska";
74531
+ surveyLocalization.setupLocale("is", icelandicSurveyStrings, "íslenska", "Icelandic");
74420
74532
  // The following strings have been translated by a machine translation service
74421
74533
  // Remove those strings that you have corrected manually
74422
74534
  // indexText: "{0} of {1}" => "{0} af {1}"
@@ -74559,8 +74671,7 @@ var indonesianStrings = {
74559
74671
  ok: "OKE",
74560
74672
  cancel: "Membatalkan"
74561
74673
  };
74562
- surveyLocalization.locales["id"] = indonesianStrings;
74563
- surveyLocalization.localeNames["id"] = "bahasa Indonesia";
74674
+ surveyLocalization.setupLocale("id", indonesianStrings, "bahasa indonesia", "Indonesian");
74564
74675
  // The following strings have been translated by a machine translation service
74565
74676
  // Remove those strings that you have corrected manually
74566
74677
  // indexText: "{0} of {1}" => "{0} dari {1}"
@@ -74703,8 +74814,7 @@ var italianSurveyStrings = {
74703
74814
  ok: "OK",
74704
74815
  cancel: "Annulla"
74705
74816
  };
74706
- surveyLocalization.locales["it"] = italianSurveyStrings;
74707
- surveyLocalization.localeNames["it"] = "italiano";
74817
+ surveyLocalization.setupLocale("it", italianSurveyStrings, "italiano", "Italian");
74708
74818
  // The following strings have been translated by a machine translation service
74709
74819
  // Remove those strings that you have corrected manually
74710
74820
  // panelDynamicTabTextFormat: "Panel {panelIndex}" => "Pannello {panelIndex}"
@@ -74835,8 +74945,7 @@ var japaneseSurveyStrings = {
74835
74945
  ok: "わかりました",
74836
74946
  cancel: "キャンセル"
74837
74947
  };
74838
- surveyLocalization.locales["ja"] = japaneseSurveyStrings;
74839
- surveyLocalization.localeNames["ja"] = "日本語";
74948
+ surveyLocalization.setupLocale("ja", japaneseSurveyStrings, "日本語", "Japanese");
74840
74949
  // The following strings have been translated by a machine translation service
74841
74950
  // Remove those strings that you have corrected manually
74842
74951
  // indexText: "{0} of {1}" => "{1}の{0}"
@@ -74979,8 +75088,7 @@ var kazakhStrings = {
74979
75088
  ok: "ЖАҚСЫ",
74980
75089
  cancel: "Болдырмау"
74981
75090
  };
74982
- surveyLocalization.locales["kk"] = kazakhStrings;
74983
- surveyLocalization.localeNames["kk"] = "Kazakh";
75091
+ surveyLocalization.setupLocale("kk", kazakhStrings, "kazakh", "Kazakh");
74984
75092
  // The following strings have been translated by a machine translation service
74985
75093
  // Remove those strings that you have corrected manually
74986
75094
  // indexText: "{0} of {1}" => "{1} {0}"
@@ -75123,8 +75231,7 @@ var koreanStrings = {
75123
75231
  ok: "그래",
75124
75232
  cancel: "취소"
75125
75233
  };
75126
- surveyLocalization.locales["ko"] = koreanStrings;
75127
- surveyLocalization.localeNames["ko"] = "한국어";
75234
+ surveyLocalization.setupLocale("ko", koreanStrings, "한국어", "Korean");
75128
75235
  // The following strings have been translated by a machine translation service
75129
75236
  // Remove those strings that you have corrected manually
75130
75237
  // panelDynamicTabTextFormat: "Panel {panelIndex}" => "패널 {panelIndex}"
@@ -75254,8 +75361,7 @@ var latvianSurveyStrings = {
75254
75361
  ok: "LABI",
75255
75362
  cancel: "Atcelt"
75256
75363
  };
75257
- surveyLocalization.locales["lv"] = latvianSurveyStrings;
75258
- surveyLocalization.localeNames["lv"] = "latviešu";
75364
+ surveyLocalization.setupLocale("lv", latvianSurveyStrings, "latviešu", "Latvian");
75259
75365
  // The following strings have been translated by a machine translation service
75260
75366
  // Remove those strings that you have corrected manually
75261
75367
  // panelDynamicTabTextFormat: "Panel {panelIndex}" => "Panelis {panelIndex}"
@@ -75386,8 +75492,7 @@ var lithuaniaSurveyStrings = {
75386
75492
  ok: "GERAI",
75387
75493
  cancel: "Atšaukti"
75388
75494
  };
75389
- surveyLocalization.locales["lt"] = lithuaniaSurveyStrings;
75390
- surveyLocalization.localeNames["lt"] = "lietuvių";
75495
+ surveyLocalization.setupLocale("lt", lithuaniaSurveyStrings, "lietuvių", "Lithuanian");
75391
75496
  // The following strings have been translated by a machine translation service
75392
75497
  // Remove those strings that you have corrected manually
75393
75498
  // indexText: "{0} of {1}" => "{1} {0}"
@@ -75530,8 +75635,7 @@ var macedonianSurveyStrings = {
75530
75635
  ok: "ДОБРО",
75531
75636
  cancel: "Откажи"
75532
75637
  };
75533
- surveyLocalization.locales["mk"] = macedonianSurveyStrings;
75534
- surveyLocalization.localeNames["mk"] = "Македонски";
75638
+ surveyLocalization.setupLocale("mk", macedonianSurveyStrings, "македонски", "Macedonian");
75535
75639
  // The following strings have been translated by a machine translation service
75536
75640
  // Remove those strings that you have corrected manually
75537
75641
  // indexText: "{0} of {1}" => "{0} на {1}"
@@ -75668,8 +75772,7 @@ var malaySurveyStrings = {
75668
75772
  ok: "OK",
75669
75773
  cancel: "Batal"
75670
75774
  };
75671
- surveyLocalization.locales["ms"] = malaySurveyStrings;
75672
- surveyLocalization.localeNames["ms"] = "melayu";
75775
+ surveyLocalization.setupLocale("ms", malaySurveyStrings, "melayu", "Malay");
75673
75776
  // The following strings have been translated by a machine translation service
75674
75777
  // Remove those strings that you have corrected manually
75675
75778
  // indexText: "{0} of {1}" => "{0} {1}"
@@ -75802,8 +75905,7 @@ var norwegianSurveyStrings = {
75802
75905
  ok: "OK",
75803
75906
  cancel: "Annullere"
75804
75907
  };
75805
- surveyLocalization.locales["no"] = norwegianSurveyStrings;
75806
- surveyLocalization.localeNames["no"] = "norsk";
75908
+ surveyLocalization.setupLocale("no", norwegianSurveyStrings, "norsk", "Norwegian");
75807
75909
  // The following strings have been translated by a machine translation service
75808
75910
  // Remove those strings that you have corrected manually
75809
75911
  // indexText: "{0} of {1}" => "{0} av {1}"
@@ -75946,8 +76048,7 @@ var persianSurveyStrings = {
75946
76048
  ok: "باشه",
75947
76049
  cancel: "لغو"
75948
76050
  };
75949
- surveyLocalization.locales["fa"] = persianSurveyStrings;
75950
- surveyLocalization.localeNames["fa"] = "فارْسِى";
76051
+ surveyLocalization.setupLocale("fa", persianSurveyStrings, "فارْسِى", "Persian");
75951
76052
  // The following strings have been translated by a machine translation service
75952
76053
  // Remove those strings that you have corrected manually
75953
76054
  // indexText: "{0} of {1}" => "{0} {1}"
@@ -76090,8 +76191,7 @@ var polishSurveyStrings = {
76090
76191
  ok: "OK",
76091
76192
  cancel: "Anuluj"
76092
76193
  };
76093
- surveyLocalization.locales["pl"] = polishSurveyStrings;
76094
- surveyLocalization.localeNames["pl"] = "polski";
76194
+ surveyLocalization.setupLocale("pl", polishSurveyStrings, "polski", "Polish");
76095
76195
  // The following strings have been translated by a machine translation service
76096
76196
  // Remove those strings that you have corrected manually
76097
76197
  // panelDynamicTabTextFormat: "Panel {panelIndex}" => "Panel {panelIndex}"
@@ -76222,8 +76322,7 @@ var portugueseSurveyStrings = {
76222
76322
  ok: "OKEY",
76223
76323
  cancel: "Cancelar"
76224
76324
  };
76225
- surveyLocalization.locales["pt"] = portugueseSurveyStrings;
76226
- surveyLocalization.localeNames["pt"] = "português";
76325
+ surveyLocalization.setupLocale("pt", portugueseSurveyStrings, "português", "Portuguese");
76227
76326
  // The following strings have been translated by a machine translation service
76228
76327
  // Remove those strings that you have corrected manually
76229
76328
  // panelDynamicTabTextFormat: "Panel {panelIndex}" => "Painel {panelIndex}"
@@ -76354,8 +76453,7 @@ var portugueseBrSurveyStrings = {
76354
76453
  ok: "OKEY",
76355
76454
  cancel: "Cancelar"
76356
76455
  };
76357
- surveyLocalization.locales["pt-br"] = portugueseBrSurveyStrings;
76358
- surveyLocalization.localeNames["pt-br"] = "português brasileiro";
76456
+ surveyLocalization.setupLocale("pt-br", portugueseBrSurveyStrings, "português brasileiro", "Brazilian Portuguese");
76359
76457
  // The following strings have been translated by a machine translation service
76360
76458
  // Remove those strings that you have corrected manually
76361
76459
  // pagePrevText: "Previous" => "Anterior"
@@ -76545,8 +76643,7 @@ var romanianSurveyStrings = {
76545
76643
  ok: "OK",
76546
76644
  cancel: "Anula"
76547
76645
  };
76548
- surveyLocalization.locales["ro"] = romanianSurveyStrings;
76549
- surveyLocalization.localeNames["ro"] = "română";
76646
+ surveyLocalization.setupLocale("ro", romanianSurveyStrings, "română", "Romanian");
76550
76647
  // The following strings have been translated by a machine translation service
76551
76648
  // Remove those strings that you have corrected manually
76552
76649
  // indexText: "{0} of {1}" => "{0} de {1}"
@@ -76689,8 +76786,7 @@ var russianSurveyStrings = {
76689
76786
  ok: "Хорошо",
76690
76787
  cancel: "Отмена"
76691
76788
  };
76692
- surveyLocalization.locales["ru"] = russianSurveyStrings;
76693
- surveyLocalization.localeNames["ru"] = "русский";
76789
+ surveyLocalization.setupLocale("ru", russianSurveyStrings, "русский", "Russian");
76694
76790
  // The following strings have been translated by a machine translation service
76695
76791
  // Remove those strings that you have corrected manually
76696
76792
  // panelDynamicTabTextFormat: "Panel {panelIndex}" => "Панель {panelIndex}"
@@ -76818,8 +76914,7 @@ var serbianStrings = {
76818
76914
  cancel: "Otkaži"
76819
76915
  };
76820
76916
  //Uncomment these two lines on creating a translation file. You should replace "en" and enStrings with your locale ("fr", "de" and so on) and your variable.
76821
- surveyLocalization.locales["rs"] = serbianStrings;
76822
- surveyLocalization.localeNames["rs"] = "Srpski";
76917
+ surveyLocalization.setupLocale("rs", serbianStrings, "srpski", "Serbian");
76823
76918
  // The following strings have been translated by a machine translation service
76824
76919
  // Remove those strings that you have corrected manually
76825
76920
  // indexText: "{0} of {1}" => "{0} {1}"
@@ -76956,8 +77051,7 @@ var simplifiedChineseSurveyStrings = {
76956
77051
  ok: "还行",
76957
77052
  cancel: "取消"
76958
77053
  };
76959
- surveyLocalization.locales["zh-cn"] = simplifiedChineseSurveyStrings;
76960
- surveyLocalization.localeNames["zh-cn"] = "简体中文";
77054
+ surveyLocalization.setupLocale("zh-cn", simplifiedChineseSurveyStrings, "简体中文", "Simplified Chinese ");
76961
77055
  // The following strings have been translated by a machine translation service
76962
77056
  // Remove those strings that you have corrected manually
76963
77057
  // indexText: "{0} of {1}" => "{1}{0}"
@@ -77094,8 +77188,7 @@ var slovakSurveyStrings = {
77094
77188
  ok: "OK",
77095
77189
  cancel: "Zrušiť"
77096
77190
  };
77097
- surveyLocalization.locales["sk"] = slovakSurveyStrings;
77098
- surveyLocalization.localeNames["sk"] = "slovak";
77191
+ surveyLocalization.setupLocale("sk", slovakSurveyStrings, "slovak", "Slovak");
77099
77192
  // The following strings have been translated by a machine translation service
77100
77193
  // Remove those strings that you have corrected manually
77101
77194
  // indexText: "{0} of {1}" => "{0} {1}"
@@ -77228,8 +77321,7 @@ var spanishSurveyStrings = {
77228
77321
  ok: "De acuerdo",
77229
77322
  cancel: "Cancelar"
77230
77323
  };
77231
- surveyLocalization.locales["es"] = spanishSurveyStrings;
77232
- surveyLocalization.localeNames["es"] = "español";
77324
+ surveyLocalization.setupLocale("es", spanishSurveyStrings, "español", "Spanish");
77233
77325
  // The following strings have been translated by a machine translation service
77234
77326
  // Remove those strings that you have corrected manually
77235
77327
  // panelDynamicTabTextFormat: "Panel {panelIndex}" => "Panel {panelIndex}"
@@ -77360,8 +77452,7 @@ var swahiliStrings = {
77360
77452
  ok: "Sawa kabisa",
77361
77453
  cancel: "Katisha"
77362
77454
  };
77363
- surveyLocalization.locales["sw"] = swahiliStrings;
77364
- surveyLocalization.localeNames["sw"] = "swahili";
77455
+ surveyLocalization.setupLocale("sw", swahiliStrings, "swahili", "Swahili");
77365
77456
  // The following strings have been translated by a machine translation service
77366
77457
  // Remove those strings that you have corrected manually
77367
77458
  // indexText: "{0} of {1}" => "{0} ya {1}"
@@ -77504,8 +77595,7 @@ var swedishSurveyStrings = {
77504
77595
  ok: "OKEJ",
77505
77596
  cancel: "Annullera"
77506
77597
  };
77507
- surveyLocalization.locales["sv"] = swedishSurveyStrings;
77508
- surveyLocalization.localeNames["sv"] = "svenska";
77598
+ surveyLocalization.setupLocale("sv", swedishSurveyStrings, "svenska", "Swedish");
77509
77599
  // The following strings have been translated by a machine translation service
77510
77600
  // Remove those strings that you have corrected manually
77511
77601
  // panelDynamicTabTextFormat: "Panel {panelIndex}" => "Panel {panelIndex}"
@@ -77618,8 +77708,7 @@ var tajikSurveyStrings = {
77618
77708
  // noEntriesText: "There are no entries yet.\nClick the button below to add a new entry.",
77619
77709
  // more: "More"
77620
77710
  };
77621
- surveyLocalization.locales["tg"] = tajikSurveyStrings;
77622
- surveyLocalization.localeNames["tg"] = "тоҷикӣ";
77711
+ surveyLocalization.setupLocale("tg", tajikSurveyStrings, "тоҷикӣ", "Tajik");
77623
77712
 
77624
77713
  // CONCATENATED MODULE: ./packages/survey-core/src/localization/thai.ts
77625
77714
 
@@ -77730,8 +77819,7 @@ var thaiStrings = {
77730
77819
  ok: "ตกลง, ได้",
77731
77820
  cancel: "ยกเลิก"
77732
77821
  };
77733
- surveyLocalization.locales["th"] = thaiStrings;
77734
- surveyLocalization.localeNames["th"] = "ไทย";
77822
+ surveyLocalization.setupLocale("th", thaiStrings, "ไทย", "Thai");
77735
77823
  // The following strings have been translated by a machine translation service
77736
77824
  // Remove those strings that you have corrected manually
77737
77825
  // indexText: "{0} of {1}" => "{0} of {1}"
@@ -77873,8 +77961,7 @@ var traditionalChineseSurveyStrings = {
77873
77961
  ok: "還行",
77874
77962
  cancel: "取消"
77875
77963
  };
77876
- surveyLocalization.locales["zh-tw"] = traditionalChineseSurveyStrings;
77877
- surveyLocalization.localeNames["zh-tw"] = "繁體中文";
77964
+ surveyLocalization.setupLocale("zh-tw", traditionalChineseSurveyStrings, "繁體中文", "Tranditional Chinese");
77878
77965
  // The following strings have been translated by a machine translation service
77879
77966
  // Remove those strings that you have corrected manually
77880
77967
  // previewText: "Preview" => "預覽"
@@ -78051,8 +78138,7 @@ var turkishSurveyStrings = {
78051
78138
  ok: "TAMAM",
78052
78139
  cancel: "İptal"
78053
78140
  };
78054
- surveyLocalization.locales["tr"] = turkishSurveyStrings;
78055
- surveyLocalization.localeNames["tr"] = "türkçe";
78141
+ surveyLocalization.setupLocale("tr", turkishSurveyStrings, "türkçe", "Turkish");
78056
78142
  // The following strings have been translated by a machine translation service
78057
78143
  // Remove those strings that you have corrected manually
78058
78144
  // takePhotoCaption: "Take Photo" => "Fotoğraf Çekin"
@@ -78176,8 +78262,7 @@ var ukrainianSurveyStrings = {
78176
78262
  ok: "ГАРАЗД",
78177
78263
  cancel: "Скасувати"
78178
78264
  };
78179
- surveyLocalization.locales["ua"] = ukrainianSurveyStrings;
78180
- surveyLocalization.localeNames["ua"] = "українська";
78265
+ surveyLocalization.setupLocale("ua", ukrainianSurveyStrings, "українська", "Ukrainian");
78181
78266
  // The following strings have been translated by a machine translation service
78182
78267
  // Remove those strings that you have corrected manually
78183
78268
  // indexText: "{0} of {1}" => "{0} {1}"
@@ -78320,8 +78405,7 @@ var vietnameseSurveyStrings = {
78320
78405
  cancel: "Hủy"
78321
78406
  };
78322
78407
  //Uncomment these two lines on creating a translation file. You should replace "en" and enStrings with your locale ("fr", "de" and so on) and your variable.
78323
- surveyLocalization.locales["vi"] = vietnameseSurveyStrings;
78324
- surveyLocalization.localeNames["vi"] = "Việt Nam";
78408
+ surveyLocalization.setupLocale("vi", vietnameseSurveyStrings, "việt nam", "Vietnamese");
78325
78409
  // The following strings have been translated by a machine translation service
78326
78410
  // Remove those strings that you have corrected manually
78327
78411
  // indexText: "{0} of {1}" => "{0} của {1}"
@@ -78463,8 +78547,7 @@ var welshSurveyStrings = {
78463
78547
  ok: "OCÊ",
78464
78548
  cancel: "Canslo"
78465
78549
  };
78466
- surveyLocalization.locales["cy"] = welshSurveyStrings;
78467
- surveyLocalization.localeNames["cy"] = "cymraeg";
78550
+ surveyLocalization.setupLocale("cy", welshSurveyStrings, "cymraeg", "Welsh");
78468
78551
  // The following strings have been translated by a machine translation service
78469
78552
  // Remove those strings that you have corrected manually
78470
78553
  // indexText: "{0} of {1}" => "{0} o {1}"
@@ -78606,8 +78689,7 @@ var teluguStrings = {
78606
78689
  ok: "సరే",
78607
78690
  cancel: "రద్దు"
78608
78691
  };
78609
- surveyLocalization.locales["tel"] = teluguStrings;
78610
- surveyLocalization.localeNames["tel"] = "Telugu";
78692
+ surveyLocalization.setupLocale("tel", teluguStrings, "telugu", "Telugu");
78611
78693
  // The following strings have been translated by a machine translation service
78612
78694
  // Remove those strings that you have corrected manually
78613
78695
  // noneItemText: "None" => "ఎవరు కాదు"
@@ -78753,8 +78835,7 @@ var philippinesStrings = {
78753
78835
  // Uncomment the lines below if you create a custom dictionary.
78754
78836
  // Replace "en" with a custom locale code (for example, "fr" or "de"),
78755
78837
  // Replace `englishStrings` with the name of the variable that contains the custom dictionary.
78756
- surveyLocalization.locales["fil"] = philippinesStrings;
78757
- surveyLocalization.localeNames["fil"] = "Filipino";
78838
+ surveyLocalization.setupLocale("fil", philippinesStrings, "filipino", "Filipino");
78758
78839
  // The following strings have been translated by a machine translation service
78759
78840
  // Remove those strings that you have corrected manually
78760
78841
  // tabTitlePlaceholder: "New Panel" => "Bagong Panel"
@@ -81075,14 +81156,17 @@ var reactquestion_SurveyQuestionErrorCell = /** @class */ (function (_super) {
81075
81156
  SurveyQuestionErrorCell.prototype.update = function () {
81076
81157
  this.setState({ changed: this.state.changed + 1 });
81077
81158
  };
81159
+ SurveyQuestionErrorCell.prototype.getQuestionPropertiesToTrack = function () {
81160
+ return ["errors"];
81161
+ };
81078
81162
  SurveyQuestionErrorCell.prototype.registerCallback = function (question) {
81079
81163
  var _this = this;
81080
- question.registerFunctionOnPropertyValueChanged("errors", function () {
81164
+ question.registerFunctionOnPropertiesValueChanged(this.getQuestionPropertiesToTrack(), function () {
81081
81165
  _this.update();
81082
81166
  }, "__reactSubscription");
81083
81167
  };
81084
81168
  SurveyQuestionErrorCell.prototype.unRegisterCallback = function (question) {
81085
- question.unRegisterFunctionOnPropertyValueChanged("errors", "__reactSubscription");
81169
+ question.unRegisterFunctionOnPropertiesValueChanged(this.getQuestionPropertiesToTrack(), "__reactSubscription");
81086
81170
  };
81087
81171
  SurveyQuestionErrorCell.prototype.componentDidUpdate = function (prevProps) {
81088
81172
  if (prevProps.question && prevProps.question !== this.question) {
@@ -84839,6 +84923,11 @@ var reactquestion_matrixdropdownbase_SurveyQuestionMatrixTable = /** @class */ (
84839
84923
  if (cell.hasQuestion) {
84840
84924
  return (external_root_React_commonjs2_react_commonjs_react_amd_react_["createElement"](reactquestion_matrixdropdownbase_SurveyQuestionMatrixDropdownCell, { key: key, cssClasses: cssClasses, cell: cell, creator: this.creator, reason: reason }));
84841
84925
  }
84926
+ if (cell.isErrorsCell) {
84927
+ if (cell.isErrorsCell) {
84928
+ return (external_root_React_commonjs2_react_commonjs_react_amd_react_["createElement"](reactquestion_matrixdropdownbase_SurveyQuestionMatrixDropdownErrorsCell, { cell: cell, key: key, keyValue: key, question: cell.question, creator: this.creator }));
84929
+ }
84930
+ }
84842
84931
  var calcReason = reason;
84843
84932
  if (!calcReason) {
84844
84933
  calcReason = cell.hasTitle ? "row-header" : "";
@@ -84886,11 +84975,6 @@ var reactquestion_matrixdropdownbase_SurveyQuestionMatrixTable = /** @class */ (
84886
84975
  if (cell.hasPanel) {
84887
84976
  cellContent = (external_root_React_commonjs2_react_commonjs_react_amd_react_["createElement"](panel_SurveyPanel, { key: cell.panel.id, element: cell.panel, survey: this.question.survey, cssClasses: cssClasses, isDisplayMode: this.isDisplayMode, creator: this.creator }));
84888
84977
  }
84889
- if (cell.isErrorsCell) {
84890
- if (cell.isErrorsCell) {
84891
- return (external_root_React_commonjs2_react_commonjs_react_amd_react_["createElement"](reactquestion_SurveyQuestionErrorCell, { question: cell.question, creator: this.creator }));
84892
- }
84893
- }
84894
84978
  if (!cellContent)
84895
84979
  return null;
84896
84980
  var readyCell = (external_root_React_commonjs2_react_commonjs_react_amd_react_["createElement"](external_root_React_commonjs2_react_commonjs_react_amd_react_["Fragment"], null, cellContent));
@@ -84974,6 +85058,35 @@ var reactquestion_matrixdropdownbase_SurveyQuestionMatrixActionsCell = /** @clas
84974
85058
  };
84975
85059
  return SurveyQuestionMatrixActionsCell;
84976
85060
  }(ReactSurveyElement));
85061
+ var reactquestion_matrixdropdownbase_SurveyQuestionMatrixDropdownErrorsCell = /** @class */ (function (_super) {
85062
+ reactquestion_matrixdropdownbase_extends(SurveyQuestionMatrixDropdownErrorsCell, _super);
85063
+ function SurveyQuestionMatrixDropdownErrorsCell(props) {
85064
+ return _super.call(this, props) || this;
85065
+ }
85066
+ Object.defineProperty(SurveyQuestionMatrixDropdownErrorsCell.prototype, "key", {
85067
+ get: function () {
85068
+ return this.props.keyValue;
85069
+ },
85070
+ enumerable: false,
85071
+ configurable: true
85072
+ });
85073
+ Object.defineProperty(SurveyQuestionMatrixDropdownErrorsCell.prototype, "cell", {
85074
+ get: function () {
85075
+ return this.props.cell;
85076
+ },
85077
+ enumerable: false,
85078
+ configurable: true
85079
+ });
85080
+ SurveyQuestionMatrixDropdownErrorsCell.prototype.render = function () {
85081
+ if (!this.cell.isVisible)
85082
+ return null;
85083
+ return external_root_React_commonjs2_react_commonjs_react_amd_react_["createElement"]("td", { className: this.cell.className, key: this.key, colSpan: this.cell.colSpans, title: this.cell.getTitle() }, _super.prototype.render.call(this));
85084
+ };
85085
+ SurveyQuestionMatrixDropdownErrorsCell.prototype.getQuestionPropertiesToTrack = function () {
85086
+ return _super.prototype.getQuestionPropertiesToTrack.call(this).concat(["visible"]);
85087
+ };
85088
+ return SurveyQuestionMatrixDropdownErrorsCell;
85089
+ }(reactquestion_SurveyQuestionErrorCell));
84977
85090
  ReactElementFactory.Instance.registerElement("sv-matrixdynamic-actions-cell", function (props) {
84978
85091
  return external_root_React_commonjs2_react_commonjs_react_amd_react_["createElement"](reactquestion_matrixdropdownbase_SurveyQuestionMatrixActionsCell, props);
84979
85092
  });
@@ -85071,6 +85184,12 @@ var reactquestion_matrixdropdownbase_SurveyQuestionMatrixDropdownCell = /** @cla
85071
85184
  SurveyQuestionMatrixDropdownCell.prototype.getHeaderText = function () {
85072
85185
  return this.cell.headers;
85073
85186
  };
85187
+ SurveyQuestionMatrixDropdownCell.prototype.renderElement = function () {
85188
+ if (!this.cell.isVisible) {
85189
+ return null;
85190
+ }
85191
+ return _super.prototype.renderElement.call(this);
85192
+ };
85074
85193
  SurveyQuestionMatrixDropdownCell.prototype.renderCellContent = function () {
85075
85194
  var content = _super.prototype.renderCellContent.call(this);
85076
85195
  var responsiveTitle = this.cell.showResponsiveTitle ? (external_root_React_commonjs2_react_commonjs_react_amd_react_["createElement"]("span", { className: this.cell.responsiveTitleCss }, this.renderLocString(this.cell.responsiveLocTitle))) : null;