survey-core 1.9.136 → 1.9.138

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 (257) hide show
  1. package/defaultV2.css +353 -9
  2. package/defaultV2.css.map +1 -1
  3. package/defaultV2.fontless.css +353 -9
  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 +2 -2
  34. package/i18n/german.js.map +1 -1
  35. package/i18n/german.min.js +2 -2
  36. package/i18n/greek.js +1 -1
  37. package/i18n/greek.min.js +1 -1
  38. package/i18n/hebrew.js +2 -2
  39. package/i18n/hebrew.js.map +1 -1
  40. package/i18n/hebrew.min.js +2 -2
  41. package/i18n/hindi.js +1 -1
  42. package/i18n/hindi.min.js +1 -1
  43. package/i18n/hungarian.js +1 -1
  44. package/i18n/hungarian.min.js +1 -1
  45. package/i18n/icelandic.js +1 -1
  46. package/i18n/icelandic.min.js +1 -1
  47. package/i18n/index.js +3 -3
  48. package/i18n/index.js.map +1 -1
  49. package/i18n/index.min.js +2 -2
  50. package/i18n/indonesian.js +1 -1
  51. package/i18n/indonesian.min.js +1 -1
  52. package/i18n/italian.js +1 -1
  53. package/i18n/italian.min.js +1 -1
  54. package/i18n/japanese.js +1 -1
  55. package/i18n/japanese.min.js +1 -1
  56. package/i18n/kazakh.js +1 -1
  57. package/i18n/kazakh.min.js +1 -1
  58. package/i18n/korean.js +1 -1
  59. package/i18n/korean.min.js +1 -1
  60. package/i18n/latvian.js +1 -1
  61. package/i18n/latvian.min.js +1 -1
  62. package/i18n/lithuanian.js +1 -1
  63. package/i18n/lithuanian.min.js +1 -1
  64. package/i18n/macedonian.js +1 -1
  65. package/i18n/macedonian.min.js +1 -1
  66. package/i18n/malay.js +1 -1
  67. package/i18n/malay.min.js +1 -1
  68. package/i18n/nl-BE.js +1 -1
  69. package/i18n/nl-BE.min.js +1 -1
  70. package/i18n/norwegian.js +1 -1
  71. package/i18n/norwegian.min.js +1 -1
  72. package/i18n/persian.js +1 -1
  73. package/i18n/persian.min.js +1 -1
  74. package/i18n/polish.js +1 -1
  75. package/i18n/polish.min.js +1 -1
  76. package/i18n/portuguese-br.js +1 -1
  77. package/i18n/portuguese-br.min.js +1 -1
  78. package/i18n/portuguese.js +1 -1
  79. package/i18n/portuguese.min.js +1 -1
  80. package/i18n/romanian.js +1 -1
  81. package/i18n/romanian.min.js +1 -1
  82. package/i18n/russian.js +1 -1
  83. package/i18n/russian.min.js +1 -1
  84. package/i18n/serbian.js +1 -1
  85. package/i18n/serbian.min.js +1 -1
  86. package/i18n/simplified-chinese.js +1 -1
  87. package/i18n/simplified-chinese.min.js +1 -1
  88. package/i18n/slovak.js +1 -1
  89. package/i18n/slovak.min.js +1 -1
  90. package/i18n/spanish.js +1 -1
  91. package/i18n/spanish.min.js +1 -1
  92. package/i18n/swahili.js +1 -1
  93. package/i18n/swahili.min.js +1 -1
  94. package/i18n/swedish.js +1 -1
  95. package/i18n/swedish.min.js +1 -1
  96. package/i18n/tajik.js +1 -1
  97. package/i18n/tajik.min.js +1 -1
  98. package/i18n/telugu.js +1 -1
  99. package/i18n/telugu.min.js +1 -1
  100. package/i18n/thai.js +1 -1
  101. package/i18n/thai.min.js +1 -1
  102. package/i18n/traditional-chinese.js +1 -1
  103. package/i18n/traditional-chinese.min.js +1 -1
  104. package/i18n/turkish.js +1 -1
  105. package/i18n/turkish.min.js +1 -1
  106. package/i18n/ukrainian.js +1 -1
  107. package/i18n/ukrainian.min.js +1 -1
  108. package/i18n/urdu.js +1 -1
  109. package/i18n/urdu.min.js +1 -1
  110. package/i18n/vietnamese.js +1 -1
  111. package/i18n/vietnamese.min.js +1 -1
  112. package/i18n/welsh.js +1 -1
  113. package/i18n/welsh.min.js +1 -1
  114. package/modern.css +187 -1
  115. package/modern.css.map +1 -1
  116. package/modern.fontless.css +187 -1
  117. package/modern.fontless.css.map +1 -1
  118. package/modern.fontless.min.css +2 -2
  119. package/modern.min.css +2 -2
  120. package/package.json +1 -1
  121. package/plugins/bootstrap-integration.js +1 -1
  122. package/plugins/bootstrap-integration.min.js +1 -1
  123. package/plugins/bootstrap-material-integration.js +1 -1
  124. package/plugins/bootstrap-material-integration.min.js +1 -1
  125. package/survey.core.js +1218 -233
  126. package/survey.core.js.map +1 -1
  127. package/survey.core.min.js +3 -3
  128. package/survey.css +1 -1
  129. package/survey.css.map +1 -1
  130. package/survey.i18n.js +3 -3
  131. package/survey.i18n.js.map +1 -1
  132. package/survey.i18n.min.js +2 -2
  133. package/survey.min.css +1 -1
  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/base.d.ts +4 -4
  217. package/ts3.4/typings/defaultCss/defaultV2Css.d.ts +14 -0
  218. package/ts3.4/typings/dragdrop/matrix-rows.d.ts +2 -1
  219. package/ts3.4/typings/dragdrop/ranking-choices.d.ts +1 -1
  220. package/ts3.4/typings/dragdrop/ranking-select-to-rank.d.ts +6 -3
  221. package/ts3.4/typings/entries/core-wo-model.d.ts +1 -0
  222. package/ts3.4/typings/mask/input_element_adapter.d.ts +1 -0
  223. package/ts3.4/typings/mask/mask_datetime.d.ts +12 -2
  224. package/ts3.4/typings/mask/mask_numeric.d.ts +1 -1
  225. package/ts3.4/typings/panel.d.ts +17 -4
  226. package/ts3.4/typings/popup-view-model.d.ts +14 -5
  227. package/ts3.4/typings/question_custom.d.ts +11 -0
  228. package/ts3.4/typings/question_imagepicker.d.ts +36 -6
  229. package/ts3.4/typings/question_matrixdropdowncolumn.d.ts +1 -2
  230. package/ts3.4/typings/question_matrixdynamic.d.ts +1 -0
  231. package/ts3.4/typings/question_multipletext.d.ts +67 -20
  232. package/ts3.4/typings/question_ranking.d.ts +12 -3
  233. package/ts3.4/typings/question_text.d.ts +2 -0
  234. package/ts3.4/typings/survey-element.d.ts +12 -1
  235. package/ts3.4/typings/utils/animation.d.ts +54 -0
  236. package/ts3.4/typings/utils/taskmanager.d.ts +28 -0
  237. package/typings/base.d.ts +4 -4
  238. package/typings/defaultCss/defaultV2Css.d.ts +14 -0
  239. package/typings/dragdrop/matrix-rows.d.ts +2 -1
  240. package/typings/dragdrop/ranking-choices.d.ts +1 -1
  241. package/typings/dragdrop/ranking-select-to-rank.d.ts +6 -3
  242. package/typings/entries/core-wo-model.d.ts +1 -0
  243. package/typings/mask/input_element_adapter.d.ts +1 -0
  244. package/typings/mask/mask_datetime.d.ts +12 -2
  245. package/typings/mask/mask_numeric.d.ts +1 -1
  246. package/typings/panel.d.ts +18 -3
  247. package/typings/popup-view-model.d.ts +15 -5
  248. package/typings/question_custom.d.ts +11 -0
  249. package/typings/question_imagepicker.d.ts +36 -6
  250. package/typings/question_matrixdropdowncolumn.d.ts +1 -2
  251. package/typings/question_matrixdynamic.d.ts +2 -0
  252. package/typings/question_multipletext.d.ts +70 -20
  253. package/typings/question_ranking.d.ts +12 -1
  254. package/typings/question_text.d.ts +2 -0
  255. package/typings/survey-element.d.ts +15 -1
  256. package/typings/utils/animation.d.ts +50 -0
  257. package/typings/utils/taskmanager.d.ts +28 -0
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - Survey JavaScript library v1.9.136
2
+ * surveyjs - Survey JavaScript library v1.9.138
3
3
  * Copyright (c) 2015-2024 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - Survey JavaScript library v1.9.136
