survey-core 1.12.1 → 1.12.3

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 (276) hide show
  1. package/defaultV2.css +52 -12
  2. package/defaultV2.css.map +1 -1
  3. package/defaultV2.fontless.css +52 -12
  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 +47 -8
  116. package/modern.css.map +1 -1
  117. package/modern.fontless.css +47 -8
  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/cssbootstrapmaterial.d.ts +1 -0
  125. package/plugins/bootstrap-material-integration/index.js +2 -1
  126. package/plugins/bootstrap-material-integration/index.js.map +1 -1
  127. package/plugins/bootstrap-material-integration/index.min.js +2 -2
  128. package/survey.core.js +1023 -346
  129. package/survey.core.js.map +1 -1
  130. package/survey.core.min.js +3 -3
  131. package/survey.css +49 -8
  132. package/survey.css.map +1 -1
  133. package/survey.i18n.js +45 -45
  134. package/survey.i18n.js.map +1 -1
  135. package/survey.i18n.min.js +2 -2
  136. package/survey.min.css +2 -2
  137. package/themes/borderless-dark-panelless.js +1 -1
  138. package/themes/borderless-dark-panelless.min.js +1 -1
  139. package/themes/borderless-dark.js +1 -1
  140. package/themes/borderless-dark.min.js +1 -1
  141. package/themes/borderless-light-panelless..js +1 -1
  142. package/themes/borderless-light-panelless..min.js +1 -1
  143. package/themes/borderless-light.js +1 -1
  144. package/themes/borderless-light.min.js +1 -1
  145. package/themes/contrast-dark-panelless.js +1 -1
  146. package/themes/contrast-dark-panelless.min.js +1 -1
  147. package/themes/contrast-dark.js +1 -1
  148. package/themes/contrast-dark.min.js +1 -1
  149. package/themes/contrast-light-panelless.js +1 -1
  150. package/themes/contrast-light-panelless.min.js +1 -1
  151. package/themes/contrast-light.js +1 -1
  152. package/themes/contrast-light.min.js +1 -1
  153. package/themes/default-dark-panelless.js +1 -1
  154. package/themes/default-dark-panelless.min.js +1 -1
  155. package/themes/default-dark.js +1 -1
  156. package/themes/default-dark.min.js +1 -1
  157. package/themes/default-light-panelless.js +1 -1
  158. package/themes/default-light-panelless.min.js +1 -1
  159. package/themes/default-light.js +1 -1
  160. package/themes/default-light.min.js +1 -1
  161. package/themes/doubleborder-dark-panelless.js +1 -1
  162. package/themes/doubleborder-dark-panelless.min.js +1 -1
  163. package/themes/doubleborder-dark.js +1 -1
  164. package/themes/doubleborder-dark.min.js +1 -1
  165. package/themes/doubleborder-light-panelles.js +1 -1
  166. package/themes/doubleborder-light-panelles.min.js +1 -1
  167. package/themes/doubleborder-light.js +1 -1
  168. package/themes/doubleborder-light.min.js +1 -1
  169. package/themes/flat-dark-panelless.js +1 -1
  170. package/themes/flat-dark-panelless.min.js +1 -1
  171. package/themes/flat-dark.js +1 -1
  172. package/themes/flat-dark.min.js +1 -1
  173. package/themes/flat-light-panelless.js +1 -1
  174. package/themes/flat-light-panelless.min.js +1 -1
  175. package/themes/flat-light.js +1 -1
  176. package/themes/flat-light.min.js +1 -1
  177. package/themes/index.js +1 -1
  178. package/themes/index.min.js +1 -1
  179. package/themes/layered-dark-panelless.js +1 -1
  180. package/themes/layered-dark-panelless.min.js +1 -1
  181. package/themes/layered-dark.js +1 -1
  182. package/themes/layered-dark.min.js +1 -1
  183. package/themes/layered-light-panelless.js +1 -1
  184. package/themes/layered-light-panelless.min.js +1 -1
  185. package/themes/layered-light.js +1 -1
  186. package/themes/layered-light.min.js +1 -1
  187. package/themes/plain-dark-panelless.js +1 -1
  188. package/themes/plain-dark-panelless.min.js +1 -1
  189. package/themes/plain-dark.js +1 -1
  190. package/themes/plain-dark.min.js +1 -1
  191. package/themes/plain-light-panelless.js +1 -1
  192. package/themes/plain-light-panelless.min.js +1 -1
  193. package/themes/plain-light.js +1 -1
  194. package/themes/plain-light.min.js +1 -1
  195. package/themes/sharp-dark-panelless.js +1 -1
  196. package/themes/sharp-dark-panelless.min.js +1 -1
  197. package/themes/sharp-dark.js +1 -1
  198. package/themes/sharp-dark.min.js +1 -1
  199. package/themes/sharp-light-panelless.js +1 -1
  200. package/themes/sharp-light-panelless.min.js +1 -1
  201. package/themes/sharp-light.js +1 -1
  202. package/themes/sharp-light.min.js +1 -1
  203. package/themes/solid-dark-panelless.js +1 -1
  204. package/themes/solid-dark-panelless.min.js +1 -1
  205. package/themes/solid-dark.js +1 -1
  206. package/themes/solid-dark.min.js +1 -1
  207. package/themes/solid-light-panelless.js +1 -1
  208. package/themes/solid-light-panelless.min.js +1 -1
  209. package/themes/solid-light.js +1 -1
  210. package/themes/solid-light.min.js +1 -1
  211. package/themes/three-dimensional-dark-panelless.js +1 -1
  212. package/themes/three-dimensional-dark-panelless.min.js +1 -1
  213. package/themes/three-dimensional-dark.js +1 -1
  214. package/themes/three-dimensional-dark.min.js +1 -1
  215. package/themes/three-dimensional-light-panelless.js +1 -1
  216. package/themes/three-dimensional-light-panelless.min.js +1 -1
  217. package/themes/three-dimensional-light.js +1 -1
  218. package/themes/three-dimensional-light.min.js +1 -1
  219. package/ts3.4/typings/packages/survey-core/entries/chunks/model.d.ts +2 -1
  220. package/ts3.4/typings/packages/survey-core/src/base-interfaces.d.ts +13 -1
  221. package/ts3.4/typings/packages/survey-core/src/base.d.ts +1 -1
  222. package/ts3.4/typings/packages/survey-core/src/defaultCss/defaultV2Css.d.ts +2 -2
  223. package/ts3.4/typings/packages/survey-core/src/dragdrop/choices.d.ts +2 -1
  224. package/ts3.4/typings/packages/survey-core/src/header.d.ts +1 -0
  225. package/ts3.4/typings/packages/survey-core/src/helpers.d.ts +1 -1
  226. package/ts3.4/typings/packages/survey-core/src/martixBase.d.ts +7 -6
  227. package/ts3.4/typings/packages/survey-core/src/page.d.ts +4 -0
  228. package/ts3.4/typings/packages/survey-core/src/panel.d.ts +5 -4
  229. package/ts3.4/typings/packages/survey-core/src/question.d.ts +13 -6
  230. package/ts3.4/typings/packages/survey-core/src/question_baseselect.d.ts +4 -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 -0
  233. package/ts3.4/typings/packages/survey-core/src/question_matrix.d.ts +9 -1
  234. package/ts3.4/typings/packages/survey-core/src/question_matrixdropdown.d.ts +4 -1
  235. package/ts3.4/typings/packages/survey-core/src/question_matrixdropdownbase.d.ts +24 -3
  236. package/ts3.4/typings/packages/survey-core/src/question_matrixdropdowncolumn.d.ts +1 -0
  237. package/ts3.4/typings/packages/survey-core/src/question_matrixdynamic.d.ts +1 -0
  238. package/ts3.4/typings/packages/survey-core/src/question_multipletext.d.ts +1 -1
  239. package/ts3.4/typings/packages/survey-core/src/question_ranking.d.ts +1 -0
  240. package/ts3.4/typings/packages/survey-core/src/question_rating.d.ts +1 -1
  241. package/ts3.4/typings/packages/survey-core/src/survey-element.d.ts +2 -0
  242. package/ts3.4/typings/packages/survey-core/src/survey.d.ts +3 -4
  243. package/ts3.4/typings/packages/survey-core/src/textPreProcessor.d.ts +2 -2
  244. package/ts3.4/typings/packages/survey-core/src/utils/text-area.d.ts +56 -0
  245. package/ts3.4/typings/packages/survey-core/src/validator.d.ts +59 -16
  246. package/ts3.4/typings/src/defaultCss/cssmodern.d.ts +2 -0
  247. package/ts3.4/typings/src/defaultCss/cssstandard.d.ts +1 -0
  248. package/typings/packages/survey-core/entries/chunks/model.d.ts +2 -1
  249. package/typings/packages/survey-core/src/base-interfaces.d.ts +13 -1
  250. package/typings/packages/survey-core/src/base.d.ts +1 -1
  251. package/typings/packages/survey-core/src/defaultCss/defaultV2Css.d.ts +2 -2
  252. package/typings/packages/survey-core/src/dragdrop/choices.d.ts +2 -1
  253. package/typings/packages/survey-core/src/header.d.ts +1 -0
  254. package/typings/packages/survey-core/src/helpers.d.ts +1 -1
  255. package/typings/packages/survey-core/src/martixBase.d.ts +7 -6
  256. package/typings/packages/survey-core/src/page.d.ts +4 -0
  257. package/typings/packages/survey-core/src/panel.d.ts +5 -4
  258. package/typings/packages/survey-core/src/question.d.ts +13 -6
  259. package/typings/packages/survey-core/src/question_baseselect.d.ts +4 -1
  260. package/typings/packages/survey-core/src/question_comment.d.ts +4 -0
  261. package/typings/packages/survey-core/src/question_custom.d.ts +1 -0
  262. package/typings/packages/survey-core/src/question_matrix.d.ts +9 -1
  263. package/typings/packages/survey-core/src/question_matrixdropdown.d.ts +4 -1
  264. package/typings/packages/survey-core/src/question_matrixdropdownbase.d.ts +25 -3
  265. package/typings/packages/survey-core/src/question_matrixdropdowncolumn.d.ts +1 -0
  266. package/typings/packages/survey-core/src/question_matrixdynamic.d.ts +1 -0
  267. package/typings/packages/survey-core/src/question_multipletext.d.ts +1 -1
  268. package/typings/packages/survey-core/src/question_ranking.d.ts +2 -0
  269. package/typings/packages/survey-core/src/question_rating.d.ts +1 -1
  270. package/typings/packages/survey-core/src/survey-element.d.ts +2 -0
  271. package/typings/packages/survey-core/src/survey.d.ts +3 -4
  272. package/typings/packages/survey-core/src/textPreProcessor.d.ts +2 -2
  273. package/typings/packages/survey-core/src/utils/text-area.d.ts +56 -0
  274. package/typings/packages/survey-core/src/validator.d.ts +60 -16
  275. package/typings/src/defaultCss/cssmodern.d.ts +2 -0
  276. package/typings/src/defaultCss/cssstandard.d.ts +1 -0
