survey-core 1.10.4 → 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 (230) hide show
  1. package/defaultV2.css +4 -1
  2. package/defaultV2.css.map +1 -1
  3. package/defaultV2.fontless.css +4 -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 +162 -91
  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/question.d.ts +4 -1
  211. package/ts3.4/typings/question_baseselect.d.ts +1 -1
  212. package/ts3.4/typings/question_dropdown.d.ts +1 -1
  213. package/ts3.4/typings/question_file.d.ts +1 -1
  214. package/ts3.4/typings/question_matrixdropdownbase.d.ts +7 -3
  215. package/ts3.4/typings/question_matrixdynamic.d.ts +1 -2
  216. package/ts3.4/typings/question_rating.d.ts +1 -0
  217. package/ts3.4/typings/question_signaturepad.d.ts +1 -1
  218. package/ts3.4/typings/question_tagbox.d.ts +1 -1
  219. package/ts3.4/typings/survey.d.ts +1 -1
  220. package/typings/defaultCss/defaultV2Css.d.ts +1 -0
  221. package/typings/question.d.ts +4 -1
  222. package/typings/question_baseselect.d.ts +1 -1
  223. package/typings/question_dropdown.d.ts +1 -1
  224. package/typings/question_file.d.ts +1 -1
  225. package/typings/question_matrixdropdownbase.d.ts +7 -3
  226. package/typings/question_matrixdynamic.d.ts +1 -2
  227. package/typings/question_rating.d.ts +1 -0
  228. package/typings/question_signaturepad.d.ts +1 -1
  229. package/typings/question_tagbox.d.ts +1 -1
  230. package/typings/survey.d.ts +1 -1
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - Survey JavaScript library v1.10.4
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.4
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.4
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.4
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.4
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.4
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.4
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.4
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.4
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.4
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.4
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;
@@ -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;
@@ -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,7 +234,7 @@ 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;
@@ -260,6 +260,7 @@ export declare class QuestionRatingModel extends Question {
260
260
  readonly readOnlyText: any;
261
261
  needResponsiveWidth(): boolean;
262
262
  protected supportResponsiveness(): boolean;
263
+ protected onBeforeSetCompactRenderer(): void;
263
264
  protected getCompactRenderAs(): string;
264
265
  protected getDesktopRenderAs(): string;
265
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
  }
@@ -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;
@@ -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;
@@ -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,7 +253,7 @@ 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;
@@ -270,6 +270,7 @@ export declare class QuestionRatingModel extends Question {
270
270
  get readOnlyText(): any;
271
271
  needResponsiveWidth(): boolean;
272
272
  protected supportResponsiveness(): boolean;
273
+ protected onBeforeSetCompactRenderer(): void;
273
274
  protected getCompactRenderAs(): string;
274
275
  protected getDesktopRenderAs(): string;
275
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
  }
@@ -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;