survey-core 1.12.4 → 1.12.6

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 (252) hide show
  1. package/defaultV2.css +86 -6
  2. package/defaultV2.css.map +1 -1
  3. package/defaultV2.fontless.css +86 -6
  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 +1 -1
  114. package/modern.fontless.css +1 -1
  115. package/modern.fontless.min.css +1 -1
  116. package/modern.min.css +1 -1
  117. package/package.json +1 -1
  118. package/plugins/bootstrap-integration/index.js +1 -1
  119. package/plugins/bootstrap-integration/index.min.js +1 -1
  120. package/plugins/bootstrap-material-integration/index.js +1 -1
  121. package/plugins/bootstrap-material-integration/index.min.js +1 -1
  122. package/survey.core.js +619 -321
  123. package/survey.core.js.map +1 -1
  124. package/survey.core.min.js +3 -3
  125. package/survey.css +1 -1
  126. package/survey.i18n.js +1 -1
  127. package/survey.i18n.min.js +1 -1
  128. package/survey.min.css +1 -1
  129. package/themes/borderless-dark-panelless.js +1 -1
  130. package/themes/borderless-dark-panelless.min.js +1 -1
  131. package/themes/borderless-dark.js +1 -1
  132. package/themes/borderless-dark.min.js +1 -1
  133. package/themes/borderless-light-panelless..js +1 -1
  134. package/themes/borderless-light-panelless..min.js +1 -1
  135. package/themes/borderless-light.js +1 -1
  136. package/themes/borderless-light.min.js +1 -1
  137. package/themes/contrast-dark-panelless.js +1 -1
  138. package/themes/contrast-dark-panelless.min.js +1 -1
  139. package/themes/contrast-dark.js +1 -1
  140. package/themes/contrast-dark.min.js +1 -1
  141. package/themes/contrast-light-panelless.js +1 -1
  142. package/themes/contrast-light-panelless.min.js +1 -1
  143. package/themes/contrast-light.js +1 -1
  144. package/themes/contrast-light.min.js +1 -1
  145. package/themes/default-dark-panelless.js +1 -1
  146. package/themes/default-dark-panelless.min.js +1 -1
  147. package/themes/default-dark.js +1 -1
  148. package/themes/default-dark.min.js +1 -1
  149. package/themes/default-light-panelless.js +1 -1
  150. package/themes/default-light-panelless.min.js +1 -1
  151. package/themes/default-light.js +1 -1
  152. package/themes/default-light.min.js +1 -1
  153. package/themes/doubleborder-dark-panelless.js +1 -1
  154. package/themes/doubleborder-dark-panelless.min.js +1 -1
  155. package/themes/doubleborder-dark.js +1 -1
  156. package/themes/doubleborder-dark.min.js +1 -1
  157. package/themes/doubleborder-light-panelles.js +1 -1
  158. package/themes/doubleborder-light-panelles.min.js +1 -1
  159. package/themes/doubleborder-light.js +1 -1
  160. package/themes/doubleborder-light.min.js +1 -1
  161. package/themes/flat-dark-panelless.js +1 -1
  162. package/themes/flat-dark-panelless.min.js +1 -1
  163. package/themes/flat-dark.js +1 -1
  164. package/themes/flat-dark.min.js +1 -1
  165. package/themes/flat-light-panelless.js +1 -1
  166. package/themes/flat-light-panelless.min.js +1 -1
  167. package/themes/flat-light.js +1 -1
  168. package/themes/flat-light.min.js +1 -1
  169. package/themes/index.js +1 -1
  170. package/themes/index.min.js +1 -1
  171. package/themes/layered-dark-panelless.js +1 -1
  172. package/themes/layered-dark-panelless.min.js +1 -1
  173. package/themes/layered-dark.js +1 -1
  174. package/themes/layered-dark.min.js +1 -1
  175. package/themes/layered-light-panelless.js +1 -1
  176. package/themes/layered-light-panelless.min.js +1 -1
  177. package/themes/layered-light.js +1 -1
  178. package/themes/layered-light.min.js +1 -1
  179. package/themes/plain-dark-panelless.js +1 -1
  180. package/themes/plain-dark-panelless.min.js +1 -1
  181. package/themes/plain-dark.js +1 -1
  182. package/themes/plain-dark.min.js +1 -1
  183. package/themes/plain-light-panelless.js +1 -1
  184. package/themes/plain-light-panelless.min.js +1 -1
  185. package/themes/plain-light.js +1 -1
  186. package/themes/plain-light.min.js +1 -1
  187. package/themes/sharp-dark-panelless.js +1 -1
  188. package/themes/sharp-dark-panelless.min.js +1 -1
  189. package/themes/sharp-dark.js +1 -1
  190. package/themes/sharp-dark.min.js +1 -1
  191. package/themes/sharp-light-panelless.js +1 -1
  192. package/themes/sharp-light-panelless.min.js +1 -1
  193. package/themes/sharp-light.js +1 -1
  194. package/themes/sharp-light.min.js +1 -1
  195. package/themes/solid-dark-panelless.js +1 -1
  196. package/themes/solid-dark-panelless.min.js +1 -1
  197. package/themes/solid-dark.js +1 -1
  198. package/themes/solid-dark.min.js +1 -1
  199. package/themes/solid-light-panelless.js +1 -1
  200. package/themes/solid-light-panelless.min.js +1 -1
  201. package/themes/solid-light.js +1 -1
  202. package/themes/solid-light.min.js +1 -1
  203. package/themes/three-dimensional-dark-panelless.js +1 -1
  204. package/themes/three-dimensional-dark-panelless.min.js +1 -1
  205. package/themes/three-dimensional-dark.js +1 -1
  206. package/themes/three-dimensional-dark.min.js +1 -1
  207. package/themes/three-dimensional-light-panelless.js +1 -1
  208. package/themes/three-dimensional-light-panelless.min.js +1 -1
  209. package/themes/three-dimensional-light.js +1 -1
  210. package/themes/three-dimensional-light.min.js +1 -1
  211. package/ts3.4/typings/packages/survey-core/entries/chunks/model.d.ts +1 -1
  212. package/ts3.4/typings/packages/survey-core/src/base-interfaces.d.ts +2 -2
  213. package/ts3.4/typings/packages/survey-core/src/base.d.ts +4 -15
  214. package/ts3.4/typings/packages/survey-core/src/defaultCss/defaultV2Css.d.ts +1 -0
  215. package/ts3.4/typings/packages/survey-core/src/jsonobject.d.ts +2 -0
  216. package/ts3.4/typings/packages/survey-core/src/page.d.ts +8 -3
  217. package/ts3.4/typings/packages/survey-core/src/panel.d.ts +2 -0
  218. package/ts3.4/typings/packages/survey-core/src/question.d.ts +2 -2
  219. package/ts3.4/typings/packages/survey-core/src/question_baseselect.d.ts +0 -3
  220. package/ts3.4/typings/packages/survey-core/src/question_comment.d.ts +0 -3
  221. package/ts3.4/typings/packages/survey-core/src/question_file.d.ts +20 -2
  222. package/ts3.4/typings/packages/survey-core/src/question_matrixdropdownbase.d.ts +2 -0
  223. package/ts3.4/typings/packages/survey-core/src/question_matrixdynamic.d.ts +4 -0
  224. package/ts3.4/typings/packages/survey-core/src/question_text.d.ts +0 -1
  225. package/ts3.4/typings/packages/survey-core/src/survey-element.d.ts +16 -1
  226. package/ts3.4/typings/packages/survey-core/src/survey.d.ts +78 -31
  227. package/ts3.4/typings/packages/survey-core/src/surveyTimerModel.d.ts +1 -1
  228. package/ts3.4/typings/packages/survey-core/src/surveytimer.d.ts +1 -0
  229. package/ts3.4/typings/packages/survey-core/src/themes.d.ts +19 -13
  230. package/ts3.4/typings/packages/survey-core/src/utils/text-area.d.ts +1 -0
  231. package/ts3.4/typings/packages/survey-core/src/validator.d.ts +1 -0
  232. package/typings/packages/survey-core/entries/chunks/model.d.ts +1 -1
  233. package/typings/packages/survey-core/src/base-interfaces.d.ts +2 -2
  234. package/typings/packages/survey-core/src/base.d.ts +4 -15
  235. package/typings/packages/survey-core/src/defaultCss/defaultV2Css.d.ts +1 -0
  236. package/typings/packages/survey-core/src/jsonobject.d.ts +2 -0
  237. package/typings/packages/survey-core/src/page.d.ts +9 -3
  238. package/typings/packages/survey-core/src/panel.d.ts +2 -0
  239. package/typings/packages/survey-core/src/question.d.ts +2 -2
  240. package/typings/packages/survey-core/src/question_baseselect.d.ts +0 -3
  241. package/typings/packages/survey-core/src/question_comment.d.ts +0 -3
  242. package/typings/packages/survey-core/src/question_file.d.ts +21 -2
  243. package/typings/packages/survey-core/src/question_matrixdropdownbase.d.ts +2 -0
  244. package/typings/packages/survey-core/src/question_matrixdynamic.d.ts +4 -0
  245. package/typings/packages/survey-core/src/question_text.d.ts +0 -1
  246. package/typings/packages/survey-core/src/survey-element.d.ts +16 -1
  247. package/typings/packages/survey-core/src/survey.d.ts +84 -32
  248. package/typings/packages/survey-core/src/surveyTimerModel.d.ts +1 -1
  249. package/typings/packages/survey-core/src/surveytimer.d.ts +1 -0
  250. package/typings/packages/survey-core/src/themes.d.ts +19 -13
  251. package/typings/packages/survey-core/src/utils/text-area.d.ts +1 -0
  252. package/typings/packages/survey-core/src/validator.d.ts +1 -0
