survey-core 1.12.3 → 1.12.4

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 (239) hide show
  1. package/defaultV2.css +16 -39
  2. package/defaultV2.css.map +1 -1
  3. package/defaultV2.fontless.css +16 -39
  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/i18n/arabic.js +1 -1
  8. package/i18n/arabic.min.js +1 -1
  9. package/i18n/basque.js +1 -1
  10. package/i18n/basque.min.js +1 -1
  11. package/i18n/bulgarian.js +1 -1
  12. package/i18n/bulgarian.min.js +1 -1
  13. package/i18n/catalan.js +1 -1
  14. package/i18n/catalan.min.js +1 -1
  15. package/i18n/croatian.js +1 -1
  16. package/i18n/croatian.min.js +1 -1
  17. package/i18n/czech.js +1 -1
  18. package/i18n/czech.min.js +1 -1
  19. package/i18n/danish.js +1 -1
  20. package/i18n/danish.min.js +1 -1
  21. package/i18n/dutch.js +1 -1
  22. package/i18n/dutch.min.js +1 -1
  23. package/i18n/english.js +1 -1
  24. package/i18n/english.min.js +1 -1
  25. package/i18n/estonian.js +1 -1
  26. package/i18n/estonian.min.js +1 -1
  27. package/i18n/finnish.js +1 -1
  28. package/i18n/finnish.min.js +1 -1
  29. package/i18n/french.js +1 -1
  30. package/i18n/french.min.js +1 -1
  31. package/i18n/georgian.js +1 -1
  32. package/i18n/georgian.min.js +1 -1
  33. package/i18n/german.js +1 -1
  34. package/i18n/german.min.js +1 -1
  35. package/i18n/greek.js +1 -1
  36. package/i18n/greek.min.js +1 -1
  37. package/i18n/hebrew.js +1 -1
  38. package/i18n/hebrew.min.js +1 -1
  39. package/i18n/hindi.js +1 -1
  40. package/i18n/hindi.min.js +1 -1
  41. package/i18n/hungarian.js +1 -1
  42. package/i18n/hungarian.min.js +1 -1
  43. package/i18n/icelandic.js +1 -1
  44. package/i18n/icelandic.min.js +1 -1
  45. package/i18n/index.js +1 -1
  46. package/i18n/index.min.js +1 -1
  47. package/i18n/indonesian.js +1 -1
  48. package/i18n/indonesian.min.js +1 -1
  49. package/i18n/italian.js +1 -1
  50. package/i18n/italian.min.js +1 -1
  51. package/i18n/japanese.js +1 -1
  52. package/i18n/japanese.min.js +1 -1
  53. package/i18n/kazakh.js +1 -1
  54. package/i18n/kazakh.min.js +1 -1
  55. package/i18n/korean.js +1 -1
  56. package/i18n/korean.min.js +1 -1
  57. package/i18n/latvian.js +1 -1
  58. package/i18n/latvian.min.js +1 -1
  59. package/i18n/lithuanian.js +1 -1
  60. package/i18n/lithuanian.min.js +1 -1
  61. package/i18n/macedonian.js +1 -1
  62. package/i18n/macedonian.min.js +1 -1
  63. package/i18n/malay.js +1 -1
  64. package/i18n/malay.min.js +1 -1
  65. package/i18n/nl-BE.js +1 -1
  66. package/i18n/nl-BE.min.js +1 -1
  67. package/i18n/norwegian.js +1 -1
  68. package/i18n/norwegian.min.js +1 -1
  69. package/i18n/persian.js +1 -1
  70. package/i18n/persian.min.js +1 -1
  71. package/i18n/philippines.js +1 -1
  72. package/i18n/philippines.min.js +1 -1
  73. package/i18n/polish.js +1 -1
  74. package/i18n/polish.min.js +1 -1
  75. package/i18n/portuguese-br.js +1 -1
  76. package/i18n/portuguese-br.min.js +1 -1
  77. package/i18n/portuguese.js +1 -1
  78. package/i18n/portuguese.min.js +1 -1
  79. package/i18n/romanian.js +1 -1
  80. package/i18n/romanian.min.js +1 -1
  81. package/i18n/russian.js +1 -1
  82. package/i18n/russian.min.js +1 -1
  83. package/i18n/serbian.js +1 -1
  84. package/i18n/serbian.min.js +1 -1
  85. package/i18n/simplified-chinese.js +1 -1
  86. package/i18n/simplified-chinese.min.js +1 -1
  87. package/i18n/slovak.js +1 -1
  88. package/i18n/slovak.min.js +1 -1
  89. package/i18n/spanish.js +1 -1
  90. package/i18n/spanish.min.js +1 -1
  91. package/i18n/swahili.js +1 -1
  92. package/i18n/swahili.min.js +1 -1
  93. package/i18n/swedish.js +1 -1
  94. package/i18n/swedish.min.js +1 -1
  95. package/i18n/tajik.js +1 -1
  96. package/i18n/tajik.min.js +1 -1
  97. package/i18n/telugu.js +1 -1
  98. package/i18n/telugu.min.js +1 -1
  99. package/i18n/thai.js +1 -1
  100. package/i18n/thai.min.js +1 -1
  101. package/i18n/traditional-chinese.js +1 -1
  102. package/i18n/traditional-chinese.min.js +1 -1
  103. package/i18n/turkish.js +1 -1
  104. package/i18n/turkish.min.js +1 -1
  105. package/i18n/ukrainian.js +1 -1
  106. package/i18n/ukrainian.min.js +1 -1
  107. package/i18n/urdu.js +1 -1
  108. package/i18n/urdu.min.js +1 -1
  109. package/i18n/vietnamese.js +1 -1
  110. package/i18n/vietnamese.min.js +1 -1
  111. package/i18n/welsh.js +1 -1
  112. package/i18n/welsh.min.js +1 -1
  113. package/modern.css +23 -77
  114. package/modern.css.map +1 -1
  115. package/modern.fontless.css +23 -77
  116. package/modern.fontless.css.map +1 -1
  117. package/modern.fontless.min.css +2 -2
  118. package/modern.min.css +2 -2
  119. package/package.json +1 -1
  120. package/plugins/bootstrap-integration/index.js +1 -2
  121. package/plugins/bootstrap-integration/index.js.map +1 -1
  122. package/plugins/bootstrap-integration/index.min.js +2 -2
  123. package/plugins/bootstrap-material-integration/index.js +1 -2
  124. package/plugins/bootstrap-material-integration/index.js.map +1 -1
  125. package/plugins/bootstrap-material-integration/index.min.js +2 -2
  126. package/survey.core.js +419 -154
  127. package/survey.core.js.map +1 -1
  128. package/survey.core.min.js +3 -3
  129. package/survey.css +11 -17
  130. package/survey.css.map +1 -1
  131. package/survey.i18n.js +1 -1
  132. package/survey.i18n.min.js +1 -1
  133. package/survey.min.css +2 -2
  134. package/themes/borderless-dark-panelless.js +1 -1
  135. package/themes/borderless-dark-panelless.min.js +1 -1
  136. package/themes/borderless-dark.js +1 -1
  137. package/themes/borderless-dark.min.js +1 -1
  138. package/themes/borderless-light-panelless..js +1 -1
  139. package/themes/borderless-light-panelless..min.js +1 -1
  140. package/themes/borderless-light.js +1 -1
  141. package/themes/borderless-light.min.js +1 -1
  142. package/themes/contrast-dark-panelless.js +1 -1
  143. package/themes/contrast-dark-panelless.min.js +1 -1
  144. package/themes/contrast-dark.js +1 -1
  145. package/themes/contrast-dark.min.js +1 -1
  146. package/themes/contrast-light-panelless.js +1 -1
  147. package/themes/contrast-light-panelless.min.js +1 -1
  148. package/themes/contrast-light.js +1 -1
  149. package/themes/contrast-light.min.js +1 -1
  150. package/themes/default-dark-panelless.js +1 -1
  151. package/themes/default-dark-panelless.min.js +1 -1
  152. package/themes/default-dark.js +1 -1
  153. package/themes/default-dark.min.js +1 -1
  154. package/themes/default-light-panelless.js +1 -1
  155. package/themes/default-light-panelless.min.js +1 -1
  156. package/themes/default-light.js +1 -1
  157. package/themes/default-light.min.js +1 -1
  158. package/themes/doubleborder-dark-panelless.js +1 -1
  159. package/themes/doubleborder-dark-panelless.min.js +1 -1
  160. package/themes/doubleborder-dark.js +1 -1
  161. package/themes/doubleborder-dark.min.js +1 -1
  162. package/themes/doubleborder-light-panelles.js +1 -1
  163. package/themes/doubleborder-light-panelles.min.js +1 -1
  164. package/themes/doubleborder-light.js +1 -1
  165. package/themes/doubleborder-light.min.js +1 -1
  166. package/themes/flat-dark-panelless.js +1 -1
  167. package/themes/flat-dark-panelless.min.js +1 -1
  168. package/themes/flat-dark.js +1 -1
  169. package/themes/flat-dark.min.js +1 -1
  170. package/themes/flat-light-panelless.js +1 -1
  171. package/themes/flat-light-panelless.min.js +1 -1
  172. package/themes/flat-light.js +1 -1
  173. package/themes/flat-light.min.js +1 -1
  174. package/themes/index.js +1 -1
  175. package/themes/index.min.js +1 -1
  176. package/themes/layered-dark-panelless.js +1 -1
  177. package/themes/layered-dark-panelless.min.js +1 -1
  178. package/themes/layered-dark.js +1 -1
  179. package/themes/layered-dark.min.js +1 -1
  180. package/themes/layered-light-panelless.js +1 -1
  181. package/themes/layered-light-panelless.min.js +1 -1
  182. package/themes/layered-light.js +1 -1
  183. package/themes/layered-light.min.js +1 -1
  184. package/themes/plain-dark-panelless.js +1 -1
  185. package/themes/plain-dark-panelless.min.js +1 -1
  186. package/themes/plain-dark.js +1 -1
  187. package/themes/plain-dark.min.js +1 -1
  188. package/themes/plain-light-panelless.js +1 -1
  189. package/themes/plain-light-panelless.min.js +1 -1
  190. package/themes/plain-light.js +1 -1
  191. package/themes/plain-light.min.js +1 -1
  192. package/themes/sharp-dark-panelless.js +1 -1
  193. package/themes/sharp-dark-panelless.min.js +1 -1
  194. package/themes/sharp-dark.js +1 -1
  195. package/themes/sharp-dark.min.js +1 -1
  196. package/themes/sharp-light-panelless.js +1 -1
  197. package/themes/sharp-light-panelless.min.js +1 -1
  198. package/themes/sharp-light.js +1 -1
  199. package/themes/sharp-light.min.js +1 -1
  200. package/themes/solid-dark-panelless.js +1 -1
  201. package/themes/solid-dark-panelless.min.js +1 -1
  202. package/themes/solid-dark.js +1 -1
  203. package/themes/solid-dark.min.js +1 -1
  204. package/themes/solid-light-panelless.js +1 -1
  205. package/themes/solid-light-panelless.min.js +1 -1
  206. package/themes/solid-light.js +1 -1
  207. package/themes/solid-light.min.js +1 -1
  208. package/themes/three-dimensional-dark-panelless.js +1 -1
  209. package/themes/three-dimensional-dark-panelless.min.js +1 -1
  210. package/themes/three-dimensional-dark.js +1 -1
  211. package/themes/three-dimensional-dark.min.js +1 -1
  212. package/themes/three-dimensional-light-panelless.js +1 -1
  213. package/themes/three-dimensional-light-panelless.min.js +1 -1
  214. package/themes/three-dimensional-light.js +1 -1
  215. package/themes/three-dimensional-light.min.js +1 -1
  216. package/ts3.4/typings/packages/survey-core/src/base-interfaces.d.ts +1 -1
  217. package/ts3.4/typings/packages/survey-core/src/base.d.ts +11 -0
  218. package/ts3.4/typings/packages/survey-core/src/page.d.ts +1 -0
  219. package/ts3.4/typings/packages/survey-core/src/panel.d.ts +9 -3
  220. package/ts3.4/typings/packages/survey-core/src/question.d.ts +4 -4
  221. package/ts3.4/typings/packages/survey-core/src/question_matrix.d.ts +13 -5
  222. package/ts3.4/typings/packages/survey-core/src/question_paneldynamic.d.ts +2 -0
  223. package/ts3.4/typings/packages/survey-core/src/question_ranking.d.ts +1 -0
  224. package/ts3.4/typings/packages/survey-core/src/question_rating.d.ts +3 -0
  225. package/ts3.4/typings/packages/survey-core/src/survey-element.d.ts +3 -2
  226. package/ts3.4/typings/packages/survey-core/src/survey.d.ts +8 -3
  227. package/ts3.4/typings/packages/survey-core/src/utils/utils.d.ts +2 -2
  228. package/typings/packages/survey-core/src/base-interfaces.d.ts +1 -1
  229. package/typings/packages/survey-core/src/base.d.ts +11 -0
  230. package/typings/packages/survey-core/src/page.d.ts +1 -0
  231. package/typings/packages/survey-core/src/panel.d.ts +9 -3
  232. package/typings/packages/survey-core/src/question.d.ts +4 -4
  233. package/typings/packages/survey-core/src/question_matrix.d.ts +13 -5
  234. package/typings/packages/survey-core/src/question_paneldynamic.d.ts +2 -0
  235. package/typings/packages/survey-core/src/question_ranking.d.ts +1 -0
  236. package/typings/packages/survey-core/src/question_rating.d.ts +3 -0
  237. package/typings/packages/survey-core/src/survey-element.d.ts +3 -2
  238. package/typings/packages/survey-core/src/survey.d.ts +8 -3
  239. package/typings/packages/survey-core/src/utils/utils.d.ts +2 -2
