survey-core 1.9.105 → 1.9.107

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.
Files changed (167) hide show
  1. package/defaultV2.css +363 -94
  2. package/defaultV2.css.map +1 -1
  3. package/defaultV2.fontless.css +363 -94
  4. package/defaultV2.fontless.css.map +1 -1
  5. package/defaultV2.fontless.min.css +2 -2
  6. package/defaultV2.min.css +2 -2
  7. package/modern.css +8 -1
  8. package/modern.css.map +1 -1
  9. package/modern.fontless.css +8 -1
  10. package/modern.fontless.css.map +1 -1
  11. package/modern.fontless.min.css +2 -2
  12. package/modern.min.css +2 -2
  13. package/package.json +1 -1
  14. package/plugins/bootstrap-integration.js +1 -1
  15. package/plugins/bootstrap-integration.min.js +1 -1
  16. package/plugins/bootstrap-material-integration.js +1 -1
  17. package/plugins/bootstrap-material-integration.min.js +1 -1
  18. package/survey.core.js +762 -325
  19. package/survey.core.js.map +1 -1
  20. package/survey.core.min.js +3 -3
  21. package/survey.css +1 -1
  22. package/survey.css.map +1 -1
  23. package/survey.i18n.js +3 -3
  24. package/survey.i18n.js.map +1 -1
  25. package/survey.i18n.min.js +2 -2
  26. package/survey.min.css +1 -1
  27. package/themes/borderless-dark-panelless.js +1 -1
  28. package/themes/borderless-dark-panelless.min.js +1 -1
  29. package/themes/borderless-dark.js +1 -1
  30. package/themes/borderless-dark.min.js +1 -1
  31. package/themes/borderless-light-panelless..js +1 -1
  32. package/themes/borderless-light-panelless..min.js +1 -1
  33. package/themes/borderless-light.js +1 -1
  34. package/themes/borderless-light.min.js +1 -1
  35. package/themes/contrast-dark-panelless.js +1 -1
  36. package/themes/contrast-dark-panelless.min.js +1 -1
  37. package/themes/contrast-dark.js +1 -1
  38. package/themes/contrast-dark.min.js +1 -1
  39. package/themes/contrast-light-panelless.js +1 -1
  40. package/themes/contrast-light-panelless.min.js +1 -1
  41. package/themes/contrast-light.js +1 -1
  42. package/themes/contrast-light.min.js +1 -1
  43. package/themes/default-dark-panelless.js +1 -1
  44. package/themes/default-dark-panelless.min.js +1 -1
  45. package/themes/default-dark.js +1 -1
  46. package/themes/default-dark.min.js +1 -1
  47. package/themes/default-light-panelless.js +1 -1
  48. package/themes/default-light-panelless.min.js +1 -1
  49. package/themes/default-light.js +1 -1
  50. package/themes/default-light.min.js +1 -1
  51. package/themes/doubleborder-dark-panelless.js +1 -1
  52. package/themes/doubleborder-dark-panelless.min.js +1 -1
  53. package/themes/doubleborder-dark.js +1 -1
  54. package/themes/doubleborder-dark.min.js +1 -1
  55. package/themes/doubleborder-light-panelles.js +1 -1
  56. package/themes/doubleborder-light-panelles.min.js +1 -1
  57. package/themes/doubleborder-light.js +1 -1
  58. package/themes/doubleborder-light.min.js +1 -1
  59. package/themes/flat-dark-panelless.js +1 -1
  60. package/themes/flat-dark-panelless.min.js +1 -1
  61. package/themes/flat-dark.js +1 -1
  62. package/themes/flat-dark.min.js +1 -1
  63. package/themes/flat-light-panelless.js +1 -1
  64. package/themes/flat-light-panelless.min.js +1 -1
  65. package/themes/flat-light.js +1 -1
  66. package/themes/flat-light.min.js +1 -1
  67. package/themes/index.js +1 -1
  68. package/themes/index.min.js +1 -1
  69. package/themes/layered-dark-panelless.js +1 -1
  70. package/themes/layered-dark-panelless.min.js +1 -1
  71. package/themes/layered-dark.js +1 -1
  72. package/themes/layered-dark.min.js +1 -1
  73. package/themes/layered-light-panelless.js +1 -1
  74. package/themes/layered-light-panelless.min.js +1 -1
  75. package/themes/layered-light.js +1 -1
  76. package/themes/layered-light.min.js +1 -1
  77. package/themes/plain-dark-panelless.js +1 -1
  78. package/themes/plain-dark-panelless.min.js +1 -1
  79. package/themes/plain-dark.js +1 -1
  80. package/themes/plain-dark.min.js +1 -1
  81. package/themes/plain-light-panelless.js +1 -1
  82. package/themes/plain-light-panelless.min.js +1 -1
  83. package/themes/plain-light.js +1 -1
  84. package/themes/plain-light.min.js +1 -1
  85. package/themes/sharp-dark-panelless.js +1 -1
  86. package/themes/sharp-dark-panelless.min.js +1 -1
  87. package/themes/sharp-dark.js +1 -1
  88. package/themes/sharp-dark.min.js +1 -1
  89. package/themes/sharp-light-panelless.js +1 -1
  90. package/themes/sharp-light-panelless.min.js +1 -1
  91. package/themes/sharp-light.js +1 -1
  92. package/themes/sharp-light.min.js +1 -1
  93. package/themes/solid-dark-panelless.js +1 -1
  94. package/themes/solid-dark-panelless.min.js +1 -1
  95. package/themes/solid-dark.js +1 -1
  96. package/themes/solid-dark.min.js +1 -1
  97. package/themes/solid-light-panelless.js +1 -1
  98. package/themes/solid-light-panelless.min.js +1 -1
  99. package/themes/solid-light.js +1 -1
  100. package/themes/solid-light.min.js +1 -1
  101. package/themes/three-dimensional-dark-panelless.js +1 -1
  102. package/themes/three-dimensional-dark-panelless.min.js +1 -1
  103. package/themes/three-dimensional-dark.js +1 -1
  104. package/themes/three-dimensional-dark.min.js +1 -1
  105. package/themes/three-dimensional-light-panelless.js +1 -1
  106. package/themes/three-dimensional-light-panelless.min.js +1 -1
  107. package/themes/three-dimensional-light.js +1 -1
  108. package/themes/three-dimensional-light.min.js +1 -1
  109. package/ts3.4/typings/actions/action.d.ts +1 -0
  110. package/ts3.4/typings/actions/adaptive-container.d.ts +1 -0
  111. package/ts3.4/typings/actions/container.d.ts +1 -0
  112. package/ts3.4/typings/base-interfaces.d.ts +6 -1
  113. package/ts3.4/typings/base.d.ts +3 -0
  114. package/ts3.4/typings/defaultCss/defaultV2Css.d.ts +6 -0
  115. package/ts3.4/typings/dragdrop/dom-adapter.d.ts +1 -0
  116. package/ts3.4/typings/dropdownListModel.d.ts +1 -0
  117. package/ts3.4/typings/dropdownMultiSelectListModel.d.ts +1 -0
  118. package/ts3.4/typings/entries/chunks/model.d.ts +1 -1
  119. package/ts3.4/typings/entries/core-wo-model.d.ts +0 -1
  120. package/ts3.4/typings/localizablestring.d.ts +6 -1
  121. package/ts3.4/typings/popup-dropdown-view-model.d.ts +4 -0
  122. package/ts3.4/typings/popup-survey.d.ts +0 -1
  123. package/ts3.4/typings/popup-view-model.d.ts +3 -0
  124. package/ts3.4/typings/popup.d.ts +3 -1
  125. package/ts3.4/typings/question.d.ts +4 -2
  126. package/ts3.4/typings/question_baseselect.d.ts +1 -2
  127. package/ts3.4/typings/question_checkbox.d.ts +3 -0
  128. package/ts3.4/typings/question_file.d.ts +7 -3
  129. package/ts3.4/typings/question_matrixdropdownbase.d.ts +4 -3
  130. package/ts3.4/typings/question_matrixdropdowncolumn.d.ts +4 -2
  131. package/ts3.4/typings/question_multipletext.d.ts +25 -3
  132. package/ts3.4/typings/question_ranking.d.ts +1 -0
  133. package/ts3.4/typings/question_tagbox.d.ts +3 -1
  134. package/ts3.4/typings/survey-element.d.ts +1 -4
  135. package/ts3.4/typings/survey-events-api.d.ts +16 -2
  136. package/ts3.4/typings/survey.d.ts +110 -55
  137. package/ts3.4/typings/utils/popup.d.ts +4 -1
  138. package/typings/actions/action.d.ts +1 -0
  139. package/typings/actions/adaptive-container.d.ts +1 -0
  140. package/typings/actions/container.d.ts +1 -0
  141. package/typings/base-interfaces.d.ts +6 -1
  142. package/typings/base.d.ts +3 -0
  143. package/typings/defaultCss/defaultV2Css.d.ts +6 -0
  144. package/typings/dragdrop/dom-adapter.d.ts +1 -0
  145. package/typings/dropdownListModel.d.ts +1 -0
  146. package/typings/dropdownMultiSelectListModel.d.ts +1 -0
  147. package/typings/entries/chunks/model.d.ts +1 -1
  148. package/typings/entries/core-wo-model.d.ts +0 -1
  149. package/typings/localizablestring.d.ts +8 -2
  150. package/typings/popup-dropdown-view-model.d.ts +4 -0
  151. package/typings/popup-survey.d.ts +0 -1
  152. package/typings/popup-view-model.d.ts +3 -0
  153. package/typings/popup.d.ts +3 -1
  154. package/typings/question.d.ts +4 -2
  155. package/typings/question_baseselect.d.ts +1 -2
  156. package/typings/question_checkbox.d.ts +3 -0
  157. package/typings/question_file.d.ts +7 -3
  158. package/typings/question_matrixdropdownbase.d.ts +4 -3
  159. package/typings/question_matrixdropdowncolumn.d.ts +5 -2
  160. package/typings/question_multipletext.d.ts +25 -3
  161. package/typings/question_ranking.d.ts +1 -0
  162. package/typings/question_tagbox.d.ts +3 -1
  163. package/typings/survey-element.d.ts +1 -4
  164. package/typings/survey-events-api.d.ts +16 -2
  165. package/typings/survey.d.ts +110 -55
  166. package/typings/utils/popup.d.ts +4 -1
  167. package/typings/utils/tooltip.d.ts +7 -7
