survey-core 1.9.124 → 1.9.126

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 (321) hide show
  1. package/defaultV2.css +138 -56
  2. package/defaultV2.css.map +1 -1
  3. package/defaultV2.fontless.css +138 -56
  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 +14 -3
  8. package/i18n/arabic.js.map +1 -1
  9. package/i18n/arabic.min.js +2 -2
  10. package/i18n/basque.js +14 -3
  11. package/i18n/basque.js.map +1 -1
  12. package/i18n/basque.min.js +2 -2
  13. package/i18n/bulgarian.js +14 -3
  14. package/i18n/bulgarian.js.map +1 -1
  15. package/i18n/bulgarian.min.js +2 -2
  16. package/i18n/catalan.js +14 -3
  17. package/i18n/catalan.js.map +1 -1
  18. package/i18n/catalan.min.js +2 -2
  19. package/i18n/croatian.js +14 -3
  20. package/i18n/croatian.js.map +1 -1
  21. package/i18n/croatian.min.js +2 -2
  22. package/i18n/czech.js +14 -3
  23. package/i18n/czech.js.map +1 -1
  24. package/i18n/czech.min.js +2 -2
  25. package/i18n/danish.js +14 -3
  26. package/i18n/danish.js.map +1 -1
  27. package/i18n/danish.min.js +2 -2
  28. package/i18n/dutch.js +14 -3
  29. package/i18n/dutch.js.map +1 -1
  30. package/i18n/dutch.min.js +2 -2
  31. package/i18n/english.js +2 -1
  32. package/i18n/english.js.map +1 -1
  33. package/i18n/english.min.js +2 -2
  34. package/i18n/estonian.js +14 -3
  35. package/i18n/estonian.js.map +1 -1
  36. package/i18n/estonian.min.js +2 -2
  37. package/i18n/finnish.js +14 -3
  38. package/i18n/finnish.js.map +1 -1
  39. package/i18n/finnish.min.js +2 -2
  40. package/i18n/french.js +14 -3
  41. package/i18n/french.js.map +1 -1
  42. package/i18n/french.min.js +2 -2
  43. package/i18n/georgian.js +14 -3
  44. package/i18n/georgian.js.map +1 -1
  45. package/i18n/georgian.min.js +2 -2
  46. package/i18n/german.js +14 -3
  47. package/i18n/german.js.map +1 -1
  48. package/i18n/german.min.js +2 -2
  49. package/i18n/greek.js +14 -3
  50. package/i18n/greek.js.map +1 -1
  51. package/i18n/greek.min.js +2 -2
  52. package/i18n/hebrew.js +14 -3
  53. package/i18n/hebrew.js.map +1 -1
  54. package/i18n/hebrew.min.js +2 -2
  55. package/i18n/hindi.js +14 -3
  56. package/i18n/hindi.js.map +1 -1
  57. package/i18n/hindi.min.js +2 -2
  58. package/i18n/hungarian.js +14 -3
  59. package/i18n/hungarian.js.map +1 -1
  60. package/i18n/hungarian.min.js +2 -2
  61. package/i18n/icelandic.js +14 -3
  62. package/i18n/icelandic.js.map +1 -1
  63. package/i18n/icelandic.min.js +2 -2
  64. package/i18n/index.js +612 -95
  65. package/i18n/index.js.map +1 -1
  66. package/i18n/index.min.js +2 -2
  67. package/i18n/indonesian.js +14 -3
  68. package/i18n/indonesian.js.map +1 -1
  69. package/i18n/indonesian.min.js +2 -2
  70. package/i18n/italian.js +14 -3
  71. package/i18n/italian.js.map +1 -1
  72. package/i18n/italian.min.js +2 -2
  73. package/i18n/japanese.js +14 -3
  74. package/i18n/japanese.js.map +1 -1
  75. package/i18n/japanese.min.js +2 -2
  76. package/i18n/kazakh.js +14 -3
  77. package/i18n/kazakh.js.map +1 -1
  78. package/i18n/kazakh.min.js +2 -2
  79. package/i18n/korean.js +14 -3
  80. package/i18n/korean.js.map +1 -1
  81. package/i18n/korean.min.js +2 -2
  82. package/i18n/latvian.js +14 -3
  83. package/i18n/latvian.js.map +1 -1
  84. package/i18n/latvian.min.js +2 -2
  85. package/i18n/lithuanian.js +14 -3
  86. package/i18n/lithuanian.js.map +1 -1
  87. package/i18n/lithuanian.min.js +2 -2
  88. package/i18n/macedonian.js +14 -3
  89. package/i18n/macedonian.js.map +1 -1
  90. package/i18n/macedonian.min.js +2 -2
  91. package/i18n/malay.js +14 -3
  92. package/i18n/malay.js.map +1 -1
  93. package/i18n/malay.min.js +2 -2
  94. package/i18n/nl-BE.js +14 -3
  95. package/i18n/nl-BE.js.map +1 -1
  96. package/i18n/nl-BE.min.js +2 -2
  97. package/i18n/norwegian.js +14 -3
  98. package/i18n/norwegian.js.map +1 -1
  99. package/i18n/norwegian.min.js +2 -2
  100. package/i18n/persian.js +14 -3
  101. package/i18n/persian.js.map +1 -1
  102. package/i18n/persian.min.js +2 -2
  103. package/i18n/polish.js +14 -3
  104. package/i18n/polish.js.map +1 -1
  105. package/i18n/polish.min.js +2 -2
  106. package/i18n/portuguese-br.js +14 -3
  107. package/i18n/portuguese-br.js.map +1 -1
  108. package/i18n/portuguese-br.min.js +2 -2
  109. package/i18n/portuguese.js +14 -3
  110. package/i18n/portuguese.js.map +1 -1
  111. package/i18n/portuguese.min.js +2 -2
  112. package/i18n/romanian.js +14 -3
  113. package/i18n/romanian.js.map +1 -1
  114. package/i18n/romanian.min.js +2 -2
  115. package/i18n/russian.js +14 -3
  116. package/i18n/russian.js.map +1 -1
  117. package/i18n/russian.min.js +2 -2
  118. package/i18n/serbian.js +14 -3
  119. package/i18n/serbian.js.map +1 -1
  120. package/i18n/serbian.min.js +2 -2
  121. package/i18n/simplified-chinese.js +14 -3
  122. package/i18n/simplified-chinese.js.map +1 -1
  123. package/i18n/simplified-chinese.min.js +2 -2
  124. package/i18n/slovak.js +14 -3
  125. package/i18n/slovak.js.map +1 -1
  126. package/i18n/slovak.min.js +2 -2
  127. package/i18n/spanish.js +14 -3
  128. package/i18n/spanish.js.map +1 -1
  129. package/i18n/spanish.min.js +2 -2
  130. package/i18n/swahili.js +14 -3
  131. package/i18n/swahili.js.map +1 -1
  132. package/i18n/swahili.min.js +2 -2
  133. package/i18n/swedish.js +14 -3
  134. package/i18n/swedish.js.map +1 -1
  135. package/i18n/swedish.min.js +2 -2
  136. package/i18n/tajik.js +1 -1
  137. package/i18n/tajik.min.js +1 -1
  138. package/i18n/telugu.js +14 -3
  139. package/i18n/telugu.js.map +1 -1
  140. package/i18n/telugu.min.js +2 -2
  141. package/i18n/thai.js +14 -3
  142. package/i18n/thai.js.map +1 -1
  143. package/i18n/thai.min.js +2 -2
  144. package/i18n/traditional-chinese.js +14 -3
  145. package/i18n/traditional-chinese.js.map +1 -1
  146. package/i18n/traditional-chinese.min.js +2 -2
  147. package/i18n/turkish.js +14 -3
  148. package/i18n/turkish.js.map +1 -1
  149. package/i18n/turkish.min.js +2 -2
  150. package/i18n/ukrainian.js +14 -3
  151. package/i18n/ukrainian.js.map +1 -1
  152. package/i18n/ukrainian.min.js +2 -2
  153. package/i18n/urdu.js +14 -3
  154. package/i18n/urdu.js.map +1 -1
  155. package/i18n/urdu.min.js +2 -2
  156. package/i18n/vietnamese.js +14 -3
  157. package/i18n/vietnamese.js.map +1 -1
  158. package/i18n/vietnamese.min.js +2 -2
  159. package/i18n/welsh.js +14 -3
  160. package/i18n/welsh.js.map +1 -1
  161. package/i18n/welsh.min.js +2 -2
  162. package/modern.css +70 -48
  163. package/modern.css.map +1 -1
  164. package/modern.fontless.css +70 -48
  165. package/modern.fontless.css.map +1 -1
  166. package/modern.fontless.min.css +2 -2
  167. package/modern.min.css +2 -2
  168. package/package.json +1 -1
  169. package/plugins/bootstrap-integration.js +1 -1
  170. package/plugins/bootstrap-integration.min.js +1 -1
  171. package/plugins/bootstrap-material-integration.js +1 -1
  172. package/plugins/bootstrap-material-integration.min.js +1 -1
  173. package/survey.core.js +777 -243
  174. package/survey.core.js.map +1 -1
  175. package/survey.core.min.js +3 -3
  176. package/survey.css +70 -48
  177. package/survey.css.map +1 -1
  178. package/survey.i18n.js +612 -95
  179. package/survey.i18n.js.map +1 -1
  180. package/survey.i18n.min.js +2 -2
  181. package/survey.min.css +2 -2
  182. package/themes/borderless-dark-panelless.js +1 -1
  183. package/themes/borderless-dark-panelless.min.js +1 -1
  184. package/themes/borderless-dark.js +1 -1
  185. package/themes/borderless-dark.min.js +1 -1
  186. package/themes/borderless-light-panelless..js +1 -1
  187. package/themes/borderless-light-panelless..min.js +1 -1
  188. package/themes/borderless-light.js +1 -1
  189. package/themes/borderless-light.min.js +1 -1
  190. package/themes/contrast-dark-panelless.js +1 -1
  191. package/themes/contrast-dark-panelless.min.js +1 -1
  192. package/themes/contrast-dark.js +1 -1
  193. package/themes/contrast-dark.min.js +1 -1
  194. package/themes/contrast-light-panelless.js +1 -1
  195. package/themes/contrast-light-panelless.min.js +1 -1
  196. package/themes/contrast-light.js +1 -1
  197. package/themes/contrast-light.min.js +1 -1
  198. package/themes/default-dark-panelless.js +1 -1
  199. package/themes/default-dark-panelless.min.js +1 -1
  200. package/themes/default-dark.js +1 -1
  201. package/themes/default-dark.min.js +1 -1
  202. package/themes/default-light-panelless.js +1 -1
  203. package/themes/default-light-panelless.min.js +1 -1
  204. package/themes/default-light.js +1 -1
  205. package/themes/default-light.min.js +1 -1
  206. package/themes/doubleborder-dark-panelless.js +1 -1
  207. package/themes/doubleborder-dark-panelless.min.js +1 -1
  208. package/themes/doubleborder-dark.js +1 -1
  209. package/themes/doubleborder-dark.min.js +1 -1
  210. package/themes/doubleborder-light-panelles.js +1 -1
  211. package/themes/doubleborder-light-panelles.min.js +1 -1
  212. package/themes/doubleborder-light.js +1 -1
  213. package/themes/doubleborder-light.min.js +1 -1
  214. package/themes/flat-dark-panelless.js +1 -1
  215. package/themes/flat-dark-panelless.min.js +1 -1
  216. package/themes/flat-dark.js +1 -1
  217. package/themes/flat-dark.min.js +1 -1
  218. package/themes/flat-light-panelless.js +1 -1
  219. package/themes/flat-light-panelless.min.js +1 -1
  220. package/themes/flat-light.js +1 -1
  221. package/themes/flat-light.min.js +1 -1
  222. package/themes/index.js +1 -1
  223. package/themes/index.min.js +1 -1
  224. package/themes/layered-dark-panelless.js +1 -1
  225. package/themes/layered-dark-panelless.min.js +1 -1
  226. package/themes/layered-dark.js +1 -1
  227. package/themes/layered-dark.min.js +1 -1
  228. package/themes/layered-light-panelless.js +1 -1
  229. package/themes/layered-light-panelless.min.js +1 -1
  230. package/themes/layered-light.js +1 -1
  231. package/themes/layered-light.min.js +1 -1
  232. package/themes/plain-dark-panelless.js +1 -1
  233. package/themes/plain-dark-panelless.min.js +1 -1
  234. package/themes/plain-dark.js +1 -1
  235. package/themes/plain-dark.min.js +1 -1
  236. package/themes/plain-light-panelless.js +1 -1
  237. package/themes/plain-light-panelless.min.js +1 -1
  238. package/themes/plain-light.js +1 -1
  239. package/themes/plain-light.min.js +1 -1
  240. package/themes/sharp-dark-panelless.js +1 -1
  241. package/themes/sharp-dark-panelless.min.js +1 -1
  242. package/themes/sharp-dark.js +1 -1
  243. package/themes/sharp-dark.min.js +1 -1
  244. package/themes/sharp-light-panelless.js +1 -1
  245. package/themes/sharp-light-panelless.min.js +1 -1
  246. package/themes/sharp-light.js +1 -1
  247. package/themes/sharp-light.min.js +1 -1
  248. package/themes/solid-dark-panelless.js +1 -1
  249. package/themes/solid-dark-panelless.min.js +1 -1
  250. package/themes/solid-dark.js +1 -1
  251. package/themes/solid-dark.min.js +1 -1
  252. package/themes/solid-light-panelless.js +1 -1
  253. package/themes/solid-light-panelless.min.js +1 -1
  254. package/themes/solid-light.js +1 -1
  255. package/themes/solid-light.min.js +1 -1
  256. package/themes/three-dimensional-dark-panelless.js +1 -1
  257. package/themes/three-dimensional-dark-panelless.min.js +1 -1
  258. package/themes/three-dimensional-dark.js +1 -1
  259. package/themes/three-dimensional-dark.min.js +1 -1
  260. package/themes/three-dimensional-light-panelless.js +1 -1
  261. package/themes/three-dimensional-light-panelless.min.js +1 -1
  262. package/themes/three-dimensional-light.js +1 -1
  263. package/themes/three-dimensional-light.min.js +1 -1
  264. package/ts3.4/typings/actions/action.d.ts +3 -3
  265. package/ts3.4/typings/base-interfaces.d.ts +1 -0
  266. package/ts3.4/typings/base.d.ts +3 -1
  267. package/ts3.4/typings/defaultCss/cssmodern.d.ts +6 -1
  268. package/ts3.4/typings/defaultCss/cssstandard.d.ts +6 -1
  269. package/ts3.4/typings/defaultCss/defaultV2Css.d.ts +8 -1
  270. package/ts3.4/typings/error.d.ts +6 -0
  271. package/ts3.4/typings/jsonobject.d.ts +4 -0
  272. package/ts3.4/typings/localizablestring.d.ts +1 -0
  273. package/ts3.4/typings/localization/english.d.ts +1 -0
  274. package/ts3.4/typings/martixBase.d.ts +6 -2
  275. package/ts3.4/typings/panel.d.ts +3 -3
  276. package/ts3.4/typings/popup-survey.d.ts +8 -2
  277. package/ts3.4/typings/question.d.ts +4 -3
  278. package/ts3.4/typings/question_baseselect.d.ts +4 -2
  279. package/ts3.4/typings/question_custom.d.ts +28 -1
  280. package/ts3.4/typings/question_matrix.d.ts +23 -2
  281. package/ts3.4/typings/question_matrixdropdownbase.d.ts +9 -8
  282. package/ts3.4/typings/question_matrixdropdowncolumn.d.ts +179 -0
  283. package/ts3.4/typings/question_paneldynamic.d.ts +7 -0
  284. package/ts3.4/typings/question_ranking.d.ts +1 -0
  285. package/ts3.4/typings/settings.d.ts +2 -2
  286. package/ts3.4/typings/survey-element.d.ts +2 -0
  287. package/ts3.4/typings/survey-error.d.ts +1 -1
  288. package/ts3.4/typings/survey-events-api.d.ts +3 -3
  289. package/ts3.4/typings/survey.d.ts +5 -0
  290. package/ts3.4/typings/surveyStrings.d.ts +1 -0
  291. package/ts3.4/typings/surveyToc.d.ts +0 -2
  292. package/ts3.4/typings/themes.d.ts +14 -0
  293. package/typings/actions/action.d.ts +3 -3
  294. package/typings/base-interfaces.d.ts +1 -0
  295. package/typings/base.d.ts +3 -1
  296. package/typings/defaultCss/cssmodern.d.ts +6 -1
  297. package/typings/defaultCss/cssstandard.d.ts +6 -1
  298. package/typings/defaultCss/defaultV2Css.d.ts +8 -1
  299. package/typings/error.d.ts +6 -0
  300. package/typings/jsonobject.d.ts +4 -0
  301. package/typings/localizablestring.d.ts +1 -0
  302. package/typings/localization/english.d.ts +1 -0
  303. package/typings/martixBase.d.ts +6 -2
  304. package/typings/panel.d.ts +3 -3
  305. package/typings/popup-survey.d.ts +8 -2
  306. package/typings/question.d.ts +4 -3
  307. package/typings/question_baseselect.d.ts +4 -2
  308. package/typings/question_custom.d.ts +28 -1
  309. package/typings/question_matrix.d.ts +25 -3
  310. package/typings/question_matrixdropdownbase.d.ts +9 -8
  311. package/typings/question_matrixdropdowncolumn.d.ts +179 -0
  312. package/typings/question_paneldynamic.d.ts +7 -0
  313. package/typings/question_ranking.d.ts +1 -0
  314. package/typings/settings.d.ts +2 -2
  315. package/typings/survey-element.d.ts +2 -0
  316. package/typings/survey-error.d.ts +1 -1
  317. package/typings/survey-events-api.d.ts +3 -3
  318. package/typings/survey.d.ts +6 -0
  319. package/typings/surveyStrings.d.ts +1 -0
  320. package/typings/surveyToc.d.ts +0 -2
  321. package/typings/themes.d.ts +14 -0
