survey-react 1.9.106 → 1.9.108

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.d.ts CHANGED
@@ -1783,6 +1783,7 @@ declare module "defaultCss/defaultV2Css" {
1783
1783
  };
1784
1784
  checkbox: {
1785
1785
  root: string;
1786
+ rootMobile: string;
1786
1787
  rootRow: string;
1787
1788
  rootMultiColumn: string;
1788
1789
  item: string;
@@ -1805,6 +1806,7 @@ declare module "defaultCss/defaultV2Css" {
1805
1806
  };
1806
1807
  radiogroup: {
1807
1808
  root: string;
1809
+ rootMobile: string;
1808
1810
  rootRow: string;
1809
1811
  rootMultiColumn: string;
1810
1812
  item: string;
@@ -1873,8 +1875,11 @@ declare module "defaultCss/defaultV2Css" {
1873
1875
  };
1874
1876
  multipletext: {
1875
1877
  root: string;
1878
+ rootMobile: string;
1876
1879
  itemLabel: string;
1877
1880
  itemLabelOnError: string;
1881
+ itemLabelAllowFocus: string;
1882
+ itemLabelAnswered: string;
1878
1883
  item: string;
1879
1884
  itemTitle: string;
1880
1885
  content: string;
@@ -2098,6 +2103,7 @@ declare module "defaultCss/defaultV2Css" {
2098
2103
  expression: string;
2099
2104
  file: {
2100
2105
  root: string;
2106
+ rootDragging: string;
2101
2107
  other: string;
2102
2108
  placeholderInput: string;
2103
2109
  preview: string;
@@ -2678,6 +2684,7 @@ declare module "panel" {
2678
2684
  get _showDescription(): boolean;
2679
2685
  localeChanged(): void;
2680
2686
  locStrsChanged(): void;
2687
+ get renderedNavigationTitle(): string;
2681
2688
  /**
2682
2689
  * Returns a character or text string that indicates a required panel/page.
2683
2690
  * @see SurveyModel.requiredText
@@ -2994,7 +3001,7 @@ declare module "panel" {
2994
3001
  removeElement(element: IElement): boolean;
2995
3002
  removeQuestion(question: Question): void;
2996
3003
  runCondition(values: HashTable<any>, properties: HashTable<any>): void;
2997
- onAnyValueChanged(name: string): void;
3004
+ onAnyValueChanged(name: string, questionName: string): void;
2998
3005
  checkBindings(valueName: string, value: any): void;
2999
3006
  dragDropAddTarget(dragDropInfo: DragDropInfo): void;
3000
3007
  dragDropFindRow(findElement: ISurveyElement): QuestionRowModel;
@@ -3124,10 +3131,8 @@ declare module "panel" {
3124
3131
  clearOnDeletingContainer(): void;
3125
3132
  get footerActions(): Array<IAction>;
3126
3133
  private footerToolbarValue;
3127
- private footerToolbarCssValue;
3128
- set footerToolbarCss(val: string);
3129
- get footerToolbarCss(): string;
3130
3134
  onGetFooterActionsCallback: () => Array<IAction>;
3135
+ onGetFooterToolbarCssCallback: () => string;
3131
3136
  getFooterToolbar(): ActionContainer;
3132
3137
  get hasEditButton(): boolean;
3133
3138
  cancelPreview(): void;
@@ -3159,7 +3164,7 @@ declare module "question_file" {
3159
3164
  * [View Demo](https://surveyjs.io/form-library/examples/file-upload/ (linkStyle))
3160
3165
  */
3161
3166
  export class QuestionFileModel extends Question {
3162
- private isUploading;
3167
+ isUploading: boolean;
3163
3168
  isDragging: boolean;
3164
3169
  /**
3165
3170
  * An event that is raised after the upload state has changed.
@@ -3176,6 +3181,7 @@ declare module "question_file" {
3176
3181
  previewValue: any[];
3177
3182
  currentState: string;
3178
3183
  indexToShow: number;
3184
+ pageSize: number;
3179
3185
  containsMultiplyFiles: boolean;
3180
3186
  /**
3181
3187
  * Specifies whether users can capture and upload a photo. Applies only to mobile devices.
@@ -3183,14 +3189,17 @@ declare module "question_file" {
3183
3189
  * Default value: `false`
3184
3190
  */
3185
3191
  allowCameraAccess: boolean;
3186
- mobileFileNavigator: ActionContainer;
3192
+ fileNavigator: ActionContainer;
3187
3193
  protected prevFileAction: Action;
3188
3194
  protected nextFileAction: Action;
3189
3195
  protected fileIndexAction: Action;
3190
- get mobileFileNavigatorVisible(): boolean;
3196
+ get fileNavigatorVisible(): boolean;
3197
+ private get pagesCount();
3191
3198
  constructor(name: string);
3192
3199
  protected updateElementCssCore(cssClasses: any): void;
3193
3200
  private getFileIndexCaption;
3201
+ private updateFileNavigator;
3202
+ private prevPreviewLength;
3194
3203
  private previewValueChanged;
3195
3204
  isPreviewVisible(index: number): boolean;
3196
3205
  getType(): string;
@@ -3277,8 +3286,12 @@ declare module "question_file" {
3277
3286
  clear(doneCallback?: () => void): void;
3278
3287
  get renderCapture(): string;
3279
3288
  get multipleRendered(): string;
3280
- get showRemoveButton(): any;
3281
- get showRemoveButtonBottom(): any;
3289
+ get showChooseButton(): boolean;
3290
+ get showLoadingIndicator(): boolean;
3291
+ get allowShowPreview(): boolean;
3292
+ get showRemoveButtonCore(): boolean;
3293
+ get showRemoveButton(): boolean;
3294
+ get showRemoveButtonBottom(): boolean;
3282
3295
  defaultImage(data: any): boolean;
3283
3296
  /**
3284
3297
  * Removes a file with a specified name.
@@ -3304,6 +3317,16 @@ declare module "question_file" {
3304
3317
  private onChange;
3305
3318
  protected onChangeQuestionValue(newValue: any): void;
3306
3319
  endLoadingFromJson(): void;
3320
+ protected needResponsiveness(): boolean;
3321
+ protected supportResponsiveness(): boolean;
3322
+ protected getObservedElementSelector(): string;
3323
+ private getFileListSelector;
3324
+ private calcAvailableItemsCount;
3325
+ private calculatedGapBetweenItems;
3326
+ private calculatedItemWidth;
3327
+ private _width;
3328
+ triggerResponsiveness(hard?: boolean): void;
3329
+ protected processResponsiveness(_: number, availableWidth: number): boolean;
3307
3330
  private rootElement;
3308
3331
  afterRender(el: HTMLElement): void;
3309
3332
  private dragCounter;
@@ -3847,7 +3870,7 @@ declare module "question_baseselect" {
3847
3870
  protected setSurveyCore(value: ISurvey): void;
3848
3871
  getStoreOthersAsComment(): boolean;
3849
3872
  onSurveyLoad(): void;
3850
- onAnyValueChanged(name: string): void;
3873
+ onAnyValueChanged(name: string, questionName: string): void;
3851
3874
  updateValueFromSurvey(newValue: any): void;
3852
3875
  protected getCommentFromValue(newValue: any): string;
3853
3876
  protected setOtherValueIntoValue(newValue: any): any;
@@ -3912,6 +3935,7 @@ declare module "question_baseselect" {
3912
3935
  isOtherItem(item: ItemValue): boolean;
3913
3936
  get itemSvgIcon(): string;
3914
3937
  getSelectBaseRootCss(): string;
3938
+ protected allowMobileInDesignMode(): boolean;
3915
3939
  getAriaItemLabel(item: ItemValue): string;
3916
3940
  getItemId(item: ItemValue): string;
3917
3941
  get questionName(): string;
@@ -4217,6 +4241,7 @@ declare module "question_expression" {
4217
4241
  set precision(val: number);
4218
4242
  private roundValue;
4219
4243
  protected getValueAsStr(val: any): string;
4244
+ protected convertToCorrectValue(val: any): any;
4220
4245
  }
4221
4246
  export function getCurrecyCodes(): Array<string>;
4222
4247
  }
@@ -4411,6 +4436,7 @@ declare module "dragdrop/dom-adapter" {
4411
4436
  private clear;
4412
4437
  private drop;
4413
4438
  private doStartDrag;
4439
+ private returnUserSelectBack;
4414
4440
  draggedElementShortcut: any;
4415
4441
  rootContainer: HTMLElement;
4416
4442
  startDrag(event: PointerEvent, draggedElement: any, parentElement?: any, draggedElementNode?: HTMLElement, preventSaveTargetNode?: boolean): void;
@@ -5256,7 +5282,7 @@ declare module "question_paneldynamic" {
5256
5282
  private setValueAfterPanelsCreating;
5257
5283
  protected getValueCore(): any;
5258
5284
  protected setValueCore(newValue: any): void;
5259
- protected setIsMobile(val: boolean): void;
5285
+ setIsMobile(val: boolean): void;
5260
5286
  /**
5261
5287
  * The number of panels in Dynamic Panel.
5262
5288
  * @see minPanelCount
@@ -5509,7 +5535,7 @@ declare module "question_paneldynamic" {
5509
5535
  runCondition(values: HashTable<any>, properties: HashTable<any>): void;
5510
5536
  private reRunCondition;
5511
5537
  protected runPanelsCondition(values: HashTable<any>, properties: HashTable<any>): void;
5512
- onAnyValueChanged(name: string): void;
5538
+ onAnyValueChanged(name: string, questionName: string): void;
5513
5539
  private hasKeysDuplicated;
5514
5540
  private updatePanelsContainsErrors;
5515
5541
  hasErrors(fireCallback?: boolean, rec?: any): boolean;
@@ -5699,7 +5725,7 @@ declare module "survey-events-api" {
5699
5725
  */
5700
5726
  allow: boolean;
5701
5727
  /**
5702
- * Obsolete. Use `allow` instead.
5728
+ * Obsolete. Use `options.allow` instead.
5703
5729
  */
5704
5730
  allowComplete: boolean;
5705
5731
  }
@@ -5721,19 +5747,19 @@ declare module "survey-events-api" {
5721
5747
  */
5722
5748
  showSaveInProgress: (text?: string) => void;
5723
5749
  /**
5724
- * Obsolete. Use `showSaveInProgress` instead.
5750
+ * Obsolete. Use `options.showSaveInProgress` instead.
5725
5751
  */
5726
5752
  showDataSaving: (text?: string) => void;
5727
5753
  /**
5728
- * Obsolete. Use `showSaveError` instead.
5754
+ * Obsolete. Use `options.showSaveError` instead.
5729
5755
  */
5730
5756
  showDataSavingError: (text?: string) => void;
5731
5757
  /**
5732
- * Obsolete. Use `showSaveSuccess` instead.
5758
+ * Obsolete. Use `options.showSaveSuccess` instead.
5733
5759
  */
5734
5760
  showDataSavingSuccess: (text?: string) => void;
5735
5761
  /**
5736
- * Obsolete. Use `clearSaveMessages` instead.
5762
+ * Obsolete. Use `options.clearSaveMessages` instead.
5737
5763
  */
5738
5764
  showDataSavingClear: (text?: string) => void;
5739
5765
  }
@@ -5743,7 +5769,7 @@ declare module "survey-events-api" {
5743
5769
  */
5744
5770
  allow: boolean;
5745
5771
  /**
5746
- * Obsolete. Use `allow` instead.
5772
+ * Obsolete. Use `options.allow` instead.
5747
5773
  */
5748
5774
  allowShowPreview: boolean;
5749
5775
  }
@@ -5793,7 +5819,7 @@ declare module "survey-events-api" {
5793
5819
  */
5794
5820
  allow: boolean;
5795
5821
  /**
5796
- * Obsolete. Use `allow` instead.
5822
+ * Obsolete. Use `options.allow` instead.
5797
5823
  */
5798
5824
  allowChanging: boolean;
5799
5825
  }
@@ -5851,11 +5877,11 @@ declare module "survey-events-api" {
5851
5877
  */
5852
5878
  parent: PanelModelBase;
5853
5879
  /**
5854
- * Obsolete. Use `page` instead.
5880
+ * Obsolete. Use `options.page` instead.
5855
5881
  */
5856
5882
  rootPanel: any;
5857
5883
  /**
5858
- * Obsolete. Use `parent` instead.
5884
+ * Obsolete. Use `options.parent` instead.
5859
5885
  */
5860
5886
  parentPanel: any;
5861
5887
  /**
@@ -5933,31 +5959,29 @@ declare module "survey-events-api" {
5933
5959
  }
5934
5960
  export interface ErrorCustomTextEvent {
5935
5961
  /**
5936
- * the error name. The following error names are available:
5937
- * required, requireoneanswer, requirenumeric, exceedsize, webrequest, webrequestempty, otherempty,
5938
- * uploadingfile, requiredinallrowserror, minrowcounterror, keyduplicationerror, custom
5962
+ * A validation error type: `"required"`, `"requireoneanswer"`, `"requirenumeric"`, `"exceedsize"`, `"webrequest"`, `"webrequestempty"`, `"otherempty"`, `"uploadingfile"`, `"requiredinallrowserror"`, `"minrowcounterror"`, `"keyduplicationerror"`, or `"custom"`
5939
5963
  */
5940
5964
  name: string;
5941
5965
  /**
5942
- * an instance of Question, Panel or Survey object to where error is located
5966
+ * A survey element to which the validation error belongs.
5943
5967
  */
5944
5968
  obj: Question | PanelModel | SurveyModel;
5945
5969
  /**
5946
- * an instance of the `SurveyError` object
5970
+ * A validation error.
5947
5971
  */
5948
5972
  error: SurveyError;
5949
5973
  /**
5950
- * an error text
5974
+ * An error message. You can assign a custom message to this parameter.
5951
5975
  */
5952
5976
  text: string;
5953
5977
  }
5954
5978
  export interface ValidatedErrorsOnCurrentPageEvent extends PageEventMixin {
5955
5979
  /**
5956
- * the list of questions that have errors
5980
+ * An array of questions with validation errors.
5957
5981
  */
5958
5982
  questions: Array<Question>;
5959
5983
  /**
5960
- * the list of errors
5984
+ * An array of validation errors.
5961
5985
  */
5962
5986
  errors: Array<SurveyError>;
5963
5987
  }
@@ -6017,23 +6041,23 @@ declare module "survey-events-api" {
6017
6041
  }
6018
6042
  export interface TextProcessingEvent {
6019
6043
  /**
6020
- * a property name is going to be rendered
6044
+ * The name of the property that contains the text to process.
6021
6045
  */
6022
6046
  name: string;
6023
6047
  /**
6024
- * SurveyJS element (a question, panel, page, or survey) where the string is going to be rendered
6048
+ * A survey element (question, panel, page, or survey) in which the text will be rendered.
6025
6049
  */
6026
6050
  element: Question | PanelModel | PageModel | SurveyModel;
6027
6051
  }
6028
6052
  export interface TextMarkdownEvent extends TextProcessingEvent {
6029
6053
  /**
6030
- * an HTML content. It is `null` by default. Use this property to specify the HTML content rendered instead of `options.text`
6054
+ * A string with Markdown content. Convert this content to HTML and assign the result to the `options.html` parameter.
6031
6055
  */
6032
- html?: string;
6056
+ text: string;
6033
6057
  /**
6034
- * a text that is going to be rendered
6058
+ * A property to which you should assign HTML content.
6035
6059
  */
6036
- text: string;
6060
+ html?: string;
6037
6061
  }
6038
6062
  export interface TextRenderAsEvent extends TextProcessingEvent {
6039
6063
  /**
@@ -6130,28 +6154,25 @@ declare module "survey-events-api" {
6130
6154
  }
6131
6155
  export interface LoadChoicesFromServerEvent extends QuestionEventMixin {
6132
6156
  /**
6133
- * a result that comes from the server as it is
6157
+ * A query result as it came from the server.
6134
6158
  */
6135
6159
  serverResult: any;
6136
6160
  /**
6137
- * the loaded choices. You can change the loaded choices to before they are assigned to question
6161
+ * An array of loaded choices. You can modify this array.
6138
6162
  */
6139
6163
  choices: Array<ItemValue>;
6140
6164
  }
6141
6165
  export interface ProcessTextValueEvent {
6142
6166
  /**
6143
- * the value of the processing text
6167
+ * The name of the value being processed (the text in curly brackets).
6144
6168
  */
6145
- value: any;
6169
+ name: string;
6146
6170
  /**
6147
- * a boolean value. Set it to `true` if you want to use the value and set it to `false` if you don't
6171
+ * The value being processed. You can change this parameter's value.
6148
6172
  */
6173
+ value: any;
6149
6174
  isExists: boolean;
6150
6175
  canProcess: boolean;
6151
- /**
6152
- * the name of the processing value, for example, "state" in our example
6153
- */
6154
- name: string;
6155
6176
  returnDisplayValue: boolean;
6156
6177
  }
6157
6178
  export interface UpdateQuestionCssClassesEvent extends QuestionEventMixin, UpdateElementCssClassesEventMixin {
@@ -6192,13 +6213,13 @@ declare module "survey-events-api" {
6192
6213
  }
6193
6214
  export interface ShowingChoiceItemEvent extends QuestionEventMixin {
6194
6215
  /**
6195
- * A Boolean value that specifies item visibility. Set it to `false` to hide the item.
6216
+ * A choice item.
6196
6217
  */
6197
- visible: boolean;
6218
+ item: ItemValue;
6198
6219
  /**
6199
- * The choice item as specified in the [choices](https://surveyjs.io/Documentation/Library?id=QuestionSelectBase#choices) array.
6220
+ * A Boolean value that specifies item visibility. Set it to `false` to hide the item.
6200
6221
  */
6201
- item: ItemValue;
6222
+ visible: boolean;
6202
6223
  }
6203
6224
  export interface ChoicesLazyLoadEvent extends QuestionEventMixin {
6204
6225
  /**
@@ -6245,7 +6266,7 @@ declare module "survey-events-api" {
6245
6266
  */
6246
6267
  allow: boolean;
6247
6268
  /**
6248
- * Obsolete. Use `allow` instead.
6269
+ * Obsolete. Use `options.allow` instead.
6249
6270
  */
6250
6271
  canAddRow: boolean;
6251
6272
  }
@@ -6438,62 +6459,65 @@ declare module "survey-events-api" {
6438
6459
  }
6439
6460
  export interface IsAnswerCorrectEvent extends QuestionEventMixin {
6440
6461
  /**
6441
- * you may change the default number of correct or incorrect answers in the question, for example for matrix, where each row is a quiz question
6462
+ * The number of correct answers in a matrix where each row is considered as one quiz question.
6442
6463
  */
6443
6464
  correctAnswers: number;
6465
+ /**
6466
+ * The number of incorrect answers in a matrix where each row is considered as one quiz question.
6467
+ */
6444
6468
  incorrectAnswers: number;
6445
6469
  /**
6446
- * returns `true`, if an answer is correct, or `false`, if the answer is not correct. Use questions' `value` and `correctAnswer` properties to return the correct value
6470
+ * A Boolean property that specifies whether the answer is correct (`true`) or incorrect (`false`). Use the `options.question.value` and `options.question.correctAnswer` properties to check the answer.
6447
6471
  */
6448
6472
  result: boolean;
6449
6473
  }
6450
6474
  export interface DragDropAllowEvent {
6451
6475
  /**
6452
- * an element after the target element is dragging. It can be `null` if parent container (page or panel) is empty or dragging element to the first position within the parent container
6476
+ * A survey element being dragged.
6453
6477
  */
6454
- insertAfter: IElement;
6478
+ target: IElement;
6455
6479
  /**
6456
- * an element before the target element is dragging. It can be `null` if parent container (page or panel) is empty or dragging an element after the last element in a container
6480
+ * A survey element from which `target` is being dragged. This parameter is `null` if `target` is being dragged from the [Toolbox](https://surveyjs.io/survey-creator/documentation/toolbox).
6457
6481
  */
6458
- insertBefore: IElement;
6482
+ source: IElement;
6459
6483
  /**
6460
- * a page or panel where target element is dragging
6484
+ * A survey element before which the target element will be placed. This parameter is `null` if the parent container (page or panel) has no elements or if the target element will be placed below all other elements within the container.
6461
6485
  */
6462
- parent: ISurveyElement;
6486
+ insertBefore: IElement;
6463
6487
  /**
6464
- * a source element. It can be `null`, if it is a new element, dragging from toolbox
6488
+ * A survey element after which `target` will be placed. This parameter is `null` if the parent container (page or panel) has no elements or if `target` will be placed above all other elements within the container.
6465
6489
  */
6466
- source: IElement;
6490
+ insertAfter: IElement;
6467
6491
  /**
6468
- * a target element that is dragged
6492
+ * A parent container (page or panel) within which `target` will be placed.
6469
6493
  */
6470
- target: IElement;
6494
+ parent: ISurveyElement;
6471
6495
  /**
6472
- * set it to `false` to disable dragging
6496
+ * A Boolean property that you can set to `false` if you want to cancel the drag and drop operation.
6473
6497
  */
6474
6498
  allow: boolean;
6475
6499
  }
6476
6500
  export interface ScrollingElementToTopEvent {
6477
6501
  /**
6478
- * an element that is going to be scrolled on top
6502
+ * A survey element that will be scrolled to the top.
6479
6503
  */
6480
6504
  element: ISurveyElement;
6481
6505
  /**
6482
- * a question that is going to be scrolled on top. It can be null if options.page is not null
6506
+ * A unique element ID within the DOM.
6483
6507
  */
6484
- question?: Question;
6508
+ elementId: string;
6485
6509
  /**
6486
- * a page that is going to be scrolled on top. It can be null if options.question is not null
6510
+ * A Boolean property that you can set to `true` if you want to cancel the scroll operation.
6487
6511
  */
6488
- page?: PageModel;
6512
+ cancel: boolean;
6489
6513
  /**
6490
- * set this property to true to cancel the default scrolling
6514
+ * Obsolete. Use `options.element` instead.
6491
6515
  */
6492
- cancel: boolean;
6516
+ question?: Question;
6493
6517
  /**
6494
- * the unique element DOM Id
6518
+ * Obsolete. Use `options.element` instead.
6495
6519
  */
6496
- elementId: string;
6520
+ page?: PageModel;
6497
6521
  }
6498
6522
  export interface GetQuestionTitleActionsEvent extends QuestionEventMixin, GetTitleActionsEventMixin {
6499
6523
  }
@@ -6515,7 +6539,7 @@ declare module "survey-events-api" {
6515
6539
  }
6516
6540
  export interface ElementContentVisibilityChangedEvent {
6517
6541
  /**
6518
- * Specifies which survey element content was collapsed or expanded
6542
+ * A survey element that was expanded or collapsed.
6519
6543
  */
6520
6544
  element: ISurveyElement;
6521
6545
  }
@@ -6527,7 +6551,7 @@ declare module "survey-events-api" {
6527
6551
  }
6528
6552
  export interface GetExpressionDisplayValueEvent extends GetQuestionDisplayValueEvent {
6529
6553
  /**
6530
- * The question value
6554
+ * An expression value.
6531
6555
  */
6532
6556
  value: any;
6533
6557
  }
@@ -6605,6 +6629,7 @@ declare module "page" {
6605
6629
  set navigationDescription(val: string);
6606
6630
  get locNavigationDescription(): LocalizableString;
6607
6631
  navigationLocStrChanged(): void;
6632
+ get renderedNavigationTitle(): string;
6608
6633
  get passed(): boolean;
6609
6634
  set passed(val: boolean);
6610
6635
  protected removeFromParent(): void;
@@ -6946,7 +6971,7 @@ declare module "question_textbase" {
6946
6971
  getType(): string;
6947
6972
  isEmpty(): boolean;
6948
6973
  /**
6949
- * Gets or sets a value that specifies when to update the question value.
6974
+ * Specifies when to update the question value.
6950
6975
  *
6951
6976
  * Possible values:
6952
6977
  *
@@ -6969,21 +6994,12 @@ declare module "question_textbase" {
6969
6994
  protected hasPlaceholder(): boolean;
6970
6995
  protected setNewValue(newValue: any): void;
6971
6996
  protected setQuestionValue(newValue: any, updateIsAnswered?: boolean): void;
6997
+ protected convertToCorrectValue(val: any): any;
6998
+ protected getValueSeparator(): string;
6972
6999
  disableNativeUndoRedo: boolean;
6973
7000
  protected checkForUndo(event: KeyboardEvent): void;
6974
7001
  getControlClass(): string;
6975
- get ariaRole(): string;
6976
- get ariaRequired(): any;
6977
- get ariaInvalid(): any;
6978
- get ariaLabel(): string;
6979
- get ariaLabelledBy(): string;
6980
- get ariaDescribedBy(): string;
6981
- get a11y_input_ariaRole(): string;
6982
- get a11y_input_ariaRequired(): "true" | "false";
6983
- get a11y_input_ariaInvalid(): "true" | "false";
6984
- get a11y_input_ariaLabel(): string;
6985
- get a11y_input_ariaLabelledBy(): string;
6986
- get a11y_input_ariaDescribedBy(): string;
7002
+ get isNewA11yStructure(): boolean;
6987
7003
  }
6988
7004
  }
6989
7005
  declare module "question_text" {
@@ -7337,6 +7353,7 @@ declare module "question_multipletext" {
7337
7353
  protected getIsAnswered(): boolean;
7338
7354
  getProgressInfo(): IProgressInfo;
7339
7355
  protected getDisplayValueCore(keysAsText: boolean, value: any): any;
7356
+ protected allowMobileInDesignMode(): boolean;
7340
7357
  getMultipleTextValue(name: string): any;
7341
7358
  setMultipleTextValue(name: string, value: any): void;
7342
7359
  getItemDefaultValue(name: string): any;
@@ -7381,14 +7398,16 @@ declare module "themes" {
7381
7398
  export type ImageFit = "auto" | "contain" | "cover";
7382
7399
  export type ImageAttachment = "fixed" | "scroll";
7383
7400
  export interface ITheme {
7384
- cssVariables?: {
7385
- [index: string]: string;
7386
- };
7401
+ themeName?: string;
7402
+ colorPalette?: string;
7403
+ isPanelless?: boolean;
7387
7404
  backgroundImage?: string;
7388
7405
  backgroundImageFit?: ImageFit;
7389
7406
  backgroundImageAttachment?: ImageAttachment;
7390
7407
  backgroundOpacity?: number;
7391
- isPanelless?: boolean;
7408
+ cssVariables?: {
7409
+ [index: string]: string;
7410
+ };
7392
7411
  }
7393
7412
  }
7394
7413
  declare module "survey" {
@@ -7452,7 +7471,6 @@ declare module "survey" {
7452
7471
  private valuesHash;
7453
7472
  private variablesHash;
7454
7473
  private editingObjValue;
7455
- private textPreProcessor;
7456
7474
  private timerModelValue;
7457
7475
  private navigationBarValue;
7458
7476
  onThemeApplying: EventBase<SurveyModel>;
@@ -7657,7 +7675,7 @@ declare module "survey" {
7657
7675
  */
7658
7676
  onValidateQuestion: EventBase<SurveyModel, ValidateQuestionEvent>;
7659
7677
  /**
7660
- * An event that is raised before errors are assigned to a question. You may add/remove/modify errors for a question.
7678
+ * An event that is raised before errors are assigned to a question. Use this event to add/remove/modify errors.
7661
7679
  * @see onValidateQuestion
7662
7680
  */
7663
7681
  onSettingQuestionErrors: EventBase<SurveyModel, SettingQuestionErrorsEvent>;
@@ -7669,6 +7687,7 @@ declare module "survey" {
7669
7687
  * [View Demo](https://surveyjs.io/form-library/examples/javascript-server-side-form-validation/ (linkStyle))
7670
7688
  * @see onValidateQuestion
7671
7689
  * @see onValidatePanel
7690
+ * @see isValidatingOnServer
7672
7691
  */
7673
7692
  onServerValidateQuestions: EventBase<SurveyModel, ServerValidateQuestionsEvent>;
7674
7693
  /**
@@ -7682,11 +7701,11 @@ declare module "survey" {
7682
7701
  */
7683
7702
  onValidatePanel: EventBase<SurveyModel, ValidatePanelEvent>;
7684
7703
  /**
7685
- * Use the event to change the default error text.
7704
+ * An event that is raised to change default error messages.
7686
7705
  */
7687
7706
  onErrorCustomText: EventBase<SurveyModel, ErrorCustomTextEvent>;
7688
7707
  /**
7689
- * Use the this event to be notified when the survey finished validate questions on the current page. It commonly happens when a user try to go to the next page or complete the survey
7708
+ * An event that is raised when the [current page](#currentPage) is being validated. Handle this event to be notified of current page validation.
7690
7709
  */
7691
7710
  onValidatedErrorsOnCurrentPage: EventBase<SurveyModel, ValidatedErrorsOnCurrentPageEvent>;
7692
7711
  /**
@@ -7736,16 +7755,13 @@ declare module "survey" {
7736
7755
  */
7737
7756
  onProgressText: EventBase<SurveyModel, ProgressTextEvent>;
7738
7757
  /**
7739
- * Use this event to process the markdown text.
7758
+ * An event that is raised to convert Markdown content to HTML.
7740
7759
  *
7741
7760
  * For information on event handler parameters, refer to descriptions within the interface.
7742
7761
  *
7743
7762
  * [View Demo](https://surveyjs.io/form-library/examples/edit-survey-questions-markdown/ (linkStyle))
7744
7763
  */
7745
7764
  onTextMarkdown: EventBase<SurveyModel, TextMarkdownEvent>;
7746
- /**
7747
- * Use this event to specity render component name used for text rendering.
7748
- */
7749
7765
  onTextRenderAs: EventBase<SurveyModel, TextRenderAsEvent>;
7750
7766
  /**
7751
7767
  * An event that is raised after a request to save survey results on [SurveyJS Service](https://api.surveyjs.io/) has been completed. Use this event to find out if the results have been saved successfully.
@@ -7790,21 +7806,18 @@ declare module "survey" {
7790
7806
  */
7791
7807
  onClearFiles: EventBase<SurveyModel, ClearFilesEvent>;
7792
7808
  /**
7793
- * An event that is raised after choices for radiogroup, checkbox, and dropdown has been loaded from a RESTful service and before they are assigned to a question.
7794
- * You may change the choices, before they are assigned or disable/enabled make visible/invisible question, based on loaded results.
7809
+ * An event that is raised after choices are loaded from a server but before they are assigned to a choice-based question, such as [Dropdown](https://surveyjs.io/form-library/documentation/api-reference/dropdown-menu-model) or [Checkboxes](https://surveyjs.io/form-library/documentation/api-reference/checkbox-question-model). Handle this event if you need to modify the loaded choices.
7795
7810
  */
7796
7811
  onLoadChoicesFromServer: EventBase<SurveyModel, LoadChoicesFromServerEvent>;
7797
7812
  /**
7798
- * An event that is raised after survey is loaded from api.surveyjs.io service.
7799
- * You can use this event to perform manipulation with the survey model after it was loaded from the web service.
7813
+ * An event that is raised after a survey JSON schema is loaded from the [SurveyJS Service](https://api.surveyjs.io). Use this event to modify the loaded schema.
7800
7814
  * @see surveyId
7815
+ * @see clientId
7801
7816
  * @see loadSurveyFromService
7802
7817
  */
7803
7818
  onLoadedSurveyFromService: EventBase<SurveyModel, {}>;
7804
7819
  /**
7805
- * An event that is raised on processing the text when it finds a text in brackets: `{somevalue}`. By default, it uses the value of survey question values and variables.
7806
- * For example, you may use the text processing in loading choices from the web. If your `choicesByUrl.url` equals to "UrlToServiceToGetAllCities/{country}/{state}",
7807
- * you may set on this event `options.value` to "all" or empty string when the "state" value/question is non selected by a user.
7820
+ * An event that is raised when the survey processes [dynamic texts](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#dynamic-texts) and any text in curly brackets. Use this event, for instance, to substitute parameters in a RESTful URL with real values when you [load choices by URL](https://surveyjs.io/form-library/documentation/api-reference/checkbox-question-model#choicesByUrl).
7808
7821
  */
7809
7822
  onProcessTextValue: EventBase<SurveyModel, ProcessTextValueEvent>;
7810
7823
  /**
@@ -7899,7 +7912,7 @@ declare module "survey" {
7899
7912
  */
7900
7913
  onFocusInPanel: EventBase<SurveyModel, FocusInPanelEvent>;
7901
7914
  /**
7902
- * Use this event to change the visibility of an individual choice item in [Checkbox](https://surveyjs.io/Documentation/Library?id=questioncheckboxmodel), [Dropdown](https://surveyjs.io/Documentation/Library?id=questiondropdownmodel), [Radiogroup](https://surveyjs.io/Documentation/Library?id=questionradiogroupmodel), and other similar question types.
7915
+ * An event that is raised before a [choice item](https://surveyjs.io/form-library/documentation/api-reference/questionselectbase#choices) is displayed. Use this event to change the visibility of individual choice items in [Checkboxes](https://surveyjs.io/form-library/documentation/api-reference/checkbox-question-model), [Dropdown](https://surveyjs.io/form-library/documentation/api-reference/dropdown-menu-model), [Radio Button Group](https://surveyjs.io/form-library/documentation/api-reference/radio-button-question-model), and other similar question types.
7903
7916
  */
7904
7917
  onShowingChoiceItem: EventBase<SurveyModel, ShowingChoiceItemEvent>;
7905
7918
  /**
@@ -8028,19 +8041,16 @@ declare module "survey" {
8028
8041
  */
8029
8042
  onGetDynamicPanelTabTitle: EventBase<SurveyModel, DynamicPanelGetTabTitleEvent>;
8030
8043
  /**
8031
- * Use this event to define, whether an answer to a question is correct or not.
8032
- * @see Question.value
8033
- * @see Question.correctAnswer
8044
+ * An event that is raised to define whether a question answer is correct. Applies only to [quiz surveys](https://surveyjs.io/form-library/documentation/design-survey/create-a-quiz).
8034
8045
  */
8035
8046
  onIsAnswerCorrect: EventBase<SurveyModel, IsAnswerCorrectEvent>;
8036
8047
  /**
8037
- * Use this event to control drag&drop operations during design mode.
8038
- * @see setDesignMode
8048
+ * An event that is raised when users drag and drop survey elements while designing the survey in [Survey Creator](https://surveyjs.io/survey-creator/documentation/overview). Use this event to control drag and drop operations.
8039
8049
  * @see isDesignMode
8040
8050
  */
8041
8051
  onDragDropAllow: EventBase<SurveyModel, DragDropAllowEvent>;
8042
8052
  /**
8043
- * Use this event to control scrolling element to top. You can cancel the default behavior by setting options.cancel property to true.
8053
+ * An event this is raised before a survey element (usually page) is scrolled to the top. Use this event to cancel the scroll operation.
8044
8054
  */
8045
8055
  onScrollingElementToTop: EventBase<SurveyModel, ScrollingElementToTopEvent>;
8046
8056
  onLocaleChangedEvent: EventBase<SurveyModel, {}>;
@@ -8078,12 +8088,11 @@ declare module "survey" {
8078
8088
  */
8079
8089
  onGetMatrixRowActions: EventBase<SurveyModel, GetMatrixRowActionsEvent>;
8080
8090
  /**
8081
- * An event that is raised after the survey element content was collapsed or expanded.
8082
- * @see onElementContentVisibilityChanged
8091
+ * An event that is raised after a survey element is [expanded or collapsed](https://surveyjs.io/form-library/documentation/api-reference/question#state).
8083
8092
  */
8084
8093
  onElementContentVisibilityChanged: EventBase<SurveyModel, ElementContentVisibilityChangedEvent>;
8085
8094
  /**
8086
- * An event that is raised before expression question convert it's value into display value for rendering.
8095
+ * An event that is raised before an [Expression](https://surveyjs.io/form-library/documentation/api-reference/expression-model) question displays a value. Use this event to override the display value.
8087
8096
  */
8088
8097
  onGetExpressionDisplayValue: EventBase<SurveyModel, GetExpressionDisplayValueEvent>;
8089
8098
  /**
@@ -8095,8 +8104,8 @@ declare module "survey" {
8095
8104
  protected createTryAgainAction(): IAction;
8096
8105
  private createHtmlLocString;
8097
8106
  /**
8098
- * The list of errors on loading survey JSON. If the list is empty after loading a JSON, then the JSON is correct and has no errors.
8099
- * @see JsonError
8107
+ * A list of errors in a survey JSON schema.
8108
+ * @see ensureUniqueNames
8100
8109
  */
8101
8110
  jsonErrors: Array<JsonError>;
8102
8111
  getType(): string;
@@ -8143,11 +8152,15 @@ declare module "survey" {
8143
8152
  showBrandInfo: boolean;
8144
8153
  enterKeyAction: "moveToNextEditor" | "loseFocus" | "default";
8145
8154
  /**
8146
- * By default all rows are rendered no matters if they are visible or not.
8147
- * Set it true, and survey markup rows will be rendered only if they are visible in viewport.
8148
- * This feature is experimantal and might do not support all the use cases.
8155
+ * Specifies whether to enable lazy rendering.
8156
+ *
8157
+ * In default mode, a survey renders the entire current page. With lazy rendering, the survey renders the page gradually as a user scrolls it. This helps reduce survey startup time and oprimizes large surveys for low-end devices.
8158
+ *
8159
+ * Default value: `false`
8149
8160
  *
8150
8161
  * [View Demo](https://surveyjs.io/form-library/examples/survey-lazy/ (linkStyle))
8162
+ *
8163
+ * > This is an experimental feature that may not work properly in certain cases.
8151
8164
  */
8152
8165
  get lazyRendering(): boolean;
8153
8166
  set lazyRendering(val: boolean);
@@ -8197,7 +8210,7 @@ declare module "survey" {
8197
8210
  * A cookie name used to save information about survey completion.
8198
8211
  *
8199
8212
  * When this property has a value, the survey creates a cookie with the specified name on completion. This cookie helps ensure that users do not pass the same survey twice. On the second run, they will see the [Completed Before page](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#completedBeforeHtml).
8200
- * @see cliendId
8213
+ * @see clientId
8201
8214
  */
8202
8215
  get cookieName(): string;
8203
8216
  set cookieName(val: string);
@@ -8209,7 +8222,9 @@ declare module "survey" {
8209
8222
  get sendResultOnPageNext(): boolean;
8210
8223
  set sendResultOnPageNext(val: boolean);
8211
8224
  /**
8212
- * Gets or sets whether to show the progress on saving/sending data into the [api.surveyjs.io](https://api.surveyjs.io) service.
8225
+ * Specifies whether to show progress when the survey sends data to [SurveyJS Service](https://api.surveyjs.io).
8226
+ *
8227
+ * [View Demo](https://surveyjs.io/form-library/examples/save-survey-results-and-load-surveys-from-surveyjs-service/ (linkStyle))
8213
8228
  * @see surveyPostId
8214
8229
  */
8215
8230
  get surveyShowDataSaving(): boolean;
@@ -8315,20 +8330,24 @@ declare module "survey" {
8315
8330
  getNavigateToUrl(): string;
8316
8331
  private navigateTo;
8317
8332
  /**
8318
- * Gets or sets the required question mark. The required question mark is a char or string that is rendered in the required questions' titles.
8319
- * @see Question.title
8333
+ * Specifies one or multiple characters that designate required questions.
8334
+ *
8335
+ * Default value: `*`
8320
8336
  *
8321
- * [View Demo](https://surveyjs.io/form-library/examples/survey-processtext/ (linkStyle))
8337
+ * [View Demo](https://surveyjs.io/form-library/examples/modify-question-title/ (linkStyle))
8322
8338
  */
8323
8339
  get requiredText(): string;
8324
8340
  set requiredText(val: string);
8325
8341
  /**
8326
- * Gets or sets whether to hide all required errors.
8342
+ * Specifies whether to hide validation errors thrown by the Required validation in the UI.
8343
+ *
8344
+ * [Built-In Client-Side Validators](https://surveyjs.io/form-library/documentation/data-validation#built-in-client-side-validators (linkStyle))
8345
+ * @see ignoreValidation
8327
8346
  */
8328
8347
  hideRequiredErrors: boolean;
8329
8348
  beforeSettingQuestionErrors(question: Question, errors: Array<SurveyError>): void;
8330
8349
  beforeSettingPanelErrors(question: IPanel, errors: Array<SurveyError>): void;
8331
- private maakeRequiredErrorsInvisibgle;
8350
+ private makeRequiredErrorsInvisible;
8332
8351
  /**
8333
8352
  * Specifies the initial number or letter from which to start question numbering.
8334
8353
  *
@@ -8418,14 +8437,16 @@ declare module "survey" {
8418
8437
  get allowResizeComment(): boolean;
8419
8438
  set allowResizeComment(val: boolean);
8420
8439
  /**
8421
- * Gets or sets a value that specifies how the survey updates its questions' text values.
8440
+ * Specifies when to update the question value in questions with a text input field.
8422
8441
  *
8423
- * The following options are available:
8442
+ * Possible values:
8443
+ *
8444
+ * - `"onBlur"` (default) - Updates the value after the input field loses focus.
8445
+ * - `"onTyping"` - Updates the value on every key press.
8424
8446
  *
8425
- * - `onBlur` (default) - the value is updated after an input loses the focus.
8426
- * - `onTyping` - update the value of text questions, "text" and "comment", on every key press.
8447
+ * > Do not use the `"onTyping"` mode if your survey contains many expressions. Expressions are reevaluated each time a question value is changed. In `"onTyping"` mode, the question value changes frequently. This may cause performance degradation.
8427
8448
  *
8428
- * Note, that setting to "onTyping" may lead to a performance degradation, in case you have many expressions in the survey.
8449
+ * You can override this setting for individual questions: [`textUpdateMode`](https://surveyjs.io/form-library/documentation/api-reference/text-entry-question-model#textUpdateMode).
8429
8450
  */
8430
8451
  get textUpdateMode(): string;
8431
8452
  set textUpdateMode(val: string);
@@ -8592,7 +8613,7 @@ declare module "survey" {
8592
8613
  };
8593
8614
  _isMobile: boolean;
8594
8615
  setIsMobile(newVal?: boolean): void;
8595
- private get isMobile();
8616
+ get isMobile(): boolean;
8596
8617
  private _isCompact;
8597
8618
  private set isCompact(value);
8598
8619
  private get isCompact();
@@ -8638,13 +8659,13 @@ declare module "survey" {
8638
8659
  get completedHtmlOnCondition(): Array<HtmlConditionItem>;
8639
8660
  set completedHtmlOnCondition(val: Array<HtmlConditionItem>);
8640
8661
  /**
8641
- * Calculates a given expression and returns a result value.
8642
- * @param expression
8662
+ * Calculates a given [expression](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#expressions) and returns a result value.
8663
+ * @param expression An expression to calculate.
8643
8664
  */
8644
8665
  runExpression(expression: string): any;
8645
8666
  /**
8646
- * Calculates a given expression and returns `true` or `false`.
8647
- * @param expression
8667
+ * Calculates a given [expression](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#expressions) and returns `true` or `false`.
8668
+ * @param expression An expression to calculate.
8648
8669
  */
8649
8670
  runCondition(expression: string): boolean;
8650
8671
  /**
@@ -8657,9 +8678,7 @@ declare module "survey" {
8657
8678
  get renderedCompletedHtml(): string;
8658
8679
  private getExpressionItemOnRunCondition;
8659
8680
  /**
8660
- * HTML content displayed to a user who has completed the survey before.
8661
- * @see clientId
8662
- * @see cookieName
8681
+ * HTML content displayed to a user who has completed the survey before. To identify such users, the survey uses a [cookie name](#cookieName) or [client ID](#clientId).
8663
8682
  * @see processedCompletedBeforeHtml
8664
8683
  */
8665
8684
  get completedBeforeHtml(): string;
@@ -8768,31 +8787,34 @@ declare module "survey" {
8768
8787
  get showQuestionNumbers(): string | boolean;
8769
8788
  set showQuestionNumbers(value: string | boolean);
8770
8789
  /**
8771
- * Gets or sets the survey progress bar position.
8790
+ * Controls the visibility of the progress bar and specifies its position.
8772
8791
  *
8773
- * The following options are available:
8792
+ * Possible values:
8774
8793
  *
8775
- * - `off` (default) - don't show progress bar
8776
- * - `top` - show progress bar in the top
8777
- * - `bottom` - show progress bar in the bottom
8778
- * - `both` - show progress bar in both sides: top and bottom.
8794
+ * - `"off"` (default) - Hides the progress bar.
8795
+ * - `"top"` - Displays the progress bar above survey content.
8796
+ * - `"bottom"` - Displays the progress bar below survey content.
8797
+ * - `"both"` - Displays the progress bar above and below survey content.
8779
8798
  *
8780
8799
  * [View Demo](https://surveyjs.io/form-library/examples/navigation-default/ (linkStyle))
8800
+ * @see progressBarType
8801
+ * @see progressValue
8781
8802
  */
8782
8803
  get showProgressBar(): string;
8783
8804
  set showProgressBar(newValue: string);
8784
8805
  /**
8785
- * Gets or sets the type of info in the progress bar.
8806
+ * Specifies the type of information displayed by the progress bar. Applies only when [`showProgressBar`](#showProgressBar) is not `"off"`.
8786
8807
  *
8787
- * The following options are available:
8808
+ * Possible values:
8788
8809
  *
8789
- * - `pages` (default),
8790
- * - `questions`,
8791
- * - `requiredQuestions`,
8792
- * - `correctQuestions`,
8793
- * - `buttons`
8810
+ * - `"pages"` (default) - The number of completed pages.
8811
+ * - `"questions"` - The number of answered questions.
8812
+ * - `"requiredQuestions"` - The number of answered [required questions](https://surveyjs.io/form-library/documentation/api-reference/question#isRequired).
8813
+ * - `"correctQuestions"` - The number of correct questions in a [quiz](https://surveyjs.io/form-library/documentation/design-survey/create-a-quiz).
8814
+ * - `"buttons"` - Adds jump links to the progress bar.
8794
8815
  *
8795
8816
  * [View Demo](https://surveyjs.io/form-library/examples/navigation-buttons/ (linkStyle))
8817
+ * @see progressValue
8796
8818
  */
8797
8819
  get progressBarType(): string;
8798
8820
  set progressBarType(newValue: string);
@@ -8838,12 +8860,12 @@ declare module "survey" {
8838
8860
  get questionDescriptionLocation(): string;
8839
8861
  set questionDescriptionLocation(value: string);
8840
8862
  /**
8841
- * Gets or sets the survey edit mode.
8863
+ * Specifies whether users can take the survey or only view it.
8842
8864
  *
8843
- * The following options are available:
8865
+ * Possible values:
8844
8866
  *
8845
- * - `edit` (default) - make a survey editable,
8846
- * - `display` - make a survey read-only.
8867
+ * - `"edit"` (default) - Allows users to take the survey.
8868
+ * - `"display"` - Makes the survey read-only.
8847
8869
  *
8848
8870
  * [View Demo](https://surveyjs.io/form-library/examples/survey-displaymode/ (linkStyle))
8849
8871
  */
@@ -8924,7 +8946,8 @@ declare module "survey" {
8924
8946
  get visiblePages(): Array<PageModel>;
8925
8947
  private isPageInVisibleList;
8926
8948
  /**
8927
- * Returns `true` if the survey contains no pages. The survey is empty.
8949
+ * Returns `true` if the survey contains zero pages.
8950
+ * @see emptySurveyText
8928
8951
  */
8929
8952
  get isEmpty(): boolean;
8930
8953
  get PageCount(): number;
@@ -8990,9 +9013,6 @@ declare module "survey" {
8990
9013
  */
8991
9014
  get matrixDragHandleArea(): string;
8992
9015
  set matrixDragHandleArea(val: string);
8993
- /**
8994
- * Survey is showing a page right now. It is in "running", "preview" or starting state.
8995
- */
8996
9016
  get isShowingPage(): boolean;
8997
9017
  private updateActivePage;
8998
9018
  private onStateAndCurrentPageChanged;
@@ -9067,57 +9087,31 @@ declare module "survey" {
9067
9087
  protected currentPageChanging(newValue: PageModel, oldValue: PageModel): boolean;
9068
9088
  protected currentPageChanged(newValue: PageModel, oldValue: PageModel): void;
9069
9089
  private createPageChangeEventOptions;
9070
- /**
9071
- * Returns the progress that a user made while going through the survey.
9072
- * It depends from progressBarType property
9073
- * @see progressBarType
9074
- * @see progressValue
9075
- */
9076
9090
  getProgress(): number;
9077
9091
  /**
9078
- * Returns the progress that a user made while going through the survey.
9079
- * It depends from progressBarType property
9092
+ * Returns a percentage value that indicates user progress in the survey.
9093
+ * @see showProgressBar
9080
9094
  * @see progressBarType
9095
+ * @see progressText
9081
9096
  */
9082
9097
  get progressValue(): number;
9083
- /**
9084
- * Returns the navigation buttons (i.e., 'Prev', 'Next', or 'Complete' and 'Preview') position.
9085
- */
9086
9098
  get isNavigationButtonsShowing(): string;
9087
- /**
9088
- * Returns true if the navigation buttons (i.e., 'Prev', 'Next', or 'Complete' and 'Preview') are shows on top.
9089
- */
9090
9099
  get isNavigationButtonsShowingOnTop(): boolean;
9091
- /**
9092
- * Returns true if the navigation buttons (i.e., 'Prev', 'Next', or 'Complete' and 'Preview') are shows on bottom.
9093
- */
9094
9100
  get isNavigationButtonsShowingOnBottom(): boolean;
9095
9101
  private getIsNavigationButtonsShowingOn;
9096
- /**
9097
- * Returns `true` if the survey is in edit mode.
9098
- * @see mode
9099
- */
9100
9102
  get isEditMode(): boolean;
9101
- /**
9102
- * Returns `true` if the survey is in display mode or in preview mode.
9103
- * @see mode
9104
- * @see showPreviewBeforeComplete
9105
- */
9106
9103
  get isDisplayMode(): boolean;
9107
9104
  get isUpdateValueTextOnTyping(): boolean;
9108
9105
  /**
9109
- * Returns `true` if the survey is in design mode. It is used by SurveyJS Editor.
9110
- * @see setDesignMode
9106
+ * Indicates whether the survey is being designed in [Survey Creator](https://surveyjs.io/survey-creator/documentation/overview).
9111
9107
  */
9112
9108
  get isDesignMode(): boolean;
9113
9109
  private _isDesignMode;
9114
- /**
9115
- * Sets the survey into design mode.
9116
- * @param value use true to set the survey into the design mode.
9117
- */
9118
9110
  setDesignMode(value: boolean): void;
9119
9111
  /**
9120
- * Gets or sets whether to show all elements in the survey, regardless their visibility. The default value is `false`.
9112
+ * Specifies whether to show all survey elements, regardless of their visibility.
9113
+ *
9114
+ * Default value: `false`
9121
9115
  */
9122
9116
  get showInvisibleElements(): boolean;
9123
9117
  set showInvisibleElements(val: boolean);
@@ -9144,20 +9138,21 @@ declare module "survey" {
9144
9138
  */
9145
9139
  deleteCookie(): void;
9146
9140
  /**
9147
- * Gets or sets whether the survey must ignore validation like required questions and others, on `nextPage` and `completeLastPage` function calls. The default is `false`.
9141
+ * Specifies whether to skip validation when you switch between pages or complete the survey programmatically or when users do that in the UI.
9142
+ *
9143
+ * Default value: `false`
9144
+ * @see hideRequiredErrors
9148
9145
  * @see nextPage
9146
+ * @see isPrevPage
9149
9147
  * @see completeLastPage
9150
- * @see mode
9151
9148
  */
9152
9149
  ignoreValidation: boolean;
9153
9150
  /**
9154
- * Navigates user to the next page.
9155
- *
9156
- * Returns `false` in the following cases:
9151
+ * Switches the survey to the next page.
9157
9152
  *
9158
- * - if the current page is the last page.
9159
- * - if the current page contains errors (for example, a required question is empty).
9160
- * @see isCurrentPageValid
9153
+ * This method returns a Boolean value that indicates whether the page was successfully switched. `false` is returned if the current page is the last page or if it contains validation errors.
9154
+ * @returns `true` if the page was successfully switched; `false` otherwise.
9155
+ * @see isLastPage
9161
9156
  * @see prevPage
9162
9157
  * @see completeLastPage
9163
9158
  */
@@ -9207,12 +9202,6 @@ declare module "survey" {
9207
9202
  * @see validatePage
9208
9203
  */
9209
9204
  validate(fireCallback?: boolean, focusOnFirstError?: boolean, onAsyncValidation?: (hasErrors: boolean) => void): boolean;
9210
- /**
9211
- * Checks whether survey elements (pages, panels, and questions) have unique question names.
9212
- * You can check for unique names for individual page and panel (and all their elements) or a question.
9213
- * If the parameter is not specified, then a survey checks that all its elements have unique names.
9214
- * @param element page, panel or question, it is `null` by default, that means all survey elements will be checked
9215
- */
9216
9205
  ensureUniqueNames(element?: ISurveyElement): void;
9217
9206
  private ensureUniqueName;
9218
9207
  private ensureUniquePageName;
@@ -9224,8 +9213,12 @@ declare module "survey" {
9224
9213
  private checkIsPageHasErrors;
9225
9214
  private fireValidatedErrorsOnPage;
9226
9215
  /**
9227
- * Navigates user to a previous page. If the current page is the first page, `prevPage` returns `false`. `prevPage` does not perform any checks, required questions can be empty.
9216
+ * Switches the survey to the previous page.
9217
+ *
9218
+ * This method returns a Boolean value that indicates whether the page was successfully switched. `false` is returned if the current page is the first page.
9219
+ * @returns `true` if the page was successfully switched; `false` otherwise.
9228
9220
  * @see isFirstPage
9221
+ * @see nextPage
9229
9222
  */
9230
9223
  prevPage(): boolean;
9231
9224
  /**
@@ -9315,11 +9308,13 @@ declare module "survey" {
9315
9308
  private createSinglePage;
9316
9309
  private createPagesForEveryQuestion;
9317
9310
  /**
9318
- * Gets whether the current page is the first one.
9311
+ * Indicates whether the [current page](#currentPage) is the first page.
9312
+ *
9313
+ * > If the survey displays the [start page](https://surveyjs.io/form-library/documentation/design-survey/create-a-multi-page-survey#start-page), this property contains `false`. Use the [`isShowStartingPage`](#isShowStartingPage) property to find out whether the start page is currently displayed.
9319
9314
  */
9320
9315
  get isFirstPage(): boolean;
9321
9316
  /**
9322
- * Gets whether the current page is the last one.
9317
+ * Indicates whether the [current page](#currentPage) is the last page.
9323
9318
  */
9324
9319
  get isLastPage(): boolean;
9325
9320
  private updateButtonsVisibility;
@@ -9358,13 +9353,13 @@ declare module "survey" {
9358
9353
  private saveDataOnComplete;
9359
9354
  private checkOnCompletingEvent;
9360
9355
  /**
9361
- * Starts the survey. Changes the survey mode from "starting" to "running". Call this function if your survey has a start page, otherwise this function does nothing.
9356
+ * Starts the survey. Applies only if the survey has a [start page](https://surveyjs.io/form-library/documentation/design-survey/create-a-multi-page-survey#start-page).
9362
9357
  * @see firstPageIsStarted
9358
+ * @see completeLastPage
9363
9359
  */
9364
9360
  start(): boolean;
9365
9361
  /**
9366
- * Gets whether the question values on the current page are validating on the server at the current moment.
9367
- * @see onServerValidateQuestions
9362
+ * Indicates whether the current page is being [validated on a server](#onServerValidateQuestions).
9368
9363
  */
9369
9364
  get isValidatingOnServer(): boolean;
9370
9365
  private serverValidationEventCount;
@@ -9380,23 +9375,29 @@ declare module "survey" {
9380
9375
  private get canBeCompletedByTrigger();
9381
9376
  private get completedTrigger();
9382
9377
  /**
9383
- * Returns the HTML content for the complete page.
9384
- * @see completedHtml
9378
+ * Returns HTML content displayed on the [complete page](https://surveyjs.io/form-library/documentation/design-survey/create-a-multi-page-survey#complete-page).
9379
+ *
9380
+ * To specify HTML content, use the [`completedHtml`](#completedHtml) property.
9385
9381
  */
9386
9382
  get processedCompletedHtml(): string;
9387
9383
  /**
9388
- * Returns the HTML content, that is shown to a user that had completed the survey before.
9389
- * @see completedHtml
9390
- * @see cookieName
9384
+ * Returns HTML content displayed to a user who has completed the survey before. To identify such users, the survey uses a [cookie name](#cookieName) or [client ID](#clientId).
9385
+ *
9386
+ * To specify HTML content, use the [`completedBeforeHtml`](#completedBeforeHtml) property.
9391
9387
  */
9392
9388
  get processedCompletedBeforeHtml(): string;
9393
9389
  /**
9394
- * Returns the HTML content, that is shows when a survey loads the survey JSON.
9390
+ * Returns HTML content displayed while a survey JSON schema is being loaded from [SurveyJS Service](https://api.surveyjs.io).
9391
+ *
9392
+ * To specify HTML content, use the [`loadingHtml`](#loadingHtml) property.
9395
9393
  */
9396
9394
  get processedLoadingHtml(): string;
9397
9395
  getProgressInfo(): IProgressInfo;
9398
9396
  /**
9399
- * Returns the text for the current progress.
9397
+ * Returns text displayed by the progress bar (for instance, "Page 2 of 3" or "Answered 3/8 questions"). Handle the [`onProgressText`](#onProgressText) event to change this text.
9398
+ * @see progressValue
9399
+ * @see showProgressBar
9400
+ * @see progressBarType
9400
9401
  */
9401
9402
  get progressText(): string;
9402
9403
  private isCalculatingProgressText;
@@ -9556,8 +9557,16 @@ declare module "survey" {
9556
9557
  */
9557
9558
  addNewPage(name?: string, index?: number): PageModel;
9558
9559
  /**
9559
- * Removes a page from a survey.
9560
- * @param page
9560
+ * Removes a page from the survey.
9561
+ *
9562
+ * Pass a `PageModel` object to this method. You can get this object in different ways. For example, you can call the [`getPageByName()`](#getPageByName) method to obtain a `PageModel` object with a specific name or use the [`currentPage`](#currentPage) property to access and delete the current page, as shown in the code below.
9563
+ *
9564
+ * ```js
9565
+ * // Delete the current page
9566
+ * survey.removePage(survey.currentPage);
9567
+ * ```
9568
+ * @param page A page to remove.
9569
+ * @see addNewPage
9561
9570
  */
9562
9571
  removePage(page: PageModel): void;
9563
9572
  /**
@@ -9665,7 +9674,7 @@ declare module "survey" {
9665
9674
  private checkQuestionErrorOnValueChanged;
9666
9675
  private checkQuestionErrorOnValueChangedCore;
9667
9676
  private checkErrorsOnValueChanging;
9668
- protected notifyQuestionOnValueChanged(valueName: string, newValue: any): void;
9677
+ protected notifyQuestionOnValueChanged(valueName: string, newValue: any, questionName: string): void;
9669
9678
  private isRunningElementsBindings;
9670
9679
  private updateVisibleIndexAfterBindings;
9671
9680
  private checkElementsBindings;
@@ -9704,14 +9713,11 @@ declare module "survey" {
9704
9713
  */
9705
9714
  getResult(resultId: string, questionName: string): void;
9706
9715
  /**
9707
- * Loads the survey JSON from the [api.surveyjs.io](https://api.surveyjs.io) service.
9708
- * If `clientId` is not `null` and a user had completed a survey before, the survey switches to `completedbefore` state.
9709
- * @param surveyId [api.surveyjs.io](https://api.surveyjs.io) service surveyId
9710
- * @param clientId users' indentifier, for example an e-mail or a unique customer id in your web application.
9711
- * @see state
9712
- * @see onLoadedSurveyFromService
9716
+ * Loads a survey JSON schema from the [SurveyJS Service](https://api.surveyjs.io). You can handle the [`onLoadedSurveyFromService`](#onLoadedSurveyFromService) event to modify the schema after loading if required.
9717
+ * @param surveyId The identifier of a survey JSON schema to load. Refer to the following help topic for more information: [Store Survey Results in the SurveyJS Service](https://surveyjs.io/form-library/documentation/handle-survey-results-store#store-survey-results-in-the-surveyjs-service).
9718
+ * @param clientId A user identifier (e-mail or other unique ID) used to determine whether the user has already taken the survey.
9713
9719
  */
9714
- loadSurveyFromService(surveyId?: string, cliendId?: string): void;
9720
+ loadSurveyFromService(surveyId?: string, clientId?: string): void;
9715
9721
  private loadSurveyFromServiceJson;
9716
9722
  protected onLoadingSurveyFromService(): void;
9717
9723
  protected onLoadSurveyFromService(): void;
@@ -9788,7 +9794,7 @@ declare module "survey" {
9788
9794
  * @see data
9789
9795
  * @see getValue
9790
9796
  */
9791
- setValue(name: string, newQuestionValue: any, locNotification?: any, allowNotifyValueChanged?: boolean): void;
9797
+ setValue(name: string, newQuestionValue: any, locNotification?: any, allowNotifyValueChanged?: boolean, questionName?: string): void;
9792
9798
  private isValueEmpyOnSetValue;
9793
9799
  private updateOnSetValue;
9794
9800
  private isValueEqual;
@@ -9812,8 +9818,8 @@ declare module "survey" {
9812
9818
  */
9813
9819
  setComment(name: string, newValue: string, locNotification?: any): void;
9814
9820
  /**
9815
- * Removes a value from the survey results.
9816
- * @param {string} name The name of the value. Typically it is a question name.
9821
+ * Deletes an answer from survey results.
9822
+ * @param {string} name An object property that stores the answer to delete. Pass a question's [`valueName`](https://surveyjs.io/form-library/documentation/api-reference/question#valueName) or [`name`](https://surveyjs.io/form-library/documentation/api-reference/question#name).
9817
9823
  */
9818
9824
  clearValue(name: string): void;
9819
9825
  /**
@@ -9847,6 +9853,8 @@ declare module "survey" {
9847
9853
  processHtml(html: string, reason?: string): string;
9848
9854
  processText(text: string, returnDisplayValue: boolean): string;
9849
9855
  processTextEx(text: string, returnDisplayValue: boolean, doEncoding: boolean): any;
9856
+ private textPreProcessorValue;
9857
+ private get textPreProcessor();
9850
9858
  private processTextCore;
9851
9859
  getSurveyMarkdownHtml(element: Question | PanelModel | PageModel | SurveyModel, text: string, name: string): string;
9852
9860
  getCorrectedAnswerCount(): number;
@@ -9919,13 +9927,13 @@ declare module "survey" {
9919
9927
  get showTimerPanelMode(): string;
9920
9928
  set showTimerPanelMode(val: string);
9921
9929
  /**
9922
- * Gets or sets a value that specifies how the survey width is calculated.
9930
+ * Specifies how to calculate the survey width.
9923
9931
  *
9924
- * The available options:
9932
+ * Possible values:
9925
9933
  *
9926
- * - `static` - A survey has a fixed width that mostly depends upon the applied theme. Resizing a browser window does not affect the survey width.
9927
- * - `responsive` - A survey takes all available horizontal space. A survey stretches or shrinks horizonally according to the screen size.
9928
- * - `auto` - Depends on the question type and corresponds to the static or responsive mode.
9934
+ * - `"static"` - A survey has a [fixed width](#width).
9935
+ * - `"responsive"` - A survey occupies all available horizontal space and stretches or shrinks horizontally to fit in the screen size.
9936
+ * - `"auto"` (default) - Survey width depends on a question type and corresponds to the `"static"` or `"responsive"` mode.
9929
9937
  */
9930
9938
  get widthMode(): string;
9931
9939
  set widthMode(val: string);
@@ -10080,7 +10088,9 @@ declare module "survey" {
10080
10088
  processPopupVisiblityChanged(question: Question, popup: PopupModel<any>, visible: boolean): void;
10081
10089
  applyTheme(theme: ITheme): void;
10082
10090
  /**
10083
- * Use this method to dispose survey model properly.
10091
+ * Disposes of the survey model.
10092
+ *
10093
+ * Call this method to release resources if your application contains multiple survey models or if you re-create a survey model at runtime.
10084
10094
  */
10085
10095
  dispose(): void;
10086
10096
  disposeCallback: () => void;
@@ -10476,6 +10486,7 @@ declare module "survey-element" {
10476
10486
  get paddingRight(): string;
10477
10487
  set paddingRight(val: string);
10478
10488
  allowRootStyle: boolean;
10489
+ renderMinWidth: boolean;
10479
10490
  get rootStyle(): {
10480
10491
  [index: string]: any;
10481
10492
  };
@@ -10620,7 +10631,9 @@ declare module "question" {
10620
10631
  */
10621
10632
  onReadyChanged: EventBase<Question>;
10622
10633
  isReadOnlyRenderDiv(): boolean;
10623
- protected setIsMobile(val: boolean): void;
10634
+ protected allowMobileInDesignMode(): boolean;
10635
+ updateIsMobileFromSurvey(): void;
10636
+ setIsMobile(val: boolean): void;
10624
10637
  isMobile: boolean;
10625
10638
  forceIsInputReadOnly: boolean;
10626
10639
  constructor(name: string);
@@ -10638,11 +10651,6 @@ declare module "question" {
10638
10651
  protected onNameChanged(oldValue: string): void;
10639
10652
  set isReady(val: boolean);
10640
10653
  get isReady(): boolean;
10641
- get ariaRequired(): "true" | "false";
10642
- get ariaInvalid(): "true" | "false";
10643
- get ariaLabelledBy(): string;
10644
- get ariaExpanded(): string;
10645
- get ariaDescribedBy(): string;
10646
10654
  choicesLoaded(): void;
10647
10655
  /**
10648
10656
  * Returns a page to which the question belongs and allows you to move this question to a different page.
@@ -10932,6 +10940,7 @@ declare module "question" {
10932
10940
  protected setCssError(val: string): void;
10933
10941
  protected getCssError(cssClasses: any): string;
10934
10942
  getRootCss(): string;
10943
+ getQuestionRootCss(): string;
10935
10944
  updateElementCss(reNew?: boolean): void;
10936
10945
  protected updateQuestionCss(reNew?: boolean): void;
10937
10946
  private ensureElementCss;
@@ -10992,7 +11001,6 @@ declare module "question" {
10992
11001
  set id(val: string);
10993
11002
  get ariaTitleId(): string;
10994
11003
  get commentId(): string;
10995
- get ariaRole(): string;
10996
11004
  /**
10997
11005
  * Specifies whether to display the "Other" choice item. Incompatible with the `showCommentArea` property.
10998
11006
  *
@@ -11185,6 +11193,7 @@ declare module "question" {
11185
11193
  protected getQuizQuestionCount(): number;
11186
11194
  protected getCorrectAnswerCount(): number;
11187
11195
  protected checkIfAnswerCorrect(): boolean;
11196
+ protected getAnswerCorrectIgnoreOrder(): boolean;
11188
11197
  /**
11189
11198
  * Returns `true` if a question answer matches the `correctAnswer` property value.
11190
11199
  *
@@ -11291,6 +11300,7 @@ declare module "question" {
11291
11300
  protected canSetValueToSurvey(): boolean;
11292
11301
  protected valueFromData(val: any): any;
11293
11302
  protected valueToData(val: any): any;
11303
+ protected convertToCorrectValue(val: any): any;
11294
11304
  protected onValueChanged(): void;
11295
11305
  protected isMouseDown: boolean;
11296
11306
  onMouseDown(): void;
@@ -11323,7 +11333,7 @@ declare module "question" {
11323
11333
  */
11324
11334
  clearErrors(): void;
11325
11335
  clearUnusedValues(): void;
11326
- onAnyValueChanged(name: string): void;
11336
+ onAnyValueChanged(name: string, questionName: string): void;
11327
11337
  checkBindings(valueName: string, value: any): void;
11328
11338
  getComponentName(): string;
11329
11339
  isDefaultRendering(): boolean;
@@ -11355,6 +11365,20 @@ declare module "question" {
11355
11365
  destroyResizeObserver(): void;
11356
11366
  dispose(): void;
11357
11367
  private resetDependedQuestions;
11368
+ get isNewA11yStructure(): boolean;
11369
+ get ariaLabel(): string;
11370
+ get ariaRole(): string;
11371
+ get ariaRequired(): "true" | "false";
11372
+ get ariaInvalid(): "true" | "false";
11373
+ get ariaLabelledBy(): string;
11374
+ get ariaExpanded(): string;
11375
+ get ariaDescribedBy(): string;
11376
+ get a11y_input_ariaRole(): string;
11377
+ get a11y_input_ariaRequired(): "true" | "false";
11378
+ get a11y_input_ariaInvalid(): "true" | "false";
11379
+ get a11y_input_ariaLabel(): string;
11380
+ get a11y_input_ariaLabelledBy(): string;
11381
+ get a11y_input_ariaDescribedBy(): string;
11358
11382
  }
11359
11383
  }
11360
11384
  declare module "martixBase" {
@@ -11568,7 +11592,7 @@ declare module "question_matrixdropdownbase" {
11568
11592
  getFilteredProperties(): any;
11569
11593
  runCondition(values: HashTable<any>, properties: HashTable<any>): void;
11570
11594
  clearValue(): void;
11571
- onAnyValueChanged(name: string): void;
11595
+ onAnyValueChanged(name: string, questionName: string): void;
11572
11596
  getDataValueCore(valuesHash: any, key: string): any;
11573
11597
  getValue(name: string): any;
11574
11598
  setValue(name: string, newColumnValue: any): void;
@@ -11941,7 +11965,7 @@ declare module "question_matrixdropdownbase" {
11941
11965
  protected createQuestionCore(row: MatrixDropdownRowModelBase, column: MatrixDropdownColumn): Question;
11942
11966
  protected deleteRowValue(newValue: any, row: MatrixDropdownRowModelBase): any;
11943
11967
  private isDoingonAnyValueChanged;
11944
- onAnyValueChanged(name: string): void;
11968
+ onAnyValueChanged(name: string, questionName: string): void;
11945
11969
  protected isObject(value: any): boolean;
11946
11970
  private getOnCellValueChangedOptions;
11947
11971
  protected onCellValueChanged(row: MatrixDropdownRowModelBase, columnName: string, rowValue: any): void;
@@ -11991,7 +12015,7 @@ declare module "base-interfaces" {
11991
12015
  import { PopupModel } from "popup";
11992
12016
  export interface ISurveyData {
11993
12017
  getValue(name: string): any;
11994
- setValue(name: string, newValue: any, locNotification: any, allowNotifyValueChanged?: boolean): any;
12018
+ setValue(name: string, newValue: any, locNotification: any, allowNotifyValueChanged?: boolean, questionName?: string): any;
11995
12019
  getVariable(name: string): any;
11996
12020
  setVariable(name: string, newValue: any): void;
11997
12021
  getComment(name: string): string;
@@ -12188,7 +12212,7 @@ declare module "base-interfaces" {
12188
12212
  getLayoutType(): string;
12189
12213
  isLayoutTypeSupported(layoutType: string): boolean;
12190
12214
  removeElement(el: IElement): boolean;
12191
- onAnyValueChanged(name: string): any;
12215
+ onAnyValueChanged(name: string, questionName: string): void;
12192
12216
  updateCustomWidgets(): any;
12193
12217
  clearIncorrectValues(): any;
12194
12218
  clearErrors(): any;
@@ -12698,7 +12722,10 @@ declare module "utils/popup" {
12698
12722
  export class PopupUtils {
12699
12723
  static bottomIndent: number;
12700
12724
  static calculatePosition(targetRect: ClientRect, height: number, width: number, verticalPosition: VerticalPosition, horizontalPosition: HorizontalPosition, showPointer: boolean, positionMode?: PositionMode): INumberPosition;
12701
- static updateVerticalDimensions(top: number, height: number, windowHeight: number): any;
12725
+ static getCorrectedVerticalDimensions(top: number, height: number, windowHeight: number): {
12726
+ height: number;
12727
+ top: number;
12728
+ };
12702
12729
  static updateHorizontalDimensions(left: number, width: number, windowWidth: number, horizontalPosition: HorizontalPosition, positionMode?: PositionMode, margins?: {
12703
12730
  left: number;
12704
12731
  right: number;
@@ -13817,7 +13844,6 @@ declare module "question_checkbox" {
13817
13844
  protected defaultSelectedItemValues: Array<ItemValue>;
13818
13845
  constructor(name: string);
13819
13846
  protected getDefaultItemComponent(): string;
13820
- get ariaRole(): string;
13821
13847
  getType(): string;
13822
13848
  protected onCreating(): void;
13823
13849
  protected getFirstInputElementId(): string;
@@ -13899,6 +13925,7 @@ declare module "question_checkbox" {
13899
13925
  getFilteredValue(): any;
13900
13926
  protected getMultipleSelectedItems(): Array<ItemValue>;
13901
13927
  protected validateItemValues(itemValues: Array<ItemValue>): Array<ItemValue>;
13928
+ protected getAnswerCorrectIgnoreOrder(): boolean;
13902
13929
  protected onCheckForErrors(errors: Array<SurveyError>, isOnValueChanged: boolean): void;
13903
13930
  protected onEnableItemCallBack(item: ItemValue): boolean;
13904
13931
  protected onAfterRunItemsEnableCondition(): void;
@@ -13939,6 +13966,8 @@ declare module "question_checkbox" {
13939
13966
  protected rendredValueToDataCore(val: any): any;
13940
13967
  protected selectOtherValueFromComment(val: boolean): void;
13941
13968
  get checkBoxSvgPath(): string;
13969
+ get isNewA11yStructure(): boolean;
13970
+ get a11y_input_ariaRole(): string;
13942
13971
  }
13943
13972
  }
13944
13973
  declare module "multiSelectListModel" {
@@ -14071,6 +14100,7 @@ declare module "question_tagbox" {
14071
14100
  getInputId(): string;
14072
14101
  dispose(): void;
14073
14102
  clearValue(): void;
14103
+ get isNewA11yStructure(): boolean;
14074
14104
  }
14075
14105
  }
14076
14106
  declare module "question_imagepicker" {
@@ -14368,6 +14398,7 @@ declare module "question_ranking" {
14368
14398
  selectToRankEmptyUnrankedAreaText: string;
14369
14399
  get useFullItemSizeForShortcut(): boolean;
14370
14400
  set useFullItemSizeForShortcut(val: boolean);
14401
+ get isNewA11yStructure(): boolean;
14371
14402
  }
14372
14403
  }
14373
14404
  declare module "question_comment" {
@@ -14420,6 +14451,7 @@ declare module "question_comment" {
14420
14451
  onKeyDown(event: any): void;
14421
14452
  onValueChanged(): void;
14422
14453
  protected setNewValue(newValue: string): any;
14454
+ protected getValueSeparator(): string;
14423
14455
  get className(): string;
14424
14456
  }
14425
14457
  }
@@ -14462,8 +14494,6 @@ declare module "question_radiogroup" {
14462
14494
  constructor(name: string);
14463
14495
  protected getDefaultItemComponent(): string;
14464
14496
  getType(): string;
14465
- get ariaRole(): string;
14466
- get titleAriaLabel(): string | null;
14467
14497
  protected getFirstInputElementId(): string;
14468
14498
  /**
14469
14499
  * Returns the selected choice item. If no item is selected, returns `null`.
@@ -14483,6 +14513,8 @@ declare module "question_radiogroup" {
14483
14513
  get showClearButtonInContent(): boolean;
14484
14514
  clickItemHandler(item: ItemValue): void;
14485
14515
  protected getDefaultTitleActions(): Array<Action>;
14516
+ get isNewA11yStructure(): boolean;
14517
+ get a11y_input_ariaRole(): string;
14486
14518
  }
14487
14519
  }
14488
14520
  declare module "question_rating" {
@@ -15065,7 +15097,7 @@ declare module "popup-survey" {
15065
15097
  import { SurveyModel } from "survey";
15066
15098
  import { LocalizableString } from "localizablestring";
15067
15099
  /**
15068
- * A Model for a survey running in the Popup Window.
15100
+ * A class that renders a survey in a pop-up window.
15069
15101
  *
15070
15102
  * [View Demo](https://surveyjs.io/form-library/examples/popup-survey/ (linkStyle))
15071
15103
  */
@@ -15079,53 +15111,66 @@ declare module "popup-survey" {
15079
15111
  protected onCreating(): void;
15080
15112
  getType(): string;
15081
15113
  /**
15082
- * A survey object.
15083
- * @see SurveyModel
15114
+ * A [`SurveyModel`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model) instance rendered in the pop-up window.
15084
15115
  */
15085
15116
  get survey(): SurveyModel;
15086
15117
  /**
15087
- * Set this value to negative value, for example -1, to avoid closing the popup window on completing the survey. Leave it equals to 0 (default value) to close the popup window immediately, or set it to 3, 5, 10, ... to close the popup window in 3, 5, 10 seconds.
15118
+ * Specifies how many seconds the pop-up window should remain open after users complete the survey.
15119
+ *
15120
+ * Default value: 0 (the window is closed immediately)
15121
+ *
15122
+ * Set this property to a negative value (for instance, -1) to keep the pop-up window open without a time limit.
15088
15123
  */
15089
15124
  closeOnCompleteTimeout: number;
15090
15125
  /**
15091
- * Returns true if the popup window is currently showing. Set it to true to show the popup window and false to hide it.
15092
- * @see show
15093
- * @see hide
15126
+ * Indicates whether the pop-up survey appears on the page, regardless of its [expand state](#isExpanded).
15127
+ *
15128
+ * You can set this property to `true` or `false` to control visibility of the pop-up survey. Alternatively, you can use the [`show()`](#show) and [`hide()`](#hide) methods.
15094
15129
  */
15095
15130
  get isShowing(): boolean;
15096
15131
  set isShowing(val: boolean);
15097
15132
  /**
15098
- * Show the popup window
15133
+ * Shows the pop-up survey. The survey may appear [expanded or collapsed](#isExpanded).
15134
+ *
15135
+ * As an alternative to this method, you can set the [`isShowing`](#isShowing) property to `true`.
15099
15136
  * @see hide
15100
- * @see isShowing
15101
15137
  */
15102
15138
  show(): void;
15103
15139
  /**
15104
- * Hide the popup window
15140
+ * Hides the pop-up survey.
15141
+ *
15142
+ * As an alternative to this method, you can set the [`isShowing`](#isShowing) property to `false`.
15105
15143
  * @see show
15106
- * @see isShowing
15144
+ * @see expand
15145
+ * @see collapse
15107
15146
  */
15108
15147
  hide(): void;
15109
15148
  /**
15110
- * Returns true if the popup window is expanded. Set it to true to expand the popup window or false to collapse it.
15111
- * @see expand
15112
- * @see collapse
15149
+ * Indicates whether the pop-up window is expanded or collapsed.
15150
+ *
15151
+ * You can set this property to `true` or `false` to control the expand state of the pop-up survey. Alternatively, you can use the [`expand()`](#expand) and [`collapse()`](#collapse) methods.
15113
15152
  */
15114
15153
  get isExpanded(): boolean;
15115
15154
  set isExpanded(val: boolean);
15116
15155
  protected onExpandedChanged(): void;
15117
15156
  /**
15118
- * The popup window and survey title.
15157
+ * A title for the pop-up window. If this property is undefined, the title is taken from [`SurveyModel`](#survey)'s [`title`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#title) property.
15119
15158
  */
15120
15159
  get title(): string;
15121
15160
  set title(value: string);
15122
15161
  get locTitle(): LocalizableString;
15123
15162
  /**
15124
- * Expand the popup window to show the survey.
15163
+ * Expands the pop-up window.
15164
+ *
15165
+ * As an alternative to this method, you can set the [`isExpanded`](#isExpanded) property to `true`.
15166
+ * @see collapse
15125
15167
  */
15126
15168
  expand(): void;
15127
15169
  /**
15128
- * Collapse the popup window and show survey title only.
15170
+ * Collapses the pop-up window, leaving only the survey title visible.
15171
+ *
15172
+ * As an alternative to this method, you can set the [`isExpanded`](#isExpanded) property to `false`.
15173
+ * @see expand
15129
15174
  */
15130
15175
  collapse(): void;
15131
15176
  changeExpandCollapse(): void;
@@ -15134,7 +15179,7 @@ declare module "popup-survey" {
15134
15179
  *
15135
15180
  * Default value: `false`
15136
15181
  *
15137
- * If you allow users to close the pop-up window, make sure to implement a UI element that opens it. This element should call the [`show()`](https://surveyjs.io/form-library/documentation/api-reference/pop-up-survey-model#show) method.
15182
+ * If you allow users to close the pop-up window, make sure to implement a UI element that opens it. This element should call the [`show()`](#show) method or enable the [`isShowing`](#isShowing) property.
15138
15183
  * @see expand
15139
15184
  * @see collapse
15140
15185
  * @see hide
@@ -15445,12 +15490,13 @@ declare module "question_custom" {
15445
15490
  getTemplate(): string;
15446
15491
  protected createWrapper(): void;
15447
15492
  protected getElement(): SurveyElement;
15448
- onAnyValueChanged(name: string): void;
15493
+ onAnyValueChanged(name: string, questionName: string): void;
15449
15494
  protected getQuestionByName(name: string): IQuestion;
15450
15495
  setValue(name: string, newValue: any, locNotification: any, allowNotifyValueChanged?: boolean): any;
15451
15496
  protected onSetData(): void;
15452
15497
  hasErrors(fireCallback?: boolean, rec?: any): boolean;
15453
15498
  focus(onError?: boolean): void;
15499
+ afterRender(el: any): void;
15454
15500
  get contentQuestion(): Question;
15455
15501
  protected createQuestion(): Question;
15456
15502
  onSurveyLoad(): void;
@@ -15484,7 +15530,7 @@ declare module "question_custom" {
15484
15530
  getTextProcessor(): ITextProcessor;
15485
15531
  findQuestionByName(name: string): IQuestion;
15486
15532
  protected clearValueIfInvisibleCore(reason: string): void;
15487
- onAnyValueChanged(name: string): void;
15533
+ onAnyValueChanged(name: string, questionName: string): void;
15488
15534
  get hasSingleInput(): boolean;
15489
15535
  get isContainer(): boolean;
15490
15536
  protected createPanel(): PanelModel;
@@ -16633,6 +16679,7 @@ declare module "svgbundle" {
16633
16679
  export class SvgIconRegistry {
16634
16680
  icons: SvgIconData;
16635
16681
  private iconPrefix;
16682
+ private processId;
16636
16683
  registerIconFromSymbol(iconId: string, iconSymbolSvg: string): void;
16637
16684
  registerIconFromSvgViaElement(iconId: string, iconSvg: string, iconPrefix?: string): void;
16638
16685
  registerIconFromSvg(iconId: string, iconSvg: string, iconPrefix?: string): boolean;
@@ -23029,6 +23076,24 @@ declare module "react/reactquestion_element" {
23029
23076
  private getValue;
23030
23077
  }
23031
23078
  }
23079
+ declare module "react/element" {
23080
+ import { IElement } from "entries/core";
23081
+ import { SurveyElementBase } from "react/reactquestion_element";
23082
+ export class SurveyRowElement extends SurveyElementBase<any, any> {
23083
+ private rootRef;
23084
+ constructor(props: any);
23085
+ protected getStateElement(): any;
23086
+ private get element();
23087
+ private get index();
23088
+ private get row();
23089
+ private get survey();
23090
+ private get creator();
23091
+ protected get css(): any;
23092
+ shouldComponentUpdate(nextProps: any, nextState: any): boolean;
23093
+ protected renderElement(): JSX.Element;
23094
+ protected createElement(element: IElement, elementIndex?: number): JSX.Element;
23095
+ }
23096
+ }
23032
23097
  declare module "react/row" {
23033
23098
  import { IElement, Base } from "entries/core";
23034
23099
  import { SurveyElementBase } from "react/reactquestion_element";
@@ -23482,14 +23547,22 @@ declare module "react/reactquestion_html" {
23482
23547
  protected renderElement(): JSX.Element;
23483
23548
  }
23484
23549
  }
23550
+ declare module "react/components/loading-indicator" {
23551
+ import * as React from "react";
23552
+ export class LoadingIndicatorComponent extends React.Component<any, any> {
23553
+ render(): JSX.Element | null;
23554
+ }
23555
+ }
23485
23556
  declare module "react/reactquestion_file" {
23486
23557
  import { QuestionFileModel } from "entries/core";
23487
23558
  import { SurveyQuestionElementBase } from "react/reactquestion_element";
23488
23559
  export class SurveyQuestionFile extends SurveyQuestionElementBase {
23489
23560
  constructor(props: any);
23490
23561
  protected get question(): QuestionFileModel;
23562
+ protected renderLoadingIndicator(): JSX.Element;
23491
23563
  protected renderElement(): JSX.Element;
23492
23564
  protected renderFileDecorator(): JSX.Element;
23565
+ protected renderChooseButton(): JSX.Element;
23493
23566
  protected renderClearButton(className: string): JSX.Element | null;
23494
23567
  protected renderFileSign(className: string, val: any): JSX.Element | null;
23495
23568
  protected renderPreview(): JSX.Element | null;
@@ -24106,6 +24179,7 @@ declare module "entries/react-ui-model" {
24106
24179
  export { CharacterCounterComponent } from "react/components/character-counter";
24107
24180
  export { SurveyLocStringViewer } from "react/string-viewer";
24108
24181
  export { SurveyLocStringEditor } from "react/string-editor";
24182
+ export { LoadingIndicatorComponent } from "react/components/loading-indicator";
24109
24183
  }
24110
24184
  declare module "entries/react" {
24111
24185
  export * from "entries/core";