survey-react 1.9.128 → 1.9.130

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
@@ -816,7 +816,7 @@ declare module "popup-view-model" {
816
816
  declare module "utils/utils" {
817
817
  function compareVersions(a: any, b: any): number;
818
818
  function confirmAction(message: string): boolean;
819
- function confirmActionAsync(message: string, funcOnYes: () => void, funcOnNo?: () => void, locale?: string): void;
819
+ function confirmActionAsync(message: string, funcOnYes: () => void, funcOnNo?: () => void, locale?: string, rootElement?: HTMLElement): void;
820
820
  function detectIEBrowser(): boolean;
821
821
  function detectIEOrEdge(): boolean;
822
822
  function loadFileFromBase64(b64Data: string, fileName: string): void;
@@ -856,8 +856,9 @@ declare module "utils/utils" {
856
856
  log(action: string): void;
857
857
  get result(): string;
858
858
  }
859
- export function showConfirmDialog(message: string, callback: (res: boolean) => void, applyTitle?: string, locale?: string): boolean;
860
- 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, };
859
+ export function showConfirmDialog(message: string, callback: (res: boolean) => void, applyTitle?: string, locale?: string, rootElement?: HTMLElement): boolean;
860
+ function chooseFiles(input: HTMLInputElement, callback: (files: File[]) => void): void;
861
+ 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, chooseFiles };
861
862
  }