2
+ * surveyjs - Survey JavaScript library v1.9.138
3
3
  * Copyright (c) 2015-2024 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - Survey JavaScript library v1.9.136
2
+ * surveyjs - Survey JavaScript library v1.9.138
3
3
  * Copyright (c) 2015-2024 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - Survey JavaScript library v1.9.136
2
+ * surveyjs - Survey JavaScript library v1.9.138
3
3
  * Copyright (c) 2015-2024 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - Survey JavaScript library v1.9.136
2
+ * surveyjs - Survey JavaScript library v1.9.138
3
3
  * Copyright (c) 2015-2024 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - Survey JavaScript library v1.9.136
2
+ * surveyjs - Survey JavaScript library v1.9.138
3
3
  * Copyright (c) 2015-2024 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - Survey JavaScript library v1.9.136
2
+ * surveyjs - Survey JavaScript library v1.9.138
3
3
  * Copyright (c) 2015-2024 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - Survey JavaScript library v1.9.136
2
+ * surveyjs - Survey JavaScript library v1.9.138
3
3
  * Copyright (c) 2015-2024 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - Survey JavaScript library v1.9.136
2
+ * surveyjs - Survey JavaScript library v1.9.138
3
3
  * Copyright (c) 2015-2024 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
5
5
  */
@@ -292,12 +292,12 @@ export declare class Base {
292
292
  private getValueInLowCase;
293
293
  getElementsInDesign(includeHidden?: boolean): Array<IElement>;
294
294
  }
