survey-core 1.10.3 → 1.10.5

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 (236) hide show
  1. package/defaultV2.css +6 -1
  2. package/defaultV2.css.map +1 -1
  3. package/defaultV2.fontless.css +6 -1
  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/polish.js +1 -1
  72. package/i18n/polish.min.js +1 -1
  73. package/i18n/portuguese-br.js +1 -1
  74. package/i18n/portuguese-br.min.js +1 -1
  75. package/i18n/portuguese.js +1 -1
  76. package/i18n/portuguese.min.js +1 -1
  77. package/i18n/romanian.js +1 -1
  78. package/i18n/romanian.min.js +1 -1
  79. package/i18n/russian.js +1 -1
  80. package/i18n/russian.min.js +1 -1
  81. package/i18n/serbian.js +1 -1
  82. package/i18n/serbian.min.js +1 -1
  83. package/i18n/simplified-chinese.js +1 -1
  84. package/i18n/simplified-chinese.min.js +1 -1
  85. package/i18n/slovak.js +1 -1
  86. package/i18n/slovak.min.js +1 -1
  87. package/i18n/spanish.js +1 -1
  88. package/i18n/spanish.min.js +1 -1
  89. package/i18n/swahili.js +1 -1
  90. package/i18n/swahili.min.js +1 -1
  91. package/i18n/swedish.js +1 -1
  92. package/i18n/swedish.min.js +1 -1
  93. package/i18n/tajik.js +1 -1
  94. package/i18n/tajik.min.js +1 -1
  95. package/i18n/telugu.js +1 -1
  96. package/i18n/telugu.min.js +1 -1
  97. package/i18n/thai.js +1 -1
  98. package/i18n/thai.min.js +1 -1
  99. package/i18n/traditional-chinese.js +1 -1
  100. package/i18n/traditional-chinese.min.js +1 -1
  101. package/i18n/turkish.js +1 -1
  102. package/i18n/turkish.min.js +1 -1
  103. package/i18n/ukrainian.js +1 -1
  104. package/i18n/ukrainian.min.js +1 -1
  105. package/i18n/urdu.js +1 -1
  106. package/i18n/urdu.min.js +1 -1
  107. package/i18n/vietnamese.js +1 -1
  108. package/i18n/vietnamese.min.js +1 -1
  109. package/i18n/welsh.js +1 -1
  110. package/i18n/welsh.min.js +1 -1
  111. package/modern.css +1 -1
  112. package/modern.fontless.css +1 -1
  113. package/modern.fontless.min.css +1 -1
  114. package/modern.min.css +1 -1
  115. package/package.json +1 -1
  116. package/plugins/bootstrap-integration.js +1 -1
  117. package/plugins/bootstrap-integration.min.js +1 -1
  118. package/plugins/bootstrap-material-integration.js +1 -1
  119. package/plugins/bootstrap-material-integration.min.js +1 -1
  120. package/survey.core.js +289 -161
  121. package/survey.core.js.map +1 -1
  122. package/survey.core.min.js +3 -3
  123. package/survey.css +1 -1
  124. package/survey.i18n.js +1 -1
  125. package/survey.i18n.min.js +1 -1
  126. package/survey.min.css +1 -1
  127. package/themes/borderless-dark-panelless.js +1 -1
  128. package/themes/borderless-dark-panelless.min.js +1 -1
  129. package/themes/borderless-dark.js +1 -1
  130. package/themes/borderless-dark.min.js +1 -1
  131. package/themes/borderless-light-panelless..js +1 -1
  132. package/themes/borderless-light-panelless..min.js +1 -1
  133. package/themes/borderless-light.js +1 -1
  134. package/themes/borderless-light.min.js +1 -1
  135. package/themes/contrast-dark-panelless.js +1 -1
  136. package/themes/contrast-dark-panelless.min.js +1 -1
  137. package/themes/contrast-dark.js +1 -1
  138. package/themes/contrast-dark.min.js +1 -1
  139. package/themes/contrast-light-panelless.js +1 -1
  140. package/themes/contrast-light-panelless.min.js +1 -1
  141. package/themes/contrast-light.js +1 -1
  142. package/themes/contrast-light.min.js +1 -1
  143. package/themes/default-dark-panelless.js +1 -1
  144. package/themes/default-dark-panelless.min.js +1 -1
  145. package/themes/default-dark.js +1 -1
  146. package/themes/default-dark.min.js +1 -1
  147. package/themes/default-light-panelless.js +1 -1
  148. package/themes/default-light-panelless.min.js +1 -1
  149. package/themes/default-light.js +1 -1
  150. package/themes/default-light.min.js +1 -1
  151. package/themes/doubleborder-dark-panelless.js +1 -1
  152. package/themes/doubleborder-dark-panelless.min.js +1 -1
  153. package/themes/doubleborder-dark.js +1 -1
  154. package/themes/doubleborder-dark.min.js +1 -1
  155. package/themes/doubleborder-light-panelles.js +1 -1
  156. package/themes/doubleborder-light-panelles.min.js +1 -1
  157. package/themes/doubleborder-light.js +1 -1
  158. package/themes/doubleborder-light.min.js +1 -1
  159. package/themes/flat-dark-panelless.js +1 -1
  160. package/themes/flat-dark-panelless.min.js +1 -1
  161. package/themes/flat-dark.js +1 -1
  162. package/themes/flat-dark.min.js +1 -1
  163. package/themes/flat-light-panelless.js +1 -1
  164. package/themes/flat-light-panelless.min.js +1 -1
  165. package/themes/flat-light.js +1 -1
  166. package/themes/flat-light.min.js +1 -1
  167. package/themes/index.js +1 -1
  168. package/themes/index.min.js +1 -1
  169. package/themes/layered-dark-panelless.js +1 -1
  170. package/themes/layered-dark-panelless.min.js +1 -1
  171. package/themes/layered-dark.js +1 -1
  172. package/themes/layered-dark.min.js +1 -1
  173. package/themes/layered-light-panelless.js +1 -1
  174. package/themes/layered-light-panelless.min.js +1 -1
  175. package/themes/layered-light.js +1 -1
  176. package/themes/layered-light.min.js +1 -1
  177. package/themes/plain-dark-panelless.js +1 -1
  178. package/themes/plain-dark-panelless.min.js +1 -1
  179. package/themes/plain-dark.js +1 -1
  180. package/themes/plain-dark.min.js +1 -1
  181. package/themes/plain-light-panelless.js +1 -1
  182. package/themes/plain-light-panelless.min.js +1 -1
  183. package/themes/plain-light.js +1 -1
  184. package/themes/plain-light.min.js +1 -1
  185. package/themes/sharp-dark-panelless.js +1 -1
  186. package/themes/sharp-dark-panelless.min.js +1 -1
  187. package/themes/sharp-dark.js +1 -1
  188. package/themes/sharp-dark.min.js +1 -1
  189. package/themes/sharp-light-panelless.js +1 -1
  190. package/themes/sharp-light-panelless.min.js +1 -1
  191. package/themes/sharp-light.js +1 -1
  192. package/themes/sharp-light.min.js +1 -1
  193. package/themes/solid-dark-panelless.js +1 -1
  194. package/themes/solid-dark-panelless.min.js +1 -1
  195. package/themes/solid-dark.js +1 -1
  196. package/themes/solid-dark.min.js +1 -1
  197. package/themes/solid-light-panelless.js +1 -1
  198. package/themes/solid-light-panelless.min.js +1 -1
  199. package/themes/solid-light.js +1 -1
  200. package/themes/solid-light.min.js +1 -1
  201. package/themes/three-dimensional-dark-panelless.js +1 -1
  202. package/themes/three-dimensional-dark-panelless.min.js +1 -1
  203. package/themes/three-dimensional-dark.js +1 -1
  204. package/themes/three-dimensional-dark.min.js +1 -1
  205. package/themes/three-dimensional-light-panelless.js +1 -1
  206. package/themes/three-dimensional-light-panelless.min.js +1 -1
  207. package/themes/three-dimensional-light.js +1 -1
  208. package/themes/three-dimensional-light.min.js +1 -1
  209. package/ts3.4/typings/defaultCss/defaultV2Css.d.ts +1 -0
  210. package/ts3.4/typings/entries/chunks/model.d.ts +1 -1
  211. package/ts3.4/typings/mask/mask_numeric.d.ts +1 -0
  212. package/ts3.4/typings/question.d.ts +4 -1
  213. package/ts3.4/typings/question_baseselect.d.ts +1 -1
  214. package/ts3.4/typings/question_dropdown.d.ts +1 -1
  215. package/ts3.4/typings/question_file.d.ts +1 -2
  216. package/ts3.4/typings/question_matrixdropdownbase.d.ts +7 -3
  217. package/ts3.4/typings/question_matrixdynamic.d.ts +2 -2
  218. package/ts3.4/typings/question_rating.d.ts +3 -0
  219. package/ts3.4/typings/question_signaturepad.d.ts +1 -1
  220. package/ts3.4/typings/question_tagbox.d.ts +1 -1
  221. package/ts3.4/typings/settings.d.ts +8 -0
  222. package/ts3.4/typings/survey.d.ts +1 -1
  223. package/typings/defaultCss/defaultV2Css.d.ts +1 -0
  224. package/typings/entries/chunks/model.d.ts +1 -1
  225. package/typings/mask/mask_numeric.d.ts +1 -0
  226. package/typings/question.d.ts +4 -1
  227. package/typings/question_baseselect.d.ts +1 -1
  228. package/typings/question_dropdown.d.ts +1 -1
  229. package/typings/question_file.d.ts +1 -2
  230. package/typings/question_matrixdropdownbase.d.ts +7 -3
  231. package/typings/question_matrixdynamic.d.ts +2 -2
  232. package/typings/question_rating.d.ts +3 -0
  233. package/typings/question_signaturepad.d.ts +1 -1
  234. package/typings/question_tagbox.d.ts +1 -1
  235. package/typings/settings.d.ts +8 -0
  236. package/typings/survey.d.ts +1 -1
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - Survey JavaScript library v1.10.3
2
+ * surveyjs - Survey JavaScript library v1.10.5
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.10.3
2
+ * surveyjs - Survey JavaScript library v1.10.5
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.10.3
2
+ * surveyjs - Survey JavaScript library v1.10.5
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.10.3
2
+ * surveyjs - Survey JavaScript library v1.10.5
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.10.3
2
+ * surveyjs - Survey JavaScript library v1.10.5
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.10.3
2
+ * surveyjs - Survey JavaScript library v1.10.5
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.10.3
2
+ * surveyjs - Survey JavaScript library v1.10.5
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.10.3
2
+ * surveyjs - Survey JavaScript library v1.10.5
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.10.3
2
+ * surveyjs - Survey JavaScript library v1.10.5
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.10.3
2
+ * surveyjs - Survey JavaScript library v1.10.5
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.10.3
2
+ * surveyjs - Survey JavaScript library v1.10.5
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
  */
