survey-react 1.9.107 → 1.9.109

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;
@@ -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;
@@ -3308,6 +3317,16 @@ declare module "question_file" {
3308
3317
  private onChange;
3309
3318
  protected onChangeQuestionValue(newValue: any): void;
3310
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;
3311
3330
  private rootElement;
3312
3331
  afterRender(el: HTMLElement): void;
3313
3332
  private dragCounter;
@@ -3851,7 +3870,7 @@ declare module "question_baseselect" {
3851
3870
  protected setSurveyCore(value: ISurvey): void;
3852
3871
  getStoreOthersAsComment(): boolean;
3853
3872
  onSurveyLoad(): void;
3854
- onAnyValueChanged(name: string): void;
3873
+ onAnyValueChanged(name: string, questionName: string): void;
3855
3874
  updateValueFromSurvey(newValue: any): void;
3856
3875
  protected getCommentFromValue(newValue: any): string;
3857
3876
  protected setOtherValueIntoValue(newValue: any): any;
@@ -3916,6 +3935,7 @@ declare module "question_baseselect" {
3916
3935
  isOtherItem(item: ItemValue): boolean;
3917
3936
  get itemSvgIcon(): string;
3918
3937
  getSelectBaseRootCss(): string;
3938
+ protected allowMobileInDesignMode(): boolean;
3919
3939
  getAriaItemLabel(item: ItemValue): string;
3920
3940
  getItemId(item: ItemValue): string;
3921
3941
  get questionName(): string;
@@ -4221,6 +4241,7 @@ declare module "question_expression" {
4221
4241
  set precision(val: number);
4222
4242
  private roundValue;
4223
4243
  protected getValueAsStr(val: any): string;
4244
+ protected convertToCorrectValue(val: any): any;
4224
4245
  }
4225
4246
  export function getCurrecyCodes(): Array<string>;
4226
4247
  }
@@ -4415,6 +4436,7 @@ declare module "dragdrop/dom-adapter" {
4415
4436
  private clear;
4416
4437
  private drop;
4417
4438
  private doStartDrag;
4439
+ private returnUserSelectBack;
4418
4440
  draggedElementShortcut: any;
4419
4441
  rootContainer: HTMLElement;
4420
4442
  startDrag(event: PointerEvent, draggedElement: any, parentElement?: any, draggedElementNode?: HTMLElement, preventSaveTargetNode?: boolean): void;
@@ -5260,7 +5282,7 @@ declare module "question_paneldynamic" {
5260
5282
  private setValueAfterPanelsCreating;
5261
5283
  protected getValueCore(): any;
5262
5284
  protected setValueCore(newValue: any): void;
5263
- protected setIsMobile(val: boolean): void;
5285
+ setIsMobile(val: boolean): void;
5264
5286
  /**
5265
5287
  * The number of panels in Dynamic Panel.
5266
5288
  * @see minPanelCount
@@ -5513,7 +5535,7 @@ declare module "question_paneldynamic" {
5513
5535
  runCondition(values: HashTable<any>, properties: HashTable<any>): void;
5514
5536
  private reRunCondition;
5515
5537
  protected runPanelsCondition(values: HashTable<any>, properties: HashTable<any>): void;
5516
- onAnyValueChanged(name: string): void;
5538
+ onAnyValueChanged(name: string, questionName: string): void;
5517
5539
  private hasKeysDuplicated;
5518
5540
  private updatePanelsContainsErrors;
5519
5541
  hasErrors(fireCallback?: boolean, rec?: any): boolean;
@@ -5703,7 +5725,7 @@ declare module "survey-events-api" {
5703
5725
  */
5704
5726
  allow: boolean;
5705
5727
  /**
5706
- * Obsolete. Use `allow` instead.
5728
+ * Obsolete. Use `options.allow` instead.
5707
5729
  */
5708
5730
  allowComplete: boolean;
5709
5731
  }
@@ -5725,19 +5747,19 @@ declare module "survey-events-api" {
5725
5747
  */
5726
5748
  showSaveInProgress: (text?: string) => void;
5727
5749
  /**
5728
- * Obsolete. Use `showSaveInProgress` instead.
5750
+ * Obsolete. Use `options.showSaveInProgress` instead.
5729
5751
  */
5730
5752
  showDataSaving: (text?: string) => void;
5731
5753
  /**
5732
- * Obsolete. Use `showSaveError` instead.
5754
+ * Obsolete. Use `options.showSaveError` instead.
5733
5755
  */
5734
5756
  showDataSavingError: (text?: string) => void;
5735
5757
  /**
5736
- * Obsolete. Use `showSaveSuccess` instead.
5758
+ * Obsolete. Use `options.showSaveSuccess` instead.
5737
5759
  */
5738
5760
  showDataSavingSuccess: (text?: string) => void;
5739
5761
  /**
5740
- * Obsolete. Use `clearSaveMessages` instead.
5762
+ * Obsolete. Use `options.clearSaveMessages` instead.
5741
5763
  */
5742
5764
  showDataSavingClear: (text?: string) => void;
5743
5765
  }
@@ -5747,7 +5769,7 @@ declare module "survey-events-api" {
5747
5769
  */
5748
5770
  allow: boolean;
5749
5771
  /**
5750
- * Obsolete. Use `allow` instead.
5772
+ * Obsolete. Use `options.allow` instead.
5751
5773
  */
5752
5774
  allowShowPreview: boolean;
5753
5775
  }
@@ -5797,7 +5819,7 @@ declare module "survey-events-api" {
5797
5819
  */
5798
5820
  allow: boolean;
5799
5821
  /**
5800
- * Obsolete. Use `allow` instead.
5822
+ * Obsolete. Use `options.allow` instead.
5801
5823
  */
5802
5824
  allowChanging: boolean;
5803
5825
  }
@@ -5855,11 +5877,11 @@ declare module "survey-events-api" {
5855
5877
  */
5856
5878
  parent: PanelModelBase;
5857
5879
  /**
5858
- * Obsolete. Use `page` instead.
5880
+ * Obsolete. Use `options.page` instead.
5859
5881
  */
5860
5882
  rootPanel: any;
5861
5883
  /**
5862
- * Obsolete. Use `parent` instead.
5884
+ * Obsolete. Use `options.parent` instead.
5863
5885
  */
5864
5886
  parentPanel: any;
5865
5887
  /**
@@ -5937,31 +5959,29 @@ declare module "survey-events-api" {
5937
5959
  }
5938
5960
  export interface ErrorCustomTextEvent {
5939
5961
  /**
5940
- * the error name. The following error names are available:
5941
- * required, requireoneanswer, requirenumeric, exceedsize, webrequest, webrequestempty, otherempty,
5942
- * uploadingfile, requiredinallrowserror, minrowcounterror, keyduplicationerror, custom
5962
+ * A validation error type: `"required"`, `"requireoneanswer"`, `"requirenumeric"`, `"exceedsize"`, `"webrequest"`, `"webrequestempty"`, `"otherempty"`, `"uploadingfile"`, `"requiredinallrowserror"`, `"minrowcounterror"`, `"keyduplicationerror"`, or `"custom"`
5943
5963
  */
5944
5964
  name: string;
5945
5965
  /**
5946
- * an instance of Question, Panel or Survey object to where error is located
5966
+ * A survey element to which the validation error belongs.
5947
5967
  */
5948
5968
  obj: Question | PanelModel | SurveyModel;
5949
5969
  /**
5950
- * an instance of the `SurveyError` object
5970
+ * A validation error.
5951
5971
  */
5952
5972
  error: SurveyError;
5953
5973
  /**
5954
- * an error text
5974
+ * An error message. You can assign a custom message to this parameter.
5955
5975
  */
5956
5976
  text: string;
5957
5977
  }
5958
5978
  export interface ValidatedErrorsOnCurrentPageEvent extends PageEventMixin {
5959
5979
  /**
5960
- * the list of questions that have errors
5980
+ * An array of questions with validation errors.
5961
5981
  */
5962
5982
  questions: Array<Question>;
5963
5983
  /**
5964
- * the list of errors
5984
+ * An array of validation errors.
5965
5985
  */
5966
5986
  errors: Array<SurveyError>;
5967
5987
  }
@@ -6021,23 +6041,23 @@ declare module "survey-events-api" {
6021
6041
  }
6022
6042
  export interface TextProcessingEvent {
6023
6043
  /**
6024
- * a property name is going to be rendered
6044
+ * The name of the property that contains the text to process.
6025
6045
  */
6026
6046
  name: string;
6027
6047
  /**
6028
- * 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.
6029
6049
  */
6030
6050
  element: Question | PanelModel | PageModel | SurveyModel;
6031
6051
  }
6032
6052
  export interface TextMarkdownEvent extends TextProcessingEvent {
6033
6053
  /**
6034
- * 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.
6035
6055
  */
6036
- html?: string;
6056
+ text: string;
6037
6057
  /**
6038
- * a text that is going to be rendered
6058
+ * A property to which you should assign HTML content.
6039
6059
  */
6040
- text: string;
6060
+ html?: string;
6041
6061
  }
6042
6062
  export interface TextRenderAsEvent extends TextProcessingEvent {
6043
6063
  /**
@@ -6134,28 +6154,25 @@ declare module "survey-events-api" {
6134
6154
  }
6135
6155
  export interface LoadChoicesFromServerEvent extends QuestionEventMixin {
6136
6156
  /**
6137
- * a result that comes from the server as it is
6157
+ * A query result as it came from the server.
6138
6158
  */
6139
6159
  serverResult: any;
6140
6160
  /**
6141
- * 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.
6142
6162
  */
6143
6163
  choices: Array<ItemValue>;
6144
6164
  }
6145
6165
  export interface ProcessTextValueEvent {
6146
6166
  /**
6147
- * the value of the processing text
6167
+ * The name of the value being processed (the text in curly brackets).
6148
6168
  */
6149
- value: any;
6169
+ name: string;
6150
6170
  /**
6151
- * 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.
6152
6172
  */
6173
+ value: any;
6153
6174
  isExists: boolean;
6154
6175
  canProcess: boolean;
6155
- /**
6156
- * the name of the processing value, for example, "state" in our example
6157
- */
6158
- name: string;
6159
6176
  returnDisplayValue: boolean;
6160
6177
  }
6161
6178
  export interface UpdateQuestionCssClassesEvent extends QuestionEventMixin, UpdateElementCssClassesEventMixin {
@@ -6196,13 +6213,13 @@ declare module "survey-events-api" {
6196
6213
  }
6197
6214
  export interface ShowingChoiceItemEvent extends QuestionEventMixin {
6198
6215
  /**
6199
- * A Boolean value that specifies item visibility. Set it to `false` to hide the item.
6216
+ * A choice item.
6200
6217
  */
6201
- visible: boolean;
6218
+ item: ItemValue;
6202
6219
  /**
6203
- * 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.
6204
6221
  */
6205
- item: ItemValue;
6222
+ visible: boolean;
6206
6223
  }
6207
6224
  export interface ChoicesLazyLoadEvent extends QuestionEventMixin {
6208
6225
  /**
@@ -6249,7 +6266,7 @@ declare module "survey-events-api" {
6249
6266
  */
6250
6267
  allow: boolean;
6251
6268
  /**
6252
- * Obsolete. Use `allow` instead.
6269
+ * Obsolete. Use `options.allow` instead.
6253
6270
  */
6254
6271
  canAddRow: boolean;
6255
6272
  }
@@ -6442,62 +6459,65 @@ declare module "survey-events-api" {
6442
6459
  }
6443
6460
  export interface IsAnswerCorrectEvent extends QuestionEventMixin {
6444
6461
  /**
6445
- * 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.
6446
6463
  */
6447
6464
  correctAnswers: number;
6465
+ /**
6466
+ * The number of incorrect answers in a matrix where each row is considered as one quiz question.
6467
+ */
6448
6468
  incorrectAnswers: number;
6449
6469
  /**
6450
- * 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.
6451
6471
  */
6452
6472
  result: boolean;
6453
6473
  }
6454
6474
  export interface DragDropAllowEvent {
6455
6475
  /**
6456
- * 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.
6457
6477
  */
6458
- insertAfter: IElement;
6478
+ target: IElement;
6459
6479
  /**
6460
- * 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).
6461
6481
  */
6462
- insertBefore: IElement;
6482
+ source: IElement;
6463
6483
  /**
6464
- * 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.
6465
6485
  */
6466
- parent: ISurveyElement;
6486
+ insertBefore: IElement;
6467
6487
  /**
6468
- * 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.
6469
6489
  */
6470
- source: IElement;
6490
+ insertAfter: IElement;
6471
6491
  /**
6472
- * a target element that is dragged
6492
+ * A parent container (page or panel) within which `target` will be placed.
6473
6493
  */
6474
- target: IElement;
6494
+ parent: ISurveyElement;
6475
6495
  /**
6476
- * 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.
6477
6497
  */
6478
6498
  allow: boolean;
6479
6499
  }
6480
6500
  export interface ScrollingElementToTopEvent {
6481
6501
  /**
6482
- * an element that is going to be scrolled on top
6502
+ * A survey element that will be scrolled to the top.
6483
6503
  */
6484
6504
  element: ISurveyElement;
6485
6505
  /**
6486
- * 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.
6487
6507
  */
6488
- question?: Question;
6508
+ elementId: string;
6489
6509
  /**
6490
- * 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.
6491
6511
  */
6492
- page?: PageModel;
6512
+ cancel: boolean;
6493
6513
  /**
6494
- * set this property to true to cancel the default scrolling
6514
+ * Obsolete. Use `options.element` instead.
6495
6515
  */
6496
- cancel: boolean;
6516
+ question?: Question;
6497
6517
  /**
6498
- * the unique element DOM Id
6518
+ * Obsolete. Use `options.element` instead.
6499
6519
  */
6500
- elementId: string;
6520
+ page?: PageModel;
6501
6521
  }
6502
6522
  export interface GetQuestionTitleActionsEvent extends QuestionEventMixin, GetTitleActionsEventMixin {
6503
6523
  }
@@ -6519,7 +6539,7 @@ declare module "survey-events-api" {
6519
6539
  }
6520
6540
  export interface ElementContentVisibilityChangedEvent {
6521
6541
  /**
6522
- * Specifies which survey element content was collapsed or expanded
6542
+ * A survey element that was expanded or collapsed.
6523
6543
  */
6524
6544
  element: ISurveyElement;
6525
6545
  }
@@ -6531,7 +6551,7 @@ declare module "survey-events-api" {
6531
6551
  }
6532
6552
  export interface GetExpressionDisplayValueEvent extends GetQuestionDisplayValueEvent {
6533
6553
  /**
6534
- * The question value
6554
+ * An expression value.
6535
6555
  */
6536
6556
  value: any;
6537
6557
  }
@@ -6609,6 +6629,7 @@ declare module "page" {
6609
6629
  set navigationDescription(val: string);
6610
6630
  get locNavigationDescription(): LocalizableString;
6611
6631
  navigationLocStrChanged(): void;
6632
+ get renderedNavigationTitle(): string;
6612
6633
  get passed(): boolean;
6613
6634
  set passed(val: boolean);
6614
6635
  protected removeFromParent(): void;
@@ -6950,7 +6971,7 @@ declare module "question_textbase" {
6950
6971
  getType(): string;
6951
6972
  isEmpty(): boolean;
6952
6973
  /**
6953
- * Gets or sets a value that specifies when to update the question value.
6974
+ * Specifies when to update the question value.
6954
6975
  *
6955
6976
  * Possible values:
6956
6977
  *
@@ -6973,21 +6994,12 @@ declare module "question_textbase" {
6973
6994
  protected hasPlaceholder(): boolean;
6974
6995
  protected setNewValue(newValue: any): void;
6975
6996
  protected setQuestionValue(newValue: any, updateIsAnswered?: boolean): void;
6997
+ protected convertToCorrectValue(val: any): any;
6998
+ protected getValueSeparator(): string;
6976
6999
  disableNativeUndoRedo: boolean;
6977
7000
  protected checkForUndo(event: KeyboardEvent): void;
6978
7001
  getControlClass(): string;
6979
- get ariaRole(): string;
6980
- get ariaRequired(): any;
6981
- get ariaInvalid(): any;
6982
- get ariaLabel(): string;
6983
- get ariaLabelledBy(): string;
6984
- get ariaDescribedBy(): string;
6985
- get a11y_input_ariaRole(): string;
6986
- get a11y_input_ariaRequired(): "true" | "false";
6987
- get a11y_input_ariaInvalid(): "true" | "false";
6988
- get a11y_input_ariaLabel(): string;
6989
- get a11y_input_ariaLabelledBy(): string;
6990
- get a11y_input_ariaDescribedBy(): string;
7002
+ get isNewA11yStructure(): boolean;
6991
7003
  }
6992
7004
  }
6993
7005
  declare module "question_text" {
@@ -7341,6 +7353,7 @@ declare module "question_multipletext" {
7341
7353
  protected getIsAnswered(): boolean;
7342
7354
  getProgressInfo(): IProgressInfo;
7343
7355
  protected getDisplayValueCore(keysAsText: boolean, value: any): any;
7356
+ protected allowMobileInDesignMode(): boolean;
7344
7357
  getMultipleTextValue(name: string): any;
7345
7358
  setMultipleTextValue(name: string, value: any): void;
7346
7359
  getItemDefaultValue(name: string): any;
@@ -7385,14 +7398,16 @@ declare module "themes" {
7385
7398
  export type ImageFit = "auto" | "contain" | "cover";
7386
7399
  export type ImageAttachment = "fixed" | "scroll";
7387
7400
  export interface ITheme {
7388
- cssVariables?: {
7389
- [index: string]: string;
7390
- };
7401
+ themeName?: string;
7402
+ colorPalette?: string;
7403
+ isPanelless?: boolean;
7391
7404
  backgroundImage?: string;
7392
7405
  backgroundImageFit?: ImageFit;
7393
7406
  backgroundImageAttachment?: ImageAttachment;
7394
7407
  backgroundOpacity?: number;
7395
- isPanelless?: boolean;
7408
+ cssVariables?: {
7409
+ [index: string]: string;
7410
+ };
7396
7411
  }
7397
7412
  }
7398
7413
  declare module "survey" {
@@ -7456,7 +7471,6 @@ declare module "survey" {
7456
7471
  private valuesHash;
7457
7472
  private variablesHash;
7458
7473
  private editingObjValue;
7459
- private textPreProcessor;
7460
7474
  private timerModelValue;
7461
7475
  private navigationBarValue;
7462
7476
  onThemeApplying: EventBase<SurveyModel>;
@@ -7661,7 +7675,7 @@ declare module "survey" {
7661
7675
  */
7662
7676
  onValidateQuestion: EventBase<SurveyModel, ValidateQuestionEvent>;
7663
7677
  /**
7664
- * 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.
7665
7679
  * @see onValidateQuestion
7666
7680
  */
7667
7681
  onSettingQuestionErrors: EventBase<SurveyModel, SettingQuestionErrorsEvent>;
@@ -7673,6 +7687,7 @@ declare module "survey" {
7673
7687
  * [View Demo](https://surveyjs.io/form-library/examples/javascript-server-side-form-validation/ (linkStyle))
7674
7688
  * @see onValidateQuestion
7675
7689
  * @see onValidatePanel
7690
+ * @see isValidatingOnServer
7676
7691
  */
7677
7692
  onServerValidateQuestions: EventBase<SurveyModel, ServerValidateQuestionsEvent>;
7678
7693
  /**
@@ -7686,11 +7701,11 @@ declare module "survey" {
7686
7701
  */
7687
7702
  onValidatePanel: EventBase<SurveyModel, ValidatePanelEvent>;
7688
7703
  /**
7689
- * Use the event to change the default error text.
7704
+ * An event that is raised to change default error messages.
7690
7705
  */
7691
7706
  onErrorCustomText: EventBase<SurveyModel, ErrorCustomTextEvent>;
7692
7707
  /**
7693
- * 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.
7694
7709
  */
7695
7710
  onValidatedErrorsOnCurrentPage: EventBase<SurveyModel, ValidatedErrorsOnCurrentPageEvent>;
7696
7711
  /**
@@ -7740,16 +7755,13 @@ declare module "survey" {
7740
7755
  */
7741
7756
  onProgressText: EventBase<SurveyModel, ProgressTextEvent>;
7742
7757
  /**
7743
- * Use this event to process the markdown text.
7758
+ * An event that is raised to convert Markdown content to HTML.
7744
7759
  *
7745
7760
  * For information on event handler parameters, refer to descriptions within the interface.
7746
7761
  *
7747
7762
  * [View Demo](https://surveyjs.io/form-library/examples/edit-survey-questions-markdown/ (linkStyle))
7748
7763
  */
7749
7764
  onTextMarkdown: EventBase<SurveyModel, TextMarkdownEvent>;
7750
- /**
7751
- * Use this event to specity render component name used for text rendering.
7752
- */
7753
7765
  onTextRenderAs: EventBase<SurveyModel, TextRenderAsEvent>;
7754
7766
  /**
7755
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.
@@ -7794,21 +7806,18 @@ declare module "survey" {
7794
7806
  */
7795
7807
  onClearFiles: EventBase<SurveyModel, ClearFilesEvent>;
7796
7808
  /**
7797
- * 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.
7798
- * 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.
7799
7810
  */
7800
7811
  onLoadChoicesFromServer: EventBase<SurveyModel, LoadChoicesFromServerEvent>;
7801
7812
  /**
7802
- * An event that is raised after survey is loaded from api.surveyjs.io service.
7803
- * 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.
7804
7814
  * @see surveyId
7815
+ * @see clientId
7805
7816
  * @see loadSurveyFromService
7806
7817
  */
7807
7818
  onLoadedSurveyFromService: EventBase<SurveyModel, {}>;
7808
7819
  /**
7809
- * 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.
7810
- * For example, you may use the text processing in loading choices from the web. If your `choicesByUrl.url` equals to "UrlToServiceToGetAllCities/{country}/{state}",
7811
- * 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).
7812
7821
  */
7813
7822
  onProcessTextValue: EventBase<SurveyModel, ProcessTextValueEvent>;
7814
7823
  /**
@@ -7903,7 +7912,7 @@ declare module "survey" {
7903
7912
  */
7904
7913
  onFocusInPanel: EventBase<SurveyModel, FocusInPanelEvent>;
7905
7914
  /**
7906
- * 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.
7907
7916
  */
7908
7917
  onShowingChoiceItem: EventBase<SurveyModel, ShowingChoiceItemEvent>;
7909
7918
  /**
@@ -8032,19 +8041,16 @@ declare module "survey" {
8032
8041
  */
8033
8042
  onGetDynamicPanelTabTitle: EventBase<SurveyModel, DynamicPanelGetTabTitleEvent>;
8034
8043
  /**
8035
- * Use this event to define, whether an answer to a question is correct or not.
8036
- * @see Question.value
8037
- * @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).
8038
8045
  */
8039
8046
  onIsAnswerCorrect: EventBase<SurveyModel, IsAnswerCorrectEvent>;
8040
8047
  /**
8041
- * Use this event to control drag&drop operations during design mode.
8042
- * @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.
8043
8049
  * @see isDesignMode
8044
8050
  */
8045
8051
  onDragDropAllow: EventBase<SurveyModel, DragDropAllowEvent>;
8046
8052
  /**
8047
- * 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.
8048
8054
  */
8049
8055
  onScrollingElementToTop: EventBase<SurveyModel, ScrollingElementToTopEvent>;
8050
8056
  onLocaleChangedEvent: EventBase<SurveyModel, {}>;
@@ -8082,12 +8088,11 @@ declare module "survey" {
8082
8088
  */
8083
8089
  onGetMatrixRowActions: EventBase<SurveyModel, GetMatrixRowActionsEvent>;
8084
8090
  /**
8085
- * An event that is raised after the survey element content was collapsed or expanded.
8086
- * @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).
8087
8092
  */
8088
8093
  onElementContentVisibilityChanged: EventBase<SurveyModel, ElementContentVisibilityChangedEvent>;
8089
8094
  /**
8090
- * 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.
8091
8096
  */
8092
8097
  onGetExpressionDisplayValue: EventBase<SurveyModel, GetExpressionDisplayValueEvent>;
8093
8098
  /**
@@ -8099,8 +8104,8 @@ declare module "survey" {
8099
8104
  protected createTryAgainAction(): IAction;
8100
8105
  private createHtmlLocString;
8101
8106
  /**
8102
- * 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.
8103
- * @see JsonError
8107
+ * A list of errors in a survey JSON schema.
8108
+ * @see ensureUniqueNames
8104
8109
  */
8105
8110
  jsonErrors: Array<JsonError>;
8106
8111
  getType(): string;
@@ -8147,11 +8152,15 @@ declare module "survey" {
8147
8152
  showBrandInfo: boolean;
8148
8153
  enterKeyAction: "moveToNextEditor" | "loseFocus" | "default";
8149
8154
  /**
8150
- * By default all rows are rendered no matters if they are visible or not.
8151
- * Set it true, and survey markup rows will be rendered only if they are visible in viewport.
8152
- * 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`
8153
8160
  *
8154
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.
8155
8164
  */
8156
8165
  get lazyRendering(): boolean;
8157
8166
  set lazyRendering(val: boolean);
@@ -8201,7 +8210,7 @@ declare module "survey" {
8201
8210
  * A cookie name used to save information about survey completion.
8202
8211
  *
8203
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).
8204
- * @see cliendId
8213
+ * @see clientId
8205
8214
  */
8206
8215
  get cookieName(): string;
8207
8216
  set cookieName(val: string);
@@ -8213,7 +8222,9 @@ declare module "survey" {
8213
8222
  get sendResultOnPageNext(): boolean;
8214
8223
  set sendResultOnPageNext(val: boolean);
8215
8224
  /**
8216
- * 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))
8217
8228
  * @see surveyPostId
8218
8229
  */
8219
8230
  get surveyShowDataSaving(): boolean;
@@ -8319,20 +8330,24 @@ declare module "survey" {
8319
8330
  getNavigateToUrl(): string;
8320
8331
  private navigateTo;
8321
8332
  /**
8322
- * Gets or sets the required question mark. The required question mark is a char or string that is rendered in the required questions' titles.
8323
- * @see Question.title
8333
+ * Specifies one or multiple characters that designate required questions.
8334
+ *
8335
+ * Default value: `*`
8324
8336
  *
8325
- * [View Demo](https://surveyjs.io/form-library/examples/survey-processtext/ (linkStyle))
8337
+ * [View Demo](https://surveyjs.io/form-library/examples/modify-question-title/ (linkStyle))
8326
8338
  */
8327
8339
  get requiredText(): string;
8328
8340
  set requiredText(val: string);
8329
8341
  /**
8330
- * 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
8331
8346
  */
8332
8347
  hideRequiredErrors: boolean;
8333
8348
  beforeSettingQuestionErrors(question: Question, errors: Array<SurveyError>): void;
8334
8349
  beforeSettingPanelErrors(question: IPanel, errors: Array<SurveyError>): void;
8335
- private maakeRequiredErrorsInvisibgle;
8350
+ private makeRequiredErrorsInvisible;
8336
8351
  /**
8337
8352
  * Specifies the initial number or letter from which to start question numbering.
8338
8353
  *
@@ -8422,14 +8437,16 @@ declare module "survey" {
8422
8437
  get allowResizeComment(): boolean;
8423
8438
  set allowResizeComment(val: boolean);
8424
8439
  /**
8425
- * 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.
8426
8441
  *
8427
- * The following options are available:
8442
+ * Possible values:
8428
8443
  *
8429
- * - `onBlur` (default) - the value is updated after an input loses the focus.
8430
- * - `onTyping` - update the value of text questions, "text" and "comment", on every key press.
8444
+ * - `"onBlur"` (default) - Updates the value after the input field loses focus.
8445
+ * - `"onTyping"` - Updates the value on every key press.
8446
+ *
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.
8431
8448
  *
8432
- * 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).
8433
8450
  */
8434
8451
  get textUpdateMode(): string;
8435
8452
  set textUpdateMode(val: string);
@@ -8596,7 +8613,7 @@ declare module "survey" {
8596
8613
  };
8597
8614
  _isMobile: boolean;
8598
8615
  setIsMobile(newVal?: boolean): void;
8599
- private get isMobile();
8616
+ get isMobile(): boolean;
8600
8617
  private _isCompact;
8601
8618
  private set isCompact(value);
8602
8619
  private get isCompact();
@@ -8642,13 +8659,13 @@ declare module "survey" {
8642
8659
  get completedHtmlOnCondition(): Array<HtmlConditionItem>;
8643
8660
  set completedHtmlOnCondition(val: Array<HtmlConditionItem>);
8644
8661
  /**
8645
- * Calculates a given expression and returns a result value.
8646
- * @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.
8647
8664
  */
8648
8665
  runExpression(expression: string): any;
8649
8666
  /**
8650
- * Calculates a given expression and returns `true` or `false`.
8651
- * @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.
8652
8669
  */
8653
8670
  runCondition(expression: string): boolean;
8654
8671
  /**
@@ -8661,9 +8678,7 @@ declare module "survey" {
8661
8678
  get renderedCompletedHtml(): string;
8662
8679
  private getExpressionItemOnRunCondition;
8663
8680
  /**
8664
- * HTML content displayed to a user who has completed the survey before.
8665
- * @see clientId
8666
- * @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).
8667
8682
  * @see processedCompletedBeforeHtml
8668
8683
  */
8669
8684
  get completedBeforeHtml(): string;
@@ -8772,31 +8787,34 @@ declare module "survey" {
8772
8787
  get showQuestionNumbers(): string | boolean;
8773
8788
  set showQuestionNumbers(value: string | boolean);
8774
8789
  /**
8775
- * Gets or sets the survey progress bar position.
8790
+ * Controls the visibility of the progress bar and specifies its position.
8776
8791
  *
8777
- * The following options are available:
8792
+ * Possible values:
8778
8793
  *
8779
- * - `off` (default) - don't show progress bar
8780
- * - `top` - show progress bar in the top
8781
- * - `bottom` - show progress bar in the bottom
8782
- * - `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.
8783
8798
  *
8784
8799
  * [View Demo](https://surveyjs.io/form-library/examples/navigation-default/ (linkStyle))
8800
+ * @see progressBarType
8801
+ * @see progressValue
8785
8802
  */
8786
8803
  get showProgressBar(): string;
8787
8804
  set showProgressBar(newValue: string);
8788
8805
  /**
8789
- * 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"`.
8790
8807
  *
8791
- * The following options are available:
8808
+ * Possible values:
8792
8809
  *
8793
- * - `pages` (default),
8794
- * - `questions`,
8795
- * - `requiredQuestions`,
8796
- * - `correctQuestions`,
8797
- * - `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.
8798
8815
  *
8799
8816
  * [View Demo](https://surveyjs.io/form-library/examples/navigation-buttons/ (linkStyle))
8817
+ * @see progressValue
8800
8818
  */
8801
8819
  get progressBarType(): string;
8802
8820
  set progressBarType(newValue: string);
@@ -8842,12 +8860,12 @@ declare module "survey" {
8842
8860
  get questionDescriptionLocation(): string;
8843
8861
  set questionDescriptionLocation(value: string);
8844
8862
  /**
8845
- * Gets or sets the survey edit mode.
8863
+ * Specifies whether users can take the survey or only view it.
8846
8864
  *
8847
- * The following options are available:
8865
+ * Possible values:
8848
8866
  *
8849
- * - `edit` (default) - make a survey editable,
8850
- * - `display` - make a survey read-only.
8867
+ * - `"edit"` (default) - Allows users to take the survey.
8868
+ * - `"display"` - Makes the survey read-only.
8851
8869
  *
8852
8870
  * [View Demo](https://surveyjs.io/form-library/examples/survey-displaymode/ (linkStyle))
8853
8871
  */
@@ -8928,7 +8946,8 @@ declare module "survey" {
8928
8946
  get visiblePages(): Array<PageModel>;
8929
8947
  private isPageInVisibleList;
8930
8948
  /**
8931
- * Returns `true` if the survey contains no pages. The survey is empty.
8949
+ * Returns `true` if the survey contains zero pages.
8950
+ * @see emptySurveyText
8932
8951
  */
8933
8952
  get isEmpty(): boolean;
8934
8953
  get PageCount(): number;
@@ -8994,9 +9013,6 @@ declare module "survey" {
8994
9013
  */
8995
9014
  get matrixDragHandleArea(): string;
8996
9015
  set matrixDragHandleArea(val: string);
8997
- /**
8998
- * Survey is showing a page right now. It is in "running", "preview" or starting state.
8999
- */
9000
9016
  get isShowingPage(): boolean;
9001
9017
  private updateActivePage;
9002
9018
  private onStateAndCurrentPageChanged;
@@ -9071,57 +9087,31 @@ declare module "survey" {
9071
9087
  protected currentPageChanging(newValue: PageModel, oldValue: PageModel): boolean;
9072
9088
  protected currentPageChanged(newValue: PageModel, oldValue: PageModel): void;
9073
9089
  private createPageChangeEventOptions;
9074
- /**
9075
- * Returns the progress that a user made while going through the survey.
9076
- * It depends from progressBarType property
9077
- * @see progressBarType
9078
- * @see progressValue
9079
- */
9080
9090
  getProgress(): number;
9081
9091
  /**
9082
- * Returns the progress that a user made while going through the survey.
9083
- * It depends from progressBarType property
9092
+ * Returns a percentage value that indicates user progress in the survey.
9093
+ * @see showProgressBar
9084
9094
  * @see progressBarType
9095
+ * @see progressText
9085
9096
  */
9086
9097
  get progressValue(): number;
9087
- /**
9088
- * Returns the navigation buttons (i.e., 'Prev', 'Next', or 'Complete' and 'Preview') position.
9089
- */
9090
9098
  get isNavigationButtonsShowing(): string;
9091
- /**
9092
- * Returns true if the navigation buttons (i.e., 'Prev', 'Next', or 'Complete' and 'Preview') are shows on top.
9093
- */
9094
9099
  get isNavigationButtonsShowingOnTop(): boolean;
9095
- /**
9096
- * Returns true if the navigation buttons (i.e., 'Prev', 'Next', or 'Complete' and 'Preview') are shows on bottom.
9097
- */
9098
9100
  get isNavigationButtonsShowingOnBottom(): boolean;
9099
9101
  private getIsNavigationButtonsShowingOn;
9100
- /**
9101
- * Returns `true` if the survey is in edit mode.
9102
- * @see mode
9103
- */
9104
9102
  get isEditMode(): boolean;
9105
- /**
9106
- * Returns `true` if the survey is in display mode or in preview mode.
9107
- * @see mode
9108
- * @see showPreviewBeforeComplete
9109
- */
9110
9103
  get isDisplayMode(): boolean;
9111
9104
  get isUpdateValueTextOnTyping(): boolean;
9112
9105
  /**
9113
- * Returns `true` if the survey is in design mode. It is used by SurveyJS Editor.
9114
- * @see setDesignMode
9106
+ * Indicates whether the survey is being designed in [Survey Creator](https://surveyjs.io/survey-creator/documentation/overview).
9115
9107
  */
9116
9108
  get isDesignMode(): boolean;
9117
9109
  private _isDesignMode;
9118
- /**
9119
- * Sets the survey into design mode.
9120
- * @param value use true to set the survey into the design mode.
9121
- */
9122
9110
  setDesignMode(value: boolean): void;
9123
9111
  /**
9124
- * 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`
9125
9115
  */
9126
9116
  get showInvisibleElements(): boolean;
9127
9117
  set showInvisibleElements(val: boolean);
@@ -9148,20 +9138,21 @@ declare module "survey" {
9148
9138
  */
9149
9139
  deleteCookie(): void;
9150
9140
  /**
9151
- * 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
9152
9145
  * @see nextPage
9146
+ * @see isPrevPage
9153
9147
  * @see completeLastPage
9154
- * @see mode
9155
9148
  */
9156
9149
  ignoreValidation: boolean;
9157
9150
  /**
9158
- * Navigates user to the next page.
9159
- *
9160
- * Returns `false` in the following cases:
9151
+ * Switches the survey to the next page.
9161
9152
  *
9162
- * - if the current page is the last page.
9163
- * - if the current page contains errors (for example, a required question is empty).
9164
- * @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
9165
9156
  * @see prevPage
9166
9157
  * @see completeLastPage
9167
9158
  */
@@ -9211,12 +9202,6 @@ declare module "survey" {
9211
9202
  * @see validatePage
9212
9203
  */
9213
9204
  validate(fireCallback?: boolean, focusOnFirstError?: boolean, onAsyncValidation?: (hasErrors: boolean) => void): boolean;
9214
- /**
9215
- * Checks whether survey elements (pages, panels, and questions) have unique question names.
9216
- * You can check for unique names for individual page and panel (and all their elements) or a question.
9217
- * If the parameter is not specified, then a survey checks that all its elements have unique names.
9218
- * @param element page, panel or question, it is `null` by default, that means all survey elements will be checked
9219
- */
9220
9205
  ensureUniqueNames(element?: ISurveyElement): void;
9221
9206
  private ensureUniqueName;
9222
9207
  private ensureUniquePageName;
@@ -9228,8 +9213,12 @@ declare module "survey" {
9228
9213
  private checkIsPageHasErrors;
9229
9214
  private fireValidatedErrorsOnPage;
9230
9215
  /**
9231
- * 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.
9232
9220
  * @see isFirstPage
9221
+ * @see nextPage
9233
9222
  */
9234
9223
  prevPage(): boolean;
9235
9224
  /**
@@ -9319,11 +9308,13 @@ declare module "survey" {
9319
9308
  private createSinglePage;
9320
9309
  private createPagesForEveryQuestion;
9321
9310
  /**
9322
- * 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.
9323
9314
  */
9324
9315
  get isFirstPage(): boolean;
9325
9316
  /**
9326
- * Gets whether the current page is the last one.
9317
+ * Indicates whether the [current page](#currentPage) is the last page.
9327
9318
  */
9328
9319
  get isLastPage(): boolean;
9329
9320
  private updateButtonsVisibility;
@@ -9362,13 +9353,13 @@ declare module "survey" {
9362
9353
  private saveDataOnComplete;
9363
9354
  private checkOnCompletingEvent;
9364
9355
  /**
9365
- * 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).
9366
9357
  * @see firstPageIsStarted
9358
+ * @see completeLastPage
9367
9359
  */
9368
9360
  start(): boolean;
9369
9361
  /**
9370
- * Gets whether the question values on the current page are validating on the server at the current moment.
9371
- * @see onServerValidateQuestions
9362
+ * Indicates whether the current page is being [validated on a server](#onServerValidateQuestions).
9372
9363
  */
9373
9364
  get isValidatingOnServer(): boolean;
9374
9365
  private serverValidationEventCount;
@@ -9384,23 +9375,29 @@ declare module "survey" {
9384
9375
  private get canBeCompletedByTrigger();
9385
9376
  private get completedTrigger();
9386
9377
  /**
9387
- * Returns the HTML content for the complete page.
9388
- * @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.
9389
9381
  */
9390
9382
  get processedCompletedHtml(): string;
9391
9383
  /**
9392
- * Returns the HTML content, that is shown to a user that had completed the survey before.
9393
- * @see completedHtml
9394
- * @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.
9395
9387
  */
9396
9388
  get processedCompletedBeforeHtml(): string;
9397
9389
  /**
9398
- * 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.
9399
9393
  */
9400
9394
  get processedLoadingHtml(): string;
9401
9395
  getProgressInfo(): IProgressInfo;
9402
9396
  /**
9403
- * 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
9404
9401
  */
9405
9402
  get progressText(): string;
9406
9403
  private isCalculatingProgressText;
@@ -9560,8 +9557,16 @@ declare module "survey" {
9560
9557
  */
9561
9558
  addNewPage(name?: string, index?: number): PageModel;
9562
9559
  /**
9563
- * Removes a page from a survey.
9564
- * @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
9565
9570
  */
9566
9571
  removePage(page: PageModel): void;
9567
9572
  /**
@@ -9669,7 +9674,7 @@ declare module "survey" {
9669
9674
  private checkQuestionErrorOnValueChanged;
9670
9675
  private checkQuestionErrorOnValueChangedCore;
9671
9676
  private checkErrorsOnValueChanging;
9672
- protected notifyQuestionOnValueChanged(valueName: string, newValue: any): void;
9677
+ protected notifyQuestionOnValueChanged(valueName: string, newValue: any, questionName: string): void;
9673
9678
  private isRunningElementsBindings;
9674
9679
  private updateVisibleIndexAfterBindings;
9675
9680
  private checkElementsBindings;
@@ -9708,14 +9713,11 @@ declare module "survey" {
9708
9713
  */
9709
9714
  getResult(resultId: string, questionName: string): void;
9710
9715
  /**
9711
- * Loads the survey JSON from the [api.surveyjs.io](https://api.surveyjs.io) service.
9712
- * If `clientId` is not `null` and a user had completed a survey before, the survey switches to `completedbefore` state.
9713
- * @param surveyId [api.surveyjs.io](https://api.surveyjs.io) service surveyId
9714
- * @param clientId users' indentifier, for example an e-mail or a unique customer id in your web application.
9715
- * @see state
9716
- * @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.
9717
9719
  */
9718
- loadSurveyFromService(surveyId?: string, cliendId?: string): void;
9720
+ loadSurveyFromService(surveyId?: string, clientId?: string): void;
9719
9721
  private loadSurveyFromServiceJson;
9720
9722
  protected onLoadingSurveyFromService(): void;
9721
9723
  protected onLoadSurveyFromService(): void;
@@ -9792,7 +9794,7 @@ declare module "survey" {
9792
9794
  * @see data
9793
9795
  * @see getValue
9794
9796
  */
9795
- setValue(name: string, newQuestionValue: any, locNotification?: any, allowNotifyValueChanged?: boolean): void;
9797
+ setValue(name: string, newQuestionValue: any, locNotification?: any, allowNotifyValueChanged?: boolean, questionName?: string): void;
9796
9798
  private isValueEmpyOnSetValue;
9797
9799
  private updateOnSetValue;
9798
9800
  private isValueEqual;
@@ -9816,8 +9818,8 @@ declare module "survey" {
9816
9818
  */
9817
9819
  setComment(name: string, newValue: string, locNotification?: any): void;
9818
9820
  /**
9819
- * Removes a value from the survey results.
9820
- * @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).
9821
9823
  */
9822
9824
  clearValue(name: string): void;
9823
9825
  /**
@@ -9851,6 +9853,8 @@ declare module "survey" {
9851
9853
  processHtml(html: string, reason?: string): string;
9852
9854
  processText(text: string, returnDisplayValue: boolean): string;
9853
9855
  processTextEx(text: string, returnDisplayValue: boolean, doEncoding: boolean): any;
9856
+ private textPreProcessorValue;
9857
+ private get textPreProcessor();
9854
9858
  private processTextCore;
9855
9859
  getSurveyMarkdownHtml(element: Question | PanelModel | PageModel | SurveyModel, text: string, name: string): string;
9856
9860
  getCorrectedAnswerCount(): number;
@@ -9923,13 +9927,13 @@ declare module "survey" {
9923
9927
  get showTimerPanelMode(): string;
9924
9928
  set showTimerPanelMode(val: string);
9925
9929
  /**
9926
- * Gets or sets a value that specifies how the survey width is calculated.
9930
+ * Specifies how to calculate the survey width.
9927
9931
  *
9928
- * The available options:
9932
+ * Possible values:
9929
9933
  *
9930
- * - `static` - A survey has a fixed width that mostly depends upon the applied theme. Resizing a browser window does not affect the survey width.
9931
- * - `responsive` - A survey takes all available horizontal space. A survey stretches or shrinks horizonally according to the screen size.
9932
- * - `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.
9933
9937
  */
9934
9938
  get widthMode(): string;
9935
9939
  set widthMode(val: string);
@@ -10084,7 +10088,9 @@ declare module "survey" {
10084
10088
  processPopupVisiblityChanged(question: Question, popup: PopupModel<any>, visible: boolean): void;
10085
10089
  applyTheme(theme: ITheme): void;
10086
10090
  /**
10087
- * 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.
10088
10094
  */
10089
10095
  dispose(): void;
10090
10096
  disposeCallback: () => void;
@@ -10480,6 +10486,7 @@ declare module "survey-element" {
10480
10486
  get paddingRight(): string;
10481
10487
  set paddingRight(val: string);
10482
10488
  allowRootStyle: boolean;
10489
+ renderMinWidth: boolean;
10483
10490
  get rootStyle(): {
10484
10491
  [index: string]: any;
10485
10492
  };
@@ -10624,7 +10631,9 @@ declare module "question" {
10624
10631
  */
10625
10632
  onReadyChanged: EventBase<Question>;
10626
10633
  isReadOnlyRenderDiv(): boolean;
10627
- protected setIsMobile(val: boolean): void;
10634
+ protected allowMobileInDesignMode(): boolean;
10635
+ updateIsMobileFromSurvey(): void;
10636
+ setIsMobile(val: boolean): void;
10628
10637
  isMobile: boolean;
10629
10638
  forceIsInputReadOnly: boolean;
10630
10639
  constructor(name: string);
@@ -10642,11 +10651,6 @@ declare module "question" {
10642
10651
  protected onNameChanged(oldValue: string): void;
10643
10652
  set isReady(val: boolean);
10644
10653
  get isReady(): boolean;
10645
- get ariaRequired(): "true" | "false";
10646
- get ariaInvalid(): "true" | "false";
10647
- get ariaLabelledBy(): string;
10648
- get ariaExpanded(): string;
10649
- get ariaDescribedBy(): string;
10650
10654
  choicesLoaded(): void;
10651
10655
  /**
10652
10656
  * Returns a page to which the question belongs and allows you to move this question to a different page.
@@ -10936,6 +10940,7 @@ declare module "question" {
10936
10940
  protected setCssError(val: string): void;
10937
10941
  protected getCssError(cssClasses: any): string;
10938
10942
  getRootCss(): string;
10943
+ getQuestionRootCss(): string;
10939
10944
  updateElementCss(reNew?: boolean): void;
10940
10945
  protected updateQuestionCss(reNew?: boolean): void;
10941
10946
  private ensureElementCss;
@@ -10996,7 +11001,6 @@ declare module "question" {
10996
11001
  set id(val: string);
10997
11002
  get ariaTitleId(): string;
10998
11003
  get commentId(): string;
10999
- get ariaRole(): string;
11000
11004
  /**
11001
11005
  * Specifies whether to display the "Other" choice item. Incompatible with the `showCommentArea` property.
11002
11006
  *
@@ -11296,6 +11300,7 @@ declare module "question" {
11296
11300
  protected canSetValueToSurvey(): boolean;
11297
11301
  protected valueFromData(val: any): any;
11298
11302
  protected valueToData(val: any): any;
11303
+ protected convertToCorrectValue(val: any): any;
11299
11304
  protected onValueChanged(): void;
11300
11305
  protected isMouseDown: boolean;
11301
11306
  onMouseDown(): void;
@@ -11328,7 +11333,7 @@ declare module "question" {
11328
11333
  */
11329
11334
  clearErrors(): void;
11330
11335
  clearUnusedValues(): void;
11331
- onAnyValueChanged(name: string): void;
11336
+ onAnyValueChanged(name: string, questionName: string): void;
11332
11337
  checkBindings(valueName: string, value: any): void;
11333
11338
  getComponentName(): string;
11334
11339
  isDefaultRendering(): boolean;
@@ -11360,6 +11365,20 @@ declare module "question" {
11360
11365
  destroyResizeObserver(): void;
11361
11366
  dispose(): void;
11362
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;
11363
11382
  }
11364
11383
  }
11365
11384
  declare module "martixBase" {
@@ -11573,7 +11592,7 @@ declare module "question_matrixdropdownbase" {
11573
11592
  getFilteredProperties(): any;
11574
11593
  runCondition(values: HashTable<any>, properties: HashTable<any>): void;
11575
11594
  clearValue(): void;
11576
- onAnyValueChanged(name: string): void;
11595
+ onAnyValueChanged(name: string, questionName: string): void;
11577
11596
  getDataValueCore(valuesHash: any, key: string): any;
11578
11597
  getValue(name: string): any;
11579
11598
  setValue(name: string, newColumnValue: any): void;
@@ -11946,7 +11965,7 @@ declare module "question_matrixdropdownbase" {
11946
11965
  protected createQuestionCore(row: MatrixDropdownRowModelBase, column: MatrixDropdownColumn): Question;
11947
11966
  protected deleteRowValue(newValue: any, row: MatrixDropdownRowModelBase): any;
11948
11967
  private isDoingonAnyValueChanged;
11949
- onAnyValueChanged(name: string): void;
11968
+ onAnyValueChanged(name: string, questionName: string): void;
11950
11969
  protected isObject(value: any): boolean;
11951
11970
  private getOnCellValueChangedOptions;
11952
11971
  protected onCellValueChanged(row: MatrixDropdownRowModelBase, columnName: string, rowValue: any): void;
@@ -11996,7 +12015,7 @@ declare module "base-interfaces" {
11996
12015
  import { PopupModel } from "popup";
11997
12016
  export interface ISurveyData {
11998
12017
  getValue(name: string): any;
11999
- setValue(name: string, newValue: any, locNotification: any, allowNotifyValueChanged?: boolean): any;
12018
+ setValue(name: string, newValue: any, locNotification: any, allowNotifyValueChanged?: boolean, questionName?: string): any;
12000
12019
  getVariable(name: string): any;
12001
12020
  setVariable(name: string, newValue: any): void;
12002
12021
  getComment(name: string): string;
@@ -12193,7 +12212,7 @@ declare module "base-interfaces" {
12193
12212
  getLayoutType(): string;
12194
12213
  isLayoutTypeSupported(layoutType: string): boolean;
12195
12214
  removeElement(el: IElement): boolean;
12196
- onAnyValueChanged(name: string): any;
12215
+ onAnyValueChanged(name: string, questionName: string): void;
12197
12216
  updateCustomWidgets(): any;
12198
12217
  clearIncorrectValues(): any;
12199
12218
  clearErrors(): any;
@@ -13825,7 +13844,6 @@ declare module "question_checkbox" {
13825
13844
  protected defaultSelectedItemValues: Array<ItemValue>;
13826
13845
  constructor(name: string);
13827
13846
  protected getDefaultItemComponent(): string;
13828
- get ariaRole(): string;
13829
13847
  getType(): string;
13830
13848
  protected onCreating(): void;
13831
13849
  protected getFirstInputElementId(): string;
@@ -13948,6 +13966,8 @@ declare module "question_checkbox" {
13948
13966
  protected rendredValueToDataCore(val: any): any;
13949
13967
  protected selectOtherValueFromComment(val: boolean): void;
13950
13968
  get checkBoxSvgPath(): string;
13969
+ get isNewA11yStructure(): boolean;
13970
+ get a11y_input_ariaRole(): string;
13951
13971
  }
13952
13972
  }
13953
13973
  declare module "multiSelectListModel" {
@@ -14080,6 +14100,7 @@ declare module "question_tagbox" {
14080
14100
  getInputId(): string;
14081
14101
  dispose(): void;
14082
14102
  clearValue(): void;
14103
+ get isNewA11yStructure(): boolean;
14083
14104
  }
14084
14105
  }
14085
14106
  declare module "question_imagepicker" {
@@ -14377,6 +14398,7 @@ declare module "question_ranking" {
14377
14398
  selectToRankEmptyUnrankedAreaText: string;
14378
14399
  get useFullItemSizeForShortcut(): boolean;
14379
14400
  set useFullItemSizeForShortcut(val: boolean);
14401
+ get isNewA11yStructure(): boolean;
14380
14402
  }
14381
14403
  }
14382
14404
  declare module "question_comment" {
@@ -14429,6 +14451,7 @@ declare module "question_comment" {
14429
14451
  onKeyDown(event: any): void;
14430
14452
  onValueChanged(): void;
14431
14453
  protected setNewValue(newValue: string): any;
14454
+ protected getValueSeparator(): string;
14432
14455
  get className(): string;
14433
14456
  }
14434
14457
  }
@@ -14471,8 +14494,6 @@ declare module "question_radiogroup" {
14471
14494
  constructor(name: string);
14472
14495
  protected getDefaultItemComponent(): string;
14473
14496
  getType(): string;
14474
- get ariaRole(): string;
14475
- get titleAriaLabel(): string | null;
14476
14497
  protected getFirstInputElementId(): string;
14477
14498
  /**
14478
14499
  * Returns the selected choice item. If no item is selected, returns `null`.
@@ -14492,6 +14513,8 @@ declare module "question_radiogroup" {
14492
14513
  get showClearButtonInContent(): boolean;
14493
14514
  clickItemHandler(item: ItemValue): void;
14494
14515
  protected getDefaultTitleActions(): Array<Action>;
14516
+ get isNewA11yStructure(): boolean;
14517
+ get a11y_input_ariaRole(): string;
14495
14518
  }
14496
14519
  }
14497
14520
  declare module "question_rating" {
@@ -15074,7 +15097,7 @@ declare module "popup-survey" {
15074
15097
  import { SurveyModel } from "survey";
15075
15098
  import { LocalizableString } from "localizablestring";
15076
15099
  /**
15077
- * A Model for a survey running in the Popup Window.
15100
+ * A class that renders a survey in a pop-up window.
15078
15101
  *
15079
15102
  * [View Demo](https://surveyjs.io/form-library/examples/popup-survey/ (linkStyle))
15080
15103
  */
@@ -15088,53 +15111,66 @@ declare module "popup-survey" {
15088
15111
  protected onCreating(): void;
15089
15112
  getType(): string;
15090
15113
  /**
15091
- * A survey object.
15092
- * @see SurveyModel
15114
+ * A [`SurveyModel`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model) instance rendered in the pop-up window.
15093
15115
  */
15094
15116
  get survey(): SurveyModel;
15095
15117
  /**
15096
- * 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.
15097
15123
  */
15098
15124
  closeOnCompleteTimeout: number;
15099
15125
  /**
15100
- * Returns true if the popup window is currently showing. Set it to true to show the popup window and false to hide it.
15101
- * @see show
15102
- * @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.
15103
15129
  */
15104
15130
  get isShowing(): boolean;
15105
15131
  set isShowing(val: boolean);
15106
15132
  /**
15107
- * 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`.
15108
15136
  * @see hide
15109
- * @see isShowing
15110
15137
  */
15111
15138
  show(): void;
15112
15139
  /**
15113
- * 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`.
15114
15143
  * @see show
15115
- * @see isShowing
15144
+ * @see expand
15145
+ * @see collapse
15116
15146
  */
15117
15147
  hide(): void;
15118
15148
  /**
15119
- * Returns true if the popup window is expanded. Set it to true to expand the popup window or false to collapse it.
15120
- * @see expand
15121
- * @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.
15122
15152
  */
15123
15153
  get isExpanded(): boolean;
15124
15154
  set isExpanded(val: boolean);
15125
15155
  protected onExpandedChanged(): void;
15126
15156
  /**
15127
- * 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.
15128
15158
  */
15129
15159
  get title(): string;
15130
15160
  set title(value: string);
15131
15161
  get locTitle(): LocalizableString;
15132
15162
  /**
15133
- * 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
15134
15167
  */
15135
15168
  expand(): void;
15136
15169
  /**
15137
- * 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
15138
15174
  */
15139
15175
  collapse(): void;
15140
15176
  changeExpandCollapse(): void;
@@ -15143,7 +15179,7 @@ declare module "popup-survey" {
15143
15179
  *
15144
15180
  * Default value: `false`
15145
15181
  *
15146
- * 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.
15147
15183
  * @see expand
15148
15184
  * @see collapse
15149
15185
  * @see hide
@@ -15454,12 +15490,13 @@ declare module "question_custom" {
15454
15490
  getTemplate(): string;
15455
15491
  protected createWrapper(): void;
15456
15492
  protected getElement(): SurveyElement;
15457
- onAnyValueChanged(name: string): void;
15493
+ onAnyValueChanged(name: string, questionName: string): void;
15458
15494
  protected getQuestionByName(name: string): IQuestion;
15459
15495
  setValue(name: string, newValue: any, locNotification: any, allowNotifyValueChanged?: boolean): any;
15460
15496
  protected onSetData(): void;
15461
15497
  hasErrors(fireCallback?: boolean, rec?: any): boolean;
15462
15498
  focus(onError?: boolean): void;
15499
+ afterRender(el: any): void;
15463
15500
  get contentQuestion(): Question;
15464
15501
  protected createQuestion(): Question;
15465
15502
  onSurveyLoad(): void;
@@ -15493,7 +15530,7 @@ declare module "question_custom" {
15493
15530
  getTextProcessor(): ITextProcessor;
15494
15531
  findQuestionByName(name: string): IQuestion;
15495
15532
  protected clearValueIfInvisibleCore(reason: string): void;
15496
- onAnyValueChanged(name: string): void;
15533
+ onAnyValueChanged(name: string, questionName: string): void;
15497
15534
  get hasSingleInput(): boolean;
15498
15535
  get isContainer(): boolean;
15499
15536
  protected createPanel(): PanelModel;
@@ -16642,6 +16679,7 @@ declare module "svgbundle" {
16642
16679
  export class SvgIconRegistry {
16643
16680
  icons: SvgIconData;
16644
16681
  private iconPrefix;
16682
+ private processId;
16645
16683
  registerIconFromSymbol(iconId: string, iconSymbolSvg: string): void;
16646
16684
  registerIconFromSvgViaElement(iconId: string, iconSvg: string, iconPrefix?: string): void;
16647
16685
  registerIconFromSvg(iconId: string, iconSvg: string, iconPrefix?: string): boolean;
@@ -23038,6 +23076,24 @@ declare module "react/reactquestion_element" {
23038
23076
  private getValue;
23039
23077
  }
23040
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
+ }
23041
23097
  declare module "react/row" {
23042
23098
  import { IElement, Base } from "entries/core";
23043
23099
  import { SurveyElementBase } from "react/reactquestion_element";