@@ -694,7 +694,7 @@ export interface MatrixAllowRemoveRowEvent extends MatrixDynamicQuestionEventMix
694
694
  }
695
695
  export interface MatrixCellCreatingBaseEvent extends MatrixDropdownQuestionEventMixin {
696
696
  /**
697
- * A matrix column to which the cell belongs.
697
+ * A [matrix column](https://surveyjs.io/form-library/documentation/api-reference/multi-select-matrix-column-values) to which the cell belongs.
698
698
  */
699
699
  column: MatrixDropdownColumn;
700
700
  /**
@@ -741,7 +741,7 @@ export interface MatrixAfterCellRenderEvent extends QuestionEventMixin, AfterRen
741
741
  */
742
742
  row: MatrixDropdownRowModelBase;
743
743
  /**
744
- * A matrix column to which the cell belongs.
744
+ * A [matrix column](https://surveyjs.io/form-library/documentation/api-reference/multi-select-matrix-column-values) to which the cell belongs.
745
745
  */
746
746
  column: MatrixDropdownColumn | MatrixDropdownCell;
747
747
  }
@@ -751,7 +751,7 @@ export interface MatrixCellValueBaseEvent extends MatrixDropdownQuestionEventMix
751
751
  */
752
752
  row: MatrixDropdownRowModelBase;
