survey-react 1.9.110 → 1.9.112

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
@@ -135,6 +135,8 @@ declare module "localization/english" {
135
135
  tagboxDoneButtonCaption: string;
136
136
  selectToRankEmptyRankedAreaText: string;
137
137
  selectToRankEmptyUnrankedAreaText: string;
138
+ ok: string;
139
+ cancel: string;
138
140
  };
139
141
  }
140
142
  declare module "surveyStrings" {
@@ -250,6 +252,8 @@ declare module "surveyStrings" {
250
252
  tagboxDoneButtonCaption: string;
251
253
  selectToRankEmptyRankedAreaText: string;
252
254
  selectToRankEmptyUnrankedAreaText: string;
255
+ ok: string;
256
+ cancel: string;
253
257
  };
254
258
  }
255
259
  declare module "localizablestring" {
@@ -683,6 +687,13 @@ declare module "conditionProcessValue" {
683
687
  private getIntValue;
684
688
  }
685
689
  }
690
+ declare module "console-warnings" {
691
+ export class ConsoleWarnings {
692
+ static disposedObjectChangedProperty(propName: string, objType: string): void;
693
+ static inCorrectQuestionValue(questionName: string, val: any): void;
694
+ static warn(text: string): void;
695
+ }
696
+ }
686
697
  declare module "functionsfactory" {
687
698
  import { HashTable } from "helpers";
688
699
  export class FunctionFactory {
@@ -1011,6 +1022,74 @@ declare module "utils/cssClassBuilder" {
1011
1022
  toString(): string;
1012
1023
  }
1013
1024
  }
1025
+ declare module "popup-view-model" {
1026
+ import { Base } from "base";
1027
+ import { PopupModel } from "popup";
1028
+ import { CssClassBuilder } from "utils/cssClassBuilder";
1029
+ import { ActionContainer } from "actions/container";
1030
+ export const FOCUS_INPUT_SELECTOR = "input:not(:disabled):not([readonly]):not([type=hidden]),select:not(:disabled):not([readonly]),textarea:not(:disabled):not([readonly]), button:not(:disabled):not([readonly]), [tabindex]:not([tabindex^=\"-\"])";
1031
+ export class PopupBaseViewModel extends Base {
1032
+ private static SubscriptionId;
1033
+ private subscriptionId;
1034
+ protected popupSelector: string;
1035
+ protected fixedPopupContainer: string;
1036
+ protected containerSelector: string;
1037
+ protected scrollingContentSelector: string;
1038
+ protected prevActiveElement: HTMLElement;
1039
+ protected footerToolbarValue: ActionContainer;
1040
+ top: string;
1041
+ left: string;
1042
+ height: string;
1043
+ width: string;
1044
+ minWidth: string;
1045
+ isVisible: boolean;
1046
+ locale: string;
1047
+ get container(): HTMLElement;
1048
+ private containerElement;
1049
+ private createdContainer;
1050
+ getLocale(): string;
1051
+ protected hidePopup(): void;
1052
+ protected getStyleClass(): CssClassBuilder;
1053
+ protected getShowFooter(): boolean;
1054
+ protected getShowHeader(): boolean;
1055
+ protected getPopupHeaderTemplate(): string;
1056
+ protected createFooterActionBar(): void;
1057
+ protected resetDimensionsAndPositionStyleProperties(): void;
1058
+ protected onModelChanging(newModel: PopupModel): void;
1059
+ private setupModel;
1060
+ private _model;
1061
+ get model(): PopupModel;
1062
+ set model(model: PopupModel);
1063
+ constructor(model: PopupModel);
1064
+ get title(): string;
1065
+ get contentComponentName(): string;
1066
+ get contentComponentData(): any;
1067
+ get isModal(): boolean;
1068
+ get isFocusedContent(): boolean;
1069
+ get isFocusedContainer(): boolean;
1070
+ get showFooter(): boolean;
1071
+ get showHeader(): boolean;
1072
+ get popupHeaderTemplate(): string;
1073
+ get isOverlay(): boolean;
1074
+ get styleClass(): string;
1075
+ get cancelButtonText(): string;
1076
+ get footerToolbar(): ActionContainer;
1077
+ onKeyDown(event: any): void;
1078
+ private trapFocus;
1079
+ switchFocus(): void;
1080
+ updateOnShowing(): void;
1081
+ updateOnHiding(): void;
1082
+ private focusContainer;
1083
+ private focusFirstInput;
1084
+ clickOutside(event?: Event): void;
1085
+ cancel(): void;
1086
+ dispose(): void;
1087
+ initializePopupContainer(): void;
1088
+ setComponentElement(componentRoot: HTMLElement, targetElement?: HTMLElement | null): void;
1089
+ resetComponentElement(): void;
1090
+ protected preventScrollOuside(event: any, deltaY: number): void;
1091
+ }
1092
+ }
1014
1093
  declare module "utils/utils" {
1015
1094
  function compareVersions(a: any, b: any): number;
1016
1095
  function confirmAction(message: string): boolean;
@@ -1054,6 +1133,7 @@ declare module "utils/utils" {
1054
1133
  log(action: string): void;
1055
1134
  get result(): string;
1056
1135
  }
1136
+ export function showConfirmDialog(message: string, callback: (res: boolean) => void): boolean;
1057
1137
  export { mergeValues, getElementWidth, isContainerVisible, classesToSelector, compareVersions, confirmAction, confirmActionAsync, detectIEOrEdge, detectIEBrowser, loadFileFromBase64, isMobile, isShadowDOM, getElement, isElementVisible, findScrollableParent, scrollElementByChildId, navigateToUrl, wrapUrlForBackgroundImage, createSvg, getIconNameFromProxy, increaseHeightByContent, getOriginalEvent, preventDefaults, findParentByClassNames, getFirstVisibleChild, };
1058
1138
  }
1059
1139
  declare module "actions/container" {
@@ -1596,6 +1676,8 @@ declare module "defaultCss/defaultV2Css" {
1596
1676
  rootReadOnly: string;
1597
1677
  rootCompact: string;
1598
1678
  rootFitToContainer: string;
1679
+ rootWrapper: string;
1680
+ rootWrapperFixed: string;
1599
1681
  rootBackgroundImage: string;
1600
1682
  container: string;
1601
1683
  header: string;
@@ -2333,6 +2415,7 @@ declare module "trigger" {
2333
2415
  protected canBeExecutedOnComplete(): boolean;
2334
2416
  protected isExecutingOnNextPage: boolean;
2335
2417
  checkExpression(isOnNextPage: boolean, isOnComplete: boolean, keys: any, values: HashTable<any>, properties?: HashTable<any>): void;
2418
+ protected canSuccessOnEmptyExpression(): boolean;
2336
2419
  check(value: any): void;
2337
2420
  get requireValidQuestion(): boolean;
2338
2421
  private perform;
@@ -2345,6 +2428,7 @@ declare module "trigger" {
2345
2428
  private onExpressionChanged;
2346
2429
  buildExpression(): string;
2347
2430
  private isCheckRequired;
2431
+ protected getUsedVariables(): string[];
2348
2432
  private createConditionRunner;
2349
2433
  private get isRequireValue();
2350
2434
  }
@@ -2450,6 +2534,8 @@ declare module "trigger" {
2450
2534
  set copyDisplayValue(val: boolean);
2451
2535
  getType(): string;
2452
2536
  protected onSuccess(values: HashTable<any>, properties: HashTable<any>): void;
2537
+ protected canSuccessOnEmptyExpression(): boolean;
2538
+ protected getUsedVariables(): string[];
2453
2539
  }
2454
2540
  }
2455
2541
  declare module "calculatedValue" {
@@ -2864,8 +2950,8 @@ declare module "panel" {
2864
2950
  hasErrors(fireCallback?: boolean, focusOnFirstError?: boolean, rec?: any): boolean;
2865
2951
  /**
2866
2952
  * Validates questions within this panel or page and returns `false` if the validation fails.
2867
- * @param fireCallback *Optional.* Pass `false` if you do not want to show validation errors in the UI.
2868
- * @param focusOnFirstError *Optional.* Pass `true` if you want to focus the first question with a validation error.
2953
+ * @param fireCallback *(Optional)* Pass `false` if you do not want to show validation errors in the UI.
2954
+ * @param focusOnFirstError *(Optional)* Pass `true` if you want to focus the first question with a validation error.
2869
2955
  * @see [Data Validation](https://surveyjs.io/form-library/documentation/data-validation)
2870
2956
  */
2871
2957
  validate(fireCallback?: boolean, focusOnFirstError?: boolean, rec?: any): boolean;
@@ -3223,7 +3309,7 @@ declare module "question_file" {
3223
3309
  *
3224
3310
  * - `sender`: `SurveyModel`\
3225
3311
  * A survey instance that raised the event.
3226
- * - `options.state`: `String`\
3312
+ * - `options.state`: `string`\
3227
3313
  * The current upload state: `"empty"`, `"loading"`, `"loaded"`, or `"error"`.
3228
3314
  */
3229
3315
  onUploadStateChanged: EventBase<QuestionFileModel>;
@@ -3374,6 +3460,7 @@ declare module "question_file" {
3374
3460
  get showFileDecorator(): boolean;
3375
3461
  get showLoadingIndicator(): boolean;
3376
3462
  get allowShowPreview(): boolean;
3463
+ get showPreviewContainer(): boolean;
3377
3464
  get showRemoveButtonCore(): boolean;
3378
3465
  get showRemoveButton(): boolean;
3379
3466
  get showRemoveButtonBottom(): boolean;
@@ -4341,7 +4428,6 @@ declare module "question_expression" {
4341
4428
  set precision(val: number);
4342
4429
  private roundValue;
4343
4430
  protected getValueAsStr(val: any): string;
4344
- protected convertToCorrectValue(val: any): any;
4345
4431
  }
4346
4432
  export function getCurrecyCodes(): Array<string>;
4347
4433
  }
@@ -4429,6 +4515,10 @@ declare module "question_matrixdropdowncolumn" {
4429
4515
  set resetValueIf(val: string);
4430
4516
  get defaultValueExpression(): string;
4431
4517
  set defaultValueExpression(val: string);
4518
+ get setValueIf(): string;
4519
+ set setValueIf(val: string);
4520
+ get setValueExpession(): string;
4521
+ set setValueExpession(val: string);
4432
4522
  get isUnique(): boolean;
4433
4523
  set isUnique(val: boolean);
4434
4524
  get showInMultipleColumns(): boolean;
@@ -4962,7 +5052,7 @@ declare module "question_matrixdynamic" {
4962
5052
  private getQuestionToFocusOnAddingRow;
4963
5053
  /**
4964
5054
  * Creates and adds a new row to the matrix.
4965
- * @param setFocus *Optional.* Pass `true` to focus the cell in the first column.
5055
+ * @param setFocus *(Optional)* Pass `true` to focus the cell in the first column.
4966
5056
  */
4967
5057
  addRow(setFocus?: boolean): void;
4968
5058
  /**
@@ -4981,7 +5071,7 @@ declare module "question_matrixdynamic" {
4981
5071
  /**
4982
5072
  * Removes a matrix row with a specified index.
4983
5073
  * @param index A zero-based row index.
4984
- * @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.
5074
+ * @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.
4985
5075
  */
4986
5076
  removeRow(index: number, confirmDelete?: boolean): void;
4987
5077
  private removeRowAsync;
@@ -5208,8 +5298,8 @@ declare module "question_paneldynamic" {
5208
5298
  *
5209
5299
  * The template can contain the following placeholders:
5210
5300
  *
5211
- * - `{panelIndex}` - A zero-based index of a panel in the [`panels`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#panels) array.
5212
- * - `{visiblePanelIndex}` - A zero-based index of a panel in the [`visiblePanels`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#visiblePanels) array.
5301
+ * - `{panelIndex}` - A panel index within the collection of all panels. Starts with 1.
5302
+ * - `{visiblePanelIndex}` - A panel index within the collection of visible panels. Starts with 1.
5213
5303
  * @see template
5214
5304
  * @see templateDescription
5215
5305
  * @see templateElements
@@ -5224,8 +5314,12 @@ declare module "question_paneldynamic" {
5224
5314
  *
5225
5315
  * The template can contain the following placeholders:
5226
5316
  *
5227
- * - `{panelIndex}` - A zero-based index of a panel in the [`panels`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#panels) array.
5228
- * - `{visiblePanelIndex}` - A zero-based index of a panel in the [`visiblePanels`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#visiblePanels) array.
5317
+ * - `{panelIndex}` - A panel index within the collection of all panels. Starts with 1.
5318
+ * - `{visiblePanelIndex}` - A panel index within the collection of visible panels. Starts with 1.
5319
+ *
5320
+ * If you want to customize individual tab titles, handle `SurveyModel`'s [`onGetDynamicPanelTabTitle`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onGetDynamicPanelTabTitle) event.
5321
+ *
5322
+ * [View Demo](/form-library/examples/tabbed-interface-for-duplicate-group-option/ (linkStyle))
5229
5323
  * @see templateTitle
5230
5324
  * @see renderMode
5231
5325
  */
@@ -5509,11 +5603,11 @@ declare module "question_paneldynamic" {
5509
5603
  *
5510
5604
  * Possible values:
5511
5605
  *
5512
- * - `"list"` - Renders panels one under the other. [View Demo](https://surveyjs.io/form-library/examples/how-to-use-expressions-in-dynamic-panel/)
5606
+ * - `"list"` (default) - Renders panels one under the other. [View Demo](https://surveyjs.io/form-library/examples/how-to-use-expressions-in-dynamic-panel/)
5513
5607
  * - `"progressTop"` - Renders each panel as a card and displays a progress bar at the top. [View Demo](https://surveyjs.io/form-library/examples/questiontype-paneldynamic/)
5514
5608
  * - `"progressBottom"` - Renders each panel panel as a card and displays a progress bar at the bottom.
5515
5609
  * - `"progressTopBottom"` - Renders each panel as a card and displays a progress bar at the top and bottom.
5516
- * - `"tab"` - Renders each panel within a tab. Use the [`templateTabTitle`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#templateTabTitle) to specify a template for tab titles.
5610
+ * - `"tab"` - Renders each panel within a tab. Use the [`templateTabTitle`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#templateTabTitle) to specify a template for tab titles. [View Demo](/form-library/examples/tabbed-interface-for-duplicate-group-option/)
5517
5611
  */
5518
5612
  get renderMode(): string;
5519
5613
  set renderMode(val: string);
@@ -5719,6 +5813,77 @@ declare module "question_paneldynamic" {
5719
5813
  protected calcCssClasses(css: any): any;
5720
5814
  }
5721
5815
  }
5816
+ declare module "themes" {
5817
+ export type ImageFit = "auto" | "contain" | "cover";
5818
+ export type ImageAttachment = "fixed" | "scroll";
5819
+ /**
5820
+ * A theme configuration interface.
5821
+ *
5822
+ * `ITheme` objects are used to apply predefined themes or create custom themes. Refer to the following help topic for more information:
5823
+ *
5824
+ * [Themes & Styles](https://surveyjs.io/form-library/documentation/manage-default-themes-and-styles (linkStyle))
5825
+ */
5826
+ export interface ITheme {
5827
+ /**
5828
+ * A theme name.
5829
+ */
5830
+ themeName?: string;
5831
+ /**
5832
+ * A color palette.
5833
+ *
5834
+ * Possible values:
5835
+ *
5836
+ * - `"light"`
5837
+ * - `"dark"`
5838
+ */
5839
+ colorPalette?: string;
5840
+ /**
5841
+ * A Boolean value that specifies whether survey questions are displayed within panels (`false`) or without them (`true`).
5842
+ */
5843
+ isPanelless?: boolean;
5844
+ /**
5845
+ * An image to display as survey background. This property accepts a hyperlink or a data URL.
5846
+ */
5847
+ backgroundImage?: string;
5848
+ /**
5849
+ * A string value that specifies how to resize the [background image](#backgroundImage) to fit it into its container.
5850
+ *
5851
+ * Possible values:
5852
+ *
5853
+ * - `"auto"`
5854
+ * - `"contain"`
5855
+ * - `"cover"`
5856
+ *
5857
+ * Refer to the description of the [`background-size`](https://developer.mozilla.org/en-US/docs/Web/CSS/background-size#values) CSS property values on MDN for detailed information on the possible values.
5858
+ */
5859
+ backgroundImageFit?: ImageFit;
5860
+ /**
5861
+ * A string value that specifies whether the [background image](#backgroundImage) is fixed in its position or scrolled along with the survey.
5862
+ *
5863
+ * Possible values:
5864
+ *
5865
+ * - `"fixed"`
5866
+ * - `"scroll"`
5867
+ */
5868
+ backgroundImageAttachment?: ImageAttachment;
5869
+ /**
5870
+ * A value from 0 to 1 that specifies how transparent the [background image](#backgroundImage) should be: 0 makes the image completely transparent, and 1 makes it opaque.
5871
+ */
5872
+ backgroundOpacity?: number;
5873
+ /**
5874
+ * An object with survey header settings.
5875
+ */
5876
+ header?: {
5877
+ [index: string]: any;
5878
+ };
5879
+ /**
5880
+ * An object with CSS variables.
5881
+ */
5882
+ cssVariables?: {
5883
+ [index: string]: string;
5884
+ };
5885
+ }
5886
+ }
5722
5887
  declare module "survey-events-api" {
5723
5888
  import { IAction } from "actions/action";
5724
5889
  import { Base } from "base";
@@ -5735,6 +5900,7 @@ declare module "survey-events-api" {
5735
5900
  import { QuestionPanelDynamicModel } from "question_paneldynamic";
5736
5901
  import { SurveyModel } from "survey";
5737
5902
  import { SurveyError } from "survey-error";
5903
+ import { ITheme } from "themes";
5738
5904
  import { Trigger } from "trigger";
5739
5905
  export interface QuestionEventMixin {
5740
5906
  /**
@@ -6682,6 +6848,9 @@ declare module "survey-events-api" {
6682
6848
  */
6683
6849
  visible: boolean;
6684
6850
  }
6851
+ export interface ThemeAppliedEvent {
6852
+ theme: ITheme;
6853
+ }
6685
6854
  }
6686
6855
  declare module "drag-drop-page-helper-v1" {
6687
6856
  import { IElement, ISurveyElement } from "base-interfaces";
@@ -7027,6 +7196,7 @@ declare module "notifier" {
7027
7196
  timer: any;
7028
7197
  private actionsVisibility;
7029
7198
  actionBar: ActionContainer;
7199
+ showActions: boolean;
7030
7200
  constructor(cssClasses: {
7031
7201
  root: string;
7032
7202
  info: string;
@@ -7499,29 +7669,11 @@ declare module "question_multipletext" {
7499
7669
  protected getClassName(): string;
7500
7670
  }
7501
7671
  }
7502
- declare module "themes" {
7503
- export type ImageFit = "auto" | "contain" | "cover";
7504
- export type ImageAttachment = "fixed" | "scroll";
7505
- export interface ITheme {
7506
- themeName?: string;
7507
- colorPalette?: string;
7508
- isPanelless?: boolean;
7509
- backgroundImage?: string;
7510
- backgroundImageFit?: ImageFit;
7511
- backgroundImageAttachment?: ImageAttachment;
7512
- backgroundOpacity?: number;
7513
- cover?: {
7514
- [index: string]: any;
7515
- };
7516
- cssVariables?: {
7517
- [index: string]: string;
7518
- };
7519
- }
7520
- }
7521
7672
  declare module "cover" {
7522
7673
  import { Base } from "base";
7523
7674
  import { HorizontalAlignment, VerticalAlignment } from "base-interfaces";
7524
7675
  import { SurveyModel } from "survey";
7676
+ import { ITheme } from "themes";
7525
7677
  export class CoverCell {
7526
7678
  private cover;
7527
7679
  private positionX;
@@ -7540,20 +7692,23 @@ declare module "cover" {
7540
7692
  get showLogo(): boolean;
7541
7693
  get showTitle(): boolean;
7542
7694
  get showDescription(): boolean;
7543
- get textWidth(): string;
7695
+ get textAreaWidth(): string;
7544
7696
  }
7545
7697
  export class Cover extends Base {
7698
+ private _survey;
7546
7699
  private calcBackgroundSize;
7700
+ private updateCoverClasses;
7701
+ private updateContentClasses;
7702
+ private updateBackgroundImageClasses;
7703
+ fromTheme(theme: ITheme): void;
7547
7704
  constructor();
7548
7705
  getType(): string;
7549
- survey: SurveyModel;
7550
7706
  cells: CoverCell[];
7551
7707
  height: number;
7552
- areaWidth: "survey" | "container";
7553
- textWidth: number;
7554
- invertText: boolean;
7555
- glowText: boolean;
7556
- overlap: boolean;
7708
+ inheritWidthFrom: "survey" | "page";
7709
+ textAreaWidth: number;
7710
+ textGlowEnabled: boolean;
7711
+ overlapEnabled: boolean;
7557
7712
  backgroundColor: string;
7558
7713
  backgroundImage: string;
7559
7714
  renderBackgroundImage: string;
@@ -7577,16 +7732,19 @@ declare module "cover" {
7577
7732
  gridColumn: number;
7578
7733
  gridRow: number;
7579
7734
  };
7735
+ coverClasses: string;
7736
+ contentClasses: string;
7737
+ backgroundImageClasses: string;
7580
7738
  get renderedHeight(): string;
7581
- get renderedTextWidth(): string;
7582
- get coverClasses(): string;
7583
- get contentClasses(): string;
7584
- get backgroundImageClasses(): string;
7739
+ get renderedtextAreaWidth(): string;
7740
+ get survey(): SurveyModel;
7741
+ set survey(newValue: SurveyModel);
7585
7742
  get backgroundImageStyle(): {
7586
7743
  opacity: number;
7587
7744
  backgroundImage: string;
7588
7745
  backgroundSize: string;
7589
7746
  };
7747
+ protected propertyValueChanged(name: string, oldValue: any, newValue: any): void;
7590
7748
  }
7591
7749
  }
7592
7750
  declare module "survey" {
@@ -7610,7 +7768,7 @@ declare module "survey" {
7610
7768
  import { ActionContainer } from "actions/container";
7611
7769
  import { QuestionPanelDynamicModel } from "question_paneldynamic";
7612
7770
  import { Notifier } from "notifier";
7613
- import { TriggerExecutedEvent, CompletingEvent, CompleteEvent, ShowingPreviewEvent, NavigateToUrlEvent, CurrentPageChangingEvent, CurrentPageChangedEvent, ValueChangingEvent, ValueChangedEvent, VariableChangedEvent, QuestionVisibleChangedEvent, PageVisibleChangedEvent, PanelVisibleChangedEvent, QuestionCreatedEvent, QuestionAddedEvent, QuestionRemovedEvent, PanelAddedEvent, PanelRemovedEvent, PageAddedEvent, ValidateQuestionEvent, SettingQuestionErrorsEvent, ValidatePanelEvent, ErrorCustomTextEvent, ValidatedErrorsOnCurrentPageEvent, ProcessHtmlEvent, GetQuestionTitleEvent, GetTitleTagNameEvent, GetQuestionNoEvent, ProgressTextEvent, TextMarkdownEvent, TextRenderAsEvent, SendResultEvent, GetResultEvent, UploadFilesEvent, DownloadFileEvent, ClearFilesEvent, LoadChoicesFromServerEvent, ProcessTextValueEvent, UpdateQuestionCssClassesEvent, UpdatePanelCssClassesEvent, UpdatePageCssClassesEvent, UpdateChoiceItemCssEvent, AfterRenderSurveyEvent, AfterRenderHeaderEvent, AfterRenderPageEvent, AfterRenderQuestionEvent, AfterRenderQuestionInputEvent, AfterRenderPanelEvent, FocusInQuestionEvent, FocusInPanelEvent, ShowingChoiceItemEvent, ChoicesLazyLoadEvent, GetChoiceDisplayValueEvent, MatrixRowAddedEvent, MatrixBeforeRowAddedEvent, MatrixRowRemovingEvent, MatrixRowRemovedEvent, MatrixAllowRemoveRowEvent, MatrixCellCreatingEvent, MatrixCellCreatedEvent, MatrixAfterCellRenderEvent, MatrixCellValueChangedEvent, MatrixCellValueChangingEvent, MatrixCellValidateEvent, DynamicPanelModifiedEvent, DynamicPanelRemovingEvent, TimerPanelInfoTextEvent, DynamicPanelItemValueChangedEvent, DynamicPanelGetTabTitleEvent, IsAnswerCorrectEvent, DragDropAllowEvent, ScrollingElementToTopEvent, GetQuestionTitleActionsEvent, GetPanelTitleActionsEvent, GetPageTitleActionsEvent, GetPanelFooterActionsEvent, GetMatrixRowActionsEvent, ElementContentVisibilityChangedEvent, GetExpressionDisplayValueEvent, ServerValidateQuestionsEvent, MultipleTextItemAddedEvent, MatrixColumnAddedEvent, GetQuestionDisplayValueEvent, PopupVisibleChangedEvent } from "survey-events-api";
7771
+ import { TriggerExecutedEvent, CompletingEvent, CompleteEvent, ShowingPreviewEvent, NavigateToUrlEvent, CurrentPageChangingEvent, CurrentPageChangedEvent, ValueChangingEvent, ValueChangedEvent, VariableChangedEvent, QuestionVisibleChangedEvent, PageVisibleChangedEvent, PanelVisibleChangedEvent, QuestionCreatedEvent, QuestionAddedEvent, QuestionRemovedEvent, PanelAddedEvent, PanelRemovedEvent, PageAddedEvent, ValidateQuestionEvent, SettingQuestionErrorsEvent, ValidatePanelEvent, ErrorCustomTextEvent, ValidatedErrorsOnCurrentPageEvent, ProcessHtmlEvent, GetQuestionTitleEvent, GetTitleTagNameEvent, GetQuestionNoEvent, ProgressTextEvent, TextMarkdownEvent, TextRenderAsEvent, SendResultEvent, GetResultEvent, UploadFilesEvent, DownloadFileEvent, ClearFilesEvent, LoadChoicesFromServerEvent, ProcessTextValueEvent, UpdateQuestionCssClassesEvent, UpdatePanelCssClassesEvent, UpdatePageCssClassesEvent, UpdateChoiceItemCssEvent, AfterRenderSurveyEvent, AfterRenderHeaderEvent, AfterRenderPageEvent, AfterRenderQuestionEvent, AfterRenderQuestionInputEvent, AfterRenderPanelEvent, FocusInQuestionEvent, FocusInPanelEvent, ShowingChoiceItemEvent, ChoicesLazyLoadEvent, GetChoiceDisplayValueEvent, MatrixRowAddedEvent, MatrixBeforeRowAddedEvent, MatrixRowRemovingEvent, MatrixRowRemovedEvent, MatrixAllowRemoveRowEvent, MatrixCellCreatingEvent, MatrixCellCreatedEvent, MatrixAfterCellRenderEvent, MatrixCellValueChangedEvent, MatrixCellValueChangingEvent, MatrixCellValidateEvent, DynamicPanelModifiedEvent, DynamicPanelRemovingEvent, TimerPanelInfoTextEvent, DynamicPanelItemValueChangedEvent, DynamicPanelGetTabTitleEvent, IsAnswerCorrectEvent, DragDropAllowEvent, ScrollingElementToTopEvent, GetQuestionTitleActionsEvent, GetPanelTitleActionsEvent, GetPageTitleActionsEvent, GetPanelFooterActionsEvent, GetMatrixRowActionsEvent, ElementContentVisibilityChangedEvent, GetExpressionDisplayValueEvent, ServerValidateQuestionsEvent, MultipleTextItemAddedEvent, MatrixColumnAddedEvent, GetQuestionDisplayValueEvent, PopupVisibleChangedEvent, ThemeAppliedEvent } from "survey-events-api";
7614
7772
  import { QuestionMatrixDropdownModelBase } from "question_matrixdropdownbase";
7615
7773
  import { QuestionMatrixDynamicModel } from "question_matrixdynamic";
7616
7774
  import { QuestionFileModel } from "question_file";
@@ -7653,7 +7811,11 @@ declare module "survey" {
7653
7811
  private timerModelValue;
7654
7812
  private navigationBarValue;
7655
7813
  onThemeApplying: EventBase<SurveyModel>;
7656
- onThemeApplied: EventBase<SurveyModel>;
7814
+ /**
7815
+ * An event that is raised after a [theme](/form-library/documentation/manage-default-themes-and-styles) is [applied](#applyTheme) to the survey.
7816
+ * @see applyTheme
7817
+ */
7818
+ onThemeApplied: EventBase<SurveyModel, ThemeAppliedEvent>;
7657
7819
  /**
7658
7820
  * An event that is raised after a [trigger](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#triggers) is executed.
7659
7821
  *
@@ -8217,6 +8379,10 @@ declare module "survey" {
8217
8379
  onDynamicPanelItemValueChanged: EventBase<SurveyModel, DynamicPanelItemValueChangedEvent>;
8218
8380
  /**
8219
8381
  * An event that is raised before a [Dynamic Panel](https://surveyjs.io/form-library/examples/questiontype-paneldynamic/) renders [tab titles](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#templateTabTitle). Use this event to change individual tab titles.
8382
+ *
8383
+ * For information on event handler parameters, refer to descriptions within the interface.
8384
+ *
8385
+ * [View Demo](/form-library/examples/tabbed-interface-for-duplicate-group-option/ (linkStyle))
8220
8386
  */
8221
8387
  onGetDynamicPanelTabTitle: EventBase<SurveyModel, DynamicPanelGetTabTitleEvent>;
8222
8388
  /**
@@ -8239,10 +8405,12 @@ declare module "survey" {
8239
8405
  * For information on event handler parameters, refer to descriptions within the interface.
8240
8406
  *
8241
8407
  * [View Demo](https://surveyjs.io/form-library/examples/survey-titleactions/ (linkStyle))
8408
+ * @see [IAction](https://surveyjs.io/form-library/documentation/api-reference/iaction)
8242
8409
  */
8243
8410
  onGetQuestionTitleActions: EventBase<SurveyModel, GetQuestionTitleActionsEvent>;
8244
8411
  /**
8245
8412
  * An event that allows you to add, delete, or modify actions in a panel title.
8413
+ * @see [IAction](https://surveyjs.io/form-library/documentation/api-reference/iaction)
8246
8414
  */
8247
8415
  onGetPanelTitleActions: EventBase<SurveyModel, GetPanelTitleActionsEvent>;
8248
8416
  /**
@@ -8251,10 +8419,12 @@ declare module "survey" {
8251
8419
  * For information on event handler parameters, refer to descriptions within the interface.
8252
8420
  *
8253
8421
  * [View Demo](https://surveyjs.io/form-library/examples/modify-titles-of-survey-elements/ (linkStyle))
8422
+ * @see [IAction](https://surveyjs.io/form-library/documentation/api-reference/iaction)
8254
8423
  */
8255
8424
  onGetPageTitleActions: EventBase<SurveyModel, GetPageTitleActionsEvent>;
8256
8425
  /**
8257
8426
  * An event that allows you to add, delete, or modify actions in the footer of a [Panel](https://surveyjs.io/form-library/documentation/panelmodel).
8427
+ * @see [IAction](https://surveyjs.io/form-library/documentation/api-reference/iaction)
8258
8428
  */
8259
8429
  onGetPanelFooterActions: EventBase<SurveyModel, GetPanelFooterActionsEvent>;
8260
8430
  /**
@@ -8263,7 +8433,7 @@ declare module "survey" {
8263
8433
  * For information on event handler parameters, refer to descriptions within the interface.
8264
8434
  *
8265
8435
  * [View Demo](https://surveyjs.io/form-library/examples/employee-information-form/ (linkStyle))
8266
- * @see IAction
8436
+ * @see [IAction](https://surveyjs.io/form-library/documentation/api-reference/iaction)
8267
8437
  */
8268
8438
  onGetMatrixRowActions: EventBase<SurveyModel, GetMatrixRowActionsEvent>;
8269
8439
  /**
@@ -8326,7 +8496,7 @@ declare module "survey" {
8326
8496
  loadingBodyCss: string;
8327
8497
  containerCss: string;
8328
8498
  fitToContainer: boolean;
8329
- titleView: "cover" | "title";
8499
+ headerView: "advanced" | "basic";
8330
8500
  private getNavigationCss;
8331
8501
  private lazyRenderingValue;
8332
8502
  showBrandInfo: boolean;
@@ -8813,12 +8983,10 @@ declare module "survey" {
8813
8983
  */
8814
8984
  get backgroundOpacity(): number;
8815
8985
  set backgroundOpacity(val: number);
8816
- get backgroundImageStyle(): {
8817
- opacity: number;
8818
- backgroundImage: string;
8819
- backgroundSize: ImageFit;
8820
- backgroundAttachment: ImageAttachment;
8821
- };
8986
+ backgroundImageStyle: any;
8987
+ updateBackgroundImageStyle(): void;
8988
+ wrapperFormCss: string;
8989
+ updateWrapperFormCss(): void;
8822
8990
  /**
8823
8991
  * HTML content displayed on the [complete page](https://surveyjs.io/form-library/documentation/design-survey/create-a-multi-page-survey#complete-page).
8824
8992
  *
@@ -9254,11 +9422,11 @@ declare module "survey" {
9254
9422
  get completedState(): string;
9255
9423
  get completedStateText(): string;
9256
9424
  protected setCompletedState(value: string, text: string): void;
9257
- notify(message: string, type: string): void;
9425
+ notify(message: string, type: string, showActions?: boolean): void;
9258
9426
  /**
9259
9427
  * Resets the survey [`state`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#state) and, optionally, [`data`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#data). If `state` is `"completed"`, it becomes `"running"`.
9260
- * @param clearData *Optional.* Specifies whether to clear survey data. Default value: `true`.
9261
- * @param goToFirstPage *Optional.* Specifies whether to switch the survey to the first page. Default value: `true`.
9428
+ * @param clearData *(Optional)* Specifies whether to clear survey data. Default value: `true`.
9429
+ * @param goToFirstPage *(Optional)* Specifies whether to switch the survey to the first page. Default value: `true`.
9262
9430
  */
9263
9431
  clear(clearData?: boolean, goToFirstPage?: boolean): void;
9264
9432
  mergeValues(src: any, dest: any): void;
@@ -9354,7 +9522,7 @@ declare module "survey" {
9354
9522
  * Validates all questions on the current page and returns `false` if the validation fails.
9355
9523
  *
9356
9524
  * If you use validation expressions and at least one of them calls an async function, the `validateCurrentPage` method returns `undefined`. In this case, you should pass a callback function as the `onAsyncValidation` parameter. The function's `hasErrors` Boolean parameter will contain the validation result.
9357
- * @param onAsyncValidation *Optional.* Pass a callback function. It accepts a Boolean `hasErrors` parameter that equals `true` if the validation fails or `false` otherwise.
9525
+ * @param onAsyncValidation *(Optional)* Pass a callback function. It accepts a Boolean `hasErrors` parameter that equals `true` if the validation fails or `false` otherwise.
9358
9526
  * @see currentPage
9359
9527
  * @see validate
9360
9528
  * @see validateCurrentPage
@@ -9366,7 +9534,7 @@ declare module "survey" {
9366
9534
  *
9367
9535
  * If you use validation expressions and at least one of them calls an async function, the `validatePage` method returns `undefined`. In this case, you should pass a callback function as the `onAsyncValidation` parameter. The function's `hasErrors` Boolean parameter will contain the validation result.
9368
9536
  * @param page Pass the `PageModel` that you want to validate. You can pass `undefined` to validate the [`activePage`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#activePage).
9369
- * @param onAsyncValidation *Optional.* Pass a callback function. It accepts a Boolean `hasErrors` parameter that equals `true` if the validation fails or `false` otherwise.
9537
+ * @param onAsyncValidation *(Optional)* Pass a callback function. It accepts a Boolean `hasErrors` parameter that equals `true` if the validation fails or `false` otherwise.
9370
9538
  * @see validate
9371
9539
  * @see validateCurrentPage
9372
9540
  */
@@ -9376,9 +9544,9 @@ declare module "survey" {
9376
9544
  * Validates all questions and returns `false` if the validation fails.
9377
9545
  *
9378
9546
  * If you use validation expressions and at least one of them calls an async function, the `validate` method returns `undefined`. In this case, you should pass a callback function as the `onAsyncValidation` parameter. The function's `hasErrors` Boolean parameter will contain the validation result.
9379
- * @param fireCallback *Optional.* Pass `false` if you do not want to show validation errors in the UI.
9380
- * @param focusOnFirstError *Optional.* Pass `true` if you want to focus the first question with a validation error. The survey will be switched to the page that contains this question if required.
9381
- * @param onAsyncValidation *Optional.* Pass a callback function. It accepts a Boolean `hasErrors` parameter that equals `true` if the validation fails or `false` otherwise.
9547
+ * @param fireCallback *(Optional)* Pass `false` if you do not want to show validation errors in the UI.
9548
+ * @param focusOnFirstError *(Optional)* Pass `true` if you want to focus the first question with a validation error. The survey will be switched to the page that contains this question if required.
9549
+ * @param onAsyncValidation *(Optional)* Pass a callback function. It accepts a Boolean `hasErrors` parameter that equals `true` if the validation fails or `false` otherwise.
9382
9550
  * @see validateCurrentPage
9383
9551
  * @see validatePage
9384
9552
  */
@@ -10248,13 +10416,13 @@ declare module "survey" {
10248
10416
  *
10249
10417
  * This method accepts an object with the following layout element properties:
10250
10418
  *
10251
- * - `id`: `String` | `"timerpanel"` | `"progress-buttons"` | `"progress-questions"` | `"progress-pages"` | `"progress-correctquestions"` | `"progress-requiredquestions"` | `"toc-navigation"` | `"navigationbuttons"`\
10419
+ * - `id`: `string` | `"timerpanel"` | `"progress-buttons"` | `"progress-questions"` | `"progress-pages"` | `"progress-correctquestions"` | `"progress-requiredquestions"` | `"toc-navigation"` | `"navigationbuttons"`\
10252
10420
  * A layout element identifier. You can use possible values to access and relocate or customize predefined layout elements.
10253
10421
  *
10254
10422
  * - `container`: `"header"` | `"footer"` | `"left"` | `"right"` | `"contentTop"` | `"contentBottom"`\
10255
10423
  * A layout container that holds the element. If you want to display the element within multiple containers, set this property to an array of possible values.
10256
10424
  *
10257
- * - `component`: `String`\
10425
+ * - `component`: `string`\
10258
10426
  * The name of the component that renders the layout element.
10259
10427
  *
10260
10428
  * - `data`: `any`\
@@ -10268,6 +10436,13 @@ declare module "survey" {
10268
10436
  removeLayoutElement(layoutElementId: string): ISurveyLayoutElement;
10269
10437
  getContainerContent(container: LayoutElementContainer): any[];
10270
10438
  processPopupVisiblityChanged(question: Question, popup: PopupModel<any>, visible: boolean): void;
10439
+ /**
10440
+ * Applies a specified theme to the survey.
10441
+ *
10442
+ * [Themes & Styles](/form-library/documentation/manage-default-themes-and-styles (linkStyle))
10443
+ * @param theme An [`ITheme`](/form-library/documentation/api-reference/itheme) object with theme settings.
10444
+ * @see onThemeApplied
10445
+ */
10271
10446
  applyTheme(theme: ITheme): void;
10272
10447
  /**
10273
10448
  * Disposes of the survey model.
@@ -10668,7 +10843,6 @@ declare module "survey-element" {
10668
10843
  get paddingRight(): string;
10669
10844
  set paddingRight(val: string);
10670
10845
  allowRootStyle: boolean;
10671
- renderMinWidth: boolean;
10672
10846
  get rootStyle(): {
10673
10847
  [index: string]: any;
10674
10848
  };
@@ -10730,13 +10904,6 @@ declare module "questionCustomWidgets" {
10730
10904
  getCustomWidget(question: IQuestion): QuestionCustomWidget;
10731
10905
  }
10732
10906
  }
10733
- declare module "console-warnings" {
10734
- export class ConsoleWarnings {
10735
- static disposedObjectChangedProperty(propName: string, objType: string): void;
10736
- static inCorrectQuestionValue(questionName: string, val: any): void;
10737
- static warn(text: string): void;
10738
- }
10739
- }
10740
10907
  declare module "question" {
10741
10908
  import { HashTable } from "helpers";
10742
10909
  import { EventBase } from "base";
@@ -10807,9 +10974,9 @@ declare module "question" {
10807
10974
  *
10808
10975
  * - `sender`: `SurveyModel`\
10809
10976
  * A survey instance that contains the question whose ready state has changed.
10810
- * - `options.isReady`: `Boolean`\
10977
+ * - `options.isReady`: `boolean`\
10811
10978
  * Indicates whether the question is ready.
10812
- * - `options.oldIsReady`: `Boolean`\
10979
+ * - `options.oldIsReady`: `boolean`\
10813
10980
  * Indicates the previous ready state.
10814
10981
  */
10815
10982
  onReadyChanged: EventBase<Question>;
@@ -10962,8 +11129,11 @@ declare module "question" {
10962
11129
  get isQuestion(): boolean;
10963
11130
  moveTo(container: IPanel, insertBefore?: any): boolean;
10964
11131
  getProgressInfo(): IProgressInfo;
10965
- private resetValueIfExpression;
10966
- private isRunningResetValueIf;
11132
+ private setValueExpressionRunner;
11133
+ private runSetValueExpression;
11134
+ private triggersInfo;
11135
+ private addTriggerInfo;
11136
+ private runTriggerInfo;
10967
11137
  runTriggers(name: string, value: any): void;
10968
11138
  private runConditions;
10969
11139
  setSurveyImpl(value: ISurveyImpl, isLight?: boolean): void;
@@ -11096,6 +11266,7 @@ declare module "question" {
11096
11266
  onCommentChange(event: any): void;
11097
11267
  afterRenderQuestionElement(el: HTMLElement): void;
11098
11268
  afterRender(el: HTMLElement): void;
11269
+ afterRenderCore(el: HTMLElement): void;
11099
11270
  protected getCommentElementsId(): Array<string>;
11100
11271
  beforeDestroyQuestionElement(el: HTMLElement): void;
11101
11272
  get processedTitle(): string;
@@ -11261,27 +11432,27 @@ declare module "question" {
11261
11432
  *
11262
11433
  * | Question type | Value type(s) |
11263
11434
  * | ------------- | ------------- |
11264
- * | Checkboxes | `Array<String \| Number>` |
11265
- * | Dropdown | `String` \| `Number` |
11266
- * | Dynamic Matrix | `Array<Object>` |
11267
- * | Dynamic Panel | `Array<Object>` |
11268
- * | Expression | `String` \| `Number` \| `Boolean` |
11435
+ * | Checkboxes | `Array<string \| number>` |
11436
+ * | Dropdown | `string` \| `number` |
11437
+ * | Dynamic Matrix | `Array<object>` |
11438
+ * | Dynamic Panel | `Array<object>` |
11439
+ * | Expression | `string` \| `number` \| `boolean` |
11269
11440
  * | File Upload | `File` \| `Array<File>` |
11270
11441
  * | HTML | (no value) |
11271
11442
  * | Image | (no value) |
11272
- * | Image Picker | `Array<String \| Number>` |
11273
- * | Long Text | `String` |
11274
- * | Multi-Select Dropdown | `Object` |
11275
- * | Multi-Select Matrix | `Object` |
11276
- * | Multiple Textboxes | `Array<String>` |
11443
+ * | Image Picker | `Array<string \| number>` |
11444
+ * | Long Text | `string` |
11445
+ * | Multi-Select Dropdown | `object` |
11446
+ * | Multi-Select Matrix | `object` |
11447
+ * | Multiple Textboxes | `Array<string>` |
11277
11448
  * | Panel | (no value) |
11278
- * | Radio Button Group | `String` \| `Number` |
11279
- * | Ranking | `Array<String \| Number>` |
11280
- * | Rating Scale | `Number` \| `String` |
11281
- * | Signature | `String` (base64-encoded image) |
11282
- * | Single-Line Input | `String` \| `Number` \| `Date` |
11283
- * | Single-Select Matrix | `Object` |
11284
- * | Yes/No (Boolean) | `Boolean` \| `String` |
11449
+ * | Radio Button Group | `string` \| `number` |
11450
+ * | Ranking | `Array<string \| number>` |
11451
+ * | Rating Scale | `number` \| `string` |
11452
+ * | Signature | `string` (base64-encoded image) |
11453
+ * | Single-Line Input | `string` \| `number` \| `Date` |
11454
+ * | Single-Select Matrix | `object` |
11455
+ * | Yes/No (Boolean) | `boolean` \| `string` |
11285
11456
  */
11286
11457
  get value(): any;
11287
11458
  set value(newValue: any);
@@ -11358,6 +11529,7 @@ declare module "question" {
11358
11529
  *
11359
11530
  * An expression can also include built-in and custom functions for advanced calculations. For example, if the `defaultValue` should be today's date, set the `defaultValueExpression` to `"today()"`, and the corresponding built-in function will be executed each time the survey is loaded. Refer to the following help topic for more information: [Built-In Functions](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#built-in-functions).
11360
11531
  * @see defaultValue
11532
+ * @see setValueExpression
11361
11533
  */
11362
11534
  get defaultValueExpression(): any;
11363
11535
  set defaultValueExpression(val: any);
@@ -11367,9 +11539,29 @@ declare module "question" {
11367
11539
  * A survey parses and runs all expressions on startup. If any values used in the expression change, the survey re-evaluates it.
11368
11540
  *
11369
11541
  * [Expressions](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#expressions (linkStyle))
11542
+ * @see setValueIf
11370
11543
  */
11371
11544
  get resetValueIf(): string;
11372
11545
  set resetValueIf(val: string);
11546
+ /**
11547
+ * A Boolean expression. If it evaluates to `true`, the question value is set to a value calculated using the [`setValueExpression`](#setValueExpression).
11548
+ *
11549
+ * A survey parses and runs all expressions on startup. If any values used in the expression change, the survey re-evaluates it.
11550
+ *
11551
+ * [Expressions](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#expressions (linkStyle))
11552
+ * @see resetValueIf
11553
+ */
11554
+ get setValueIf(): string;
11555
+ set setValueIf(val: string);
11556
+ /**
11557
+ * An expression used to calculate the question value. Applies only when the [`setValueIf`](#setValueIf) expression evaluates to `true`.
11558
+ *
11559
+ * [Expressions](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#expressions (linkStyle))
11560
+ * @see defaultValueExpression
11561
+ * @see resetValueIf
11562
+ */
11563
+ get setValueExpression(): string;
11564
+ set setValueExpression(val: string);
11373
11565
  get resizeStyle(): "none" | "both";
11374
11566
  /**
11375
11567
  * Returns the question value as an object in which the question name, title, value, and other parameters are stored as individual properties.
@@ -11459,7 +11651,7 @@ declare module "question" {
11459
11651
  hasErrors(fireCallback?: boolean, rec?: any): boolean;
11460
11652
  /**
11461
11653
  * Validates this question and returns `false` if the validation fails.
11462
- * @param fireCallback *Optional.* Pass `false` if you do not want to show validation errors in the UI.
11654
+ * @param fireCallback *(Optional)* Pass `false` if you do not want to show validation errors in the UI.
11463
11655
  * @see [Data Validation](https://surveyjs.io/form-library/documentation/data-validation)
11464
11656
  */
11465
11657
  validate(fireCallback?: boolean, rec?: any): boolean;
@@ -11490,6 +11682,7 @@ declare module "question" {
11490
11682
  allowSpaceAsAnswer: boolean;
11491
11683
  private isValueChangedInSurvey;
11492
11684
  private isOldAnswered;
11685
+ private isSettingQuestionValue;
11493
11686
  protected allowNotifyValueChanged: boolean;
11494
11687
  protected setNewValue(newValue: any): void;
11495
11688
  private checkIsValueCorrect;
@@ -12708,7 +12901,7 @@ declare module "base" {
12708
12901
  *
12709
12902
  * - `sender`: `this`\
12710
12903
  * A SurveyJS object whose property has changed.
12711
- * - `options.name`: `String`\
12904
+ * - `options.name`: `string`\
12712
12905
  * The name of the changed property.
12713
12906
  * - `options.newValue`: `any`\
12714
12907
  * A new value for the property.
@@ -12725,7 +12918,7 @@ declare module "base" {
12725
12918
  * A SurveyJS object whose property contains an array of `ItemValue` objects.
12726
12919
  * - `options.obj`: [`ItemValue`](https://surveyjs.io/form-library/documentation/itemvalue)\
12727
12920
  * An `ItemValue` object.
12728
- * - `options.propertyName`: `String`\
12921
+ * - `options.propertyName`: `string`\
12729
12922
  * The name of the property to which an array of `ItemValue` objects is assigned (for example, `"choices"` or `"rows"`).
12730
12923
  * - `options.name`: `"text"` | `"value"`\
12731
12924
  * The name of the changed property.
@@ -12981,6 +13174,7 @@ declare module "popup" {
12981
13174
  componentName: string;
12982
13175
  data: any;
12983
13176
  onApply: () => boolean;
13177
+ isFocusedContent?: boolean;
12984
13178
  }
12985
13179
  export interface IPopupModel<T = any> extends IDialogOptions {
12986
13180
  contentComponentName: string;
@@ -13044,10 +13238,10 @@ declare module "settings" {
13044
13238
  *
13045
13239
  * Nested properties:
13046
13240
  *
13047
- * - `showEmptyDescriptions`: `Boolean`\
13241
+ * - `showEmptyDescriptions`: `boolean`\
13048
13242
  * Specifies whether to display an empty description for pages and panels. Default value: `true`.
13049
13243
  *
13050
- * - `showEmptyTitles`: `Boolean`\
13244
+ * - `showEmptyTitles`: `boolean`\
13051
13245
  * Specifies whether to display an empty title for pages and panels. Default value: `true`.
13052
13246
  */
13053
13247
  designMode: {
@@ -13067,13 +13261,13 @@ declare module "settings" {
13067
13261
  *
13068
13262
  * Nested properties:
13069
13263
  *
13070
- * - `useLocalTimeZone`: `Boolean`\
13264
+ * - `useLocalTimeZone`: `boolean`\
13071
13265
  * Disable this property if you want internal SurveyJS functions to use methods that work with UTC date and time (`setUTCDate()` `setUTCHours()`, etc.) instead of methods that work with local date and time (`setYear`, `setHours()`, etc.). Default value: `true`.
13072
13266
  *
13073
- * - `defaultLocaleName`: `String`\
13267
+ * - `defaultLocaleName`: `string`\
13074
13268
  * A property key that stores a translation for the default locale. Default value: `"default"`.
13075
13269
  *
13076
- * - `storeDuplicatedTranslations`: `Boolean`\
13270
+ * - `storeDuplicatedTranslations`: `boolean`\
13077
13271
  * Specifies whether surveys should store translation strings that equal the translation strings in the default locale. Default value: `false`.
13078
13272
  */
13079
13273
  localization: {
@@ -13098,16 +13292,16 @@ declare module "settings" {
13098
13292
  *
13099
13293
  * Nested properties:
13100
13294
  *
13101
- * - `encodeUrlParams`: `Boolean`\
13295
+ * - `encodeUrlParams`: `boolean`\
13102
13296
  * Specifies whether to encode URL parameters when you access a web service. Default value: `true`.
13103
13297
  *
13104
- * - `cacheLoadedChoices`: `Boolean`\
13298
+ * - `cacheLoadedChoices`: `boolean`\
13105
13299
  * Specifies whether to cache [choices](https://surveyjs.io/form-library/documentation/api-reference/checkbox-question-model#choicesByUrl) loaded from a web service. Default value: `true`.
13106
13300
  *
13107
- * - `disableQuestionWhileLoadingChoices`: `Boolean`\
13301
+ * - `disableQuestionWhileLoadingChoices`: `boolean`\
13108
13302
  * Disables a question while its choices are being loaded from a web service. Default value: `false`.
13109
13303
  *
13110
- * - `surveyServiceUrl`: `String`\
13304
+ * - `surveyServiceUrl`: `string`\
13111
13305
  * The URL of the SurveyJS Service API endpoint.
13112
13306
  */
13113
13307
  web: {
@@ -13138,14 +13332,14 @@ declare module "settings" {
13138
13332
  *
13139
13333
  * Nested properties:
13140
13334
  *
13141
- * - `changeNavigationButtonsOnComplete`: `Boolean`\
13335
+ * - `changeNavigationButtonsOnComplete`: `boolean`\
13142
13336
  * Specifies whether to re-evaluate an expression associated with the [Complete trigger](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#complete) immediately when a question value changes. If the expression evaluates to `true`, the trigger is executed. Default value: `false`.\
13143
13337
  * Keep this property set to `false` if you want to re-evaluate the Complete trigger's expression only when the respondents navigate to another page.
13144
13338
  *
13145
- * - `executeCompleteOnValueChanged`: `Boolean`\
13339
+ * - `executeCompleteOnValueChanged`: `boolean`\
13146
13340
  * Specifies whether to replace the Next button with the Complete button when the [Complete trigger](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#complete) is going to be executed. Default value: `true`.
13147
13341
  *
13148
- * - `executeSkipOnValueChanged`: `Boolean`\
13342
+ * - `executeSkipOnValueChanged`: `boolean`\
13149
13343
  * Specifies whether to re-evaluate an expression associated with the [Skip trigger](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#skip) immediately when a question value changes. If the expression evaluates to `true`, the trigger is executed. Default value: `true`.\
13150
13344
  * Disable this property if you want to re-evaluate the Skip trigger's expression only when respondents navigate to another page.
13151
13345
  */
@@ -13171,13 +13365,13 @@ declare module "settings" {
13171
13365
  *
13172
13366
  * Nested properties:
13173
13367
  *
13174
- * - `itemValueSerializeAsObject`: `Boolean`\
13368
+ * - `itemValueSerializeAsObject`: `boolean`\
13175
13369
  * Enable this property if you want to serialize [`ItemValue`](https://surveyjs.io/form-library/documentation/api-reference/itemvalue) instances as objects even when they include only the `value` property. Default value: `false`. View an example below.
13176
13370
  *
13177
- * - `itemValueSerializeDisplayText`: `Boolean`\
13371
+ * - `itemValueSerializeDisplayText`: `boolean`\
13178
13372
  * Enable this property if you want to serialize the `text` property of [`ItemValue`](https://surveyjs.io/form-library/documentation/api-reference/itemvalue) objects even when it is empty or equal to the `value` property. Default value: `false`. View an example below.
13179
13373
  *
13180
- * - `localizableStringSerializeAsObject`: `Boolean`\
13374
+ * - `localizableStringSerializeAsObject`: `boolean`\
13181
13375
  * Enable this property if you want to serialize [`LocalizableString`](https://surveyjs.io/form-library/documentation/api-reference/localizablestring) instances as objects even when they include only a translation string for the default locale. For example, `"Custom String"` will be serialized as `{ default: "Custom String" }`. Default value: `false`.
13182
13376
  *
13183
13377
  * ```js
@@ -13216,7 +13410,7 @@ declare module "settings" {
13216
13410
  *
13217
13411
  * Nested properties:
13218
13412
  *
13219
- * - `enabled`: `Boolean`\
13413
+ * - `enabled`: `boolean`\
13220
13414
  * Specifies whether to add questions to the DOM only when they get into the viewport. Default value: `false`.
13221
13415
  *
13222
13416
  * > Lazy rendering is an experimental feature that may not work as expected in all use cases.
@@ -13235,28 +13429,28 @@ declare module "settings" {
13235
13429
  *
13236
13430
  * Nested properties:
13237
13431
  *
13238
- * - `defaultRowName`: `String`\
13432
+ * - `defaultRowName`: `string`\
13239
13433
  * A property key that stores an object with default cell values. Default value: "default".
13240
13434
  *
13241
- * - `defaultCellType`: `String`\
13435
+ * - `defaultCellType`: `string`\
13242
13436
  * The default type of matrix cells. Default value: `"dropdown"`.\
13243
13437
  * You can specify this setting for individual questions or matrix columns: [`cellType`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-matrix-table-question-model#cellType). Refer to the `cellType` property description for information on possible values.
13244
13438
  *
13245
- * - `totalsSuffix`: `String`\
13439
+ * - `totalsSuffix`: `string`\
13246
13440
  * A suffix added to the name of the property that stores total values. The resulting property name consists of the matrix name and the suffix. Default value: `"-total"`.
13247
13441
  *
13248
- * - `maxRowCount`: `Number`\
13442
+ * - `maxRowCount`: `number`\
13249
13443
  * A maximum number of rows in a Dynamic Matrix. Default value: 1000.\
13250
13444
  * You can specify this setting for an individual Dynamic Matrix: [`maxRowCount`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-matrix-table-question-model#maxRowCount).
13251
13445
  *
13252
- * - `maxRowCountInCondition`: `Number`\
13446
+ * - `maxRowCountInCondition`: `number`\
13253
13447
  * A maximum number of matrix rows included in the Condition drop-down menu in Survey Creator. This menu is used to configure conditional survey logic. Default value: 1.\
13254
13448
  * If you set this property to 0, the Condition menu does not include any matrix rows. Users still can specify conditions that use matrix rows but only with Manual Entry.
13255
13449
  *
13256
- * - `renderRemoveAsIcon`: `Boolean`\
13450
+ * - `renderRemoveAsIcon`: `boolean`\
13257
13451
  * Disable this property if you want to render the Remove action in Dynamic Matrix as a button. Otherwise, the action is rendered as an icon. Default value: `true`.
13258
13452
  *
13259
- * - `columnWidthsByType`: `Object`\
13453
+ * - `columnWidthsByType`: `object`\
13260
13454
  * An object that specifies fixed and minimum column width based on the column type.\
13261
13455
  * Example: `settings.matrix.columnWidthsByType = { "tagbox": { minWidth: "240px", width: "300px" } }`
13262
13456
  *
@@ -13307,11 +13501,11 @@ declare module "settings" {
13307
13501
  *
13308
13502
  * Nested properties:
13309
13503
  *
13310
- * - `maxPanelCount`: `Number`\
13504
+ * - `maxPanelCount`: `number`\
13311
13505
  * A maximum number of panels in Dynamic Panel. Default value: 100.\
13312
13506
  * You can specify this setting for an individual Dynamic Panel: [`maxPanelCount`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#maxPanelCount).
13313
13507
  *
13314
- * - `maxPanelCountInCondition`: `Number`\
13508
+ * - `maxPanelCountInCondition`: `number`\
13315
13509
  * A maximum number of Dynamic Panel panels included in the Condition drop-down menu in Survey Creator. This menu is used to configure conditional survey logic. Default value: 1.\
13316
13510
  * If you set this property to 0, the Condition menu does not include any panel questions. Users still can specify conditions that use panel questions but only with Manual Entry.
13317
13511
  */
@@ -13356,10 +13550,10 @@ declare module "settings" {
13356
13550
  *
13357
13551
  * Nested properties:
13358
13552
  *
13359
- * - `includeQuestionsWithHiddenNumber`: `Boolean`\
13553
+ * - `includeQuestionsWithHiddenNumber`: `boolean`\
13360
13554
  * Specifies whether to number questions whose [`hideNumber`](https://surveyjs.io/form-library/documentation/api-reference/question#hideNumber) property is enabled. Default value: `false`.
13361
13555
  *
13362
- * - `includeQuestionsWithHiddenTitle`: `Boolean`\
13556
+ * - `includeQuestionsWithHiddenTitle`: `boolean`\
13363
13557
  * Specifies whether to number questions whose [`titleLocation`](https://surveyjs.io/form-library/documentation/api-reference/question#titleLocation) property is set to `"hidden"`. Default value: `false`.
13364
13558
  */
13365
13559
  numbering: {
@@ -13389,10 +13583,10 @@ declare module "settings" {
13389
13583
  *
13390
13584
  * Nested properties:
13391
13585
  *
13392
- * - `trimStrings`: `Boolean`\
13586
+ * - `trimStrings`: `boolean`\
13393
13587
  * Specifies whether to remove whitespace from both ends of a string before the comparison. Default value: `true`.
13394
13588
  *
13395
- * - `caseSensitive`: `Boolean`\
13589
+ * - `caseSensitive`: `boolean`\
13396
13590
  * Specifies whether to differentiate between capital and lower-case letters. Default value: `false`.
13397
13591
  */
13398
13592
  comparator: {
@@ -13429,16 +13623,27 @@ declare module "settings" {
13429
13623
  */
13430
13624
  tagboxCloseOnSelect: boolean;
13431
13625
  /**
13432
- * A property that allows you to display a custom confirm dialog instead of the standard browser dialog.
13626
+ * A property that allows you to display a custom confirm dialog.
13433
13627
  *
13434
13628
  * 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.
13435
13629
  * @param message A message to be displayed in the confirm dialog window.
13436
13630
  */
13437
13631
  confirmActionFunc: (message: string) => boolean;
13438
13632
  /**
13439
- * A property that allows you to display a custom confirm dialog instead of the standard browser dialog in async mode.
13633
+ * A property that allows you to display a custom confirm dialog in async mode or activate the standard browser dialog.
13634
+ *
13635
+ * To display a custom confirm dialog, set this property to a function that renders it. 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.
13636
+ *
13637
+ * To activate the standard browser dialog, set the `confirmActionAsync` property to a function that returns `false`. With this configuration, a survey falls back to the [`confirmActionFunc`](#confirmActionFunc) function, which renders the standard browser dialog by default.
13440
13638
  *
13441
- * 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.
13639
+ * ```js
13640
+ * import { settings } from "survey-core";
13641
+ *
13642
+ * // Display the standard browser dialog
13643
+ * settings.confirmActionAsync = () => {
13644
+ * return false;
13645
+ * }
13646
+ * ```
13442
13647
  * @param message A message to be displayed in the confirm dialog window.
13443
13648
  * @param callback A callback function that should be called with `true` if a user confirms an action or `false` otherwise.
13444
13649
  */
@@ -13470,7 +13675,7 @@ declare module "settings" {
13470
13675
  *
13471
13676
  * Nested properties:
13472
13677
  *
13473
- * - `lifetime`: `Number`\
13678
+ * - `lifetime`: `number`\
13474
13679
  * Specifies a time period during which a notification is displayed; measured in milliseconds.
13475
13680
  */
13476
13681
  notifications: {
@@ -13683,6 +13888,7 @@ declare module "dropdownListModel" {
13683
13888
  setSearchEnabled(newValue: boolean): void;
13684
13889
  updateItems(): void;
13685
13890
  onClick(event: any): void;
13891
+ chevronPointerDown(event: any): void;
13686
13892
  protected onPropertyChangedHandler(sender: any, options: any): void;
13687
13893
  protected focusItemOnClickAndPopup(): void;
13688
13894
  onClear(event: any): void;
@@ -14702,6 +14908,7 @@ declare module "question_html" {
14702
14908
  get locHtml(): LocalizableString;
14703
14909
  get processedHtml(): string;
14704
14910
  private processHtml;
14911
+ get isNewA11yStructure(): boolean;
14705
14912
  }
14706
14913
  }
14707
14914
  declare module "question_radiogroup" {
@@ -15290,12 +15497,13 @@ declare module "surveyToc" {
15290
15497
  export class TOCModel {
15291
15498
  survey: SurveyModel;
15292
15499
  constructor(survey: SurveyModel);
15293
- isMobile: boolean;
15500
+ get isMobile(): boolean;
15294
15501
  get containerCss(): string;
15295
15502
  listModel: ListModel<Action>;
15296
15503
  popupModel: PopupModel;
15297
15504
  icon: string;
15298
15505
  togglePopup: () => void;
15506
+ dispose(): void;
15299
15507
  }
15300
15508
  }
15301
15509
  declare module "surveyProgress" {
@@ -15539,7 +15747,7 @@ declare module "question_custom" {
15539
15747
  *
15540
15748
  * - `question`: [Question](https://surveyjs.io/Documentation/Library?id=Question)\
15541
15749
  * A custom question.
15542
- * - `propertyName`: `String`\
15750
+ * - `propertyName`: `string`\
15543
15751
  * The name of the changed property.
15544
15752
  * - `newValue`: `any`\
15545
15753
  * A new value for the property.
@@ -15552,7 +15760,7 @@ declare module "question_custom" {
15552
15760
  *
15553
15761
  * - `question`: [Question](https://surveyjs.io/Documentation/Library?id=Question)\
15554
15762
  * A custom question.
15555
- * - `name`: `String`\
15763
+ * - `name`: `string`\
15556
15764
  * The question's [name](https://surveyjs.io/Documentation/Library?id=Question#name).
15557
15765
  * - `newValue`: `any`\
15558
15766
  * A new value for the question.
@@ -15567,7 +15775,7 @@ declare module "question_custom" {
15567
15775
  *
15568
15776
  * - `question`: [Question](https://surveyjs.io/Documentation/Library?id=Question)\
15569
15777
  * A custom question.
15570
- * - `name`: `String`\
15778
+ * - `name`: `string`\
15571
15779
  * The question's [name](https://surveyjs.io/Documentation/Library?id=Question#name).
15572
15780
  * - `newValue`: `any`\
15573
15781
  * A new value for the question.
@@ -15582,9 +15790,9 @@ declare module "question_custom" {
15582
15790
  * A custom question.
15583
15791
  * - `options.obj`: [ItemValue](https://surveyjs.io/Documentation/Library?id=itemvalue)\
15584
15792
  * An `ItemValue` object.
15585
- * - `options.propertyName`: `String`\
15793
+ * - `options.propertyName`: `string`\
15586
15794
  * The name of the property to which an array of `ItemValue` objects is assigned (for example, `"choices"` or `"rows"`).
15587
- * - `options.name`: `String`\
15795
+ * - `options.name`: `string`\
15588
15796
  * The name of the changed property: `"text"` or `"value"`.
15589
15797
  * - `options.newValue`: `any`\
15590
15798
  * A new value for the property.
@@ -15676,7 +15884,7 @@ declare module "question_custom" {
15676
15884
  setSurveyImpl(value: ISurveyImpl, isLight?: boolean): void;
15677
15885
  onSurveyLoad(): void;
15678
15886
  afterRenderQuestionElement(el: HTMLElement): void;
15679
- afterRender(el: any): void;
15887
+ afterRenderCore(el: any): void;
15680
15888
  protected onUpdateQuestionCssClasses(element: Question, css: any): void;
15681
15889
  protected setQuestionValue(newValue: any, updateIsAnswered?: boolean): void;
15682
15890
  protected setNewValue(newValue: any): void;
@@ -15720,7 +15928,7 @@ declare module "question_custom" {
15720
15928
  protected onSetData(): void;
15721
15929
  hasErrors(fireCallback?: boolean, rec?: any): boolean;
15722
15930
  focus(onError?: boolean): void;
15723
- afterRender(el: any): void;
15931
+ afterRenderCore(el: any): void;
15724
15932
  get contentQuestion(): Question;
15725
15933
  protected createQuestion(): Question;
15726
15934
  onSurveyLoad(): void;
@@ -15780,74 +15988,6 @@ declare module "question_custom" {
15780
15988
  private setAfterRenderCallbacks;
15781
15989
  }
15782
15990
  }
15783
- declare module "popup-view-model" {
15784
- import { Base } from "base";
15785
- import { PopupModel } from "popup";
15786
- import { CssClassBuilder } from "utils/cssClassBuilder";
15787
- import { ActionContainer } from "actions/container";
15788
- export const FOCUS_INPUT_SELECTOR = "input:not(:disabled):not([readonly]):not([type=hidden]),select:not(:disabled):not([readonly]),textarea:not(:disabled):not([readonly]), button:not(:disabled):not([readonly]), [tabindex]:not([tabindex^=\"-\"])";
15789
- export class PopupBaseViewModel extends Base {
15790
- private static SubscriptionId;
15791
- private subscriptionId;
15792
- protected popupSelector: string;
15793
- protected fixedPopupContainer: string;
15794
- protected containerSelector: string;
15795
- protected scrollingContentSelector: string;
15796
- protected prevActiveElement: HTMLElement;
15797
- protected footerToolbarValue: ActionContainer;
15798
- top: string;
15799
- left: string;
15800
- height: string;
15801
- width: string;
15802
- minWidth: string;
15803
- isVisible: boolean;
15804
- locale: string;
15805
- get container(): HTMLElement;
15806
- private containerElement;
15807
- private createdContainer;
15808
- getLocale(): string;
15809
- protected hidePopup(): void;
15810
- protected getStyleClass(): CssClassBuilder;
15811
- protected getShowFooter(): boolean;
15812
- protected getShowHeader(): boolean;
15813
- protected getPopupHeaderTemplate(): string;
15814
- protected createFooterActionBar(): void;
15815
- protected resetDimensionsAndPositionStyleProperties(): void;
15816
- protected onModelChanging(newModel: PopupModel): void;
15817
- private setupModel;
15818
- private _model;
15819
- get model(): PopupModel;
15820
- set model(model: PopupModel);
15821
- constructor(model: PopupModel);
15822
- get title(): string;
15823
- get contentComponentName(): string;
15824
- get contentComponentData(): any;
15825
- get isModal(): boolean;
15826
- get isFocusedContent(): boolean;
15827
- get isFocusedContainer(): boolean;
15828
- get showFooter(): boolean;
15829
- get showHeader(): boolean;
15830
- get popupHeaderTemplate(): string;
15831
- get isOverlay(): boolean;
15832
- get styleClass(): string;
15833
- get cancelButtonText(): string;
15834
- get footerToolbar(): ActionContainer;
15835
- onKeyDown(event: any): void;
15836
- private trapFocus;
15837
- switchFocus(): void;
15838
- updateOnShowing(): void;
15839
- updateOnHiding(): void;
15840
- private focusContainer;
15841
- private focusFirstInput;
15842
- clickOutside(event?: Event): void;
15843
- cancel(): void;
15844
- dispose(): void;
15845
- initializePopupContainer(): void;
15846
- setComponentElement(componentRoot: HTMLElement, targetElement?: HTMLElement | null): void;
15847
- resetComponentElement(): void;
15848
- protected preventScrollOuside(event: any, deltaY: number): void;
15849
- }
15850
- }
15851
15991
  declare module "popup-dropdown-view-model" {
15852
15992
  import { IPosition } from "utils/popup";
15853
15993
  import { CssClassBuilder } from "utils/cssClassBuilder";
@@ -23865,6 +24005,7 @@ declare module "react/dropdown-base" {
23865
24005
  export class SurveyQuestionDropdownBase<T extends Question> extends SurveyQuestionUncontrolledElement<T> {
23866
24006
  inputElement: HTMLInputElement | null;
23867
24007
  click: (event: any) => void;
24008
+ chevronPointerDown: (event: any) => void;
23868
24009
  clear: (event: any) => void;
23869
24010
  keyhandler: (event: any) => void;
23870
24011
  blur: (event: any) => void;
@@ -23972,13 +24113,12 @@ declare module "react/reactquestion_file" {
23972
24113
  protected renderFileDecorator(): JSX.Element;
23973
24114
  protected renderChooseButton(): JSX.Element;
23974
24115
  protected renderClearButton(className: string): JSX.Element | null;
23975
- protected renderFileSign(className: string, val: any): JSX.Element | null;
24116
+ protected renderPreview(): JSX.Element;
23976
24117
  protected renderLoadingIndicator(): JSX.Element;
23977
24118
  protected renderVideo(): JSX.Element;
23978
- protected renderPreview(): JSX.Element;
23979
24119
  }
23980
24120
  }
23981
- declare module "react/components/file-actions/file-choose-button" {
24121
+ declare module "react/components/file/file-choose-button" {
23982
24122
  import { ReactSurveyElement } from "react/reactquestion_element";
23983
24123
  import { QuestionFileModel } from "entries/core";
23984
24124
  export class SurveyFileChooseButton extends ReactSurveyElement {
@@ -23987,6 +24127,18 @@ declare module "react/components/file-actions/file-choose-button" {
23987
24127
  render(): JSX.Element;
23988
24128
  }
23989
24129
  }
24130
+ declare module "react/components/file/file-preview" {
24131
+ import { SurveyElementBase } from "react/reactquestion_element";
24132
+ import { QuestionFileModel } from "entries/core";
24133
+ export class SurveyFilePreview extends SurveyElementBase<{
24134
+ question: QuestionFileModel;
24135
+ }, {}> {
24136
+ protected get question(): QuestionFileModel;
24137
+ protected renderFileSign(className: string, val: any): JSX.Element | null;
24138
+ protected renderElement(): JSX.Element | null;
24139
+ protected canRender(): boolean;
24140
+ }
24141
+ }
23990
24142
  declare module "react/reactquestion_multipletext" {
23991
24143
  import { SurveyQuestionElementBase } from "react/reactquestion_element";
23992
24144
  import { SurveyQuestionAndErrorsWrapped } from "react/reactquestion";
@@ -24568,7 +24720,8 @@ declare module "entries/react-ui-model" {
24568
24720
  export { SurveyQuestionMatrix, SurveyQuestionMatrixRow, } from "react/reactquestion_matrix";
24569
24721
  export { SurveyQuestionHtml } from "react/reactquestion_html";
24570
24722
  export { SurveyQuestionFile } from "react/reactquestion_file";
24571
- export { SurveyFileChooseButton } from "react/components/file-actions/file-choose-button";
24723
+ export { SurveyFileChooseButton } from "react/components/file/file-choose-button";
24724
+ export { SurveyFilePreview } from "react/components/file/file-preview";
24572
24725
  export { SurveyQuestionMultipleText } from "react/reactquestion_multipletext";
24573
24726
  export { SurveyQuestionRadiogroup, SurveyQuestionRadioItem } from "react/reactquestion_radiogroup";
24574
24727
  export { SurveyQuestionText } from "react/reactquestion_text";