@@ -92,8 +92,11 @@ export declare class QuestionCheckboxModel extends QuestionCheckboxBase {
92
92
  */
93
93
  get selectedChoices(): Array<ItemValue>;
94
94
  get selectedItems(): Array<ItemValue>;
95
+ get hasFilteredValue(): boolean;
96
+ getFilteredValue(): any;
95
97
  protected getMultipleSelectedItems(): Array<ItemValue>;
96
98
  protected validateItemValues(itemValues: Array<ItemValue>): Array<ItemValue>;
99
+ protected getAnswerCorrectIgnoreOrder(): boolean;
97
100
  protected onCheckForErrors(errors: Array<SurveyError>, isOnValueChanged: boolean): void;
98
101
  protected onEnableItemCallBack(item: ItemValue): boolean;
99
102
  protected onAfterRunItemsEnableCondition(): void;
@@ -10,7 +10,7 @@ import { Action } from "./actions/action";
10
10
  * [View Demo](https://surveyjs.io/form-library/examples/file-upload/ (linkStyle))
11
11
  */
12
12
  export declare class QuestionFileModel extends Question {
13
- private isUploading;
13
+ isUploading: boolean;
14
14
  isDragging: boolean;
15
15
  /**
16
16
  * An event that is raised after the upload state has changed.
@@ -128,8 +128,12 @@ export declare class QuestionFileModel extends Question {
128
128
  clear(doneCallback?: () => void): void;
129
129
  get renderCapture(): string;
130
130
  get multipleRendered(): string;
131
- get showRemoveButton(): any;
132
- get showRemoveButtonBottom(): any;
131
+ get showChooseButton(): boolean;
132
+ get showLoadingIndicator(): boolean;
133
+ get allowShowPreview(): boolean;
134
+ get showRemoveButtonCore(): boolean;
135
+ get showRemoveButton(): boolean;
136
+ get showRemoveButtonBottom(): boolean;
133
137
  defaultImage(data: any): boolean;
134
138
  /**
135
139
  * Removes a file with a specified name.
@@ -7,7 +7,7 @@ import { ItemValue } from "./itemvalue";
7
7
  import { ILocalizableOwner, LocalizableString } from "./localizablestring";
8
8
  import { PanelModel } from "./panel";
9
9
  import { SurveyError } from "./survey-error";
10
- import { MatrixDropdownColumn } from "./question_matrixdropdowncolumn";
10
+ import { IMatrixColumnOwner, MatrixDropdownColumn } from "./question_matrixdropdowncolumn";
11
11
  import { QuestionMatrixDropdownRenderedCell, QuestionMatrixDropdownRenderedRow, QuestionMatrixDropdownRenderedTable } from "./question_matrixdropdownrendered";
12
12
  export interface IMatrixDropdownData {
13
13
  value: any;
@@ -154,7 +154,7 @@ export declare class MatrixDropdownTotalRowModel extends MatrixDropdownRowModelB
154
154
  /**
155
155
  * A base class for the [QuestionMatrixDropdownModel](https://surveyjs.io/form-library/documentation/questionmatrixdropdownmodel) and [QuestionMatrixDynamicModel](https://surveyjs.io/form-library/documentation/questionmatrixdynamicmodel) classes.
156
156
  */
157
- export declare class QuestionMatrixDropdownModelBase extends QuestionMatrixBaseModel<MatrixDropdownRowModelBase, MatrixDropdownColumn> implements IMatrixDropdownData {
157
+ export declare class QuestionMatrixDropdownModelBase extends QuestionMatrixBaseModel<MatrixDropdownRowModelBase, MatrixDropdownColumn> implements IMatrixDropdownData, IMatrixColumnOwner {
158
158
  static get defaultCellType(): string;
159
159
  static set defaultCellType(val: string);
160
160
  static addDefaultColumns(matrix: QuestionMatrixDropdownModelBase): void;
@@ -329,7 +329,9 @@ export declare class QuestionMatrixDropdownModelBase extends QuestionMatrixBaseM
329
329
  onColumnPropertyChanged(column: MatrixDropdownColumn, name: string, newValue: any): void;
330
330
  onColumnItemValuePropertyChanged(column: MatrixDropdownColumn, propertyName: string, obj: ItemValue, name: string, newValue: any, oldValue: any): void;
331
331
  onShowInMultipleColumnsChanged(column: MatrixDropdownColumn): void;
332
+ onColumnVisibilityChanged(column: MatrixDropdownColumn): void;
332
333
  onColumnCellTypeChanged(column: MatrixDropdownColumn): void;
334
+ private resetTableAndRows;
333
335
  getRowTitleWidth(): string;
334
336
  get hasFooter(): boolean;
335
337
  getAddRowLocation(): string;
@@ -499,5 +501,4 @@ export declare class QuestionMatrixDropdownModelBase extends QuestionMatrixBaseM
499
501
  getRowHeaderWrapperComponentData(cell: MatrixDropdownCell): any;
500
502
  get showHorizontalScroll(): boolean;
501
503
  getRootCss(): string;
502
- protected getIsTooltipErrorInsideSupported(): boolean;
503
504
  }
@@ -11,6 +11,7 @@ export interface IMatrixColumnOwner extends ILocalizableOwner {
11
11
  onColumnPropertyChanged(column: MatrixDropdownColumn, name: string, newValue: any): void;
12
12
  onColumnItemValuePropertyChanged(column: MatrixDropdownColumn, propertyName: string, obj: ItemValue, name: string, newValue: any, oldValue: any): void;
13
13
  onShowInMultipleColumnsChanged(column: MatrixDropdownColumn): void;
14
+ onColumnVisibilityChanged(column: MatrixDropdownColumn): void;
14
15
  getCellType(): string;
15
16
  getCustomCellType(column: MatrixDropdownColumn, row: MatrixDropdownRowModelBase, cellType: string): string;
16
17
  onColumnCellTypeChanged(column: MatrixDropdownColumn): void;
@@ -21,7 +22,6 @@ export declare class MatrixDropdownColumn extends Base implements ILocalizableOw
21
22
  private templateQuestionValue;
22
23
  private colOwnerValue;
23
24
  private indexValue;
24
- private _isVisible;
25
25
  private _hasVisibleCell;
26
26
  private _visiblechoices;
27
27
  constructor(name: string, title?: string);
@@ -43,7 +43,9 @@ export declare class MatrixDropdownColumn extends Base implements ILocalizableOw
43
43
  get templateQuestion(): Question;
44
44
  get value(): string;
45
45
  get isVisible(): boolean;
46
- setIsVisible(newVal: boolean): void;
46
+ get isColumnVisible(): boolean;
47
+ get visible(): boolean;
48
+ set visible(val: boolean);
47
49
  get hasVisibleCell(): boolean;
48
50
  set hasVisibleCell(newVal: boolean);
49
51
  getVisibleMultipleChoices(): Array<ItemValue>;
@@ -130,6 +132,7 @@ export declare class MatrixDropdownColumn extends Base implements ILocalizableOw
130
132
  protected propertyValueChanged(name: string, oldValue: any, newValue: any): void;
131
133
  private doItemValuePropertyChanged;
132
134
  private doShowInMultipleColumnsChanged;
135
+ private doColumnVisibilityChanged;
133
136
  private getProperties;
134
137
  private removeProperties;
135
138
  private addProperties;
@@ -43,7 +43,7 @@ export declare class MultipleTextItemModel extends Base implements IValidatorOwn
43
43
  localeChanged(): void;
44
44
  locStrsChanged(): void;
45
45
  setData(data: IMultipleTextData): void;
46
- focusIn(): void;
46
+ focusIn: () => void;
47
47
  /**
48
48
  * Set this property to true, to make the item a required. If a user doesn't fill the item then a validation error will be generated.
49
49
  */
@@ -129,7 +129,6 @@ export declare class MultipleTextItemModel extends Base implements IValidatorOwn
129
129
  */
130
130
  export declare class QuestionMultipleTextModel extends Question implements IMultipleTextData, IPanel {
131
131
  static addDefaultItems(question: QuestionMultipleTextModel): void;
132
- colCountChangedCallback: () => void;
133
132
  constructor(name: string);
134
133
  getType(): string;
135
134
  setSurveyImpl(value: ISurveyImpl, isLight?: boolean): void;
@@ -186,6 +185,8 @@ export declare class QuestionMultipleTextModel extends Question implements IMult
186
185
  get itemErrorLocation(): string;
187
186
  set itemErrorLocation(val: string);
188
187
  getQuestionErrorLocation(): string;
188
+ get showItemErrorOnTop(): boolean;
189
+ get showItemErrorOnBottom(): boolean;
189
190
  getChildErrorLocation(child: Question): string;
190
191
  protected isNewValueCorrect(val: any): boolean;
191
192
  supportGoNextPageAutomatic(): boolean;
@@ -201,6 +202,9 @@ export declare class QuestionMultipleTextModel extends Question implements IMult
201
202
  */
202
203
  get itemSize(): number;
203
204
  set itemSize(val: number);
205
+ rows: Array<MutlipleTextRow>;
206
+ protected onRowCreated(row: MutlipleTextRow): MutlipleTextRow;
207
+ private calcVisibleRows;
204
208
  getRows(): Array<any>;
205
209
  private isMultipleItemValueChanging;
206
210
  protected onValueChanged(): void;
@@ -233,5 +237,23 @@ export declare class QuestionMultipleTextModel extends Question implements IMult
233
237
  getItemLabelCss(item: MultipleTextItemModel): string;
234
238
  getItemCss(): string;
235
239
  getItemTitleCss(): string;
236
- protected getIsTooltipErrorInsideSupported(): boolean;
240
+ }
241
+ export declare class MutlipleTextRow extends Base {
242
+ isVisible: boolean;
243
+ cells: Array<MultipleTextCell>;
244
+ }
245
+ export declare class MutlipleTextErrorRow extends MutlipleTextRow {
246
+ onAfterCreated(): void;
247
+ }
248
+ export declare class MultipleTextCell {
249
+ item: MultipleTextItemModel;
250
+ protected question: QuestionMultipleTextModel;
251
+ constructor(item: MultipleTextItemModel, question: QuestionMultipleTextModel);
252
+ isErrorsCell: boolean;
253
+ protected getClassName(): string;
254
+ get className(): string;
255
+ }
256
+ export declare class MultipleTextErrorCell extends MultipleTextCell {
257
+ isErrorsCell: boolean;
258
+ protected getClassName(): string;
237
259
  }
@@ -42,6 +42,7 @@ export declare class QuestionRankingModel extends QuestionCheckboxModel {
42
42
  private isDragStartNodeValid;
43
43
  private get allowStartDrag();
44
44
  private canStartDragDueMaxSelectedChoices;
45
+ private canStartDragDueItemEnabled;
45
46
  checkMaxSelectedChoicesUnreached(): boolean;
46
47
  afterRenderQuestionElement(el: HTMLElement): void;
47
48
  beforeDestroyQuestionElement(el: HTMLElement): void;
@@ -13,8 +13,10 @@ export declare class QuestionTagboxModel extends QuestionCheckboxModel {
13
13
  dropdownListModel: DropdownMultiSelectListModel;
14
14
  private itemDisplayNameMap;
15
15
  constructor(name: string);
16
+ locStrsChanged(): void;
17
+ readOnlyText: string;
18
+ private updateReadOnlyText;
16
19
  protected getDefaultItemComponent(): string;
17
- get readOnlyText(): any;
18
20
  onSurveyLoad(): void;
19
21
  /**
20
22
  * Specifies whether to display a button that clears the selected value.
@@ -319,10 +319,6 @@ export declare class SurveyElement<E = any> extends SurveyElementCore implements
319
319
  protected setPage(parent: IPanel, newPage: IPage): void;
320
320
  protected getSearchableLocKeys(keys: Array<string>): void;
321
321
  get isDefaultV2Theme(): boolean;
322
- get isErrorsModeTooltip(): boolean;
323
- protected getIsErrorsModeTooltip(): boolean;
324
- protected getIsTooltipErrorSupportedByParent(): boolean;
325
- protected getIsTooltipErrorInsideSupported(): boolean;
326
322
  get hasParent(): any;
327
323
  isSingleInRow: boolean;
328
324
  private shouldAddRunnerStyles;
@@ -397,4 +393,5 @@ export declare class SurveyElement<E = any> extends SurveyElementCore implements
397
393
  protected getAdditionalTitleToolbar(): ActionContainer | null;
398
394
  protected getCssTitle(cssClasses: any): string;
399
395
  localeChanged(): void;
396
+ dispose(): void;
400
397
  }
@@ -1,6 +1,6 @@
1
1
  import { IAction } from "./actions/action";
2
2
  import { Base } from "./base";
3
- import { IElement, ISurveyElement } from "./base-interfaces";
3
+ import { IElement, ISurveyElement, IValueItemCustomPropValues } from "./base-interfaces";
4
4
  import { ItemValue } from "./itemvalue";
5
5
  import { PageModel } from "./page";
6
6
  import { PanelModel, PanelModelBase } from "./panel";
@@ -636,7 +636,7 @@ export interface GetChoiceDisplayValueEvent extends QuestionEventMixin {
636
636
  /**
637
637
  * A method that you should call to assign display texts to the question.
638
638
  */
639
- setItems: (displayValues: Array<string>) => void;
639
+ setItems: (displayValues: Array<string>, ...customValues: Array<IValueItemCustomPropValues>) => void;
640
640
  /**
641
641
  * An array of one (in Dropdown) or more (in Tag Box) default values.
642
642
  */
@@ -831,6 +831,20 @@ export interface DynamicPanelItemValueChangedEvent extends PanelDynamicQuestionE
831
831
  */
832
832
  panel: PanelModel;
833
833
  }
834
+ export interface DynamicPanelGetTabTitleEvent extends PanelDynamicQuestionEventMixin {
835
+ /**
836
+ * A panel whose tab title is being rendered.
837
+ */
838
+ panel: PanelModel;
839
+ /**
840
+ * The panel's index in the [`visiblePanels`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#visiblePanels) array of the Dynamic Panel.
841
+ */
842
+ visiblePanelIndex: number;
843
+ /**
844
+ * A tab title. You can change this parameter's value.
845
+ */
846
+ title: string;
847
+ }
834
848
  export interface IsAnswerCorrectEvent extends QuestionEventMixin {
835
849
  /**
836
850
  * you may change the default number of correct or incorrect answers in the question, for example for matrix, where each row is a quiz question
@@ -1,6 +1,6 @@
1
1
  import { JsonError } from "./jsonobject";
2
2
  import { Base, EventBase } from "./base";
3
- import { ISurvey, ISurveyData, ISurveyImpl, ITextProcessor, IQuestion, IPanel, IElement, IPage, ISurveyErrorOwner, ISurveyElement, IProgressInfo, IFindElement, ISurveyLayoutElement, IPlainDataOptions, LayoutElementContainer } from "./base-interfaces";
3
+ import { ISurvey, ISurveyData, ISurveyImpl, ITextProcessor, IQuestion, IPanel, IElement, IPage, ISurveyErrorOwner, ISurveyElement, IProgressInfo, IFindElement, ISurveyLayoutElement, IPlainDataOptions, LayoutElementContainer, IValueItemCustomPropValues } from "./base-interfaces";
4
4
  import { SurveyElementCore } from "./survey-element";
5
5
  import { ISurveyTriggerOwner, SurveyTrigger, Trigger } from "./trigger";
6
6
  import { CalculatedValue } from "./calculatedValue";
@@ -18,7 +18,7 @@ import { IAction, Action } from "./actions/action";
18
18
  import { ActionContainer } from "./actions/container";
19
19
  import { QuestionPanelDynamicModel } from "./question_paneldynamic";
20
20
  import { Notifier } from "./notifier";
21
- 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";
21
+ import { TriggerExecutedEvent, CompletingEvent, CompleteEvent, ShowingPreviewEvent, NavigateToUrlEvent, CurrentPageChangingEvent, CurrentPageChangedEvent, ValueChangingEvent, ValueChangedEvent, VariableChangedEvent, QuestionVisibleChangedEvent, PageVisibleChangedEvent, PanelVisibleChangedEvent, QuestionCreatedEvent, QuestionAddedEvent, QuestionRemovedEvent, PanelAddedEvent, PanelRemovedEvent, PageAddedEvent, ValidateQuestionEvent, SettingQuestionErrorsEvent, ValidatePanelEvent, ErrorCustomTextEvent, ValidatedErrorsOnCurrentPageEvent, ProcessHtmlEvent, GetQuestionTitleEvent, GetTitleTagNameEvent, GetQuestionNoEvent, ProgressTextEvent, TextMarkdownEvent, TextRenderAsEvent, SendResultEvent, GetResultEvent, UploadFilesEvent, DownloadFileEvent, ClearFilesEvent, LoadChoicesFromServerEvent, ProcessTextValueEvent, UpdateQuestionCssClassesEvent, UpdatePanelCssClassesEvent, UpdatePageCssClassesEvent, UpdateChoiceItemCssEvent, AfterRenderSurveyEvent, AfterRenderHeaderEvent, AfterRenderPageEvent, AfterRenderQuestionEvent, AfterRenderQuestionInputEvent, AfterRenderPanelEvent, FocusInQuestionEvent, FocusInPanelEvent, ShowingChoiceItemEvent, ChoicesLazyLoadEvent, GetChoiceDisplayValueEvent, MatrixRowAddedEvent, MatrixBeforeRowAddedEvent, MatrixRowRemovingEvent, MatrixRowRemovedEvent, MatrixAllowRemoveRowEvent, MatrixCellCreatingEvent, MatrixCellCreatedEvent, MatrixAfterCellRenderEvent, MatrixCellValueChangedEvent, MatrixCellValueChangingEvent, MatrixCellValidateEvent, DynamicPanelModifiedEvent, DynamicPanelRemovingEvent, TimerPanelInfoTextEvent, DynamicPanelItemValueChangedEvent, DynamicPanelGetTabTitleEvent, IsAnswerCorrectEvent, DragDropAllowEvent, ScrollingElementToTopEvent, GetQuestionTitleActionsEvent, GetPanelTitleActionsEvent, GetPageTitleActionsEvent, GetPanelFooterActionsEvent, GetMatrixRowActionsEvent, ElementContentVisibilityChangedEvent, GetExpressionDisplayValueEvent, ServerValidateQuestionsEvent, MultipleTextItemAddedEvent, MatrixColumnAddedEvent, GetQuestionDisplayValueEvent, PopupVisibleChangedEvent } from "./survey-events-api";
22
22
  import { QuestionMatrixDropdownModelBase } from "./question_matrixdropdownbase";
23
23
  import { QuestionMatrixDynamicModel } from "./question_matrixdynamic";
24
24
  import { QuestionFileModel } from "./question_file";
@@ -116,7 +116,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
116
116
  *
117
117
  * For information on event handler parameters, refer to descriptions within the interface.
118
118
  *
119
- * [Continue an Incomplete Survey](https://surveyjs.io/form-library/documentation/handle-survey-results-continue-incomplete (linkStyle))
119
+ * Alternatively, you can handle the [`onCurrentPageChanged`](#onCurrentPageChanged) and [`onValueChanged`](#onValueChanged) events, as shown in the following demo: [Continue an Incomplete Survey](https://surveyjs.io/form-library/examples/survey-editprevious/).
120
120
  */
121
121
  onPartialSend: EventBase<SurveyModel, {}>;
122
122
  /**
@@ -141,7 +141,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
141
141
  */
142
142
  onValueChanging: EventBase<SurveyModel, ValueChangingEvent>;
143
143
  /**
144
- * An event that is raised after a question value is changed
144
+ * An event that is raised after a question value is changed.
145
145
  *
146
146
  * For information on event handler parameters, refer to descriptions within the interface.
147
147
  *
@@ -629,6 +629,10 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
629
629
  * An event that is raised after an item value is changed in a panel within a [Dynamic Panel](https://surveyjs.io/form-library/examples/questiontype-paneldynamic/) question.
630
630
  */
631
631
  onDynamicPanelItemValueChanged: EventBase<SurveyModel, DynamicPanelItemValueChangedEvent>;
632
+ /**
633
+ * An event that is raised before a [Dynamic Panel](https://surveyjs.io/form-library/examples/questiontype-paneldynamic/) renders [tab titles](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#templateTabTitle). Use this event to change individual tab titles.
634
+ */
635
+ onGetDynamicPanelTabTitle: EventBase<SurveyModel, DynamicPanelGetTabTitleEvent>;
632
636
  /**
633
637
  * Use this event to define, whether an answer to a question is correct or not.
634
638
  * @see Question.value
@@ -736,7 +740,10 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
736
740
  get bodyCss(): string;
737
741
  get bodyContainerCss(): string;
738
742
  completedCss: string;
743
+ completedBeforeCss: string;
744
+ loadingBodyCss: string;
739
745
  containerCss: string;
746
+ fitToContainer: boolean;
740
747
  private getNavigationCss;
741
748
  private lazyRenderingValue;
742
749
  showBrandInfo: boolean;
@@ -803,7 +810,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
803
810
  /**
804
811
  * 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.
805
812
  *
806
- * [Continue an Incomplete Survey](https://surveyjs.io/form-library/documentation/handle-survey-results-continue-incomplete (linkStyle))
813
+ * Alternatively, you can handle the [`onCurrentPageChanged`](#onCurrentPageChanged) and [`onValueChanged`](#onValueChanged) events, as shown in the following demo: [Continue an Incomplete Survey](https://surveyjs.io/form-library/examples/survey-editprevious/).
807
814
  */
808
815
  get sendResultOnPageNext(): boolean;
809
816
  set sendResultOnPageNext(val: boolean);
@@ -1398,7 +1405,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
1398
1405
  get isShowProgressBarOnTop(): boolean;
1399
1406
  get isShowProgressBarOnBottom(): boolean;
1400
1407
  getProgressTypeComponent(): string;
1401
- getProgressCssClasses(): string;
1408
+ getProgressCssClasses(container?: string): string;
1402
1409
  private canShowProresBar;
1403
1410
  get processedTitle(): string;
1404
1411
  /**
@@ -2035,7 +2042,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
2035
2042
  getChoiceDisplayValue(options: {
2036
2043
  question: Question;
2037
2044
  values: Array<any>;
2038
- setItems: (displayValues: Array<string>) => void;
2045
+ setItems: (displayValues: Array<string>, ...customValues: Array<IValueItemCustomPropValues>) => void;
2039
2046
  }): void;
2040
2047
  matrixBeforeRowAdded(options: any): void;
2041
2048
  matrixRowAdded(question: QuestionMatrixDynamicModel, row: any): void;
@@ -2058,6 +2065,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
2058
2065
  dynamicPanelRemoved(question: QuestionPanelDynamicModel, panelIndex: number, panel: PanelModel): void;
2059
2066
  dynamicPanelRemoving(question: QuestionPanelDynamicModel, panelIndex: number, panel: PanelModel): boolean;
2060
2067
  dynamicPanelItemValueChanged(question: IQuestion, options: any): void;
2068
+ dynamicPanelGetTabTitle(question: IQuestion, options: any): void;
2061
2069
  dragAndDropAllow(options: DragDropAllowEvent): boolean;
2062
2070
  elementContentVisibilityChanged(element: ISurveyElement): void;
2063
2071
  getUpdatedPanelFooterActions(panel: PanelModel, actions: Array<IAction>, question?: QuestionPanelDynamicModel): Array<IAction>;
@@ -2159,36 +2167,42 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
2159
2167
  */
2160
2168
  removePage(page: PageModel): void;
2161
2169
  /**
2162
- * Returns a question by its name.
2163
- * @param name a question name
2164
- * @param caseInsensitive
2170
+ * Returns a question with a specified [`name`](https://surveyjs.io/form-library/documentation/api-reference/question#name).
2171
+ * @param name A question name
2172
+ * @param caseInsensitive (Optional) A Boolean value that specifies case sensitivity when searching for the question. Default value: `false` (uppercase and lowercase letters are treated as distinct).
2173
+ * @returns A question with a specified name.
2174
+ * @see getAllQuestions
2165
2175
  * @see getQuestionByValueName
2166
2176
  */
2167
2177
  getQuestionByName(name: string, caseInsensitive?: boolean): Question;
2168
2178
  findQuestionByName(name: string): IQuestion;
2169
2179
  /**
2170
- * Returns a question by its value name
2171
- * @param valueName a question name
2172
- * @param caseInsensitive
2180
+ * Returns a question with a specified [`valueName`](https://surveyjs.io/form-library/documentation/api-reference/question#valueName).
2181
+ *
2182
+ * > Since `valueName` does not have to be unique, multiple questions can have the same `valueName` value. In this case, the `getQuestionByValueName()` method returns the first such question. If you need to get all questions with the same `valueName`, call the `getQuestionsByValueName()` method.
2183
+ * @param valueName A question's `valueName` property value.
2184
+ * @param caseInsensitive (Optional) A Boolean value that specifies case sensitivity when searching for the question. Default value: `false` (uppercase and lowercase letters are treated as distinct).
2185
+ * @returns A question with a specified `valueName`.
2186
+ * @see getAllQuestions
2173
2187
  * @see getQuestionByName
2174
- * @see getQuestionsByValueName
2175
- * @see Question.valueName
2176
2188
  */
2177
- getQuestionByValueName(valueName: string, caseInsensitive?: boolean): IQuestion;
2189
+ getQuestionByValueName(valueName: string, caseInsensitive?: boolean): Question;
2178
2190
  /**
2179
- * Returns all questions by their valueName. name property is used if valueName property is empty.
2180
- * @param valueName a question name
2181
- * @param caseInsensitive
2191
+ * Returns all questions with a specified [`valueName`](https://surveyjs.io/form-library/documentation/api-reference/question#valueName). If a question's `valueName` is undefined, its [`name`](https://surveyjs.io/form-library/documentation/api-reference/question#name) property is used.
2192
+ * @param valueName A question's `valueName` property value.
2193
+ * @param caseInsensitive (Optional) A Boolean value that specifies case sensitivity when searching for the questions. Default value: `false` (uppercase and lowercase letters are treated as distinct).
2194
+ * @returns An array of questions with a specified `valueName`.
2195
+ * @see getAllQuestions
2182
2196
  * @see getQuestionByName
2183
- * @see getQuestionByValueName
2184
- * @see Question.valueName
2185
2197
  */
2186
2198
  getQuestionsByValueName(valueName: string, caseInsensitive?: boolean): Array<Question>;
2187
2199
  getCalculatedValueByName(name: string): CalculatedValue;
2188
2200
  /**
2189
- * Gets a list of questions by their names.
2190
- * @param names an array of question names
2191
- * @param caseInsensitive
2201
+ * Returns an array of questions with specified [names](https://surveyjs.io/form-library/documentation/api-reference/question#name).
2202
+ * @param names An array of question names.
2203
+ * @param caseInsensitive (Optional) A Boolean value that specifies case sensitivity when searching for the questions. Default value: `false` (uppercase and lowercase letters are treated as distinct).
2204
+ * @returns An array of questions with specified names
2205
+ * @see getAllQuestions
2192
2206
  */
2193
2207
  getQuestionsByNames(names: string[], caseInsensitive?: boolean): IQuestion[];
2194
2208
  /**
@@ -2212,26 +2226,36 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
2212
2226
  */
2213
2227
  getPagesByNames(names: string[]): PageModel[];
2214
2228
  /**
2215
- * Returns a list of all questions in the survey.
2229
+ * Returns a list of all [questions](https://surveyjs.io/form-library/documentation/api-reference/question) in the survey.
2216
2230
  * @param visibleOnly A Boolean value that specifies whether to include only visible questions.
2217
2231
  * @param includeDesignTime For internal use.
2218
2232
  * @param includeNested A Boolean value that specifies whether to include nested questions, such as questions within matrix cells.
2233
+ * @returns An array of questions.
2234
+ * @see getQuestionByName
2219
2235
  */
2220
2236
  getAllQuestions(visibleOnly?: boolean, includeDesignTime?: boolean, includeNested?: boolean): Array<Question>;
2221
2237
  /**
2222
- * Returns quiz questions. All visible questions that has input(s) widgets.
2238
+ * Returns an array of quiz questions. A question counts if it is visible, has an input field, and specifies [`correctAnswer`](https://surveyjs.io/form-library/documentation/api-reference/checkbox-question-model#correctAnswer).
2239
+ *
2240
+ * For more information about quizzes, refer to the following tutorial: [Create a Quiz](https://surveyjs.io/form-library/documentation/design-survey/create-a-quiz).
2241
+ * @returns An array of quiz questions.
2223
2242
  * @see getQuizQuestionCount
2224
2243
  */
2225
2244
  getQuizQuestions(): Array<IQuestion>;
2226
2245
  /**
2227
- * Returns a panel by its name.
2228
- * @param name a panel name
2229
- * @param caseInsensitive
2230
- * @see getQuestionByName
2246
+ * Returns a [panel](https://surveyjs.io/form-library/documentation/api-reference/panel-model) with a specified [`name`](https://surveyjs.io/form-library/documentation/api-reference/panel-model#name).
2247
+ * @param name A panel name.
2248
+ * @param caseInsensitive (Optional) A Boolean value that specifies case sensitivity when searching for the panel. Default value: `false` (uppercase and lowercase letters are treated as distinct).
2249
+ * @returns A panel with a specified name.
2250
+ * @see getAllPanels
2231
2251
  */
2232
2252
  getPanelByName(name: string, caseInsensitive?: boolean): PanelModel;
2233
2253
  /**
2234
- * Returns a list of all survey's panels.
2254
+ * Returns a list of all [panels](https://surveyjs.io/form-library/documentation/api-reference/panel-model) in the survey.
2255
+ * @param visibleOnly A Boolean value that specifies whether to include only visible panels.
2256
+ * @param includeDesignTime For internal use.
2257
+ * @returns An array of panels.
2258
+ * @see getPanelByName
2235
2259
  */
2236
2260
  getAllPanels(visibleOnly?: boolean, includeDesignTime?: boolean): Array<IPanel>;
2237
2261
  /**
@@ -2322,45 +2346,56 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
2322
2346
  questionCountByValueName(valueName: string): number;
2323
2347
  private clearInvisibleQuestionValues;
2324
2348
  /**
2325
- * Returns a variable value. Variable, unlike values, are not stored in the survey results.
2326
- * @param name A variable name
2327
- * @see SetVariable
2349
+ * Returns a variable value.
2350
+ *
2351
+ * [Variables help topic](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#variables (linkStyle))
2352
+ * @param name A variable name.
2353
+ * @return A variable value.
2354
+ * @see setVariable
2355
+ * @see getVariableNames
2328
2356
  */
2329
2357
  getVariable(name: string): any;
2330
2358
  /**
2331
- * Sets a variable value. Variable, unlike values, are not stored in the survey results.
2332
- * @param name A variable name
2333
- * @param newValue A variable new value
2334
- * @see GetVariable
2359
+ * Sets a variable value.
2360
+ *
2361
+ * [Variables help topic](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#variables (linkStyle))
2362
+ * @param name A variable name.
2363
+ * @param newValue A new variable value.
2364
+ * @see getVariable
2365
+ * @see getVariableNames
2335
2366
  */
2336
2367
  setVariable(name: string, newValue: any): void;
2337
2368
  /**
2338
- * Returns all variables in the survey. Use setVariable function to create a new variable.
2369
+ * Returns the names of all variables in the survey.
2370
+ *
2371
+ * [Variables help topic](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#variables (linkStyle))
2372
+ * @returns An array of variable names.
2339
2373
  * @see getVariable
2340
2374
  * @see setVariable
2341
2375
  */
2342
2376
  getVariableNames(): Array<string>;
2343
2377
  protected getUnbindValue(value: any): any;
2344
2378
  /**
2345
- * Returns a question value (answer) by a question's name.
2346
- * @param name A question name
2379
+ * Returns a value (answer) for a question with a specified `name`.
2380
+ * @param name A question name.
2381
+ * @returns A question value (answer).
2347
2382
  * @see data
2348
2383
  * @see setValue
2349
2384
  */
2350
2385
  getValue(name: string): any;
2351
2386
  /**
2352
- * Sets a question value (answer). It runs all triggers and conditions (`visibleIf` properties).
2387
+ * Sets a question value (answer).
2353
2388
  *
2354
- * Goes to the next page if `goNextPageAutomatic` is `true` and all questions on the current page are answered correctly.
2355
- * @param name A question name
2356
- * @param newValue A new question value
2389
+ * > This method executes all triggers and reevaluates conditions (`visibleIf`, `requiredId`, and others). It also switches the survey to the next page if the [`goNextPageAutomatic`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#goNextPageAutomatic) property is enabled and all questions on the current page have correct answers.
2390
+ * @param name A question name.
2391
+ * @param newValue A new question value.
2392
+ * @param locNotification For internal use.
2393
+ * @param allowNotifyValueChanged For internal use.
2357
2394
  * @see data
2358
2395
  * @see getValue
2359
- * @see PageModel.visibleIf
2360
- * @see Question.visibleIf
2361
- * @see goNextPageAutomatic
2362
2396
  */
2363
2397
  setValue(name: string, newQuestionValue: any, locNotification?: any, allowNotifyValueChanged?: boolean): void;
2398
+ private isValueEmpyOnSetValue;
2364
2399
  private updateOnSetValue;
2365
2400
  private isValueEqual;
2366
2401
  protected doOnPageAdded(page: PageModel): void;
@@ -2368,15 +2403,17 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
2368
2403
  private generateNewName;
2369
2404
  protected tryGoNextPageAutomatic(name: string): void;
2370
2405
  /**
2371
- * Returns the comment value.
2372
- * @param name A comment's name.
2406
+ * Returns a comment value from a question with a specified `name`.
2407
+ * @param name A question name.
2408
+ * @returns A comment.
2373
2409
  * @see setComment
2374
2410
  */
2375
2411
  getComment(name: string): string;
2376
2412
  /**
2377
- * Sets a comment value.
2378
- * @param name A comment name.
2413
+ * Sets a comment value to a question with a specified `name`.
2414
+ * @param name A question name.
2379
2415
  * @param newValue A new comment value.
2416
+ * @param locNotification For internal use.
2380
2417
  * @see getComment
2381
2418
  */
2382
2419
  setComment(name: string, newValue: string, locNotification?: any): void;
@@ -2420,17 +2457,31 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
2420
2457
  getSurveyMarkdownHtml(element: Question | PanelModel | PageModel | SurveyModel, text: string, name: string): string;
2421
2458
  getCorrectedAnswerCount(): number;
2422
2459
  /**
2423
- * Returns an amount of corrected quiz answers.
2460
+ * Returns the number of correct answers in a quiz.
2461
+ *
2462
+ * For more information about quizzes, refer to the following tutorial: [Create a Quiz](https://surveyjs.io/form-library/documentation/design-survey/create-a-quiz).
2463
+ * @returns The number of correct answers in a quiz.
2464
+ * @see getQuizQuestionCount
2465
+ * @see getInCorrectAnswerCount
2424
2466
  */
2425
2467
  getCorrectAnswerCount(): number;
2426
2468
  /**
2427
- * Returns quiz question number. It may be different from `getQuizQuestions.length` because some widgets like matrix may have several questions.
2469
+ * Returns the number of quiz questions. A question counts if it is visible, has an input field, and specifies [`correctAnswer`](https://surveyjs.io/form-library/documentation/api-reference/checkbox-question-model#correctAnswer).
2470
+ *
2471
+ * This number may be different from `getQuizQuestions().length` because certain question types (for instance, matrix-like types) include more than one question.
2472
+ *
2473
+ * For more information about quizzes, refer to the following tutorial: [Create a Quiz](https://surveyjs.io/form-library/documentation/design-survey/create-a-quiz).
2474
+ * @returns The number of quiz questions.
2428
2475
  * @see getQuizQuestions
2429
2476
  */
2430
2477
  getQuizQuestionCount(): number;
2431
2478
  getInCorrectedAnswerCount(): number;
2432
2479
  /**
2433
- * Returns an amount of incorrect quiz answers.
2480
+ * Returns the number of incorrect answers in a quiz.
2481
+ *
2482
+ * For more information about quizzes, refer to the following tutorial: [Create a Quiz](https://surveyjs.io/form-library/documentation/design-survey/create-a-quiz).
2483
+ * @returns The number of incorrect answers in a quiz.
2484
+ * @see getCorrectAnswerCount
2434
2485
  */
2435
2486
  getInCorrectAnswerCount(): number;
2436
2487
  onCorrectQuestionAnswer(question: IQuestion, options: any): void;
@@ -2639,4 +2690,8 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
2639
2690
  */
2640
2691
  dispose(): void;
2641
2692
  disposeCallback: () => void;
2693
+ private onScrollCallback;
2694
+ onScroll(): void;
2695
+ addScrollEventListener(): void;
2696
+ removeScrollEventListener(): void;
2642
2697
  }
@@ -16,7 +16,10 @@ export interface ISize {
16
16
  export declare class PopupUtils {
17
17
  static bottomIndent: number;
18
18
  static calculatePosition(targetRect: ClientRect, height: number, width: number, verticalPosition: VerticalPosition, horizontalPosition: HorizontalPosition, showPointer: boolean, positionMode?: PositionMode): INumberPosition;
19
- static updateVerticalDimensions(top: number, height: number, windowHeight: number): any;
19
+ static getCorrectedVerticalDimensions(top: number, height: number, windowHeight: number): {
20
+ height: number;
21
+ top: number;
22
+ };
20
23
  static updateHorizontalDimensions(left: number, width: number, windowWidth: number, horizontalPosition: HorizontalPosition, positionMode?: PositionMode, margins?: {
21
24
  left: number;
22
25
  right: number;
@@ -1,7 +1,7 @@
1
- export declare class TooltipManager {
2
- tooltipElement: HTMLElement;
3
- private targetElement;
4
- constructor(tooltipElement: HTMLElement);
5
- dispose(): void;
6
- private onMouseMoveCallback;
7
- }
1
+ export declare class TooltipManager {
2
+ tooltipElement: HTMLElement;
3
+ private targetElement;
4
+ constructor(tooltipElement: HTMLElement);
5
+ dispose(): void;
6
+ private onMouseMoveCallback;
7
+ }