survey-react 1.9.103 → 1.9.105

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
@@ -17,7 +17,7 @@ declare module "helpers" {
17
17
  static getUnbindValue(value: any): any;
18
18
  static createCopy(obj: any): any;
19
19
  static isConvertibleToNumber(value: any): boolean;
20
- static isValueObject(val: any): boolean;
20
+ static isValueObject(val: any, excludeArray?: boolean): boolean;
21
21
  static isNumber(value: any): boolean;
22
22
  static getNumber(value: any): number;
23
23
  private static prepareStringToNumber;
@@ -994,8 +994,9 @@ declare module "utils/cssClassBuilder" {
994
994
  declare module "utils/utils" {
995
995
  function compareVersions(a: any, b: any): number;
996
996
  function confirmAction(message: string): boolean;
997
+ function confirmActionAsync(message: string, funcOnYes: () => void, funcOnNo?: () => void): void;
997
998
  function detectIEBrowser(): boolean;
998
- function detectIEOrEdge(): any;
999
+ function detectIEOrEdge(): boolean;
999
1000
  function loadFileFromBase64(b64Data: string, fileName: string): void;
1000
1001
  function isMobile(): boolean;
1001
1002
  const isShadowDOM: (rootElement: Document | ShadowRoot | HTMLElement) => rootElement is ShadowRoot;
@@ -1032,7 +1033,7 @@ declare module "utils/utils" {
1032
1033
  log(action: string): void;
1033
1034
  get result(): string;
1034
1035
  }
1035
- export { mergeValues, getElementWidth, isContainerVisible, classesToSelector, compareVersions, confirmAction, detectIEOrEdge, detectIEBrowser, loadFileFromBase64, isMobile, isShadowDOM, getElement, isElementVisible, findScrollableParent, scrollElementByChildId, navigateToUrl, createSvg, getIconNameFromProxy, increaseHeightByContent, getOriginalEvent, preventDefaults, findParentByClassNames, getFirstVisibleChild, };
1036
+ export { mergeValues, getElementWidth, isContainerVisible, classesToSelector, compareVersions, confirmAction, confirmActionAsync, detectIEOrEdge, detectIEBrowser, loadFileFromBase64, isMobile, isShadowDOM, getElement, isElementVisible, findScrollableParent, scrollElementByChildId, navigateToUrl, createSvg, getIconNameFromProxy, increaseHeightByContent, getOriginalEvent, preventDefaults, findParentByClassNames, getFirstVisibleChild, };
1036
1037
  }
1037
1038
  declare module "actions/container" {
1038
1039
  import { Base } from "base";
@@ -1155,6 +1156,7 @@ declare module "list" {
1155
1156
  private onFilterStringChanged;
1156
1157
  private scrollToItem;
1157
1158
  constructor(items: Array<IAction>, onSelectionChanged: (item: T, ...params: any[]) => void, allowSelection: boolean, selectedItem?: IAction, onFilterStringChangedCallback?: (text: string) => void, elementId?: string);
1159
+ setOnFilterStringChangedCallback(callback: (text: string) => void): void;
1158
1160
  setItems(items: Array<IAction>, sortByVisibleIndex?: boolean): void;
1159
1161
  protected onSet(): void;
1160
1162
  protected getDefaultCssClasses(): {
@@ -1326,7 +1328,7 @@ declare module "actions/action" {
1326
1328
  * The action item's icon size in pixels.
1327
1329
  * @see iconName
1328
1330
  */
1329
- iconSize?: number;
1331
+ iconSize?: number | string;
1330
1332
  /**
1331
1333
  * The action item's location in a matrix question's row.
1332
1334
  *
@@ -1927,6 +1929,7 @@ declare module "defaultCss/defaultV2Css" {
1927
1929
  mainRoot: string;
1928
1930
  tableWrapper: string;
1929
1931
  root: string;
1932
+ noHeader: string;
1930
1933
  rootVerticalAlignTop: string;
1931
1934
  rootVerticalAlignMiddle: string;
1932
1935
  rootAlternateRows: string;
@@ -1953,6 +1956,7 @@ declare module "defaultCss/defaultV2Css" {
1953
1956
  mainRoot: string;
1954
1957
  rootScroll: string;
1955
1958
  root: string;
1959
+ noHeader: string;
1956
1960
  rootVerticalAlignTop: string;
1957
1961
  rootVerticalAlignMiddle: string;
1958
1962
  tableWrapper: string;
@@ -1965,6 +1969,7 @@ declare module "defaultCss/defaultV2Css" {
1965
1969
  row: string;
1966
1970
  headerCell: string;
1967
1971
  rowTextCell: string;
1972
+ columnTitleCell: string;
1968
1973
  cellRequiredText: string;
1969
1974
  detailButton: string;
1970
1975
  detailButtonExpanded: string;
@@ -1972,7 +1977,9 @@ declare module "defaultCss/defaultV2Css" {
1972
1977
  detailIconExpanded: string;
1973
1978
  detailIconId: string;
1974
1979
  detailIconExpandedId: string;
1980
+ detailPanelCell: string;
1975
1981
  actionsCell: string;
1982
+ actionsCellDrag: string;
1976
1983
  emptyCell: string;
1977
1984
  verticalCell: string;
1978
1985
  cellQuestionWrapper: string;
@@ -1983,6 +1990,7 @@ declare module "defaultCss/defaultV2Css" {
1983
1990
  rootScroll: string;
1984
1991
  empty: string;
1985
1992
  root: string;
1993
+ noHeader: string;
1986
1994
  tableWrapper: string;
1987
1995
  content: string;
1988
1996
  cell: string;
@@ -1990,6 +1998,7 @@ declare module "defaultCss/defaultV2Css" {
1990
1998
  itemCell: string;
1991
1999
  headerCell: string;
1992
2000
  rowTextCell: string;
2001
+ columnTitleCell: string;
1993
2002
  cellRequiredText: string;
1994
2003
  button: string;
1995
2004
  detailRow: string;
@@ -2001,6 +2010,7 @@ declare module "defaultCss/defaultV2Css" {
2001
2010
  detailIconExpandedId: string;
2002
2011
  detailPanelCell: string;
2003
2012
  actionsCell: string;
2013
+ actionsCellDrag: string;
2004
2014
  buttonAdd: string;
2005
2015
  buttonRemove: string;
2006
2016
  iconAdd: string;
@@ -2116,6 +2126,8 @@ declare module "defaultCss/defaultV2Css" {
2116
2126
  small: string;
2117
2127
  controls: string;
2118
2128
  placeholder: string;
2129
+ canvas: string;
2130
+ backgroundImage: string;
2119
2131
  clearButton: string;
2120
2132
  clearButtonIconId: string;
2121
2133
  };
@@ -2276,6 +2288,7 @@ declare module "trigger" {
2276
2288
  protected isExecutingOnNextPage: boolean;
2277
2289
  checkExpression(isOnNextPage: boolean, isOnComplete: boolean, keys: any, values: HashTable<any>, properties?: HashTable<any>): void;
2278
2290
  check(value: any): void;
2291
+ get requireValidQuestion(): boolean;
2279
2292
  private perform;
2280
2293
  private triggerResult;
2281
2294
  protected onSuccess(values: HashTable<any>, properties: HashTable<any>): void;
@@ -2331,6 +2344,7 @@ declare module "trigger" {
2331
2344
  export class SurveyTriggerComplete extends SurveyTrigger {
2332
2345
  constructor();
2333
2346
  getType(): string;
2347
+ get requireValidQuestion(): boolean;
2334
2348
  protected isRealExecution(): boolean;
2335
2349
  protected onSuccess(values: HashTable<any>, properties: HashTable<any>): void;
2336
2350
  protected onFailure(): void;
@@ -2357,6 +2371,7 @@ declare module "trigger" {
2357
2371
  export class SurveyTriggerSkip extends SurveyTrigger {
2358
2372
  constructor();
2359
2373
  getType(): string;
2374
+ get requireValidQuestion(): boolean;
2360
2375
  get gotoName(): string;
2361
2376
  set gotoName(val: string);
2362
2377
  protected canBeExecuted(isOnNextPage: boolean): boolean;
@@ -2641,7 +2656,7 @@ declare module "panel" {
2641
2656
  endLoadingFromJson(): void;
2642
2657
  showTitle: boolean;
2643
2658
  get hasTitle(): boolean;
2644
- delete(): void;
2659
+ delete(doDispose?: boolean): void;
2645
2660
  protected removeFromParent(): void;
2646
2661
  protected canShowTitle(): boolean;
2647
2662
  showDescription: boolean;
@@ -2973,6 +2988,20 @@ declare module "panel" {
2973
2988
  get hasDescriptionUnderTitle(): boolean;
2974
2989
  get cssHeader(): string;
2975
2990
  get cssDescription(): string;
2991
+ /**
2992
+ * Specifies the error message position for questions that belong to this page/panel.
2993
+ *
2994
+ * Use this property to override the [`questionErrorLocation`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#questionErrorLocation) property specified for the survey. You can also set the [`errorLocation`](https://surveyjs.io/form-library/documentation/question#errorLocation) property for individual questions.
2995
+ *
2996
+ * Possible values:
2997
+ *
2998
+ * - `"default"` (default) - Inherits the setting from the `questionErrorLocation` property specified for the survey.
2999
+ * - `"top"` - Displays error messages above questions.
3000
+ * - `"bottom"` - Displays error messages below questions.
3001
+ */
3002
+ get questionErrorLocation(): string;
3003
+ set questionErrorLocation(val: string);
3004
+ getQuestionErrorLocation(): string;
2976
3005
  get no(): string;
2977
3006
  dispose(): void;
2978
3007
  }
@@ -3103,13 +3132,14 @@ declare module "panel" {
3103
3132
  }
3104
3133
  }
3105
3134
  declare module "question_file" {
3106
- import { Question } from "question";
3135
+ import { IPlainDataOptions } from "base-interfaces";
3136
+ import { IQuestionPlainData, Question } from "question";
3107
3137
  import { EventBase } from "base";
3108
3138
  import { SurveyError } from "survey-error";
3109
3139
  import { ActionContainer } from "actions/container";
3110
3140
  import { Action } from "actions/action";
3111
3141
  /**
3112
- * A class that describes the File question type.
3142
+ * A class that describes the File Upload question type.
3113
3143
  *
3114
3144
  * [View Demo](https://surveyjs.io/form-library/examples/file-upload/ (linkStyle))
3115
3145
  */
@@ -3225,6 +3255,8 @@ declare module "question_file" {
3225
3255
  loadingFileTitle: string;
3226
3256
  chooseFileTitle: string;
3227
3257
  dragAreaPlaceholder: string;
3258
+ renderedPlaceholderValue: string;
3259
+ get renderedPlaceholder(): string;
3228
3260
  get inputTitle(): string;
3229
3261
  get chooseButtonText(): string;
3230
3262
  clear(doneCallback?: () => void): void;
@@ -3249,12 +3281,7 @@ declare module "question_file" {
3249
3281
  protected stateChanged(state: string): void;
3250
3282
  private allFilesOk;
3251
3283
  private isFileImage;
3252
- getPlainData(options?: {
3253
- includeEmpty?: boolean;
3254
- calculations?: Array<{
3255
- propertyName: string;
3256
- }>;
3257
- }): import("question").IQuestionPlainData;
3284
+ getPlainData(options?: IPlainDataOptions): IQuestionPlainData;
3258
3285
  getChooseFileCss(): string;
3259
3286
  getReadOnlyFileCss(): string;
3260
3287
  get fileRootCss(): string;
@@ -3271,7 +3298,9 @@ declare module "question_file" {
3271
3298
  onDragLeave: (event: any) => void;
3272
3299
  doChange: (event: any) => void;
3273
3300
  doClean: (event: any) => void;
3301
+ private clearFilesCore;
3274
3302
  doRemoveFile(data: any): void;
3303
+ private removeFileCore;
3275
3304
  doDownloadFile: (event: any, data: any) => void;
3276
3305
  }
3277
3306
  export class FileLoader {
@@ -3455,14 +3484,14 @@ declare module "choicesRestful" {
3455
3484
  }
3456
3485
  declare module "question_baseselect" {
3457
3486
  import { SurveyError } from "survey-error";
3458
- import { ISurveyImpl, ISurvey, ISurveyData } from "base-interfaces";
3459
- import { Question } from "question";
3487
+ import { ISurveyImpl, ISurvey, ISurveyData, IPlainDataOptions } from "base-interfaces";
3488
+ import { IQuestionPlainData, Question } from "question";
3460
3489
  import { ItemValue } from "itemvalue";
3461
3490
  import { ChoicesRestful } from "choicesRestful";
3462
3491
  import { LocalizableString } from "localizablestring";
3463
3492
  import { HashTable } from "helpers";
3464
3493
  /**
3465
- * A base class for multiple-choice question types ([Checkbox](https://surveyjs.io/form-library/documentation/questioncheckboxmodel), [Dropdown](https://surveyjs.io/form-library/documentation/questiondropdownmodel), [Radiogroup](https://surveyjs.io/form-library/documentation/questionradiogroupmodel), etc.).
3494
+ * A base class for multiple-choice question types ([Checkboxes](https://surveyjs.io/form-library/documentation/questioncheckboxmodel), [Dropdown](https://surveyjs.io/form-library/documentation/questiondropdownmodel), [Radio Button Group](https://surveyjs.io/form-library/documentation/questionradiogroupmodel), etc.).
3466
3495
  */
3467
3496
  export class QuestionSelectBase extends Question {
3468
3497
  visibleChoicesChangedCallback: () => void;
@@ -3649,11 +3678,11 @@ declare module "question_baseselect" {
3649
3678
  get choices(): Array<any>;
3650
3679
  set choices(newValue: Array<any>);
3651
3680
  /**
3652
- * Inherits choice items from a specified question. Accepts a question name.
3681
+ * Copies choice items from a specified question. Accepts a question name.
3653
3682
  *
3654
- * If you specify this property, the `choices`, `choicesVisibleIf`, `choicesEnableIf`, and `choicesOrder` properties do not apply because their values are inherited.
3683
+ * If you specify this property, the `choices`, `choicesVisibleIf`, `choicesEnableIf`, and `choicesOrder` properties do not apply because their values are copied.
3655
3684
  *
3656
- * In addition, you can specify the `choicesFromQuestionMode` property if you do not want to inherit all choice items.
3685
+ * In addition, you can specify the `choicesFromQuestionMode` property if you do not want to copy all choice items.
3657
3686
  * @see choicesFromQuestionMode
3658
3687
  * @see choices
3659
3688
  */
@@ -3661,22 +3690,32 @@ declare module "question_baseselect" {
3661
3690
  set choicesFromQuestion(val: string);
3662
3691
  private isLockVisibleChoices;
3663
3692
  /**
3664
- * Specifies which choice items to inherit from another question. Applies only when the `choicesFromQuestion` property is specified.
3693
+ * Specifies which choice items to copy from another question. Applies only when the `choicesFromQuestion` property is specified.
3665
3694
  *
3666
3695
  * Possible values:
3667
3696
  *
3668
- * - `"all"` (default) - Inherits all choice items.
3669
- * - `"selected"` - Inherits only selected choice items.
3670
- * - `"unselected"` - Inherits only unselected choice items.
3697
+ * - `"all"` (default) - Copies all choice items.
3698
+ * - `"selected"` - Copies only selected choice items.
3699
+ * - `"unselected"` - Copies only unselected choice items.
3671
3700
  *
3672
- * Use the `visibleChoices` property to access inherited choice items.
3701
+ * Use the `visibleChoices` property to access copied choice items.
3673
3702
  * @see choicesFromQuestion
3674
3703
  * @see visibleChoices
3675
3704
  */
3676
3705
  get choicesFromQuestionMode(): string;
3677
3706
  set choicesFromQuestionMode(val: string);
3707
+ /**
3708
+ * Specifies which matrix column or dynamic panel question supplies choice values. Use this property to construct choice items based on cell values in Dynamic Matrix and question values in Dynamic Panel.
3709
+ *
3710
+ * Each choice item consists of a value saved in survey results and a text displayed in the UI. To construct a choice item, assign the `name` of a Dynamic Matrix or Dynamic Panel to the [`choicesFromQuestion`](#choicesFromQuestion) property and specify which dynamic panel question or matrix column supplies values and which provides texts. Use the `choiceValuesFromQuestion` and [`choiceTextsFromQuestion`](#choiceTextsFromQuestion) properties for this purpose. If a choice text is empty, a choice value is used as a display text and saved in survey results.
3711
+ */
3678
3712
  get choiceValuesFromQuestion(): string;
3679
3713
  set choiceValuesFromQuestion(val: string);
3714
+ /**
3715
+ * Specifies which matrix column or dynamic panel question supplies choice texts. Use this property to construct choice items based on cell values in Dynamic Matrix and question values in Dynamic Panel.
3716
+ *
3717
+ * Each choice item consists of a value saved in survey results and a text displayed in the UI. To construct a choice item, assign the `name` of a Dynamic Matrix or Dynamic Panel to the [`choicesFromQuestion`](#choicesFromQuestion) property and specify which dynamic panel question or matrix column supplies values and which provides texts. Use the [`choiceValuesFromQuestion`](#choiceValuesFromQuestion) and `choiceTextsFromQuestion` properties for this purpose. If a choice text is empty, a choice value is used as a display text and saved in survey results.
3718
+ */
3680
3719
  get choiceTextsFromQuestion(): string;
3681
3720
  set choiceTextsFromQuestion(val: string);
3682
3721
  /**
@@ -3764,16 +3803,10 @@ declare module "question_baseselect" {
3764
3803
  protected canShowOptionItem(item: ItemValue, isAddAll: boolean, hasItem: boolean): boolean;
3765
3804
  isItemInList(item: ItemValue): boolean;
3766
3805
  protected get isAddDefaultItems(): boolean;
3767
- getPlainData(options?: {
3768
- includeEmpty?: boolean;
3769
- includeQuestionTypes?: boolean;
3770
- calculations?: Array<{
3771
- propertyName: string;
3772
- }>;
3773
- }): import("question").IQuestionPlainData;
3806
+ getPlainData(options?: IPlainDataOptions): IQuestionPlainData;
3774
3807
  protected getDisplayValueCore(keysAsText: boolean, value: any): any;
3775
3808
  protected getDisplayValueEmpty(): string;
3776
- protected getChoicesDisplayValue(items: ItemValue[], val: any): any;
3809
+ private getChoicesDisplayValue;
3777
3810
  protected getDisplayArrayValue(keysAsText: boolean, value: any, onGetValueCallback?: (index: number) => any): string;
3778
3811
  private getItemDisplayValue;
3779
3812
  private getFilteredChoices;
@@ -4199,6 +4232,7 @@ declare module "question_matrixdropdowncolumn" {
4199
4232
  private indexValue;
4200
4233
  private _isVisible;
4201
4234
  private _hasVisibleCell;
4235
+ private _visiblechoices;
4202
4236
  constructor(name: string, title?: string);
4203
4237
  getOriginalObj(): Base;
4204
4238
  getClassNameProperty(): string;
@@ -4221,6 +4255,10 @@ declare module "question_matrixdropdowncolumn" {
4221
4255
  setIsVisible(newVal: boolean): void;
4222
4256
  get hasVisibleCell(): boolean;
4223
4257
  set hasVisibleCell(newVal: boolean);
4258
+ getVisibleMultipleChoices(): Array<ItemValue>;
4259
+ get getVisibleChoicesInCell(): Array<any>;
4260
+ setVisibleChoicesInCell(val: Array<any>): void;
4261
+ get isFilteredMultipleColumns(): boolean;
4224
4262
  get name(): string;
4225
4263
  set name(val: string);
4226
4264
  get title(): string;
@@ -4329,7 +4367,7 @@ declare module "dragdrop/dom-adapter" {
4329
4367
  }
4330
4368
  export class DragDropDOMAdapter implements IDragDropDOMAdapter {
4331
4369
  private dd;
4332
- private longTap?;
4370
+ private longTap;
4333
4371
  static PreventScrolling: boolean;
4334
4372
  private timeoutID;
4335
4373
  private startX;
@@ -4485,6 +4523,7 @@ declare module "question_matrixdropdownrendered" {
4485
4523
  get headers(): string;
4486
4524
  getTitle(): string;
4487
4525
  calculateFinalClassName(matrixCssClasses: any): string;
4526
+ focusIn(): void;
4488
4527
  }
4489
4528
  export class QuestionMatrixDropdownRenderedRow extends Base {
4490
4529
  cssClasses: any;
@@ -4796,6 +4835,7 @@ declare module "question_matrixdynamic" {
4796
4835
  * @param confirmDelete *Optional.* A Boolean value that specifies whether to display a confirmation dialog. If you do not specify this parameter, the [`confirmDelete`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-matrix-table-question-model#confirmDelete) property value is used.
4797
4836
  */
4798
4837
  removeRow(index: number, confirmDelete?: boolean): void;
4838
+ private removeRowAsync;
4799
4839
  private removeRowCore;
4800
4840
  /**
4801
4841
  * A message displayed in a confirmation dialog that appears when a respondent wants to delete a row.
@@ -4920,9 +4960,9 @@ declare module "textPreProcessor" {
4920
4960
  }
4921
4961
  declare module "question_paneldynamic" {
4922
4962
  import { HashTable } from "helpers";
4923
- import { IElement, IQuestion, IPanel, ISurveyData, ISurvey, ISurveyImpl, ITextProcessor, IProgressInfo } from "base-interfaces";
4963
+ import { IElement, IQuestion, IPanel, ISurveyData, ISurvey, ISurveyImpl, ITextProcessor, IProgressInfo, IPlainDataOptions } from "base-interfaces";
4924
4964
  import { LocalizableString } from "localizablestring";
4925
- import { Question, IConditionObject } from "question";
4965
+ import { Question, IConditionObject, IQuestionPlainData } from "question";
4926
4966
  import { PanelModel } from "panel";
4927
4967
  import { SurveyError } from "survey-error";
4928
4968
  import { ActionContainer } from "actions/container";
@@ -4984,7 +5024,9 @@ declare module "question_paneldynamic" {
4984
5024
  panelCountChangedCallback: () => void;
4985
5025
  currentIndexChangedCallback: () => void;
4986
5026
  constructor(name: string);
5027
+ get isCompositeQuestion(): boolean;
4987
5028
  get hasSingleInput(): boolean;
5029
+ get isContainer(): boolean;
4988
5030
  getFirstQuestionToFocus(withError: boolean): Question;
4989
5031
  setSurveyImpl(value: ISurveyImpl, isLight?: boolean): void;
4990
5032
  private assignOnPropertyChangedToTemplate;
@@ -4992,7 +5034,6 @@ declare module "question_paneldynamic" {
4992
5034
  private onTemplateElementPropertyChanged;
4993
5035
  private get useTemplatePanel();
4994
5036
  getType(): string;
4995
- get isCompositeQuestion(): boolean;
4996
5037
  clearOnDeletingContainer(): void;
4997
5038
  get isAllowTitleLeft(): boolean;
4998
5039
  removeElement(element: IElement): boolean;
@@ -5278,6 +5319,17 @@ declare module "question_paneldynamic" {
5278
5319
  */
5279
5320
  get templateTitleLocation(): string;
5280
5321
  set templateTitleLocation(value: string);
5322
+ /**
5323
+ * Specifies the error message position.
5324
+ *
5325
+ * Possible values:
5326
+ *
5327
+ * - `"default"` (default) - Inherits the setting from the [`errorLocation`](#errorLocation) property.
5328
+ * - `"top"` - Displays error messages above questions.
5329
+ * - `"bottom"` - Displays error messages below questions.
5330
+ */
5331
+ get templateErrorLocation(): string;
5332
+ set templateErrorLocation(value: string);
5281
5333
  /**
5282
5334
  * Use this property to show/hide the numbers in titles in questions inside a dynamic panel.
5283
5335
  * By default the value is "off". You may set it to "onPanel" and the first question inside a dynamic panel will start with 1 or "onSurvey" to include nested questions in dymamic panels into global survey question numbering.
@@ -5459,6 +5511,7 @@ declare module "question_paneldynamic" {
5459
5511
  protected createNewPanel(): PanelModel;
5460
5512
  protected createAndSetupNewPanelObject(): PanelModel;
5461
5513
  private getTemplateQuestionTitleLocation;
5514
+ getChildErrorLocation(child: Question): string;
5462
5515
  protected createNewPanelObject(): PanelModel;
5463
5516
  private settingPanelCountBasedOnValue;
5464
5517
  private setPanelCountBasedOnValue;
@@ -5478,12 +5531,7 @@ declare module "question_paneldynamic" {
5478
5531
  private static maxCheckCount;
5479
5532
  setPanelItemData(item: ISurveyData, name: string, val: any): void;
5480
5533
  getRootData(): ISurveyData;
5481
- getPlainData(options?: {
5482
- includeEmpty?: boolean;
5483
- calculations?: Array<{
5484
- propertyName: string;
5485
- }>;
5486
- }): import("question").IQuestionPlainData;
5534
+ getPlainData(options?: IPlainDataOptions): IQuestionPlainData;
5487
5535
  updateElementCss(reNew?: boolean): void;
5488
5536
  get progressText(): string;
5489
5537
  get progress(): string;
@@ -5619,9 +5667,12 @@ declare module "survey-events-api" {
5619
5667
  }
5620
5668
  export interface CompleteBaseEvent {
5621
5669
  /**
5622
- * Returns `true` if survey completion is caused by the ["complete" trigger](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#complete).
5670
+ * Returns `true` if survey completion is caused by a ["complete" trigger](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#complete).
5623
5671
  */
5624
5672
  isCompleteOnTrigger: boolean;
5673
+ /**
5674
+ * A "complete" trigger that has been executed. This parameter has a value only if `options.isCompleteOnTrigger` is `true`.
5675
+ */
5625
5676
  completeTrigger?: Trigger;
5626
5677
  }
5627
5678
  export interface CompletingEvent extends CompleteBaseEvent {
@@ -5926,23 +5977,23 @@ declare module "survey-events-api" {
5926
5977
  }
5927
5978
  export interface ProgressTextEvent {
5928
5979
  /**
5929
- * a number of required questions that have input(s) and an user has answered
5980
+ * The number of questions with input fields. [Image](https://surveyjs.io/form-library/examples/add-image-and-video-to-survey/), [HTML](https://surveyjs.io/form-library/examples/questiontype-html/), and [Expression](https://surveyjs.io/form-library/examples/questiontype-expression/) questions are not counted.
5930
5981
  */
5931
- requiredAnsweredQuestionCount: number;
5982
+ questionCount: number;
5932
5983
  /**
5933
- * a number of required questions that have input(s). We do not count html or expression questions
5984
+ * The number of answered questions.
5934
5985
  */
5935
- requiredQuestionCount: number;
5986
+ answeredQuestionCount: number;
5936
5987
  /**
5937
- * a number of questions that have input(s) and an user has answered
5988
+ * The number of questions marked as required.
5938
5989
  */
5939
- answeredQuestionCount: number;
5990
+ requiredQuestionCount: number;
5940
5991
  /**
5941
- * a number of questions that have input(s). We do not count html or expression questions
5992
+ * The number of answered questions marked as required.
5942
5993
  */
5943
- questionCount: number;
5994
+ requiredAnsweredQuestionCount: number;
5944
5995
  /**
5945
- * a progress text, that SurveyJS will render in progress bar
5996
+ * Progress text rendered in the [progress bar](#showProgressBar). You can change this parameter's value.
5946
5997
  */
5947
5998
  text: string;
5948
5999
  }
@@ -6838,7 +6889,7 @@ declare module "question_textbase" {
6838
6889
  updateRemainingCharacterCounter(newValue: string, maxLength: number): void;
6839
6890
  }
6840
6891
  /**
6841
- * A base class for the [Text](https://surveyjs.io/form-library/documentation/questiontextmodel) and [Comment](https://surveyjs.io/form-library/documentation/questioncommentmodel) question types.
6892
+ * A base class for the [Single-Line Input](https://surveyjs.io/form-library/documentation/questiontextmodel) and [Long Text](https://surveyjs.io/form-library/documentation/questioncommentmodel) question types.
6842
6893
  */
6843
6894
  export class QuestionTextBase extends Question {
6844
6895
  constructor(name: string);
@@ -6883,7 +6934,7 @@ declare module "question_textbase" {
6883
6934
  localeChanged(): void;
6884
6935
  setSurveyImpl(value: ISurveyImpl, isLight?: boolean): void;
6885
6936
  protected calcRenderedPlaceholder(): void;
6886
- protected hasPlaceHolder(): boolean;
6937
+ protected hasPlaceholder(): boolean;
6887
6938
  protected setNewValue(newValue: any): void;
6888
6939
  protected setQuestionValue(newValue: any, updateIsAnswered?: boolean): void;
6889
6940
  disableNativeUndoRedo: boolean;
@@ -6909,7 +6960,7 @@ declare module "question_text" {
6909
6960
  import { SurveyError } from "survey-error";
6910
6961
  import { QuestionTextBase } from "question_textbase";
6911
6962
  /**
6912
- * A class that describes the Text question type.
6963
+ * A class that describes the Single-Line Input question type.
6913
6964
  *
6914
6965
  * [View Demo](https://surveyjs.io/form-library/examples/questiontype-text/ (linkStyle))
6915
6966
  */
@@ -6926,6 +6977,7 @@ declare module "question_text" {
6926
6977
  */
6927
6978
  get inputType(): string;
6928
6979
  set inputType(val: string);
6980
+ getMaxLength(): any;
6929
6981
  runCondition(values: HashTable<any>, properties: HashTable<any>): void;
6930
6982
  isLayoutTypeSupported(layoutType: string): boolean;
6931
6983
  /**
@@ -7019,7 +7071,7 @@ declare module "question_text" {
7019
7071
  protected canRunValidators(isOnValueChanged: boolean): boolean;
7020
7072
  protected setNewValue(newValue: any): void;
7021
7073
  protected correctValueType(newValue: any): any;
7022
- protected hasPlaceHolder(): boolean;
7074
+ protected hasPlaceholder(): boolean;
7023
7075
  isReadOnlyRenderDiv(): boolean;
7024
7076
  get inputStyle(): any;
7025
7077
  private _isWaitingForEnter;
@@ -7054,7 +7106,7 @@ declare module "question_multipletext" {
7054
7106
  get a11y_input_ariaLabelledBy(): string;
7055
7107
  }
7056
7108
  /**
7057
- * A class that describes an item in a [Multiple Text](https://surveyjs.io/form-library/documentation/api-reference/multiple-text-entry-question-model) question.
7109
+ * A class that describes an item in a [Multiple Textboxes](https://surveyjs.io/form-library/documentation/api-reference/multiple-text-entry-question-model) question.
7058
7110
  *
7059
7111
  * [View Demo](/form-library/examples/multiple-text-box-question/)
7060
7112
  */
@@ -7078,6 +7130,7 @@ declare module "question_multipletext" {
7078
7130
  localeChanged(): void;
7079
7131
  locStrsChanged(): void;
7080
7132
  setData(data: IMultipleTextData): void;
7133
+ focusIn(): void;
7081
7134
  /**
7082
7135
  * Set this property to true, to make the item a required. If a user doesn't fill the item then a validation error will be generated.
7083
7136
  */
@@ -7169,6 +7222,7 @@ declare module "question_multipletext" {
7169
7222
  setSurveyImpl(value: ISurveyImpl, isLight?: boolean): void;
7170
7223
  get isAllowTitleLeft(): boolean;
7171
7224
  get hasSingleInput(): boolean;
7225
+ get isContainer(): boolean;
7172
7226
  get id(): string;
7173
7227
  set id(val: string);
7174
7228
  onSurveyLoad(): void;
@@ -7207,6 +7261,19 @@ declare module "question_multipletext" {
7207
7261
  getConditionJson(operator?: string, path?: string): any;
7208
7262
  locStrsChanged(): void;
7209
7263
  localeChanged(): void;
7264
+ /**
7265
+ * Specifies the error message position relative to individual input fields.
7266
+ *
7267
+ * Possible values:
7268
+ *
7269
+ * - `"default"` (default) - Inherits the setting from the [`errorLocation`](#errorLocation) property.
7270
+ * - `"top"` - Displays error messages above input fields.
7271
+ * - `"bottom"` - Displays error messages below input fields.
7272
+ */
7273
+ get itemErrorLocation(): string;
7274
+ set itemErrorLocation(val: string);
7275
+ getQuestionErrorLocation(): string;
7276
+ getChildErrorLocation(child: Question): string;
7210
7277
  protected isNewValueCorrect(val: any): boolean;
7211
7278
  supportGoNextPageAutomatic(): boolean;
7212
7279
  /**
@@ -7273,7 +7340,7 @@ declare module "themes" {
7273
7340
  declare module "survey" {
7274
7341
  import { JsonError } from "jsonobject";
7275
7342
  import { Base, EventBase } from "base";
7276
- import { ISurvey, ISurveyData, ISurveyImpl, ITextProcessor, IQuestion, IPanel, IElement, IPage, ISurveyErrorOwner, ISurveyElement, IProgressInfo, IFindElement, ISurveyLayoutElement, LayoutElementContainer } from "base-interfaces";
7343
+ import { ISurvey, ISurveyData, ISurveyImpl, ITextProcessor, IQuestion, IPanel, IElement, IPage, ISurveyErrorOwner, ISurveyElement, IProgressInfo, IFindElement, ISurveyLayoutElement, IPlainDataOptions, LayoutElementContainer } from "base-interfaces";
7277
7344
  import { SurveyElementCore } from "survey-element";
7278
7345
  import { ISurveyTriggerOwner, SurveyTrigger, Trigger } from "trigger";
7279
7346
  import { CalculatedValue } from "calculatedValue";
@@ -7320,7 +7387,7 @@ declare module "survey" {
7320
7387
  *
7321
7388
  * Many question types allow respondents to leave comments. To enable this functionality, set a question's [`showCommentArea`](https://surveyjs.io/form-library/documentation/api-reference/checkbox-question-model#showCommentArea) property to `true`. Comment values are saved in a separate property. The property name is composed of the question `name` and `commentSuffix`.
7322
7389
  *
7323
- * Respondents can also leave a comment when they select "Other" in a single- or multi-select question, such as Dropdown or Checkboxes. The property name for the comment value is composed according to the same rules. However, you can use the question `name` as a key to store the comment value instead. Disable the [`storeOthersAsComment`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#storeOthersAsComment) property in this case.
7390
+ * Respondents can also leave comments when they select "Other" in choice-based questions, such as Dropdown or Checkboxes. The property name for the comment value is composed according to the same rules. However, you can use the question `name` as a key to store the comment value instead. Disable the [`storeOthersAsComment`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#storeOthersAsComment) property in this case.
7324
7391
  *
7325
7392
  * [View Demo](https://surveyjs.io/form-library/examples/create-checkboxes-question-in-javascript/ (linkStyle))
7326
7393
  */
@@ -7609,7 +7676,8 @@ declare module "survey" {
7609
7676
  */
7610
7677
  onGetQuestionNo: EventBase<SurveyModel, GetQuestionNoEvent>;
7611
7678
  /**
7612
- * Use this event to change the progress text in code.
7679
+ * An event that is raised before the survey displays progress text. Handle this event to change the progress text in code.
7680
+ * @see showProgressBar
7613
7681
  * @see progressBarType
7614
7682
  */
7615
7683
  onProgressText: EventBase<SurveyModel, ProgressTextEvent>;
@@ -8201,38 +8269,36 @@ declare module "survey" {
8201
8269
  beforeSettingPanelErrors(question: IPanel, errors: Array<SurveyError>): void;
8202
8270
  private maakeRequiredErrorsInvisibgle;
8203
8271
  /**
8204
- * Gets or sets the first question index. The first question index is '1' by default. You may start it from '100' or from 'A', by setting '100' or 'A' to this property.
8205
- * You can set the start index to "(1)" or "# A)" or "a)" to render question number as (1), # A) and a) accordingly.
8206
- * @see Question.title
8207
- * @see requiredText
8272
+ * Specifies the initial number or letter from which to start question numbering.
8208
8273
  *
8209
- * [View Demo](https://surveyjs.io/form-library/examples/survey-processtext/ (linkStyle))
8274
+ * [Question Numbers](https://surveyjs.io/form-library/documentation/design-survey/configure-question-titles#question-numbers (linkStyle))
8210
8275
  */
8211
8276
  get questionStartIndex(): string;
8212
8277
  set questionStartIndex(val: string);
8213
8278
  /**
8214
- * Gets or sets whether the "Others" option text is stored as question comment.
8279
+ * Specifies whether to store the "Other" option response in a separate property.
8280
+ *
8281
+ * Default value: `true`
8215
8282
  *
8216
- * By default the entered text in the "Others" input in the checkbox/radiogroup/dropdown is stored as `"question name " + "-Comment"`. The value itself is `"question name": "others"`.
8217
- * Set this property to `false`, to store the entered text directly in the `"question name"` key.
8218
- * @see commentSuffix
8283
+ * Respondents can leave comments when they select "Other" in choice-based questions, such as Dropdown or Checkboxes. Comment values are saved in a separate property. The property name is composed of the question `name` and [`commentSuffix`](#commentSuffix). However, you can use the question `name` as a key to store the comment value instead. Disable the `storeOthersAsComment` property in this case.
8284
+ * @see maxOthersLength
8219
8285
  */
8220
8286
  get storeOthersAsComment(): boolean;
8221
8287
  set storeOthersAsComment(val: boolean);
8222
8288
  /**
8223
- * Specifies the default maximum length for questions like text and comment, including matrix cell questions.
8289
+ * Specifies the maximum text length in textual questions ([Single-Line Input](https://surveyjs.io/form-library/examples/text-entry-question/), [Long Text](https://surveyjs.io/form-library/examples/add-open-ended-question-to-a-form/), [Multiple Textboxes](https://surveyjs.io/form-library/examples/multiple-text-box-question/)), measured in characters.
8290
+ *
8291
+ * Default value: 0 (unlimited)
8224
8292
  *
8225
- * The default value is `0`, that means that the text and comment have the same max length as the standard HTML input - 524288 characters: https://www.w3schools.com/tags/att_input_maxlength.asp.
8293
+ * You can override this setting for individual questions if you specify their [`maxLength`](https://surveyjs.io/form-library/documentation/api-reference/text-entry-question-model#maxLength) property.
8226
8294
  * @see maxOthersLength
8227
8295
  */
8228
8296
  get maxTextLength(): number;
8229
8297
  set maxTextLength(val: number);
8230
8298
  /**
8231
- * Gets or sets the default maximum length for question comments and others
8299
+ * Specifies the maximum text length for question comments. Applies to questions with the [`showCommentArea`](https://surveyjs.io/form-library/documentation/api-reference/question#showCommentArea) or [`showOtherItem`](https://surveyjs.io/form-library/documentation/api-reference/question#showOtherItem) property set to `true`.
8232
8300
  *
8233
- * The default value is `0`, that means that the question comments have the same max length as the standard HTML input - 524288 characters: https://www.w3schools.com/tags/att_input_maxlength.asp.
8234
- * @see Question.showCommentArea
8235
- * @see Question.showOtherItem
8301
+ * Default value: 0 (unlimited)
8236
8302
  * @see maxTextLength
8237
8303
  */
8238
8304
  get maxOthersLength(): number;
@@ -8244,7 +8310,7 @@ declare module "survey" {
8244
8310
  *
8245
8311
  * If you enable this property, the survey is also completed automatically. Set the [`allowCompleteSurveyAutomatic`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#allowCompleteSurveyAutomatic) property to `false` if you want to disable this behavior.
8246
8312
  *
8247
- * > If any of the following questions is answered last, the survey does not switch to the next page: Checkbox, Boolean (rendered as Checkbox), Comment, Signature Pad, Image Picker (with Multi Select), File, Single-Choice Matrix (not all rows are answered), Dynamic Matrix, Panel Dynamic.
8313
+ * > If any of the following questions is answered last, the survey does not switch to the next page: Checkboxes, Yes/No (Boolean) (rendered as Checkbox), Long Text, Signature, Image Picker (with Multi Select), File Upload, Single-Select Matrix (not all rows are answered), Dynamic Matrix, Dynamic Panel.
8248
8314
  *
8249
8315
  * [View Demo](https://surveyjs.io/form-library/examples/automatically-move-to-next-page-if-answer-selected/ (linkStyle))
8250
8316
  */
@@ -8475,9 +8541,7 @@ declare module "survey" {
8475
8541
  * An image to display in the background of the survey or form. Accepts a base64 or URL string value.
8476
8542
  * @see backgroundOpacity
8477
8543
  */
8478
- get backgroundImage(): string;
8479
- set backgroundImage(value: string);
8480
- get locBackgroundImage(): LocalizableString;
8544
+ backgroundImage: string;
8481
8545
  renderBackgroundImage: string;
8482
8546
  private updateRenderBackgroundImage;
8483
8547
  backgroundImageFit: ImageFit;
@@ -8621,9 +8685,9 @@ declare module "survey" {
8621
8685
  getUpdatedQuestionTitle(question: Question, title: string): string;
8622
8686
  getUpdatedQuestionNo(question: Question, no: string): string;
8623
8687
  /**
8624
- * Gets or sets whether the survey displays page numbers on pages titles.
8688
+ * Specifies whether page titles contain page numbers.
8625
8689
  *
8626
- * [View Demo](https://surveyjs.io/form-library/examples/survey-options/ (linkStyle))
8690
+ * [View Demo](https://surveyjs.io/form-library/examples/how-to-number-pages-and-questions/ (linkStyle))
8627
8691
  */
8628
8692
  get showPageNumbers(): boolean;
8629
8693
  set showPageNumbers(value: boolean);
@@ -8688,22 +8752,27 @@ declare module "survey" {
8688
8752
  set questionTitleLocation(value: string);
8689
8753
  updateElementCss(reNew?: boolean): void;
8690
8754
  /**
8691
- * Gets or sets the error message position.
8755
+ * Specifies the error message position.
8692
8756
  *
8693
- * The following options are available:
8757
+ * Possible values:
8758
+ *
8759
+ * - `"top"` (default) - Displays error messages above questions.
8760
+ * - `"bottom"` - Displays error messages below questions.
8694
8761
  *
8695
- * - `top` - to show question error(s) over the question,
8696
- * - `bottom` - to show question error(s) under the question.
8762
+ * You can override this setting if you specify the `questionErrorLocation` property for an [individual page](https://surveyjs.io/form-library/documentation/pagemodel#questionErrorLocation) or [panel](https://surveyjs.io/form-library/documentation/panelmodel#questionErrorLocation) or set the `errorLocation` property for a [specific question](https://surveyjs.io/form-library/documentation/question#errorLocation).
8697
8763
  */
8698
8764
  get questionErrorLocation(): string;
8699
8765
  set questionErrorLocation(value: string);
8700
8766
  /**
8701
- * Gets or sets the question description position. The default value is `underTitle`.
8767
+ * Specifies where to display question descriptions.
8702
8768
  *
8703
- * The following options are available:
8769
+ * Possible values:
8770
+ *
8771
+ * - `"underTitle"` (default) - Displays descriptions under question titles.
8772
+ * - `"underInput"` - Displays descriptions under the interactive area.
8773
+ *
8774
+ * You can override this setting for individual questions if you specify their [`descriptionLocation`](https://surveyjs.io/form-library/documentation/api-reference/question#descriptionLocation) property.
8704
8775
  *
8705
- * - `underTitle` - show question description under the question title,
8706
- * - `underInput` - show question description under the question input instead of question title.
8707
8776
  */
8708
8777
  get questionDescriptionLocation(): string;
8709
8778
  set questionDescriptionLocation(value: string);
@@ -8765,14 +8834,7 @@ declare module "survey" {
8765
8834
  *
8766
8835
  * If you want to skip empty answers, pass an object with the `includeEmpty` property set to `false`.
8767
8836
  */
8768
- getPlainData(options?: {
8769
- includeEmpty?: boolean;
8770
- includeQuestionTypes?: boolean;
8771
- includeValues?: boolean;
8772
- calculations?: Array<{
8773
- propertyName: string;
8774
- }>;
8775
- }): Array<IQuestionPlainData>;
8837
+ getPlainData(options?: IPlainDataOptions): Array<IQuestionPlainData>;
8776
8838
  getFilteredValues(): any;
8777
8839
  private addCalculatedValuesIntoFilteredValues;
8778
8840
  getFilteredProperties(): any;
@@ -9227,6 +9289,7 @@ declare module "survey" {
9227
9289
  * The `doComplete()` method completes the survey regardless of validation errors and the current page. If you need to ensure that survey results are valid and full, call the [`completeLastPage()`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#completeLastPage) method instead.
9228
9290
  *
9229
9291
  * @param isCompleteOnTrigger For internal use.
9292
+ * @param completeTrigger For internal use.
9230
9293
  * @returns `false` if survey completion is cancelled within the [`onCompleting`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onCompleting) event handler; otherwise, `true`.
9231
9294
  * @see surveyPostId
9232
9295
  */
@@ -9343,7 +9406,7 @@ declare module "survey" {
9343
9406
  private getUpdatedPanelTitleActions;
9344
9407
  private getUpdatedPageTitleActions;
9345
9408
  getUpdatedMatrixRowActions(question: QuestionMatrixDropdownModelBase, row: any, actions: Array<IAction>): IAction[];
9346
- scrollElementToTop(element: ISurveyElement, question: Question, page: PageModel, id: string): any;
9409
+ scrollElementToTop(element: ISurveyElement, question: Question, page: PageModel, id: string, scrollIfVisible?: boolean): any;
9347
9410
  /**
9348
9411
  * Uploads a file to server.
9349
9412
  *
@@ -9537,6 +9600,7 @@ declare module "survey" {
9537
9600
  private triggerValues;
9538
9601
  private triggerKeys;
9539
9602
  private checkTriggers;
9603
+ private get hasRequiredValidQuestionTrigger();
9540
9604
  private doElementsOnLoad;
9541
9605
  private conditionValues;
9542
9606
  private get isRunningConditions();
@@ -10002,7 +10066,7 @@ declare module "survey-element" {
10002
10066
  dragTypeOverMe: DragTypeOverMeEnum;
10003
10067
  isDragMe: boolean;
10004
10068
  readOnlyChangedCallback: () => void;
10005
- static ScrollElementToTop(elementId: string): boolean;
10069
+ static ScrollElementToTop(elementId: string, scrollIfVisible?: boolean): boolean;
10006
10070
  static GetFirstNonTextElement(elements: any, removeSpaces?: boolean): any;
10007
10071
  static FocusElement(elementId: string): boolean;
10008
10072
  private static focusElementCore;
@@ -10208,7 +10272,7 @@ declare module "survey-element" {
10208
10272
  * @see Base.getType
10209
10273
  */
10210
10274
  get isQuestion(): boolean;
10211
- delete(): void;
10275
+ delete(doDispose: boolean): void;
10212
10276
  locOwner: ILocalizableOwner;
10213
10277
  /**
10214
10278
  * Returns the survey's [locale](https://surveyjs.io/form-library/documentation/surveymodel#locale).
@@ -10376,7 +10440,7 @@ declare module "console-warnings" {
10376
10440
  declare module "question" {
10377
10441
  import { HashTable } from "helpers";
10378
10442
  import { EventBase } from "base";
10379
- import { IElement, IQuestion, IPanel, IConditionRunner, ISurveyImpl, IPage, ITitleOwner, IProgressInfo, ISurvey } from "base-interfaces";
10443
+ import { IElement, IQuestion, IPanel, IConditionRunner, ISurveyImpl, IPage, ITitleOwner, IProgressInfo, ISurvey, IPlainDataOptions } from "base-interfaces";
10380
10444
  import { SurveyElement } from "survey-element";
10381
10445
  import { SurveyValidator, IValidatorOwner } from "validator";
10382
10446
  import { TextPreProcessorValue } from "textPreProcessor";
@@ -10480,7 +10544,7 @@ declare module "question" {
10480
10544
  get page(): IPage;
10481
10545
  set page(val: IPage);
10482
10546
  getPanel(): IPanel;
10483
- delete(): void;
10547
+ delete(doDispose?: boolean): void;
10484
10548
  protected removeFromParent(): void;
10485
10549
  protected addDependedQuestion(question: Question): void;
10486
10550
  protected removeDependedQuestion(question: Question): void;
@@ -10638,7 +10702,19 @@ declare module "question" {
10638
10702
  get hasTitleOnTop(): boolean;
10639
10703
  get hasTitleOnBottom(): boolean;
10640
10704
  get hasTitleOnLeftTop(): boolean;
10705
+ /**
10706
+ * Specifies the error message position. Overrides the `questionErrorLocation` property specified for the question's container ([survey](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#questionErrorLocation), [page](https://surveyjs.io/form-library/documentation/api-reference/page-model#questionErrorLocation), or [panel](https://surveyjs.io/form-library/documentation/api-reference/panel-model#questionErrorLocation)).
10707
+ *
10708
+ * Possible values:
10709
+ *
10710
+ * - `"default"` (default) - Inherits the setting from the `questionErrorLocation` property specified for the question's container.
10711
+ * - `"top"` - Displays error messages above questions.
10712
+ * - `"bottom"` - Displays error messages below questions.
10713
+ */
10641
10714
  get errorLocation(): string;
10715
+ set errorLocation(val: string);
10716
+ getErrorLocation(): string;
10717
+ getChildErrorLocation(child: Question): string;
10642
10718
  /**
10643
10719
  * Returns `false` if the question has no input fields ([HTML](https://surveyjs.io/form-library/documentation/questionhtmlmodel), [Image](https://surveyjs.io/form-library/documentation/questionimagemodel), and similar question types).
10644
10720
  * @see hasSingleInput
@@ -10694,12 +10770,15 @@ declare module "question" {
10694
10770
  commentPlaceholder: string;
10695
10771
  get commentPlaceHolder(): string;
10696
10772
  set commentPlaceHolder(newValue: string);
10773
+ get renderedCommentPlaceholder(): string;
10774
+ private calcRenderedCommentPlaceholder;
10697
10775
  getAllErrors(): Array<SurveyError>;
10698
10776
  getErrorByType(errorType: string): SurveyError;
10699
10777
  get customWidget(): QuestionCustomWidget;
10700
10778
  updateCustomWidget(): void;
10701
10779
  localeChanged(): void;
10702
10780
  get isCompositeQuestion(): boolean;
10781
+ get isContainer(): boolean;
10703
10782
  protected updateCommentElements(): void;
10704
10783
  onCommentInput(event: any): void;
10705
10784
  onCommentChange(event: any): void;
@@ -10761,7 +10840,7 @@ declare module "question" {
10761
10840
  * Moves focus to the input field of this question.
10762
10841
  * @param onError Pass `true` if you want to focus an input field with the first validation error. Default value: `false` (focuses the first input field). Applies to question types with multiple input fields.
10763
10842
  */
10764
- focus(onError?: boolean): void;
10843
+ focus(onError?: boolean, scrollIfVisible?: boolean): void;
10765
10844
  private focuscore;
10766
10845
  private expandAllParents;
10767
10846
  focusIn(): void;
@@ -10867,8 +10946,32 @@ declare module "question" {
10867
10946
  get isValueArray(): boolean;
10868
10947
  /**
10869
10948
  * Gets or sets the question value.
10870
- * @see SurveyModel.setValue
10871
- * @see SurveyModel.getValue
10949
+ *
10950
+ * The following table illustrates how the value type depends on the question type:
10951
+ *
10952
+ * | Question type | Value type(s) |
10953
+ * | ------------- | ------------- |
10954
+ * | Checkboxes | `Array<String \| Number>` |
10955
+ * | Dropdown | `String` \| `Number` |
10956
+ * | Dynamic Matrix | `Array<Object>` |
10957
+ * | Dynamic Panel | `Array<Object>` |
10958
+ * | Expression | `String` \| `Number` \| `Boolean` |
10959
+ * | File Upload | `File` \| `Array<File>` |
10960
+ * | HTML | (no value) |
10961
+ * | Image | (no value) |
10962
+ * | Image Picker | `Array<String \| Number>` |
10963
+ * | Long Text | `String` |
10964
+ * | Multi-Select Dropdown | `Object` |
10965
+ * | Multi-Select Matrix | `Object` |
10966
+ * | Multiple Textboxes | `Array<String>` |
10967
+ * | Panel | (no value) |
10968
+ * | Radio Button Group | `String` \| `Number` |
10969
+ * | Ranking | `Array<String \| Number>` |
10970
+ * | Rating Scale | `Number` \| `String` |
10971
+ * | Signature | `String` (base64-encoded image) |
10972
+ * | Single-Line Input | `String` \| `Number` \| `Date` |
10973
+ * | Single-Select Matrix | `Object` |
10974
+ * | Yes/No (Boolean) | `Boolean` \| `String` |
10872
10975
  */
10873
10976
  get value(): any;
10874
10977
  set value(newValue: any);
@@ -10954,13 +11057,8 @@ declare module "question" {
10954
11057
  *
10955
11058
  * Pass an object with the `includeEmpty` property set to `false` if you want to skip empty answers.
10956
11059
  */
10957
- getPlainData(options?: {
10958
- includeEmpty?: boolean;
10959
- includeQuestionTypes?: boolean;
10960
- calculations?: Array<{
10961
- propertyName: string;
10962
- }>;
10963
- }): IQuestionPlainData;
11060
+ getPlainData(options?: IPlainDataOptions): IQuestionPlainData;
11061
+ protected getPlainDataCalculatedValue(propName: string): any;
10964
11062
  /**
10965
11063
  * A correct answer to this question. Specify this property if you want to [create a quiz](https://surveyjs.io/form-library/documentation/design-survey-create-a-quiz).
10966
11064
  * @see SurveyModel.getCorrectAnswerCount
@@ -11072,6 +11170,7 @@ declare module "question" {
11072
11170
  private isOldAnswered;
11073
11171
  protected allowNotifyValueChanged: boolean;
11074
11172
  protected setNewValue(newValue: any): void;
11173
+ private checkIsValueCorrect;
11075
11174
  protected isNewValueCorrect(val: any): boolean;
11076
11175
  protected isNewValueEqualsToValue(newValue: any): boolean;
11077
11176
  protected isTextValue(): boolean;
@@ -11129,6 +11228,7 @@ declare module "question" {
11129
11228
  set validatedValue(val: any);
11130
11229
  getAllValues(): any;
11131
11230
  processPopupVisiblilityChanged(popupModel: PopupModel, visible: boolean): void;
11231
+ protected onTextKeyDownHandler(event: any): void;
11132
11232
  transformToMobileView(): void;
11133
11233
  transformToDesktopView(): void;
11134
11234
  needResponsiveWidth(): boolean;
@@ -11147,6 +11247,7 @@ declare module "question" {
11147
11247
  protected processResponsiveness(requiredWidth: number, availableWidth: number): any;
11148
11248
  destroyResizeObserver(): void;
11149
11249
  dispose(): void;
11250
+ private resetDependedQuestions;
11150
11251
  }
11151
11252
  }
11152
11253
  declare module "martixBase" {
@@ -11265,10 +11366,10 @@ declare module "martixBase" {
11265
11366
  }
11266
11367
  declare module "question_matrixdropdownbase" {
11267
11368
  import { QuestionMatrixBaseModel } from "martixBase";
11268
- import { Question, IConditionObject } from "question";
11369
+ import { Question, IConditionObject, IQuestionPlainData } from "question";
11269
11370
  import { HashTable } from "helpers";
11270
11371
  import { Base } from "base";
11271
- import { IElement, IQuestion, ISurveyData, ISurvey, ISurveyImpl, ITextProcessor, IProgressInfo, IPanel } from "base-interfaces";
11372
+ import { IElement, IQuestion, ISurveyData, ISurvey, ISurveyImpl, ITextProcessor, IProgressInfo, IPanel, IPlainDataOptions } from "base-interfaces";
11272
11373
  import { ItemValue } from "itemvalue";
11273
11374
  import { ILocalizableOwner, LocalizableString } from "localizablestring";
11274
11375
  import { PanelModel } from "panel";
@@ -11443,6 +11544,7 @@ declare module "question_matrixdropdownbase" {
11443
11544
  getType(): string;
11444
11545
  dispose(): void;
11445
11546
  get hasSingleInput(): boolean;
11547
+ get isContainer(): boolean;
11446
11548
  get isRowsDynamic(): boolean;
11447
11549
  private isUpdating;
11448
11550
  protected get isUpdateLocked(): boolean;
@@ -11462,6 +11564,31 @@ declare module "question_matrixdropdownbase" {
11462
11564
  set columnLayout(val: string);
11463
11565
  get columnsLocation(): string;
11464
11566
  set columnsLocation(val: string);
11567
+ /**
11568
+ * Specifies the error message position for questions within detail sections.
11569
+ *
11570
+ * Possible values:
11571
+ *
11572
+ * - `"default"` (default) - Inherits the setting from the [`errorLocation`](#errorLocation) property.
11573
+ * - `"top"` - Displays error messages above questions.
11574
+ * - `"bottom"` - Displays error messages below questions.
11575
+ * @see cellErrorLocation
11576
+ */
11577
+ get detailErrorLocation(): string;
11578
+ set detailErrorLocation(value: string);
11579
+ /**
11580
+ * Specifies the error message position relative to matrix cells.
11581
+ *
11582
+ * Possible values:
11583
+ *
11584
+ * - `"default"` (default) - Inherits the setting from the [`errorLocation`](#errorLocation) property.
11585
+ * - `"top"` - Displays error messages above matrix cells.
11586
+ * - `"bottom"` - Displays error messages below matrix cells.
11587
+ * @see detailErrorLocation
11588
+ */
11589
+ get cellErrorLocation(): string;
11590
+ set cellErrorLocation(value: string);
11591
+ getChildErrorLocation(child: Question): string;
11465
11592
  /**
11466
11593
  * Returns `true` if columns are placed in the horizontal direction and rows in the vertical direction.
11467
11594
  *
@@ -11590,6 +11717,7 @@ declare module "question_matrixdropdownbase" {
11590
11717
  private checkColumnsVisibility;
11591
11718
  private checkColumnsRenderedRequired;
11592
11719
  private isColumnVisibilityChanged;
11720
+ private updateNewVisibleChoices;
11593
11721
  protected runTotalsCondition(values: HashTable<any>, properties: HashTable<any>): void;
11594
11722
  private getRowConditionValues;
11595
11723
  IsMultiplyColumn(column: MatrixDropdownColumn): boolean;
@@ -11669,12 +11797,7 @@ declare module "question_matrixdropdownbase" {
11669
11797
  protected getRowValueCore(row: MatrixDropdownRowModelBase, questionValue: any, create?: boolean): any;
11670
11798
  protected getRowObj(row: MatrixDropdownRowModelBase): any;
11671
11799
  protected getRowDisplayValue(keysAsText: boolean, row: MatrixDropdownRowModelBase, rowValue: any): any;
11672
- getPlainData(options?: {
11673
- includeEmpty?: boolean;
11674
- calculations?: Array<{
11675
- propertyName: string;
11676
- }>;
11677
- }): import("question").IQuestionPlainData;
11800
+ getPlainData(options?: IPlainDataOptions): IQuestionPlainData;
11678
11801
  addConditionObjectsByContext(objects: Array<IConditionObject>, context: any): void;
11679
11802
  protected collectNestedQuestionsCore(questions: Question[], visibleOnly: boolean): void;
11680
11803
  protected getConditionObjectRowName(index: number): string;
@@ -11894,7 +12017,7 @@ declare module "base-interfaces" {
11894
12017
  dynamicPanelRemoving(question: IQuestion, panelIndex: number, panel: IPanel): boolean;
11895
12018
  dynamicPanelItemValueChanged(question: IQuestion, options: any): any;
11896
12019
  dragAndDropAllow(options: DragDropAllowEvent): boolean;
11897
- scrollElementToTop(element: ISurveyElement, question: IQuestion, page: IPage, id: string): any;
12020
+ scrollElementToTop(element: ISurveyElement, question: IQuestion, page: IPage, id: string, scrollIfVisible?: boolean): any;
11898
12021
  runExpression(expression: string): any;
11899
12022
  elementContentVisibilityChanged(element: ISurveyElement): void;
11900
12023
  onCorrectQuestionAnswer(question: IQuestion, options: any): void;
@@ -11926,7 +12049,7 @@ declare module "base-interfaces" {
11926
12049
  getType(): string;
11927
12050
  setVisibleIndex(value: number): number;
11928
12051
  locStrsChanged(): any;
11929
- delete(): any;
12052
+ delete(doDispose?: boolean): void;
11930
12053
  toggleState(): void;
11931
12054
  stateChangedCallback(): void;
11932
12055
  getTitleToolbar(): AdaptiveActionContainer;
@@ -11986,6 +12109,7 @@ declare module "base-interfaces" {
11986
12109
  getChildrenLayoutType(): string;
11987
12110
  getQuestionTitleLocation(): string;
11988
12111
  getQuestionStartIndex(): string;
12112
+ getQuestionErrorLocation(): string;
11989
12113
  parent: IPanel;
11990
12114
  elementWidthChanged(el: IElement): any;
11991
12115
  indexOf(el: IElement): number;
@@ -12034,6 +12158,14 @@ declare module "base-interfaces" {
12034
12158
  template?: string;
12035
12159
  data?: any;
12036
12160
  }
12161
+ export interface IPlainDataOptions {
12162
+ includeEmpty?: boolean;
12163
+ includeQuestionTypes?: boolean;
12164
+ includeValues?: boolean;
12165
+ calculations?: Array<{
12166
+ propertyName: string;
12167
+ }>;
12168
+ }
12037
12169
  }
12038
12170
  declare module "itemvalue" {
12039
12171
  import { ILocalizableOwner, LocalizableString } from "localizablestring";
@@ -12330,7 +12462,9 @@ declare module "base" {
12330
12462
  * @param defaultValue (Optional) A value to return if the property is not found or does not have a value.
12331
12463
  */
12332
12464
  getPropertyValue(name: string, defaultValue?: any): any;
12333
- private getDefaultValueFromProperty;
12465
+ getDefaultPropertyValue(name: string): any;
12466
+ hasDefaultPropertyValue(name: string): boolean;
12467
+ resetPropertyValue(name: string): void;
12334
12468
  protected getPropertyValueWithoutDefault(name: string): any;
12335
12469
  protected getPropertyValueCore(propertiesHash: any, name: string): any;
12336
12470
  geValueFromHash(): any;
@@ -12927,10 +13061,20 @@ declare module "settings" {
12927
13061
  */
12928
13062
  tagboxCloseOnSelect: boolean;
12929
13063
  /**
12930
- * A property that allows you to display a custom confirm dialog instead of the standard browser dialog. Set this property to a function that renders your custom dialog window.
13064
+ * A property that allows you to display a custom confirm dialog instead of the standard browser dialog.
13065
+ *
13066
+ * Set this property to a function that renders your custom dialog window. This function should return `true` if a user confirms an action or `false` otherwise.
12931
13067
  * @param message A message to be displayed in the confirm dialog window.
12932
13068
  */
12933
13069
  confirmActionFunc: (message: string) => boolean;
13070
+ /**
13071
+ * A property that allows you to display a custom confirm dialog instead of the standard browser dialog in async mode.
13072
+ *
13073
+ * Set this property to a function that renders your custom dialog window. This function should return `true` to be enabled; otherwise, a survey executes the [`confirmActionFunc`](#confirmActionFunc) function. Pass the dialog result as the `callback` parameter: `true` if a user confirms an action, `false` otherwise.
13074
+ * @param message A message to be displayed in the confirm dialog window.
13075
+ * @param callback A callback function that should be called with `true` if a user confirms an action or `false` otherwise.
13076
+ */
13077
+ confirmActionAsync: (message: string, callback: (res: boolean) => void) => boolean;
12934
13078
  /**
12935
13079
  * A minimum width value for all survey elements.
12936
13080
  *
@@ -13064,7 +13208,7 @@ declare module "question_matrixdropdown" {
13064
13208
  get locText(): LocalizableString;
13065
13209
  }
13066
13210
  /**
13067
- * A class that describes the Multiple-Choice Matrix question type. Multiple-Choice Matrix allows you to use the [Dropdown](https://surveyjs.io/form-library/documentation/questiondropdownmodel), [Checkbox](https://surveyjs.io/form-library/documentation/questioncheckboxmodel), [Radiogroup](https://surveyjs.io/form-library/documentation/questionradiogroupmodel), [Text](https://surveyjs.io/form-library/documentation/questiontextmodel), and [Comment](https://surveyjs.io/form-library/documentation/questioncommentmodel) question types as cell editors.
13211
+ * A class that describes the Multi-Select Matrix question type. Multi-Select Matrix allows you to use the [Dropdown](https://surveyjs.io/form-library/documentation/questiondropdownmodel), [Checkbox](https://surveyjs.io/form-library/documentation/questioncheckboxmodel), [Radiogroup](https://surveyjs.io/form-library/documentation/questionradiogroupmodel), [Text](https://surveyjs.io/form-library/documentation/questiontextmodel), and [Comment](https://surveyjs.io/form-library/documentation/questioncommentmodel) question types as cell editors.
13068
13212
  *
13069
13213
  * [View Demo](https://surveyjs.io/form-library/examples/questiontype-matrixdropdown/ (linkStyle))
13070
13214
  */
@@ -13140,6 +13284,7 @@ declare module "dropdownListModel" {
13140
13284
  clear(): void;
13141
13285
  protected onSetFilterString(): void;
13142
13286
  get isAllDataLoaded(): boolean;
13287
+ get canShowSelectedItem(): boolean;
13143
13288
  searchEnabled: boolean;
13144
13289
  filterString: string;
13145
13290
  inputString: string;
@@ -13321,7 +13466,8 @@ declare module "question_matrix" {
13321
13466
  import { Base } from "base";
13322
13467
  import { SurveyError } from "survey-error";
13323
13468
  import { LocalizableString, ILocalizableOwner } from "localizablestring";
13324
- import { IConditionObject } from "question";
13469
+ import { IConditionObject, IQuestionPlainData } from "question";
13470
+ import { IPlainDataOptions } from "base-interfaces";
13325
13471
  export interface IMatrixData {
13326
13472
  onMatrixRowChanged(row: MatrixRowModel): void;
13327
13473
  getCorrectedRowValue(value: any): any;
@@ -13367,7 +13513,7 @@ declare module "question_matrix" {
13367
13513
  protected createString(): LocalizableString;
13368
13514
  }
13369
13515
  /**
13370
- * A class that describes the Single-Choice Matrix question type.
13516
+ * A class that describes the Single-Select Matrix question type.
13371
13517
  *
13372
13518
  * [View Demo](https://surveyjs.io/form-library/examples/single-selection-matrix-table-question/ (linkStyle))
13373
13519
  */
@@ -13435,12 +13581,7 @@ declare module "question_matrix" {
13435
13581
  protected onMatrixRowCreated(row: MatrixRowModel): void;
13436
13582
  protected setQuestionValue(newValue: any, updateIsAnswered?: boolean): void;
13437
13583
  protected getDisplayValueCore(keysAsText: boolean, value: any): any;
13438
- getPlainData(options?: {
13439
- includeEmpty?: boolean;
13440
- calculations?: Array<{
13441
- propertyName: string;
13442
- }>;
13443
- }): import("question").IQuestionPlainData;
13584
+ getPlainData(options?: IPlainDataOptions): IQuestionPlainData;
13444
13585
  addConditionObjectsByContext(objects: Array<IConditionObject>, context: any): void;
13445
13586
  getConditionJson(operator?: string, path?: string): any;
13446
13587
  protected clearValueIfInvisibleCore(reason: string): void;
@@ -13547,7 +13688,7 @@ declare module "question_checkbox" {
13547
13688
  import { IQuestion } from "base-interfaces";
13548
13689
  import { SurveyError } from "survey-error";
13549
13690
  /**
13550
- * A class that describes the Checkbox question type.
13691
+ * A class that describes the Checkboxes question type.
13551
13692
  *
13552
13693
  * [View Demo](https://surveyjs.io/form-library/examples/questiontype-checkbox/ (linkStyle))
13553
13694
  */
@@ -13741,7 +13882,7 @@ declare module "question_tagbox" {
13741
13882
  import { EventBase } from "base";
13742
13883
  import { ItemValue } from "itemvalue";
13743
13884
  /**
13744
- * A Model for a tagbox question
13885
+ * A class that describes the Multi-Select Dropdown (Tag Box) question type.
13745
13886
  *
13746
13887
  * [View Demo](https://surveyjs.io/form-library/examples/how-to-create-multiselect-tag-box/ (linkStyle))
13747
13888
  */
@@ -14107,7 +14248,7 @@ declare module "question_ranking" {
14107
14248
  declare module "question_comment" {
14108
14249
  import { QuestionTextBase } from "question_textbase";
14109
14250
  /**
14110
- * A class that describes the Comment question type.
14251
+ * A class that describes the Long Text question type.
14111
14252
  *
14112
14253
  * [View Demo](https://surveyjs.io/form-library/examples/questiontype-comment/ (linkStyle))
14113
14254
  */
@@ -14161,7 +14302,7 @@ declare module "question_html" {
14161
14302
  import { QuestionNonValue } from "questionnonvalue";
14162
14303
  import { LocalizableString } from "localizablestring";
14163
14304
  /**
14164
- * A class that describes the Html question type. Unlike other question types, Html cannot have a title or value.
14305
+ * A class that describes the HTML question type. Unlike other question types, HTML cannot have a title or value.
14165
14306
  *
14166
14307
  * [View Demo](https://surveyjs.io/form-library/examples/questiontype-html/ (linkStyle))
14167
14308
  */
@@ -14188,7 +14329,7 @@ declare module "question_radiogroup" {
14188
14329
  import { ItemValue } from "itemvalue";
14189
14330
  import { Action } from "actions/action";
14190
14331
  /**
14191
- * A class that describes the Radiogroup question type.
14332
+ * A class that describes the Radio Button Group question type.
14192
14333
  *
14193
14334
  * [View Demo](https://surveyjs.io/form-library/examples/questiontype-radiogroup/ (linkStyle))
14194
14335
  */
@@ -14345,6 +14486,7 @@ declare module "question_rating" {
14345
14486
  getInputId(index: number): string;
14346
14487
  supportGoNextPageAutomatic(): boolean;
14347
14488
  supportOther(): boolean;
14489
+ protected getPlainDataCalculatedValue(propName: string): any;
14348
14490
  /**
14349
14491
  * Specifies a description for the minimum (first) rate value.
14350
14492
  * @see rateValues
@@ -14485,7 +14627,7 @@ declare module "question_boolean" {
14485
14627
  import { LocalizableString } from "localizablestring";
14486
14628
  import { ActionContainer } from "actions/container";
14487
14629
  /**
14488
- * A class that describes the Boolean question type.
14630
+ * A class that describes the Yes/No (Boolean) question type.
14489
14631
  *
14490
14632
  * [View Demo](https://surveyjs.io/form-library/examples/questiontype-boolean/ (linkStyle))
14491
14633
  */
@@ -14670,7 +14812,7 @@ declare module "question_signaturepad" {
14670
14812
  import { Question } from "question";
14671
14813
  import { ISurveyImpl } from "base-interfaces";
14672
14814
  /**
14673
- * A class that describes the Signature Page question type.
14815
+ * A class that describes the Signature question type.
14674
14816
  *
14675
14817
  * [View Demo](https://surveyjs.io/form-library/examples/signature-pad-widget-javascript/ (linkStyle))
14676
14818
  */
@@ -14719,17 +14861,35 @@ declare module "question_signaturepad" {
14719
14861
  set allowClear(val: boolean);
14720
14862
  get canShowClearButton(): boolean;
14721
14863
  /**
14722
- * Specifies a color for the pen. Accepts hexadecimal colors (`"#FF0000"`), RGB colors (`"rgb(255,0,0)"`), or color names (`"red"`).
14864
+ * Specifies a color for the pen.
14865
+ *
14866
+ * This property accepts color values in the following formats:
14867
+ *
14868
+ * - Hexadecimal colors (`"#FF0000"`)
14869
+ * - RGB colors (`"rgb(255,0,0)"`)
14870
+ * - Color names (`"red"`)
14723
14871
  * @see backgroundColor
14724
14872
  */
14725
14873
  get penColor(): string;
14726
14874
  set penColor(val: string);
14727
14875
  /**
14728
- * Specifies a color for the signature area background. Accepts hexadecimal colors (`"#FF0000"`), RGB colors (`"rgb(255,0,0)"`), or color names (`"red"`).
14876
+ * Specifies a color for the signature area background. Ignored if [`backgroundImage`](#backgroundImage) is set.
14877
+ *
14878
+ * This property accepts color values in the following formats:
14879
+ *
14880
+ * - Hexadecimal colors (`"#FF0000"`)
14881
+ * - RGB colors (`"rgb(255,0,0)"`)
14882
+ * - Color names (`"red"`)
14729
14883
  * @see penColor
14730
14884
  */
14731
14885
  get backgroundColor(): string;
14732
14886
  set backgroundColor(val: string);
14887
+ /**
14888
+ * An image to display in the background of the signature area. Accepts a base64 or URL string value.
14889
+ * @see backgroundColor
14890
+ */
14891
+ get backgroundImage(): string;
14892
+ set backgroundImage(val: string);
14733
14893
  get clearButtonCaption(): string;
14734
14894
  needShowPlaceholder(): boolean;
14735
14895
  get placeHolderText(): string;
@@ -14908,7 +15068,9 @@ declare module "question_custom" {
14908
15068
  */
14909
15069
  title?: string;
14910
15070
  /**
14911
- * An icon name for the custom question type.
15071
+ * The name of an icon to use for the custom question type.
15072
+ *
15073
+ * [UI Icons](https://surveyjs.io/form-library/documentation/icons (linkStyle))
14912
15074
  */
14913
15075
  iconName?: string;
14914
15076
  /**
@@ -15151,6 +15313,7 @@ declare module "question_custom" {
15151
15313
  indexOf(el: IElement): number;
15152
15314
  ensureRowsVisibility(): void;
15153
15315
  validateContainerOnly(): void;
15316
+ getQuestionErrorLocation(): string;
15154
15317
  protected getContentDisplayValueCore(keyAsText: boolean, value: any, question: Question): any;
15155
15318
  }
15156
15319
  export class QuestionCustomModel extends QuestionCustomModelBase {
@@ -15198,6 +15361,8 @@ declare module "question_custom" {
15198
15361
  findQuestionByName(name: string): IQuestion;
15199
15362
  protected clearValueIfInvisibleCore(reason: string): void;
15200
15363
  onAnyValueChanged(name: string): void;
15364
+ get hasSingleInput(): boolean;
15365
+ get isContainer(): boolean;
15201
15366
  protected createPanel(): PanelModel;
15202
15367
  protected onReadOnlyChanged(): void;
15203
15368
  onSurveyLoad(): void;
@@ -15405,7 +15570,7 @@ declare module "entries/chunks/model" {
15405
15570
  export { AnswerCountValidator, EmailValidator, NumericValidator, RegexValidator, SurveyValidator, TextValidator, ValidatorResult, ExpressionValidator, ValidatorRunner } from "validator";
15406
15571
  export { ItemValue } from "itemvalue";
15407
15572
  export { Base, Event, EventBase, ArrayChanges, ComputedUpdater } from "base";
15408
- export { ISurvey, ISurveyElement, IElement, IQuestion, IPage, IPanel, ISurveyData, ITitleOwner, ISurveyLayoutElement, IShortcutText } from "base-interfaces";
15573
+ export { ISurvey, ISurveyElement, IElement, IQuestion, IPage, IPanel, ISurveyData, ITitleOwner, ISurveyLayoutElement, IPlainDataOptions as IPlainData, IShortcutText } from "base-interfaces";
15409
15574
  export { SurveyError } from "survey-error";
15410
15575
  export { SurveyElementCore, SurveyElement, DragTypeOverMeEnum } from "survey-element";
15411
15576
  export { CalculatedValue } from "calculatedValue";
@@ -15462,7 +15627,7 @@ declare module "entries/chunks/model" {
15462
15627
  export * from "themes";
15463
15628
  export { SurveyModel } from "survey";
15464
15629
  export * from "survey-events-api";
15465
- export { SurveyTrigger, SurveyTriggerComplete, SurveyTriggerSetValue, SurveyTriggerVisible, SurveyTriggerCopyValue, SurveyTriggerRunExpression, Trigger } from "trigger";
15630
+ export { SurveyTrigger, SurveyTriggerComplete, SurveyTriggerSetValue, SurveyTriggerVisible, SurveyTriggerCopyValue, SurveyTriggerRunExpression, SurveyTriggerSkip, Trigger } from "trigger";
15466
15631
  export { PopupSurveyModel, SurveyWindowModel } from "popup-survey";
15467
15632
  export { TextPreProcessor } from "textPreProcessor";
15468
15633
  export { Notifier } from "notifier";
@@ -15483,7 +15648,7 @@ declare module "entries/chunks/model" {
15483
15648
  export { DropdownMultiSelectListModel } from "dropdownMultiSelectListModel";
15484
15649
  export { QuestionButtonGroupModel, ButtonGroupItemModel, ButtonGroupItemValue } from "question_buttongroup";
15485
15650
  export { IsMobile, IsTouch, _setIsTouch } from "utils/devices";
15486
- export { confirmAction, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, sanitizeEditableContent, IAttachKey2clickOptions } from "utils/utils";
15651
+ export { confirmAction, confirmActionAsync, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, sanitizeEditableContent, IAttachKey2clickOptions } from "utils/utils";
15487
15652
  export * from "utils/cssClassBuilder";
15488
15653
  export { surveyCss, defaultV2Css, defaultV2ThemeName } from "defaultCss/defaultV2Css";
15489
15654
  export { DragDropCore } from "dragdrop/core";
@@ -15837,6 +16002,8 @@ declare module "defaultCss/cssstandard" {
15837
16002
  root: string;
15838
16003
  controls: string;
15839
16004
  placeholder: string;
16005
+ canvas: string;
16006
+ backgroundImage: string;
15840
16007
  clearButton: string;
15841
16008
  };
15842
16009
  saveData: {
@@ -16299,6 +16466,8 @@ declare module "defaultCss/cssmodern" {
16299
16466
  small: string;
16300
16467
  controls: string;
16301
16468
  placeholder: string;
16469
+ canvas: string;
16470
+ backgroundImage: string;
16302
16471
  clearButton: string;
16303
16472
  };
16304
16473
  saveData: {
@@ -16705,6 +16874,8 @@ declare module "plugins/themes/bootstrap/cssbootstrap" {
16705
16874
  root: string;
16706
16875
  controls: string;
16707
16876
  placeholder: string;
16877
+ canvas: string;
16878
+ backgroundImage: string;
16708
16879
  clearButton: string;
16709
16880
  };
16710
16881
  saveData: {
@@ -17066,6 +17237,8 @@ declare module "plugins/themes/bootstrapmaterial/cssbootstrapmaterial" {
17066
17237
  root: string;
17067
17238
  controls: string;
17068
17239
  placeholder: string;
17240
+ canvas: string;
17241
+ backgroundImage: string;
17069
17242
  clearButton: string;
17070
17243
  };
17071
17244
  saveData: {
@@ -17533,6 +17706,8 @@ declare module "entries/plugins" {
17533
17706
  root: string;
17534
17707
  controls: string;
17535
17708
  placeholder: string;
17709
+ canvas: string;
17710
+ backgroundImage: string;
17536
17711
  clearButton: string;
17537
17712
  };
17538
17713
  saveData: {
@@ -17892,6 +18067,8 @@ declare module "entries/plugins" {
17892
18067
  root: string;
17893
18068
  controls: string;
17894
18069
  placeholder: string;
18070
+ canvas: string;
18071
+ backgroundImage: string;
17895
18072
  clearButton: string;
17896
18073
  };
17897
18074
  saveData: {
@@ -23631,6 +23808,7 @@ declare module "react/signaturepad" {
23631
23808
  constructor(props: any);
23632
23809
  protected get question(): QuestionSignaturePadModel;
23633
23810
  protected renderElement(): JSX.Element;
23811
+ renderBackgroundImage(): JSX.Element | null;
23634
23812
  renderCleanButton(): JSX.Element | null;
23635
23813
  }
23636
23814
  }