survey-react 1.9.95 → 1.9.97

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
@@ -645,8 +645,8 @@ declare module "localization/english" {
645
645
  noEntriesReadonlyText: string;
646
646
  more: string;
647
647
  tagboxDoneButtonCaption: string;
648
- selectToRankFromContainerPlaceholder: string;
649
- selectToRankToContainerPlaceholder: string;
648
+ selectToRankEmptyRankedAreaText: string;
649
+ selectToRankEmptyUnrankedAreaText: string;
650
650
  };
651
651
  }
652
652
  declare module "surveyStrings" {
@@ -756,8 +756,8 @@ declare module "surveyStrings" {
756
756
  noEntriesReadonlyText: string;
757
757
  more: string;
758
758
  tagboxDoneButtonCaption: string;
759
- selectToRankFromContainerPlaceholder: string;
760
- selectToRankToContainerPlaceholder: string;
759
+ selectToRankEmptyRankedAreaText: string;
760
+ selectToRankEmptyUnrankedAreaText: string;
761
761
  };
762
762
  }
763
763
  declare module "localizablestring" {
@@ -1094,7 +1094,10 @@ declare module "jsonobject" {
1094
1094
  type: string;
1095
1095
  message: string;
1096
1096
  description: string;
1097
- at: Number;
1097
+ at: number;
1098
+ end: number;
1099
+ jsonObj: any;
1100
+ element: Base;
1098
1101
  constructor(type: string, message: string);
1099
1102
  getFullDescription(): string;
1100
1103
  }
@@ -2163,6 +2166,7 @@ declare module "defaultCss/defaultV2Css" {
2163
2166
  root: string;
2164
2167
  rootMobile: string;
2165
2168
  rootReadOnly: string;
2169
+ rootBackgroundImage: string;
2166
2170
  container: string;
2167
2171
  header: string;
2168
2172
  bodyContainer: string;
@@ -2476,6 +2480,9 @@ declare module "defaultCss/defaultV2Css" {
2476
2480
  cleanButton: string;
2477
2481
  cleanButtonSvg: string;
2478
2482
  cleanButtonIconId: string;
2483
+ chevronButton: string;
2484
+ chevronButtonSvg: string;
2485
+ chevronButtonIconId: string;
2479
2486
  control: string;
2480
2487
  controlInputFieldComponent: string;
2481
2488
  controlValue: string;
@@ -2634,10 +2641,14 @@ declare module "defaultCss/defaultV2Css" {
2634
2641
  itemFixedSize: string;
2635
2642
  control: string;
2636
2643
  itemSmall: string;
2644
+ selectWrapper: string;
2637
2645
  controlValue: string;
2638
2646
  controlDisabled: string;
2639
2647
  controlEmpty: string;
2640
2648
  filterStringInput: string;
2649
+ chevronButton: string;
2650
+ chevronButtonSvg: string;
2651
+ chevronButtonIconId: string;
2641
2652
  popup: string;
2642
2653
  onError: string;
2643
2654
  };
@@ -2731,6 +2742,7 @@ declare module "defaultCss/defaultV2Css" {
2731
2742
  itemContent: string;
2732
2743
  itemIndex: string;
2733
2744
  itemIndexEmptyMode: string;
2745
+ itemDisabled: string;
2734
2746
  controlLabel: string;
2735
2747
  itemGhostNode: string;
2736
2748
  itemIconContainer: string;
@@ -2801,6 +2813,9 @@ declare module "defaultCss/defaultV2Css" {
2801
2813
  cleanItemButton: string;
2802
2814
  cleanItemButtonSvg: string;
2803
2815
  cleanItemButtonIconId: string;
2816
+ chevronButton: string;
2817
+ chevronButtonSvg: string;
2818
+ chevronButtonIconId: string;
2804
2819
  control: string;
2805
2820
  controlValue: string;
2806
2821
  controlValueItems: string;
@@ -2867,7 +2882,7 @@ declare module "trigger" {
2867
2882
  }
2868
2883
  export interface ISurveyTriggerOwner {
2869
2884
  getObjects(pages: string[], questions: string[]): any[];
2870
- setCompleted(): void;
2885
+ setCompleted(trigger: Trigger): void;
2871
2886
  canBeCompleted(trigger: Trigger, isCompleted: boolean): void;
2872
2887
  triggerExecuted(trigger: Trigger): void;
2873
2888
  setTriggerValue(name: string, value: any, isVariable: boolean): any;
@@ -3379,6 +3394,7 @@ declare module "panel" {
3379
3394
  * @see [Data Validation](https://surveyjs.io/form-library/documentation/data-validation)
3380
3395
  */
3381
3396
  validate(fireCallback?: boolean, focusOnFirstError?: boolean, rec?: any): boolean;
3397
+ validateContainerOnly(): void;
3382
3398
  private hasErrorsInPanels;
3383
3399
  getErrorCustomText(text: string, error: SurveyError): string;
3384
3400
  private hasRequiredError;
@@ -3702,6 +3718,12 @@ declare module "question_file" {
3702
3718
  currentState: string;
3703
3719
  indexToShow: number;
3704
3720
  containsMultiplyFiles: boolean;
3721
+ /**
3722
+ * Specifies whether users can capture and upload a photo. Applies only to mobile devices.
3723
+ *
3724
+ * Default value: `false`
3725
+ */
3726
+ allowCameraAccess: boolean;
3705
3727
  mobileFileNavigator: ActionContainer;
3706
3728
  protected prevFileAction: Action;
3707
3729
  protected nextFileAction: Action;
@@ -3789,6 +3811,7 @@ declare module "question_file" {
3789
3811
  dragAreaPlaceholder: string;
3790
3812
  get inputTitle(): string;
3791
3813
  clear(doneCallback?: () => void): void;
3814
+ get renderCapture(): string;
3792
3815
  get multipleRendered(): string;
3793
3816
  get showRemoveButton(): any;
3794
3817
  get showRemoveButtonBottom(): any;
@@ -4041,6 +4064,8 @@ declare module "question_baseselect" {
4041
4064
  private newItemValue;
4042
4065
  private canShowOptionItemCallback;
4043
4066
  private waitingGetChoiceDisplayValueResponse;
4067
+ private get waitingChoicesByURL();
4068
+ private get waitingAcyncOperations();
4044
4069
  protected selectedItemValues: any;
4045
4070
  constructor(name: string);
4046
4071
  getType(): string;
@@ -4385,7 +4410,7 @@ declare module "question_baseselect" {
4385
4410
  protected isItemSelectedCore(item: ItemValue): boolean;
4386
4411
  private clearDisabledValues;
4387
4412
  protected clearIncorrectValuesCore(): void;
4388
- protected canClearValueAnUnknow(val: any): boolean;
4413
+ protected canClearValueAnUnknown(val: any): boolean;
4389
4414
  protected clearDisabledValuesCore(): void;
4390
4415
  clearUnusedValues(): void;
4391
4416
  getColumnClass(): string;
@@ -4570,25 +4595,7 @@ declare module "question_matrixdropdowncolumn" {
4570
4595
  getCustomCellType(column: MatrixDropdownColumn, row: MatrixDropdownRowModelBase, cellType: string): string;
4571
4596
  onColumnCellTypeChanged(column: MatrixDropdownColumn): void;
4572
4597
  }
4573
- export var matrixDropdownColumnTypes: {
4574
- dropdown: {
4575
- onCellQuestionUpdate: (cellQuestion: any, column: any, question: any, data: any) => void;
4576
- };
4577
- checkbox: {
4578
- onCellQuestionUpdate: (cellQuestion: any, column: any, question: any, data: any) => void;
4579
- };
4580
- radiogroup: {
4581
- onCellQuestionUpdate: (cellQuestion: any, column: any, question: any, data: any) => void;
4582
- };
4583
- tagbox: {};
4584
- text: {};
4585
- comment: {};
4586
- boolean: {
4587
- onCellQuestionUpdate: (cellQuestion: any, column: any, question: any, data: any) => void;
4588
- };
4589
- expression: {};
4590
- rating: {};
4591
- };
4598
+ export var matrixDropdownColumnTypes: any;
4592
4599
  export class MatrixDropdownColumn extends Base implements ILocalizableOwner, IWrapperObject {
4593
4600
  static getColumnTypes(): Array<string>;
4594
4601
  private templateQuestionValue;
@@ -4784,7 +4791,7 @@ declare module "dragdrop/core" {
4784
4791
  constructor(surveyValue?: ISurvey, creator?: any, longTap?: boolean, domAdapter?: IDragDropDOMAdapter);
4785
4792
  startDrag(event: PointerEvent, draggedElement: any, parentElement?: any, draggedElementNode?: HTMLElement, preventSaveTargetNode?: boolean): void;
4786
4793
  dragInit(event: PointerEvent, draggedElement: any, parentElement?: any, draggedElementNode?: HTMLElement): void;
4787
- protected onStartDrag(): void;
4794
+ protected onStartDrag(event?: PointerEvent): void;
4788
4795
  protected isDropTargetDoesntChanged(newIsBottom: boolean): boolean;
4789
4796
  protected getShortcutText(draggedElement: IShortcutText): string;
4790
4797
  protected createDraggedElementShortcut(text: string, draggedElementNode?: HTMLElement, event?: PointerEvent): HTMLElement;
@@ -5906,6 +5913,7 @@ declare module "survey-events-api" {
5906
5913
  import { ItemValue } from "itemvalue";
5907
5914
  import { PageModel } from "page";
5908
5915
  import { PanelModel, PanelModelBase } from "panel";
5916
+ import { PopupModel } from "popup";
5909
5917
  import { Question } from "question";
5910
5918
  import { QuestionFileModel } from "question_file";
5911
5919
  import { MatrixDropdownCell, MatrixDropdownRowModelBase, QuestionMatrixDropdownModelBase } from "question_matrixdropdownbase";
@@ -5998,6 +6006,7 @@ declare module "survey-events-api" {
5998
6006
  * Returns `true` if survey completion is caused by the ["complete" trigger](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#complete).
5999
6007
  */
6000
6008
  isCompleteOnTrigger: boolean;
6009
+ completeTrigger?: Trigger;
6001
6010
  }
6002
6011
  export interface CompletingEvent extends CompleteBaseEvent {
6003
6012
  /**
@@ -6345,32 +6354,46 @@ declare module "survey-events-api" {
6345
6354
  }
6346
6355
  export interface SendResultEvent {
6347
6356
  /**
6348
- * a response from the service
6357
+ * A server [response](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/response).
6349
6358
  */
6350
6359
  response: any;
6351
6360
  request: any;
6352
6361
  /**
6353
- * it is `true` if the results has been sent to the service successfully
6362
+ * A Boolean value that indicates whether survey results have been saved successfully.
6354
6363
  */
6355
6364
  success: boolean;
6356
6365
  }
6357
6366
  export interface GetResultEvent {
6358
6367
  /**
6359
- * the server response
6368
+ * A server [response](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/response).
6360
6369
  */
6361
6370
  response: any;
6362
6371
  /**
6363
- * an array of objects `{name, value}`, where `name` is a unique value/answer to the question and `value` is a number/count of such answers
6372
+ * A Boolean value that indicates whether survey results have been retrieved successfully.
6364
6373
  */
6365
- dataList: Array<any>;
6374
+ success: boolean;
6366
6375
  /**
6367
- * the object `{AnswersCount, QuestionResult : {} }`. `AnswersCount` is the number of posted survey results. `QuestionResult` is an object with all possible unique answers to the question and number of these answers
6376
+ * An object with the following structure:
6377
+ *
6378
+ * ```js
6379
+ * {
6380
+ * AnswersCount: Number, // A total number of posted answers to the question
6381
+ * QuestionResult: Object // All unique answers to the question and their number
6382
+ * }
6383
+ * ```
6368
6384
  */
6369
6385
  data: any;
6370
6386
  /**
6371
- * it is `true` if the results were got from the service successfully
6387
+ * An array of objects with the following structure:
6388
+ *
6389
+ * ```js
6390
+ * {
6391
+ * name: String, // A unique answer to the question
6392
+ * value: Number // The number of user responses with this answer
6393
+ * }
6394
+ * ```
6372
6395
  */
6373
- success: boolean;
6396
+ dataList: Array<any>;
6374
6397
  }
6375
6398
  export interface LoadFilesEvent extends FileQuestionEventMixin {
6376
6399
  /**
@@ -6817,6 +6840,16 @@ declare module "survey-events-api" {
6817
6840
  */
6818
6841
  column: any;
6819
6842
  }
6843
+ export interface PopupVisibleChangedEvent extends QuestionEventMixin {
6844
+ /**
6845
+ * An object that describes the popup.
6846
+ */
6847
+ popup: PopupModel;
6848
+ /**
6849
+ * Indicates whether the popup is visible now.
6850
+ */
6851
+ visible: boolean;
6852
+ }
6820
6853
  }
6821
6854
  declare module "drag-drop-page-helper-v1" {
6822
6855
  import { IElement, ISurveyElement } from "base-interfaces";
@@ -7596,6 +7629,7 @@ declare module "question_multipletext" {
7596
7629
  get elements(): Array<IElement>;
7597
7630
  indexOf(el: IElement): number;
7598
7631
  ensureRowsVisibility(): void;
7632
+ validateContainerOnly(): void;
7599
7633
  getItemLabelCss(item: MultipleTextItemModel): string;
7600
7634
  getItemCss(): string;
7601
7635
  getItemTitleCss(): string;
@@ -7603,13 +7637,15 @@ declare module "question_multipletext" {
7603
7637
  }
7604
7638
  }
7605
7639
  declare module "themes" {
7640
+ export type ImageFit = "auto" | "contain" | "cover";
7641
+ export type ImageAttachment = "fixed" | "scroll";
7606
7642
  export interface ITheme {
7607
7643
  cssVariables?: {
7608
7644
  [index: string]: string;
7609
7645
  };
7610
7646
  backgroundImage?: string;
7611
- backgroundImageFit?: string;
7612
- backgroundImagePosition?: string;
7647
+ backgroundImageFit?: ImageFit;
7648
+ backgroundImageAttachment?: ImageAttachment;
7613
7649
  backgroundOpacity?: number;
7614
7650
  isCompact?: boolean;
7615
7651
  }
@@ -7635,12 +7671,13 @@ declare module "survey" {
7635
7671
  import { ActionContainer } from "actions/container";
7636
7672
  import { QuestionPanelDynamicModel } from "question_paneldynamic";
7637
7673
  import { Notifier } from "notifier";
7638
- 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, IsAnswerCorrectEvent, DragDropAllowEvent, ScrollingElementToTopEvent, GetQuestionTitleActionsEvent, GetPanelTitleActionsEvent, GetPageTitleActionsEvent, GetPanelFooterActionsEvent, GetMatrixRowActionsEvent, ElementContentVisibilityChangedEvent, GetExpressionDisplayValueEvent, ServerValidateQuestionsEvent, MultipleTextItemAddedEvent, MatrixColumnAddedEvent, GetQuestionDisplayValueEvent } from "survey-events-api";
7674
+ 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, IsAnswerCorrectEvent, DragDropAllowEvent, ScrollingElementToTopEvent, GetQuestionTitleActionsEvent, GetPanelTitleActionsEvent, GetPageTitleActionsEvent, GetPanelFooterActionsEvent, GetMatrixRowActionsEvent, ElementContentVisibilityChangedEvent, GetExpressionDisplayValueEvent, ServerValidateQuestionsEvent, MultipleTextItemAddedEvent, MatrixColumnAddedEvent, GetQuestionDisplayValueEvent, PopupVisibleChangedEvent } from "survey-events-api";
7639
7675
  import { QuestionMatrixDropdownModelBase } from "question_matrixdropdownbase";
7640
7676
  import { QuestionMatrixDynamicModel } from "question_matrixdynamic";
7641
7677
  import { QuestionFileModel } from "question_file";
7642
7678
  import { QuestionMultipleTextModel } from "question_multipletext";
7643
- import { ITheme } from "themes";
7679
+ import { ITheme, ImageFit, ImageAttachment } from "themes";
7680
+ import { PopupModel } from "popup";
7644
7681
  /**
7645
7682
  * The `SurveyModel` object contains properties and methods that allow you to control the survey and access its elements.
7646
7683
  *
@@ -7677,11 +7714,11 @@ declare module "survey" {
7677
7714
  private timerModelValue;
7678
7715
  private navigationBarValue;
7679
7716
  /**
7680
- * An event that is raised after a trigger is executed.
7717
+ * An event that is raised after a [trigger](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#triggers) is executed.
7681
7718
  *
7682
7719
  * For information on event handler parameters, refer to descriptions within the interface.
7683
7720
  *
7684
- * For more information about triggers, refer to the following help topic: [Conditional Survey Logic (Triggers)](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#conditional-survey-logic-triggers).
7721
+ * [Conditional Survey Logic (Triggers)](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#conditional-survey-logic-triggers (linkStyle)).
7685
7722
  * @see triggers
7686
7723
  * @see runTriggers
7687
7724
  */
@@ -7725,11 +7762,11 @@ declare module "survey" {
7725
7762
  */
7726
7763
  onStarted: EventBase<SurveyModel, {}>;
7727
7764
  /**
7728
- * Use this event to save incomplete survey results. Enable the [`sendResultOnPageNext`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#sendResultOnPageNext) property for this event to occur.
7765
+ * An event that is raised to save incomplete survey results. Enable the [`sendResultOnPageNext`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#sendResultOnPageNext) property for this event to occur.
7729
7766
  *
7730
7767
  * For information on event handler parameters, refer to descriptions within the interface.
7731
7768
  *
7732
- * Refer to the following help topic for more information on the use case: [Continue an Incomplete Survey](https://surveyjs.io/form-library/documentation/handle-survey-results-continue-incomplete).
7769
+ * [Continue an Incomplete Survey](https://surveyjs.io/form-library/documentation/handle-survey-results-continue-incomplete (linkStyle)).
7733
7770
  */
7734
7771
  onPartialSend: EventBase<SurveyModel, {}>;
7735
7772
  /**
@@ -7955,11 +7992,11 @@ declare module "survey" {
7955
7992
  */
7956
7993
  onTextRenderAs: EventBase<SurveyModel, TextRenderAsEvent>;
7957
7994
  /**
7958
- * The event fires when it gets response from the [api.surveyjs.io](https://api.surveyjs.io) service on saving survey results. Use it to find out if the results have been saved successfully.
7995
+ * An event that is raised after a request to save survey results on [SurveyJS Service](https://api.surveyjs.io/) has been completed. Use this event to find out if the results have been saved successfully.
7959
7996
  */
7960
7997
  onSendResult: EventBase<SurveyModel, SendResultEvent>;
7961
7998
  /**
7962
- * Use it to get results after calling the `getResult` method. It returns a simple analytics from [api.surveyjs.io](https://api.surveyjs.io) service.
7999
+ * An event that is raised when the [`getResult(resultId, questionName)`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#getResult) method is called. Use this event to obtain answers to an individual question from [SurveyJS Service](https://api.surveyjs.io/).
7963
8000
  * @see getResult
7964
8001
  */
7965
8002
  onGetResult: EventBase<SurveyModel, GetResultEvent>;
@@ -8248,25 +8285,23 @@ declare module "survey" {
8248
8285
  onScrollingElementToTop: EventBase<SurveyModel, ScrollingElementToTopEvent>;
8249
8286
  onLocaleChangedEvent: EventBase<SurveyModel, {}>;
8250
8287
  /**
8251
- * Use this event to create/customize actions to be displayed in a question's title.
8288
+ * An event that allows you to add, delete, or modify actions in a question title.
8252
8289
  *
8253
8290
  * For information on event handler parameters, refer to descriptions within the interface.
8254
8291
  *
8255
8292
  * [View Demo](https://surveyjs.io/form-library/examples/survey-titleactions/ (linkStyle))
8256
- * @see IAction
8257
- * @see Question
8258
8293
  */
8259
8294
  onGetQuestionTitleActions: EventBase<SurveyModel, GetQuestionTitleActionsEvent>;
8260
8295
  /**
8261
- * Use this event to create/customize actions to be displayed in a panel's title.
8262
- * @see IAction
8263
- * @see PanelModel
8296
+ * An event that allows you to add, delete, or modify actions in a panel title.
8264
8297
  */
8265
8298
  onGetPanelTitleActions: EventBase<SurveyModel, GetPanelTitleActionsEvent>;
8266
8299
  /**
8267
- * Use this event to create/customize actions to be displayed in a page's title.
8268
- * @see IAction
8269
- * @see PageModel
8300
+ * An event that allows you to add, delete, or modify actions in a page title.
8301
+ *
8302
+ * For information on event handler parameters, refer to descriptions within the interface.
8303
+ *
8304
+ * [View Demo](https://surveyjs.io/form-library/examples/modify-titles-of-survey-elements/ (linkStyle))
8270
8305
  */
8271
8306
  onGetPageTitleActions: EventBase<SurveyModel, GetPageTitleActionsEvent>;
8272
8307
  /**
@@ -8291,7 +8326,12 @@ declare module "survey" {
8291
8326
  * An event that is raised before expression question convert it's value into display value for rendering.
8292
8327
  */
8293
8328
  onGetExpressionDisplayValue: EventBase<SurveyModel, GetExpressionDisplayValueEvent>;
8329
+ /**
8330
+ * An event that is raised after the visibility of a popup is changed. This event can be raised for [Single-](https://surveyjs.io/form-library/documentation/api-reference/dropdown-menu-model) and [Multi-Select Dropdown](https://surveyjs.io/form-library/documentation/api-reference/dropdown-tag-box-model) questions and [Rating](https://surveyjs.io/form-library/documentation/api-reference/rating-scale-question-model) questions [rendered as drop-down menus](https://surveyjs.io/form-library/documentation/api-reference/rating-scale-question-model#displayMode).
8331
+ */
8332
+ onPopupVisibleChanged: EventBase<SurveyModel, PopupVisibleChangedEvent>;
8294
8333
  constructor(jsonObj?: any, renderedElement?: any);
8334
+ processClosedPopup(question: IQuestion, popupModel: PopupModel<any>): void;
8295
8335
  protected createTryAgainAction(): IAction;
8296
8336
  private createHtmlLocString;
8297
8337
  /**
@@ -8350,8 +8390,11 @@ declare module "survey" {
8350
8390
  get isLazyRendering(): boolean;
8351
8391
  private updateLazyRenderingRowsOnRemovingElements;
8352
8392
  /**
8353
- * Gets or sets a list of triggers in the survey.
8354
- * @see SurveyTrigger
8393
+ * A list of triggers in the survey.
8394
+ *
8395
+ * [Conditional Survey Logic (Triggers)](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#conditional-survey-logic-triggers (linkStyle))
8396
+ * @see runTriggers
8397
+ * @see onTriggerExecuted
8355
8398
  */
8356
8399
  get triggers(): Array<SurveyTrigger>;
8357
8400
  set triggers(val: Array<SurveyTrigger>);
@@ -8361,7 +8404,7 @@ declare module "survey" {
8361
8404
  get calculatedValues(): Array<CalculatedValue>;
8362
8405
  set calculatedValues(val: Array<CalculatedValue>);
8363
8406
  /**
8364
- * The identifier of a survey JSON schema to load from the [SurveyJS Service](https://api.surveyjs.io).
8407
+ * The identifier of a survey JSON schema to load from [SurveyJS Service](https://api.surveyjs.io).
8365
8408
  *
8366
8409
  * Refer to the following help topic for more information: [Store Survey Results in the SurveyJS Service](https://surveyjs.io/form-library/documentation/handle-survey-results-store#store-survey-results-in-the-surveyjs-service).
8367
8410
  * @see loadSurveyFromService
@@ -8370,7 +8413,7 @@ declare module "survey" {
8370
8413
  get surveyId(): string;
8371
8414
  set surveyId(val: string);
8372
8415
  /**
8373
- * An identifier used to save survey results to the [SurveyJS Service](https://api.surveyjs.io).
8416
+ * An identifier used to save survey results to [SurveyJS Service](https://api.surveyjs.io).
8374
8417
  *
8375
8418
  * Refer to the following help topic for more information: [Store Survey Results in the SurveyJS Service](https://surveyjs.io/form-library/documentation/handle-survey-results-store#store-survey-results-in-the-surveyjs-service).
8376
8419
  * @see onComplete
@@ -8381,7 +8424,7 @@ declare module "survey" {
8381
8424
  /**
8382
8425
  * A user identifier (e-mail or other unique ID).
8383
8426
  *
8384
- * If your application works with the [SurveyJS Service](https://api.surveyjs.io), the ID ensures that users do not pass the same survey twice. On the second run, they will see the [Completed Before page](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#completedBeforeHtml).
8427
+ * If your application works with [SurveyJS Service](https://api.surveyjs.io), the ID ensures that users do not pass the same survey twice. On the second run, they will see the [Completed Before page](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#completedBeforeHtml).
8385
8428
  * @see cookieName
8386
8429
  */
8387
8430
  get clientId(): string;
@@ -8395,9 +8438,9 @@ declare module "survey" {
8395
8438
  get cookieName(): string;
8396
8439
  set cookieName(val: string);
8397
8440
  /**
8398
- * Specifies whether to save survey results when respondents swtich between pages. Handle the [`onPartialSend`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onPartialSend) event to implement the save operation.
8441
+ * Specifies whether to save survey results when respondents switch between pages. Handle the [`onPartialSend`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onPartialSend) event to implement the save operation.
8399
8442
  *
8400
- * Refer to the following help topic for more information on the use case: [Continue an Incomplete Survey](https://surveyjs.io/form-library/documentation/handle-survey-results-continue-incomplete).
8443
+ * [Continue an Incomplete Survey](https://surveyjs.io/form-library/documentation/handle-survey-results-continue-incomplete (linkStyle)).
8401
8444
  */
8402
8445
  get sendResultOnPageNext(): boolean;
8403
8446
  set sendResultOnPageNext(val: boolean);
@@ -8660,14 +8703,23 @@ declare module "survey" {
8660
8703
  get keepIncorrectValues(): boolean;
8661
8704
  set keepIncorrectValues(val: boolean);
8662
8705
  /**
8663
- * Gets or sets the survey locale. The default value it is empty, this means the 'en' locale is used.
8664
- * You can set it to 'de' - German, 'fr' - French and so on. The library has built-in localization for several languages. The library has a multi-language support as well.
8706
+ * Specifies the survey's locale.
8707
+ *
8708
+ * Default value: `""` (a default locale is used)
8709
+ *
8710
+ * [Localization & Globalization help topic](https://surveyjs.io/form-library/documentation/survey-localization (linkStyle))
8711
+ *
8712
+ * [Survey Localization demo](https://surveyjs.io/form-library/examples/survey-localization/ (linkStyle))
8665
8713
  */
8666
8714
  get locale(): string;
8667
8715
  set locale(value: string);
8668
8716
  private onSurveyLocaleChanged;
8669
8717
  /**
8670
- * Returns an array of locales that are used in the survey's translation.
8718
+ * Returns an array of locales whose translations are used in the survey.
8719
+ *
8720
+ * [Localization & Globalization help topic](https://surveyjs.io/form-library/documentation/survey-localization (linkStyle))
8721
+ *
8722
+ * [Survey Localization demo](https://surveyjs.io/form-library/examples/survey-localization/ (linkStyle))
8671
8723
  */
8672
8724
  getUsedLocales(): Array<string>;
8673
8725
  localeChanged(): void;
@@ -8772,7 +8824,6 @@ declare module "survey" {
8772
8824
  get themeVariables(): {
8773
8825
  [index: string]: string;
8774
8826
  };
8775
- backgroundImagePosition: string;
8776
8827
  _isMobile: boolean;
8777
8828
  setIsMobile(newVal?: boolean): void;
8778
8829
  private get isMobile();
@@ -8790,14 +8841,19 @@ declare module "survey" {
8790
8841
  get locBackgroundImage(): LocalizableString;
8791
8842
  renderBackgroundImage: string;
8792
8843
  private updateRenderBackgroundImage;
8793
- backgroundImageFit: string;
8844
+ backgroundImageFit: ImageFit;
8845
+ backgroundImageAttachment: ImageAttachment;
8794
8846
  /**
8795
- * A value from 0 to 1 that specifies how transparent the survey background should be: 0 makes the background completely transparent, and 1 makes it opaque.
8796
- * @see backgroundImage
8847
+ * A value from 0 to 1 that specifies how transparent the [background image](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#backgroundImage) should be: 0 makes the image completely transparent, and 1 makes it opaque.
8797
8848
  */
8798
8849
  get backgroundOpacity(): number;
8799
8850
  set backgroundOpacity(val: number);
8800
- get renderBackgroundOpacity(): string;
8851
+ get backgroundImageStyle(): {
8852
+ opacity: number;
8853
+ backgroundImage: string;
8854
+ backgroundSize: ImageFit;
8855
+ backgroundAttachment: ImageAttachment;
8856
+ };
8801
8857
  /**
8802
8858
  * HTML content displayed on the [complete page](https://surveyjs.io/form-library/documentation/design-survey/create-a-multi-page-survey#complete-page).
8803
8859
  *
@@ -8828,7 +8884,10 @@ declare module "survey" {
8828
8884
  */
8829
8885
  runCondition(expression: string): boolean;
8830
8886
  /**
8831
- * Run all triggers that performs on value changed and not on moving to the next page.
8887
+ * Executes [all triggers](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#triggers), except ["complete"](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#complete).
8888
+ *
8889
+ * [Conditional Survey Logic (Triggers)](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#conditional-survey-logic-triggers (linkStyle))
8890
+ * @see onTriggerExecuted
8832
8891
  */
8833
8892
  runTriggers(): void;
8834
8893
  get renderedCompletedHtml(): string;
@@ -8843,7 +8902,7 @@ declare module "survey" {
8843
8902
  set completedBeforeHtml(value: string);
8844
8903
  get locCompletedBeforeHtml(): LocalizableString;
8845
8904
  /**
8846
- * HTML content displayed while a survey JSON schema is being loaded from the [SurveyJS Service](https://api.surveyjs.io).
8905
+ * HTML content displayed while a survey JSON schema is being loaded from [SurveyJS Service](https://api.surveyjs.io).
8847
8906
  * @see surveyId
8848
8907
  * @see processedLoadingHtml
8849
8908
  */
@@ -9305,6 +9364,7 @@ declare module "survey" {
9305
9364
  private updateAllElementsVisibility;
9306
9365
  get areInvisibleElementsShowing(): boolean;
9307
9366
  get areEmptyElementsHidden(): boolean;
9367
+ private get isAnyQuestionAnswered();
9308
9368
  /**
9309
9369
  * Returns `true`, if a user has already completed the survey in this browser and there is a cookie about it. Survey goes to `completedbefore` state if the function returns `true`.
9310
9370
  * @see cookieName
@@ -9527,7 +9587,7 @@ declare module "survey" {
9527
9587
  * 1. Switches the survey [`state`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#state) to `"completed"`.
9528
9588
  * 1. Raises the [`onComplete`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onComplete) event.
9529
9589
  * 1. Navigates the user to a URL specified by the [`navigateToUrl`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#navigateToUrl) or [`navigateToUrlOnCondition`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#navigateToUrlOnCondition) property.
9530
- * 1. Calls the [`sendResult()`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#sendResult) method if Form Library works with the [SurveyJS Service](https://api.surveyjs.io/).
9590
+ * 1. Calls the [`sendResult()`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#sendResult) method if Form Library works with [SurveyJS Service](https://api.surveyjs.io/).
9531
9591
  *
9532
9592
  * The `doComplete()` method completes the survey regardless of validation errors and the current page. If you need to ensure that survey results are valid and full, call the [`completeLastPage()`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#completeLastPage) method instead.
9533
9593
  *
@@ -9535,7 +9595,7 @@ declare module "survey" {
9535
9595
  * @returns `false` if survey completion is cancelled within the [`onCompleting`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onCompleting) event handler; otherwise, `true`.
9536
9596
  * @see surveyPostId
9537
9597
  */
9538
- doComplete(isCompleteOnTrigger?: boolean): boolean;
9598
+ doComplete(isCompleteOnTrigger?: boolean, completeTrigger?: Trigger): boolean;
9539
9599
  private saveDataOnComplete;
9540
9600
  private checkOnCompletingEvent;
9541
9601
  /**
@@ -9555,7 +9615,7 @@ declare module "survey" {
9555
9615
  protected doServerValidation(doComplete: boolean, isPreview?: boolean): boolean;
9556
9616
  private completeServerValidation;
9557
9617
  protected doNextPage(): void;
9558
- setCompleted(): void;
9618
+ setCompleted(trigger: Trigger): void;
9559
9619
  canBeCompleted(trigger: Trigger, isCompleted: boolean): void;
9560
9620
  private completedByTriggers;
9561
9621
  private get canBeCompletedByTrigger();
@@ -9804,21 +9864,18 @@ declare module "survey" {
9804
9864
  private runConditionsCore;
9805
9865
  private checkIfNewPagesBecomeVisible;
9806
9866
  /**
9807
- * Sends a survey result to the [api.surveyjs.io](https://api.surveyjs.io) service.
9808
- * @param postId [api.surveyjs.io](https://api.surveyjs.io) service postId
9809
- * @param clientId Typically a customer e-mail or an identifier
9810
- * @param isPartialCompleted Set it to `true` if the survey is not completed yet and the results are intermediate
9811
- * @see surveyPostId
9812
- * @see clientId
9867
+ * Posts a survey result to [SurveyJS Service](https://api.surveyjs.io/).
9868
+ * @param postId An identifier used to save survey results. You can find it on the [My Surveys](https://surveyjs.io/service/mysurveys) page. If you do not specify this parameter, the survey uses the [`surveyPostId`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#surveyPostId) property value.
9869
+ * @param clientId A respondent identifier (e-mail or other unique ID). This ID ensures that the respondent does not pass the same survey twice.
9870
+ * @param isPartial Pass `true` to save partial survey results (see [Continue an Incomplete Survey](https://surveyjs.io/form-library/documentation/handle-survey-results-continue-incomplete)).
9813
9871
  */
9814
- sendResult(postId?: string, clientId?: string, isPartialCompleted?: boolean): void;
9872
+ sendResult(postId?: string, clientId?: string, isPartial?: boolean): void;
9815
9873
  /**
9816
- * Calls the [api.surveyjs.io](https://api.surveyjs.io) service and, on callback, fires the `onGetResult` event with all answers that your users made for a question.
9817
- * @param resultId [api.surveyjs.io](https://api.surveyjs.io) service resultId
9818
- * @param name The question name
9819
- * @see onGetResult
9874
+ * Requests [SurveyJS Service](https://api.surveyjs.io/) to retrieve all answers to a specified question. Handle the [`onGetResult`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onGetResult) event to access the answers.
9875
+ * @param resultId A result ID that identifies the required survey. You can find it on the [My Surveys](https://surveyjs.io/service/mysurveys) page.
9876
+ * @param questionName A question name.
9820
9877
  */
9821
- getResult(resultId: string, name: string): void;
9878
+ getResult(resultId: string, questionName: string): void;
9822
9879
  /**
9823
9880
  * Loads the survey JSON from the [api.surveyjs.io](https://api.surveyjs.io) service.
9824
9881
  * If `clientId` is not `null` and a user had completed a survey before, the survey switches to `completedbefore` state.
@@ -10165,6 +10222,7 @@ declare module "survey" {
10165
10222
  addLayoutElement(layoutElement: ISurveyLayoutElement): ISurveyLayoutElement;
10166
10223
  removeLayoutElement(layoutElementId: string): ISurveyLayoutElement;
10167
10224
  getContainerContent(container: LayoutElementContainer): any[];
10225
+ processPopupVisiblityChanged(question: Question, popup: PopupModel<any>, visible: boolean): void;
10168
10226
  applyTheme(theme: ITheme): void;
10169
10227
  /**
10170
10228
  * Use this method to dispose survey model properly.
@@ -10633,6 +10691,7 @@ declare module "question" {
10633
10691
  import { ExpressionRunner } from "conditions";
10634
10692
  import { QuestionCustomWidget } from "questionCustomWidgets";
10635
10693
  import { SurveyError } from "survey-error";
10694
+ import { PopupModel } from "popup";
10636
10695
  export interface IConditionObject {
10637
10696
  name: string;
10638
10697
  text: string;
@@ -10713,6 +10772,7 @@ declare module "question" {
10713
10772
  set valueName(val: string);
10714
10773
  protected onValueNameChanged(oldValue: string): void;
10715
10774
  protected onNameChanged(oldValue: string): void;
10775
+ set isReady(val: boolean);
10716
10776
  get isReady(): boolean;
10717
10777
  get ariaRequired(): "true" | "false";
10718
10778
  get ariaInvalid(): "true" | "false";
@@ -11002,6 +11062,7 @@ declare module "question" {
11002
11062
  * @param onError Pass `true` if you want to focus an input field with the first validation error. Default value: `false` (focuses the first input field). Applies to question types with multiple input fields.
11003
11063
  */
11004
11064
  focus(onError?: boolean): void;
11065
+ private focuscore;
11005
11066
  private expandAllParents;
11006
11067
  focusIn(): void;
11007
11068
  protected fireCallback(callback: () => void): void;
@@ -11354,6 +11415,7 @@ declare module "question" {
11354
11415
  get validatedValue(): any;
11355
11416
  set validatedValue(val: any);
11356
11417
  getAllValues(): any;
11418
+ processPopupVisiblilityChanged(popupModel: PopupModel, visible: boolean): void;
11357
11419
  transformToMobileView(): void;
11358
11420
  transformToDesktopView(): void;
11359
11421
  needResponsiveWidth(): boolean;
@@ -11614,6 +11676,7 @@ declare module "question_matrixdropdownbase" {
11614
11676
  updateCellQuestionOnColumnChanged(column: MatrixDropdownColumn, name: string, newValue: any): void;
11615
11677
  updateCellQuestionOnColumnItemValueChanged(column: MatrixDropdownColumn, propertyName: string, obj: ItemValue, name: string, newValue: any, oldValue: any): void;
11616
11678
  onQuestionReadOnlyChanged(parentIsReadOnly: boolean): void;
11679
+ private validationValues;
11617
11680
  hasErrors(fireCallback: boolean, rec: any, raiseOnCompletedAsyncValidators: () => void): boolean;
11618
11681
  protected updateCellOnColumnChanged(cell: MatrixDropdownCell, name: string, newValue: any): void;
11619
11682
  updateCellOnColumnItemValueChanged(cell: MatrixDropdownCell, propertyName: string, obj: ItemValue, name: string, newValue: any, oldValue: any): void;
@@ -11977,6 +12040,7 @@ declare module "base-interfaces" {
11977
12040
  import { PanelModel } from "panel";
11978
12041
  import { QuestionPanelDynamicModel } from "question_paneldynamic";
11979
12042
  import { DragDropAllowEvent } from "survey-events-api";
12043
+ import { PopupModel } from "popup";
11980
12044
  export interface ISurveyData {
11981
12045
  getValue(name: string): any;
11982
12046
  setValue(name: string, newValue: any, locNotification: any, allowNotifyValueChanged?: boolean): any;
@@ -12114,6 +12178,7 @@ declare module "base-interfaces" {
12114
12178
  runExpression(expression: string): any;
12115
12179
  elementContentVisibilityChanged(element: ISurveyElement): void;
12116
12180
  onCorrectQuestionAnswer(question: IQuestion, options: any): void;
12181
+ processPopupVisiblityChanged(question: IQuestion, popupModel: PopupModel, visible: boolean): void;
12117
12182
  }
12118
12183
  export interface ISurveyImpl {
12119
12184
  getSurveyData(): ISurveyData;
@@ -12206,6 +12271,7 @@ declare module "base-interfaces" {
12206
12271
  indexOf(el: IElement): number;
12207
12272
  elements: Array<IElement>;
12208
12273
  ensureRowsVisibility(): void;
12274
+ validateContainerOnly(): void;
12209
12275
  }
12210
12276
  export interface IPage extends IPanel, IConditionRunner {
12211
12277
  isStartPage: boolean;
@@ -13722,6 +13788,7 @@ declare module "dragdrop/ranking-select-to-rank" {
13722
13788
  import { DragDropRankingChoices } from "dragdrop/ranking-choices";
13723
13789
  import { QuestionRankingModel } from "question_ranking";
13724
13790
  export class DragDropRankingSelectToRank extends DragDropRankingChoices {
13791
+ protected onStartDrag(event: PointerEvent): void;
13725
13792
  protected findDropTargetNodeByDragOverNode(dragOverNode: HTMLElement): HTMLElement;
13726
13793
  protected getDropTargetByDataAttributeValue(dataAttributeValue: string): ItemValue;
13727
13794
  protected getDropTargetByNode(dropTargetNode: HTMLElement, event: PointerEvent): any;
@@ -13781,6 +13848,8 @@ declare module "question_ranking" {
13781
13848
  handlePointerDown: (event: PointerEvent, choice: ItemValue, node: HTMLElement) => void;
13782
13849
  private isDragStartNodeValid;
13783
13850
  private get allowStartDrag();
13851
+ private canStartDragDueMaxSelectedChoices;
13852
+ checkMaxSelectedChoicesUnreached(): boolean;
13784
13853
  afterRenderQuestionElement(el: HTMLElement): void;
13785
13854
  beforeDestroyQuestionElement(el: HTMLElement): void;
13786
13855
  handleKeydown: (event: KeyboardEvent, choice: ItemValue) => void;
@@ -13825,8 +13894,8 @@ declare module "question_ranking" {
13825
13894
  */
13826
13895
  get selectToRankAreasLayout(): string;
13827
13896
  set selectToRankAreasLayout(val: string);
13828
- selectToRankFromContainerPlaceholder: string;
13829
- selectToRankToContainerPlaceholder: string;
13897
+ selectToRankEmptyRankedAreaText: string;
13898
+ selectToRankEmptyUnrankedAreaText: string;
13830
13899
  get useFullItemSizeForShortcut(): boolean;
13831
13900
  set useFullItemSizeForShortcut(val: boolean);
13832
13901
  }
@@ -14397,6 +14466,7 @@ declare module "question_signaturepad" {
14397
14466
  */
14398
14467
  export class QuestionSignaturePadModel extends Question {
14399
14468
  isDrawingValue: boolean;
14469
+ private getPenColorFromTheme;
14400
14470
  protected getCssRoot(cssClasses: any): string;
14401
14471
  protected updateValue(): void;
14402
14472
  constructor(name: string);
@@ -14410,11 +14480,12 @@ declare module "question_signaturepad" {
14410
14480
  *
14411
14481
  * Possible values:
14412
14482
  *
14413
- * - `""` (default) - PNG
14414
- * - `"image/jpeg"` - JPEG
14415
- * - `"image/svg+xml"` - SVG
14483
+ * - `"png"` (default)
14484
+ * - `"jpeg"`
14485
+ * - `"svg"`
14416
14486
  */
14417
- dataFormat: string;
14487
+ get dataFormat(): string;
14488
+ set dataFormat(val: string);
14418
14489
  /**
14419
14490
  * Specifies the width of the signature area. Accepts positive integer numbers.
14420
14491
  */
@@ -14457,10 +14528,21 @@ declare module "surveyToc" {
14457
14528
  import { Action } from "actions/action";
14458
14529
  import { ListModel } from "list";
14459
14530
  import { PageModel } from "page";
14531
+ import { PopupModel } from "popup";
14460
14532
  import { SurveyModel } from "survey";
14461
14533
  export function tryNavigateToPage(survey: SurveyModel, page: PageModel): boolean;
14462
- export function createTOCListModel(survey: SurveyModel): ListModel<Action>;
14463
- export function getTocRootCss(survey: SurveyModel): string;
14534
+ export function createTOCListModel(survey: SurveyModel, onAction?: () => void): ListModel<Action>;
14535
+ export function getTocRootCss(survey: SurveyModel, isMobile?: boolean): string;
14536
+ export class TOCModel {
14537
+ survey: SurveyModel;
14538
+ constructor(survey: SurveyModel);
14539
+ isMobile: boolean;
14540
+ get containerCss(): string;
14541
+ listModel: ListModel<Action>;
14542
+ popupModel: PopupModel;
14543
+ icon: string;
14544
+ togglePopup: () => void;
14545
+ }
14464
14546
  }
14465
14547
  declare module "surveyProgress" {
14466
14548
  export class SurveyProgressModel {
@@ -14561,6 +14643,8 @@ declare module "popup-survey" {
14561
14643
  private setCssButton;
14562
14644
  protected createSurvey(jsonObj: any): SurveyModel;
14563
14645
  protected onSurveyComplete(): void;
14646
+ private onScrollCallback;
14647
+ onScroll(): void;
14564
14648
  }
14565
14649
  /**
14566
14650
  * Obsolete. Please use PopupSurvey
@@ -14756,6 +14840,10 @@ declare module "question_custom" {
14756
14840
  * @see questionJSON
14757
14841
  */
14758
14842
  createQuestion?: any;
14843
+ valueToQuestion?: (val: any) => any;
14844
+ valueFromQuestion?: (val: any) => any;
14845
+ getValue?: (val: any) => any;
14846
+ setValue?: (val: any) => any;
14759
14847
  }
14760
14848
  export class ComponentQuestionJSON {
14761
14849
  name: string;
@@ -14772,6 +14860,8 @@ declare module "question_custom" {
14772
14860
  onValueChanging(question: Question, name: string, newValue: any): any;
14773
14861
  onItemValuePropertyChanged(question: Question, item: ItemValue, propertyName: string, name: string, newValue: any): void;
14774
14862
  getDisplayValue(keyAsText: boolean, value: any, question: Question): any;
14863
+ setValueToQuestion(val: any): any;
14864
+ getValueFromQuestion(val: any): any;
14775
14865
  get isComposite(): boolean;
14776
14866
  }
14777
14867
  export class ComponentCollection {
@@ -14833,6 +14923,7 @@ declare module "question_custom" {
14833
14923
  get elements(): Array<IElement>;
14834
14924
  indexOf(el: IElement): number;
14835
14925
  ensureRowsVisibility(): void;
14926
+ validateContainerOnly(): void;
14836
14927
  protected getContentDisplayValueCore(keyAsText: boolean, value: any, question: Question): any;
14837
14928
  }
14838
14929
  export class QuestionCustomModel extends QuestionCustomModelBase {
@@ -14852,6 +14943,8 @@ declare module "question_custom" {
14852
14943
  runCondition(values: HashTable<any>, properties: HashTable<any>): void;
14853
14944
  protected convertDataName(name: string): string;
14854
14945
  protected convertDataValue(name: string, newValue: any): any;
14946
+ protected getContentQuestionValue(): any;
14947
+ protected setContentQuestionValue(val: any): void;
14855
14948
  protected canSetValueToSurvey(): boolean;
14856
14949
  protected setQuestionValue(newValue: any, updateIsAnswered?: boolean): void;
14857
14950
  onSurveyValueChanged(newValue: any): void;
@@ -14889,6 +14982,8 @@ declare module "question_custom" {
14889
14982
  private settingNewValue;
14890
14983
  setValue(name: string, newValue: any, locNotification: any, allowNotifyValueChanged?: boolean): any;
14891
14984
  private updateValueCoreWithPanelValue;
14985
+ private getContentPanelValue;
14986
+ private getValueForContentPanel;
14892
14987
  private setNewValueIntoQuestion;
14893
14988
  addConditionObjectsByContext(objects: Array<IConditionObject>, context: any): void;
14894
14989
  protected convertDataValue(name: string, newValue: any): any;
@@ -14906,6 +15001,7 @@ declare module "popup-view-model" {
14906
15001
  export const FOCUS_INPUT_SELECTOR = "input:not(:disabled):not([readonly]):not([type=hidden]),select:not(:disabled):not([readonly]),textarea:not(:disabled):not([readonly]), button:not(:disabled):not([readonly]), [tabindex]:not([tabindex^=\"-\"])";
14907
15002
  export class PopupBaseViewModel extends Base {
14908
15003
  protected popupSelector: string;
15004
+ protected fixedPopupContainer: string;
14909
15005
  protected containerSelector: string;
14910
15006
  protected scrollingContentSelector: string;
14911
15007
  protected prevActiveElement: HTMLElement;
@@ -21919,6 +22015,7 @@ declare module "react/dropdown-base" {
21919
22015
  renderValueElement(dropdownListModel: DropdownListModel): JSX.Element | null;
21920
22016
  protected renderInput(dropdownListModel: DropdownListModel): JSX.Element;
21921
22017
  createClearButton(): JSX.Element | null;
22018
+ createChevronButton(): JSX.Element | null;
21922
22019
  protected renderOther(cssClasses: any): JSX.Element;
21923
22020
  componentDidUpdate(prevProps: any, prevState: any): void;
21924
22021
  componentDidMount(): void;