survey-react 1.9.127 → 1.9.129

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
@@ -50,6 +50,8 @@ declare module "localization/english" {
50
50
  startSurveyText: string;
51
51
  otherItemText: string;
52
52
  noneItemText: string;
53
+ refuseItemText: string;
54
+ dontKnowItemText: string;
53
55
  selectAllItemText: string;
54
56
  progressText: string;
55
57
  indexText: string;
@@ -171,6 +173,8 @@ declare module "surveyStrings" {
171
173
  startSurveyText: string;
172
174
  otherItemText: string;
173
175
  noneItemText: string;
176
+ refuseItemText: string;
177
+ dontKnowItemText: string;
174
178
  selectAllItemText: string;
175
179
  progressText: string;
176
180
  indexText: string;
@@ -812,7 +816,7 @@ declare module "popup-view-model" {
812
816
  declare module "utils/utils" {
813
817
  function compareVersions(a: any, b: any): number;
814
818
  function confirmAction(message: string): boolean;
815
- 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;
816
820
  function detectIEBrowser(): boolean;
817
821
  function detectIEOrEdge(): boolean;
818
822
  function loadFileFromBase64(b64Data: string, fileName: string): void;
@@ -852,8 +856,9 @@ declare module "utils/utils" {
852
856
  log(action: string): void;
853
857
  get result(): string;
854
858
  }
855
- export function showConfirmDialog(message: string, callback: (res: boolean) => void, applyTitle?: string, locale?: string): boolean;
856
- 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 };
857
862
  }
858
863
  declare module "actions/container" {
859
864
  import { Base } from "base";
@@ -948,6 +953,7 @@ declare module "list" {
948
953
  allowSelection?: boolean;
949
954
  selectedItem?: IAction;
950
955
  onFilterStringChangedCallback?: (text: string) => void;
956
+ onTextSearchCallback?: (text: string, textToSearch: string) => boolean;
951
957
  }
952
958
  export class ListModel<T extends BaseAction = Action> extends ActionContainer<T> {
953
959
  onSelectionChanged: (item: T, ...params: any[]) => void;
@@ -978,7 +984,9 @@ declare module "list" {
978
984
  private onFilterStringChanged;
979
985
  private scrollToItem;
980
986
  constructor(items: Array<IAction>, onSelectionChanged: (item: T, ...params: any[]) => void, allowSelection: boolean, selectedItem?: IAction, onFilterStringChangedCallback?: (text: string) => void, elementId?: string);
987
+ private onTextSearchCallback;
981
988
  setOnFilterStringChangedCallback(callback: (text: string) => void): void;
989
+ setOnTextSearchCallback(callback: (item: T, textToSearch: string) => boolean): void;
982
990
  setItems(items: Array<IAction>, sortByVisibleIndex?: boolean): void;
983
991
  protected onSet(): void;
984
992
  protected getDefaultCssClasses(): {
@@ -1396,6 +1404,7 @@ declare module "defaultCss/defaultV2Css" {
1396
1404
  export var defaultV2Css: {
1397
1405
  root: string;
1398
1406
  rootMobile: string;
1407
+ rootAnimationDisabled: string;
1399
1408
  rootReadOnly: string;
1400
1409
  rootCompact: string;
1401
1410
  rootFitToContainer: string;
@@ -1513,8 +1522,13 @@ declare module "defaultCss/defaultV2Css" {
1513
1522
  progressBottom: string;
1514
1523
  progressBar: string;
1515
1524
  progressText: string;
1525
+ progressButtonsRoot: string;
1526
+ progressButtonsNumbered: string;
1516
1527
  progressButtonsContainerCenter: string;
1517
1528
  progressButtonsContainer: string;
1529
+ progressButtonsConnector: string;
1530
+ progressButtonsHeader: string;
1531
+ progressButtonsFooter: string;
1518
1532
  progressButtonsImageButtonLeft: string;
1519
1533
  progressButtonsImageButtonRight: string;
1520
1534
  progressButtonsImageButtonHidden: string;
@@ -1856,6 +1870,7 @@ declare module "defaultCss/defaultV2Css" {
1856
1870
  noHeader: string;
1857
1871
  hasFooter: string;
1858
1872
  tableWrapper: string;
1873
+ rootAlternateRows: string;
1859
1874
  content: string;
1860
1875
  cell: string;
1861
1876
  row: string;
@@ -2028,6 +2043,7 @@ declare module "defaultCss/defaultV2Css" {
2028
2043
  window: {
2029
2044
  root: string;
2030
2045
  rootCollapsedMod: string;
2046
+ rootFullScreenMode: string;
2031
2047
  rootContent: string;
2032
2048
  body: string;
2033
2049
  header: {
@@ -2039,6 +2055,7 @@ declare module "defaultCss/defaultV2Css" {
2039
2055
  buttonCollapsed: string;
2040
2056
  collapseButton: string;
2041
2057
  closeButton: string;
2058
+ fullScreenButton: string;
2042
2059
  };
2043
2060
  };
2044
2061
  ranking: {
@@ -2400,6 +2417,7 @@ declare module "textPreProcessor" {
2400
2417
  declare module "question_custom" {
2401
2418
  import { Question, IConditionObject } from "question";
2402
2419
  import { JsonObjectProperty } from "jsonobject";
2420
+ import { Base } from "base";
2403
2421
  import { ISurveyImpl, ISurveyData, ITextProcessor, IPanel, IElement, IQuestion, IProgressInfo } from "base-interfaces";
2404
2422
  import { SurveyElement } from "survey-element";
2405
2423
  import { PanelModel } from "panel";
@@ -2469,6 +2487,15 @@ declare module "question_custom" {
2469
2487
  * ```
2470
2488
  */
2471
2489
  defaultQuestionTitle?: any;
2490
+ /**
2491
+ * An array of property names to inherit from a base question or a Boolean value that specifies whether or not to inherit all properties.
2492
+ *
2493
+ * Default value: `false`
2494
+ *
2495
+ * When you create a [custom specialized question type](https://surveyjs.io/form-library/documentation/customize-question-types/create-specialized-question-types), you base it on another question type configured within the [`questionJSON`](#questionJSON) object. If the custom question type should inherit all properties from the base type, set the `inheritBaseProps` property to `true`. If you want to inherit only certain properties, set the `inheritBaseProps` property to an array of their names.
2496
+ *
2497
+ * [Create Specialized Question Types](https://surveyjs.io/form-library/documentation/customize-question-types/create-specialized-question-types (linkStyle))
2498
+ */
2472
2499
  inheritBaseProps?: false | true | Array<string>;
2473
2500
  /**
2474
2501
  * A function that is called when the custom question is created. Use it to access questions nested within a [composite question type](https://surveyjs.io/form-library/documentation/customize-question-types/create-composite-question-types).
@@ -2720,7 +2747,9 @@ declare module "question_custom" {
2720
2747
  getTemplate(): string;
2721
2748
  getDynamicProperties(): Array<JsonObjectProperty>;
2722
2749
  getDynamicType(): string;
2750
+ getOriginalObj(): Base;
2723
2751
  protected createWrapper(): void;
2752
+ private getDynamicProperty;
2724
2753
  protected getElement(): SurveyElement;
2725
2754
  onAnyValueChanged(name: string, questionName: string): void;
2726
2755
  protected getQuestionByName(name: string): IQuestion;
@@ -2779,6 +2808,7 @@ declare module "question_custom" {
2779
2808
  protected getQuestionByName(name: string): IQuestion;
2780
2809
  private settingNewValue;
2781
2810
  setValue(name: string, newValue: any, locNotification: any, allowNotifyValueChanged?: boolean): any;
2811
+ getFilteredValues(): any;
2782
2812
  private updateValueCoreWithPanelValue;
2783
2813
  private getContentPanelValue;
2784
2814
  private getValueForContentPanel;
@@ -3656,6 +3686,7 @@ declare module "question_file" {
3656
3686
  */
3657
3687
  get maxSize(): number;
3658
3688
  set maxSize(val: number);
3689
+ chooseFile(): void;
3659
3690
  /**
3660
3691
  * Specifies whether users should confirm file deletion.
3661
3692
  *
@@ -3985,6 +4016,8 @@ declare module "question_baseselect" {
3985
4016
  private isChoicesLoaded;
3986
4017
  private enableOnLoadingChoices;
3987
4018
  private noneItemValue;
4019
+ private refuseItemValue;
4020
+ private dontKnowItemValue;
3988
4021
  private newItemValue;
3989
4022
  private canShowOptionItemCallback;
3990
4023
  private waitingGetChoiceDisplayValueResponse;
@@ -4028,6 +4061,7 @@ declare module "question_baseselect" {
4028
4061
  * When users select the "None" item in multi-select questions, all other items become unselected.
4029
4062
  * @see noneItem
4030
4063
  * @see noneText
4064
+ * @see [settings.noneItemValue](https://surveyjs.io/form-library/documentation/api-reference/settings#noneItemValue)
4031
4065
  * @see [settings.specialChoicesOrder](https://surveyjs.io/form-library/documentation/api-reference/settings#specialChoicesOrder)
4032
4066
  */
4033
4067
  get showNoneItem(): boolean;
@@ -4046,6 +4080,53 @@ declare module "question_baseselect" {
4046
4080
  get noneText(): string;
4047
4081
  set noneText(val: string);
4048
4082
  get locNoneText(): LocalizableString;
4083
+ /**
4084
+ * Specifies whether to display the "Refuse to answer" choice item.
4085
+ *
4086
+ * When users select the "Refuse to answer" item in multi-select questions, all other items become unselected.
4087
+ * @see refuseItem
4088
+ * @see refuseItemText
4089
+ * @see [settings.refuseItemValue](https://surveyjs.io/form-library/documentation/api-reference/settings#refuseItemValue)
4090
+ * @see [settings.specialChoicesOrder](https://surveyjs.io/form-library/documentation/api-reference/settings#specialChoicesOrder)
4091
+ */
4092
+ get showRefuseItem(): boolean;
4093
+ set showRefuseItem(val: boolean);
4094
+ /**
4095
+ * Returns the "Refuse to answer" choice item. Use this property to change the item's `value` or `text`.
4096
+ * @see showRefuseItem
4097
+ */
4098
+ get refuseItem(): ItemValue;
4099
+ /**
4100
+ * Gets or sets a caption for the "Refuse to answer" choice item.
4101
+ * @see showRefuseItem
4102
+ */
4103
+ get refuseText(): string;
4104
+ set refuseText(val: string);
4105
+ get locRefuseText(): LocalizableString;
4106
+ /**
4107
+ * Specifies whether to display the "Don't know" choice item.
4108
+ *
4109
+ * When users select the "Don't know" item in multi-select questions, all other items become unselected.
4110
+ * @see dontKnowItem
4111
+ * @see dontKnowItemText
4112
+ * @see [settings.dontKnowItemValue](https://surveyjs.io/form-library/documentation/api-reference/settings#dontKnowItemValue)
4113
+ * @see [settings.specialChoicesOrder](https://surveyjs.io/form-library/documentation/api-reference/settings#specialChoicesOrder)
4114
+ */
4115
+ get showDontKnowItem(): boolean;
4116
+ set showDontKnowItem(val: boolean);
4117
+ /**
4118
+ * Returns the "Don't know" choice item. Use this property to change the item's `value` or `text`.
4119
+ * @see showDontKnowItem
4120
+ */
4121
+ get dontKnowItem(): ItemValue;
4122
+ /**
4123
+ * Gets or sets a caption for the "Don't know" choice item.
4124
+ * @see showDontKnowItem
4125
+ */
4126
+ get dontKnowText(): string;
4127
+ set dontKnowText(val: string);
4128
+ get locDontKnowText(): LocalizableString;
4129
+ private createDefaultItem;
4049
4130
  /**
4050
4131
  * A Boolean expression that is evaluated against each choice item. If the expression evaluates to `false`, the choice item becomes hidden.
4051
4132
  *
@@ -4295,7 +4376,7 @@ declare module "question_baseselect" {
4295
4376
  protected addNonChoiceItem(dict: Array<{
4296
4377
  index: number;
4297
4378
  item: ItemValue;
4298
- }>, item: ItemValue, order: Array<number>): void;
4379
+ }>, item: ItemValue, isAddAll: boolean, showItem: boolean, order: Array<number>): void;
4299
4380
  protected canShowOptionItem(item: ItemValue, isAddAll: boolean, hasItem: boolean): boolean;
4300
4381
  isItemInList(item: ItemValue): boolean;
4301
4382
  protected get isAddDefaultItems(): boolean;
@@ -4307,6 +4388,9 @@ declare module "question_baseselect" {
4307
4388
  private getItemDisplayValue;
4308
4389
  private getFilteredChoices;
4309
4390
  protected get activeChoices(): Array<ItemValue>;
4391
+ get isMessagePanelVisible(): boolean;
4392
+ set isMessagePanelVisible(val: boolean);
4393
+ private get isEmptyActiveChoicesInDesign();
4310
4394
  getCarryForwardQuestion(data?: ISurveyData): Question;
4311
4395
  protected getIsReadyDependsOn(): Array<Question>;
4312
4396
  private getQuestionWithChoices;
@@ -4319,10 +4403,14 @@ declare module "question_baseselect" {
4319
4403
  private getChoicesFromSelectQuestion;
4320
4404
  private copyChoiceItem;
4321
4405
  protected get hasActiveChoices(): boolean;
4322
- protected isBuiltInChoice(item: ItemValue, question: QuestionSelectBase): boolean;
4406
+ protected isBuiltInChoice(item: ItemValue): boolean;
4407
+ isNoneItem(item: ItemValue): boolean;
4408
+ protected getNoneItems(): Array<ItemValue>;
4323
4409
  protected getChoices(): Array<ItemValue>;
4324
4410
  supportOther(): boolean;
4325
4411
  supportNone(): boolean;
4412
+ supportRefuse(): boolean;
4413
+ supportDontKnow(): boolean;
4326
4414
  protected isSupportProperty(propName: string): boolean;
4327
4415
  protected onCheckForErrors(errors: Array<SurveyError>, isOnValueChanged: boolean): void;
4328
4416
  setSurveyImpl(value: ISurveyImpl, isLight?: boolean): void;
@@ -4355,6 +4443,7 @@ declare module "question_baseselect" {
4355
4443
  private randomizeArray;
4356
4444
  private get hasChoicesUrl();
4357
4445
  clearIncorrectValues(): void;
4446
+ private canClearIncorrectValues;
4358
4447
  protected hasValueToClearIncorrectValues(): boolean;
4359
4448
  protected clearValueIfInvisibleCore(reason: string): void;
4360
4449
  /**
@@ -4989,6 +5078,24 @@ declare module "question_matrixdropdowncolumn" {
4989
5078
  */
4990
5079
  get totalDisplayStyle(): string;
4991
5080
  set totalDisplayStyle(val: string);
5081
+ /**
5082
+ * An alignment for calculated total values.
5083
+ *
5084
+ * Possible values:
5085
+ *
5086
+ * - `"left"`
5087
+ * - `"center"`
5088
+ * - `"right"`
5089
+ * - `"auto"` (default) - Applies one of the values above based on the column's [cell type](#cellType).
5090
+ *
5091
+ * [View Demo](https://surveyjs.io/form-library/examples/aggregate-data-within-form/ (linkStyle))
5092
+ * @see totalType
5093
+ * @see totalFormat
5094
+ * @see totalCurrency
5095
+ * @see totalDisplayStyle
5096
+ */
5097
+ get totalAlignment(): string;
5098
+ set totalAlignment(val: string);
4992
5099
  /**
4993
5100
  * Specifies a currency used to display calculated total values. Applies only if [`totalDisplayStyle`](#totalDisplayStyle) is set to `"currency"`.
4994
5101
  * @see totalType
@@ -5226,6 +5333,7 @@ declare module "question_matrixdropdownrendered" {
5226
5333
  get isFirstChoice(): boolean;
5227
5334
  set className(val: string);
5228
5335
  get className(): string;
5336
+ get cellQuestionWrapperClassName(): string;
5229
5337
  get headers(): string;
5230
5338
  getTitle(): string;
5231
5339
  calculateFinalClassName(matrixCssClasses: any): string;
@@ -5682,7 +5790,7 @@ declare module "themes" {
5682
5790
  */
5683
5791
  backgroundOpacity?: number;
5684
5792
  /**
5685
- * An object with [advanced survey header settings](https://surveyjs.io/form-library/documentation/api-reference/iheader). Applies when `SurveyModel`'s [`headerView`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#headerView) property is set to `"advanced"`.
5793
+ * An object with [advanced survey header settings](https://surveyjs.io/form-library/documentation/api-reference/iheader). Applies when the [`headerView`](https://surveyjs.io/form-library/documentation/api-reference/itheme#headerView) property is set to `"advanced"`.
5686
5794
  */
5687
5795
  header?: IHeader;
5688
5796
  /**
@@ -5709,7 +5817,7 @@ declare module "themes" {
5709
5817
  /**
5710
5818
  * A survey header configuration interface.
5711
5819
  *
5712
- * An `IHeader` object configures advanced survey header appearance settings. To apply them, you need to assign the object to the [`header`](https://surveyjs.io/form-library/documentation/api-reference/itheme#header) property of your theme configuration and set `SurveyModel`'s [`headerView`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#headerView) property to `"advanced"`.
5820
+ * An `IHeader` object configures advanced survey header appearance settings. To apply them, you need to assign the object to the [`header`](https://surveyjs.io/form-library/documentation/api-reference/itheme#header) property of your theme configuration and set the [`headerView`](https://surveyjs.io/form-library/documentation/api-reference/itheme#headerView) property to `"advanced"`.
5713
5821
  */
5714
5822
  export interface IHeader {
5715
5823
  /**
@@ -7134,6 +7242,25 @@ declare module "survey-events-api" {
7134
7242
  */
7135
7243
  files: Array<File>;
7136
7244
  }
7245
+ export interface OpenFileChooserEvent {
7246
+ /**
7247
+ * A file input HTML element.
7248
+ */
7249
+ input: HTMLInputElement;
7250
+ /**
7251
+ * A question, panel, page, or survey for which this event is raised.
7252
+ */
7253
+ element: Base;
7254
+ /**
7255
+ * 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.
7256
+ */
7257
+ item: ItemValue;
7258
+ /**
7259
+ * A callback function to which you should pass selected files.
7260
+ * @param files An array of selected files.
7261
+ */
7262
+ callback: (files: Array<File>) => void;
7263
+ }
7137
7264
  export interface DownloadFileEvent extends LoadFilesEvent {
7138
7265
  /**
7139
7266
  * 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.
@@ -7254,6 +7381,20 @@ declare module "survey-events-api" {
7254
7381
  */
7255
7382
  skip: number;
7256
7383
  }
7384
+ export interface ChoicesSearchEvent extends QuestionEventMixin {
7385
+ /**
7386
+ * A search string used to filter choice options.
7387
+ */
7388
+ filter: string;
7389
+ /**
7390
+ * An array of all choice options.
7391
+ */
7392
+ choices: Array<ItemValue>;
7393
+ /**
7394
+ * A filtered array of choice options. Apply `options.filter` to the `options.choices` array and assign the result to this parameter.
7395
+ */
7396
+ filteredChoices: Array<ItemValue>;
7397
+ }
7257
7398
  export interface GetChoiceDisplayValueEvent extends QuestionEventMixin {
7258
7399
  /**
7259
7400
  * A method that you should call to assign display texts to the question.
@@ -7642,7 +7783,7 @@ declare module "page" {
7642
7783
  protected canShowPageNumber(): boolean;
7643
7784
  protected canShowTitle(): boolean;
7644
7785
  /**
7645
- * A caption displayed on a navigation button in the TOC or progress bar. Applies when [`showTOC`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#showTOC) is `true` or when the [progress bar is visible](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#showProgressBar) and [`progressBarType`](https://surveyjs.io/form-library/documentation/surveymodel#progressBarType) is set to `"buttons"`.
7786
+ * A caption displayed on a navigation button in the TOC or progress bar. Applies when [`showTOC`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#showTOC) is `true` or when the [progress bar is visible](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#showProgressBar), [`progressBarType`](https://surveyjs.io/form-library/documentation/surveymodel#progressBarType) is set to `"pages"`, and [`progressBarShowPageTitles`](https://surveyjs.io/form-library/documentation/surveymodel#progressBarShowPageTitles) is `true`.
7646
7787
  *
7647
7788
  * If navigation titles are unspecified, the navigation buttons display page [titles](https://surveyjs.io/form-library/documentation/api-reference/page-model#title) or [names](https://surveyjs.io/form-library/documentation/pagemodel#name).
7648
7789
  */
@@ -7650,7 +7791,7 @@ declare module "page" {
7650
7791
  set navigationTitle(val: string);
7651
7792
  get locNavigationTitle(): LocalizableString;
7652
7793
  /**
7653
- * Explanatory text displayed under a navigation button in the progress bar. Applies when the [progress bar is visible](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#showProgressBar) and `SurveyModel`'s [`progressBarType`](https://surveyjs.io/form-library/documentation/surveymodel#progressBarType) property is set to `"buttons"`.
7794
+ * Explanatory text displayed under a navigation button in the progress bar. Applies when the [progress bar is visible](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#showProgressBar), `SurveyModel`'s [`progressBarType`](https://surveyjs.io/form-library/documentation/surveymodel#progressBarType) is set to `"pages"`, and [`progressBarShowPageTitles`](https://surveyjs.io/form-library/documentation/surveymodel#progressBarShowPageTitles) is `true`.
7654
7795
  */
7655
7796
  get navigationDescription(): string;
7656
7797
  set navigationDescription(val: string);
@@ -8489,6 +8630,7 @@ declare module "header" {
8489
8630
  private updateContentClasses;
8490
8631
  private updateBackgroundImageClasses;
8491
8632
  fromTheme(theme: ITheme): void;
8633
+ private init;
8492
8634
  constructor();
8493
8635
  getType(): string;
8494
8636
  cells: CoverCell[];
@@ -8499,6 +8641,8 @@ declare module "header" {
8499
8641
  textGlowEnabled: boolean;
8500
8642
  overlapEnabled: boolean;
8501
8643
  backgroundColor: string;
8644
+ titleColor: string;
8645
+ descriptionColor: string;
8502
8646
  backgroundImage: string;
8503
8647
  renderBackgroundImage: string;
8504
8648
  backgroundImageFit: "cover" | "fill" | "contain" | "tile";
@@ -8557,6 +8701,50 @@ declare module "surveyTaskManager" {
8557
8701
  private taskFinished;
8558
8702
  }
8559
8703
  }
8704
+ declare module "progress-buttons" {
8705
+ import { Base, EventBase } from "base";
8706
+ import { PageModel } from "page";
8707
+ import { SurveyModel } from "survey";
8708
+ export class ProgressButtons extends Base {
8709
+ survey: SurveyModel;
8710
+ constructor(survey: SurveyModel);
8711
+ isListElementClickable(index: number | any): boolean;
8712
+ getRootCss(container?: string): string;
8713
+ getListElementCss(index: number | any): string;
8714
+ getScrollButtonCss(hasScroller: boolean, isLeftScroll: boolean): string;
8715
+ clickListElement(element: number | PageModel): void;
8716
+ isListContainerHasScroller(element: HTMLElement): boolean;
8717
+ isCanShowItemTitles(element: HTMLElement): boolean;
8718
+ clearConnectorsWidth(element: HTMLElement): void;
8719
+ adjustConnectors(element: HTMLElement): void;
8720
+ get showItemNumbers(): boolean;
8721
+ get showItemTitles(): boolean;
8722
+ getItemNumber(page: PageModel): string;
8723
+ get headerText(): string;
8724
+ get footerText(): string;
8725
+ onResize: EventBase<ProgressButtons, any>;
8726
+ processResponsiveness(width: number): void;
8727
+ }
8728
+ export interface IProgressButtonsViewModel {
8729
+ container: string;
8730
+ onResize(canShowItemTitles: boolean): void;
8731
+ onUpdateScroller(hasScroller: boolean): void;
8732
+ onUpdateSettings(): void;
8733
+ }
8734
+ export class ProgressButtonsResponsivityManager {
8735
+ private model;
8736
+ private element;
8737
+ private viewModel;
8738
+ private criticalProperties;
8739
+ private timer;
8740
+ private prevWidth;
8741
+ private canShowItemTitles;
8742
+ constructor(model: ProgressButtons, element: HTMLElement, viewModel: IProgressButtonsViewModel);
8743
+ private forceUpdate;
8744
+ private processResponsiveness;
8745
+ dispose(): void;
8746
+ }
8747
+ }
8560
8748
  declare module "surveyToc" {
8561
8749
  import { Action } from "actions/action";
8562
8750
  import { ListModel } from "list";
@@ -8599,7 +8787,7 @@ declare module "survey" {
8599
8787
  import { ActionContainer } from "actions/container";
8600
8788
  import { QuestionPanelDynamicModel } from "question_paneldynamic";
8601
8789
  import { Notifier } from "notifier";
8602
- 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 } from "survey-events-api";
8790
+ 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";
8603
8791
  import { QuestionMatrixDropdownModelBase } from "question_matrixdropdownbase";
8604
8792
  import { QuestionMatrixDynamicModel } from "question_matrixdynamic";
8605
8793
  import { QuestionFileModel } from "question_file";
@@ -8942,6 +9130,12 @@ declare module "survey" {
8942
9130
  * @see getResult
8943
9131
  */
8944
9132
  onGetResult: EventBase<SurveyModel, GetResultEvent>;
9133
+ /**
9134
+ * An event that is raised when Survey Creator opens a dialog window for users to select files.
9135
+ * @see onUploadFile
9136
+ * @see uploadFiles
9137
+ */
9138
+ onOpenFileChooser: EventBase<SurveyModel, OpenFileChooserEvent>;
8945
9139
  /**
8946
9140
  * 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.
8947
9141
  *
@@ -9095,6 +9289,12 @@ declare module "survey" {
9095
9289
  * [View Demo](https://surveyjs.io/form-library/examples/lazy-loading-dropdown/ (linkStyle))
9096
9290
  */
9097
9291
  onChoicesLazyLoad: EventBase<SurveyModel, ChoicesLazyLoadEvent>;
9292
+ /**
9293
+ * An event that is raised each time a search string in a [Dropdown](https://surveyjs.io/form-library/documentation/api-reference/dropdown-menu-model) or [Tag Box](https://surveyjs.io/form-library/documentation/api-reference/dropdown-tag-box-model) question changes. Use this event to implement custom filtering of choice options.
9294
+ * @see [QuestionDropdownModel.searchEnabled](https://surveyjs.io/form-library/documentation/api-reference/dropdown-menu-model#searchEnabled)
9295
+ * @see [QuestionDropdownModel.searchMode](https://surveyjs.io/form-library/documentation/api-reference/dropdown-menu-model#searchMode)
9296
+ */
9297
+ onChoicesSearch: EventBase<SurveyModel, ChoicesSearchEvent>;
9098
9298
  /**
9099
9299
  * Use this event to load a display text for the [default choice item](https://surveyjs.io/form-library/documentation/questiondropdownmodel#defaultValue) in [Dropdown](https://surveyjs.io/form-library/documentation/questiondropdownmodel) and [Tag Box](https://surveyjs.io/form-library/documentation/questiontagboxmodel) questions.
9100
9300
  *
@@ -9330,17 +9530,7 @@ declare module "survey" {
9330
9530
  containerCss: string;
9331
9531
  fitToContainer: boolean;
9332
9532
  /**
9333
- * Specifies whether the survey header uses only basic appearance settings or applies advanced settings from the survey theme.
9334
- *
9335
- * Possible values:
9336
- *
9337
- * - `"basic"` (default)\
9338
- * A basic header view applies only the [`title`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#title), [`description`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#description), and logo-related properties ([`logo`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#logo), [`logoPosition`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#logoPosition), etc.).
9339
- *
9340
- * - `"advanced"`\
9341
- * An advanced header view applies the same properties as the basic view, plus [header settings](https://surveyjs.io/form-library/documentation/api-reference/iheader) from the [survey theme](https://surveyjs.io/form-library/documentation/api-reference/itheme#header). The advanced view features a more flexible header layout, a capability to specify a background image, and other settings that give a more professional look to the survey header.
9342
- *
9343
- * [View Demo](https://surveyjs.io/form-library/examples/brand-your-survey-header/ (linkStyle))
9533
+ * This property is obsolete. Use the [`headerView`](https://surveyjs.io/form-library/documentation/api-reference/itheme#headerView) property within a theme instead.
9344
9534
  */
9345
9535
  headerView: "advanced" | "basic";
9346
9536
  protected insertAdvancedHeader(advHeader: Cover): void;
@@ -10001,15 +10191,21 @@ declare module "survey" {
10001
10191
  */
10002
10192
  get showQuestionNumbers(): string | boolean;
10003
10193
  set showQuestionNumbers(value: string | boolean);
10194
+ private progressBarValue;
10195
+ get progressBar(): any;
10004
10196
  /**
10005
10197
  * Controls the visibility of the progress bar and specifies its position.
10006
10198
  *
10007
10199
  * Possible values:
10008
10200
  *
10009
10201
  * - `"off"` (default) - Hides the progress bar.
10010
- * - `"top"` - Displays the progress bar above survey content.
10202
+ * - `"aboveHeader"` - Displays the progress bar above the survey header.
10203
+ * - `"belowHeader"` - Displays the progress bar below the survey header.
10011
10204
  * - `"bottom"` - Displays the progress bar below survey content.
10012
- * - `"both"` - Displays the progress bar above and below survey content.
10205
+ * - `"topBottom"` - Displays the progress bar above and below survey content.
10206
+ * - `"auto"` - Automatically selects between `"aboveHeader"` and `"belowHeader"`.
10207
+ * - `"top"` - *(Obsolete)* Use the `"aboveHeader"` or `"belowHeader"` property value instead.
10208
+ * - `"both"` - *(Obsolete)* Use the `"topBottom"` property value instead.
10013
10209
  *
10014
10210
  * [View Demo](https://surveyjs.io/form-library/examples/navigation-default/ (linkStyle))
10015
10211
  * @see progressBarType
@@ -10026,13 +10222,30 @@ declare module "survey" {
10026
10222
  * - `"questions"` - The number of answered questions.
10027
10223
  * - `"requiredQuestions"` - The number of answered [required questions](https://surveyjs.io/form-library/documentation/api-reference/question#isRequired).
10028
10224
  * - `"correctQuestions"` - The number of correct questions in a [quiz](https://surveyjs.io/form-library/documentation/design-survey/create-a-quiz).
10029
- * - `"buttons"` - Adds jump links to the progress bar.
10225
+ * - `"buttons"` - *(Obsolete)* Use the `"pages"` property value with the [`progressBarShowPageTitles`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#progressBarShowPageTitles) property set to `true` instead.
10226
+ *
10227
+ * > When `progressBarType` is set to `"pages"`, you can also enable the [`progressBarShowPageNumbers`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#progressBarShowPageNumbers) and [`progressBarShowPageTitles`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#progressBarShowPageTitles) properties if you want to display page numbers and titles in the progress bar.
10030
10228
  *
10031
10229
  * [View Demo](https://surveyjs.io/form-library/examples/navigation-buttons/ (linkStyle))
10032
10230
  * @see progressValue
10033
10231
  */
10034
10232
  get progressBarType(): string;
10035
10233
  set progressBarType(newValue: string);
10234
+ private get progressBarComponentName();
10235
+ /**
10236
+ * Specifies whether the progress bar displays page titles. Applies only when the [progress bar is visible](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#showProgressBar) and [`progressBarType`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#progressBarType) is `"pages"`.
10237
+ *
10238
+ * Default value: `false`
10239
+ * @see progressBarShowPageNumbers
10240
+ */
10241
+ progressBarShowPageTitles: boolean;
10242
+ /**
10243
+ * Specifies whether the progress bar displays page numbers. Applies only when the [progress bar is visible](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#showProgressBar) and [`progressBarType`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#progressBarType) is `"pages"`.
10244
+ *
10245
+ * Default value: `false`
10246
+ * @see progressBarShowPageTitles
10247
+ */
10248
+ progressBarShowPageNumbers: boolean;
10036
10249
  get isShowProgressBarOnTop(): boolean;
10037
10250
  get isShowProgressBarOnBottom(): boolean;
10038
10251
  getProgressTypeComponent(): string;
@@ -10716,6 +10929,17 @@ declare module "survey" {
10716
10929
  private getUpdatedPageTitleActions;
10717
10930
  getUpdatedMatrixRowActions(question: QuestionMatrixDropdownModelBase, row: any, actions: Array<IAction>): IAction[];
10718
10931
  scrollElementToTop(element: ISurveyElement, question: Question, page: PageModel, id: string, scrollIfVisible?: boolean): any;
10932
+ /**
10933
+ * Opens a dialog window for users to select files.
10934
+ * @param input A [file input HTML element](https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement).
10935
+ * @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.
10936
+ * @see onOpenFileChooser
10937
+ * @see onUploadFile
10938
+ */
10939
+ chooseFiles(input: HTMLInputElement, callback: (files: File[]) => void, context?: {
10940
+ element: ISurveyElement;
10941
+ item?: any;
10942
+ }): void;
10719
10943
  /**
10720
10944
  * Uploads files to a server.
10721
10945
  *
@@ -10936,6 +11160,10 @@ declare module "survey" {
10936
11160
  private conditionRunnerCounter;
10937
11161
  private conditionUpdateVisibleIndexes;
10938
11162
  private conditionNotifyElementsOnAnyValueOrVariableChanged;
11163
+ /**
11164
+ * Recalculates all [expressions](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#expressions) in the survey.
11165
+ */
11166
+ runExpressions(): void;
10939
11167
  private runConditions;
10940
11168
  private runConditionOnValueChanged;
10941
11169
  private runConditionsCore;
@@ -10967,6 +11195,7 @@ declare module "survey" {
10967
11195
  private updateVisibleIndexes;
10968
11196
  private updatePageVisibleIndexes;
10969
11197
  fromJSON(json: any, options?: ILoadFromJSONOptions): void;
11198
+ startLoadingFromJson(json?: any): void;
10970
11199
  setJsonObject(jsonObj: any): void;
10971
11200
  private isEndLoadingFromJson;
10972
11201
  endLoadingFromJson(): void;
@@ -11311,7 +11540,7 @@ declare module "survey" {
11311
11540
  *
11312
11541
  * This method accepts an object with the following layout element properties:
11313
11542
  *
11314
- * - `id`: `string` | `"timerpanel"` | `"progress-buttons"` | `"progress-questions"` | `"progress-pages"` | `"progress-correctquestions"` | `"progress-requiredquestions"` | `"toc-navigation"` | `"navigationbuttons"`\
11543
+ * - `id`: `string` | `"timerpanel"` | `"progress-buttons"` | `"progress-questions"` | `"progress-pages"` | `"progress-correctquestions"` | `"progress-requiredquestions"` | `"toc-navigation"` | `"buttons-navigation"`\
11315
11544
  * A layout element identifier. You can use possible values to access and relocate or customize predefined layout elements.
11316
11545
  *
11317
11546
  * - `container`: `"header"` | `"footer"` | `"left"` | `"right"` | `"contentTop"` | `"contentBottom"`\
@@ -12971,6 +13200,7 @@ declare module "question_matrixdropdownbase" {
12971
13200
  get question(): Question;
12972
13201
  get value(): any;
12973
13202
  set value(value: any);
13203
+ getQuestionWrapperClassName(className: string): string;
12974
13204
  runCondition(values: HashTable<any>, properties: HashTable<any>): void;
12975
13205
  }
12976
13206
  export class MatrixDropdownTotalCell extends MatrixDropdownCell {
@@ -12981,6 +13211,7 @@ declare module "question_matrixdropdownbase" {
12981
13211
  protected createQuestion(column: MatrixDropdownColumn, row: MatrixDropdownRowModelBase, data: IMatrixDropdownData): Question;
12982
13212
  locStrsChanged(): void;
12983
13213
  updateCellQuestion(): void;
13214
+ getQuestionWrapperClassName(className: string): string;
12984
13215
  getTotalExpression(): string;
12985
13216
  }
12986
13217
  export class MatrixDropdownRowModelBase implements ISurveyData, ISurveyImpl, ILocalizableOwner {
@@ -13598,6 +13829,10 @@ declare module "base-interfaces" {
13598
13829
  elementContentVisibilityChanged(element: ISurveyElement): void;
13599
13830
  onCorrectQuestionAnswer(question: IQuestion, options: any): void;
13600
13831
  processPopupVisiblityChanged(question: IQuestion, popupModel: PopupModel, visible: boolean): void;
13832
+ chooseFiles(input: HTMLInputElement, callback: (files: File[]) => void, context?: {
13833
+ element: ISurveyElement;
13834
+ item?: any;
13835
+ }): void;
13601
13836
  }
13602
13837
  export interface ISurveyImpl {
13603
13838
  getSurveyData(): ISurveyData;
@@ -13834,6 +14069,7 @@ declare module "jsonobject" {
13834
14069
  onSettingValue: (obj: any, value: any) => any;
13835
14070
  onSetValue: (obj: any, value: any, jsonConv: JsonObject) => any;
13836
14071
  visibleIf: (obj: any) => boolean;
14072
+ enableIf: (obj: any) => boolean;
13837
14073
  onExecuteExpression: (obj: any, res: any) => any;
13838
14074
  onPropertyEditorUpdate: (obj: any, propEditor: any) => any;
13839
14075
  constructor(classInfo: JsonMetadataClass, name: string, isRequired?: boolean);
@@ -13873,7 +14109,9 @@ declare module "jsonobject" {
13873
14109
  setBaseValue(val: any): void;
13874
14110
  get readOnly(): boolean;
13875
14111
  set readOnly(val: boolean);
14112
+ isEnable(obj: any): boolean;
13876
14113
  isVisible(layout: string, obj?: any): boolean;
14114
+ private getOriginalObj;
13877
14115
  get visible(): boolean;
13878
14116
  set visible(val: boolean);
13879
14117
  isAvailableInVersion(ver: string): boolean;
@@ -14848,7 +15086,7 @@ declare module "settings" {
14848
15086
  * @param message A message to be displayed in the confirm dialog window.
14849
15087
  * @param callback A callback function that should be called with `true` if a user confirms an action or `false` otherwise.
14850
15088
  */
14851
- confirmActionAsync: (message: string, callback: (res: boolean) => void, applyTitle?: string, locale?: string) => boolean;
15089
+ confirmActionAsync: (message: string, callback: (res: boolean) => void, applyTitle?: string, locale?: string, rootElement?: HTMLElement) => boolean;
14852
15090
  /**
14853
15091
  * A minimum width value for all survey elements.
14854
15092
  *
@@ -14898,15 +15136,27 @@ declare module "settings" {
14898
15136
  */
14899
15137
  showItemsInOrder: string;
14900
15138
  /**
14901
- * A value to save in survey results when respondents select the None choice item.
15139
+ * A value to save in survey results when respondents select the "None" choice item.
14902
15140
  *
14903
15141
  * Default value: `"none"`
14904
15142
  */
14905
15143
  noneItemValue: string;
14906
15144
  /**
14907
- * An object whose properties specify the order of the special choice items (None, Other, Select All) in select-based questions.
15145
+ * A value to save in survey results when respondents select the "Refuse to answer" choice item.
15146
+ *
15147
+ * Default value: `"refused"`
15148
+ */
15149
+ refuseItemValue: string;
15150
+ /**
15151
+ * A value to save in survey results when respondents select the "Don't know" choice item.
15152
+ *
15153
+ * Default value: `"dontknow"`
15154
+ */
15155
+ dontKnowItemValue: string;
15156
+ /**
15157
+ * An object whose properties specify the order of the special choice items ("None", "Other", "Select All", "Refuse to answer", "Don't know") in select-based questions.
14908
15158
  *
14909
- * Default value: `{ selectAllItem: [-1], noneItem: [1], otherItem: [2] }`
15159
+ * Default value: `{ selectAllItem: [-1], noneItem: [1], otherItem: [2], dontKnowItem: [3], otherItem: [4] }`
14910
15160
  *
14911
15161
  * Use this object to reorder special choices. Each property accepts an array of integer numbers. Negative numbers place a special choice item above regular choice items, positive numbers place it below them. For instance, the code below specifies the following order of choices: None, Select All, regular choices, Other.
14912
15162
  *
@@ -14927,6 +15177,8 @@ declare module "settings" {
14927
15177
  specialChoicesOrder: {
14928
15178
  selectAllItem: number[];
14929
15179
  noneItem: number[];
15180
+ refuseItem: number[];
15181
+ dontKnowItem: number[];
14930
15182
  otherItem: number[];
14931
15183
  };
14932
15184
  /**
@@ -14981,6 +15233,12 @@ declare module "settings" {
14981
15233
  * Default value: `true`
14982
15234
  */
14983
15235
  showMaxLengthIndicator: boolean;
15236
+ /**
15237
+ * Set to `false` to disable animations
15238
+ *
15239
+ * Default value: `true`
15240
+ */
15241
+ animationEnabled: boolean;
14984
15242
  /**
14985
15243
  * An object that specifies heading levels (`<h1>`, `<h2>`, etc.) to use when rendering survey, page, panel, and question titles.
14986
15244
  *
@@ -14998,6 +15256,7 @@ declare module "settings" {
14998
15256
  inputTypes: string[];
14999
15257
  dataList: string[];
15000
15258
  };
15259
+ legacyProgressBarView: boolean;
15001
15260
  };
15002
15261
  }
15003
15262
  declare module "question_matrixdropdown" {
@@ -15062,8 +15321,10 @@ declare module "dropdownListModel" {
15062
15321
  protected onSelectionChanged?: (item: IAction, ...params: any[]) => void;
15063
15322
  readonly minPageSize = 25;
15064
15323
  readonly loadingItemHeight = 40;
15324
+ private htmlCleanerElement;
15065
15325
  private _markdownMode;
15066
15326
  private _popupModel;
15327
+ private filteredItems;
15067
15328
  focused: boolean;
15068
15329
  private get focusFirstInputSelector();
15069
15330
  protected readonly selectedItemSelector = ".sv-list__item--selected";
@@ -15097,6 +15358,7 @@ declare module "dropdownListModel" {
15097
15358
  showInputFieldComponent: boolean;
15098
15359
  ariaActivedescendant: string;
15099
15360
  private applyInputString;
15361
+ private cleanHtml;
15100
15362
  protected fixInputCase(): void;
15101
15363
  protected applyHintString(item: ItemValue): void;
15102
15364
  get inputStringRendered(): string;
@@ -15228,8 +15490,22 @@ declare module "question_dropdown" {
15228
15490
  allowClear: boolean;
15229
15491
  /**
15230
15492
  * Specifies whether users can enter a value into the input field to filter the drop-down list.
15493
+ *
15494
+ * [View Demo](https://surveyjs.io/form-library/examples/create-dropdown-menu-in-javascript/ (linkStyle))
15495
+ * @see searchMode
15496
+ * @see [SurveyModel.onChoicesSearch](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onChoicesSearch)
15231
15497
  */
15232
15498
  searchEnabled: boolean;
15499
+ /**
15500
+ * Specifies a comparison operation used to filter the drop-down list. Applies only if [`searchEnabled`](#searchEnabled) is `true`.
15501
+ *
15502
+ * Possible values:
15503
+ *
15504
+ * - `"contains"` (default)
15505
+ * - `"startsWith"`
15506
+ * @see [SurveyModel.onChoicesSearch](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onChoicesSearch)
15507
+ */
15508
+ searchMode: "contains" | "startsWith";
15233
15509
  inputHasValue: boolean;
15234
15510
  readOnlyText: string;
15235
15511
  /**
@@ -15526,7 +15802,7 @@ declare module "question_empty" {
15526
15802
  }
15527
15803
  }
15528
15804
  declare module "question_checkbox" {
15529
- import { QuestionCheckboxBase, QuestionSelectBase } from "question_baseselect";
15805
+ import { QuestionCheckboxBase } from "question_baseselect";
15530
15806
  import { ItemValue } from "itemvalue";
15531
15807
  import { LocalizableString } from "localizablestring";
15532
15808
  import { IQuestion } from "base-interfaces";
@@ -15644,6 +15920,7 @@ declare module "question_checkbox" {
15644
15920
  protected getCommentFromValue(newValue: any): string;
15645
15921
  protected setOtherValueIntoValue(newValue: any): any;
15646
15922
  private getFirstUnknownIndex;
15923
+ protected removeNoneItemsValues(value: Array<any>, newValue: Array<any>): void;
15647
15924
  private noneIndexInArray;
15648
15925
  protected canUseFilteredChoices(): boolean;
15649
15926
  protected supportSelectAll(): boolean;
@@ -15651,7 +15928,7 @@ declare module "question_checkbox" {
15651
15928
  index: number;
15652
15929
  item: ItemValue;
15653
15930
  }>, isAddAll: boolean): void;
15654
- protected isBuiltInChoice(item: ItemValue, question: QuestionSelectBase): boolean;
15931
+ protected isBuiltInChoice(item: ItemValue): boolean;
15655
15932
  isItemInList(item: ItemValue): boolean;
15656
15933
  protected getDisplayValueCore(keysAsText: boolean, value: any): any;
15657
15934
  protected clearIncorrectValuesCore(): void;
@@ -15813,7 +16090,7 @@ declare module "question_tagbox" {
15813
16090
  }
15814
16091
  }
15815
16092
  declare module "question_imagepicker" {
15816
- import { QuestionCheckboxBase, QuestionSelectBase } from "question_baseselect";
16093
+ import { QuestionCheckboxBase } from "question_baseselect";
15817
16094
  import { ItemValue } from "itemvalue";
15818
16095
  import { ILocalizableOwner, LocalizableString } from "localizablestring";
15819
16096
  export class ImageItemValue extends ItemValue implements ILocalizableOwner {
@@ -15852,6 +16129,8 @@ declare module "question_imagepicker" {
15852
16129
  get isCompositeQuestion(): boolean;
15853
16130
  supportOther(): boolean;
15854
16131
  supportNone(): boolean;
16132
+ supportRefuse(): boolean;
16133
+ supportDontKnow(): boolean;
15855
16134
  isAnswerCorrect(): boolean;
15856
16135
  /**
15857
16136
  * Specifies whether users can select multiple images or videos.
@@ -15922,7 +16201,7 @@ declare module "question_imagepicker" {
15922
16201
  set contentMode(val: string);
15923
16202
  protected convertDefaultValue(val: any): any;
15924
16203
  get inputType(): "checkbox" | "radio";
15925
- protected isBuiltInChoice(item: ItemValue, question: QuestionSelectBase): boolean;
16204
+ protected isBuiltInChoice(item: ItemValue): boolean;
15926
16205
  protected addToVisibleChoices(items: Array<ItemValue>, isAddAll: boolean): void;
15927
16206
  getSelectBaseRootCss(): string;
15928
16207
  private isResponsiveValue;
@@ -16069,6 +16348,8 @@ declare module "question_ranking" {
16069
16348
  protected supportSelectAll(): boolean;
16070
16349
  supportOther(): boolean;
16071
16350
  supportNone(): boolean;
16351
+ supportRefuse(): boolean;
16352
+ supportDontKnow(): boolean;
16072
16353
  private handleArrowKeys;
16073
16354
  handleKeydownSelectToRank(event: KeyboardEvent, movedElement: ItemValue): void;
16074
16355
  private setValueAfterKeydown;
@@ -16722,17 +17003,6 @@ declare module "surveyProgress" {
16722
17003
  static getProgressTextUnderBarCss(css: any): string;
16723
17004
  }
16724
17005
  }
16725
- declare module "surveyProgressButtons" {
16726
- import { SurveyModel } from "survey";
16727
- export class SurveyProgressButtonsModel {
16728
- private survey;
16729
- constructor(survey: SurveyModel);
16730
- isListElementClickable(index: number): boolean;
16731
- getListElementCss(index: number): string;
16732
- getScrollButtonCss(hasScroller: boolean, isLeftScroll: boolean): string;
16733
- clickListElement(index: number): void;
16734
- }
16735
- }
16736
17006
  declare module "popup-survey" {
16737
17007
  import { Base } from "base";
16738
17008
  import { SurveyModel } from "survey";
@@ -16770,6 +17040,8 @@ declare module "popup-survey" {
16770
17040
  */
16771
17041
  get isShowing(): boolean;
16772
17042
  set isShowing(val: boolean);
17043
+ get isFullScreen(): boolean;
17044
+ set isFullScreen(val: boolean);
16773
17045
  /**
16774
17046
  * Shows the pop-up survey. The survey may appear [expanded or collapsed](#isExpanded).
16775
17047
  *
@@ -16786,6 +17058,7 @@ declare module "popup-survey" {
16786
17058
  * @see collapse
16787
17059
  */
16788
17060
  hide(): void;
17061
+ toggleFullScreen(): void;
16789
17062
  /**
16790
17063
  * Indicates whether the pop-up window is expanded or collapsed.
16791
17064
  *
@@ -16829,6 +17102,14 @@ declare module "popup-survey" {
16829
17102
  */
16830
17103
  get allowClose(): boolean;
16831
17104
  set allowClose(val: boolean);
17105
+ /**
17106
+ * Specifies whether to display a button that allow showing pop-up in full-screen mode.
17107
+ *
17108
+ * Default value: `false`
17109
+ *
17110
+ */
17111
+ get allowFullScreen(): boolean;
17112
+ set allowFullScreen(val: boolean);
16832
17113
  get css(): any;
16833
17114
  get cssButton(): string;
16834
17115
  get cssRoot(): string;
@@ -16840,9 +17121,11 @@ declare module "popup-survey" {
16840
17121
  get cssHeaderButtonsContainer(): string;
16841
17122
  get cssHeaderCollapseButton(): string;
16842
17123
  get cssHeaderCloseButton(): string;
17124
+ get cssHeaderFullScreenButton(): string;
16843
17125
  get renderedWidth(): string;
16844
17126
  width: string;
16845
17127
  private updateCss;
17128
+ private setCssRoot;
16846
17129
  private updateCssButton;
16847
17130
  private setCssButton;
16848
17131
  protected createSurvey(jsonObj: any): SurveyModel;
@@ -17032,7 +17315,7 @@ declare module "entries/chunks/model" {
17032
17315
  export { SurveyTimerModel } from "surveyTimerModel";
17033
17316
  export * from "surveyToc";
17034
17317
  export { SurveyProgressModel } from "surveyProgress";
17035
- export { SurveyProgressButtonsModel } from "surveyProgressButtons";
17318
+ export { ProgressButtons, ProgressButtonsResponsivityManager, IProgressButtonsViewModel } from "progress-buttons";
17036
17319
  export * from "themes";
17037
17320
  export { SurveyModel } from "survey";
17038
17321
  export * from "survey-events-api";
@@ -17058,7 +17341,7 @@ declare module "entries/chunks/model" {
17058
17341
  export { DropdownMultiSelectListModel } from "dropdownMultiSelectListModel";
17059
17342
  export { QuestionButtonGroupModel, ButtonGroupItemModel, ButtonGroupItemValue } from "question_buttongroup";
17060
17343
  export { IsMobile, IsTouch, _setIsTouch } from "utils/devices";
17061
- export { confirmAction, confirmActionAsync, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, sanitizeEditableContent, IAttachKey2clickOptions } from "utils/utils";
17344
+ export { confirmAction, confirmActionAsync, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, chooseFiles, sanitizeEditableContent, IAttachKey2clickOptions } from "utils/utils";
17062
17345
  export * from "utils/cssClassBuilder";
17063
17346
  export { surveyCss, defaultV2Css, defaultV2ThemeName } from "defaultCss/defaultV2Css";
17064
17347
  export { DragDropCore } from "dragdrop/core";
@@ -17428,6 +17711,7 @@ declare module "defaultCss/cssstandard" {
17428
17711
  window: {
17429
17712
  root: string;
17430
17713
  rootCollapsedMod: string;
17714
+ rootFullScreenMode: string;
17431
17715
  rootContent: string;
17432
17716
  body: string;
17433
17717
  header: {
@@ -17439,6 +17723,7 @@ declare module "defaultCss/cssstandard" {
17439
17723
  buttonCollapsed: string;
17440
17724
  collapseButton: string;
17441
17725
  closeButton: string;
17726
+ fullScreenButton: string;
17442
17727
  };
17443
17728
  };
17444
17729
  variables: {
@@ -17898,6 +18183,7 @@ declare module "defaultCss/cssmodern" {
17898
18183
  window: {
17899
18184
  root: string;
17900
18185
  rootCollapsedMod: string;
18186
+ rootFullScreenMode: string;
17901
18187
  rootContent: string;
17902
18188
  body: string;
17903
18189
  header: {
@@ -17909,6 +18195,7 @@ declare module "defaultCss/cssmodern" {
17909
18195
  buttonCollapsed: string;
17910
18196
  collapseButton: string;
17911
18197
  closeButton: string;
18198
+ fullScreenButton: string;
17912
18199
  };
17913
18200
  };
17914
18201
  variables: {
@@ -19513,6 +19800,8 @@ declare module "localization/arabic" {
19513
19800
  startSurveyText: string;
19514
19801
  otherItemText: string;
19515
19802
  noneItemText: string;
19803
+ refuseItemText: string;
19804
+ dontKnowItemText: string;
19516
19805
  selectAllItemText: string;
19517
19806
  progressText: string;
19518
19807
  indexText: string;
@@ -19617,6 +19906,8 @@ declare module "localization/basque" {
19617
19906
  startSurveyText: string;
19618
19907
  otherItemText: string;
19619
19908
  noneItemText: string;
19909
+ refuseItemText: string;
19910
+ dontKnowItemText: string;
19620
19911
  selectAllItemText: string;
19621
19912
  progressText: string;
19622
19913
  indexText: string;
@@ -19721,6 +20012,8 @@ declare module "localization/bulgarian" {
19721
20012
  startSurveyText: string;
19722
20013
  otherItemText: string;
19723
20014
  noneItemText: string;
20015
+ refuseItemText: string;
20016
+ dontKnowItemText: string;
19724
20017
  selectAllItemText: string;
19725
20018
  progressText: string;
19726
20019
  indexText: string;
@@ -19825,6 +20118,8 @@ declare module "localization/catalan" {
19825
20118
  startSurveyText: string;
19826
20119
  otherItemText: string;
19827
20120
  noneItemText: string;
20121
+ refuseItemText: string;
20122
+ dontKnowItemText: string;
19828
20123
  selectAllItemText: string;
19829
20124
  progressText: string;
19830
20125
  indexText: string;
@@ -19929,6 +20224,8 @@ declare module "localization/croatian" {
19929
20224
  startSurveyText: string;
19930
20225
  otherItemText: string;
19931
20226
  noneItemText: string;
20227
+ refuseItemText: string;
20228
+ dontKnowItemText: string;
19932
20229
  selectAllItemText: string;
19933
20230
  progressText: string;
19934
20231
  indexText: string;
@@ -20033,6 +20330,8 @@ declare module "localization/czech" {
20033
20330
  startSurveyText: string;
20034
20331
  otherItemText: string;
20035
20332
  noneItemText: string;
20333
+ refuseItemText: string;
20334
+ dontKnowItemText: string;
20036
20335
  selectAllItemText: string;
20037
20336
  progressText: string;
20038
20337
  indexText: string;
@@ -20137,6 +20436,8 @@ declare module "localization/danish" {
20137
20436
  startSurveyText: string;
20138
20437
  otherItemText: string;
20139
20438
  noneItemText: string;
20439
+ refuseItemText: string;
20440
+ dontKnowItemText: string;
20140
20441
  selectAllItemText: string;
20141
20442
  progressText: string;
20142
20443
  indexText: string;
@@ -20241,6 +20542,8 @@ declare module "localization/dutch" {
20241
20542
  startSurveyText: string;
20242
20543
  otherItemText: string;
20243
20544
  noneItemText: string;
20545
+ refuseItemText: string;
20546
+ dontKnowItemText: string;
20244
20547
  selectAllItemText: string;
20245
20548
  progressText: string;
20246
20549
  indexText: string;
@@ -20346,6 +20649,8 @@ declare module "localization/estonian" {
20346
20649
  startSurveyText: string;
20347
20650
  otherItemText: string;
20348
20651
  noneItemText: string;
20652
+ refuseItemText: string;
20653
+ dontKnowItemText: string;
20349
20654
  selectAllItemText: string;
20350
20655
  progressText: string;
20351
20656
  indexText: string;
@@ -20450,6 +20755,8 @@ declare module "localization/finnish" {
20450
20755
  startSurveyText: string;
20451
20756
  otherItemText: string;
20452
20757
  noneItemText: string;
20758
+ refuseItemText: string;
20759
+ dontKnowItemText: string;
20453
20760
  selectAllItemText: string;
20454
20761
  progressText: string;
20455
20762
  indexText: string;
@@ -20554,6 +20861,8 @@ declare module "localization/french" {
20554
20861
  startSurveyText: string;
20555
20862
  otherItemText: string;
20556
20863
  noneItemText: string;
20864
+ refuseItemText: string;
20865
+ dontKnowItemText: string;
20557
20866
  selectAllItemText: string;
20558
20867
  progressText: string;
20559
20868
  indexText: string;
@@ -20658,6 +20967,8 @@ declare module "localization/georgian" {
20658
20967
  startSurveyText: string;
20659
20968
  otherItemText: string;
20660
20969
  noneItemText: string;
20970
+ refuseItemText: string;
20971
+ dontKnowItemText: string;
20661
20972
  selectAllItemText: string;
20662
20973
  progressText: string;
20663
20974
  indexText: string;
@@ -20762,6 +21073,8 @@ declare module "localization/german" {
20762
21073
  startSurveyText: string;
20763
21074
  otherItemText: string;
20764
21075
  noneItemText: string;
21076
+ refuseItemText: string;
21077
+ dontKnowItemText: string;
20765
21078
  selectAllItemText: string;
20766
21079
  progressText: string;
20767
21080
  indexText: string;
@@ -20866,6 +21179,8 @@ declare module "localization/greek" {
20866
21179
  startSurveyText: string;
20867
21180
  otherItemText: string;
20868
21181
  noneItemText: string;
21182
+ refuseItemText: string;
21183
+ dontKnowItemText: string;
20869
21184
  selectAllItemText: string;
20870
21185
  progressText: string;
20871
21186
  indexText: string;
@@ -20970,6 +21285,8 @@ declare module "localization/hebrew" {
20970
21285
  startSurveyText: string;
20971
21286
  otherItemText: string;
20972
21287
  noneItemText: string;
21288
+ refuseItemText: string;
21289
+ dontKnowItemText: string;
20973
21290
  selectAllItemText: string;
20974
21291
  progressText: string;
20975
21292
  indexText: string;
@@ -21074,6 +21391,8 @@ declare module "localization/hindi" {
21074
21391
  startSurveyText: string;
21075
21392
  otherItemText: string;
21076
21393
  noneItemText: string;
21394
+ refuseItemText: string;
21395
+ dontKnowItemText: string;
21077
21396
  selectAllItemText: string;
21078
21397
  progressText: string;
21079
21398
  indexText: string;
@@ -21178,6 +21497,8 @@ declare module "localization/hungarian" {
21178
21497
  startSurveyText: string;
21179
21498
  otherItemText: string;
21180
21499
  noneItemText: string;
21500
+ refuseItemText: string;
21501
+ dontKnowItemText: string;
21181
21502
  selectAllItemText: string;
21182
21503
  progressText: string;
21183
21504
  indexText: string;
@@ -21282,6 +21603,8 @@ declare module "localization/icelandic" {
21282
21603
  startSurveyText: string;
21283
21604
  otherItemText: string;
21284
21605
  noneItemText: string;
21606
+ refuseItemText: string;
21607
+ dontKnowItemText: string;
21285
21608
  selectAllItemText: string;
21286
21609
  progressText: string;
21287
21610
  indexText: string;
@@ -21386,6 +21709,8 @@ declare module "localization/indonesian" {
21386
21709
  startSurveyText: string;
21387
21710
  otherItemText: string;
21388
21711
  noneItemText: string;
21712
+ refuseItemText: string;
21713
+ dontKnowItemText: string;
21389
21714
  selectAllItemText: string;
21390
21715
  progressText: string;
21391
21716
  indexText: string;
@@ -21490,6 +21815,8 @@ declare module "localization/italian" {
21490
21815
  startSurveyText: string;
21491
21816
  otherItemText: string;
21492
21817
  noneItemText: string;
21818
+ refuseItemText: string;
21819
+ dontKnowItemText: string;
21493
21820
  selectAllItemText: string;
21494
21821
  progressText: string;
21495
21822
  indexText: string;
@@ -21594,6 +21921,8 @@ declare module "localization/japanese" {
21594
21921
  startSurveyText: string;
21595
21922
  otherItemText: string;
21596
21923
  noneItemText: string;
21924
+ refuseItemText: string;
21925
+ dontKnowItemText: string;
21597
21926
  selectAllItemText: string;
21598
21927
  progressText: string;
21599
21928
  indexText: string;
@@ -21698,6 +22027,8 @@ declare module "localization/kazakh" {
21698
22027
  startSurveyText: string;
21699
22028
  otherItemText: string;
21700
22029
  noneItemText: string;
22030
+ refuseItemText: string;
22031
+ dontKnowItemText: string;
21701
22032
  selectAllItemText: string;
21702
22033
  progressText: string;
21703
22034
  indexText: string;
@@ -21802,6 +22133,8 @@ declare module "localization/korean" {
21802
22133
  startSurveyText: string;
21803
22134
  otherItemText: string;
21804
22135
  noneItemText: string;
22136
+ refuseItemText: string;
22137
+ dontKnowItemText: string;
21805
22138
  selectAllItemText: string;
21806
22139
  progressText: string;
21807
22140
  indexText: string;
@@ -21906,6 +22239,8 @@ declare module "localization/latvian" {
21906
22239
  startSurveyText: string;
21907
22240
  otherItemText: string;
21908
22241
  noneItemText: string;
22242
+ refuseItemText: string;
22243
+ dontKnowItemText: string;
21909
22244
  selectAllItemText: string;
21910
22245
  progressText: string;
21911
22246
  indexText: string;
@@ -22010,6 +22345,8 @@ declare module "localization/lithuanian" {
22010
22345
  startSurveyText: string;
22011
22346
  otherItemText: string;
22012
22347
  noneItemText: string;
22348
+ refuseItemText: string;
22349
+ dontKnowItemText: string;
22013
22350
  selectAllItemText: string;
22014
22351
  progressText: string;
22015
22352
  indexText: string;
@@ -22114,6 +22451,8 @@ declare module "localization/macedonian" {
22114
22451
  startSurveyText: string;
22115
22452
  otherItemText: string;
22116
22453
  noneItemText: string;
22454
+ refuseItemText: string;
22455
+ dontKnowItemText: string;
22117
22456
  selectAllItemText: string;
22118
22457
  progressText: string;
22119
22458
  indexText: string;
@@ -22218,6 +22557,8 @@ declare module "localization/malay" {
22218
22557
  startSurveyText: string;
22219
22558
  otherItemText: string;
22220
22559
  noneItemText: string;
22560
+ refuseItemText: string;
22561
+ dontKnowItemText: string;
22221
22562
  selectAllItemText: string;
22222
22563
  progressText: string;
22223
22564
  indexText: string;
@@ -22322,6 +22663,8 @@ declare module "localization/norwegian" {
22322
22663
  startSurveyText: string;
22323
22664
  otherItemText: string;
22324
22665
  noneItemText: string;
22666
+ refuseItemText: string;
22667
+ dontKnowItemText: string;
22325
22668
  selectAllItemText: string;
22326
22669
  progressText: string;
22327
22670
  indexText: string;
@@ -22426,6 +22769,8 @@ declare module "localization/persian" {
22426
22769
  startSurveyText: string;
22427
22770
  otherItemText: string;
22428
22771
  noneItemText: string;
22772
+ refuseItemText: string;
22773
+ dontKnowItemText: string;
22429
22774
  selectAllItemText: string;
22430
22775
  progressText: string;
22431
22776
  indexText: string;
@@ -22530,6 +22875,8 @@ declare module "localization/polish" {
22530
22875
  startSurveyText: string;
22531
22876
  otherItemText: string;
22532
22877
  noneItemText: string;
22878
+ refuseItemText: string;
22879
+ dontKnowItemText: string;
22533
22880
  selectAllItemText: string;
22534
22881
  progressText: string;
22535
22882
  indexText: string;
@@ -22634,6 +22981,8 @@ declare module "localization/portuguese" {
22634
22981
  startSurveyText: string;
22635
22982
  otherItemText: string;
22636
22983
  noneItemText: string;
22984
+ refuseItemText: string;
22985
+ dontKnowItemText: string;
22637
22986
  selectAllItemText: string;
22638
22987
  progressText: string;
22639
22988
  indexText: string;
@@ -22741,6 +23090,8 @@ declare module "localization/portuguese-br" {
22741
23090
  startSurveyText: string;
22742
23091
  otherItemText: string;
22743
23092
  noneItemText: string;
23093
+ refuseItemText: string;
23094
+ dontKnowItemText: string;
22744
23095
  selectAllItemText: string;
22745
23096
  progressText: string;
22746
23097
  indexText: string;
@@ -22848,6 +23199,8 @@ declare module "localization/russian" {
22848
23199
  startSurveyText: string;
22849
23200
  otherItemText: string;
22850
23201
  noneItemText: string;
23202
+ refuseItemText: string;
23203
+ dontKnowItemText: string;
22851
23204
  selectAllItemText: string;
22852
23205
  progressText: string;
22853
23206
  indexText: string;
@@ -22952,6 +23305,8 @@ declare module "localization/serbian" {
22952
23305
  startSurveyText: string;
22953
23306
  otherItemText: string;
22954
23307
  noneItemText: string;
23308
+ refuseItemText: string;
23309
+ dontKnowItemText: string;
22955
23310
  selectAllItemText: string;
22956
23311
  progressText: string;
22957
23312
  indexText: string;
@@ -23056,6 +23411,8 @@ declare module "localization/simplified-chinese" {
23056
23411
  startSurveyText: string;
23057
23412
  otherItemText: string;
23058
23413
  noneItemText: string;
23414
+ refuseItemText: string;
23415
+ dontKnowItemText: string;
23059
23416
  selectAllItemText: string;
23060
23417
  progressText: string;
23061
23418
  indexText: string;
@@ -23160,6 +23517,8 @@ declare module "localization/slovak" {
23160
23517
  startSurveyText: string;
23161
23518
  otherItemText: string;
23162
23519
  noneItemText: string;
23520
+ refuseItemText: string;
23521
+ dontKnowItemText: string;
23163
23522
  selectAllItemText: string;
23164
23523
  progressText: string;
23165
23524
  indexText: string;
@@ -23264,6 +23623,8 @@ declare module "localization/spanish" {
23264
23623
  startSurveyText: string;
23265
23624
  otherItemText: string;
23266
23625
  noneItemText: string;
23626
+ refuseItemText: string;
23627
+ dontKnowItemText: string;
23267
23628
  selectAllItemText: string;
23268
23629
  progressText: string;
23269
23630
  indexText: string;
@@ -23368,6 +23729,8 @@ declare module "localization/swahili" {
23368
23729
  startSurveyText: string;
23369
23730
  otherItemText: string;
23370
23731
  noneItemText: string;
23732
+ refuseItemText: string;
23733
+ dontKnowItemText: string;
23371
23734
  selectAllItemText: string;
23372
23735
  progressText: string;
23373
23736
  indexText: string;
@@ -23472,6 +23835,8 @@ declare module "localization/swedish" {
23472
23835
  startSurveyText: string;
23473
23836
  otherItemText: string;
23474
23837
  noneItemText: string;
23838
+ refuseItemText: string;
23839
+ dontKnowItemText: string;
23475
23840
  selectAllItemText: string;
23476
23841
  progressText: string;
23477
23842
  indexText: string;
@@ -23640,6 +24005,8 @@ declare module "localization/thai" {
23640
24005
  startSurveyText: string;
23641
24006
  otherItemText: string;
23642
24007
  noneItemText: string;
24008
+ refuseItemText: string;
24009
+ dontKnowItemText: string;
23643
24010
  selectAllItemText: string;
23644
24011
  progressText: string;
23645
24012
  indexText: string;
@@ -23744,6 +24111,8 @@ declare module "localization/traditional-chinese" {
23744
24111
  startSurveyText: string;
23745
24112
  otherItemText: string;
23746
24113
  noneItemText: string;
24114
+ refuseItemText: string;
24115
+ dontKnowItemText: string;
23747
24116
  selectAllItemText: string;
23748
24117
  progressText: string;
23749
24118
  indexText: string;
@@ -23848,6 +24217,8 @@ declare module "localization/turkish" {
23848
24217
  startSurveyText: string;
23849
24218
  otherItemText: string;
23850
24219
  noneItemText: string;
24220
+ refuseItemText: string;
24221
+ dontKnowItemText: string;
23851
24222
  selectAllItemText: string;
23852
24223
  progressText: string;
23853
24224
  indexText: string;
@@ -23952,6 +24323,8 @@ declare module "localization/ukrainian" {
23952
24323
  startSurveyText: string;
23953
24324
  otherItemText: string;
23954
24325
  noneItemText: string;
24326
+ refuseItemText: string;
24327
+ dontKnowItemText: string;
23955
24328
  selectAllItemText: string;
23956
24329
  progressText: string;
23957
24330
  indexText: string;
@@ -24056,6 +24429,8 @@ declare module "localization/vietnamese" {
24056
24429
  startSurveyText: string;
24057
24430
  otherItemText: string;
24058
24431
  noneItemText: string;
24432
+ refuseItemText: string;
24433
+ dontKnowItemText: string;
24059
24434
  selectAllItemText: string;
24060
24435
  progressText: string;
24061
24436
  indexText: string;
@@ -24160,6 +24535,8 @@ declare module "localization/welsh" {
24160
24535
  startSurveyText: string;
24161
24536
  otherItemText: string;
24162
24537
  noneItemText: string;
24538
+ refuseItemText: string;
24539
+ dontKnowItemText: string;
24163
24540
  selectAllItemText: string;
24164
24541
  progressText: string;
24165
24542
  indexText: string;
@@ -24264,6 +24641,8 @@ declare module "localization/telugu" {
24264
24641
  startSurveyText: string;
24265
24642
  otherItemText: string;
24266
24643
  noneItemText: string;
24644
+ refuseItemText: string;
24645
+ dontKnowItemText: string;
24267
24646
  selectAllItemText: string;
24268
24647
  progressText: string;
24269
24648
  indexText: string;
@@ -24458,8 +24837,12 @@ declare module "react/reactquestion_comment" {
24458
24837
  protected renderElement(): JSX.Element;
24459
24838
  }
24460
24839
  export class SurveyQuestionCommentItem extends ReactSurveyElement {
24461
- private getStateComment;
24840
+ private control;
24462
24841
  constructor(props: any);
24842
+ componentDidUpdate(prevProps: any, prevState: any): void;
24843
+ componentDidMount(): void;
24844
+ protected updateDomElement(): void;
24845
+ protected setControl(element: HTMLElement | null): void;
24463
24846
  protected canRender(): boolean;
24464
24847
  protected onCommentChange(event: any): void;
24465
24848
  protected onCommentInput(event: any): void;
@@ -25596,7 +25979,7 @@ declare module "react/reactquestion_paneldynamic" {
25596
25979
  protected renderButton(): JSX.Element | null;
25597
25980
  }
25598
25981
  }
25599
- declare module "react/reactSurveyProgress" {
25982
+ declare module "react/progress" {
25600
25983
  import { SurveyNavigationBase } from "react/reactSurveyNavigationBase";
25601
25984
  export class SurveyProgress extends SurveyNavigationBase {
25602
25985
  constructor(props: any);
@@ -25606,21 +25989,21 @@ declare module "react/reactSurveyProgress" {
25606
25989
  render(): JSX.Element;
25607
25990
  }
25608
25991
  }
25609
- declare module "react/reactSurveyProgressButtons" {
25610
- import { PageModel } from "entries/core";
25992
+ declare module "react/progressButtons" {
25993
+ import { ProgressButtons, PageModel, IProgressButtonsViewModel } from "entries/core";
25611
25994
  import { SurveyNavigationBase } from "react/reactSurveyNavigationBase";
25612
- export class SurveyProgressButtons extends SurveyNavigationBase {
25613
- private progressButtonsModel;
25614
- private updateScroller;
25995
+ export class SurveyProgressButtons extends SurveyNavigationBase implements IProgressButtonsViewModel {
25996
+ private respManager;
25615
25997
  private listContainerRef;
25616
25998
  constructor(props: any);
25999
+ protected get model(): ProgressButtons;
26000
+ get container(): string;
26001
+ onResize(canShowItemTitles: boolean): void;
26002
+ onUpdateScroller(hasScroller: boolean): void;
26003
+ onUpdateSettings(): void;
25617
26004
  render(): JSX.Element;
25618
26005
  protected getListElements(): JSX.Element[];
25619
26006
  protected renderListElement(page: PageModel, index: number): JSX.Element;
25620
- protected isListElementClickable(index: number): boolean;
25621
- protected getListElementCss(index: number): string;
25622
- protected clickListElement(index: number): void;
25623
- protected getScrollButtonCss(isLeftScroll: boolean): string;
25624
26007
  protected clickScrollButton(listContainerElement: Element | null, isLeftScroll: boolean): void;
25625
26008
  componentDidMount(): void;
25626
26009
  componentWillUnmount(): void;
@@ -25664,7 +26047,7 @@ declare module "react/components/list/list" {
25664
26047
  emptyContent(): JSX.Element;
25665
26048
  }
25666
26049
  }
25667
- declare module "react/reactSurveyProgressToc" {
26050
+ declare module "react/progressToc" {
25668
26051
  import { SurveyNavigationBase } from "react/reactSurveyNavigationBase";
25669
26052
  export class SurveyProgressToc extends SurveyNavigationBase {
25670
26053
  render(): JSX.Element;
@@ -25714,6 +26097,7 @@ declare module "react/react-popup-survey" {
25714
26097
  protected renderExpandIcon(): JSX.Element;
25715
26098
  protected renderCollapseIcon(): JSX.Element;
25716
26099
  protected renderCloseButton(popup: PopupSurveyModel): JSX.Element;
26100
+ protected renderAllowFullScreenButon(popup: PopupSurveyModel): JSX.Element;
25717
26101
  protected renderBody(): JSX.Element;
25718
26102
  protected createSurvey(newProps: any): void;
25719
26103
  }
@@ -25938,9 +26322,9 @@ declare module "entries/react-ui-model" {
25938
26322
  export { SurveyQuestionMatrixDropdown } from "react/reactquestion_matrixdropdown";
25939
26323
  export { SurveyQuestionMatrixDynamic, SurveyQuestionMatrixDynamicAddButton } from "react/reactquestion_matrixdynamic";
25940
26324
  export { SurveyQuestionPanelDynamic } from "react/reactquestion_paneldynamic";
25941
- export { SurveyProgress } from "react/reactSurveyProgress";
25942
- export { SurveyProgressButtons } from "react/reactSurveyProgressButtons";
25943
- export { SurveyProgressToc } from "react/reactSurveyProgressToc";
26325
+ export { SurveyProgress } from "react/progress";
26326
+ export { SurveyProgressButtons } from "react/progressButtons";
26327
+ export { SurveyProgressToc } from "react/progressToc";
25944
26328
  export { SurveyQuestionRating } from "react/reactquestion_rating";
25945
26329
  export { SurveyQuestionRatingDropdown } from "react/rating-dropdown";
25946
26330
  export { SurveyQuestionExpression } from "react/reactquestion_expression";