@@ -8,6 +8,7 @@ export declare var defaultV2Css: {
8
8
  rootFitToContainer: string;
9
9
  rootWrapper: string;
10
10
  rootWrapperFixed: string;
11
+ rootWrapperHasImage: string;
11
12
  rootBackgroundImage: string;
12
13
  container: string;
13
14
  header: string;
@@ -9,7 +9,7 @@ export { Helpers, HashTable } from "../../helpers";
9
9
  export { AnswerCountValidator, EmailValidator, NumericValidator, RegexValidator, SurveyValidator, TextValidator, ValidatorResult, ExpressionValidator, ValidatorRunner } from "../../validator";
10
10
  export { ItemValue } from "../../itemvalue";
11
11
  export { Base, Event, EventBase, ArrayChanges, ComputedUpdater } from "../../base";
12
- export { ISurvey, ISurveyElement, IElement, IQuestion, IPage, IPanel, ISurveyData, ITitleOwner, ISurveyLayoutElement, IPlainDataOptions as IPlainData, IShortcutText, ILoadFromJSONOptions } from "../../base-interfaces";
12
+ export { ISurvey, ISurveyElement, IElement, IQuestion, IPage, IPanel, ISurveyData, ITitleOwner, ISurveyLayoutElement, IPlainDataOptions as IPlainData, IShortcutText, ILoadFromJSONOptions, ISaveToJSONOptions, HorizontalAlignment, VerticalAlignment } from "../../base-interfaces";
13
13
  export { SurveyError } from "../../survey-error";
14
14
  export { SurveyElementCore, SurveyElement, DragTypeOverMeEnum } from "../../survey-element";
15
15
  export { CalculatedValue } from "../../calculatedValue";
@@ -73,6 +73,7 @@ export declare class InputMaskNumeric extends InputMaskBase {
73
73
  */
74
74
  max: number;
75
75
  private calccaretPosition;
76
+ private numericalCompositionIsEmpty;
76
77
  displayNumber(parsedNumber: INumericalComposition, insertThousandsSeparator?: boolean, matchWholeMask?: boolean): string;
77
78
  convertNumber(parsedNumber: INumericalComposition): number;
78
79
  validateNumber(number: INumericalComposition, matchWholeMask: boolean): boolean;
@@ -545,7 +545,8 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
545
545
  * @see value
546
546
  * @see comment
547
547
  */
548
- clearValue(): void;
548
+ clearValue(keepComment?: boolean): void;
549
+ clearValueOnly(): void;
549
550
  unbindValue(): void;
550
551
  createValueCopy(): any;
551
552
  initDataUI(): void;
@@ -839,6 +840,8 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
839
840
  private initResponsiveness;
840
841
  protected getCompactRenderAs(): string;
841
842
  protected getDesktopRenderAs(): string;
843
+ protected onBeforeSetCompactRenderer(): void;
844
+ protected onBeforeSetDesktopRenderer(): void;
842
845
  protected processResponsiveness(requiredWidth: number, availableWidth: number): any;
843
846
  destroyResizeObserver(): void;
844
847
  dispose(): void;
@@ -181,7 +181,7 @@ export declare class QuestionSelectBase extends Question {
181
181
  protected setQuestionComment(newValue: string): void;
182
182
  private onUpdateCommentOnAutoOtherMode;
183
183
  private setOtherValueInternally;
184
- clearValue(): void;
184
+ clearValue(keepComment?: boolean): void;
185
185
  updateCommentFromSurvey(newValue: any): any;
186
186
  renderedValue: any;
187
187
  private makeCommentEmpty;
@@ -134,7 +134,7 @@ export declare class QuestionDropdownModel extends QuestionSelectBase {
134
134
  protected onVisibleChoicesChanged(): void;
135
135
  protected getFirstInputElementId(): string;
136
136
  getInputId(): string;
137
- clearValue(): void;
137
+ clearValue(keepComment?: boolean): void;
138
138
  onClick(e: any): void;
139
139
  onKeyUp(event: any): void;
140
140
  dispose(): void;
@@ -39,7 +39,7 @@ export declare class QuestionFileModelBase extends Question {
39
39
  * Default value: `false`
40
40
  */
41
41
  waitForUpload: boolean;
42
- clearValue(): void;
42
+ clearValue(keepComment?: boolean): void;
43
43
  clearOnDeletingContainer(): void;
44
44
  protected onCheckForErrors(errors: Array<SurveyError>, isOnValueChanged: boolean): void;
45
45
  protected uploadFiles(files: File[]): void;
@@ -228,7 +228,6 @@ export declare class QuestionFileModel extends QuestionFileModelBase {
228
228
  private onChange;
229
229
  protected onChangeQuestionValue(newValue: any): void;
230
230
  protected calcCssClasses(css: any): any;
231
- updateElementCss(reNew?: boolean): void;
232
231
  onSurveyLoad(): void;
233
232
  protected needResponsiveness(): boolean;
234
233
  protected supportResponsiveness(): boolean;
@@ -97,7 +97,7 @@ export declare class MatrixDropdownRowModelBase implements ISurveyData, ISurveyI
97
97
  getFilteredValues(): any;
98
98
  getFilteredProperties(): any;
99
99
  runCondition(values: HashTable<any>, properties: HashTable<any>): void;
100
- clearValue(): void;
100
+ clearValue(keepComment?: boolean): void;
101
101
  onAnyValueChanged(name: string, questionName: string): void;
102
102
  getDataValueCore(valuesHash: any, key: string): any;
103
103
  getValue(name: string): any;
@@ -451,10 +451,14 @@ export declare class QuestionMatrixDropdownModelBase extends QuestionMatrixBaseM
451
451
  getAllErrors(): Array<SurveyError>;
452
452
  private hasErrorInRows;
453
453
  private isValueDuplicated;
454
+ protected getUniqueColumnsNames(): Array<string>;
454
455
  private isValueInColumnDuplicated;
455
- protected getUniqueColumns(): Array<MatrixDropdownColumn>;
456
- private isValueDuplicatedInRow;
456
+ private getDuplicatedRows;
457
+ private showDuplicatedErrorsInRows;
458
+ private removeDuplicatedErrorsInRows;
459
+ private getDuplicationError;
457
460
  private addDuplicationError;
461
+ private removeDuplicationError;
458
462
  getFirstQuestionToFocus(withError: boolean): Question;
459
463
  protected getFirstInputElementId(): string;
460
464
  protected getFirstErrorInputElementId(): string;
@@ -4,7 +4,6 @@ import { SurveyError } from "./survey-error";
4
4
  import { DragDropMatrixRows } from "./dragdrop/matrix-rows";
5
5
  import { IShortcutText, ISurveyImpl, IProgressInfo } from "./base-interfaces";
6
6
  import { QuestionMatrixDropdownRenderedTable } from "./question_matrixdropdownrendered";
7
- import { MatrixDropdownColumn } from "./question_matrixdropdowncolumn";
8
7
  export declare class MatrixDynamicRowModel extends MatrixDropdownRowModelBase implements IShortcutText {
9
8
  index: number;
10
9
  private dragOrClickHelper;
@@ -235,12 +234,13 @@ export declare class QuestionMatrixDynamicModel extends QuestionMatrixDropdownMo
235
234
  readonly hasRowText: boolean;
236
235
  protected onCheckForErrors(errors: Array<SurveyError>, isOnValueChanged: boolean): void;
237
236
  private hasErrorInMinRows;
238
- protected getUniqueColumns(): Array<MatrixDropdownColumn>;
237
+ protected getUniqueColumnsNames(): Array<string>;
239
238
  protected generateRows(): Array<MatrixDynamicRowModel>;
240
239
  protected createMatrixRow(value: any): MatrixDynamicRowModel;
241
240
  private lastDeletedRow;
242
241
  private getInsertedDeletedIndex;
243
242
  private isEditingObjectValueChanged;
243
+ updateValueFromSurvey(newValue: any, clearData?: boolean): void;
244
244
  protected onBeforeValueChanged(val: any): void;
245
245
  protected createNewValue(): any;
246
246
  protected deleteRowValue(newValue: any, row: MatrixDropdownRowModelBase): any;
@@ -172,6 +172,8 @@ export declare class QuestionRatingModel extends Question {
172
172
  * @see rateType
173
173
  */
174
174
  displayMode: "dropdown" | "buttons" | "auto";
175
+ private updateRenderAsBasedOnDisplayMode;
176
+ onSurveyLoad(): void;
175
177
  /**
176
178
  * Specifies the alignment of [`minRateDescription`](https://surveyjs.io/form-library/documentation/api-reference/rating-scale-question-model#minRateDescription) and [`maxRateDescription`](https://surveyjs.io/form-library/documentation/api-reference/rating-scale-question-model#maxRateDescription) texts.
177
179
  *
@@ -258,6 +260,7 @@ export declare class QuestionRatingModel extends Question {
258
260
  readonly readOnlyText: any;
259
261
  needResponsiveWidth(): boolean;
260
262
  protected supportResponsiveness(): boolean;
263
+ protected onBeforeSetCompactRenderer(): void;
261
264
  protected getCompactRenderAs(): string;
262
265
  protected getDesktopRenderAs(): string;
263
266
  readonly ariaExpanded: string;
@@ -132,6 +132,6 @@ export declare class QuestionSignaturePadModel extends QuestionFileModelBase {
132
132
  onBlur: (event: any) => void;
133
133
  protected uploadResultItemToValue(r: any): any;
134
134
  protected setValueFromResult(arg: any): void;
135
- clearValue(): void;
135
+ clearValue(keepComment?: boolean): void;
136
136
  endLoadingFromJson(): void;
137
137
  }
@@ -83,7 +83,7 @@ export declare class QuestionTagboxModel extends QuestionCheckboxModel {
83
83
  protected getFirstInputElementId(): string;
84
84
  getInputId(): string;
85
85
  dispose(): void;
86
- clearValue(): void;
86
+ clearValue(keepComment?: boolean): void;
87
87
  readonly showClearButton: boolean;
88
88
  readonly isNewA11yStructure: boolean;
89
89
  }
@@ -325,6 +325,7 @@ export declare var settings: {
325
325
  * A separator used in a shorthand notation that specifies a value and display text for an [`ItemValue`](https://surveyjs.io/form-library/documentation/api-reference/itemvalue) object: `"value|text"`.
326
326
  *
327
327
  * Default value: `"|"`
328
+ * @see [settings.choicesSeparator](https://surveyjs.io/form-library/documentation/api-reference/settings#choicesSeparator)
328
329
  */
329
330
  itemValueSeparator: string;
330
331
  /**
@@ -475,6 +476,13 @@ export declare var settings: {
475
476
  dontKnowItem: number[];
476
477
  otherItem: number[];
477
478
  };
479
+ /**
480
+ * One or several characters used to separate choice options in a list.
481
+ *
482
+ * Default value: `", "`
483
+ * @see [settings.itemValueSeparator](https://surveyjs.io/form-library/documentation/api-reference/settings#itemValueSeparator)
484
+ */
485
+ choicesSeparator: string;
478
486
  /**
479
487
  * A list of supported validators by question type.
480
488
  */
@@ -2302,7 +2302,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
2302
2302
  * @see addNewPage
2303
2303
  */
2304
2304
  createNewPage(name: string): PageModel;
2305
- protected questionOnValueChanging(valueName: string, newValue: any): any;
2305
+ protected questionOnValueChanging(valueName: string, newValue: any, questionValueName?: string): any;
2306
2306
  protected updateQuestionValue(valueName: string, newValue: any): void;
2307
2307
  private checkQuestionErrorOnValueChanged;
2308
2308
  private checkQuestionErrorOnValueChangedCore;
@@ -8,6 +8,7 @@ export declare var defaultV2Css: {
8
8
  rootFitToContainer: string;
9
9
  rootWrapper: string;
10
10
  rootWrapperFixed: string;
11
+ rootWrapperHasImage: string;
11
12
  rootBackgroundImage: string;
12
13
  container: string;
13
14
  header: string;
@@ -9,7 +9,7 @@ export { Helpers, HashTable } from "../../helpers";
9
9
  export { AnswerCountValidator, EmailValidator, NumericValidator, RegexValidator, SurveyValidator, TextValidator, ValidatorResult, ExpressionValidator, ValidatorRunner } from "../../validator";
10
10
  export { ItemValue } from "../../itemvalue";
11
11
  export { Base, Event, EventBase, ArrayChanges, ComputedUpdater } from "../../base";
12
- export { ISurvey, ISurveyElement, IElement, IQuestion, IPage, IPanel, ISurveyData, ITitleOwner, ISurveyLayoutElement, IPlainDataOptions as IPlainData, IShortcutText, ILoadFromJSONOptions } from "../../base-interfaces";
12
+ export { ISurvey, ISurveyElement, IElement, IQuestion, IPage, IPanel, ISurveyData, ITitleOwner, ISurveyLayoutElement, IPlainDataOptions as IPlainData, IShortcutText, ILoadFromJSONOptions, ISaveToJSONOptions, HorizontalAlignment, VerticalAlignment } from "../../base-interfaces";
13
13
  export { SurveyError } from "../../survey-error";
14
14
  export { SurveyElementCore, SurveyElement, DragTypeOverMeEnum } from "../../survey-element";
15
15
  export { CalculatedValue } from "../../calculatedValue";
@@ -73,6 +73,7 @@ export declare class InputMaskNumeric extends InputMaskBase {
73
73
  */
74
74
  max: number;
75
75
  private calccaretPosition;
76
+ private numericalCompositionIsEmpty;
76
77
  displayNumber(parsedNumber: INumericalComposition, insertThousandsSeparator?: boolean, matchWholeMask?: boolean): string;
77
78
  convertNumber(parsedNumber: INumericalComposition): number;
78
79
  validateNumber(number: INumericalComposition, matchWholeMask: boolean): boolean;
@@ -570,7 +570,8 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
570
570
  * @see value
571
571
  * @see comment
572
572
  */
573
- clearValue(): void;
573
+ clearValue(keepComment?: boolean): void;
574
+ clearValueOnly(): void;
574
575
  unbindValue(): void;
575
576
  createValueCopy(): any;
576
577
  initDataUI(): void;
@@ -875,6 +876,8 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
875
876
  private initResponsiveness;
876
877
  protected getCompactRenderAs(): string;
877
878
  protected getDesktopRenderAs(): string;
879
+ protected onBeforeSetCompactRenderer(): void;
880
+ protected onBeforeSetDesktopRenderer(): void;
878
881
  protected processResponsiveness(requiredWidth: number, availableWidth: number): any;
879
882
  destroyResizeObserver(): void;
880
883
  dispose(): void;
@@ -193,7 +193,7 @@ export declare class QuestionSelectBase extends Question {
193
193
  protected setQuestionComment(newValue: string): void;
194
194
  private onUpdateCommentOnAutoOtherMode;
195
195
  private setOtherValueInternally;
196
- clearValue(): void;
196
+ clearValue(keepComment?: boolean): void;
197
197
  updateCommentFromSurvey(newValue: any): any;
198
198
  get renderedValue(): any;
199
199
  set renderedValue(val: any);
@@ -143,7 +143,7 @@ export declare class QuestionDropdownModel extends QuestionSelectBase {
143
143
  protected onVisibleChoicesChanged(): void;
144
144
  protected getFirstInputElementId(): string;
145
145
  getInputId(): string;
146
- clearValue(): void;
146
+ clearValue(keepComment?: boolean): void;
147
147
  onClick(e: any): void;
148
148
  onKeyUp(event: any): void;
149
149
  dispose(): void;
@@ -41,7 +41,7 @@ export declare class QuestionFileModelBase extends Question {
41
41
  */
42
42
  get waitForUpload(): boolean;
43
43
  set waitForUpload(val: boolean);
44
- clearValue(): void;
44
+ clearValue(keepComment?: boolean): void;
45
45
  clearOnDeletingContainer(): void;
46
46
  protected onCheckForErrors(errors: Array<SurveyError>, isOnValueChanged: boolean): void;
47
47
  protected uploadFiles(files: File[]): void;
@@ -241,7 +241,6 @@ export declare class QuestionFileModel extends QuestionFileModelBase {
241
241
  private onChange;
242
242
  protected onChangeQuestionValue(newValue: any): void;
243
243
  protected calcCssClasses(css: any): any;
244
- updateElementCss(reNew?: boolean): void;
245
244
  onSurveyLoad(): void;
246
245
  protected needResponsiveness(): boolean;
247
246
  protected supportResponsiveness(): boolean;
@@ -99,7 +99,7 @@ export declare class MatrixDropdownRowModelBase implements ISurveyData, ISurveyI
99
99
  getFilteredValues(): any;
100
100
  getFilteredProperties(): any;
101
101
  runCondition(values: HashTable<any>, properties: HashTable<any>): void;
102
- clearValue(): void;
102
+ clearValue(keepComment?: boolean): void;
103
103
  onAnyValueChanged(name: string, questionName: string): void;
104
104
  getDataValueCore(valuesHash: any, key: string): any;
105
105
  getValue(name: string): any;
@@ -470,10 +470,14 @@ export declare class QuestionMatrixDropdownModelBase extends QuestionMatrixBaseM
470
470
  getAllErrors(): Array<SurveyError>;
471
471
  private hasErrorInRows;
472
472
  private isValueDuplicated;
473
+ protected getUniqueColumnsNames(): Array<string>;
473
474
  private isValueInColumnDuplicated;
474
- protected getUniqueColumns(): Array<MatrixDropdownColumn>;
475
- private isValueDuplicatedInRow;
475
+ private getDuplicatedRows;
476
+ private showDuplicatedErrorsInRows;
477
+ private removeDuplicatedErrorsInRows;
478
+ private getDuplicationError;
476
479
  private addDuplicationError;
480
+ private removeDuplicationError;
477
481
  getFirstQuestionToFocus(withError: boolean): Question;
478
482
  protected getFirstInputElementId(): string;
479
483
  protected getFirstErrorInputElementId(): string;
@@ -4,7 +4,6 @@ import { SurveyError } from "./survey-error";
4
4
  import { DragDropMatrixRows } from "./dragdrop/matrix-rows";
5
5
  import { IShortcutText, ISurveyImpl, IProgressInfo } from "./base-interfaces";
6
6
  import { QuestionMatrixDropdownRenderedTable } from "./question_matrixdropdownrendered";
7
- import { MatrixDropdownColumn } from "./question_matrixdropdowncolumn";
8
7
  export declare class MatrixDynamicRowModel extends MatrixDropdownRowModelBase implements IShortcutText {
9
8
  index: number;
10
9
  private dragOrClickHelper;
@@ -254,12 +253,13 @@ export declare class QuestionMatrixDynamicModel extends QuestionMatrixDropdownMo
254
253
  get hasRowText(): boolean;
255
254
  protected onCheckForErrors(errors: Array<SurveyError>, isOnValueChanged: boolean): void;
256
255
  private hasErrorInMinRows;
257
- protected getUniqueColumns(): Array<MatrixDropdownColumn>;
256
+ protected getUniqueColumnsNames(): Array<string>;
258
257
  protected generateRows(): Array<MatrixDynamicRowModel>;
259
258
  protected createMatrixRow(value: any): MatrixDynamicRowModel;
260
259
  private lastDeletedRow;
261
260
  private getInsertedDeletedIndex;
262
261
  private isEditingObjectValueChanged;
262
+ updateValueFromSurvey(newValue: any, clearData?: boolean): void;
263
263
  protected onBeforeValueChanged(val: any): void;
264
264
  protected createNewValue(): any;
265
265
  protected deleteRowValue(newValue: any, row: MatrixDropdownRowModelBase): any;
@@ -178,6 +178,8 @@ export declare class QuestionRatingModel extends Question {
178
178
  * @see rateType
179
179
  */
180
180
  displayMode: "dropdown" | "buttons" | "auto";
181
+ private updateRenderAsBasedOnDisplayMode;
182
+ onSurveyLoad(): void;
181
183
  /**
182
184
  * Specifies the alignment of [`minRateDescription`](https://surveyjs.io/form-library/documentation/api-reference/rating-scale-question-model#minRateDescription) and [`maxRateDescription`](https://surveyjs.io/form-library/documentation/api-reference/rating-scale-question-model#maxRateDescription) texts.
183
185
  *
@@ -268,6 +270,7 @@ export declare class QuestionRatingModel extends Question {
268
270
  get readOnlyText(): any;
269
271
  needResponsiveWidth(): boolean;
270
272
  protected supportResponsiveness(): boolean;
273
+ protected onBeforeSetCompactRenderer(): void;
271
274
  protected getCompactRenderAs(): string;
272
275
  protected getDesktopRenderAs(): string;
273
276
  get ariaExpanded(): string;
@@ -140,6 +140,6 @@ export declare class QuestionSignaturePadModel extends QuestionFileModelBase {
140
140
  onBlur: (event: any) => void;
141
141
  protected uploadResultItemToValue(r: any): any;
142
142
  protected setValueFromResult(arg: any): void;
143
- clearValue(): void;
143
+ clearValue(keepComment?: boolean): void;
144
144
  endLoadingFromJson(): void;
145
145
  }
@@ -86,7 +86,7 @@ export declare class QuestionTagboxModel extends QuestionCheckboxModel {
86
86
  protected getFirstInputElementId(): string;
87
87
  getInputId(): string;
88
88
  dispose(): void;
89
- clearValue(): void;
89
+ clearValue(keepComment?: boolean): void;
90
90
  get showClearButton(): boolean;
91
91
  get isNewA11yStructure(): boolean;
92
92
  }
@@ -325,6 +325,7 @@ export declare var settings: {
325
325
  * A separator used in a shorthand notation that specifies a value and display text for an [`ItemValue`](https://surveyjs.io/form-library/documentation/api-reference/itemvalue) object: `"value|text"`.
326
326
  *
327
327
  * Default value: `"|"`
328
+ * @see [settings.choicesSeparator](https://surveyjs.io/form-library/documentation/api-reference/settings#choicesSeparator)
328
329
  */
329
330
  itemValueSeparator: string;
330
331
  /**
@@ -475,6 +476,13 @@ export declare var settings: {
475
476
  dontKnowItem: number[];
476
477
  otherItem: number[];
477
478
  };
479
+ /**
480
+ * One or several characters used to separate choice options in a list.
481
+ *
482
+ * Default value: `", "`
483
+ * @see [settings.itemValueSeparator](https://surveyjs.io/form-library/documentation/api-reference/settings#itemValueSeparator)
484
+ */
485
+ choicesSeparator: string;
478
486
  /**
479
487
  * A list of supported validators by question type.
480
488
  */
@@ -2387,7 +2387,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
2387
2387
  * @see addNewPage
2388
2388
  */
2389
2389
  createNewPage(name: string): PageModel;
2390
- protected questionOnValueChanging(valueName: string, newValue: any): any;
2390
+ protected questionOnValueChanging(valueName: string, newValue: any, questionValueName?: string): any;
2391
2391
  protected updateQuestionValue(valueName: string, newValue: any): void;
2392
2392
  private checkQuestionErrorOnValueChanged;
2393
2393
  private checkQuestionErrorOnValueChangedCore;