753
753
  /**
754
- * A matrix column to which the cell belongs.
754
+ * A [matrix column](https://surveyjs.io/form-library/documentation/api-reference/multi-select-matrix-column-values) to which the cell belongs.
755
755
  */
756
756
  column: MatrixDropdownColumn;
757
757
  /**
@@ -776,6 +776,8 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
776
776
  */
777
777
  lazyRendering: boolean;
778
778
  readonly isLazyRendering: boolean;
779
+ lazyRenderingFirstBatchSizeValue: number;
780
+ lazyRenderingFirstBatchSize: number;
779
781
  private updateLazyRenderingRowsOnRemovingElements;
780
782
  /*
781
783
  * A list of triggers in the survey.
@@ -1550,6 +1552,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
1550
1552
  * The `currentPage` property does not return the start page even if it is current. Use the [`activePage`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#activePage) property instead if your survey contains a start page.
1551
1553
  */
1552
1554
  currentPage: any;
1555
+ tryNavigateToPage(page: PageModel): boolean;
1553
1556
  private updateCurrentPage;
1554
1557
  private readonly isCurrentPageAvailable: any;
1555
1558
  private isPageExistsInSurvey;
@@ -2314,6 +2317,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
2314
2317
  private getProcessedValuesWithoutQuestion;