@@ -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;
@@ -400,7 +409,7 @@ export declare class QuestionMatrixDropdownModelBase extends QuestionMatrixBaseM
400
409
  * }
401
410
  * ```
402
411
  *
403
- * To enable Markdown support for the `text` property, implement Markdown-to-HTML conversion in the [onTextMarkdown](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onTextMarkdown) event handler. For an example, refer to the following demo: [Convert Markdown to HTML with Showdown](https://surveyjs.io/form-library/examples/edit-survey-questions-markdown/).
412
+ * To enable Markdown support for the `text` property, implement Markdown-to-HTML conversion in the [onTextMarkdown](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onTextMarkdown) event handler. For an example, refer to the following demo: [Convert Markdown to HTML with markdown-it](https://surveyjs.io/form-library/examples/edit-survey-questions-markdown/).
404
413
  *
405
414
  * If you add custom properties, refer to the following help topic to learn how to serialize them into JSON: [Add Custom Properties to Property Grid](https://surveyjs.io/survey-creator/documentation/property-grid#add-custom-properties-to-the-property-grid).
406
415
  *
@@ -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();
@@ -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;
@@ -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;
@@ -232,7 +232,7 @@ export declare class QuestionMultipleTextModel extends Question implements IMult
232
232
  * }
233
233
  * ```
