survey-react 1.12.32 → 1.12.34

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/modern.css CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - Survey JavaScript library v1.12.32
2
+ * surveyjs - Survey JavaScript library v1.12.34
3
3
  * Copyright (c) 2015-2025 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
5
5
  */
package/modern.min.css CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - Survey JavaScript library v1.12.32
2
+ * surveyjs - Survey JavaScript library v1.12.34
3
3
  * Copyright (c) 2015-2025 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
5
5
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "survey-react",
3
- "version": "1.12.32",
3
+ "version": "1.12.34",
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",
package/survey.css CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - Survey JavaScript library v1.12.32
2
+ * surveyjs - Survey JavaScript library v1.12.34
3
3
  * Copyright (c) 2015-2025 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
5
5
  */
package/survey.min.css CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - Survey JavaScript library v1.12.32
2
+ * surveyjs - Survey JavaScript library v1.12.34
3
3
  * Copyright (c) 2015-2025 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
5
5
  */
package/survey.react.d.ts CHANGED
@@ -3635,6 +3635,7 @@ declare module "packages/survey-core/src/panel" {
3635
3635
  updateElementVisibility(): void;
3636
3636
  getFirstQuestionToFocus(withError?: boolean, ignoreCollapseState?: boolean): Question;
3637
3637
  getFirstVisibleQuestion(): Question;
3638
+ getFirstVisibleElement(): IElement;
3638
3639
  /**
3639
3640
  * Focuses the first question in this panel/page.
3640
3641
  * @see focusFirstErrorQuestion
@@ -4241,6 +4242,7 @@ declare module "packages/survey-core/src/question_file" {
4241
4242
  get multipleRendered(): string;
4242
4243
  get showChooseButton(): boolean;
4243
4244
  get showFileDecorator(): boolean;
4245
+ get showDragAreaPlaceholder(): boolean;
4244
4246
  get allowShowPreview(): boolean;
4245
4247
  get showPreviewContainer(): boolean;
4246
4248
  get showRemoveButtonCore(): boolean;
@@ -9281,6 +9283,7 @@ declare module "packages/survey-core/src/question_text" {
9281
9283
  onCompositionUpdate: (event: any) => void;
9282
9284
  onKeyUp: (event: any) => void;
9283
9285
  private updateDateValidationMessage;
9286
+ readOnlyBlocker: (event: any) => boolean;
9284
9287
  onKeyDown: (event: any) => void;
9285
9288
  onChange: (event: any) => void;
9286
9289
  protected onBlurCore(event: any): void;
@@ -14665,6 +14668,7 @@ declare module "packages/survey-core/src/question_matrixdropdownbase" {
14665
14668
  getAllValues(): any;
14666
14669
  getFilteredValues(): any;
14667
14670
  getFilteredProperties(): any;
14671
+ private getDataRowValue;
14668
14672
  private applyRowVariablesToValues;
14669
14673
  runCondition(values: HashTable<any>, properties: HashTable<any>, rowsVisibleIf?: string): void;
14670
14674
  updateElementVisibility(): void;
@@ -17237,7 +17241,8 @@ declare module "packages/survey-core/src/dropdownListModel" {
17237
17241
  protected applyHintString(): void;
17238
17242
  get inputStringRendered(): string;
17239
17243
  set inputStringRendered(val: string);
17240
- get placeholderRendered(): any;
17244
+ inputPlaceholder: string;
17245
+ get placeholderRendered(): string;
17241
17246
  get listElementId(): string;
17242
17247
  hasScroll: boolean;
17243
17248
  hintString: string;
@@ -17257,6 +17262,7 @@ declare module "packages/survey-core/src/dropdownListModel" {
17257
17262
  get inputMode(): "none" | "text";
17258
17263
  setSearchEnabled(newValue: boolean): void;
17259
17264
  setChoicesLazyLoadEnabled(newValue: boolean): void;
17265
+ setInputPlaceholder(newValue: string): void;
17260
17266
  updateItems(): void;
17261
17267
  onClick(event: any): void;
17262
17268
  chevronPointerDown(event: any): void;
@@ -17292,9 +17298,10 @@ declare module "packages/survey-core/src/question_dropdown" {
17292
17298
  export class QuestionDropdownModel extends QuestionSelectBase {
17293
17299
  dropdownListModelValue: DropdownListModel;
17294
17300
  lastSelectedItemValue: ItemValue;
17295
- updateReadOnlyText(): void;
17296
17301
  constructor(name: string);
17297
17302
  locStrsChanged(): void;
17303
+ private updateReadOnlyText;
17304
+ private updateInputPlaceholder;
17298
17305
  get showOptionsCaption(): boolean;
17299
17306
  set showOptionsCaption(val: boolean);
17300
17307
  get showClearButton(): boolean;
@@ -17390,7 +17397,10 @@ declare module "packages/survey-core/src/question_dropdown" {
17390
17397
  */
17391
17398
  textWrapEnabled: boolean;
17392
17399
  inputHasValue: boolean;
17393
- readOnlyText: string;
17400
+ get readOnlyText(): string;
17401
+ set readOnlyText(val: string);
17402
+ get locReadOnlyText(): LocalizableString;
17403
+ protected calculateReadOnlyText(): string;
17394
17404
  /**
17395
17405
  * Enables lazy loading. If you set this property to `true`, you should implement the Survey's [`onChoicesLazyLoad`](https://surveyjs.io/form-library/documentation/surveymodel#onChoicesLazyLoad) event handler.
17396
17406
  * @see choicesLazyLoadPageSize
@@ -18568,6 +18578,8 @@ declare module "packages/survey-core/src/question_rating" {
18568
18578
  export class QuestionRatingModel extends Question {
18569
18579
  constructor(name: string);
18570
18580
  private setIconsToRateValues;
18581
+ locStrsChanged(): void;
18582
+ private updateReadOnlyText;
18571
18583
  endLoadingFromJson(): void;
18572
18584
  private _syncPropertiesChanging;
18573
18585
  private registerSychProperties;
@@ -18825,7 +18837,9 @@ declare module "packages/survey-core/src/question_rating" {
18825
18837
  get renderedValue(): any;
18826
18838
  set renderedValue(val: any);
18827
18839
  isItemSelected(item: ItemValue): boolean;
18828
- get readOnlyText(): any;
18840
+ get readOnlyText(): string;
18841
+ set readOnlyText(val: string);
18842
+ get locReadOnlyText(): LocalizableString;
18829
18843
  needResponsiveWidth(): boolean;
18830
18844
  protected supportResponsiveness(): boolean;
18831
18845
  protected onBeforeSetCompactRenderer(): void;
@@ -19229,6 +19243,8 @@ declare module "packages/survey-core/src/question_buttongroup" {
19229
19243
  */
19230
19244
  export class QuestionButtonGroupModel extends QuestionCheckboxBase {
19231
19245
  constructor(name: string);
19246
+ locStrsChanged(): void;
19247
+ private updateReadOnlyText;
19232
19248
  getType(): string;
19233
19249
  protected getItemValueType(): string;
19234
19250
  supportOther(): boolean;
package/survey.react.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - Survey JavaScript library v1.12.32
2
+ * surveyjs - Survey JavaScript library v1.12.34
3
3
  * Copyright (c) 2015-2025 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
5
5
  */
@@ -25814,7 +25814,9 @@ var question_custom_QuestionCompositeModel = /** @class */ (function (_super) {
25814
25814
  if (!!q && q.comment !== newValue) {
25815
25815
  q.comment = newValue;
25816
25816
  }
25817
- this.value = val;
25817
+ if (!this.settingNewValue) {
25818
+ this.value = val;
25819
+ }
25818
25820
  };
25819
25821
  QuestionCompositeModel.prototype.getComment = function (name) {
25820
25822
  var q = this.getQuestionByName(name);
@@ -29418,7 +29420,7 @@ var question_matrixdropdownbase_MatrixDropdownRowModelBase = /** @class */ (func
29418
29420
  this.isCreatingDetailPanel = true;
29419
29421
  this.detailPanelValue = this.data.createRowDetailPanel(this);
29420
29422
  var questions = this.detailPanelValue.questions;
29421
- var value = this.data.getRowValue(this.data.getRowIndex(this));
29423
+ var value = this.getDataRowValue();
29422
29424
  if (!helpers_Helpers.isValueEmpty(value)) {
29423
29425
  for (var i = 0; i < questions.length; i++) {
29424
29426
  var key = questions[i].getValueName();
@@ -29443,12 +29445,27 @@ var question_matrixdropdownbase_MatrixDropdownRowModelBase = /** @class */ (func
29443
29445
  }
29444
29446
  }
29445
29447
  res.row = this.getAllValues();
29448
+ if (this.data) {
29449
+ var rowVal = this.getDataRowValue();
29450
+ if (rowVal) {
29451
+ for (var key in rowVal) {
29452
+ if (res.row[key] === undefined) {
29453
+ res.row[key] = rowVal[key];
29454
+ }
29455
+ }
29456
+ }
29457
+ }
29446
29458
  this.applyRowVariablesToValues(res, this.rowIndex);
29447
29459
  return res;
29448
29460
  };
29449
29461
  MatrixDropdownRowModelBase.prototype.getFilteredProperties = function () {
29450
29462
  return { survey: this.getSurvey(), row: this };
29451
29463
  };
29464
+ MatrixDropdownRowModelBase.prototype.getDataRowValue = function () {
29465
+ if (!this.data)
29466
+ return null;
29467
+ return this.data.getRowValue(this.data.getRowIndex(this));
29468
+ };
29452
29469
  MatrixDropdownRowModelBase.prototype.applyRowVariablesToValues = function (res, rowIndex) {
29453
29470
  res[MatrixDropdownRowModelBase.IndexVariableName] = rowIndex;
29454
29471
  res[MatrixDropdownRowModelBase.RowValueVariableName] = this.rowName;
@@ -29462,7 +29479,7 @@ var question_matrixdropdownbase_MatrixDropdownRowModelBase = /** @class */ (func
29462
29479
  this.applyRowVariablesToValues(values, rowIndex);
29463
29480
  var newProps = helpers_Helpers.createCopy(properties);
29464
29481
  newProps[MatrixDropdownRowModelBase.RowVariableName] = this;
29465
- var rowValues = rowIndex > 0 ? this.data.getRowValue(this.rowIndex - 1) : this.value;
29482
+ var rowValues = rowIndex > 0 ? this.getDataRowValue() : this.value;
29466
29483
  if (!!rowsVisibleIf) {
29467
29484
  values[MatrixDropdownRowModelBase.RowVariableName] = rowValues;
29468
29485
  this.setRowsVisibleIfValues(values);
@@ -37579,6 +37596,14 @@ var panel_PanelModelBase = /** @class */ (function (_super) {
37579
37596
  }
37580
37597
  return null;
37581
37598
  };
37599
+ PanelModelBase.prototype.getFirstVisibleElement = function () {
37600
+ var els = this.elements;
37601
+ for (var i = 0; i < els.length; i++) {
37602
+ if (els[i].isVisible)
37603
+ return els[i];
37604
+ }
37605
+ return null;
37606
+ };
37582
37607
  /**
37583
37608
  * Focuses the first question in this panel/page.
37584
37609
  * @see focusFirstErrorQuestion
@@ -39818,7 +39843,7 @@ var page_PageModel = /** @class */ (function (_super) {
39818
39843
  */
39819
39844
  PageModel.prototype.scrollToTop = function () {
39820
39845
  if (!!this.survey) {
39821
- this.survey.scrollElementToTop(this, null, this, this.id);
39846
+ this.survey.scrollElementToTop(this, null, this, this.id, true, { block: "start" });
39822
39847
  }
39823
39848
  };
39824
39849
  /**
@@ -42773,7 +42798,7 @@ var survey_SurveyModel = /** @class */ (function (_super) {
42773
42798
  get: function () {
42774
42799
  if (this.isDesignMode)
42775
42800
  return this.isPropertyVisible("description");
42776
- return !!this.hasDescription;
42801
+ return !!this.hasDescription && this.showTitle;
42777
42802
  },
42778
42803
  enumerable: false,
42779
42804
  configurable: true
@@ -48038,6 +48063,11 @@ var survey_SurveyModel = /** @class */ (function (_super) {
48038
48063
  if (!newValue) {
48039
48064
  this.changeCurrentSingleElementOnVisibilityChanged();
48040
48065
  }
48066
+ var el = this.currentSingleElement;
48067
+ var curPage = this.currentPage;
48068
+ if (!!el && !!curPage && el.page !== curPage) {
48069
+ this.currentSingleElement = curPage.getFirstVisibleElement();
48070
+ }
48041
48071
  this.onPageVisibleChanged.fire(this, {
48042
48072
  page: page,
48043
48073
  visible: newValue,
@@ -49080,12 +49110,12 @@ var survey_SurveyModel = /** @class */ (function (_super) {
49080
49110
  }
49081
49111
  else if (isStrCiEqual(layoutElement.id, "buttons-navigation")) {
49082
49112
  if (container === "contentTop") {
49083
- if (["top", "both"].indexOf(this.isNavigationButtonsShowing) !== -1) {
49113
+ if (this.isNavigationButtonsShowingOnTop) {
49084
49114
  containerLayoutElements.push(layoutElement);
49085
49115
  }
49086
49116
  }
49087
49117
  if (container === "contentBottom") {
49088
- if (["bottom", "both"].indexOf(this.isNavigationButtonsShowing) !== -1) {
49118
+ if (this.isNavigationButtonsShowingOnBottom) {
49089
49119
  containerLayoutElements.push(layoutElement);
49090
49120
  }
49091
49121
  }
@@ -51357,7 +51387,7 @@ var question_baseselect_QuestionSelectBase = /** @class */ (function (_super) {
51357
51387
  };
51358
51388
  QuestionSelectBase.prototype.updateValueFromSurvey = function (newValue, clearData) {
51359
51389
  var newComment = "";
51360
- if (this.hasOther &&
51390
+ if (this.hasOther && this.activeChoices.length > 0 &&
51361
51391
  !this.isRunningChoices &&
51362
51392
  !this.choicesByUrl.isRunning &&
51363
51393
  this.getStoreOthersAsComment()) {
@@ -53199,6 +53229,7 @@ var dropdownListModel_DropdownListModel = /** @class */ (function (_super) {
53199
53229
  _this.listModel = _this.createListModel();
53200
53230
  _this.updateAfterListModelCreated(_this.listModel);
53201
53231
  _this.setChoicesLazyLoadEnabled(_this.question.choicesLazyLoadEnabled);
53232
+ _this.setInputPlaceholder(_this.question.placeholder);
53202
53233
  _this.setSearchEnabled(_this.question.searchEnabled);
53203
53234
  _this.setTextWrapEnabled(_this.question.textWrapEnabled);
53204
53235
  _this.createPopup();
@@ -53524,7 +53555,7 @@ var dropdownListModel_DropdownListModel = /** @class */ (function (_super) {
53524
53555
  });
53525
53556
  Object.defineProperty(DropdownListModel.prototype, "placeholderRendered", {
53526
53557
  get: function () {
53527
- return this.hintString ? "" : this.question.readOnlyText;
53558
+ return (this.hintString || this.question.readOnly || !this.question.isEmpty()) ? "" : this.inputPlaceholder;
53528
53559
  },
53529
53560
  enumerable: false,
53530
53561
  configurable: true
@@ -53635,6 +53666,9 @@ var dropdownListModel_DropdownListModel = /** @class */ (function (_super) {
53635
53666
  DropdownListModel.prototype.setChoicesLazyLoadEnabled = function (newValue) {
53636
53667
  this.listModel.setOnFilterStringChangedCallback(newValue ? this.listModelFilterStringChanged : undefined);
53637
53668
  };
53669
+ DropdownListModel.prototype.setInputPlaceholder = function (newValue) {
53670
+ this.inputPlaceholder = newValue;
53671
+ };
53638
53672
  DropdownListModel.prototype.updateItems = function () {
53639
53673
  this.listModel.setItems(this.getAvailableItems());
53640
53674
  };
@@ -53851,6 +53885,9 @@ var dropdownListModel_DropdownListModel = /** @class */ (function (_super) {
53851
53885
  dropdownListModel_decorate([
53852
53886
  jsonobject_property()
53853
53887
  ], DropdownListModel.prototype, "ariaActivedescendant", void 0);
53888
+ dropdownListModel_decorate([
53889
+ jsonobject_property()
53890
+ ], DropdownListModel.prototype, "inputPlaceholder", void 0);
53854
53891
  dropdownListModel_decorate([
53855
53892
  jsonobject_property({
53856
53893
  defaultValue: false,
@@ -53915,33 +53952,29 @@ var question_dropdown_QuestionDropdownModel = /** @class */ (function (_super) {
53915
53952
  _this.ariaExpanded = "false";
53916
53953
  _this.createLocalizableString("placeholder", _this, false, true);
53917
53954
  _this.createLocalizableString("clearCaption", _this, false, true);
53955
+ _this.createLocalizableString("readOnlyText", _this, true);
53918
53956
  _this.registerPropertyChangedHandlers(["choicesMin", "choicesMax", "choicesStep"], function () {
53919
53957
  _this.onVisibleChoicesChanged();
53920
53958
  });
53921
53959
  _this.registerPropertyChangedHandlers(["value", "renderAs", "showOtherItem", "otherText", "placeholder", "choices", "visibleChoices"], function () {
53960
+ _this.getSingleSelectedItem();
53922
53961
  _this.updateReadOnlyText();
53923
53962
  });
53924
53963
  _this.updateReadOnlyText();
53925
53964
  return _this;
53926
53965
  }
53927
- QuestionDropdownModel.prototype.updateReadOnlyText = function () {
53928
- var result = !!this.selectedItem ? "" : this.placeholder;
53929
- if (this.renderAs == "select") {
53930
- if (this.isOtherSelected) {
53931
- result = this.otherText;
53932
- }
53933
- else if (this.isNoneSelected) {
53934
- result = this.noneText;
53935
- }
53936
- else if (!!this.selectedItem) {
53937
- result = this.selectedItemText;
53938
- }
53939
- }
53940
- this.readOnlyText = result;
53941
- };
53942
53966
  QuestionDropdownModel.prototype.locStrsChanged = function () {
53943
53967
  _super.prototype.locStrsChanged.call(this);
53944
53968
  this.updateReadOnlyText();
53969
+ this.updateInputPlaceholder(this.placeholder);
53970
+ };
53971
+ QuestionDropdownModel.prototype.updateReadOnlyText = function () {
53972
+ this.readOnlyText = this.calculateReadOnlyText();
53973
+ };
53974
+ QuestionDropdownModel.prototype.updateInputPlaceholder = function (val) {
53975
+ if (!!this.dropdownListModelValue) {
53976
+ this.dropdownListModel.setInputPlaceholder(val);
53977
+ }
53945
53978
  };
53946
53979
  Object.defineProperty(QuestionDropdownModel.prototype, "showOptionsCaption", {
53947
53980
  get: function () {
@@ -53979,6 +54012,7 @@ var question_dropdown_QuestionDropdownModel = /** @class */ (function (_super) {
53979
54012
  },
53980
54013
  set: function (val) {
53981
54014
  this.setLocalizableStringText("placeholder", val);
54015
+ this.updateInputPlaceholder(val);
53982
54016
  },
53983
54017
  enumerable: false,
53984
54018
  configurable: true
@@ -54126,6 +54160,34 @@ var question_dropdown_QuestionDropdownModel = /** @class */ (function (_super) {
54126
54160
  enumerable: false,
54127
54161
  configurable: true
54128
54162
  });
54163
+ Object.defineProperty(QuestionDropdownModel.prototype, "readOnlyText", {
54164
+ get: function () {
54165
+ return this.getLocalizableStringText("readOnlyText");
54166
+ },
54167
+ set: function (val) {
54168
+ this.setLocalizableStringText("readOnlyText", val);
54169
+ },
54170
+ enumerable: false,
54171
+ configurable: true
54172
+ });
54173
+ Object.defineProperty(QuestionDropdownModel.prototype, "locReadOnlyText", {
54174
+ get: function () {
54175
+ return this.getLocalizableString("readOnlyText");
54176
+ },
54177
+ enumerable: false,
54178
+ configurable: true
54179
+ });
54180
+ QuestionDropdownModel.prototype.calculateReadOnlyText = function () {
54181
+ if (this.renderAs == "select") {
54182
+ if (this.isOtherSelected)
54183
+ return this.otherText;
54184
+ if (this.isNoneSelected)
54185
+ return this.noneText;
54186
+ if (!!this.selectedItem)
54187
+ return this.selectedItemText;
54188
+ }
54189
+ return !!this.selectedItem ? this.selectedItemText : this.placeholder;
54190
+ };
54129
54191
  QuestionDropdownModel.prototype.getControlClass = function () {
54130
54192
  return new CssClassBuilder()
54131
54193
  .append(this.cssClasses.control)
@@ -54313,9 +54375,6 @@ var question_dropdown_QuestionDropdownModel = /** @class */ (function (_super) {
54313
54375
  question_dropdown_decorate([
54314
54376
  jsonobject_property({ defaultValue: false })
54315
54377
  ], QuestionDropdownModel.prototype, "inputHasValue", void 0);
54316
- question_dropdown_decorate([
54317
- jsonobject_property({ defaultValue: "" })
54318
- ], QuestionDropdownModel.prototype, "readOnlyText", void 0);
54319
54378
  question_dropdown_decorate([
54320
54379
  jsonobject_property({
54321
54380
  onSet: function (newValue, target) {
@@ -55517,7 +55576,7 @@ var InputElementAdapter = /** @class */ (function () {
55517
55576
  if (_value === null || _value === undefined) {
55518
55577
  _value = "";
55519
55578
  }
55520
- this.setInputValue(inputMaskInstance.getMaskedValue(_value));
55579
+ this.setInputValue(inputMaskInstance.saveMaskedValue ? _value : inputMaskInstance.getMaskedValue(_value));
55521
55580
  this.prevUnmaskedValue = _value;
55522
55581
  inputMaskInstance.onPropertyChanged.add(this.inputMaskInstancePropertyChangedHandler);
55523
55582
  this.addInputEventListener();
@@ -55654,7 +55713,16 @@ var question_text_QuestionTextModel = /** @class */ (function (_super) {
55654
55713
  }
55655
55714
  _this.updateRemainingCharacterCounter(event.target.value);
55656
55715
  };
55716
+ _this.readOnlyBlocker = function (event) {
55717
+ if (_this.isReadOnlyAttr) {
55718
+ event.preventDefault();
55719
+ return true;
55720
+ }
55721
+ };
55657
55722
  _this.onKeyDown = function (event) {
55723
+ if (_this.readOnlyBlocker(event)) {
55724
+ return;
55725
+ }
55658
55726
  _this.onKeyDownPreprocess && _this.onKeyDownPreprocess(event);
55659
55727
  if (_this.isInputTextUpdate) {
55660
55728
  _this._isWaitingForEnter = event.keyCode === 229;
@@ -56664,7 +56732,9 @@ var question_multipletext_MultipleTextItemModel = /** @class */ (function (_supe
56664
56732
  _this.title = title;
56665
56733
  }
56666
56734
  _this.editor.onPropertyChanged.add(function (sender, options) {
56667
- _this.onPropertyChanged.fire(_this, options);
56735
+ if (options.name !== "maskSettings") {
56736
+ _this.onPropertyChanged.fire(_this, options);
56737
+ }
56668
56738
  });
56669
56739
  return _this;
56670
56740
  }
@@ -59402,6 +59472,9 @@ var question_tagbox_QuestionTagboxModel = /** @class */ (function (_super) {
59402
59472
  },
59403
59473
  set: function (val) {
59404
59474
  this.setLocalizableStringText("placeholder", val);
59475
+ if (!!this.dropdownListModelValue) {
59476
+ this.dropdownListModel.setInputPlaceholder(val);
59477
+ }
59405
59478
  },
59406
59479
  enumerable: false,
59407
59480
  configurable: true
@@ -62308,6 +62381,13 @@ var question_file_QuestionFileModel = /** @class */ (function (_super) {
62308
62381
  enumerable: false,
62309
62382
  configurable: true
62310
62383
  });
62384
+ Object.defineProperty(QuestionFileModel.prototype, "showDragAreaPlaceholder", {
62385
+ get: function () {
62386
+ return !this.isAnswered;
62387
+ },
62388
+ enumerable: false,
62389
+ configurable: true
62390
+ });
62311
62391
  Object.defineProperty(QuestionFileModel.prototype, "allowShowPreview", {
62312
62392
  get: function () {
62313
62393
  var isShowLoadingIndicator = this.showLoadingIndicator;
@@ -63292,6 +63372,11 @@ var question_rating_QuestionRatingModel = /** @class */ (function (_super) {
63292
63372
  .onStringChanged.add(function (sender, options) {
63293
63373
  _this.hasMaxRateDescription = !sender.isEmpty;
63294
63374
  });
63375
+ _this.createLocalizableString("readOnlyText", _this, true);
63376
+ _this.registerPropertyChangedHandlers(["value", "renderAs", "placeholder", "choices", "visibleChoices"], function () {
63377
+ _this.updateReadOnlyText();
63378
+ });
63379
+ _this.updateReadOnlyText();
63295
63380
  _this.initPropertyDependencies();
63296
63381
  return _this;
63297
63382
  }
@@ -63301,6 +63386,15 @@ var question_rating_QuestionRatingModel = /** @class */ (function (_super) {
63301
63386
  this.rateValues.map(function (item) { return item.icon = _this.getItemSmiley(item); });
63302
63387
  }
63303
63388
  };
63389
+ QuestionRatingModel.prototype.locStrsChanged = function () {
63390
+ var _a;
63391
+ _super.prototype.locStrsChanged.call(this);
63392
+ this.updateReadOnlyText();
63393
+ (_a = this.dropdownListModelValue) === null || _a === void 0 ? void 0 : _a.locStrsChanged();
63394
+ };
63395
+ QuestionRatingModel.prototype.updateReadOnlyText = function () {
63396
+ this.readOnlyText = this.displayValue || this.placeholder;
63397
+ };
63304
63398
  QuestionRatingModel.prototype.endLoadingFromJson = function () {
63305
63399
  _super.prototype.endLoadingFromJson.call(this);
63306
63400
  if (this.jsonObj.rateMin !== undefined && this.jsonObj.rateCount !== undefined && this.jsonObj.rateMax === undefined) {
@@ -64106,9 +64200,17 @@ var question_rating_QuestionRatingModel = /** @class */ (function (_super) {
64106
64200
  };
64107
64201
  Object.defineProperty(QuestionRatingModel.prototype, "readOnlyText", {
64108
64202
  get: function () {
64109
- if (this.readOnly)
64110
- return (this.displayValue || this.placeholder);
64111
- return this.isEmpty() ? this.placeholder : "";
64203
+ return this.getLocalizableStringText("readOnlyText");
64204
+ },
64205
+ set: function (val) {
64206
+ this.setLocalizableStringText("readOnlyText", val);
64207
+ },
64208
+ enumerable: false,
64209
+ configurable: true
64210
+ });
64211
+ Object.defineProperty(QuestionRatingModel.prototype, "locReadOnlyText", {
64212
+ get: function () {
64213
+ return this.getLocalizableString("readOnlyText");
64112
64214
  },
64113
64215
  enumerable: false,
64114
64216
  configurable: true
@@ -71365,8 +71467,24 @@ var question_buttongroup_ButtonGroupItemValue = /** @class */ (function (_super)
71365
71467
  var QuestionButtonGroupModel = /** @class */ (function (_super) {
71366
71468
  question_buttongroup_extends(QuestionButtonGroupModel, _super);
71367
71469
  function QuestionButtonGroupModel(name) {
71368
- return _super.call(this, name) || this;
71470
+ var _this = _super.call(this, name) || this;
71471
+ _this.createLocalizableString("buttongroupOptionsCaption", _this, false, true);
71472
+ _this.createLocalizableString("readOnlyText", _this, true);
71473
+ _this.registerPropertyChangedHandlers(["value", "renderAs", "placeholder", "choices", "visibleChoices"], function () {
71474
+ _this.updateReadOnlyText();
71475
+ });
71476
+ _this.updateReadOnlyText();
71477
+ return _this;
71369
71478
  }
71479
+ QuestionButtonGroupModel.prototype.locStrsChanged = function () {
71480
+ var _a;
71481
+ _super.prototype.locStrsChanged.call(this);
71482
+ this.updateReadOnlyText();
71483
+ (_a = this.dropdownListModelValue) === null || _a === void 0 ? void 0 : _a.locStrsChanged();
71484
+ };
71485
+ QuestionButtonGroupModel.prototype.updateReadOnlyText = function () {
71486
+ this.readOnlyText = this.displayValue || this.placeholder;
71487
+ };
71370
71488
  QuestionButtonGroupModel.prototype.getType = function () {
71371
71489
  return "buttongroup";
71372
71490
  };
@@ -72951,9 +73069,9 @@ Serializer.addClass("currencymask", [
72951
73069
 
72952
73070
  var Version;
72953
73071
  var ReleaseDate;
72954
- Version = "" + "1.12.32";
73072
+ Version = "" + "1.12.34";
72955
73073
  settings.version = Version;
72956
- ReleaseDate = "" + "2025-04-13";
73074
+ ReleaseDate = "" + "2025-04-29";
72957
73075
  function checkLibraryVersion(ver, libraryName) {
72958
73076
  if (Version != ver) {
72959
73077
  var str = "survey-core has version '" + Version + "' and " + libraryName
@@ -86987,7 +87105,7 @@ var reactquestion_ranking_SurveyQuestionRankingItem = /** @class */ (function (_
86987
87105
  };
86988
87106
  SurveyQuestionRankingItem.prototype.renderElement = function () {
86989
87107
  var itemContent = ReactElementFactory.Instance.createElement(this.question.itemComponent, { item: this.item, cssClasses: this.cssClasses });
86990
- return (external_root_React_commonjs2_react_commonjs_react_amd_react_["createElement"]("div", { tabIndex: this.itemTabIndex, className: this.itemClass, onKeyDown: this.handleKeydown, onPointerDown: this.handlePointerDown, onPointerUp: this.handlePointerUp, "data-sv-drop-target-ranking-item": this.index },
87108
+ return (external_root_React_commonjs2_react_commonjs_react_amd_react_["createElement"]("div", { id: this.question.getItemId(this.item), tabIndex: this.itemTabIndex, className: this.itemClass, onKeyDown: this.handleKeydown, onPointerDown: this.handlePointerDown, onPointerUp: this.handlePointerUp, "data-sv-drop-target-ranking-item": this.index },
86991
87109
  external_root_React_commonjs2_react_commonjs_react_amd_react_["createElement"]("div", { tabIndex: -1, style: { outline: "none" } },
86992
87110
  external_root_React_commonjs2_react_commonjs_react_amd_react_["createElement"]("div", { className: this.cssClasses.itemGhostNode }),
86993
87111
  external_root_React_commonjs2_react_commonjs_react_amd_react_["createElement"]("div", { className: this.cssClasses.itemContent },
@@ -87467,19 +87585,21 @@ var dropdown_base_SurveyQuestionDropdownBase = /** @class */ (function (_super)
87467
87585
  return this.questionBase.renderedValue;
87468
87586
  };
87469
87587
  SurveyQuestionDropdownBase.prototype.renderReadOnlyElement = function () {
87470
- return external_root_React_commonjs2_react_commonjs_react_amd_react_["createElement"]("div", null, this.question.readOnlyText);
87588
+ if (this.question.locReadOnlyText) {
87589
+ return this.renderLocString(this.question.locReadOnlyText);
87590
+ }
87591
+ else {
87592
+ return null;
87593
+ }
87471
87594
  };
87472
87595
  SurveyQuestionDropdownBase.prototype.renderSelect = function (cssClasses) {
87473
87596
  var _this = this;
87474
87597
  var _a, _b;
87475
87598
  var selectElement = null;
87476
87599
  if (this.question.isReadOnly) {
87477
- var text = (this.question.selectedItemLocText) ? this.renderLocString(this.question.selectedItemLocText) : "";
87478
87600
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
87479
87601
  // @ts-ignore
87480
- selectElement = external_root_React_commonjs2_react_commonjs_react_amd_react_["createElement"]("div", { id: this.question.inputId, "aria-label": this.question.a11y_input_ariaLabel, "aria-labelledby": this.question.a11y_input_ariaLabelledBy, "aria-describedby": this.question.a11y_input_ariaDescribedBy, tabIndex: this.question.isDisabledAttr ? undefined : 0, className: this.question.getControlClass(), ref: function (div) { return (_this.setControl(div)); } },
87481
- text,
87482
- this.renderReadOnlyElement());
87602
+ selectElement = external_root_React_commonjs2_react_commonjs_react_amd_react_["createElement"]("div", { id: this.question.inputId, "aria-label": this.question.a11y_input_ariaLabel, "aria-labelledby": this.question.a11y_input_ariaLabelledBy, "aria-describedby": this.question.a11y_input_ariaDescribedBy, tabIndex: this.question.isDisabledAttr ? undefined : 0, className: this.question.getControlClass(), ref: function (div) { return (_this.setControl(div)); } }, this.renderReadOnlyElement());
87483
87603
  }
87484
87604
  else {
87485
87605
  selectElement = external_root_React_commonjs2_react_commonjs_react_amd_react_["createElement"](external_root_React_commonjs2_react_commonjs_react_amd_react_["Fragment"], null,
@@ -88251,7 +88371,7 @@ var reactquestion_file_SurveyQuestionFile = /** @class */ (function (_super) {
88251
88371
  var actionsContainer = this.question.actionsContainerVisible ? external_root_React_commonjs2_react_commonjs_react_amd_react_["createElement"](action_bar_SurveyActionBar, { model: this.question.actionsContainer }) : null;
88252
88372
  var noFileChosen = this.question.isEmpty() ? (external_root_React_commonjs2_react_commonjs_react_amd_react_["createElement"]("span", { className: this.question.cssClasses.noFileChosen }, this.question.noFileChosenCaption)) : null;
88253
88373
  return (external_root_React_commonjs2_react_commonjs_react_amd_react_["createElement"]("div", { className: this.question.getFileDecoratorCss() },
88254
- external_root_React_commonjs2_react_commonjs_react_amd_react_["createElement"]("span", { className: this.question.cssClasses.dragAreaPlaceholder }, this.renderLocString(this.question.locRenderedPlaceholder)),
88374
+ this.question.showDragAreaPlaceholder ? external_root_React_commonjs2_react_commonjs_react_amd_react_["createElement"]("span", { className: this.question.cssClasses.dragAreaPlaceholder }, this.renderLocString(this.question.locRenderedPlaceholder)) : false,
88255
88375
  external_root_React_commonjs2_react_commonjs_react_amd_react_["createElement"]("div", { className: this.question.cssClasses.wrapper },
88256
88376
  chooseButton,
88257
88377
  actionsContainer,
@@ -88872,7 +88992,7 @@ var reactquestion_text_SurveyQuestionText = /** @class */ (function (_super) {
88872
88992
  // disabled={this.isDisplayMode}
88873
88993
  disabled: this.question.isDisabledAttr, readOnly: this.question.isReadOnlyAttr, className: inputClass, type: this.question.inputType,
88874
88994
  //ref={this.controlRef}
88875
- ref: function (input) { return (_this.setControl(input)); }, style: this.question.inputStyle, maxLength: this.question.getMaxLength(), min: this.question.renderedMin, max: this.question.renderedMax, step: this.question.renderedStep, size: this.question.inputSize, placeholder: placeholder, list: this.question.dataListId, autoComplete: this.question.autocomplete, onBlur: function (event) { _this.question.onBlur(event); }, onFocus: function (event) { _this.question.onFocus(event); }, onChange: this.question.onChange, onKeyUp: this.question.onKeyUp, onKeyDown: this.question.onKeyDown, onCompositionUpdate: function (event) { return _this.question.onCompositionUpdate(event.nativeEvent); }, "aria-required": this.question.a11y_input_ariaRequired, "aria-label": this.question.a11y_input_ariaLabel, "aria-labelledby": this.question.a11y_input_ariaLabelledBy, "aria-describedby": this.question.a11y_input_ariaDescribedBy, "aria-invalid": this.question.a11y_input_ariaInvalid, "aria-errormessage": this.question.a11y_input_ariaErrormessage }),
88995
+ ref: function (input) { return (_this.setControl(input)); }, style: this.question.inputStyle, maxLength: this.question.getMaxLength(), min: this.question.renderedMin, max: this.question.renderedMax, step: this.question.renderedStep, size: this.question.inputSize, placeholder: placeholder, list: this.question.dataListId, autoComplete: this.question.autocomplete, onBlur: function (event) { _this.question.onBlur(event); }, onFocus: function (event) { _this.question.onFocus(event); }, onChange: this.question.onChange, onClick: this.question.readOnlyBlocker, onPointerDown: this.question.readOnlyBlocker, onKeyUp: this.question.onKeyUp, onKeyDown: this.question.onKeyDown, onCompositionUpdate: function (event) { return _this.question.onCompositionUpdate(event.nativeEvent); }, "aria-required": this.question.a11y_input_ariaRequired, "aria-label": this.question.a11y_input_ariaLabel, "aria-labelledby": this.question.a11y_input_ariaLabelledBy, "aria-describedby": this.question.a11y_input_ariaDescribedBy, "aria-invalid": this.question.a11y_input_ariaInvalid, "aria-errormessage": this.question.a11y_input_ariaErrormessage }),
88876
88996
  counter));
88877
88997
  };
88878
88998
  SurveyQuestionText.prototype.renderElement = function () {