2315
2318
  private getFirstName;
2316
2319
  private reduceFirstName;
2320
+ private isClearingUnsedValues;
2317
2321
  private clearUnusedValues;
2318
2322
  hasVisibleQuestionByValueName(valueName: string): boolean;
2319
2323
  questionsByValueName(valueName: string): Array<IQuestion>;
@@ -2650,6 +2654,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
2650
2654
  * @returns The configuration of the previous layout element with the same `id`.
2651
2655
  */
2652
2656
  addLayoutElement(layoutElement: ISurveyLayoutElement): ISurveyLayoutElement;
2657
+ findLayoutElement(layoutElementId: string): ISurveyLayoutElement;
2653
2658
  removeLayoutElement(layoutElementId: string): ISurveyLayoutElement;
2654
2659
  getContainerContent(container: LayoutElementContainer): any[];
2655
2660
  processPopupVisiblityChanged(question: Question, popup: PopupModel<any>, visible: boolean): void;
@@ -40,6 +40,7 @@ export declare var surveyStrings: {
40
40
  requiredError: string;
41
41
  requiredErrorInPanel: string;
42
42
  requiredInAllRowsError: string;
43
+ eachRowUniqueError: string;
43
44
  numericError: string;
44
45
  minError: string;
45
46
  maxError: string;
@@ -1,10 +1,8 @@
1
1
  import { Action } from "./actions/action";
2
2
  import { ListModel } from "./list";
3
- import { PageModel } from "./page";
4
3
  import { PanelModelBase } from "./panel";
5
4
  import { PopupModel } from "./popup";
6
5
  import { SurveyModel } from "./survey";
7
- export declare function tryNavigateToPage(survey: SurveyModel, page: PageModel): boolean;
8
6
  export declare function tryFocusPage(survey: SurveyModel, panel: PanelModelBase): boolean;
9
7
  export declare function createTOCListModel(survey: SurveyModel, onAction?: () => void): ListModel<Action>;
10
8
  export declare function getTocRootCss(survey: SurveyModel, isMobile?: boolean): string;
@@ -59,6 +59,20 @@ export interface ITheme {
59
59
  * An object with [advanced survey header settings](https://surveyjs.io/form-library/documentation/api-reference/iheader). Applies when `SurveyModel`'s [`headerView`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#headerView) property is set to `"advanced"`.
60
60
  */
61
61
  header?: IHeader;
62
+ /**
63
+ * Specifies whether the survey header uses only basic appearance settings or applies advanced settings from the survey theme.
64
+ *
65
+ * Possible values:
66
+ *
67
+ * - `"basic"` (default)\
68
+ * A basic header view applies only the [`title`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#title), [`description`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#description), and logo-related properties ([`logo`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#logo), [`logoPosition`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#logoPosition), etc.).
69
+ *
70
+ * - `"advanced"`\
71
+ * An advanced header view applies the same properties as the basic view, plus [header settings](https://surveyjs.io/form-library/documentation/api-reference/iheader) from the [survey theme](https://surveyjs.io/form-library/documentation/api-reference/itheme#header). The advanced view features a more flexible header layout, a capability to specify a background image, and other settings that give a more professional look to the survey header.
72
+ *
73
+ * [View Demo](https://surveyjs.io/form-library/examples/brand-your-survey-header/ (linkStyle))
74
+ */
75
+ headerView?: "advanced" | "basic";
62
76
  /**
63
77
  * An object with CSS variables.
64
78
  */
@@ -1,5 +1,5 @@
1
1
  import { ILocalizableOwner, LocalizableString } from "../localizablestring";
2
- import { Base } from "../base";
2
+ import { Base, ComputedUpdater } from "../base";
3
3
  import { IListModel } from "../list";
4
4
  import { IPopupOptionsBase } from "../popup";
5
5
  export declare type actionModeType = "large" | "small" | "popup" | "removed";
@@ -22,7 +22,7 @@ export interface IAction {
22
22
  * @see enabled
23
23
  * @see active
24
24
  */
25
- visible?: boolean;
25
+ visible?: boolean | ComputedUpdater<boolean>;
26
26
  /**
27
27
  * The action item's title.
28
28
  *
@@ -43,7 +43,7 @@ export interface IAction {
43
43
  * @see active
44
44
  * @see visible
45
45
  */
46
- enabled?: boolean;
46
+ enabled?: boolean | ComputedUpdater<boolean>;
47
47
  enabledIf?: () => boolean;
48
48
  /**
49
49
  * Specifies the visibility of the action item's title.
@@ -74,6 +74,7 @@ export interface ISurvey extends ITextProcessor, ISurveyErrorOwner {
74
74
  allowResizeComment: boolean;
75
75
  state: string;
76
76
  isLazyRendering: boolean;
77
+ lazyRenderingFirstBatchSize: number;
77
78
  cancelPreviewByPage(panel: IPanel): any;
78
79
  locEditText: LocalizableString;
79
80
  cssNavigationEdit: string;
package/typings/base.d.ts CHANGED
@@ -73,6 +73,8 @@ export declare class Base {
73
73
  * @param trimString *(Optional)* When this parameter is `true`, the method ignores whitespace characters at the beginning and end of a string value. Pass `false` to disable this functionality.
74
74
  */
75
75
  isValueEmpty(value: any, trimString?: boolean): boolean;
76
+ equals(obj: Base): boolean;
77
+ protected equalsCore(obj: Base): boolean;
76
78
  protected trimValue(value: any): any;
77
79
  protected isPropertyEmpty(value: any): boolean;
78
80
  static createPropertiesHash(): {};
@@ -265,7 +267,7 @@ export declare class Base {
265
267
  registerFunctionOnPropertiesValueChanged(names: Array<string>, func: any, key?: string): void;
266
268
  unRegisterFunctionOnPropertyValueChanged(name: string, key?: string): void;
267
269
  unRegisterFunctionOnPropertiesValueChanged(names: Array<string>, key?: string): void;
268
- createCustomLocalizableObj(name: string): void;
270
+ createCustomLocalizableObj(name: string): LocalizableString;
269
271
  getLocale(): string;
270
272
  getLocalizationString(strName: string): string;
271
273
  getLocalizationFormatString(strName: string, ...args: any[]): string;
@@ -425,13 +425,18 @@ export declare var modernCss: {
425
425
  };
426
426
  window: {
427
427
  root: string;
428
+ rootCollapsedMod: string;
429
+ rootContent: string;
428
430
  body: string;
429
431
  header: {
430
432
  root: string;
431
- title: string;
433
+ titleCollapsed: string;
434
+ buttonsContainer: string;
432
435
  button: string;
433
436
  buttonExpanded: string;
434
437
  buttonCollapsed: string;
438
+ collapseButton: string;
439
+ closeButton: string;
435
440
  };
436
441
  };
437
442
  variables: {
@@ -359,13 +359,18 @@ export declare var defaultStandardCss: {
359
359
  };
360
360
  window: {
361
361
  root: string;
362
+ rootCollapsedMod: string;
363
+ rootContent: string;
362
364
  body: string;
363
365
  header: {
364
366
  root: string;
365
- title: string;
367
+ titleCollapsed: string;
368
+ buttonsContainer: string;
366
369
  button: string;
367
370
  buttonExpanded: string;
368
371
  buttonCollapsed: string;
372
+ collapseButton: string;
373
+ closeButton: string;
369
374
  };
370
375
  };
371
376
  variables: {
@@ -156,6 +156,7 @@ export declare var defaultV2Css: {
156
156
  headerTop: string;
157
157
  headerBottom: string;
158
158
  content: string;
159
+ contentSupportContainerQueries: string;
159
160
  contentLeft: string;
160
161
  titleNumInline: string;
161
162
  titleLeftRoot: string;
@@ -394,6 +395,7 @@ export declare var defaultV2Css: {
394
395
  rowError: string;
395
396
  cell: string;
396
397
  row: string;
398
+ rowDisabled: string;
397
399
  headerCell: string;
398
400
  rowTextCell: string;
399
401
  label: string;
@@ -630,13 +632,18 @@ export declare var defaultV2Css: {
630
632
  };
631
633
  window: {
632
634
  root: string;
635
+ rootCollapsedMod: string;
636
+ rootContent: string;
633
637
  body: string;
634
638
  header: {
635
639
  root: string;
636
- title: string;
640
+ titleCollapsed: string;
641
+ buttonsContainer: string;
637
642
  button: string;
638
643
  buttonExpanded: string;
639
644
  buttonCollapsed: string;
645
+ collapseButton: string;
646
+ closeButton: string;
640
647
  };
641
648
  };
642
649
  ranking: {
@@ -56,6 +56,12 @@ export declare class RequiredInAllRowsError extends SurveyError {
56
56
  getErrorType(): string;
57
57
  protected getDefaultText(): string;
58
58
  }
59
+ export declare class EachRowUniqueError extends SurveyError {
60
+ text: string;
61
+ constructor(text: string, errorOwner?: ISurveyErrorOwner);
62
+ getErrorType(): string;
63
+ protected getDefaultText(): string;
64
+ }
59
65
  export declare class MinRowCountError extends SurveyError {
60
66
  minRowCount: number;
61
67
  constructor(minRowCount: number, errorOwner?: ISurveyErrorOwner);
@@ -152,11 +152,13 @@ export declare class JsonMetadataClass {
152
152
  properties: Array<JsonObjectProperty>;
153
153
  private isCustomValue;
154
154
  private allProperties;
155
+ private requiredProperties;
155
156
  private hashProperties;
156
157
  constructor(name: string, properties: Array<any>, creator?: (json?: any) => any, parentName?: string);
157
158
  find(name: string): JsonObjectProperty;
158
159
  findProperty(name: string): JsonObjectProperty;
159
160
  getAllProperties(): Array<JsonObjectProperty>;
161
+ getRequiredProperties(): Array<JsonObjectProperty>;
160
162
  resetAllProperties(): void;
161
163
  get isCustom(): boolean;
162
164
  private fillAllProperties;
@@ -177,6 +179,7 @@ export declare class JsonMetadata {
177
179
  private classes;
178
180
  private alternativeNames;
179
181
  private childrenClasses;
182
+ private dynamicPropsCache;
180
183
  onSerializingProperty: ((obj: Base, prop: JsonObjectProperty, value: any, json: any) => boolean) | undefined;
181
184
  getObjPropertyValue(obj: any, name: string): any;
182
185
  setObjPropertyValue(obj: any, name: string, val: any): void;
@@ -204,6 +207,7 @@ export declare class JsonMetadata {
204
207
  addProperty(className: string, propertyInfo: any): JsonObjectProperty;
205
208
  private addCustomPropertyCore;
206
209
  removeProperty(className: string, propertyName: string): boolean;
210
+ private clearDynamicPropsCache;
207
211
  private removePropertyFromClass;
208
212
  private fillChildrenClasses;
209
213
  findClass(name: string): JsonMetadataClass;
@@ -42,6 +42,7 @@ export declare class LocalizableString implements ILocalizableString {
42
42
  searchText: string;
43
43
  searchIndex: number;
44
44
  disableLocalization: boolean;
45
+ defaultValue: string;
45
46
  constructor(owner: ILocalizableOwner, useMarkdown?: boolean, name?: string);
46
47
  getIsMultiple(): boolean;
47
48
  get locale(): string;
@@ -23,6 +23,7 @@ export declare var englishStrings: {
23
23
  requiredError: string;
24
24
  requiredErrorInPanel: string;
25
25
  requiredInAllRowsError: string;
26
+ eachRowUniqueError: string;
26
27
  numericError: string;
27
28
  minError: string;
28
29
  maxError: string;
@@ -25,9 +25,13 @@ export declare class QuestionMatrixBaseModel<TRow, TColumn> extends Question {
25
25
  /**
26
26
  * An array of matrix columns.
27
27
  *
28
- * This array can contain primitive values or objects with the `text` (display value) and `value` (value to be saved in survey results) properties.
28
+ * For a Single-Select Matrix, the `columns` array can contain configuration objects with the `text` (display value) and `value` (value to be saved in survey results) properties. Alternatively, the array can contain primitive values that will be used as both the display values and values to be saved in survey results.
29
29
  *
30
- * [View Demo](https://surveyjs.io/form-library/examples/single-selection-matrix-table-question/ (linkStyle))
30
+ * [View "Single-Select Matrix" Demo](https://surveyjs.io/form-library/examples/single-selection-matrix-table-question/ (linkStyle))
31
+ *
32
+ * For a Multi-Select Matrix or Dynamic Matrix, the `columns` array should contain configuration objects with properties described in the [`MatrixDropdownColumn`](https://surveyjs.io/form-library/documentation/api-reference/multi-select-matrix-column-values) API Reference section.
33
+ *
34
+ * [View "Multi-Select Matrix" Demo](https://surveyjs.io/form-library/examples/questiontype-matrixdropdown/ (linkStyle))
31
35
  */
32
36
  get columns(): Array<any>;
33
37
  set columns(newValue: Array<any>);
@@ -122,7 +122,7 @@ export declare class PanelModelBase extends SurveyElement<Question> implements I
122
122
  *
123
123
  * A survey parses and runs all expressions on startup. If any values used in the expression change, the survey re-evaluates it.
124
124
  *
125
- * Refer to the following help topic for more information: [Conditional Visibility](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#conditional-visibility)
125
+ * Refer to the following help topic for more information: [Conditional Visibility](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#conditional-visibility).
126
126
  * @see visible
127
127
  * @see isVisible
128
128
  */
@@ -215,7 +215,7 @@ export declare class PanelModelBase extends SurveyElement<Question> implements I
215
215
  *
216
216
  * A survey parses and runs all expressions on startup. If any values used in the expression change, the survey re-evaluates it.
217
217
  *
218
- * Refer to the following help topic for more information: [Conditional Visibility](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#conditional-visibility)
218
+ * Refer to the following help topic for more information: [Conditional Visibility](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#conditional-visibility).
219
219
  * @see isRequired
220
220
  */
221
221
  get requiredIf(): string;
@@ -338,7 +338,7 @@ export declare class PanelModelBase extends SurveyElement<Question> implements I
338
338
  *
339
339
  * A survey parses and runs all expressions on startup. If any values used in the expression change, the survey re-evaluates it.
340
340
  *
341
- * Refer to the following help topic for more information: [Conditional Visibility](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#conditional-visibility)
341
+ * Refer to the following help topic for more information: [Conditional Visibility](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#conditional-visibility).
342
342
  * @see readOnly
343
343
  * @see isReadOnly
344
344
  */
@@ -57,6 +57,7 @@ export declare class PopupSurveyModel extends Base {
57
57
  */
58
58
  get isExpanded(): boolean;
59
59
  set isExpanded(val: boolean);
60
+ get isCollapsed(): boolean;
60
61
  protected onExpandedChanged(): void;
61
62
  /**
62
63
  * A title for the pop-up window. If this property is undefined, the title is taken from [`SurveyModel`](#survey)'s [`title`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#title) property.
@@ -64,6 +65,7 @@ export declare class PopupSurveyModel extends Base {
64
65
  get title(): string;
65
66
  set title(value: string);
66
67
  get locTitle(): LocalizableString;
68
+ get locDescription(): LocalizableString;
67
69
  /**
68
70
  * Expands the pop-up window.
69
71
  *
@@ -94,10 +96,14 @@ export declare class PopupSurveyModel extends Base {
94
96
  get css(): any;
95
97
  get cssButton(): string;
96
98
  get cssRoot(): string;
99
+ get cssRootCollapsedMod(): string;
100
+ get cssRootContent(): string;
97
101
  get cssBody(): string;
98
102
  get cssHeaderRoot(): string;
99
- get cssHeaderTitle(): string;
100
- get cssHeaderButton(): string;
103
+ get cssHeaderTitleCollapsed(): string;
104
+ get cssHeaderButtonsContainer(): string;
105
+ get cssHeaderCollapseButton(): string;
106
+ get cssHeaderCloseButton(): string;
101
107
  get renderedWidth(): string;
102
108
  width: string;
103
109
  private updateCss;
@@ -158,7 +158,7 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
158
158
  *
159
159
  * A survey parses and runs all expressions on startup. If any values used in the expression change, the survey re-evaluates it.
160
160
  *
161
- * Refer to the following help topic for more information: [Conditional Visibility](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#conditional-visibility)
161
+ * Refer to the following help topic for more information: [Conditional Visibility](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#conditional-visibility).
162
162
  * @see visible
163
163
  * @see isVisible
164
164
  */
@@ -389,6 +389,7 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
389
389
  get cssHeader(): string;
390
390
  protected setCssHeader(val: string): void;
391
391
  protected getCssHeader(cssClasses: any): string;
392
+ protected supportContainerQueries(): boolean;
392
393
  get cssContent(): string;
393
394
  protected setCssContent(val: string): void;
394
395
  protected getCssContent(cssClasses: any): string;
@@ -448,7 +449,7 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
448
449
  *
449
450
  * A survey parses and runs all expressions on startup. If any values used in the expression change, the survey re-evaluates it.
450
451
  *
451
- * Refer to the following help topic for more information: [Conditional Visibility](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#conditional-visibility)
452
+ * Refer to the following help topic for more information: [Conditional Visibility](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#conditional-visibility).
452
453
  * @see isRequired
453
454
  */
454
455
  get requiredIf(): string;
@@ -495,7 +496,7 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
495
496
  *
496
497
  * A survey parses and runs all expressions on startup. If any values used in the expression change, the survey re-evaluates it.
497
498
  *
498
- * Refer to the following help topic for more information: [Conditional Visibility](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#conditional-visibility)
499
+ * Refer to the following help topic for more information: [Conditional Visibility](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#conditional-visibility).
499
500
  * @see readOnly
500
501
  * @see isReadOnly
501
502
  */
@@ -293,7 +293,7 @@ export declare class QuestionSelectBase extends Question {
293
293
  get otherPlaceHolder(): string;
294
294
  set otherPlaceHolder(newValue: string);
295
295
  /**
296
- * Get or sets an error message displayed when users select the "Other" choice item but leave the comment area empty.
296
+ * Gets or sets an error message displayed when users select the "Other" choice item but leave the comment area empty.
297
297
  * @see showOtherItem
298
298
  */
299
299
  get otherErrorText(): string;
@@ -376,6 +376,8 @@ export declare class QuestionSelectBase extends Question {
376
376
  private isFirstLoadChoicesFromUrl;
377
377
  protected onBeforeSendRequest(): void;
378
378
  protected onLoadChoicesFromUrl(array: Array<ItemValue>): void;
379
+ private canAvoidSettChoicesFromUrl;
380
+ private setChoicesFromUrl;
379
381
  private createCachedValueForUrlRequests;
380
382
  private updateCachedValueForUrlRequests;
381
383
  private isUpdatingChoicesDependedQuestions;
@@ -460,7 +462,7 @@ export declare class QuestionCheckboxBase extends QuestionSelectBase {
460
462
  colCountChangedCallback: () => void;
461
463
  constructor(name: string);
462
464
  /**
463
- * Get or sets the number of columns used to arrange choice items.
465
+ * Gets or sets the number of columns used to arrange choice items.
464
466
  *
465
467
  * Set this property to 0 if you want to display all items in one line. The default value depends on the available width.
466
468
  * @see separateSpecialChoices
@@ -37,13 +37,37 @@ export interface ICustomQuestionTypeConfiguration {
37
37
  */
38
38
  onInit?(): void;
39
39
  /**
40
- * Specifies whether the custom question type is available in the Toolbox and the Add Question menu.
40
+ * Specifies whether the custom question type is available in the Toolbox and the Add Question menu in Survey Creator.
41
41
  *
42
42
  * Default value: `true`
43
43
  *
44
44
  * Set this property to `false` if your custom question type is used only to customize Property Grid content and is not meant for a survey.
45
45
  */
46
46
  showInToolbox?: boolean;
47
+ /**
48
+ * A default title for questions created with this question type. Survey authors can change the default title in the JSON object or in Survey Creator's Property Grid.
49
+ *
50
+ * You can specify the question title with a string value or with an object that defines different titles for different locales:
51
+ *
52
+ * ```js
53
+ * import { ComponentCollection } from "survey-core";
54
+ *
55
+ * ComponentCollection.Instance.add({
56
+ * // ...
57
+ * defaultQuestionTitle: "Default title"
58
+ * });
59
+ * // ===== OR =====
60
+ * ComponentCollection.Instance.add({
61
+ * // ...
62
+ * defaultQuestionTitle: {
63
+ * en: "Default title",
64
+ * de: "Standardtitel",
65
+ * fr: "Titre par défaut"
66
+ * }
67
+ * });
68
+ * ```
69
+ */
70
+ defaultQuestionTitle?: any;
47
71
  /**
48
72
  * A function that is called when the custom question is created. Use it to access questions nested within a [composite question type](https://surveyjs.io/form-library/documentation/customize-question-types/create-composite-question-types).
49
73
  *
@@ -208,6 +232,7 @@ export declare class ComponentQuestionJSON {
208
232
  onValueChanging(question: Question, name: string, newValue: any): any;
209
233
  onItemValuePropertyChanged(question: Question, item: ItemValue, propertyName: string, name: string, newValue: any): void;
210
234
  getDisplayValue(keyAsText: boolean, value: any, question: Question): any;
235
+ get defaultQuestionTitle(): any;
211
236
  setValueToQuestion(val: any): any;
212
237
  getValueFromQuestion(val: any): any;
213
238
  get isComposite(): boolean;
@@ -231,10 +256,12 @@ export declare class ComponentCollection {
231
256
  }
232
257
  export declare abstract class QuestionCustomModelBase extends Question implements ISurveyImpl, ISurveyData, IPanel {
233
258
  customQuestion: ComponentQuestionJSON;
259
+ private locQuestionTitle;
234
260
  constructor(name: string, customQuestion: ComponentQuestionJSON);
235
261
  getType(): string;
236
262
  locStrsChanged(): void;
237
263
  localeChanged(): void;
264
+ protected getDefaultTitle(): string;
238
265
  addUsedLocales(locales: Array<string>): void;
239
266
  needResponsiveWidth(): boolean;
240
267
  protected createWrapper(): void;
@@ -1,3 +1,4 @@
1
+ import { HashTable } from "./helpers";
1
2
  import { ItemValue } from "./itemvalue";
2
3
  import { QuestionMatrixBaseModel } from "./martixBase";
3
4
  import { Base } from "./base";
@@ -8,18 +9,24 @@ import { IPlainDataOptions } from "./base-interfaces";
8
9
  export interface IMatrixData {
9
10
  onMatrixRowChanged(row: MatrixRowModel): void;
10
11
  getCorrectedRowValue(value: any): any;
12
+ cssClasses: any;
13
+ isInputReadOnly: boolean;
14
+ hasErrorInRow(row: MatrixRowModel): boolean;
11
15
  }
12
16
  export declare class MatrixRowModel extends Base {
17
+ item: ItemValue;
13
18
  fullName: string;
14
19
  private data;
15
- private item;
16
20
  cellClick: any;
17
21
  constructor(item: ItemValue, fullName: string, data: IMatrixData, value: any);
18
22
  get name(): string;
19
23
  get text(): string;
20
24
  get locText(): LocalizableString;
21
25
  get value(): any;
22
- set value(newValue: any);
26
+ set value(val: any);
27
+ setValueDirectly(val: any): void;
28
+ get isReadOnly(): boolean;
29
+ get rowTextClasses(): string;
23
30
  get rowClasses(): string;
24
31
  }
25
32
  export interface IMatrixCellsOwner extends ILocalizableOwner {
@@ -68,9 +75,18 @@ export declare class QuestionMatrixModel extends QuestionMatrixBaseModel<MatrixR
68
75
  /**
69
76
  * Specifies whether each row requires an answer. If a respondent skips a row, the question displays a validation error.
70
77
  * @see isRequired
78
+ * @see eachRowUnique
79
+ * @see validators
71
80
  */
72
81
  get isAllRowRequired(): boolean;
73
82
  set isAllRowRequired(val: boolean);
83
+ /**
84
+ * Specifies whether answers in all rows should be unique. If any answers duplicate, the question displays a validation error.
85
+ * @see isAllRowRequired
86
+ * @see validators
87
+ */
88
+ get eachRowUnique(): boolean;
89
+ set eachRowUnique(val: boolean);
74
90
  get hasRows(): boolean;
75
91
  /**
76
92
  * Specifies a sort order for matrix rows.
@@ -97,6 +113,7 @@ export declare class QuestionMatrixModel extends QuestionMatrixBaseModel<MatrixR
97
113
  locStrsChanged(): void;
98
114
  protected getQuizQuestionCount(): number;
99
115
  protected getCorrectAnswerCount(): number;
116
+ protected runItemsCondition(values: HashTable<any>, properties: HashTable<any>): boolean;
100
117
  protected getVisibleRows(): Array<MatrixRowModel>;
101
118
  protected sortVisibleRows(array: Array<MatrixRowModel>): Array<MatrixRowModel>;
102
119
  endLoadingFromJson(): void;
@@ -115,9 +132,13 @@ export declare class QuestionMatrixModel extends QuestionMatrixBaseModel<MatrixR
115
132
  private emptyLocalizableString;
116
133
  getCellDisplayLocText(row: any, column: any): LocalizableString;
117
134
  supportGoNextPageAutomatic(): boolean;
135
+ private errorsInRow;
118
136
  protected onCheckForErrors(errors: Array<SurveyError>, isOnValueChanged: boolean): void;
119
- private hasErrorInRows;
137
+ private hasErrorAllRowsRequired;
138
+ private hasErrorEachRowUnique;
120
139
  private hasValuesInAllRows;
140
+ private hasNonUniqueValueInRow;
141
+ private addErrorIntoRow;
121
142
  protected getIsAnswered(): boolean;
122
143
  private createMatrixRow;
123
144
  protected onMatrixRowCreated(row: MatrixRowModel): void;
@@ -130,6 +151,7 @@ export declare class QuestionMatrixModel extends QuestionMatrixBaseModel<MatrixR
130
151
  protected getFirstInputElementId(): string;
131
152
  onMatrixRowChanged(row: MatrixRowModel): void;
132
153
  getCorrectedRowValue(value: any): any;
154
+ hasErrorInRow(row: MatrixRowModel): boolean;
133
155
  protected getSearchableItemValueKeys(keys: Array<string>): void;
134
156
  private get SurveyModel();
135
157
  getColumnHeaderWrapperComponentName(cell: ItemValue): string;
@@ -302,14 +302,15 @@ export declare class QuestionMatrixDropdownModelBase extends QuestionMatrixBaseM
302
302
  *
303
303
  * Possible values:
304
304
  *
305
- * - `"dropdown"`
306
- * - `"checkbox"`
307
- * - `"radiogroup"`
308
- * - `"text"`
309
- * - `"comment"`
310
- * - `"boolean"`
311
- * - `"expression"`
312
- * - `"rating"`
305
+ * - [`"dropdown"`](https://surveyjs.io/form-library/documentation/api-reference/dropdown-menu-model)
306
+ * - [`"checkbox"`](https://surveyjs.io/form-library/documentation/api-reference/checkbox-question-model)
307
+ * - [`"radiogroup"`](https://surveyjs.io/form-library/documentation/api-reference/radio-button-question-model)
308
+ * - [`"tagbox"`](https://surveyjs.io/form-library/documentation/api-reference/dropdown-tag-box-model)
309
+ * - [`"text"`](https://surveyjs.io/form-library/documentation/api-reference/text-entry-question-model)
310
+ * - [`"comment"`](https://surveyjs.io/form-library/documentation/api-reference/comment-field-model)
311
+ * - [`"boolean"`](https://surveyjs.io/form-library/documentation/api-reference/boolean-question-model)
312
+ * - [`"expression"`](https://surveyjs.io/form-library/documentation/api-reference/expression-model)
313
+ * - [`"rating"`](https://surveyjs.io/form-library/documentation/api-reference/rating-scale-question-model)
313
314
  *
314
315
  * Default value: `"dropdown"` (inherited from [`settings.matrix.defaultCellType`](https://surveyjs.io/form-library/documentation/settings#matrixDefaultCellType))
315
316
  */