295
- export declare class ArrayChanges {
295
+ export declare class ArrayChanges<T = any> {
296
296
  index: number;
297
297
  deleteCount: number;
298
- itemsToAdd: any[];
299
- deletedItems: any[];
300
- constructor(index: number, deleteCount: number, itemsToAdd: any[], deletedItems: any[]);
298
+ itemsToAdd: T[];
299
+ deletedItems: T[];
300
+ constructor(index: number, deleteCount: number, itemsToAdd: T[], deletedItems: T[]);
301
301
  }
302
302
  export declare class Event<CallbackFunction extends Function, Sender, Options> {
303
303
  onCallbacksChanged: () => void;
@@ -45,6 +45,10 @@ export declare var defaultV2Css: {
45
45
  edit: string;
46
46
  };
47
47
  panel: {
48
+ contentFadeIn: string;
49
+ contentFadeOut: string;
50
+ fadeIn: string;
51
+ fadeOut: string;
48
52
  asPage: string;
49
53
  number: string;
50
54
  title: string;
@@ -67,6 +71,8 @@ export declare var defaultV2Css: {
67
71
  header: string;
68
72
  collapsed: string;
69
73
  expanded: string;
74
+ expandable: string;
75
+ expandableAnimating: string;
70
76
  nested: string;
71
77
  invisible: string;
72
78
  navigationButton: string;
@@ -154,8 +160,14 @@ export declare var defaultV2Css: {
154
160
  row: string;
155
161
  rowMultiple: string;
156
162
  rowCompact: string;
163
+ rowFadeIn: string;
164
+ rowFadeOut: string;
157
165
  pageRow: string;
158
166
  question: {
167
+ contentFadeIn: string;
168
+ contentFadeOut: string;
169
+ fadeIn: string;
170
+ fadeOut: string;
159
171
  mainRoot: string;
160
172
  flowRoot: string;
161
173
  withFrame: string;
@@ -198,6 +210,8 @@ export declare var defaultV2Css: {
198
210
  hasErrorTop: string;
199
211
  hasErrorBottom: string;
200
212
  collapsed: string;
213
+ expandable: string;
214
+ expandableAnimating: string;
201
215
  expanded: string;
202
216
  nested: string;
203
217
  invisible: string;
@@ -1,5 +1,5 @@
1
1
  import { MatrixDropdownRowModelBase } from "../question_matrixdropdownbase";
2
- import { QuestionMatrixDynamicModel } from "../question_matrixdynamic";
2
+ import { QuestionMatrixDynamicModel, MatrixDynamicRowModel } from "../question_matrixdynamic";
3
3
  import { DragDropCore } from "./core";
4
4
  export declare class DragDropMatrixRows extends DragDropCore<QuestionMatrixDynamicModel> {
5
5
  protected readonly draggedElementType: string;
@@ -9,6 +9,7 @@ export declare class DragDropMatrixRows extends DragDropCore<QuestionMatrixDynam
9
9
  private fromIndex;
10
10
  private toIndex;
11
11
  protected getDropTargetByDataAttributeValue(dataAttributeValue: any): MatrixDropdownRowModelBase;
12
+ canInsertIntoThisRow(row: MatrixDynamicRowModel): boolean;
12
13
  protected isDropTargetValid(dropTarget: any, dropTargetNode?: HTMLElement): boolean;
13
14
  protected calculateIsBottom(clientY: number): boolean;
14
15
  protected afterDragOver(dropTargetNode: HTMLElement): void;
@@ -15,6 +15,6 @@ export declare class DragDropRankingChoices extends DragDropChoices {
15
15
  protected updateDraggedElementShortcut(newIndex: number): void;
16
16
  protected ghostPositionChanged(): void;
17
17
  protected doBanDropHere: () => any;
18
- protected doDrop: () => any;
18
+ protected doDrop(): any;
19
19
  clear(): void;
20
20
  }
@@ -12,12 +12,15 @@ export declare class DragDropRankingSelectToRank extends DragDropRankingChoices
12
12
  fromIndex: number;
13
13
  toIndex: number;
14
14
  };
15
+ protected calculateIsBottom(clientY: number, dropTargetNode?: HTMLElement): boolean;
15
16
  private doUIEffects;
16
17
  private readonly isDraggedElementRanked: any;
17
18
  private readonly isDropTargetRanked: any;
18
19
  private readonly isDraggedElementUnranked: any;
19
20
  private readonly isDropTargetUnranked: any;
20
- selectToRank(questionModel: QuestionRankingModel, fromIndex: number, toIndex: number): void;
21
- unselectFromRank(questionModel: QuestionRankingModel, fromIndex: number, toIndex?: number): void;
22
- reorderRankedItem(questionModel: QuestionRankingModel, fromIndex: number, toIndex: number): void;
21
+ private updateChoices;
22
+ selectToRank: (questionModel: QuestionRankingModel, fromIndex: number, toIndex: number) => void;
23
+ unselectFromRank: (questionModel: QuestionRankingModel, fromIndex: number, toIndex?: number) => void;
24
+ reorderRankedItem: (questionModel: QuestionRankingModel, fromIndex: number, toIndex: number, dropTargetNode?: HTMLElement) => void;
25
+ clear(): void;
23
26
  }
@@ -6,6 +6,7 @@ export * from "../rendererFactory";
6
6
  export * from "../utils/responsivity-manager";
7
7
  export { unwrap, getOriginalEvent, getElement } from "../utils/utils";
8
8
  export * from "../actions/action";
9
+ export * from "../utils/animation";
9
10
  export * from "../actions/adaptive-container";
10
11
  export * from "../actions/container";
11
12
  export * from "../utils/dragOrClickHelper";
@@ -6,6 +6,7 @@ export declare class InputElementAdapter {
6
6
  private prevUnmaskedValue;
7
7
  constructor(inputMaskInstance: InputMaskBase, inputElement: HTMLInputElement, value?: string);
8
8
  inputMaskInstancePropertyChangedHandler: (sender: any, options: any) => void;
9
+ clickHandler: (event: any) => void;
9
10
  beforeInputHandler: (event: any) => void;
10
11
  createArgs(event: any): ITextInputParams;
11
12
  addInputEventListener(): void;
@@ -6,6 +6,16 @@ export interface IDateTimeMaskLexem {
6
6
  count: number;
7
7
  maxCount: number;
8
8
  }
9
+ interface IDateTimeComposition {
10
+ day: number;
11
+ month: number;
12
+ year: number;
13
+ hour?: number;
14
+ minute?: number;
15
+ second?: number;
16
+ min?: Date;
17
+ max?: Date;
18
+ }
9
19
  export declare function getDateTimeLexems(pattern: string): Array<IDateTimeMaskLexem>;
10
20
  /**
11
21
  * A class that describes an input mask of the `"datetime"` [`maskType`](https://surveyjs.io/form-library/documentation/api-reference/text-entry-question-model#maskType).
@@ -46,7 +56,7 @@ export declare class InputMaskDateTime extends InputMaskPattern {
46
56
  private leaveOnlyNumbers;
47
57
  private getMaskedStrFromISO;
48
58
  private initInputDateTimeData;
49
- private getISO_8601Format;
59
+ getISO_8601Format(dateTime: IDateTimeComposition): string;
50
60
  private isYearValid;
51
61
  private isDateValid;
52
62
  private getPlaceholder;
@@ -57,9 +67,9 @@ export declare class InputMaskDateTime extends InputMaskPattern {
57
67
  private getFormatedString;
58
68
  private setInputDateTimeData;
59
69
  _getMaskedValue(src: string, matchWholeMask?: boolean): string;
60
- private getPartsOld;
61
70
  private getParts;
62
71
  getUnmaskedValue(src: string): any;
63
72
  getMaskedValue(src: string): string;
64
73
  processInput(args: ITextInputParams): IMaskedInputResult;
65
74
  }
75
+ export {};
@@ -75,7 +75,7 @@ export declare class InputMaskNumeric extends InputMaskBase {
75
75
  private calccaretPosition;
76
76
  displayNumber(parsedNumber: INumericalComposition, insertThousandsSeparator?: boolean, matchWholeMask?: boolean): string;
77
77
  convertNumber(parsedNumber: INumericalComposition): number;
78
- validateNumber(number: INumericalComposition): boolean;
78
+ validateNumber(number: INumericalComposition, matchWholeMask: boolean): boolean;
79
79
  parseNumber(src: string | number): INumericalComposition;
80
80
  getNumberMaskedValue(src: string | number, matchWholeMask?: boolean): string;
81
81
  private getNumberUnmaskedValue;
@@ -9,6 +9,7 @@ import { SurveyError } from "./survey-error";
9
9
  import { IAction } from "./actions/action";
10
10
  import { ActionContainer } from "./actions/container";
11
11
  import { DragDropInfo } from "./drag-drop-helper-v1";
12
+ import { AnimationGroup } from "./utils/animation";
12
13
  export declare class QuestionRowModel extends Base {
13
14
  panel: PanelModelBase;
14
15
  private static rowCounter;
@@ -24,8 +25,12 @@ export declare class QuestionRowModel extends Base {
24
25
  setIsLazyRendering(val: boolean): void;
25
26
  isLazyRendering(): boolean;
26
27
  readonly id: string;
28
+ protected equalsCore(obj: Base): boolean;
27
29
  readonly elements: Array<IElement>;
28
- readonly visibleElements: Array<IElement>;
30
+ private getVisibleElementsAnimationOptions;
31
+ visibleElementsAnimation: AnimationGroup<IElement>;
32
+ visibleElements: Array<IElement>;
33
+ onVisibleChangedCallback: () => void;
29
34
  visible: boolean;
30
35
  isNeedRender: boolean;
31
36
  updateVisible(): void;
@@ -35,11 +40,12 @@ export declare class QuestionRowModel extends Base {
35
40
  private getRenderedCalcWidth;
36
41
  private getElementWidth;
37
42
  private getRenderedWidthFromWidth;
38
- private calcVisible;
39
- private needToUpdateVisibleElements;
40
43
  dragTypeOverMe: DragTypeOverMeEnum;
41
44
  dispose(): void;
42
45
  getRowCss(): string;
46
+ private rootElement?;
47
+ setRootElement(element?: HTMLElement): void;
48
+ getRootElement(): HTMLElement;
43
49
  }
44
50
  /**
45
51
  * A base class for the [PanelModel](https://surveyjs.io/form-library/documentation/panelmodel) and [PageModel](https://surveyjs.io/form-library/documentation/pagemodel) classes.
@@ -54,6 +60,12 @@ export declare class PanelModelBase extends SurveyElement<Question> implements I
54
60
  removeElementCallback: (element: IElement) => void;
55
61
  onGetQuestionTitleLocation: () => string;
56
62
  private dragDropPanelHelper;
63
+ onAddRow(row: QuestionRowModel): void;
64
+ private getRowsAnimationOptions;
65
+ private rowsAnimation;
66
+ visibleRows: Array<QuestionRowModel>;
67
+ onRemoveRow(row: QuestionRowModel): void;
68
+ onRowVisibleChanged(): void;
57
69
  constructor(name?: string);
58
70
  getType(): string;
59
71
  setSurveyImpl(value: ISurveyImpl, isLight?: boolean): void;
@@ -316,7 +328,8 @@ export declare class PanelModelBase extends SurveyElement<Question> implements I
316
328
  * @see visible
317
329
  */
318
330
  readonly isVisible: boolean;
319
- getIsPageVisible(exceptionQuestion: IQuestion): boolean;
331
+ getIsContentVisible(exceptionQuestion?: IQuestion): boolean;
332
+ getIsPageVisible(exceptionQuestion?: IQuestion): boolean;
320
333
  private lastVisibleIndex;
321
334
  setVisibleIndex(index: number): number;
322
335
  private updateVisibleIndexes;
@@ -1,11 +1,10 @@
1
- import { Base } from "./base";
1
+ import { Base, EventBase } from "./base";
2
2
  import { PopupModel } from "./popup";
3
3
  import { CssClassBuilder } from "./utils/cssClassBuilder";
4
4
  import { ActionContainer } from "./actions/container";
5
+ import { AnimationOptions, IAnimationConsumer } from "./utils/animation";
5
6
  export declare const FOCUS_INPUT_SELECTOR = "input:not(:disabled):not([readonly]):not([type=hidden]),select:not(:disabled):not([readonly]),textarea:not(:disabled):not([readonly]), button:not(:disabled):not([readonly]), [tabindex]:not([tabindex^=\"-\"])";
6
- export declare class PopupBaseViewModel extends Base {
7
- private static SubscriptionId;
8
- private subscriptionId;
7
+ export declare class PopupBaseViewModel extends Base implements IAnimationConsumer {
9
8
  protected popupSelector: string;
10
9
  protected fixedPopupContainer: string;
11
10
  protected containerSelector: string;
@@ -17,8 +16,17 @@ export declare class PopupBaseViewModel extends Base {
17
16
  height: string;
18
17
  width: string;
19
18
  minWidth: string;
20
- isVisible: boolean;
19
+ _isVisible: boolean;
21
20
  locale: string;
21
+ private updateIsVisible;
22
+ private visibilityAnimation;
23
+ getLeaveOptions(): AnimationOptions;
24
+ getEnterOptions(): AnimationOptions;
25
+ getAnimatedElement(): HTMLElement;
26
+ isAnimationEnabled(): boolean;
27
+ private getAnimationContainer;
28
+ isVisible: boolean;
29
+ onVisibilityChanged: EventBase<PopupBaseViewModel, any>;
22
30
  readonly container: HTMLElement;
23
31
  private containerElement;
24
32
  private createdContainer;
@@ -31,6 +39,7 @@ export declare class PopupBaseViewModel extends Base {
31
39
  protected createFooterActionBar(): void;
32
40
  protected resetDimensionsAndPositionStyleProperties(): void;
33
41
  protected onModelChanging(newModel: PopupModel): void;
42
+ private onModelIsVisibleChangedCallback;
34
43
  private setupModel;
35
44
  private _model;
36
45
  model: PopupModel;
@@ -6,6 +6,7 @@ import { SurveyElement } from "./survey-element";
6
6
  import { PanelModel } from "./panel";
7
7
  import { HashTable } from "./helpers";
8
8
  import { ItemValue } from "./itemvalue";
9
+ import { SurveyError } from "./survey-error";
9
10
  /**
10
11
  * An interface used to create custom question types.
11
12
  *
@@ -224,6 +225,13 @@ export interface ICustomQuestionTypeConfiguration {
224
225
  * @see questionJSON
225
226
  */
226
227
  createQuestion?: any;
228
+ /**
229
+ * A function that allows you to display different error texts based on conditions.
230
+ * @param question A custom question. Use the `question.value` property to access the question's value.
231
+ * @returns An error text.
232
+ */
233
+ getErrorText?: (question: Question) => string;
234
+ onSetQuestionValue?: (question: Question, newValue: any) => void;
227
235
  valueToQuestion?: (val: any) => any;
228
236
  valueFromQuestion?: (val: any) => any;
229
237
  getValue?: (val: any) => any;
@@ -240,9 +248,11 @@ export declare class ComponentQuestionJSON {
240
248
  onAfterRender(question: Question, htmlElement: any): void;
241
249
  onAfterRenderContentElement(question: Question, element: Question, htmlElement: any): void;
242
250
  onUpdateQuestionCssClasses(question: Question, element: Question, css: any): void;
251
+ onSetQuestionValue(question: Question, newValue: any): void;
243
252
  onPropertyChanged(question: Question, propertyName: string, newValue: any): void;
244
253
  onValueChanged(question: Question, name: string, newValue: any): void;
245
254
  onValueChanging(question: Question, name: string, newValue: any): any;
255
+ onGetErrorText(question: Question): string;
246
256
  onItemValuePropertyChanged(question: Question, item: ItemValue, propertyName: string, name: string, newValue: any): void;
247
257
  getDisplayValue(keyAsText: boolean, value: any, question: Question): any;
248
258
  readonly defaultQuestionTitle: any;
@@ -295,6 +305,7 @@ export declare abstract class QuestionCustomModelBase extends Question implement
295
305
  protected onUpdateQuestionCssClasses(element: Question, css: any): void;
296
306
  protected setQuestionValue(newValue: any, updateIsAnswered?: boolean): void;
297
307
  protected setNewValue(newValue: any): void;
308
+ protected onCheckForErrors(errors: Array<SurveyError>, isOnValueChanged: boolean): void;
298
309
  getSurveyData(): ISurveyData;
299
310
  getTextProcessor(): ITextProcessor;
300
311
  getValue(name: string): any;
@@ -61,11 +61,12 @@ export declare class QuestionImagePickerModel extends QuestionCheckboxBase {
61
61
  /*
62
62
  * Specifies the height of containers for images or videos. Accepts positive numbers and CSS values.
63
63
  *
64
- * Default value: undefined
64
+ * Default value: `auto`
65
65
  *
66
- * Use the `imageFit` property to specify how to fit the images or videos into their containers.
66
+ * This property allows you to specify the exact image height. If you do not set it, the height will be calculated automatically based on the [`minImageHeight`](#minImageHeight) and [`maxImageHeight`](#maxImageHeight) values and available screen height.
67
+ *
68
+ * Use the [`imageFit`](#imageFit) property to specify how to fit the images or videos into their containers.
67
69
  * @see imageWidth
68
- * @see imageFit
69
70
  */
70
71
  imageHeight: number;
71
72
  private responsiveImageHeight;
@@ -73,11 +74,12 @@ export declare class QuestionImagePickerModel extends QuestionCheckboxBase {
73
74
  /*
74
75
  * Specifies the width of containers for images or videos. Accepts positive numbers and CSS values.
75
76
  *
76
- * Default value: 200
77
+ * Default value: `auto`
78
+ *
79
+ * This property allows you to specify the exact image width. If you do not set it, the width will be calculated automatically based on the [`minImageWidth`](#minImageWidth) and [`maxImageWidth`](#maxImageWidth) values and available screen width.
77
80
  *
78
- * Use the `imageFit` property to specify how to fit the images or videos into their containers.
81
+ * Use the [`imageFit`](#imageFit) property to specify how to fit the images or videos into their containers.
79
82
  * @see imageHeight
80
- * @see imageFit
81
83
  */
82
84
  imageWidth: number;
83
85
  private responsiveImageWidth;
@@ -105,9 +107,37 @@ export declare class QuestionImagePickerModel extends QuestionCheckboxBase {
105
107
  protected addToVisibleChoices(items: Array<ItemValue>, isAddAll: boolean): void;
106
108
  getSelectBaseRootCss(): string;
107
109
  private isResponsiveValue;
110
+ /**
111
+ * Specifies a maximum width for image or video containers. Accepts positive numbers and CSS values.
112
+ *
113
+ * Default value: 400
114
+ *
115
+ * The `minImageWidth`, `maxImageWidth`, `minImageHeight`, and `maxImageHeight` properties specify boundary values for container sizes. The resulting sizes are selected depending on the available screen space. If you want to specify the exact width and height, use the [`imageWidth`](#imageWidth) and [`imageHeight`](#imageHeight) properties.
116
+ */
108
117
  maxImageWidth: number;
118
+ /**
119
+ * Specifies a minimum width for image or video containers. Accepts positive numbers and CSS values.
120
+ *
121
+ * Default value: 200
122
+ *
123
+ * The `minImageWidth`, `maxImageWidth`, `minImageHeight`, and `maxImageHeight` properties specify boundary values for container sizes. The resulting sizes are selected depending on the available screen space. If you want to specify the exact width and height, use the [`imageWidth`](#imageWidth) and [`imageHeight`](#imageHeight) properties.
124
+ */
109
125
  minImageWidth: number;
126
+ /**
127
+ * Specifies a maximum height for image or video containers. Accepts positive numbers and CSS values.
128
+ *
129
+ * Default value: 266
130
+ *
131
+ * The `minImageWidth`, `maxImageWidth`, `minImageHeight`, and `maxImageHeight` properties specify boundary values for container sizes. The resulting sizes are selected depending on the available screen space. If you want to specify the exact width and height, use the [`imageWidth`](#imageWidth) and [`imageHeight`](#imageHeight) properties.
132
+ */
110
133
  maxImageHeight: number;
134
+ /**
135
+ * Specifies a minimum height for image or video containers. Accepts positive numbers and CSS values.
136
+ *
137
+ * Default value: 133
138
+ *
139
+ * The `minImageWidth`, `maxImageWidth`, `minImageHeight`, and `maxImageHeight` properties specify boundary values for container sizes. The resulting sizes are selected depending on the available screen space. If you want to specify the exact width and height, use the [`imageWidth`](#imageWidth) and [`imageHeight`](#imageHeight) properties.
140
+ */
111
141
  minImageHeight: number;
112
142
  private readonly isResponsive: any;
113
143
  private readonly exactSizesAreEmpty: any;
@@ -95,10 +95,9 @@ export declare class MatrixDropdownColumn extends Base implements ILocalizableOw
95
95
  readonly locTitle: LocalizableString;
96
96
  readonly fullTitle: string;
97
97
  /*
98
- * Marks the column as required. If a respondent skips any cell in a required column, the matrix displays a validation error.
98
+ * Marks the column as required. If a respondent skips any cell in a required column, the matrix displays a [validation error](#requiredErrorText).
99
99
  *
100
100
  * If you want to mark the column as required based on a condition, specify the [`requiredIf`](#requiredIf) property.
101
- * @see requiredErrorText
102
101
  * @see visible
103
102
  * @see readOnly
104
103
  */
@@ -85,6 +85,7 @@ export declare class QuestionMatrixDynamicModel extends QuestionMatrixDropdownMo
85
85
  */
86
86
  allowRowsDragAndDrop: boolean;
87
87
  readonly isRowsDragAndDrop: boolean;
88
+ lockedRowCount: number;
88
89
  readonly iconDragElement: string;
89
90
  protected createRenderedTable(): QuestionMatrixDropdownRenderedTable;
90
91
  private rowCountValue: any;