@@ -18,7 +18,7 @@ export interface ISurveyTimerText {
18
18
  onCurrentPageChanged: EventBase<SurveyModel>;
19
19
  }
20
20
  export declare class SurveyTimerModel extends Base {
21
- onTimer: (page: PageModel) => void;
21
+ onTimerTick: (page: PageModel) => void;
22
22
  private surveyValue;
23
23
  constructor(survey: ISurvey);
24
24
  text: string;
@@ -14,6 +14,7 @@ export declare class SurveyTimer {
14
14
  private listenerCounter;
15
15
  private timerId;
16
16
  private prevTimeInMs;
17
+ onTimerTick: EventBase<SurveyTimer, SurveyTimerEvent>;
17
18
  onTimer: EventBase<SurveyTimer, SurveyTimerEvent>;
18
19
  start(func?: (timer: SurveyTimer, options: SurveyTimerEvent) => void): void;
19
20
  stop(func?: (timer: SurveyTimer, options: SurveyTimerEvent) => any): void;
@@ -91,7 +91,13 @@ export interface IHeader {
91
91
  *
92
92
  * Default value: 256
93
93
  */
94
- height: number;
94
+ height?: number;
95
+ /**
96
+ * The height of the survey header on smartphones, measured in pixels.
97
+ *
98
+ * Default value: 0 (the height is calculated automatically to accommodate the header's content).
99
+ */
100
+ mobileHeight?: number;
95
101
  /**
96
102
  * A string value that specifies whether the header spans the width of the survey or that of the survey container.
97
103
  *
@@ -105,27 +111,27 @@ export interface IHeader {
105
111
  * @see [SurveyModel.width](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#width)
106
112
  * @see [SurveyModel.widthMode](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#widthMode)
107
113
  */
108
- inheritWidthFrom: "survey" | "container";
114
+ inheritWidthFrom?: "survey" | "container";
109
115
  /**
110
116
  * The width of the header area that contains the survey [title](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#title) and [description](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#description), measured in pixels.
111
117
  *
112
118
  * Default value: 512
113
119
  */
114
- textAreaWidth: number;
120
+ textAreaWidth?: number;
115
121
  /**
116
122
  * A Boolean value that specifies whether the header overlaps the survey content.
117
123
  *
118
124
  * Default value: `false`
119
125
  */
120
- overlapEnabled: boolean;
126
+ overlapEnabled?: boolean;
121
127
  /**
122
128
  * An image to display in the background of the header. Accepts a base64 or URL string value.
123
129
  */
124
- backgroundImage: string;
130
+ backgroundImage?: string;
125
131
  /**
126
132
  * A value from 0 to 1 that specifies how transparent the [background image](#backgroundImage) should be: 0 makes the image completely transparent, and 1 makes it opaque.
127
133
  */
128
- backgroundImageOpacity: number;
134
+ backgroundImageOpacity?: number;
129
135
  /**
130
136
  * A string value that specifies how to resize a [background image](#backgroundImage) to fit it into the header.
131
137
  *
@@ -140,7 +146,7 @@ export interface IHeader {
140
146
  * - `"tile"`\
141
147
  * Tiles as many copies of the image as needed to fill the entire header.
142
148
  */
143
- backgroundImageFit: "cover" | "fill" | "contain" | "tile";
149
+ backgroundImageFit?: "cover" | "fill" | "contain" | "tile";
144
150
  /**
145
151
  * A string value that specifies the logo position within the header in the horizontal direction.
146
152
  *
@@ -152,7 +158,7 @@ export interface IHeader {
152
158
  *
153
159
  * To specify a logo, set `SurveyModel`'s [`logo`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#logo) property.
154
160
  */
155
- logoPositionX: HorizontalAlignment;
161
+ logoPositionX?: HorizontalAlignment;
156
162
  /**
157
163
  * A string value that specifies the logo position within the header in the vertical direction.
158
164
  *
@@ -164,7 +170,7 @@ export interface IHeader {
164
170
  *
165
171
  * To specify a logo, set `SurveyModel`'s [`logo`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#logo) property.
166
172
  */
167
- logoPositionY: VerticalAlignment;
173
+ logoPositionY?: VerticalAlignment;
168
174
  /**
169
175
  * A string value that specifies the survey title position within the header in the horizontal direction.
170
176
  *
@@ -176,7 +182,7 @@ export interface IHeader {
176
182
  *
177
183
  * To specify a survey title, set `SurveyModel`'s [`title`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#title) property.
178
184
  */
179
- titlePositionX: HorizontalAlignment;
185
+ titlePositionX?: HorizontalAlignment;
180
186
  /**
181
187
  * A string value that specifies the survey title position within the header in the vertical direction.
182
188
  *
@@ -188,7 +194,7 @@ export interface IHeader {
188
194
  *
189
195
  * To specify a survey title, set `SurveyModel`'s [`title`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#title) property.
190
196
  */
191
- titlePositionY: VerticalAlignment;
197
+ titlePositionY?: VerticalAlignment;
192
198
  /**
193
199
  * A string value that specifies the survey description position within the header in the horizontal direction.
194
200
  *
@@ -200,7 +206,7 @@ export interface IHeader {
200
206
  *
201
207
  * To specify a survey description, set `SurveyModel`'s [`description`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#description) property.
202
208
  */
203
- descriptionPositionX: HorizontalAlignment;
209
+ descriptionPositionX?: HorizontalAlignment;
204
210
  /**
205
211
  * A string value that specifies the survey description position within the header in the vertical direction.
206
212
  *
@@ -212,5 +218,5 @@ export interface IHeader {
212
218
  *
213
219
  * To specify a survey description, set `SurveyModel`'s [`description`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#description) property.
214
220
  */
215
- descriptionPositionY: VerticalAlignment;
221
+ descriptionPositionY?: VerticalAlignment;
216
222
  }
@@ -27,6 +27,7 @@ export interface ITextArea {
27
27
  export declare class TextAreaModel {
28
28
  private options;
29
29
  private element;
30
+ private updateElement;
30
31
  private onPropertyChangedCallback;
31
32
  constructor(options: ITextArea);
32
33
  setElement(element: HTMLTextAreaElement | null): void;
@@ -16,6 +16,7 @@ export declare class SurveyValidator extends Base {
16
16
  errorOwner: ISurveyErrorOwner;
17
17
  onAsyncCompleted: (result: ValidatorResult) => void;
18
18
  constructor();
19
+ readonly isValidator: boolean;
19
20
  getSurvey(live?: boolean): ISurvey;
20
21
  /*
21
22
  * An error message to display when a value fails validation.
@@ -46,7 +46,7 @@ export { QuestionRankingModel } from "../../src/question_ranking";
46
46
  export { QuestionCommentModel } from "../../src/question_comment";
47
47
  export { QuestionDropdownModel } from "../../src/question_dropdown";
48
48
  export { QuestionFactory, ElementFactory } from "../../src/questionfactory";
49
- export { QuestionFileModel } from "../../src/question_file";
49
+ export { QuestionFileModel, QuestionFilePage } from "../../src/question_file";
50
50
  export { QuestionHtmlModel } from "../../src/question_html";
51
51
  export { QuestionRadiogroupModel } from "../../src/question_radiogroup";
52
52
  export { QuestionRatingModel, RenderedRatingItem } from "../../src/question_rating";
@@ -113,7 +113,7 @@ export interface ISurvey extends ITextProcessor, ISurveyErrorOwner {
113
113
  maxTextLength: number;
114
114
  maxOthersLength: number;
115
115
  clearValueOnDisableItems: boolean;
116
- maxTimeToFinishPage: number;
116
+ timeLimitPerPage: number;
117
117
  uploadFiles(question: IQuestion, name: string, files: File[], uploadingCallback: (data: any | Array<any>, errors?: any | Array<any>) => any): any;
118
118
  downloadFile(question: IQuestion, name: string, content: string, callback: (status: string, data: any) => any): any;
119
119
  clearFiles(question: IQuestion, name: string, value: any, fileName: string, clearCallback: (status: string, data: any) => any): any;
@@ -169,7 +169,7 @@ export interface ISurvey extends ITextProcessor, ISurveyErrorOwner {
169
169
  dynamicPanelGetTabTitle(question: IQuestion, options: any): any;
170
170
  dynamicPanelCurrentIndexChanged(question: IQuestion, options: any): void;
171
171
  dragAndDropAllow(options: DragDropAllowEvent): boolean;
172
- scrollElementToTop(element: ISurveyElement, question: IQuestion, page: IPage, id: string, scrollIfVisible?: boolean, scrollIntoViewOptions?: ScrollIntoViewOptions): any;
172
+ scrollElementToTop(element: ISurveyElement, question: IQuestion, page: IPage, id: string, scrollIfVisible?: boolean, scrollIntoViewOptions?: ScrollIntoViewOptions, passedRootElement?: HTMLElement, onScolledCallback?: () => void): any;
173
173
  runExpression(expression: string, callback?: (res: any) => void): any;
174
174
  elementContentVisibilityChanged(element: ISurveyElement): void;
175
175
  onCorrectQuestionAnswer(question: IQuestion, options: any): void;
@@ -302,25 +302,14 @@ export declare class Base {
302
302
  private animationAllowedLock;
303
303
  blockAnimations(): void;
304
304
  releaseAnimations(): void;
305
- supportOnElementRenderedEvent: boolean;
306
- onElementRenderedEventEnabled: boolean;
307
- enableOnElementRenderedEvent(): void;
308
- disableOnElementRenderedEvent(): void;
305
+ supportOnElementRerenderedEvent: boolean;
306
+ onElementRerenderedEventEnabled: boolean;
307
+ enableOnElementRerenderedEvent(): void;
308
+ disableOnElementRerenderedEvent(): void;
309
309
  protected _onElementRerendered: EventBase<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
- }
324
313
  export declare class ArrayChanges<T = any> {
325
314
  index: number;
326
315
  deleteCount: number;
@@ -711,6 +711,7 @@ export declare var defaultV2Css: {
711
711
  changeCameraButton: string;
712
712
  takePictureButton: string;
713
713
  loadingIndicator: string;
714
+ page: string;
714
715
  };
715
716
  signaturepad: {
716
717
  mainRoot: string;
@@ -40,6 +40,7 @@ export interface IJsonPropertyInfo {
40
40
  isSerializable?: boolean;
41
41
  isLightSerializable?: boolean;
42
42
  readOnly?: boolean;
43
+ availableInMatrixColumn?: boolean;
43
44
  serializationProperty?: string;
44
45
  dependsOn?: Array<string> | string;
45
46
  isBindable?: boolean;
@@ -113,6 +114,7 @@ export declare class JsonObjectProperty implements IObject, IJsonPropertyInfo {
113
114
  nextToProperty: string;
114
115
  overridingProperty: string;
115
116
  showMode: string;
117
+ availableInMatrixColumn: boolean;
116
118
  maxLength: number;
117
119
  maxValue: any;
118
120
  minValue: any;
@@ -81,7 +81,7 @@ export declare class PageModel extends PanelModelBase implements IPage {
81
81
  scrollToTop(): void;
82
82
  /**
83
83
  * A time period that a respondent has spent on this page so far; measured in seconds. Applies only to [quiz surveys](https://surveyjs.io/form-library/documentation/design-survey-create-a-quiz).
84
- * @see maxTimeToFinish
84
+ * @see timeLimit
85
85
  */
86
86
  timeSpent: number;
87
87
  /**
@@ -94,11 +94,17 @@ export declare class PageModel extends PanelModelBase implements IPage {
94
94
  /**
95
95
  * A time period that a respondent has to complete this page; measured in seconds. Applies only to [quiz surveys](https://surveyjs.io/form-library/documentation/design-survey-create-a-quiz).
96
96
  *
97
- * A negative value or 0 sets an unlimited time period.
97
+ * Default value: 0 (time is unlimited)
98
98
  *
99
- * Alternatively, you can use the `SurveyModel`'s [`maxTimeToFinishPage`](https://surveyjs.io/form-library/documentation/surveymodel#maxTimeToFinishPage) property to specify identical time periods for all survey pages.
99
+ * Alternatively, you can use the `SurveyModel`'s [`timeLimitPerPage`](https://surveyjs.io/form-library/documentation/surveymodel#timeLimitPerPage) property to specify identical time periods for all survey pages.
100
100
  * @see timeSpent
101
101
  */
102
+ get timeLimit(): number;
103
+ set timeLimit(val: number);
104
+ /**
105
+ * Obsolete. Use the [`timeLimit`](https://surveyjs.io/form-library/documentation/api-reference/page-model#timeLimit) property instead.
106
+ * @deprecated
107
+ */
102
108
  get maxTimeToFinish(): number;
103
109
  set maxTimeToFinish(val: number);
104
110
  getMaxTimeToFinish(): number;
@@ -475,6 +475,7 @@ export declare class PanelModelBase extends SurveyElement<Question> implements I
475
475
  get cssError(): string;
476
476
  protected getCssError(cssClasses: any): string;
477
477
  getSerializableColumnsValue(): Array<PanelLayoutColumnModel>;
478
+ afterRender(el: HTMLElement): void;
478
479
  dispose(): void;
479
480
  }
480
481
  /**
@@ -602,4 +603,5 @@ export declare class PanelModel extends PanelModelBase implements IElement {
602
603
  [index: string]: string;
603
604
  }): string;
604
605
  getContainerCss(): string;
606
+ afterRenderCore(element: HTMLElement): void;
605
607
  }
@@ -376,7 +376,7 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
376
376
  onCommentChange(event: any): void;
377
377
  afterRenderQuestionElement(el: HTMLElement): void;
378
378
  afterRender(el: HTMLElement): void;
379
- afterRenderCore(el: HTMLElement): void;
379
+ afterRenderCore(element: HTMLElement): void;
380
380
  protected getCommentElementsId(): Array<string>;
381
381
  beforeDestroyQuestionElement(el: HTMLElement): void;
382
382
  get processedTitle(): string;
@@ -435,7 +435,6 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
435
435
  * @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.
436
436
  */
437
437
  focus(onError?: boolean, scrollIfVisible?: boolean): void;
438
- private focuscore;
439
438
  focusInputElement(onError: boolean): void;
440
439
  private get isValidateVisitedEmptyFields();
441
440
  private isFocusEmpty;
@@ -881,6 +880,7 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
881
880
  clearUnusedValues(): void;
882
881
  onAnyValueChanged(name: string, questionName: string): void;
883
882
  checkBindings(valueName: string, value: any): void;
883
+ protected updateBindingProp(propName: string, value: any): void;
884
884
  getComponentName(): string;
885
885
  isDefaultRendering(): boolean;
886
886
  renderAs: string;
@@ -511,9 +511,6 @@ export declare class QuestionSelectBase extends Question {
511
511
  getItemId(item: ItemValue): string;
512
512
  get questionName(): string;
513
513
  getItemEnabled(item: ItemValue): boolean;
514
- protected rootElement: HTMLElement;
515
- afterRender(el: HTMLElement): void;
516
- beforeDestroyQuestionElement(el: HTMLElement): void;
517
514
  private focusOtherComment;
518
515
  private prevIsOtherSelected;
519
516
  protected onValueChanged(): void;
@@ -46,13 +46,10 @@ export declare class QuestionCommentModel extends QuestionTextBase {
46
46
  get resizeStyle(): "none" | "both";
47
47
  getType(): string;
48
48
  afterRenderQuestionElement(el: HTMLElement): void;
49
- updateElement(): void;
50
49
  beforeDestroyQuestionElement(el: HTMLElement): void;
51
50
  onInput(event: any): void;
52
51
  protected onBlurCore(event: any): void;
53
52
  onKeyDown(event: any): void;
54
- protected setQuestionValue(newValue: any, updateIsAnswered?: boolean): void;
55
- onValueChanged(): void;
56
53
  protected setNewValue(newValue: string): any;
57
54
  protected getValueSeparator(): string;
58
55
  get className(): string;
@@ -1,6 +1,6 @@
1
1
  import { IPlainDataOptions } from "./base-interfaces";
2
2
  import { IQuestionPlainData, Question } from "./question";
3
- import { EventBase } from "./base";
3
+ import { EventBase, Base } from "./base";
4
4
  import { SurveyError } from "./survey-error";
5
5
  import { ActionContainer } from "./actions/container";
6
6
  import { Action } from "./actions/action";
@@ -48,6 +48,16 @@ export declare class QuestionFileModelBase extends Question {
48
48
  protected loadPreview(newValue: any): void;
49
49
  protected onChangeQuestionValue(newValue: any): void;
50
50
  }
51
+ export declare class QuestionFilePage extends Base {
52
+ private question;
53
+ private index;
54
+ private static pageCounter;
55
+ private static getId;
56
+ items: Array<any>;
57
+ id: string;
58
+ constructor(question: QuestionFileModel, index: number);
59
+ get css(): string;
60
+ }
51
61
  /**
52
62
  * A class that describes the File Upload question type.
53
63
  *
@@ -56,6 +66,8 @@ export declare class QuestionFileModelBase extends Question {
56
66
  export declare class QuestionFileModel extends QuestionFileModelBase {
57
67
  isDragging: boolean;
58
68
  previewValue: any[];
69
+ pages: QuestionFilePage[];
70
+ navigationDirection: "left" | "right" | "left-delete";
59
71
  indexToShow: number;
60
72
  pageSize: number;
61
73
  containsMultiplyFiles: boolean;
@@ -84,6 +96,7 @@ export declare class QuestionFileModel extends QuestionFileModelBase {
84
96
  startCameraAction: Action;
85
97
  cleanAction: Action;
86
98
  actionsContainer: ActionContainer;
99
+ get supportFileNavigator(): boolean;
87
100
  private isFileLoadingValue;
88
101
  protected get isFileLoading(): boolean;
89
102
  protected set isFileLoading(val: boolean);
@@ -108,9 +121,10 @@ export declare class QuestionFileModel extends QuestionFileModelBase {
108
121
  protected updateElementCssCore(cssClasses: any): void;
109
122
  private getFileIndexCaption;
110
123
  private updateFileNavigator;
124
+ private updateRenderedPages;
125
+ private updatePages;
111
126
  private prevPreviewLength;
112
127
  private previewValueChanged;
113
- isPreviewVisible(index: number): boolean;
114
128
  getType(): string;
115
129
  /**
116
130
  * Disable this property only to implement a custom preview.
@@ -248,6 +262,11 @@ export declare class QuestionFileModel extends QuestionFileModelBase {
248
262
  protected supportResponsiveness(): boolean;
249
263
  protected getObservedElementSelector(): string;
250
264
  private getFileListSelector;
265
+ private _renderedPages;
266
+ get renderedPages(): Array<QuestionFilePage>;
267
+ set renderedPages(val: Array<QuestionFilePage>);
268
+ private getPagesAnimationOptions;
269
+ private pagesAnimation;
251
270
  private calcAvailableItemsCount;
252
271
  private calculatedGapBetweenItems;
253
272
  private calculatedItemWidth;
@@ -70,6 +70,7 @@ export declare class MatrixDropdownRowModelBase implements ISurveyData, ISurveyI
70
70
  static OwnerVariableName: string;
71
71
  static IndexVariableName: string;
72
72
  static RowValueVariableName: string;
73
+ static RowNameVariableName: string;
73
74
  private static idCounter;
74
75
  private static getId;
75
76
  protected data: IMatrixDropdownData;
@@ -161,6 +162,7 @@ export declare class MatrixDropdownRowModelBase implements ISurveyData, ISurveyI
161
162
  getSurvey(): ISurvey;
162
163
  getTextProcessor(): ITextProcessor;
163
164
  get rowIndex(): number;
165
+ protected getRowIndex(): number;
164
166
  get editingObj(): Base;
165
167
  private onEditingObjPropertyChanged;
166
168
  private editingObjValue;
@@ -7,6 +7,7 @@ export declare class MatrixDynamicRowModel extends MatrixDropdownRowModelBase im
7
7
  index: number;
8
8
  private dragOrClickHelper;
9
9
  constructor(index: number, data: IMatrixDropdownData, value: any);
10
+ protected getRowIndex(): number;
10
11
  get rowName(): string;
11
12
  get dataName(): string;
12
13
  get text(): any;
@@ -79,6 +80,7 @@ export declare class QuestionMatrixDynamicModel extends QuestionMatrixDropdownMo
79
80
  */
80
81
  get rowCount(): number;
81
82
  set rowCount(val: number);
83
+ protected updateBindingProp(propName: string, value: any): void;
82
84
  protected updateProgressInfoByValues(res: IProgressInfo): void;
83
85
  private getValueForNewRow;
84
86
  /**
@@ -105,6 +107,7 @@ export declare class QuestionMatrixDynamicModel extends QuestionMatrixDropdownMo
105
107
  */
106
108
  get minRowCount(): number;
107
109
  set minRowCount(val: number);
110
+ private onMinRowCountChanged;
108
111
  /**
109
112
  * A maximum number of rows in the matrix. Users cannot add new rows if `rowCount` equals `maxRowCount`.
110
113
  *
@@ -115,6 +118,7 @@ export declare class QuestionMatrixDynamicModel extends QuestionMatrixDropdownMo
115
118
  */
116
119
  get maxRowCount(): number;
117
120
  set maxRowCount(val: number);
121
+ private onMaxRowCountChanged;
118
122
  /**
119
123
  * Specifies whether users are allowed to add new rows.
120
124
  *
@@ -177,7 +177,6 @@ export declare class QuestionTextModel extends QuestionTextBase {
177
177
  set dataList(val: Array<string>);
178
178
  get locDataList(): LocalizableStrings;
179
179
  get dataListId(): string;
180
- protected canRunValidators(isOnValueChanged: boolean): boolean;
181
180
  protected setNewValue(newValue: any): void;
182
181
  protected correctValueType(newValue: any): any;
183
182
  protected hasPlaceholder(): boolean;
@@ -1,4 +1,4 @@
1
- import { Base } from "./base";
1
+ import { Base, EventBase } from "./base";
2
2
  import { IAction } from "./actions/action";
3
3
  import { AdaptiveActionContainer } from "./actions/adaptive-container";
4
4
  import { ISurveyElement, IPage, IPanel, IProgressInfo, ISurvey, ISurveyData, ISurveyImpl, ITextProcessor, ITitleOwner } from "./base-interfaces";
@@ -104,6 +104,8 @@ export declare class SurveyElement<E = any> extends SurveyElementCore implements
104
104
  dragTypeOverMe: DragTypeOverMeEnum;
105
105
  isDragMe: boolean;
106
106
  readOnlyChangedCallback: () => void;
107
+ private static IsNeedScrollIntoView;
108
+ static ScrollIntoView(el: HTMLElement, scrollIntoViewOptions?: ScrollIntoViewOptions, doneCallback?: () => void): void;
107
109
  static ScrollElementToTop(elementId: string, scrollIfVisible?: boolean, scrollIntoViewOptions?: ScrollIntoViewOptions, doneCallback?: () => void): boolean;
108
110
  static ScrollElementToViewCore(el: HTMLElement, checkLeft: boolean, scrollIfVisible?: boolean, scrollIntoViewOptions?: ScrollIntoViewOptions, doneCallback?: () => void): boolean;
109
111
  static GetFirstNonTextElement(elements: any, removeSpaces?: boolean): any;
@@ -429,5 +431,18 @@ export declare class SurveyElement<E = any> extends SurveyElementCore implements
429
431
  set renderedIsExpanded(val: boolean);
430
432
  get renderedIsExpanded(): boolean;
431
433
  protected getIsAnimationAllowed(): boolean;
434
+ onAfterRenderElement: EventBase<SurveyElement<E>, any>;
435
+ afterRenderCore(element: HTMLElement): void;
436
+ dispose(): void;
437
+ }
438
+ export declare class RenderingCompletedAwaiter {
439
+ private _elements;
440
+ private _renderedHandler;
441
+ constructor(_elements: Array<SurveyElement>, _renderedHandler: () => void, waitingTimeout?: number);
442
+ private _elementsToRenderCount;
443
+ private _elementsToRenderTimer;
444
+ private _elementRenderedHandler;
445
+ private stopWaitingForElementsRendering;
446
+ private visibleElementsRendered;
432
447
  dispose(): void;
433
448
  }