@@ -17,6 +17,7 @@ export declare class QuestionRowModel extends Base {
17
17
  private static getRowId;
18
18
  protected _scrollableParent: any;
19
19
  protected _updateVisibility: any;
20
+ private readonly allowRendering: any;
20
21
  startLazyRendering(rowContainerDiv: HTMLElement, findScrollableContainer?: typeof findScrollableParent): void;
21
22
  ensureVisibility(): void;
22
23
  stopLazyRendering(): void;
@@ -309,6 +310,8 @@ export declare class PanelModelBase extends SurveyElement<Question> implements I
309
310
  getProgressInfo(): IProgressInfo;
310
311
  readonly root: PanelModelBase;
311
312
  protected childVisibilityChanged(): void;
313
+ protected canRenderFirstRows(): boolean;
314
+ private isLazyRenderInRow;
312
315
  createRowAndSetLazy(index: number): QuestionRowModel;
313
316
  createRow(): QuestionRowModel;
314
317
  onSurveyLoad(): void;
@@ -330,12 +333,14 @@ export declare class PanelModelBase extends SurveyElement<Question> implements I
330
333
  private updateRowsVisibility;
331
334
  canBuildRows(): boolean;
332
335
  private buildRows;
333
- private isLazyRenderInRow;
334
- protected canRenderFirstRows(): boolean;
335
336
  getDragDropInfo(): any;
336
337
  private updateRowsOnElementRemoved;
337
338
  updateRowsRemoveElementFromRow(element: IElement, row: QuestionRowModel): void;
338
- disableLazyRenderingBeforeElement(el?: IElement): void;
339
+ getAllRows(): Array<QuestionRowModel>;
340
+ private findRowAndIndexByElement;
341
+ private forceRenderRow;
342
+ forceRenderElement(el: IElement, elementsRendered?: () => void, gap?: number): void;
343
+ forceRenderRows(rows: Array<QuestionRowModel>, elementsRendered?: () => void): void;
339
344
  findRowByElement(el: IElement): QuestionRowModel;
340
345
  elementWidthChanged(el: IElement): void;
341
346
  readonly processedTitle: string;
@@ -534,6 +539,7 @@ export declare class PanelModel extends PanelModelBase implements IElement {
534
539
  protected createLocTitleProperty(): LocalizableString;
535
540
  protected beforeSetVisibleIndex(index: number): number;
536
541
  protected getPanelStartIndex(index: number): number;
542
+ private hasParentInQuestionIndex;
537
543
  protected isContinueNumbering(): boolean;
538
544
  private notifySurveyOnVisibilityChanged;
539
545
  protected getRenderedTitle(str: string): string;
@@ -538,7 +538,7 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
538
538
  *
539
539
  * | Question type | Value type(s) |
540
540
  * | ------------- | ------------- |
541
- * | Checkboxes | `Array<string \| number>` |
541
+ * | Checkboxes | <code>Array&lt;string &#124; number&gt;</code> |
542
542
  * | Dropdown | `string` \| `number` |
543
543
  * | Dynamic Matrix | `Array<object>` |
544
544
  * | Dynamic Panel | `Array<object>` |
@@ -546,14 +546,14 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
546
546
  * | File Upload | `File` \| `Array<File>` |
547
547
  * | HTML | (no value) |
548
548
  * | Image | (no value) |
549
- * | Image Picker | `Array<string \| number>` |
549
+ * | Image Picker | <code>Array&lt;string &#124; number&gt;</code> |
550
550
  * | Long Text | `string` |
551
551
  * | Multi-Select Dropdown | `object` |
552
552
  * | Multi-Select Matrix | `object` |
553
553
  * | Multiple Textboxes | `Array<string>` |
554
554
  * | Panel | (no value) |
555
555
  * | Radio Button Group | `string` \| `number` |
556
- * | Ranking | `Array<string \| number>` |
556
+ * | Ranking | <code>Array&lt;string &#124; number&gt;</code> |
557
557
  * | Rating Scale | `number` \| `string` |
558
558
  * | Signature | `string` (base64-encoded image) |
559
559
  * | Single-Line Input | `string` \| `number` \| `Date` |
@@ -771,7 +771,7 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
771
771
  readonly requiredText: string;
772
772
  addError(error: SurveyError | string): void;
773
773
  private addCustomError;
774
- removeError(error: SurveyError): void;
774
+ removeError(error: SurveyError): boolean;
775
775
  private checkForErrors;
776
776
  protected canCollectErrors(): boolean;
777
777
  private collectErrors;
@@ -39,20 +39,27 @@ export interface IMatrixCellsOwner extends ILocalizableOwner {
39
39
  getRows(): Array<any>;
40
40
  getColumns(): Array<any>;
41
41
  }
42
- export declare class MatrixCells {
42
+ export declare class MatrixCells extends Base {
43
43
  cellsOwner: IMatrixCellsOwner;
44
44
  private values;
45
+ private locs;
45
46
  constructor(cellsOwner: IMatrixCellsOwner);
47
+ getType(): string;
46
48
  readonly isEmpty: boolean;
47
49
  onValuesChanged: () => void;
50
+ private locNotification;
48
51
  private valuesChanged;
49
- setCellText(row: any, column: any, val: string): void;
50
- setDefaultCellText(column: any, val: string): void;
51
- getCellLocText(row: any, column: any): LocalizableString;
52
- getDefaultCellLocText(column: any, val: string): LocalizableString;
52
+ getDefaultCellLocText(column: any): LocalizableString;
53
53
  getCellDisplayLocText(row: any, column: any): LocalizableString;
54
+ private getCellLocCore;
55
+ private readonly defaultRowValue: any;
56
+ private getCellLocData;
57
+ private getCellLocDataFromValue;
54
58
  getCellText(row: any, column: any): string;
59
+ setCellText(row: any, column: any, val: string): void;
60
+ private updateValues;
55
61
  getDefaultCellText(column: any): string;
62
+ setDefaultCellText(column: any, val: string): void;
56
63
  getCellDisplayText(row: any, column: any): string;
57
64
  readonly rows: Array<any>;
58
65
  readonly columns: Array<any>;
@@ -60,6 +67,7 @@ export declare class MatrixCells {
60
67
  getJson(): any;
61
68
  setJson(value: any): void;
62
69
  locStrsChanged(): void;
70
+ private runFuncOnLocs;
63
71
  protected createString(): LocalizableString;
64
72
  }
65
73
  /**
@@ -323,6 +323,7 @@ export declare class QuestionPanelDynamicModel extends Question implements IQues
323
323
  * @see allowRemovePanel
324
324
  */
325
325
  minPanelCount: number;
326
+ private onMinPanelCountChanged;
326
327
  /*
327
328
  * A maximum number of panels in Dynamic Panel. Users cannot add new panels if `panelCount` equals `maxPanelCount`.
328
329
  *
@@ -332,6 +333,7 @@ export declare class QuestionPanelDynamicModel extends Question implements IQues
332
333
  * @see allowAddPanel
333
334
  */
334
335
  maxPanelCount: number;
336
+ private onMaxPanelCountChanged;
335
337
  /*
336
338
  * Specifies whether users are allowed to add new panels.
337
339
  *
@@ -30,6 +30,7 @@ export declare class QuestionRankingModel extends QuestionCheckboxModel {
30
30
  onSurveyValueChanged(newValue: any): void;
31
31
  onSurveyLoad(): void;
32
32
  protected onVisibleChoicesChanged: () => void;
33
+ updateValueFromSurvey(newValue: any, clearData: boolean): void;
33
34
  localeChanged: () => void;
34
35
  private addToValueByVisibleChoices;
35
36
  private removeFromValueByVisibleChoices;
@@ -116,6 +116,7 @@ export declare class QuestionRatingModel extends Question {
116
116
  private createRenderedRateItems;
117
117
  renderedRateItems: Array<RenderedRatingItem>;
118
118
  private createRateValues;
119
+ private getRatingItemValue;
119
120
  private correctValue;
120
121
  getType(): string;
121
122
  protected getFirstInputElementId(): string;
@@ -262,6 +263,7 @@ export declare class QuestionRatingModel extends Question {
262
263
  readonly searchEnabled: boolean;
263
264
  renderedValue: any;
264
265
  isItemSelected(item: ItemValue): boolean;
266
+ private visibleChoicesValue;
265
267
  readonly visibleChoices: ItemValue[];
266
268
  readonly readOnlyText: any;
267
269
  needResponsiveWidth(): boolean;
@@ -271,6 +273,7 @@ export declare class QuestionRatingModel extends Question {
271
273
  protected getDesktopRenderAs(): string;
272
274
  private dropdownListModelValue;
273
275
  dropdownListModel: DropdownListModel;
276
+ protected onBlurCore(event: any): void;
274
277
  protected updateCssClasses(res: any, css: any): void;
275
278
  protected calcCssClasses(css: any): any;
276
279
  themeChanged(theme: ITheme): void;
@@ -103,8 +103,8 @@ export declare class SurveyElement<E = any> extends SurveyElementCore implements
103
103
  dragTypeOverMe: DragTypeOverMeEnum;
104
104
  isDragMe: boolean;
105
105
  readOnlyChangedCallback: () => void;
106
- static ScrollElementToTop(elementId: string, scrollIfVisible?: boolean, scrollIntoViewOptions?: ScrollIntoViewOptions): boolean;
107
- static ScrollElementToViewCore(el: HTMLElement, checkLeft: boolean, scrollIfVisible?: boolean, scrollIntoViewOptions?: ScrollIntoViewOptions): boolean;
106
+ static ScrollElementToTop(elementId: string, scrollIfVisible?: boolean, scrollIntoViewOptions?: ScrollIntoViewOptions, doneCallback?: () => void): boolean;
107
+ static ScrollElementToViewCore(el: HTMLElement, checkLeft: boolean, scrollIfVisible?: boolean, scrollIntoViewOptions?: ScrollIntoViewOptions, doneCallback?: () => void): boolean;
108
108
  static GetFirstNonTextElement(elements: any, removeSpaces?: boolean): any;
109
109
  static FocusElement(elementId: string): boolean;
110
110
  private static focusElementCore;
@@ -219,6 +219,7 @@ export declare class SurveyElement<E = any> extends SurveyElementCore implements
219
219
  readonly survey: ISurvey;
220
220
  getSurvey(live?: boolean): ISurvey;
221
221
  protected setSurveyCore(value: ISurvey): void;
222
+ readonly skeletonHeight: string;
222
223
  isContentElement: boolean;
223
224
  isEditableTemplateElement: boolean;
224
225
  isInteractiveDesignElement: boolean;
@@ -791,7 +791,10 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
791
791
  readonly isLazyRendering: boolean;
792
792
  lazyRenderingFirstBatchSizeValue: number;
793
793
  lazyRenderingFirstBatchSize: number;
794
- disableLazyRenderingBeforeElement(el: IElement): void;
794
+ protected _isLazyRenderingSuspended: boolean;
795
+ readonly isLazyRenderingSuspended: boolean;
796
+ protected suspendLazyRendering(): void;
797
+ protected releaseLazyRendering(): void;
795
798
  private updateLazyRenderingRowsOnRemovingElements;
796
799
  /*
797
800
  * A list of triggers in the survey.
@@ -1292,8 +1295,9 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
1292
1295
  /**
1293
1296
  * Calculates a given [expression](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#expressions) and returns a result value.
1294
1297
  * @param expression An expression to calculate.
1298
+ * @param callback A callback function that you can use to access the calculation result if the expression uses asynchronous functions.
1295
1299
  */
1296
- runExpression(expression: string): any;
1300
+ runExpression(expression: string, callback?: (res: any) => void): any;
1297
1301
  /**
1298
1302
  * Calculates a given [expression](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#expressions) and returns `true` or `false`.
1299
1303
  * @param expression An expression to calculate.
@@ -2159,7 +2163,8 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
2159
2163
  private getUpdatedPanelTitleActions;
2160
2164
  private getUpdatedPageTitleActions;
2161
2165
  getUpdatedMatrixRowActions(question: QuestionMatrixDropdownModelBase, row: any, actions: Array<IAction>): IAction[];
2162
- scrollElementToTop(element: ISurveyElement, question: Question, page: PageModel, id: string, scrollIfVisible?: boolean, scrollIntoViewOptions?: ScrollIntoViewOptions): any;
2166
+ skeletonHeight: number;
2167
+ scrollElementToTop(element: ISurveyElement, question: Question, page: PageModel, id: string, scrollIfVisible?: boolean, scrollIntoViewOptions?: ScrollIntoViewOptions, passedRootElement?: HTMLElement): any;
2163
2168
  /**
2164
2169
  * Opens a dialog window for users to select files.
2165
2170
  * @param input A [file input HTML element](https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement).
@@ -10,7 +10,7 @@ declare const isShadowDOM: (rootElement: Document | ShadowRoot | HTMLElement) =>
10
10
  declare const getElement: (element: HTMLElement | string) => HTMLElement;
11
11
  declare function isElementVisible(element: HTMLElement, threshold?: number): boolean;
12
12
  declare function findScrollableParent(element: HTMLElement): HTMLElement;
13
- declare function scrollElementByChildId(id: string): void;
13
+ declare function activateLazyRenderingChecks(id: string): void;
14
14
  declare function navigateToUrl(url: string): void;
15
15
  declare function wrapUrlForBackgroundImage(url: string): string;
16
16
  declare function getIconNameFromProxy(iconName: string): string;
@@ -69,4 +69,4 @@ export declare function setPropertiesOnElementForAnimation(el: HTMLElement, styl
69
69
  export declare function prepareElementForVerticalAnimation(el: HTMLElement): void;
70
70
  export declare function cleanHtmlElementAfterAnimation(el: HTMLElement): void;
71
71
  export declare function roundTo2Decimals(number: number): number;
72
- export { mergeValues, getElementWidth, isContainerVisible, classesToSelector, compareVersions, confirmAction, confirmActionAsync, detectIEOrEdge, detectIEBrowser, loadFileFromBase64, isMobile, isShadowDOM, getElement, isElementVisible, findScrollableParent, scrollElementByChildId, navigateToUrl, wrapUrlForBackgroundImage, createSvg, getIconNameFromProxy, increaseHeightByContent, getOriginalEvent, preventDefaults, findParentByClassNames, getFirstVisibleChild, chooseFiles };
72
+ export { mergeValues, getElementWidth, isContainerVisible, classesToSelector, compareVersions, confirmAction, confirmActionAsync, detectIEOrEdge, detectIEBrowser, loadFileFromBase64, isMobile, isShadowDOM, getElement, isElementVisible, findScrollableParent, activateLazyRenderingChecks, navigateToUrl, wrapUrlForBackgroundImage, createSvg, getIconNameFromProxy, increaseHeightByContent, getOriginalEvent, preventDefaults, findParentByClassNames, getFirstVisibleChild, chooseFiles };
@@ -170,7 +170,7 @@ export interface ISurvey extends ITextProcessor, ISurveyErrorOwner {
170
170
  dynamicPanelCurrentIndexChanged(question: IQuestion, options: any): void;
171
171
  dragAndDropAllow(options: DragDropAllowEvent): boolean;
172
172
  scrollElementToTop(element: ISurveyElement, question: IQuestion, page: IPage, id: string, scrollIfVisible?: boolean, scrollIntoViewOptions?: ScrollIntoViewOptions): any;
173
- runExpression(expression: string): any;
173
+ runExpression(expression: string, callback?: (res: any) => void): any;
174
174
  elementContentVisibilityChanged(element: ISurveyElement): void;
175
175
  onCorrectQuestionAnswer(question: IQuestion, options: any): void;
176
176
  processPopupVisiblityChanged(question: IQuestion, popupModel: PopupModel, visible: boolean): void;
@@ -310,6 +310,17 @@ export declare class Base {
310
310
  get onElementRerendered(): EventBase<Base>;
311
311
  afterRerender(): void;
312
312
  }
313
+ export declare class RenderingCompletedAwaiter {
314
+ private _elements;
315
+ private _renderedHandler;
316
+ constructor(_elements: Array<Base>, _renderedHandler: () => void, waitingTimeout?: number);
317
+ private _elementsToRenderCount;
318
+ private _elementsToRenderTimer;
319
+ private _elementRenderedHandler;
320
+ private stopWaitingForElementsRendering;
321
+ private visibleElementsRendered;
322
+ dispose(): void;
323
+ }
313
324
  export declare class ArrayChanges<T = any> {
314
325
  index: number;
315
326
  deleteCount: number;
@@ -33,6 +33,7 @@ export declare class PageModel extends PanelModelBase implements IPage {
33
33
  set navigationDescription(val: string);
34
34
  get locNavigationDescription(): LocalizableString;
35
35
  navigationLocStrChanged(): void;
36
+ getMarkdownHtml(text: string, name: string): string;
36
37
  get passed(): boolean;
37
38
  set passed(val: boolean);
38
39
  protected removeFromParent(): void;
@@ -17,6 +17,7 @@ export declare class QuestionRowModel extends Base {
17
17
  private static getRowId;
18
18
  protected _scrollableParent: any;
19
19
  protected _updateVisibility: any;
20
+ private get allowRendering();
20
21
  startLazyRendering(rowContainerDiv: HTMLElement, findScrollableContainer?: typeof findScrollableParent): void;
21
22
  ensureVisibility(): void;
22
23
  stopLazyRendering(): void;
@@ -321,6 +322,8 @@ export declare class PanelModelBase extends SurveyElement<Question> implements I
321
322
  getProgressInfo(): IProgressInfo;
322
323
  get root(): PanelModelBase;
323
324
  protected childVisibilityChanged(): void;
325
+ protected canRenderFirstRows(): boolean;
326
+ private isLazyRenderInRow;
324
327
  createRowAndSetLazy(index: number): QuestionRowModel;
325
328
  createRow(): QuestionRowModel;
326
329
  onSurveyLoad(): void;
@@ -342,12 +345,14 @@ export declare class PanelModelBase extends SurveyElement<Question> implements I
342
345
  private updateRowsVisibility;
343
346
  canBuildRows(): boolean;
344
347
  private buildRows;
345
- private isLazyRenderInRow;
346
- protected canRenderFirstRows(): boolean;
347
348
  getDragDropInfo(): any;
348
349
  private updateRowsOnElementRemoved;
349
350
  updateRowsRemoveElementFromRow(element: IElement, row: QuestionRowModel): void;
350
- disableLazyRenderingBeforeElement(el?: IElement): void;
351
+ getAllRows(): Array<QuestionRowModel>;
352
+ private findRowAndIndexByElement;
353
+ private forceRenderRow;
354
+ forceRenderElement(el: IElement, elementsRendered?: () => void, gap?: number): void;
355
+ forceRenderRows(rows: Array<QuestionRowModel>, elementsRendered?: () => void): void;
351
356
  findRowByElement(el: IElement): QuestionRowModel;
352
357
  elementWidthChanged(el: IElement): void;
353
358
  get processedTitle(): string;
@@ -553,6 +558,7 @@ export declare class PanelModel extends PanelModelBase implements IElement {
553
558
  protected createLocTitleProperty(): LocalizableString;
554
559
  protected beforeSetVisibleIndex(index: number): number;
555
560
  protected getPanelStartIndex(index: number): number;
561
+ private hasParentInQuestionIndex;
556
562
  protected isContinueNumbering(): boolean;
557
563
  private notifySurveyOnVisibilityChanged;
558
564
  protected getRenderedTitle(str: string): string;
@@ -563,7 +563,7 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
563
563
  *
564
564
  * | Question type | Value type(s) |
565
565
  * | ------------- | ------------- |
566
- * | Checkboxes | `Array<string \| number>` |
566
+ * | Checkboxes | <code>Array&lt;string &#124; number&gt;</code> |
567
567
  * | Dropdown | `string` \| `number` |
568
568
  * | Dynamic Matrix | `Array<object>` |
569
569
  * | Dynamic Panel | `Array<object>` |
@@ -571,14 +571,14 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
571
571
  * | File Upload | `File` \| `Array<File>` |
572
572
  * | HTML | (no value) |
573
573
  * | Image | (no value) |
574
- * | Image Picker | `Array<string \| number>` |
574
+ * | Image Picker | <code>Array&lt;string &#124; number&gt;</code> |
575
575
  * | Long Text | `string` |
576
576
  * | Multi-Select Dropdown | `object` |
577
577
  * | Multi-Select Matrix | `object` |
578
578
  * | Multiple Textboxes | `Array<string>` |
579
579
  * | Panel | (no value) |
580
580
  * | Radio Button Group | `string` \| `number` |
581
- * | Ranking | `Array<string \| number>` |
581
+ * | Ranking | <code>Array&lt;string &#124; number&gt;</code> |
582
582
  * | Rating Scale | `number` \| `string` |
583
583
  * | Signature | `string` (base64-encoded image) |
584
584
  * | Single-Line Input | `string` \| `number` \| `Date` |
@@ -807,7 +807,7 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
807
807
  get requiredText(): string;
808
808
  addError(error: SurveyError | string): void;
809
809
  private addCustomError;
810
- removeError(error: SurveyError): void;
810
+ removeError(error: SurveyError): boolean;
811
811
  private checkForErrors;
812
812
  protected canCollectErrors(): boolean;
813
813
  private collectErrors;
@@ -41,20 +41,27 @@ export interface IMatrixCellsOwner extends ILocalizableOwner {
41
41
  getRows(): Array<any>;
42
42
  getColumns(): Array<any>;
43
43
  }
44
- export declare class MatrixCells {
44
+ export declare class MatrixCells extends Base {
45
45
  cellsOwner: IMatrixCellsOwner;
46
46
  private values;
47
+ private locs;
47
48
  constructor(cellsOwner: IMatrixCellsOwner);
49
+ getType(): string;
48
50
  get isEmpty(): boolean;
49
51
  onValuesChanged: () => void;
52
+ private locNotification;
50
53
  private valuesChanged;
51
- setCellText(row: any, column: any, val: string): void;
52
- setDefaultCellText(column: any, val: string): void;
53
- getCellLocText(row: any, column: any): LocalizableString;
54
- getDefaultCellLocText(column: any, val: string): LocalizableString;
54
+ getDefaultCellLocText(column: any): LocalizableString;
55
55
  getCellDisplayLocText(row: any, column: any): LocalizableString;
56
+ private getCellLocCore;
57
+ private get defaultRowValue();
58
+ private getCellLocData;
59
+ private getCellLocDataFromValue;
56
60
  getCellText(row: any, column: any): string;
61
+ setCellText(row: any, column: any, val: string): void;
62
+ private updateValues;
57
63
  getDefaultCellText(column: any): string;
64
+ setDefaultCellText(column: any, val: string): void;
58
65
  getCellDisplayText(row: any, column: any): string;
59
66
  get rows(): Array<any>;
60
67
  get columns(): Array<any>;
@@ -62,6 +69,7 @@ export declare class MatrixCells {
62
69
  getJson(): any;
63
70
  setJson(value: any): void;
64
71
  locStrsChanged(): void;
72
+ private runFuncOnLocs;
65
73
  protected createString(): LocalizableString;
66
74
  }
67
75
  /**
@@ -342,6 +342,7 @@ export declare class QuestionPanelDynamicModel extends Question implements IQues
342
342
  */
343
343
  get minPanelCount(): number;
344
344
  set minPanelCount(val: number);
345
+ private onMinPanelCountChanged;
345
346
  /**
346
347
  * A maximum number of panels in Dynamic Panel. Users cannot add new panels if `panelCount` equals `maxPanelCount`.
347
348
  *
@@ -352,6 +353,7 @@ export declare class QuestionPanelDynamicModel extends Question implements IQues
352
353
  */
353
354
  get maxPanelCount(): number;
354
355
  set maxPanelCount(val: number);
356
+ private onMaxPanelCountChanged;
355
357
  /**
356
358
  * Specifies whether users are allowed to add new panels.
357
359
  *
@@ -30,6 +30,7 @@ export declare class QuestionRankingModel extends QuestionCheckboxModel {
30
30
  onSurveyValueChanged(newValue: any): void;
31
31
  onSurveyLoad(): void;
32
32
  protected onVisibleChoicesChanged: () => void;
33
+ updateValueFromSurvey(newValue: any, clearData: boolean): void;
33
34
  localeChanged: () => void;
34
35
  private addToValueByVisibleChoices;
35
36
  private removeFromValueByVisibleChoices;
@@ -120,6 +120,7 @@ export declare class QuestionRatingModel extends Question {
120
120
  private createRenderedRateItems;
121
121
  renderedRateItems: Array<RenderedRatingItem>;
122
122
  private createRateValues;
123
+ private getRatingItemValue;
123
124
  private correctValue;
124
125
  getType(): string;
125
126
  protected getFirstInputElementId(): string;
@@ -272,6 +273,7 @@ export declare class QuestionRatingModel extends Question {
272
273
  get renderedValue(): any;
273
274
  set renderedValue(val: any);
274
275
  isItemSelected(item: ItemValue): boolean;
276
+ private visibleChoicesValue;
275
277
  get visibleChoices(): ItemValue[];
276
278
  get readOnlyText(): any;
277
279
  needResponsiveWidth(): boolean;
@@ -282,6 +284,7 @@ export declare class QuestionRatingModel extends Question {
282
284
  private dropdownListModelValue;
283
285
  set dropdownListModel(val: DropdownListModel);
284
286
  get dropdownListModel(): DropdownListModel;
287
+ protected onBlurCore(event: any): void;
285
288
  protected updateCssClasses(res: any, css: any): void;
286
289
  protected calcCssClasses(css: any): any;
287
290
  themeChanged(theme: ITheme): void;
@@ -104,8 +104,8 @@ export declare class SurveyElement<E = any> extends SurveyElementCore implements
104
104
  dragTypeOverMe: DragTypeOverMeEnum;
105
105
  isDragMe: boolean;
106
106
  readOnlyChangedCallback: () => void;
107
- static ScrollElementToTop(elementId: string, scrollIfVisible?: boolean, scrollIntoViewOptions?: ScrollIntoViewOptions): boolean;
108
- static ScrollElementToViewCore(el: HTMLElement, checkLeft: boolean, scrollIfVisible?: boolean, scrollIntoViewOptions?: ScrollIntoViewOptions): boolean;
107
+ static ScrollElementToTop(elementId: string, scrollIfVisible?: boolean, scrollIntoViewOptions?: ScrollIntoViewOptions, doneCallback?: () => void): boolean;
108
+ static ScrollElementToViewCore(el: HTMLElement, checkLeft: boolean, scrollIfVisible?: boolean, scrollIntoViewOptions?: ScrollIntoViewOptions, doneCallback?: () => void): boolean;
109
109
  static GetFirstNonTextElement(elements: any, removeSpaces?: boolean): any;
110
110
  static FocusElement(elementId: string): boolean;
111
111
  private static focusElementCore;
@@ -222,6 +222,7 @@ export declare class SurveyElement<E = any> extends SurveyElementCore implements
222
222
  get survey(): ISurvey;
223
223
  getSurvey(live?: boolean): ISurvey;
224
224
  protected setSurveyCore(value: ISurvey): void;
225
+ get skeletonHeight(): string;
225
226
  isContentElement: boolean;
226
227
  isEditableTemplateElement: boolean;
227
228
  isInteractiveDesignElement: boolean;
@@ -796,7 +796,10 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
796
796
  lazyRenderingFirstBatchSizeValue: number;
797
797
  get lazyRenderingFirstBatchSize(): number;
798
798
  set lazyRenderingFirstBatchSize(val: number);
799
- disableLazyRenderingBeforeElement(el: IElement): void;
799
+ protected _isLazyRenderingSuspended: boolean;
800
+ get isLazyRenderingSuspended(): boolean;
801
+ protected suspendLazyRendering(): void;
802
+ protected releaseLazyRendering(): void;
800
803
  private updateLazyRenderingRowsOnRemovingElements;
801
804
  /**
802
805
  * A list of triggers in the survey.
@@ -1343,8 +1346,9 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
1343
1346
  /**
1344
1347
  * Calculates a given [expression](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#expressions) and returns a result value.
1345
1348
  * @param expression An expression to calculate.
1349
+ * @param callback A callback function that you can use to access the calculation result if the expression uses asynchronous functions.
1346
1350
  */
1347
- runExpression(expression: string): any;
1351
+ runExpression(expression: string, callback?: (res: any) => void): any;
1348
1352
  /**
1349
1353
  * Calculates a given [expression](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#expressions) and returns `true` or `false`.
1350
1354
  * @param expression An expression to calculate.
@@ -2245,7 +2249,8 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
2245
2249
  private getUpdatedPanelTitleActions;
2246
2250
  private getUpdatedPageTitleActions;
2247
2251
  getUpdatedMatrixRowActions(question: QuestionMatrixDropdownModelBase, row: any, actions: Array<IAction>): IAction[];
2248
- scrollElementToTop(element: ISurveyElement, question: Question, page: PageModel, id: string, scrollIfVisible?: boolean, scrollIntoViewOptions?: ScrollIntoViewOptions): any;
2252
+ skeletonHeight: number;
2253
+ scrollElementToTop(element: ISurveyElement, question: Question, page: PageModel, id: string, scrollIfVisible?: boolean, scrollIntoViewOptions?: ScrollIntoViewOptions, passedRootElement?: HTMLElement): any;
2249
2254
  /**
2250
2255
  * Opens a dialog window for users to select files.
2251
2256
  * @param input A [file input HTML element](https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement).
@@ -10,7 +10,7 @@ declare const isShadowDOM: (rootElement: Document | ShadowRoot | HTMLElement) =>
10
10
  declare const getElement: (element: HTMLElement | string) => HTMLElement;
11
11
  declare function isElementVisible(element: HTMLElement, threshold?: number): boolean;
12
12
  declare function findScrollableParent(element: HTMLElement): HTMLElement;
13
- declare function scrollElementByChildId(id: string): void;
13
+ declare function activateLazyRenderingChecks(id: string): void;
14
14
  declare function navigateToUrl(url: string): void;
15
15
  declare function wrapUrlForBackgroundImage(url: string): string;
16
16
  declare function getIconNameFromProxy(iconName: string): string;
@@ -69,4 +69,4 @@ export declare function setPropertiesOnElementForAnimation(el: HTMLElement, styl
69
69
  export declare function prepareElementForVerticalAnimation(el: HTMLElement): void;
70
70
  export declare function cleanHtmlElementAfterAnimation(el: HTMLElement): void;
71
71
  export declare function roundTo2Decimals(number: number): number;
72
- export { mergeValues, getElementWidth, isContainerVisible, classesToSelector, compareVersions, confirmAction, confirmActionAsync, detectIEOrEdge, detectIEBrowser, loadFileFromBase64, isMobile, isShadowDOM, getElement, isElementVisible, findScrollableParent, scrollElementByChildId, navigateToUrl, wrapUrlForBackgroundImage, createSvg, getIconNameFromProxy, increaseHeightByContent, getOriginalEvent, preventDefaults, findParentByClassNames, getFirstVisibleChild, chooseFiles };
72
+ export { mergeValues, getElementWidth, isContainerVisible, classesToSelector, compareVersions, confirmAction, confirmActionAsync, detectIEOrEdge, detectIEBrowser, loadFileFromBase64, isMobile, isShadowDOM, getElement, isElementVisible, findScrollableParent, activateLazyRenderingChecks, navigateToUrl, wrapUrlForBackgroundImage, createSvg, getIconNameFromProxy, increaseHeightByContent, getOriginalEvent, preventDefaults, findParentByClassNames, getFirstVisibleChild, chooseFiles };