survey-core 1.11.14 → 1.12.2

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 (281) hide show
  1. package/defaultV2.css +159 -134
  2. package/defaultV2.css.map +1 -1
  3. package/defaultV2.fontless.css +159 -134
  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 +45 -45
  46. package/i18n/index.js.map +1 -1
  47. package/i18n/index.min.js +2 -2
  48. package/i18n/indonesian.js +1 -1
  49. package/i18n/indonesian.min.js +1 -1
  50. package/i18n/italian.js +1 -1
  51. package/i18n/italian.min.js +1 -1
  52. package/i18n/japanese.js +45 -45
  53. package/i18n/japanese.js.map +1 -1
  54. package/i18n/japanese.min.js +2 -2
  55. package/i18n/kazakh.js +1 -1
  56. package/i18n/kazakh.min.js +1 -1
  57. package/i18n/korean.js +1 -1
  58. package/i18n/korean.min.js +1 -1
  59. package/i18n/latvian.js +1 -1
  60. package/i18n/latvian.min.js +1 -1
  61. package/i18n/lithuanian.js +1 -1
  62. package/i18n/lithuanian.min.js +1 -1
  63. package/i18n/macedonian.js +1 -1
  64. package/i18n/macedonian.min.js +1 -1
  65. package/i18n/malay.js +1 -1
  66. package/i18n/malay.min.js +1 -1
  67. package/i18n/nl-BE.js +1 -1
  68. package/i18n/nl-BE.min.js +1 -1
  69. package/i18n/norwegian.js +1 -1
  70. package/i18n/norwegian.min.js +1 -1
  71. package/i18n/persian.js +1 -1
  72. package/i18n/persian.min.js +1 -1
  73. package/i18n/philippines.js +1 -1
  74. package/i18n/philippines.min.js +1 -1
  75. package/i18n/polish.js +1 -1
  76. package/i18n/polish.min.js +1 -1
  77. package/i18n/portuguese-br.js +1 -1
  78. package/i18n/portuguese-br.min.js +1 -1
  79. package/i18n/portuguese.js +1 -1
  80. package/i18n/portuguese.min.js +1 -1
  81. package/i18n/romanian.js +1 -1
  82. package/i18n/romanian.min.js +1 -1
  83. package/i18n/russian.js +1 -1
  84. package/i18n/russian.min.js +1 -1
  85. package/i18n/serbian.js +1 -1
  86. package/i18n/serbian.min.js +1 -1
  87. package/i18n/simplified-chinese.js +1 -1
  88. package/i18n/simplified-chinese.min.js +1 -1
  89. package/i18n/slovak.js +1 -1
  90. package/i18n/slovak.min.js +1 -1
  91. package/i18n/spanish.js +1 -1
  92. package/i18n/spanish.min.js +1 -1
  93. package/i18n/swahili.js +1 -1
  94. package/i18n/swahili.min.js +1 -1
  95. package/i18n/swedish.js +1 -1
  96. package/i18n/swedish.min.js +1 -1
  97. package/i18n/tajik.js +1 -1
  98. package/i18n/tajik.min.js +1 -1
  99. package/i18n/telugu.js +1 -1
  100. package/i18n/telugu.min.js +1 -1
  101. package/i18n/thai.js +1 -1
  102. package/i18n/thai.min.js +1 -1
  103. package/i18n/traditional-chinese.js +1 -1
  104. package/i18n/traditional-chinese.min.js +1 -1
  105. package/i18n/turkish.js +1 -1
  106. package/i18n/turkish.min.js +1 -1
  107. package/i18n/ukrainian.js +1 -1
  108. package/i18n/ukrainian.min.js +1 -1
  109. package/i18n/urdu.js +1 -1
  110. package/i18n/urdu.min.js +1 -1
  111. package/i18n/vietnamese.js +1 -1
  112. package/i18n/vietnamese.min.js +1 -1
  113. package/i18n/welsh.js +1 -1
  114. package/i18n/welsh.min.js +1 -1
  115. package/modern.css +27 -41
  116. package/modern.css.map +1 -1
  117. package/modern.fontless.css +27 -41
  118. package/modern.fontless.css.map +1 -1
  119. package/modern.fontless.min.css +2 -2
  120. package/modern.min.css +2 -2
  121. package/package.json +1 -1
  122. package/plugins/bootstrap-integration/index.js +1 -1
  123. package/plugins/bootstrap-integration/index.min.js +1 -1
  124. package/plugins/bootstrap-material-integration/index.js +1 -1
  125. package/plugins/bootstrap-material-integration/index.min.js +1 -1
  126. package/survey.core.js +1237 -436
  127. package/survey.core.js.map +1 -1
  128. package/survey.core.min.js +3 -3
  129. package/survey.css +1 -1
  130. package/survey.i18n.js +45 -45
  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/packages/survey-core/entries/chunks/model.d.ts +1 -0
  217. package/ts3.4/typings/packages/survey-core/src/base-interfaces.d.ts +2 -0
  218. package/ts3.4/typings/packages/survey-core/src/choicesRestful.d.ts +1 -0
  219. package/ts3.4/typings/packages/survey-core/src/defaultCss/defaultV2Css.d.ts +29 -17
  220. package/ts3.4/typings/packages/survey-core/src/header.d.ts +2 -2
  221. package/ts3.4/typings/packages/survey-core/src/helpers.d.ts +1 -0
  222. package/ts3.4/typings/packages/survey-core/src/itemvalue.d.ts +3 -0
  223. package/ts3.4/typings/packages/survey-core/src/martixBase.d.ts +7 -6
  224. package/ts3.4/typings/packages/survey-core/src/mask/mask_base.d.ts +1 -0
  225. package/ts3.4/typings/packages/survey-core/src/mask/mask_datetime.d.ts +1 -0
  226. package/ts3.4/typings/packages/survey-core/src/page.d.ts +3 -0
  227. package/ts3.4/typings/packages/survey-core/src/panel.d.ts +6 -1
  228. package/ts3.4/typings/packages/survey-core/src/question.d.ts +10 -7
  229. package/ts3.4/typings/packages/survey-core/src/question_baseselect.d.ts +12 -1
  230. package/ts3.4/typings/packages/survey-core/src/question_checkbox.d.ts +1 -1
  231. package/ts3.4/typings/packages/survey-core/src/question_comment.d.ts +4 -0
  232. package/ts3.4/typings/packages/survey-core/src/question_custom.d.ts +1 -1
  233. package/ts3.4/typings/packages/survey-core/src/question_file.d.ts +1 -1
  234. package/ts3.4/typings/packages/survey-core/src/question_matrix.d.ts +10 -2
  235. package/ts3.4/typings/packages/survey-core/src/question_matrixdropdown.d.ts +4 -1
  236. package/ts3.4/typings/packages/survey-core/src/question_matrixdropdownbase.d.ts +23 -2
  237. package/ts3.4/typings/packages/survey-core/src/question_matrixdropdowncolumn.d.ts +3 -2
  238. package/ts3.4/typings/packages/survey-core/src/question_matrixdynamic.d.ts +2 -1
  239. package/ts3.4/typings/packages/survey-core/src/question_paneldynamic.d.ts +3 -0
  240. package/ts3.4/typings/packages/survey-core/src/question_text.d.ts +1 -1
  241. package/ts3.4/typings/packages/survey-core/src/survey-element.d.ts +1 -0
  242. package/ts3.4/typings/packages/survey-core/src/survey.d.ts +2 -1
  243. package/ts3.4/typings/packages/survey-core/src/utils/animation.d.ts +1 -0
  244. package/ts3.4/typings/packages/survey-core/src/utils/responsivity-manager.d.ts +1 -2
  245. package/ts3.4/typings/packages/survey-core/src/utils/text-area.d.ts +56 -0
  246. package/ts3.4/typings/packages/survey-core/src/utils/utils.d.ts +14 -0
  247. package/ts3.4/typings/packages/survey-core/src/validator.d.ts +59 -16
  248. package/ts3.4/typings/src/defaultCss/cssmodern.d.ts +1 -0
  249. package/typings/packages/survey-core/entries/chunks/model.d.ts +1 -0
  250. package/typings/packages/survey-core/src/base-interfaces.d.ts +2 -0
  251. package/typings/packages/survey-core/src/choicesRestful.d.ts +1 -0
  252. package/typings/packages/survey-core/src/defaultCss/defaultV2Css.d.ts +29 -17
  253. package/typings/packages/survey-core/src/header.d.ts +2 -2
  254. package/typings/packages/survey-core/src/helpers.d.ts +1 -0
  255. package/typings/packages/survey-core/src/itemvalue.d.ts +3 -0
  256. package/typings/packages/survey-core/src/martixBase.d.ts +7 -6
  257. package/typings/packages/survey-core/src/mask/mask_base.d.ts +1 -0
  258. package/typings/packages/survey-core/src/mask/mask_datetime.d.ts +1 -0
  259. package/typings/packages/survey-core/src/page.d.ts +3 -0
  260. package/typings/packages/survey-core/src/panel.d.ts +6 -1
  261. package/typings/packages/survey-core/src/question.d.ts +10 -7
  262. package/typings/packages/survey-core/src/question_baseselect.d.ts +13 -1
  263. package/typings/packages/survey-core/src/question_checkbox.d.ts +1 -1
  264. package/typings/packages/survey-core/src/question_comment.d.ts +4 -0
  265. package/typings/packages/survey-core/src/question_custom.d.ts +1 -1
  266. package/typings/packages/survey-core/src/question_file.d.ts +1 -1
  267. package/typings/packages/survey-core/src/question_matrix.d.ts +10 -2
  268. package/typings/packages/survey-core/src/question_matrixdropdown.d.ts +4 -1
  269. package/typings/packages/survey-core/src/question_matrixdropdownbase.d.ts +24 -2
  270. package/typings/packages/survey-core/src/question_matrixdropdowncolumn.d.ts +3 -2
  271. package/typings/packages/survey-core/src/question_matrixdynamic.d.ts +2 -1
  272. package/typings/packages/survey-core/src/question_paneldynamic.d.ts +3 -0
  273. package/typings/packages/survey-core/src/question_text.d.ts +1 -1
  274. package/typings/packages/survey-core/src/survey-element.d.ts +1 -0
  275. package/typings/packages/survey-core/src/survey.d.ts +2 -1
  276. package/typings/packages/survey-core/src/utils/animation.d.ts +1 -0
  277. package/typings/packages/survey-core/src/utils/responsivity-manager.d.ts +1 -2
  278. package/typings/packages/survey-core/src/utils/text-area.d.ts +56 -0
  279. package/typings/packages/survey-core/src/utils/utils.d.ts +14 -0
  280. package/typings/packages/survey-core/src/validator.d.ts +60 -16
  281. package/typings/src/defaultCss/cssmodern.d.ts +1 -0