234
234
  *
235
- * To enable Markdown support for the `title` property, implement Markdown-to-HTML conversion in the [`onTextMarkdown`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onTextMarkdown) event handler. For an example, refer to the following demo: [Convert Markdown to HTML with Showdown](https://surveyjs.io/form-library/examples/edit-survey-questions-markdown/).
235
+ * To enable Markdown support for the `title` property, implement Markdown-to-HTML conversion in the [`onTextMarkdown`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onTextMarkdown) event handler. For an example, refer to the following demo: [Convert Markdown to HTML with markdown-it](https://surveyjs.io/form-library/examples/edit-survey-questions-markdown/).
236
236
  * @see itemTitleWidth
237
237
  * @see addItem
238
238
  */
@@ -101,6 +101,8 @@ export declare class QuestionRankingModel extends QuestionCheckboxModel {
101
101
  */
102
102
  get selectToRankEnabled(): boolean;
103
103
  set selectToRankEnabled(val: boolean);
104
+ get selectToRankSwapAreas(): boolean;
105
+ set selectToRankSwapAreas(val: boolean);
104
106
  carryForwardStartUnranked: boolean;
105
107
  /**
106
108
  * Specifies the layout of the ranked and unranked areas. Applies when [`selectToRankEnabled`](https://surveyjs.io/form-library/documentation/api-reference/ranking-question-model#selectToRankEnabled) is `true`.
@@ -51,7 +51,7 @@ export declare class QuestionRatingModel extends Question {
51
51
  *
52
52
  * If you add custom properties, refer to the following help topic to learn how to serialize them into JSON: [Add Custom Properties to Property Grid](https://surveyjs.io/survey-creator/documentation/property-grid#add-custom-properties-to-the-property-grid).
53
53
  *
54
- * To enable Markdown support for the `text` property, implement Markdown-to-HTML conversion in the [onTextMarkdown](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onTextMarkdown) event handler. For an example, refer to the following demo: [Convert Markdown to HTML with Showdown](https://surveyjs.io/form-library/examples/edit-survey-questions-markdown/).
54
+ * To enable Markdown support for the `text` property, implement Markdown-to-HTML conversion in the [onTextMarkdown](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onTextMarkdown) event handler. For an example, refer to the following demo: [Convert Markdown to HTML with markdown-it](https://surveyjs.io/form-library/examples/edit-survey-questions-markdown/).
55
55
  *
56
56
  * If you need to specify only the `value` property, you can set the `rateValues` property to an array of numbers, for example, `[ 3, 6, 10 ]`. These values are both saved in survey results and used as display text.
57
57
  *
@@ -42,6 +42,7 @@ export declare abstract class SurveyElementCore extends Base implements ILocaliz
42
42
  set title(val: string);
43
43
  get locTitle(): LocalizableString;
44
44
  protected getDefaultTitleValue(): string;
45
+ protected setTitleValue(val: string): void;
45
46
  /**
46
47
  * Returns `true` if the survey element has a description.
47
48
  * @see description
@@ -259,6 +260,7 @@ export declare class SurveyElement<E = any> extends SurveyElementCore implements
259
260
  */
260
261
  get cssClasses(): any;
261
262
  get cssTitleNumber(): any;
263
+ get cssRequiredText(): any;
262
264
  protected calcCssClasses(css: any): any;
263
265
  protected updateElementCssCore(cssClasses: any): void;
264
266
  get cssError(): string;
@@ -1,6 +1,6 @@
1
1
  import { JsonError } from "./jsonobject";
2
2
  import { Base, EventBase } from "./base";
3
- import { ISurvey, ISurveyData, ISurveyImpl, ITextProcessor, IQuestion, IPanel, IElement, IPage, ISurveyErrorOwner, ISurveyElement, IProgressInfo, IFindElement, ISurveyLayoutElement, IPlainDataOptions, LayoutElementContainer, IValueItemCustomPropValues, ILoadFromJSONOptions, IDropdownMenuOptions } from "./base-interfaces";
3
+ import { ISurvey, ISurveyData, ISurveyImpl, ITextProcessor, IQuestion, IPanel, IElement, IPage, ISurveyErrorOwner, ISurveyElement, IProgressInfo, IFindElement, ISurveyLayoutElement, IPlainDataOptions, LayoutElementContainer, IValueItemCustomPropValues, ILoadFromJSONOptions, IDropdownMenuOptions, ITextProcessorProp, ITextProcessorResult } from "./base-interfaces";
4
4
  import { SurveyElementCore } from "./survey-element";
5
5
  import { ISurveyTriggerOwner, SurveyTrigger, Trigger } from "./trigger";
6
6
  import { CalculatedValue } from "./calculatedValue";
@@ -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
  */
@@ -2617,10 +2617,9 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
2617
2617
  validatePanel(panel: PanelModel): SurveyError;
2618
2618
  processHtml(html: string, reason?: string): string;
2619
2619
  processText(text: string, returnDisplayValue: boolean): string;
2620
- processTextEx(text: string, returnDisplayValue: boolean, doEncoding: boolean): any;
2620
+ processTextEx(params: ITextProcessorProp): ITextProcessorResult;
2621
2621
  private textPreProcessorValue;
2622
2622
  private get textPreProcessor();
2623
- private processTextCore;
2624
2623
  getSurveyMarkdownHtml(element: Question | PanelModel | PageModel | SurveyModel, text: string, name: string): string;
2625
2624
  getCorrectedAnswerCount(): number;
2626
2625
  /**
@@ -1,6 +1,6 @@
1
1
  import { Question } from "./question";
2
2
  import { PanelModel } from "./panel";
3
- import { ISurvey, ITextProcessor } from "./base-interfaces";
3
+ import { ISurvey, ITextProcessor, ITextProcessorProp, ITextProcessorResult } from "./base-interfaces";
4
4
  export declare class TextPreProcessorItem {
5
5
  start: number;
6
6
  end: number;
@@ -38,6 +38,6 @@ export declare class QuestionTextProcessor implements ITextProcessor {
38
38
  protected getQuestionDisplayText(question: Question): string;
39
39
  private getProcessedTextValue;
40
40
  processText(text: string, returnDisplayValue: boolean): string;
41
- processTextEx(text: string, returnDisplayValue: boolean): any;
41
+ processTextEx(params: ITextProcessorProp): ITextProcessorResult;
42
42
  private processTextCore;
43
43
  }
@@ -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
+ }
@@ -8,13 +8,18 @@ export declare class ValidatorResult {
8
8
  constructor(value: any, error?: SurveyError);
9
9
  }
10
10
  /**
11
- * Base SurveyJS validator class.
11
+ * A base class for all classes that implement validators.
12
+ *
13
+ * [View Demo](https://surveyjs.io/form-library/examples/javascript-form-validation/ (linkStyle))
12
14
  */
13
15
  export declare class SurveyValidator extends Base {
14
16
  errorOwner: ISurveyErrorOwner;
15
17
  onAsyncCompleted: (result: ValidatorResult) => void;
16
18
  constructor();
17
19
  getSurvey(live?: boolean): ISurvey;
20
+ /**
21
+ * An error message to display when a value fails validation.
22
+ */
18
23
  get text(): string;
19
24
  set text(value: string);
20
25
  get isValidateAllValues(): boolean;
@@ -46,7 +51,9 @@ export declare class ValidatorRunner {
46
51
  private prepareAsyncValidators;
47
52
  }
48
53
  /**
49
- * Validate numeric values.
54
+ * A class that implements a validator for numeric values.
55
+ *
56
+ * [View Demo](https://surveyjs.io/form-library/examples/javascript-form-validation/ (linkStyle))
50
57
  */
51
58
  export declare class NumericValidator extends SurveyValidator {
52
59
  constructor(minValue?: number, maxValue?: number);
@@ -54,18 +61,24 @@ export declare class NumericValidator extends SurveyValidator {
54
61
  validate(value: any, name?: string, values?: any, properties?: any): ValidatorResult;
55
62
  protected getDefaultErrorText(name: string): string;
56
63
  /**
57
- * The minValue property.
64
+ * A minimum allowed numeric value.
65
+ *
66
+ * [View Demo](https://surveyjs.io/form-library/examples/javascript-form-validation/ (linkStyle))
58
67
  */
59
68
  get minValue(): number;
60
69
  set minValue(val: number);
61
70
  /**
62
- * The maxValue property.
71
+ * A maximum allowed numeric value.
72
+ *
73
+ * [View Demo](https://surveyjs.io/form-library/examples/javascript-form-validation/ (linkStyle))
63
74
  */
64
75
  get maxValue(): number;
65
76
  set maxValue(val: number);
66
77
  }
67
78
  /**
68
- * Validate text values.
79
+ * A class that implements a validator for text values.
80
+ *
81
+ * [View Demo](https://surveyjs.io/form-library/examples/javascript-form-validation/ (linkStyle))
69
82
  */
70
83
  export declare class TextValidator extends SurveyValidator {
71
84
  constructor();
@@ -73,23 +86,35 @@ export declare class TextValidator extends SurveyValidator {
73
86
  validate(value: any, name?: string, values?: any, properties?: any): ValidatorResult;
74
87
  protected getDefaultErrorText(name: string): string;
75
88
  /**
76
- * The minLength property.
89
+ * The minimum length of a text value measured in characters.
90
+ *
91
+ * Default value: 0
92
+ *
93
+ * [View Demo](https://surveyjs.io/form-library/examples/javascript-form-validation/ (linkStyle))
77
94
  */
78
95
  get minLength(): number;
79
96
  set minLength(val: number);
80
97
  /**
81
- * The maxLength property.
98
+ * The maximum length of a text value measured in characters.
99
+ *
100
+ * Default value: 0 (unlimited)
101
+ *
102
+ * [View Demo](https://surveyjs.io/form-library/examples/javascript-form-validation/ (linkStyle))
82
103
  */
83
104
  get maxLength(): number;
84
105
  set maxLength(val: number);
85
106
  /**
86
- * The allowDigits property.
107
+ * Specifies whether a text value can include numerical digits.
108
+ *
109
+ * Default value: `true`
87
110
  */
88
111
  get allowDigits(): boolean;
89
112
  set allowDigits(val: boolean);
90
113
  }
91
114
  /**
92
- * Validates the number of answers.
115
+ * A class that implements answer count validation in the question types that can have multiple values (for instance, [Checkboxes](https://surveyjs.io/form-library/documentation/api-reference/checkbox-question-model)).
116
+ *
117
+ * [View Demo](https://surveyjs.io/form-library/examples/javascript-form-validation/ (linkStyle))
93
118
  */
94
119
  export declare class AnswerCountValidator extends SurveyValidator {
95
120
  constructor(minCount?: number, maxCount?: number);
@@ -97,18 +122,22 @@ export declare class AnswerCountValidator extends SurveyValidator {
97
122
  validate(value: any, name?: string, values?: any, properties?: any): ValidatorResult;
98
123
  protected getDefaultErrorText(name: string): string;
99
124
  /**
100
- * The minCount property.
125
+ * A minimum number of selected answers.
126
+ *
127
+ * [View Demo](https://surveyjs.io/form-library/examples/javascript-form-validation/ (linkStyle))
101
128
  */
102
129
  get minCount(): number;
103
130
  set minCount(val: number);
104
131
  /**
105
- * The maxCount property.
132
+ * A maximum number of selected answers.
133
+ *
134
+ * [View Demo](https://surveyjs.io/form-library/examples/javascript-form-validation/ (linkStyle))
106
135
  */
107
136
  get maxCount(): number;
108
137
  set maxCount(val: number);
109
138
  }
110
139
  /**
111
- * Use it to validate the text by regular expressions.
140
+ * A class that implements validation using regular expressions.
112
141
  *
113
142
  * [View Demo](https://surveyjs.io/form-library/examples/javascript-form-validation/ (linkStyle))
114
143
  */
@@ -118,16 +147,27 @@ export declare class RegexValidator extends SurveyValidator {
118
147
  validate(value: any, name?: string, values?: any, properties?: any): ValidatorResult;
119
148
  private hasError;
120
149
  /**
121
- * The regex property.
150
+ * A regular expression used to validate values.
151
+ *
152
+ * [View Demo](https://surveyjs.io/form-library/examples/javascript-form-validation/ (linkStyle))
122
153
  */
123
154
  get regex(): string;
124
155
  set regex(val: string);
156
+ /**
157
+ * Specifies whether uppercase and lowercase letters must be treated as distinct or equivalent when validating values.
158
+ *
159
+ * Default value: `false` (uppercase and lowercase letters are treated as distinct)
160
+ */
161
+ get caseInsensitive(): boolean;
162
+ set caseInsensitive(val: boolean);
125
163
  get insensitive(): boolean;
126
164
  set insensitive(val: boolean);
127
165
  private createRegExp;
128
166
  }
129
167
  /**
130
- * Validate e-mail address in the text input
168
+ * A class that implements a validator for e-mail addresses.
169
+ *
170
+ * [View Demo](https://surveyjs.io/form-library/examples/javascript-form-validation/ (linkStyle))
131
171
  */
132
172
  export declare class EmailValidator extends SurveyValidator {
133
173
  private re;
@@ -137,7 +177,9 @@ export declare class EmailValidator extends SurveyValidator {
137
177
  protected getDefaultErrorText(name: string): string;
138
178
  }
139
179
  /**
140
- * Show error if expression returns false
180
+ * A class that implements validation using [expressions](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#expressions).
181
+ *
182
+ * [View Demo](https://surveyjs.io/form-library/examples/javascript-form-validation/ (linkStyle))
141
183
  */
142
184
  export declare class ExpressionValidator extends SurveyValidator {
143
185
  private conditionRunner;
@@ -152,7 +194,9 @@ export declare class ExpressionValidator extends SurveyValidator {
152
194
  protected getDefaultErrorText(name: string): string;
153
195
  protected ensureConditionRunner(): boolean;
154
196
  /**
155
- * The expression property.
197
+ * A Boolean [expression](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#expressions). If it evaluates to `false`, validation fails.
198
+ *
199
+ * [View Demo](https://surveyjs.io/form-library/examples/javascript-form-validation/ (linkStyle))
156
200
  */
157
201
  get expression(): string;
158
202
  set expression(val: string);
@@ -82,6 +82,7 @@ export declare var modernCss: {
82
82
  page: {
83
83
  root: string;
84
84
  title: string;
85
+ number: string;
85
86
  description: string;
86
87
  };
87
88
  pageTitle: string;
@@ -159,6 +160,7 @@ export declare var modernCss: {
159
160
  rootSelectToRankMod: string;
160
161
  rootSelectToRankAlignVertical: string;
161
162
  rootSelectToRankAlignHorizontal: string;
163
+ rootSelectToRankSwapAreas: string;
162
164
  item: string;
163
165
  itemContent: string;
164
166
  itemIndex: string;
@@ -140,6 +140,7 @@ export declare var defaultStandardCss: {
140
140
  rootSelectToRankMod: string;
141
141
  rootSelectToRankAlignVertical: string;
142
142
  rootSelectToRankAlignHorizontal: string;
143
+ rootSelectToRankSwapAreas: string;
143
144
  item: string;
144
145
  itemContent: string;
145
146
  itemIndex: string;