survey-core 1.9.135 → 1.9.137

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 (251) hide show
  1. package/defaultV2.css +385 -19
  2. package/defaultV2.css.map +1 -1
  3. package/defaultV2.fontless.css +385 -19
  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 +1140 -196
  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 +17 -0
  218. package/ts3.4/typings/dragdrop/dom-adapter.d.ts +2 -0
  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/panel.d.ts +17 -4
  223. package/ts3.4/typings/popup-view-model.d.ts +14 -5
  224. package/ts3.4/typings/question_checkbox.d.ts +1 -0
  225. package/ts3.4/typings/question_custom.d.ts +9 -0
  226. package/ts3.4/typings/question_matrixdropdowncolumn.d.ts +2 -3
  227. package/ts3.4/typings/question_multipletext.d.ts +67 -20
  228. package/ts3.4/typings/question_paneldynamic.d.ts +1 -1
  229. package/ts3.4/typings/question_ranking.d.ts +12 -3
  230. package/ts3.4/typings/question_text.d.ts +4 -0
  231. package/ts3.4/typings/survey-element.d.ts +12 -1
  232. package/ts3.4/typings/utils/animation.d.ts +54 -0
  233. package/ts3.4/typings/utils/taskmanager.d.ts +28 -0
  234. package/typings/base.d.ts +4 -4
  235. package/typings/defaultCss/defaultV2Css.d.ts +17 -0
  236. package/typings/dragdrop/dom-adapter.d.ts +2 -0
  237. package/typings/dragdrop/ranking-choices.d.ts +1 -1
  238. package/typings/dragdrop/ranking-select-to-rank.d.ts +6 -3
  239. package/typings/entries/core-wo-model.d.ts +1 -0
  240. package/typings/panel.d.ts +18 -3
  241. package/typings/popup-view-model.d.ts +15 -5
  242. package/typings/question_checkbox.d.ts +1 -0
  243. package/typings/question_custom.d.ts +9 -0
  244. package/typings/question_matrixdropdowncolumn.d.ts +3 -4
  245. package/typings/question_multipletext.d.ts +70 -20
  246. package/typings/question_paneldynamic.d.ts +1 -1
  247. package/typings/question_ranking.d.ts +12 -1
  248. package/typings/question_text.d.ts +4 -0
  249. package/typings/survey-element.d.ts +15 -1
  250. package/typings/utils/animation.d.ts +50 -0
  251. package/typings/utils/taskmanager.d.ts +28 -0
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - Survey JavaScript library v1.9.135
2
+ * surveyjs - Survey JavaScript library v1.9.137
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.135
2
+ * surveyjs - Survey JavaScript library v1.9.137
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.135
2
+ * surveyjs - Survey JavaScript library v1.9.137
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.135
2
+ * surveyjs - Survey JavaScript library v1.9.137
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.135
2
+ * surveyjs - Survey JavaScript library v1.9.137
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.135
2
+ * surveyjs - Survey JavaScript library v1.9.137
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.135
2
+ * surveyjs - Survey JavaScript library v1.9.137
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.135
2
+ * surveyjs - Survey JavaScript library v1.9.137
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.135
2
+ * surveyjs - Survey JavaScript library v1.9.137
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;
@@ -126,6 +132,9 @@ export declare var defaultV2Css: {
126
132
  progressButtonsContainerCenter: string;
127
133
  progressButtonsContainer: string;
128
134
  progressButtonsConnector: string;
135
+ progressButtonsButton: string;
136
+ progressButtonsButtonBackground: string;
137
+ progressButtonsButtonContent: string;
129
138
  progressButtonsHeader: string;
130
139
  progressButtonsFooter: string;
131
140
  progressButtonsImageButtonLeft: string;
@@ -151,8 +160,14 @@ export declare var defaultV2Css: {
151
160
  row: string;
152
161
  rowMultiple: string;
153
162
  rowCompact: string;
163
+ rowFadeIn: string;
164
+ rowFadeOut: string;
154
165
  pageRow: string;
155
166
  question: {
167
+ contentFadeIn: string;
168
+ contentFadeOut: string;
169
+ fadeIn: string;
170
+ fadeOut: string;
156
171
  mainRoot: string;
157
172
  flowRoot: string;
158
173
  withFrame: string;
@@ -195,6 +210,8 @@ export declare var defaultV2Css: {
195
210
  hasErrorTop: string;
196
211
  hasErrorBottom: string;
197
212
  collapsed: string;
213
+ expandable: string;
214
+ expandableAnimating: string;
198
215
  expanded: string;
199
216
  nested: string;
200
217
  invisible: string;
@@ -3,6 +3,7 @@ export interface IDragDropDOMAdapter {
3
3
  startDrag(event: PointerEvent, draggedElement: any, parentElement: any, draggedElementNode: HTMLElement, preventSaveTargetNode: boolean): void;
4
4
  draggedElementShortcut: HTMLElement;
5
5
  rootContainer: HTMLElement;
6
+ documentOrShadowRoot: Document | ShadowRoot;
6
7
  }
7
8
  export declare class DragDropDOMAdapter implements IDragDropDOMAdapter {
8
9
  private dd;
@@ -19,6 +20,7 @@ export declare class DragDropDOMAdapter implements IDragDropDOMAdapter {
19
20
  private savedTargetNodeIndex;
20
21
  private scrollIntervalId;
21
22
  constructor(dd: IDragDropEngine, longTap?: boolean, fitToContainer?: boolean);
23
+ readonly documentOrShadowRoot: Document | ShadowRoot;
22
24
  private readonly rootElement: any;
23
25
  private stopLongTapIfMoveEnough;
24
26
  private readonly isMicroMovement: any;
@@ -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";
@@ -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;
@@ -119,6 +119,7 @@ export declare class QuestionCheckboxModel extends QuestionCheckboxBase {
119
119
  }>, isAddAll: boolean): void;
120
120
  protected isBuiltInChoice(item: ItemValue): boolean;
121
121
  isItemInList(item: ItemValue): boolean;
122
+ protected getDisplayValueEmpty(): string;
122
123
  protected getDisplayValueCore(keysAsText: boolean, value: any): any;
123
124
  protected clearIncorrectValuesCore(): void;
124
125
  protected clearDisabledValuesCore(): void;
@@ -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,12 @@ 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;
227
234
  valueToQuestion?: (val: any) => any;
228
235
  valueFromQuestion?: (val: any) => any;
229
236
  getValue?: (val: any) => any;
@@ -243,6 +250,7 @@ export declare class ComponentQuestionJSON {
243
250
  onPropertyChanged(question: Question, propertyName: string, newValue: any): void;
244
251
  onValueChanged(question: Question, name: string, newValue: any): void;
245
252
  onValueChanging(question: Question, name: string, newValue: any): any;
253
+ onGetErrorText(question: Question): string;
246
254
  onItemValuePropertyChanged(question: Question, item: ItemValue, propertyName: string, name: string, newValue: any): void;
247
255
  getDisplayValue(keyAsText: boolean, value: any, question: Question): any;
248
256
  readonly defaultQuestionTitle: any;
@@ -295,6 +303,7 @@ export declare abstract class QuestionCustomModelBase extends Question implement
295
303
  protected onUpdateQuestionCssClasses(element: Question, css: any): void;
296
304
  protected setQuestionValue(newValue: any, updateIsAnswered?: boolean): void;
297
305
  protected setNewValue(newValue: any): void;
306
+ protected onCheckForErrors(errors: Array<SurveyError>, isOnValueChanged: boolean): void;
298
307
  getSurveyData(): ISurveyData;
299
308
  getTextProcessor(): ITextProcessor;
300
309
  getValue(name: string): 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
  */
@@ -172,7 +171,7 @@ export declare class MatrixDropdownColumn extends Base implements ILocalizableOw
172
171
  * @see defaultValueExpression
173
172
  * @see resetValueIf
174
173
  */
175
- setValueExpession: string;
174
+ setValueExpression: string;
176
175
  /*
177
176
  * Specifies whether a respondent is required to provide a unique response for each question within this column.
178
177
  *
@@ -6,6 +6,7 @@ import { QuestionTextModel } from "./question_text";
6
6
  import { SurveyError } from "./survey-error";
7
7
  import { ILocalizableOwner, LocalizableString } from "./localizablestring";
8
8
  import { HashTable } from "./helpers";
9
+ import { InputMaskBase } from "./mask/mask_base";
9
10
  export interface IMultipleTextData extends ILocalizableOwner, IPanel {
10
11
  getSurvey(): ISurvey;
11
12
  getTextProcessor(): ITextProcessor;
@@ -21,9 +22,9 @@ export declare class MultipleTextEditorModel extends QuestionTextModel {
21
22
  readonly a11y_input_ariaDescribedBy: string;
22
23
  }
23
24
  /**
24
- * A class that describes an item in a [Multiple Textboxes](https://surveyjs.io/form-library/documentation/api-reference/multiple-text-entry-question-model) question.
25
+ * A class that describes an [item](https://surveyjs.io/form-library/documentation/api-reference/multiple-text-entry-question-model#items) in a Multiple Textboxes question.
25
26
  *
26
- * [View Demo](https://surveyjs.io/form-library/examples/multiple-text-box-question/)
27
+ * [View Demo](https://surveyjs.io/form-library/examples/multiple-text-box-question/ (linkStyle))
27
28
  */
28
29
  export declare class MultipleTextItemModel extends Base implements IValidatorOwner, ISurveyData, ISurveyImpl {
29
30
  private editorValue;
@@ -34,7 +35,10 @@ export declare class MultipleTextItemModel extends Base implements IValidatorOwn
34
35
  readonly id: string;
35
36
  getOriginalObj(): Base;
36
37
  /*
37
- * The item name.
38
+ * An item ID that is not visible to respondents.
39
+ *
40
+ * > Item IDs must be unique.
41
+ * @see title
38
42
  */
39
43
  name: string;
40
44
  readonly question: Question;
@@ -46,62 +50,104 @@ export declare class MultipleTextItemModel extends Base implements IValidatorOwn
46
50
  setData(data: IMultipleTextData): void;
47
51
  focusIn: () => void;
48
52
  /*
49
- * Set this property to true, to make the item a required. If a user doesn't fill the item then a validation error will be generated.
53
+ * Marks the item as required. If a respondent leaves this item empty, the question displays a [validation error](#requiredErrorText).
50
54
  */
51
55
  isRequired: boolean;
52
56
  /*
53
- * Use this property to change the default input type.
57
+ * A value passed on to the [`type`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#input_types) attribute of the underlying `<input>` element.
58
+ *
59
+ * Default value: `"text"`
54
60
  */
55
61
  inputType: string;
56
62
  /*
57
- * Item title. If it is empty, the item name is rendered as title. This property supports markdown.
58
- * @see name
63
+ * A user-friendly item label to display. If `title` is undefined, [`name`](https://surveyjs.io/form-library/documentation/api-reference/multipletextitemmodel#name) is displayed instead.
59
64
  */
60
65
  title: string;
61
66
  readonly locTitle: LocalizableString;
62
67
  readonly fullTitle: string;
63
68
  /*
64
- * The maximum text length. If it is -1, defaul value, then the survey maxTextLength property will be used.
65
- * If it is 0, then the value is unlimited
66
- * @see SurveyModel.maxTextLength
69
+ * The maximum text length measured in characters. Assign 0 if the length should be unlimited.
70
+ *
71
+ * Default value: -1 (inherits the actual value from the `SurveyModel`'s [`maxTextLength`](https://surveyjs.io/form-library/documentation/surveymodel#maxTextLength) property).
67
72
  */
68
73
  maxLength: number;
69
74
  getMaxLength(): any;
70
75
  /*
71
- * The input place holder.
76
+ * A placeholder for the input field.
72
77
  */
73
78
  placeholder: string;
74
79
  readonly locPlaceholder: LocalizableString;
75
80
  placeHolder: string;
76
81
  readonly locPlaceHolder: LocalizableString;
77
82
  /*
78
- * The custom text that will be shown on required error. Use this property, if you do not want to show the default text.
83
+ * Specifies a custom error message for a [required item](#isRequired).
79
84
  */
80
85
  requiredErrorText: string;
81
86
  readonly locRequiredErrorText: LocalizableString;
82
87
  /*
83
- * The input size.
88
+ * A value passed on to the [`size`](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/size) attribute of the underlying `<input>` element.
89
+ *
90
+ * If you want to set a uniform `size` for all text box items, use the [`itemSize`](https://surveyjs.io/form-library/documentation/api-reference/multiple-text-entry-question-model#itemSize) within the Multiple Textboxes configuration.
84
91
  */
85
92
  size: number;
86
93
  /*
87
- * An expression used to calculate the [defaultValue](https://surveyjs.io/form-library/documentation/question#defaultValue).
94
+ * An [expression](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#expressions) used to calculate the default item value.
95
+ * @see minValueExpression
96
+ * @see maxValueExpression
88
97
  */
89
98
  defaultValueExpression: string;
90
99
  /*
91
- * The minimum value specified as an expression. For example, `"minValueExpression": "today(-1)"` sets the minimum value to yesterday.
100
+ * An [expression](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#expressions) used to calculate the minimum item value.
101
+ * @see maxValueExpression
102
+ * @see defaultValueExpression
92
103
  */
93
104
  minValueExpression: string;
94
105
  /*
95
- * The maximum value specified as an expression. For example, `"maxValueExpression": "today(1)"` sets the maximum value to tomorrow.
106
+ * An [expression](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#expressions) used to calculate the maximum item value.
107
+ * @see minValueExpression
108
+ * @see defaultValueExpression
96
109
  */
97
110
  maxValueExpression: string;
98
111
  /*
99
- * The list of question validators.
112
+ * Item validators.
113
+ *
114
+ * [Data Validation](https://surveyjs.io/form-library/documentation/data-validation (linkStyle))
100
115
  */
101
116
  validators: Array<SurveyValidator>;
102
117
  getValidators(): Array<SurveyValidator>;
103
118
  /*
104
- * The item value.
119
+ * Specifies the type of a mask applied to the input.
120
+ *
121
+ * Possible values:
122
+ *
123
+ * - `"none"` (default)
124
+ * - `"numeric"`
125
+ * - `"currency"`
126
+ * - `"datetime"`
127
+ * - `"pattern"`
128
+ *
129
+ * [View Demo](https://surveyjs.io/form-library/examples/masked-input-fields/ (linkStyle))
130
+ * @see maskSettings
131
+ */
132
+ maskType: string;
133
+ /*
134
+ * An object with properties that configure the mask applied to the input.
135
+ *
136
+ * Available properties depend on the specified [`maskType`](#maskType) and belong to corresponding classes. Refer to the class APIs for a full list of properties:
137
+ *
138
+ * | `maskType` | Class |
139
+ * | ---------- | ----- |
140
+ * | `"numeric"` | [`InputMaskNumeric`](https://surveyjs.io/form-library/documentation/api-reference/inputmasknumeric) |
141
+ * | `"currency"` | [`InputMaskCurrency`](https://surveyjs.io/form-library/documentation/api-reference/inputmaskcurrency) |
142
+ * | `"datetime"` | [`InputMaskDateTime`](https://surveyjs.io/form-library/documentation/api-reference/inputmaskdatetime) |
143
+ * | `"pattern"` | [`InputMaskPattern`](https://surveyjs.io/form-library/documentation/api-reference/inputmaskpattern) |
144
+ *
145
+ * [View Demo](https://surveyjs.io/form-library/examples/masked-input-fields/ (linkStyle))
146
+ */
147
+ maskSettings: InputMaskBase;
148
+ inputTextAlignment: "left" | "right" | "auto";
149
+ /*
150
+ * An item value.
105
151
  */
106
152
  value: any;
107
153
  isEmpty(): boolean;
@@ -145,9 +191,9 @@ export declare class QuestionMultipleTextModel extends Question implements IMult
145
191
  private editorsOnSurveyLoad;
146
192
  private performForEveryEditor;
147
193
  /*
148
- * Gets or sets an array of `MultipleTextItemModel` objects that represent input items.
194
+ * Gets or sets an array of [`MultipleTextItemModel`](https://surveyjs.io/form-library/documentation/api-reference/multipletextitemmodel) objects that represent input items.
149
195
  *
150
- * This property accepts an array of objects with the following structure:
196
+ * Each object in this array should have at least the following properties:
151
197
  *
152
198
  * ```js
153
199
  * {
@@ -169,6 +215,7 @@ export declare class QuestionMultipleTextModel extends Question implements IMult
169
215
  */
170
216
  addItem(name: string, title?: string): MultipleTextItemModel;
171
217
  getItemByName(name: string): MultipleTextItemModel;
218
+ getElementsInDesign(includeHidden?: boolean): Array<IElement>;
172
219
  addConditionObjectsByContext(objects: Array<IConditionObject>, context: any): void;
173
220
  protected collectNestedQuestionsCore(questions: Question[], visibleOnly: boolean): void;
174
221
  getConditionJson(operator?: string, path?: string): any;
@@ -576,7 +576,7 @@ export declare class QuestionPanelDynamicModel extends Question implements IQues
576
576
  readonly progress: string;
577
577
  getRootCss(): string;
578
578
  readonly cssHeader: string;
579
- getPanelWrapperCss(): string;
579
+ getPanelWrapperCss(panel: PanelModel): string;
580
580
  getPanelRemoveButtonCss(): string;
581
581
  getAddButtonCss(): string;
582
582
  getPrevButtonCss(): string;
@@ -1,7 +1,9 @@
1
1
  import { ISurveyImpl } from "./base-interfaces";
2
2
  import { DragDropRankingChoices } from "./dragdrop/ranking-choices";
3
+ import { DragDropRankingSelectToRank } from "./dragdrop/ranking-select-to-rank";
3
4
  import { ItemValue } from "./itemvalue";
4
5
  import { QuestionCheckboxModel } from "./question_checkbox";
6
+ import { AnimationGroup } from "./utils/animation";
5
7
  /**
6
8
  * A class that describes the Ranking question type.
7
9
  *
@@ -21,6 +23,7 @@ export declare class QuestionRankingModel extends QuestionCheckboxModel {
21
23
  readonly ghostPositionCssClass: string;
22
24
  getItemIndexClasses(item: ItemValue): string;
23
25
  getNumberByIndex(index: number): string;
26
+ private updateRankingChoicesSync;
24
27
  setSurveyImpl(value: ISurveyImpl, isLight?: boolean): void;
25
28
  isAnswerCorrect(): boolean;
26
29
  readonly requireStrictCompare: boolean;
@@ -29,16 +32,22 @@ export declare class QuestionRankingModel extends QuestionCheckboxModel {
29
32
  localeChanged: () => void;
30
33
  private addToValueByVisibleChoices;
31
34
  private removeFromValueByVisibleChoices;
32
- readonly rankingChoices: Array<ItemValue>;
33
- readonly unRankingChoices: Array<ItemValue>;
35
+ private getChoicesAnimation;
36
+ private _rankingChoicesAnimation;
37
+ readonly rankingChoicesAnimation: AnimationGroup<ItemValue>;
38
+ private _unRankingChoicesAnimation;
39
+ readonly unRankingChoicesAnimation: AnimationGroup<ItemValue>;
40
+ rankingChoices: Array<ItemValue>;
41
+ unRankingChoices: Array<ItemValue>;
34
42
  private updateRankingChoices;
43
+ updateUnRankingChoices(newRankingChoices: Array<ItemValue>): void;
35
44
  private updateRankingChoicesSelectToRankMode;
36
45
  dragDropRankingChoices: DragDropRankingChoices;
37
46
  currentDropTarget: ItemValue;
38
47
  dropTargetNodeMove: string;
39
48
  endLoadingFromJson(): void;
40
49
  private setDragDropRankingChoices;
41
- protected createDragDropRankingChoices(): DragDropRankingChoices;
50
+ protected createDragDropRankingChoices(): DragDropRankingChoices | DragDropRankingSelectToRank;
42
51
  handlePointerDown: (event: PointerEvent, choice: ItemValue, node: HTMLElement) => void;
43
52
  private isDragStartNodeValid;
44
53
  private readonly allowStartDrag: any;
@@ -34,6 +34,7 @@ export declare class QuestionTextModel extends QuestionTextBase {
34
34
  * @see maskSettings
35
35
  */
36
36
  maskType: string;
37
+ inputTextAlignment: "left" | "right" | "auto";
37
38
  readonly maskTypeIsEmpty: boolean;
38
39
  /*
39
40
  * An object with properties that configure the mask applied to the input.
@@ -58,6 +59,8 @@ export declare class QuestionTextModel extends QuestionTextBase {
58
59
  onSurveyLoad(): void;
59
60
  /*
60
61
  * A value passed on to the [`type`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#input_types) attribute of the underlying `<input>` element.
62
+ *
63
+ * Default value: `"text"`
61
64
  */
62
65
  inputType: string;
63
66
  getMaxLength(): any;
@@ -153,6 +156,7 @@ export declare class QuestionTextModel extends QuestionTextBase {
153
156
  protected getControlCssClassBuilder(): CssClassBuilder;
154
157
  isReadOnlyRenderDiv(): boolean;
155
158
  readonly inputStyle: any;
159
+ private updateTextAlign;
156
160
  private _isWaitingForEnter;
157
161
  private updateValueOnEvent;
158
162
  onCompositionUpdate: (event: any) => void;
@@ -316,7 +316,7 @@ export declare class SurveyElement<E = any> extends SurveyElementCore implements
316
316
  protected setPage(parent: IPanel, newPage: IPage): void;
317
317
  protected getSearchableLocKeys(keys: Array<string>): void;
318
318
  readonly isDefaultV2Theme: boolean;
319
- readonly hasParent: any;
319
+ readonly hasParent: boolean;
320
320
  isSingleInRow: boolean;
321
321
  private shouldAddRunnerStyles;
322
322
  protected readonly isCompact: boolean;
@@ -383,5 +383,16 @@ export declare class SurveyElement<E = any> extends SurveyElementCore implements
383
383
  protected getAdditionalTitleToolbar(): ActionContainer | null;
384
384
  protected getCssTitle(cssClasses: any): string;
385
385
  localeChanged(): void;
386
+ private wrapperElement?;
387
+ setWrapperElement(element?: HTMLElement): void;
388
+ getWrapperElement(): HTMLElement;
389
+ private _renderedIsExpanded;
390
+ private _isAnimatingCollapseExpand;
391
+ private isAnimatingCollapseExpand: any;
392
+ private getExpandCollapseAnimationOptions;
393
+ private animationCollapsed;
394
+ renderedIsExpanded: boolean;
395
+ private animationAllowedValue;
396
+ animationAllowed: boolean;
386
397
  dispose(): void;
387
398
  }