@@ -1,11 +1,11 @@
1
1
  import { HashTable } from "./helpers";
2
2
  import { ItemValue } from "./itemvalue";
3
3
  import { Question } from "./question";
4
+ import { ConditionRunner } from "./conditions";
4
5
  /**
5
6
  * A base class for all matrix question types.
6
7
  */
7
8
  export declare class QuestionMatrixBaseModel<TRow, TColumn> extends Question {
8
- protected filteredColumns: Array<TColumn>;
9
9
  protected filteredRows: Array<ItemValue>;
10
10
  protected generatedVisibleRows: Array<TRow>;
11
11
  protected generatedTotalRow: TRow;
@@ -36,6 +36,7 @@ export declare class QuestionMatrixBaseModel<TRow, TColumn> extends Question {
36
36
  get columns(): Array<any>;
37
37
  set columns(newValue: Array<any>);
38
38
  get visibleColumns(): Array<any>;
39
+ protected isColumnVisible(column: any): boolean;
39
40
  /**
40
41
  * An array of matrix rows.
41
42
  *
@@ -78,20 +79,20 @@ export declare class QuestionMatrixBaseModel<TRow, TColumn> extends Question {
78
79
  get columnsVisibleIf(): string;
79
80
  set columnsVisibleIf(val: string);
80
81
  runCondition(values: HashTable<any>, properties: HashTable<any>): void;
81
- protected filterItems(): boolean;
82
82
  protected onColumnsChanged(): void;
83
83
  protected onRowsChanged(): void;
84
84
  protected updateVisibilityBasedOnRows(): void;
85
85
  protected isVisibleCore(): boolean;
86
86
  protected shouldRunColumnExpression(): boolean;
87
87
  protected hasRowsAsItems(): boolean;
88
- protected runItemsCondition(values: HashTable<any>, properties: HashTable<any>): boolean;
88
+ protected runItemsCondition(values: HashTable<any>, properties: HashTable<any>): void;
89
+ protected isRowsFiltered(): boolean;
89
90
  protected clearGeneratedRows(): void;
91
+ protected createRowsVisibleIfRunner(): ConditionRunner;
90
92
  private runConditionsForRows;
91
- private runConditionsForColumns;
92
- clearIncorrectValues(): void;
93
+ protected runConditionsForColumns(values: HashTable<any>, properties: HashTable<any>): boolean;
94
+ protected clearInvisibleColumnValues(): void;
93
95
  protected clearInvisibleValuesInRows(): void;
94
- private restoreNewVisibleRowsValues;
95
96
  needResponsiveWidth(): boolean;
96
97
  protected get columnsAutoWidth(): boolean;
97
98
  getTableCss(): string;
@@ -25,4 +25,5 @@ export declare class InputMaskBase extends Base implements IInputMask {
25
25
  getUnmaskedValue(src: string): any;
26
26
  getMaskedValue(src: any): string;
27
27
  getTextAlignment(): "left" | "right" | "auto";
28
+ getTypeForExpressions(): string;
28
29
  }
@@ -61,6 +61,7 @@ export declare class InputMaskDateTime extends InputMaskPattern {
61
61
  get hasTimePart(): boolean;
62
62
  private get is12Hours();
63
63
  getType(): string;
64
+ getTypeForExpressions(): string;
64
65
  protected updateLiterals(): void;
65
66
  private leaveOnlyNumbers;
66
67
  private getMaskedStrFromISO;
@@ -13,6 +13,9 @@ export declare class PageModel extends PanelModelBase implements IPage {
13
13
  getType(): string;
14
14
  toString(): string;
15
15
  get isPage(): boolean;
16
+ get no(): string;
17
+ get cssTitleNumber(): string;
18
+ get cssRequiredText(): string;
16
19
  protected canShowPageNumber(): boolean;
17
20
  protected canShowTitle(): boolean;
18
21
  /**
@@ -345,6 +345,7 @@ export declare class PanelModelBase extends SurveyElement<Question> implements I
345
345
  getDragDropInfo(): any;
346
346
  private updateRowsOnElementRemoved;
347
347
  updateRowsRemoveElementFromRow(element: IElement, row: QuestionRowModel): void;
348
+ disableLazyRenderingBeforeElement(el?: IElement): void;
348
349
  findRowByElement(el: IElement): QuestionRowModel;
349
350
  elementWidthChanged(el: IElement): void;
350
351
  get processedTitle(): string;
@@ -460,7 +461,10 @@ export declare class PanelModelBase extends SurveyElement<Question> implements I
460
461
  get questionErrorLocation(): string;
461
462
  set questionErrorLocation(val: string);
462
463
  getQuestionErrorLocation(): string;
464
+ getTitleOwner(): ITitleOwner;
463
465
  get no(): string;
466
+ get cssTitleNumber(): string;
467
+ get cssRequiredText(): string;
464
468
  get cssError(): string;
465
469
  protected getCssError(cssClasses: any): string;
466
470
  getSerializableColumnsValue(): Array<PanelLayoutColumnModel>;
@@ -498,7 +502,6 @@ export declare class PanelModel extends PanelModelBase implements IElement {
498
502
  * @see showNumber
499
503
  */
500
504
  get visibleIndex(): number;
501
- getTitleOwner(): ITitleOwner;
502
505
  /**
503
506
  * Specifies whether to show the panel number in the title.
504
507
  *
@@ -587,6 +590,8 @@ export declare class PanelModel extends PanelModelBase implements IElement {
587
590
  protected getHasFrameV2(): boolean;
588
591
  protected getIsNested(): boolean;
589
592
  get showPanelAsPage(): boolean;
593
+ private forcusFirstQuestionOnExpand;
594
+ expand(focusFirstQuestion?: boolean): void;
590
595
  protected onElementExpanded(elementIsRendered: boolean): void;
591
596
  protected getCssRoot(cssClasses: {
592
597
  [index: string]: string;
@@ -10,6 +10,7 @@ import { QuestionCustomWidget } from "./questionCustomWidgets";
10
10
  import { SurveyError } from "./survey-error";
11
11
  import { PopupModel } from "./popup";
12
12
  import { ITheme } from "./themes";
13
+ import { TextAreaModel } from "./utils/text-area";
13
14
  export interface IConditionObject {
14
15
  name: string;
15
16
  text: string;
@@ -63,6 +64,8 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
63
64
  private isReadyValue;
64
65
  private commentElements;
65
66
  private dependedQuestions;
67
+ commentTextAreaModel: TextAreaModel;
68
+ private getCommentTextAreaOptions;
66
69
  /**
67
70
  * An event that is raised when the question's ready state has changed (expressions are evaluated, choices are loaded from a web resource specified by the `choicesByUrl` property, etc.).
68
71
  *
@@ -664,31 +667,31 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
664
667
  get defaultValueExpression(): any;
665
668
  set defaultValueExpression(val: any);
666
669
  /**
667
- * A Boolean expression. If it evaluates to `true`, the question value is reset to [default](#defaultValue).
670
+ * A Boolean [expression](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#expressions). If it evaluates to `true`, the question value is reset to [default](#defaultValue).
668
671
  *
669
672
  * A survey parses and runs all expressions on startup. If any values used in the expression change, the survey re-evaluates it.
670
673
  *
671
- * [Expressions](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#expressions (linkStyle))
674
+ * [View Demo](https://surveyjs.io/form-library/examples/trigger-setvalue/ (linkStyle))
672
675
  * @see setValueIf
673
676
  */
674
677
  get resetValueIf(): string;
675
678
  set resetValueIf(val: string);
676
679
  /**
677
- * A Boolean expression. If it evaluates to `true`, the question value is set to a value calculated using the [`setValueExpression`](#setValueExpression).
680
+ * A Boolean [expression](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#expressions). If it evaluates to `true`, the question value is set to a value calculated using the [`setValueExpression`](#setValueExpression).
678
681
  *
679
682
  * A survey parses and runs all expressions on startup. If any values used in the expression change, the survey re-evaluates it.
680
683
  *
681
- * [Expressions](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#expressions (linkStyle))
684
+ * [View Demo](https://surveyjs.io/form-library/examples/trigger-setvalue/ (linkStyle))
682
685
  * @see resetValueIf
683
686
  */
684
687
  get setValueIf(): string;
685
688
  set setValueIf(val: string);
686
689
  /**
687
- * An expression used to calculate the question value.
690
+ * An [expression](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#expressions) used to calculate the question value.
688
691
  *
689
692
  * You can use `setValueExpression` as a standalone property or in conjunction with the [`setValueIf`](#setValueIf) expression, in which case the calculated question value applies only when `setValueIf` evaluates to `true`.
690
693
  *
691
- * [Expressions](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#expressions (linkStyle))
694
+ * [View Demo](https://surveyjs.io/form-library/examples/trigger-setvalue/ (linkStyle))
692
695
  * @see defaultValueExpression
693
696
  * @see resetValueIf
694
697
  */
@@ -806,7 +809,7 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
806
809
  private collectErrors;
807
810
  protected canRunValidators(isOnValueChanged: boolean): boolean;
808
811
  private fireSurveyValidation;
809
- protected onCheckForErrors(errors: Array<SurveyError>, isOnValueChanged: boolean): void;
812
+ protected onCheckForErrors(errors: Array<SurveyError>, isOnValueChanged: boolean, fireCallback: boolean): void;
810
813
  hasRequiredError(): boolean;
811
814
  private validatorRunner;
812
815
  private isRunningValidatorsValue;
@@ -5,12 +5,15 @@ import { ItemValue } from "./itemvalue";
5
5
  import { ChoicesRestful } from "./choicesRestful";
6
6
  import { LocalizableString } from "./localizablestring";
7
7
  import { HashTable } from "./helpers";
8
+ import { TextAreaModel } from "./utils/text-area";
8
9
  /**
9
10
  * A base class for multiple-choice question types ([Checkboxes](https://surveyjs.io/form-library/documentation/questioncheckboxmodel), [Dropdown](https://surveyjs.io/form-library/documentation/questiondropdownmodel), [Radio Button Group](https://surveyjs.io/form-library/documentation/questionradiogroupmodel), etc.).
10
11
  */
11
12
  export declare class QuestionSelectBase extends Question {
12
13
  visibleChoicesChangedCallback: () => void;
13
14
  loadedChoicesFromServerCallback: () => void;
15
+ otherTextAreaModel: TextAreaModel;
16
+ renderedChoicesChangedCallback: () => void;
14
17
  private filteredChoicesValue;
15
18
  private conditionChoicesVisibleIfRunner;
16
19
  private conditionChoicesEnableIfRunner;
@@ -28,6 +31,7 @@ export declare class QuestionSelectBase extends Question {
28
31
  private waitingGetChoiceDisplayValueResponse;
29
32
  private get waitingChoicesByURL();
30
33
  protected selectedItemValues: any;
34
+ private getOtherTextAreaOptions;
31
35
  constructor(name: string);
32
36
  getType(): string;
33
37
  dispose(): void;
@@ -215,6 +219,7 @@ export declare class QuestionSelectBase extends Question {
215
219
  protected hasUnknownValue(val: any, includeOther?: boolean, isFilteredChoices?: boolean, checkEmptyValue?: boolean): boolean;
216
220
  protected hasUnknownValueItem(val: any, includeOther?: boolean, isFilteredChoices?: boolean, checkEmptyValue?: boolean): boolean;
217
221
  protected isValueDisabled(val: any): boolean;
222
+ endLoadingFromJson(): void;
218
223
  clearIncorrectValuesCallback: () => void;
219
224
  /**
220
225
  * Configures access to a RESTful service that returns choice items. Refer to the [`ChoicesRestful`](https://surveyjs.io/form-library/documentation/choicesrestful) class description for more information. You can also specify additional application-wide settings using the [`settings.web`](https://surveyjs.io/form-library/documentation/api-reference/settings#web) object.
@@ -417,7 +422,7 @@ export declare class QuestionSelectBase extends Question {
417
422
  supportRefuse(): boolean;
418
423
  supportDontKnow(): boolean;
419
424
  protected isSupportProperty(propName: string): boolean;
420
- protected onCheckForErrors(errors: Array<SurveyError>, isOnValueChanged: boolean): void;
425
+ protected onCheckForErrors(errors: Array<SurveyError>, isOnValueChanged: boolean, fireCallback: boolean): void;
421
426
  setSurveyImpl(value: ISurveyImpl, isLight?: boolean): void;
422
427
  protected setSurveyCore(value: ISurvey): void;
423
428
  getStoreOthersAsComment(): boolean;
@@ -474,6 +479,13 @@ export declare class QuestionSelectBase extends Question {
474
479
  protected getItemClassCore(item: any, options: any): string;
475
480
  getLabelClass(item: ItemValue): string;
476
481
  getControlLabelClass(item: ItemValue): string;
482
+ _renderedChoices: Array<ItemValue>;
483
+ onGetRenderedChoicesCallback?: (visibleChoices: Array<ItemValue>) => Array<ItemValue>;
484
+ private updateRenderedChoices;
485
+ private getRenderedChoicesAnimationOptions;
486
+ private renderedChoicesAnimation;
487
+ get renderedChoices(): Array<ItemValue>;
488
+ set renderedChoices(val: Array<ItemValue>);
477
489
  private headItemsCount;
478
490
  private footItemsCount;
479
491
  get headItems(): ItemValue[];
@@ -100,7 +100,7 @@ export declare class QuestionCheckboxModel extends QuestionCheckboxBase {
100
100
  protected getMultipleSelectedItems(): Array<ItemValue>;
101
101
  protected validateItemValues(itemValues: Array<ItemValue>): Array<ItemValue>;
102
102
  protected getAnswerCorrectIgnoreOrder(): boolean;
103
- protected onCheckForErrors(errors: Array<SurveyError>, isOnValueChanged: boolean): void;
103
+ protected onCheckForErrors(errors: Array<SurveyError>, isOnValueChanged: boolean, fireCallback: boolean): void;
104
104
  protected onVisibleChoicesChanged(): void;
105
105
  protected onEnableItemCallBack(item: ItemValue): boolean;
106
106
  protected onAfterRunItemsEnableCondition(): void;
@@ -1,4 +1,5 @@
1
1
  import { QuestionTextBase } from "./question_textbase";
2
+ import { TextAreaModel } from "./utils/text-area";
2
3
  /**
3
4
  * A class that describes the Long Text question type.
4
5
  *
@@ -6,6 +7,9 @@ import { QuestionTextBase } from "./question_textbase";
6
7
  */
7
8
  export declare class QuestionCommentModel extends QuestionTextBase {
8
9
  private element;
10
+ textAreaModel: TextAreaModel;
11
+ private getTextAreaOptions;
12
+ constructor(name: string);
9
13
  /**
10
14
  * Specifies the visible height of the comment area, measured in lines.
11
15
  *
@@ -323,7 +323,7 @@ export declare abstract class QuestionCustomModelBase extends Question implement
323
323
  protected onUpdateQuestionCssClasses(element: Question, css: any): void;
324
324
  protected setQuestionValue(newValue: any, updateIsAnswered?: boolean): void;
325
325
  protected setNewValue(newValue: any): void;
326
- protected onCheckForErrors(errors: Array<SurveyError>, isOnValueChanged: boolean): void;
326
+ protected onCheckForErrors(errors: Array<SurveyError>, isOnValueChanged: boolean, fireCallback: boolean): void;
327
327
  getSurveyData(): ISurveyData;
328
328
  getTextProcessor(): ITextProcessor;
329
329
  getValue(name: string): any;
@@ -43,7 +43,7 @@ export declare class QuestionFileModelBase extends Question {
43
43
  set waitForUpload(val: boolean);
44
44
  clearValue(keepComment?: boolean): void;
45
45
  clearOnDeletingContainer(): void;
46
- protected onCheckForErrors(errors: Array<SurveyError>, isOnValueChanged: boolean): void;
46
+ protected onCheckForErrors(errors: Array<SurveyError>, isOnValueChanged: boolean, fireCallback: boolean): void;
47
47
  protected uploadFiles(files: File[]): void;
48
48
  protected loadPreview(newValue: any): void;
49
49
  protected onChangeQuestionValue(newValue: any): void;
@@ -6,6 +6,7 @@ import { SurveyError } from "./survey-error";
6
6
  import { LocalizableString, ILocalizableOwner } from "./localizablestring";
7
7
  import { IConditionObject, IQuestionPlainData } from "./question";
8
8
  import { IPlainDataOptions } from "./base-interfaces";
9
+ import { ConditionRunner } from "./conditions";
9
10
  export interface IMatrixData {
10
11
  onMatrixRowChanged(row: MatrixRowModel): void;
11
12
  getCorrectedRowValue(value: any): any;
@@ -120,7 +121,9 @@ export declare class QuestionMatrixModel extends QuestionMatrixBaseModel<MatrixR
120
121
  locStrsChanged(): void;
121
122
  protected getQuizQuestionCount(): number;
122
123
  protected getCorrectAnswerCount(): number;
123
- protected runItemsCondition(values: HashTable<any>, properties: HashTable<any>): boolean;
124
+ runCondition(values: HashTable<any>, properties: HashTable<any>): void;
125
+ protected createRowsVisibleIfRunner(): ConditionRunner;
126
+ protected onRowsChanged(): void;
124
127
  protected getVisibleRows(): Array<MatrixRowModel>;
125
128
  protected sortVisibleRows(array: Array<MatrixRowModel>): Array<MatrixRowModel>;
126
129
  endLoadingFromJson(): void;
@@ -145,7 +148,7 @@ export declare class QuestionMatrixModel extends QuestionMatrixBaseModel<MatrixR
145
148
  getCellDisplayLocText(row: any, column: any): LocalizableString;
146
149
  supportGoNextPageAutomatic(): boolean;
147
150
  private errorsInRow;
148
- protected onCheckForErrors(errors: Array<SurveyError>, isOnValueChanged: boolean): void;
151
+ protected onCheckForErrors(errors: Array<SurveyError>, isOnValueChanged: boolean, fireCallback: boolean): void;
149
152
  private hasValuesInAllRows;
150
153
  private checkErrorsAllRows;
151
154
  private addErrorIntoRow;
@@ -158,7 +161,12 @@ export declare class QuestionMatrixModel extends QuestionMatrixBaseModel<MatrixR
158
161
  getPlainData(options?: IPlainDataOptions): IQuestionPlainData;
159
162
  addConditionObjectsByContext(objects: Array<IConditionObject>, context: any): void;
160
163
  getConditionJson(operator?: string, path?: string): any;
164
+ clearIncorrectValues(): void;
161
165
  protected clearValueIfInvisibleCore(reason: string): void;
166
+ protected clearInvisibleColumnValues(): void;
167
+ protected clearInvisibleValuesInRows(): void;
168
+ protected clearInvisibleValuesInRowsAndColumns(inRows: boolean, inColumns: boolean, inCorrectRows: boolean): void;
169
+ private getVisibleColumnByValue;
162
170
  protected getFirstInputElementId(): string;
163
171
  onMatrixRowChanged(row: MatrixRowModel): void;
164
172
  getCorrectedRowValue(value: any): any;
@@ -9,8 +9,10 @@ export declare class MatrixDropdownRowModel extends MatrixDropdownRowModelBase {
9
9
  get rowName(): string;
10
10
  get text(): string;
11
11
  get locText(): LocalizableString;
12
+ protected isItemVisible(): boolean;
12
13
  isRowEnabled(): boolean;
13
14
  protected isRowHasEnabledCondition(): boolean;
15
+ protected setRowsVisibleIfValues(values: any): void;
14
16
  }
15
17
  /**
16
18
  * A class that describes the Multi-Select Matrix question type. Multi-Select Matrix allows you to use the [Dropdown](https://surveyjs.io/form-library/documentation/questiondropdownmodel), [Checkbox](https://surveyjs.io/form-library/documentation/questioncheckboxmodel), [Radiogroup](https://surveyjs.io/form-library/documentation/questionradiogroupmodel), [Text](https://surveyjs.io/form-library/documentation/questiontextmodel), and [Comment](https://surveyjs.io/form-library/documentation/questioncommentmodel) question types as cell editors.
@@ -42,12 +44,13 @@ export declare class QuestionMatrixDropdownModel extends QuestionMatrixDropdownM
42
44
  protected getConditionObjectsRowIndeces(): Array<number>;
43
45
  protected isNewValueCorrect(val: any): boolean;
44
46
  clearIncorrectValues(): void;
45
- protected clearValueIfInvisibleCore(reason: string): void;
47
+ private getRowByKey;
46
48
  private defaultValuesInRows;
47
49
  protected clearGeneratedRows(): void;
48
50
  private getRowValueForCreation;
49
51
  protected generateRows(): Array<MatrixDropdownRowModel>;
50
52
  protected createMatrixRow(item: ItemValue, value: any): MatrixDropdownRowModel;
53
+ protected getFilteredDataCore(): any;
51
54
  protected getSearchableItemValueKeys(keys: Array<string>): void;
52
55
  protected updateProgressInfoByValues(res: IProgressInfo): void;
53
56
  }
@@ -11,6 +11,7 @@ import { IMatrixColumnOwner, MatrixDropdownColumn } from "./question_matrixdropd
11
11
  import { QuestionMatrixDropdownRenderedCell, QuestionMatrixDropdownRenderedRow, QuestionMatrixDropdownRenderedTable } from "./question_matrixdropdownrendered";
12
12
  export interface IMatrixDropdownData {
13
13
  value: any;
14
+ getFilteredData(): any;
14
15
  onRowChanged(row: MatrixDropdownRowModelBase, columnName: string, newRowValue: any, isDeletingValue: boolean): void;
15
16
  onRowChanging(row: MatrixDropdownRowModelBase, columnName: string, rowValue: any): any;
16
17
  isValidateOnValueChanging: boolean;
@@ -36,6 +37,7 @@ export interface IMatrixDropdownData {
36
37
  getSurvey(): ISurvey;
37
38
  getDataFilteredValues(): any;
38
39
  isMatrixReadOnly(): boolean;
40
+ onRowVisibilityChanged(row: MatrixDropdownRowModelBase): void;
39
41
  }
40
42
  export declare class MatrixDropdownCell {
41
43
  column: MatrixDropdownColumn;
@@ -75,6 +77,7 @@ export declare class MatrixDropdownRowModelBase implements ISurveyData, ISurveyI
75
77
  private idValue;
76
78
  private textPreProcessor;
77
79
  private detailPanelValue;
80
+ private visibleValue;
78
81
  cells: Array<MatrixDropdownCell>;
79
82
  showHideDetailPanelClick: any;
80
83
  onDetailPanelShowingChanged: () => void;
@@ -85,6 +88,10 @@ export declare class MatrixDropdownRowModelBase implements ISurveyData, ISurveyI
85
88
  get text(): any;
86
89
  isRowEnabled(): boolean;
87
90
  protected isRowHasEnabledCondition(): boolean;
91
+ get isVisible(): boolean;
92
+ get visible(): boolean;
93
+ set visible(val: boolean);
94
+ protected isItemVisible(): boolean;
88
95
  get value(): any;
89
96
  set value(value: any);
90
97
  get locText(): LocalizableString;
@@ -103,7 +110,8 @@ export declare class MatrixDropdownRowModelBase implements ISurveyData, ISurveyI
103
110
  getFilteredValues(): any;
104
111
  getFilteredProperties(): any;
105
112
  private applyRowVariablesToValues;
106
- runCondition(values: HashTable<any>, properties: HashTable<any>): void;
113
+ runCondition(values: HashTable<any>, properties: HashTable<any>, rowsVisibleIf?: string): void;
114
+ protected setRowsVisibleIfValues(values: any): void;
107
115
  getNamesWithDefaultValues(): Array<string>;
108
116
  clearValue(keepComment?: boolean): void;
109
117
  onAnyValueChanged(name: string, questionName: string): void;
@@ -164,7 +172,7 @@ export declare class MatrixDropdownTotalRowModel extends MatrixDropdownRowModelB
164
172
  constructor(data: IMatrixDropdownData);
165
173
  protected createCell(column: MatrixDropdownColumn): MatrixDropdownCell;
166
174
  setValue(name: string, newValue: any): void;
167
- runCondition(values: HashTable<any>, properties: HashTable<any>): void;
175
+ runCondition(values: HashTable<any>, properties: HashTable<any>, rowsVisibleIf?: string): void;
168
176
  protected updateCellOnColumnChanged(cell: MatrixDropdownCell, name: string, newValue: any): void;
169
177
  }
170
178
  /**
@@ -372,6 +380,7 @@ export declare class QuestionMatrixDropdownModelBase extends QuestionMatrixBaseM
372
380
  runTriggers(name: string, value: any): void;
373
381
  protected shouldRunColumnExpression(): boolean;
374
382
  protected runCellsCondition(values: HashTable<any>, properties: HashTable<any>): void;
383
+ protected runConditionsForColumns(values: HashTable<any>, properties: HashTable<any>): boolean;
375
384
  private checkColumnsVisibility;
376
385
  private checkColumnsRenderedRequired;
377
386
  private isColumnVisibilityChanged;
@@ -429,7 +438,13 @@ export declare class QuestionMatrixDropdownModelBase extends QuestionMatrixBaseM
429
438
  get locKeyDuplicationError(): LocalizableString;
430
439
  get storeOthersAsComment(): boolean;
431
440
  addColumn(name: string, title?: string): MatrixDropdownColumn;
441
+ private visibleRowsArray;
442
+ protected clearVisibleRows(): void;
443
+ protected isColumnVisible(column: any): boolean;
444
+ private isGenereatingRows;
432
445
  protected getVisibleRows(): Array<MatrixDropdownRowModelBase>;
446
+ private generateVisibleRowsIfNeeded;
447
+ private getVisibleFromGenerated;
433
448
  private updateValueOnRowsGeneration;
434
449
  get totalValue(): any;
435
450
  protected getVisibleTotalRow(): MatrixDropdownRowModelBase;
@@ -503,6 +518,9 @@ export declare class QuestionMatrixDropdownModelBase extends QuestionMatrixBaseM
503
518
  protected onCellValueChanged(row: MatrixDropdownRowModelBase, columnName: string, rowValue: any): void;
504
519
  validateCell(row: MatrixDropdownRowModelBase, columnName: string, rowValue: any): SurveyError;
505
520
  get isValidateOnValueChanging(): boolean;
521
+ protected get hasInvisibleRows(): boolean;
522
+ getFilteredData(): any;
523
+ protected getFilteredDataCore(): any;
506
524
  onRowChanging(row: MatrixDropdownRowModelBase, columnName: string, rowValue: any): any;
507
525
  onRowChanged(row: MatrixDropdownRowModelBase, columnName: string, newRowValue: any, isDeletingValue: boolean): void;
508
526
  private getNewValueOnRowChanged;
@@ -521,6 +539,10 @@ export declare class QuestionMatrixDropdownModelBase extends QuestionMatrixBaseM
521
539
  getDataFilteredValues(): any;
522
540
  getParentTextProcessor(): ITextProcessor;
523
541
  isMatrixReadOnly(): boolean;
542
+ onRowVisibilityChanged(row: MatrixDropdownRowModelBase): void;
543
+ protected clearValueIfInvisibleCore(reason: string): void;
544
+ protected clearInvisibleValuesInRows(): void;
545
+ protected isRowsFiltered(): boolean;
524
546
  getQuestionFromArray(name: string, index: number): IQuestion;
525
547
  private isMatrixValueEmpty;
526
548
  private get SurveyModel();
@@ -1,5 +1,5 @@
1
1
  import { Question } from "./question";
2
- import { Base } from "./base";
2
+ import { Base, ArrayChanges } from "./base";
3
3
  import { ISurvey, IWrapperObject } from "./base-interfaces";
4
4
  import { ItemValue } from "./itemvalue";
5
5
  import { ILocalizableOwner, LocalizableString } from "./localizablestring";
@@ -81,6 +81,7 @@ export declare class MatrixDropdownColumn extends Base implements ILocalizableOw
81
81
  set visible(val: boolean);
82
82
  get hasVisibleCell(): boolean;
83
83
  set hasVisibleCell(newVal: boolean);
84
+ isColumnsVisibleIf: boolean;
84
85
  getVisibleMultipleChoices(): Array<ItemValue>;
85
86
  get getVisibleChoicesInCell(): Array<any>;
86
87
  setVisibleChoicesInCell(val: Array<any>): void;
@@ -334,7 +335,7 @@ export declare class MatrixDropdownColumn extends Base implements ILocalizableOw
334
335
  private setParentQuestionToTemplate;
335
336
  private previousChoicesId;
336
337
  protected setQuestionProperties(question: Question, onUpdateJson?: (json: any) => any): void;
337
- protected propertyValueChanged(name: string, oldValue: any, newValue: any): void;
338
+ protected propertyValueChanged(name: string, oldValue: any, newValue: any, arrayChanges?: ArrayChanges, target?: Base): void;
338
339
  private doItemValuePropertyChanged;
339
340
  private doShowInMultipleColumnsChanged;
340
341
  private doColumnVisibilityChanged;
@@ -250,7 +250,7 @@ export declare class QuestionMatrixDynamicModel extends QuestionMatrixDropdownMo
250
250
  protected getConditionObjectsRowIndeces(): Array<number>;
251
251
  supportGoNextPageAutomatic(): boolean;
252
252
  get hasRowText(): boolean;
253
- protected onCheckForErrors(errors: Array<SurveyError>, isOnValueChanged: boolean): void;
253
+ protected onCheckForErrors(errors: Array<SurveyError>, isOnValueChanged: boolean, fireCallback: boolean): void;
254
254
  private hasErrorInMinRows;
255
255
  protected getUniqueColumnsNames(): Array<string>;
256
256
  protected generateRows(): Array<MatrixDynamicRowModel>;
@@ -259,6 +259,7 @@ export declare class QuestionMatrixDynamicModel extends QuestionMatrixDropdownMo
259
259
  private getInsertedDeletedIndex;
260
260
  private isEditingObjectValueChanged;
261
261
  updateValueFromSurvey(newValue: any, clearData?: boolean): void;
262
+ protected getFilteredDataCore(): any;
262
263
  protected onBeforeValueChanged(val: any): void;
263
264
  protected createNewValue(): any;
264
265
  protected deleteRowValue(newValue: any, row: MatrixDropdownRowModelBase): any;
@@ -71,6 +71,7 @@ export declare class QuestionPanelDynamicModel extends Question implements IQues
71
71
  get hasSingleInput(): boolean;
72
72
  get isContainer(): boolean;
73
73
  getFirstQuestionToFocus(withError: boolean): Question;
74
+ protected getFirstInputElementId(): string;
74
75
  setSurveyImpl(value: ISurveyImpl, isLight?: boolean): void;
75
76
  private assignOnPropertyChangedToTemplate;
76
77
  private addOnPropertyChangedCallback;
@@ -362,6 +363,7 @@ export declare class QuestionPanelDynamicModel extends Question implements IQues
362
363
  */
363
364
  get allowAddPanel(): boolean;
364
365
  set allowAddPanel(val: boolean);
366
+ get addButtonId(): string;
365
367
  /**
366
368
  * Specifies the position of newly added panels.
367
369
  *
@@ -590,6 +592,7 @@ export declare class QuestionPanelDynamicModel extends Question implements IQues
590
592
  private hasPanelBuildFirstTime;
591
593
  private isBuildingPanelsFirstTime;
592
594
  private buildPanelsFirstTime;
595
+ private get showAddPanelButton();
593
596
  private get wasNotRenderedInSurvey();
594
597
  private get canBuildPanels();
595
598
  onFirstRendering(): void;
@@ -151,7 +151,7 @@ export declare class QuestionTextModel extends QuestionTextBase {
151
151
  protected valueForSurveyCore(val: any): any;
152
152
  protected valueFromDataCore(val: any): any;
153
153
  private dateValidationMessage;
154
- protected onCheckForErrors(errors: Array<SurveyError>, isOnValueChanged: boolean): void;
154
+ protected onCheckForErrors(errors: Array<SurveyError>, isOnValueChanged: boolean, fireCallback: boolean): void;
155
155
  protected canSetValueToSurvey(): boolean;
156
156
  protected convertFuncValuetoQuestionValue(val: any): any;
157
157
  private getMinMaxErrorText;
@@ -259,6 +259,7 @@ export declare class SurveyElement<E = any> extends SurveyElementCore implements
259
259
  */
260
260
  get cssClasses(): any;
261
261
  get cssTitleNumber(): any;
262
+ get cssRequiredText(): any;
262
263
  protected calcCssClasses(css: any): any;
263
264
  protected updateElementCssCore(cssClasses: any): void;
264
265
  get cssError(): string;
@@ -64,7 +64,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
64
64
  *
65
65
  * For information on event handler parameters, refer to descriptions within the interface.
66
66
  *
67
- * [Conditional Survey Logic (Triggers)](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#conditional-survey-logic-triggers (linkStyle)).
67
+ * [Conditional Survey Logic (Triggers)](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#conditional-survey-logic-triggers (linkStyle))
68
68
  * @see triggers
69
69
  * @see runTriggers
70
70
  */
@@ -796,6 +796,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
796
796
  lazyRenderingFirstBatchSizeValue: number;
797
797
  get lazyRenderingFirstBatchSize(): number;
798
798
  set lazyRenderingFirstBatchSize(val: number);
799
+ disableLazyRenderingBeforeElement(el: IElement): void;
799
800
  private updateLazyRenderingRowsOnRemovingElements;
800
801
  /**
801
802
  * A list of triggers in the survey.
@@ -62,6 +62,7 @@ export declare abstract class AnimationProperty<T, S extends IAnimationConsumer<
62
62
  sync(newValue: T): void;
63
63
  private cancelCallback;
64
64
  cancel(): void;
65
+ cancelAnimations(): void;
65
66
  }
66
67
  export declare class AnimationBoolean extends AnimationProperty<boolean> {
67
68
  protected animation: AnimationPropertyUtils;
@@ -9,7 +9,7 @@ export declare class ResponsivityManager {
9
9
  private model;
10
10
  private itemsSelector;
11
11
  private dotsItemSize;
12
- private delayedUpdateFunction?;
12
+ private delayedUpdateFunction;
13
13
  private resizeObserver;
14
14
  private isInitialized;
15
15
  protected minDimensionConst: number;
@@ -24,7 +24,6 @@ export declare class ResponsivityManager {
24
24
  protected getAvailableSpace(): number;
25
25
  protected calcItemSize(item: HTMLDivElement): number;
26
26
  private calcMinDimension;
27
- private getRenderedVisibleActionsCount;
28
27
  private calcItemsSizes;
29
28
  protected calcActionDimensions(currentAction: Action, item: HTMLDivElement): void;
30
29
  private get isContainerVisible();
@@ -0,0 +1,56 @@
1
+ import { Question } from "../question";
2
+ export interface ITextArea {
3
+ question: any;
4
+ id: () => string;
5
+ propertyName: string;
6
+ className: () => string;
7
+ isDisabledAttr: () => boolean;
8
+ isReadOnlyAttr?: () => boolean;
9
+ placeholder: () => string;
10
+ autoGrow: () => boolean;
11
+ maxLength: () => number;
12
+ rows: () => number;
13
+ cols?: () => number;
14
+ getTextValue?: () => any;
15
+ onTextAreaChange?: (event: any) => void;
16
+ onTextAreaInput?: (event: any) => void;
17
+ onTextAreaKeyDown?: (event: any) => void;
18
+ onTextAreaBlur?: (event: any) => void;
19
+ onTextAreaFocus?: (event: any) => void;
20
+ ariaRequired: () => "true" | "false";
21
+ ariaLabel: () => string;
22
+ ariaInvalid?: () => "true" | "false";
23
+ ariaLabelledBy?: () => string;
24
+ ariaDescribedBy?: () => string;
25
+ ariaErrormessage?: () => string;
26
+ }
27
+ export declare class TextAreaModel {
28
+ private options;
29
+ private element;
30
+ private onPropertyChangedCallback;
31
+ constructor(options: ITextArea);
32
+ setElement(element: HTMLTextAreaElement | null): void;
33
+ getTextValue(): string;
34
+ onTextAreaChange(event: any): void;
35
+ onTextAreaInput(event: any): void;
36
+ onTextAreaKeyDown(event: any): void;
37
+ onTextAreaBlur(event: any): void;
38
+ onTextAreaFocus(event: any): void;
39
+ get question(): Question;
40
+ get id(): string;
41
+ get placeholder(): string;
42
+ get className(): string;
43
+ get maxLength(): number;
44
+ get autoGrow(): boolean;
45
+ get rows(): number;
46
+ get cols(): number | undefined;
47
+ get isDisabledAttr(): boolean;
48
+ get isReadOnlyAttr(): boolean | undefined;
49
+ get ariaRequired(): "true" | "false";
50
+ get ariaLabel(): string;
51
+ get ariaInvalid(): "true" | "false";
52
+ get ariaLabelledBy(): string;
53
+ get ariaDescribedBy(): string;
54
+ get ariaErrormessage(): string;
55
+ dispose(): void;
56
+ }
@@ -54,5 +54,19 @@ export declare function compareArrays<T>(oldValue: Array<T>, newValue: Array<T>,
54
54
  }>;
55
55
  mergedItems: Array<T>;
56
56
  };
57
+ interface IVerticalDimensions {
58
+ paddingTop: string;
59
+ paddingBottom: string;
60
+ marginTop: string;
61
+ marginBottom: string;
62
+ heightTo: string;
63
+ borderTopWidth: string;
64
+ borderBottomWidth: string;
65
+ heightFrom: string;
66
+ }
67
+ export declare function getVerticalDimensions(el: HTMLElement): IVerticalDimensions;
68
+ export declare function setPropertiesOnElementForAnimation(el: HTMLElement, styles: any, prefix?: string): void;
69
+ export declare function prepareElementForVerticalAnimation(el: HTMLElement): void;
70
+ export declare function cleanHtmlElementAfterAnimation(el: HTMLElement): void;
57
71
  export declare function roundTo2Decimals(number: number): number;
58
72
  export { mergeValues, getElementWidth, isContainerVisible, classesToSelector, compareVersions, confirmAction, confirmActionAsync, detectIEOrEdge, detectIEBrowser, loadFileFromBase64, isMobile, isShadowDOM, getElement, isElementVisible, findScrollableParent, scrollElementByChildId, navigateToUrl, wrapUrlForBackgroundImage, createSvg, getIconNameFromProxy, increaseHeightByContent, getOriginalEvent, preventDefaults, findParentByClassNames, getFirstVisibleChild, chooseFiles };