862
863
  declare module "actions/container" {
863
864
  import { Base } from "base";
@@ -1677,6 +1678,7 @@ declare module "defaultCss/defaultV2Css" {
1677
1678
  itemOnError: string;
1678
1679
  control: string;
1679
1680
  itemChecked: string;
1681
+ itemExchanged: string;
1680
1682
  itemIndeterminate: string;
1681
1683
  itemDisabled: string;
1682
1684
  itemHover: string;
@@ -2042,6 +2044,7 @@ declare module "defaultCss/defaultV2Css" {
2042
2044
  window: {
2043
2045
  root: string;
2044
2046
  rootCollapsedMod: string;
2047
+ rootFullScreenMode: string;
2045
2048
  rootContent: string;
2046
2049
  body: string;
2047
2050
  header: {
@@ -2053,6 +2056,7 @@ declare module "defaultCss/defaultV2Css" {
2053
2056
  buttonCollapsed: string;
2054
2057
  collapseButton: string;
2055
2058
  closeButton: string;
2059
+ fullScreenButton: string;
2056
2060
  };
2057
2061
  };
2058
2062
  ranking: {
@@ -2746,6 +2750,7 @@ declare module "question_custom" {
2746
2750
  getDynamicType(): string;
2747
2751
  getOriginalObj(): Base;
2748
2752
  protected createWrapper(): void;
2753
+ private getDynamicProperty;
2749
2754
  protected getElement(): SurveyElement;
2750
2755
  onAnyValueChanged(name: string, questionName: string): void;
2751
2756
  protected getQuestionByName(name: string): IQuestion;
@@ -2804,6 +2809,7 @@ declare module "question_custom" {
2804
2809
  protected getQuestionByName(name: string): IQuestion;
2805
2810
  private settingNewValue;
2806
2811
  setValue(name: string, newValue: any, locNotification: any, allowNotifyValueChanged?: boolean): any;
2812
+ getFilteredValues(): any;
2807
2813
  private updateValueCoreWithPanelValue;
2808
2814
  private getContentPanelValue;
2809
2815
  private getValueForContentPanel;
@@ -3246,6 +3252,11 @@ declare module "panel" {
3246
3252
  get rows(): Array<QuestionRowModel>;
3247
3253
  ensureRowsVisibility(): void;
3248
3254
  protected onRowsChanged(): void;
3255
+ private locCountRowUpdates;
3256
+ private blockRowsUpdates;
3257
+ private releaseRowsUpdates;
3258
+ private updateRowsBeforeElementRemoved;
3259
+ private updateRowsOnElementAdded;
3249
3260
  protected onAddElement(element: IElement, index: number): void;
3250
3261
  protected onRemoveElement(element: IElement): void;
3251
3262
  private onElementVisibilityChanged;
@@ -3312,6 +3323,7 @@ declare module "panel" {
3312
3323
  * @see addNewPanel
3313
3324
  */
3314
3325
  addElement(element: IElement, index?: number): boolean;
3326
+ insertElement(element: IElement, dest?: IElement, location?: "bottom" | "top" | "left" | "right"): void;
3315
3327
  insertElementAfter(element: IElement, after: IElement): void;
3316
3328
  insertElementBefore(element: IElement, before: IElement): void;
3317
3329
  protected canAddElement(element: IElement): boolean;
@@ -3334,7 +3346,7 @@ declare module "panel" {
3334
3346
  *
3335
3347
  * This method returns `null` if the panel cannot be created or added to this panel/page; otherwise, the method returns the created panel.
3336
3348
  * @param name A panel name.
3337
- * @see elements
3349
+ * @see elementsup
3338
3350
  * @see addElement
3339
3351
  */
3340
3352
  addNewPanel(name?: string): PanelModel;
@@ -3681,6 +3693,7 @@ declare module "question_file" {
3681
3693
  */
3682
3694
  get maxSize(): number;
3683
3695
  set maxSize(val: number);
3696
+ chooseFile(event: MouseEvent): void;
3684
3697
  /**
3685
3698
  * Specifies whether users should confirm file deletion.
3686
3699
  *
@@ -3772,7 +3785,7 @@ declare module "question_file" {
3772
3785
  protected onChangeQuestionValue(newValue: any): void;
3773
3786
  protected calcCssClasses(css: any): any;
3774
3787
  updateElementCss(reNew?: boolean): void;
3775
- endLoadingFromJson(): void;
3788
+ onSurveyLoad(): void;
3776
3789
  protected needResponsiveness(): boolean;
3777
3790
  protected supportResponsiveness(): boolean;
3778
3791
  protected getObservedElementSelector(): string;
@@ -5072,6 +5085,24 @@ declare module "question_matrixdropdowncolumn" {
5072
5085
  */
5073
5086
  get totalDisplayStyle(): string;
5074
5087
  set totalDisplayStyle(val: string);
5088
+ /**
5089
+ * An alignment for calculated total values.
5090
+ *
5091
+ * Possible values:
5092
+ *
5093
+ * - `"left"`
5094
+ * - `"center"`
5095
+ * - `"right"`
5096
+ * - `"auto"` (default) - Applies one of the values above based on the column's [cell type](#cellType).
5097
+ *
5098
+ * [View Demo](https://surveyjs.io/form-library/examples/aggregate-data-within-form/ (linkStyle))
5099
+ * @see totalType
5100
+ * @see totalFormat
5101
+ * @see totalCurrency
5102
+ * @see totalDisplayStyle
5103
+ */
5104
+ get totalAlignment(): string;
5105
+ set totalAlignment(val: string);
5075
5106
  /**
5076
5107
  * Specifies a currency used to display calculated total values. Applies only if [`totalDisplayStyle`](#totalDisplayStyle) is set to `"currency"`.
5077
5108
  * @see totalType
@@ -5151,6 +5182,7 @@ declare module "dragdrop/dom-adapter" {
5151
5182
  export class DragDropDOMAdapter implements IDragDropDOMAdapter {
5152
5183
  private dd;
5153
5184
  private longTap;
5185
+ private fitToContainer;
5154
5186
  static PreventScrolling: boolean;
5155
5187
  private timeoutID;
5156
5188
  private startX;
@@ -5161,7 +5193,7 @@ declare module "dragdrop/dom-adapter" {
5161
5193
  private savedTargetNodeParent;
5162
5194
  private savedTargetNodeIndex;
5163
5195
  private scrollIntervalId;
5164
- constructor(dd: IDragDropEngine, longTap?: boolean);
5196
+ constructor(dd: IDragDropEngine, longTap?: boolean, fitToContainer?: boolean);
5165
5197
  private get rootElement();
5166
5198
  private stopLongTapIfMoveEnough;
5167
5199
  private get isMicroMovement();
@@ -5309,6 +5341,7 @@ declare module "question_matrixdropdownrendered" {
5309
5341
  get isFirstChoice(): boolean;
5310
5342
  set className(val: string);
5311
5343
  get className(): string;
5344
+ get cellQuestionWrapperClassName(): string;
5312
5345
  get headers(): string;
5313
5346
  getTitle(): string;
5314
5347
  calculateFinalClassName(matrixCssClasses: any): string;
@@ -5521,7 +5554,7 @@ declare module "question_matrixdynamic" {
5521
5554
  protected updateProgressInfoByValues(res: IProgressInfo): void;
5522
5555
  private getValueForNewRow;
5523
5556
  /**
5524
- * Specifies whether users can drag and drop matrix rows to reorder them. Applies only if [`columnLayout`](#columnLayout) is `"horizontal"`.
5557
+ * Specifies whether users can drag and drop matrix rows to reorder them. Applies only if [`transposeData`](#transposeData) is `false`.
5525
5558
  *
5526
5559
  * Default value: `false`
5527
5560
  */
@@ -5654,8 +5687,7 @@ declare module "question_matrixdynamic" {
5654
5687
  * - `"bottom"` - Displays the Add Row button at the bottom of the matrix.
5655
5688
  * - `"topBottom"` - Displays the Add Row button at the top and bottom of the matrix.
5656
5689
  *
5657
- * Default value: `"top"` if `columnLayout` is `vertical`; `"bottom"` if `columnLayout` is `"horizontal"` or the matrix is in compact mode.
5658
- * @see columnLayout
5690
+ * Default value: `"top"` if [`transposeData`](#transposeData) is `true`; `"bottom"` if `transposeData` is `false` or the matrix is in compact mode.
5659
5691
  * @see addRowText
5660
5692
  */
5661
5693
  get addRowLocation(): string;
@@ -6539,7 +6571,7 @@ declare module "question_paneldynamic" {
6539
6571
  getPrevButtonCss(): string;
6540
6572
  getNextButtonCss(): string;
6541
6573
  /**
6542
- * A text displayed when Dynamic Panel contains no entries. Applies only in the Default V2 theme.
6574
+ * A text displayed when Dynamic Panel contains no entries.
6543
6575
  */
6544
6576
  get noEntriesText(): string;
6545
6577
  set noEntriesText(val: string);
@@ -7217,6 +7249,25 @@ declare module "survey-events-api" {
7217
7249
  */
7218
7250
  files: Array<File>;
7219
7251
  }
7252
+ export interface OpenFileChooserEvent {
7253
+ /**
7254
+ * A file input HTML element.
7255
+ */
7256
+ input: HTMLInputElement;
7257
+ /**
7258
+ * A question, panel, page, or survey for which this event is raised.
7259
+ */
7260
+ element: Base;
7261
+ /**
7262
+ * A choice item for which the event is raised. This parameter has a value only when the dialog window is opened to select images for an [Image Picker](https://surveyjs.io/form-library/documentation/api-reference/image-picker-question-model) question.
7263
+ */
7264
+ item: ItemValue;
7265
+ /**
7266
+ * A callback function to which you should pass selected files.
7267
+ * @param files An array of selected files.
7268
+ */
7269
+ callback: (files: Array<File>) => void;
7270
+ }
7220
7271
  export interface DownloadFileEvent extends LoadFilesEvent {
7221
7272
  /**
7222
7273
  * A callback function that you should call when a file is downloaded successfully or when deletion fails. Pass `"success"` or `"error"` as the first argument to indicate the operation status. As the second argument, you can pass the downloaded file's data as a Base64 string if file download was successful or an error message if file download failed.
@@ -8586,6 +8637,7 @@ declare module "header" {
8586
8637
  private updateContentClasses;
8587
8638
  private updateBackgroundImageClasses;
8588
8639
  fromTheme(theme: ITheme): void;
8640
+ private init;
8589
8641
  constructor();
8590
8642
  getType(): string;
8591
8643
  cells: CoverCell[];
@@ -8596,6 +8648,8 @@ declare module "header" {
8596
8648
  textGlowEnabled: boolean;
8597
8649
  overlapEnabled: boolean;
8598
8650
  backgroundColor: string;
8651
+ titleColor: string;
8652
+ descriptionColor: string;
8599
8653
  backgroundImage: string;
8600
8654
  renderBackgroundImage: string;
8601
8655
  backgroundImageFit: "cover" | "fill" | "contain" | "tile";
@@ -8740,7 +8794,7 @@ declare module "survey" {
8740
8794
  import { ActionContainer } from "actions/container";
8741
8795
  import { QuestionPanelDynamicModel } from "question_paneldynamic";
8742
8796
  import { Notifier } from "notifier";
8743
- 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, DynamicPanelCurrentIndexChangedEvent, IsAnswerCorrectEvent, DragDropAllowEvent, ScrollingElementToTopEvent, GetQuestionTitleActionsEvent, GetPanelTitleActionsEvent, GetPageTitleActionsEvent, GetPanelFooterActionsEvent, GetMatrixRowActionsEvent, ElementContentVisibilityChangedEvent, GetExpressionDisplayValueEvent, ServerValidateQuestionsEvent, MultipleTextItemAddedEvent, MatrixColumnAddedEvent, GetQuestionDisplayValueEvent, PopupVisibleChangedEvent, ChoicesSearchEvent } from "survey-events-api";
8797
+ 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, DynamicPanelCurrentIndexChangedEvent, IsAnswerCorrectEvent, DragDropAllowEvent, ScrollingElementToTopEvent, GetQuestionTitleActionsEvent, GetPanelTitleActionsEvent, GetPageTitleActionsEvent, GetPanelFooterActionsEvent, GetMatrixRowActionsEvent, ElementContentVisibilityChangedEvent, GetExpressionDisplayValueEvent, ServerValidateQuestionsEvent, MultipleTextItemAddedEvent, MatrixColumnAddedEvent, GetQuestionDisplayValueEvent, PopupVisibleChangedEvent, ChoicesSearchEvent, OpenFileChooserEvent } from "survey-events-api";
8744
8798
  import { QuestionMatrixDropdownModelBase } from "question_matrixdropdownbase";
8745
8799
  import { QuestionMatrixDynamicModel } from "question_matrixdynamic";
8746
8800
  import { QuestionFileModel } from "question_file";
@@ -9083,6 +9137,12 @@ declare module "survey" {
9083
9137
  * @see getResult
9084
9138
  */
9085
9139
  onGetResult: EventBase<SurveyModel, GetResultEvent>;
9140
+ /**
9141
+ * An event that is raised when Survey Creator opens a dialog window for users to select files.
9142
+ * @see onUploadFile
9143
+ * @see uploadFiles
9144
+ */
9145
+ onOpenFileChooser: EventBase<SurveyModel, OpenFileChooserEvent>;
9086
9146
  /**
9087
9147
  * An event that is raised when a File Upload or Signature Pad question starts to upload a file. Applies only if [`storeDataAsText`](https://surveyjs.io/form-library/documentation/api-reference/file-model#storeDataAsText) is `false`. Use this event to upload files to your server.
9088
9148
  *
@@ -9938,6 +9998,7 @@ declare module "survey" {
9938
9998
  get isLogoBefore(): boolean;
9939
9999
  get isLogoAfter(): boolean;
9940
10000
  get logoClassNames(): string;
10001
+ private titleIsEmpty;
9941
10002
  get renderedHasTitle(): boolean;
9942
10003
  get renderedHasDescription(): boolean;
9943
10004
  get hasTitle(): boolean;
@@ -10876,6 +10937,17 @@ declare module "survey" {
10876
10937
  private getUpdatedPageTitleActions;
10877
10938
  getUpdatedMatrixRowActions(question: QuestionMatrixDropdownModelBase, row: any, actions: Array<IAction>): IAction[];
10878
10939
  scrollElementToTop(element: ISurveyElement, question: Question, page: PageModel, id: string, scrollIfVisible?: boolean): any;
10940
+ /**
10941
+ * Opens a dialog window for users to select files.
10942
+ * @param input A [file input HTML element](https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement).
10943
+ * @param callback A callback function that you can use to process selected files. Accepts an array of JavaScript <a href="https://developer.mozilla.org/en-US/docs/Web/API/File" target="_blank">File</a> objects.
10944
+ * @see onOpenFileChooser
10945
+ * @see onUploadFile
10946
+ */
10947
+ chooseFiles(input: HTMLInputElement, callback: (files: File[]) => void, context?: {
10948
+ element: ISurveyElement;
10949
+ item?: any;
10950
+ }): void;
10879
10951
  /**
10880
10952
  * Uploads files to a server.
10881
10953
  *
@@ -13136,6 +13208,7 @@ declare module "question_matrixdropdownbase" {
13136
13208
  get question(): Question;
13137
13209
  get value(): any;
13138
13210
  set value(value: any);
13211
+ getQuestionWrapperClassName(className: string): string;
13139
13212
  runCondition(values: HashTable<any>, properties: HashTable<any>): void;
13140
13213
  }
13141
13214
  export class MatrixDropdownTotalCell extends MatrixDropdownCell {
@@ -13146,6 +13219,7 @@ declare module "question_matrixdropdownbase" {
13146
13219
  protected createQuestion(column: MatrixDropdownColumn, row: MatrixDropdownRowModelBase, data: IMatrixDropdownData): Question;
13147
13220
  locStrsChanged(): void;
13148
13221
  updateCellQuestion(): void;
13222
+ getQuestionWrapperClassName(className: string): string;
13149
13223
  getTotalExpression(): string;
13150
13224
  }
13151
13225
  export class MatrixDropdownRowModelBase implements ISurveyData, ISurveyImpl, ILocalizableOwner {
@@ -13280,12 +13354,16 @@ declare module "question_matrixdropdownbase" {
13280
13354
  protected updateColumnsAndRows(): void;
13281
13355
  itemValuePropertyChanged(item: ItemValue, name: string, oldValue: any, newValue: any): void;
13282
13356
  /**
13283
- * Specifies the matrix layout. Set this property to `"vertical"` if you want to display columns instead of rows and rows instead of columns.
13357
+ * Specifies whether to display [`columns`](#columns) as rows and [`rows`](#rows) as columns.
13284
13358
  *
13285
- * Default value: `"horizontal"`
13286
- * @see columns
13287
- * @see rows
13288
- * @see isColumnLayoutHorizontal
13359
+ * Default value: `false`
13360
+ *
13361
+ * [View Demo](https://surveyjs.io/form-library/examples/transpose-dynamic-rows-to-columns-in-matrix/ (linkStyle))
13362
+ */
13363
+ get transposeData(): boolean;
13364
+ set transposeData(val: boolean);
13365
+ /**
13366
+ * This property is obsolete. Use the [`transposeData`](#transposeData) property instead.
13289
13367
  */
13290
13368
  get columnLayout(): string;
13291
13369
  set columnLayout(val: string);
@@ -13317,10 +13395,10 @@ declare module "question_matrixdropdownbase" {
13317
13395
  set cellErrorLocation(value: string);
13318
13396
  getChildErrorLocation(child: Question): string;
13319
13397
  /**
13320
- * Returns `true` if columns are placed in the horizontal direction and rows in the vertical direction.
13398
+ * Returns `true` if [`columns`](#columns) are placed in the horizontal direction and [`rows`](#columns) in the vertical direction.
13321
13399
  *
13322
- * To specify the layout, use the `columnLayout` property. If you set it to `"vertical"`, the survey applies it only when the screen has enough space. Otherwise, the survey falls back to the horizontal layout, but the `columnLayout` property remains set to `"vertical"`. Unlike `columnLayout`, the `isColumnLayoutHorizontal` property always indicates the current layout.
13323
- * @see columnLayout
13400
+ * To specify the layout, use the [`transposeData`](#transposeData) property. If you set it to `true`, the survey applies it only when the screen has enough space. Otherwise, the survey falls back to the original layout, but the `transposeData` property remains set to `true`. Unlike `transposeData`, the `isColumnLayoutHorizontal` property always indicates the current layout.
13401
+ * @see transposeData
13324
13402
  */
13325
13403
  get isColumnLayoutHorizontal(): boolean;
13326
13404
  /**
@@ -13763,6 +13841,10 @@ declare module "base-interfaces" {
13763
13841
  elementContentVisibilityChanged(element: ISurveyElement): void;
13764
13842
  onCorrectQuestionAnswer(question: IQuestion, options: any): void;
13765
13843
  processPopupVisiblityChanged(question: IQuestion, popupModel: PopupModel, visible: boolean): void;
13844
+ chooseFiles(input: HTMLInputElement, callback: (files: File[]) => void, context?: {
13845
+ element: ISurveyElement;
13846
+ item?: any;
13847
+ }): void;
13766
13848
  }
13767
13849
  export interface ISurveyImpl {
13768
13850
  getSurveyData(): ISurveyData;
@@ -13976,6 +14058,7 @@ declare module "jsonobject" {
13976
14058
  isBindable: boolean;
13977
14059
  className: string;
13978
14060
  alternativeName: string;
14061
+ oldName: string;
13979
14062
  classNamePart: string;
13980
14063
  baseClassName: string;
13981
14064
  defaultValueValue: any;
@@ -13999,6 +14082,7 @@ declare module "jsonobject" {
13999
14082
  onSettingValue: (obj: any, value: any) => any;
14000
14083
  onSetValue: (obj: any, value: any, jsonConv: JsonObject) => any;
14001
14084
  visibleIf: (obj: any) => boolean;
14085
+ enableIf: (obj: any) => boolean;
14002
14086
  onExecuteExpression: (obj: any, res: any) => any;
14003
14087
  onPropertyEditorUpdate: (obj: any, propEditor: any) => any;
14004
14088
  constructor(classInfo: JsonMetadataClass, name: string, isRequired?: boolean);
@@ -14038,11 +14122,14 @@ declare module "jsonobject" {
14038
14122
  setBaseValue(val: any): void;
14039
14123
  get readOnly(): boolean;
14040
14124
  set readOnly(val: boolean);
14125
+ isEnable(obj: any): boolean;
14041
14126
  isVisible(layout: string, obj?: any): boolean;
14127
+ private getOriginalObj;
14042
14128
  get visible(): boolean;
14043
14129
  set visible(val: boolean);
14044
14130
  isAvailableInVersion(ver: string): boolean;
14045
14131
  getSerializedName(ver: string): string;
14132
+ getSerializedProperty(obj: any, ver: string): JsonObjectProperty;
14046
14133
  private isAvailableInVersionCore;
14047
14134
  get isLocalizable(): boolean;
14048
14135
  set isLocalizable(val: boolean);
@@ -14111,6 +14198,7 @@ declare module "jsonobject" {
14111
14198
  setObjPropertyValue(obj: any, name: string, val: any): void;
14112
14199
  private getObjPropertyValueCore;
14113
14200
  private isObjWrapper;
14201
+ private isNeedUseObjWrapper;
14114
14202
  addClass(name: string, properties: Array<any>, creator?: (json?: any) => any, parentName?: string): JsonMetadataClass;
14115
14203
  removeClass(name: string): void;
14116
14204
  overrideClassCreatore(name: string, creator: () => any): void;
@@ -14213,6 +14301,7 @@ declare module "jsonobject" {
14213
14301
  private addDynamicProperties;
14214
14302
  private propertiesToJson;
14215
14303
  valueToJson(obj: any, result: any, prop: JsonObjectProperty, options?: ISaveToJSONOptions): void;
14304
+ private valueToJsonCore;
14216
14305
  valueToObj(value: any, obj: any, property: JsonObjectProperty, jsonObj?: any, options?: ILoadFromJSONOptions): void;
14217
14306
  private removePosOnValueToJson;
14218
14307
  private removePos;
@@ -14989,31 +15078,47 @@ declare module "settings" {
14989
15078
  */
14990
15079
  tagboxCloseOnSelect: boolean;
14991
15080
  /**
14992
- * A property that allows you to display a custom confirm dialog.
15081
+ * A function that activates a browser confirm dialog.
15082
+ *
15083
+ * Use the following code to execute this function:
15084
+ *
15085
+ * ```js
15086
+ * import { settings } from "survey-core";
14993
15087
  *
14994
- * 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.
15088
+ * // `result` contains `true` if the action was confirmed or `false` otherwise
15089
+ * const result = settings.confirmActionFunc("Are you sure?");
15090
+ * ```
15091
+ *
15092
+ * You can redefine the `confirmActionFunc` function if you want to display a custom dialog window. Your function should return `true` if a user confirms an action or `false` otherwise.
14995
15093
  * @param message A message to be displayed in the confirm dialog window.
14996
15094
  */
14997
15095
  confirmActionFunc: (message: string) => boolean;
14998
15096
  /**
14999
- * A property that allows you to display a custom confirm dialog in async mode or activate the standard browser dialog.
15097
+ * A function that activates a proprietary SurveyJS confirm dialog.
15000
15098
  *
15001
- * 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.
15002
- *
15003
- * 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.
15099
+ * Use the following code to execute this function:
15004
15100
  *
15005
15101
  * ```js
15006
15102
  * import { settings } from "survey-core";
15007
15103
  *
15008
- * // Display the standard browser dialog
15009
- * settings.confirmActionAsync = () => {
15010
- * return false;
15011
- * }
15104
+ * settings.confirmActionAsync("Are you sure?", (confirmed) => {
15105
+ * if (confirmed) {
15106
+ * // ...
15107
+ * // Proceed with the action
15108
+ * // ...
15109
+ * } else {
15110
+ * // ...
15111
+ * // Cancel the action
15112
+ * // ...
15113
+ * }
15114
+ * });
15012
15115
  * ```
15116
+ *
15117
+ * You can redefine the `confirmActionAsync` function if you want to display a custom dialog window. Your 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.
15013
15118
  * @param message A message to be displayed in the confirm dialog window.
15014
15119
  * @param callback A callback function that should be called with `true` if a user confirms an action or `false` otherwise.
15015
15120
  */
15016
- confirmActionAsync: (message: string, callback: (res: boolean) => void, applyTitle?: string, locale?: string) => boolean;
15121
+ confirmActionAsync: (message: string, callback: (res: boolean) => void, applyTitle?: string, locale?: string, rootElement?: HTMLElement) => boolean;
15017
15122
  /**
15018
15123
  * A minimum width value for all survey elements.
15019
15124
  *
@@ -15248,6 +15353,7 @@ declare module "dropdownListModel" {
15248
15353
  protected onSelectionChanged?: (item: IAction, ...params: any[]) => void;
15249
15354
  readonly minPageSize = 25;
15250
15355
  readonly loadingItemHeight = 40;
15356
+ private htmlCleanerElement;
15251
15357
  private _markdownMode;
15252
15358
  private _popupModel;
15253
15359
  private filteredItems;
@@ -15284,6 +15390,7 @@ declare module "dropdownListModel" {
15284
15390
  showInputFieldComponent: boolean;
15285
15391
  ariaActivedescendant: string;
15286
15392
  private applyInputString;
15393
+ private cleanHtml;
15287
15394
  protected fixInputCase(): void;
15288
15395
  protected applyHintString(item: ItemValue): void;
15289
15396
  get inputStringRendered(): string;
@@ -16783,6 +16890,9 @@ declare module "question_boolean" {
16783
16890
  set labelTrue(val: string);
16784
16891
  get locLabelTrue(): LocalizableString;
16785
16892
  get isDeterminated(): boolean;
16893
+ swapOrder: boolean;
16894
+ get locLabelLeft(): LocalizableString;
16895
+ get locLabelRight(): LocalizableString;
16786
16896
  /**
16787
16897
  * Gets or sets a text label that corresponds to a negative answer.
16788
16898
  *
@@ -16965,6 +17075,8 @@ declare module "popup-survey" {
16965
17075
  */
16966
17076
  get isShowing(): boolean;
16967
17077
  set isShowing(val: boolean);
17078
+ get isFullScreen(): boolean;
17079
+ set isFullScreen(val: boolean);
16968
17080
  /**
16969
17081
  * Shows the pop-up survey. The survey may appear [expanded or collapsed](#isExpanded).
16970
17082
  *
@@ -16981,6 +17093,7 @@ declare module "popup-survey" {
16981
17093
  * @see collapse
16982
17094
  */
16983
17095
  hide(): void;
17096
+ toggleFullScreen(): void;
16984
17097
  /**
16985
17098
  * Indicates whether the pop-up window is expanded or collapsed.
16986
17099
  *
@@ -17024,6 +17137,13 @@ declare module "popup-survey" {
17024
17137
  */
17025
17138
  get allowClose(): boolean;
17026
17139
  set allowClose(val: boolean);
17140
+ /**
17141
+ * Specifies whether to display a button that allows respondents to show the pop-up survey in full screen mode.
17142
+ *
17143
+ * Default value: `false`
17144
+ */
17145
+ get allowFullScreen(): boolean;
17146
+ set allowFullScreen(val: boolean);
17027
17147
  get css(): any;
17028
17148
  get cssButton(): string;
17029
17149
  get cssRoot(): string;
@@ -17035,9 +17155,11 @@ declare module "popup-survey" {
17035
17155
  get cssHeaderButtonsContainer(): string;
17036
17156
  get cssHeaderCollapseButton(): string;
17037
17157
  get cssHeaderCloseButton(): string;
17158
+ get cssHeaderFullScreenButton(): string;
17038
17159
  get renderedWidth(): string;
17039
17160
  width: string;
17040
17161
  private updateCss;
17162
+ private setCssRoot;
17041
17163
  private updateCssButton;
17042
17164
  private setCssButton;
17043
17165
  protected createSurvey(jsonObj: any): SurveyModel;
@@ -17190,7 +17312,7 @@ declare module "entries/chunks/model" {
17190
17312
  export { JsonError, JsonIncorrectTypeError, JsonMetadata, JsonMetadataClass, JsonMissingTypeError, JsonMissingTypeErrorBase, JsonObject, JsonObjectProperty, JsonRequiredPropertyError, JsonUnknownPropertyError, Serializer, property, propertyArray } from "jsonobject";
17191
17313
  export { IMatrixDropdownData, MatrixDropdownCell, MatrixDropdownRowModelBase, QuestionMatrixDropdownModelBase } from "question_matrixdropdownbase";
17192
17314
  export { MatrixDropdownColumn, matrixDropdownColumnTypes } from "question_matrixdropdowncolumn";
17193
- export { QuestionMatrixDropdownRenderedCell, QuestionMatrixDropdownRenderedRow, QuestionMatrixDropdownRenderedTable } from "question_matrixdropdownrendered";
17315
+ export { QuestionMatrixDropdownRenderedCell, QuestionMatrixDropdownRenderedRow, QuestionMatrixDropdownRenderedErrorRow, QuestionMatrixDropdownRenderedTable } from "question_matrixdropdownrendered";
17194
17316
  export { MatrixDropdownRowModel, QuestionMatrixDropdownModel } from "question_matrixdropdown";
17195
17317
  export { MatrixDynamicRowModel, QuestionMatrixDynamicModel } from "question_matrixdynamic";
17196
17318
  export { MatrixRowModel, MatrixCells, QuestionMatrixModel, IMatrixData } from "question_matrix";
@@ -17253,7 +17375,7 @@ declare module "entries/chunks/model" {
17253
17375
  export { DropdownMultiSelectListModel } from "dropdownMultiSelectListModel";
17254
17376
  export { QuestionButtonGroupModel, ButtonGroupItemModel, ButtonGroupItemValue } from "question_buttongroup";
17255
17377
  export { IsMobile, IsTouch, _setIsTouch } from "utils/devices";
17256
- export { confirmAction, confirmActionAsync, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, sanitizeEditableContent, IAttachKey2clickOptions } from "utils/utils";
17378
+ export { confirmAction, confirmActionAsync, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, chooseFiles, sanitizeEditableContent, IAttachKey2clickOptions } from "utils/utils";
17257
17379
  export * from "utils/cssClassBuilder";
17258
17380
  export { surveyCss, defaultV2Css, defaultV2ThemeName } from "defaultCss/defaultV2Css";
17259
17381
  export { DragDropCore } from "dragdrop/core";
@@ -17623,6 +17745,7 @@ declare module "defaultCss/cssstandard" {
17623
17745
  window: {
17624
17746
  root: string;
17625
17747
  rootCollapsedMod: string;
17748
+ rootFullScreenMode: string;
17626
17749
  rootContent: string;
17627
17750
  body: string;
17628
17751
  header: {
@@ -17634,6 +17757,7 @@ declare module "defaultCss/cssstandard" {
17634
17757
  buttonCollapsed: string;
17635
17758
  collapseButton: string;
17636
17759
  closeButton: string;
17760
+ fullScreenButton: string;
17637
17761
  };
17638
17762
  };
17639
17763
  variables: {
@@ -18093,6 +18217,7 @@ declare module "defaultCss/cssmodern" {
18093
18217
  window: {
18094
18218
  root: string;
18095
18219
  rootCollapsedMod: string;
18220
+ rootFullScreenMode: string;
18096
18221
  rootContent: string;
18097
18222
  body: string;
18098
18223
  header: {
@@ -18104,6 +18229,7 @@ declare module "defaultCss/cssmodern" {
18104
18229
  buttonCollapsed: string;
18105
18230
  collapseButton: string;
18106
18231
  closeButton: string;
18232
+ fullScreenButton: string;
18107
18233
  };
18108
18234
  };
18109
18235
  variables: {
@@ -25137,7 +25263,6 @@ declare module "react/panel-base" {
25137
25263
  componentDidUpdate(prevProps: any, prevState: any): void;
25138
25264
  private doAfterRender;
25139
25265
  protected canRender(): boolean;
25140
- private renderedRowsCache;
25141
25266
  protected renderRows(css: any): Array<JSX.Element>;
25142
25267
  protected createRow(row: QuestionRowModel, css: any): JSX.Element;
25143
25268
  }
@@ -26005,6 +26130,7 @@ declare module "react/react-popup-survey" {
26005
26130
  protected renderExpandIcon(): JSX.Element;
26006
26131
  protected renderCollapseIcon(): JSX.Element;
26007
26132
  protected renderCloseButton(popup: PopupSurveyModel): JSX.Element;
26133
+ protected renderAllowFullScreenButon(popup: PopupSurveyModel): JSX.Element;
26008
26134
  protected renderBody(): JSX.Element;
26009
26135
  protected createSurvey(newProps: any): void;
26010
26136
  }