survey-core 1.11.3 → 1.11.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (272) hide show
  1. package/defaultV2.css +175 -48
  2. package/defaultV2.css.map +1 -1
  3. package/defaultV2.fontless.css +175 -48
  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 +2 -1
  8. package/i18n/arabic.js.map +1 -1
  9. package/i18n/arabic.min.js +2 -2
  10. package/i18n/basque.js +1 -1
  11. package/i18n/basque.min.js +1 -1
  12. package/i18n/bulgarian.js +1 -1
  13. package/i18n/bulgarian.min.js +1 -1
  14. package/i18n/catalan.js +1 -1
  15. package/i18n/catalan.min.js +1 -1
  16. package/i18n/croatian.js +1 -1
  17. package/i18n/croatian.min.js +1 -1
  18. package/i18n/czech.js +1 -1
  19. package/i18n/czech.min.js +1 -1
  20. package/i18n/danish.js +1 -1
  21. package/i18n/danish.min.js +1 -1
  22. package/i18n/dutch.js +1 -1
  23. package/i18n/dutch.min.js +1 -1
  24. package/i18n/english.js +1 -1
  25. package/i18n/english.min.js +1 -1
  26. package/i18n/estonian.js +1 -1
  27. package/i18n/estonian.min.js +1 -1
  28. package/i18n/finnish.js +1 -1
  29. package/i18n/finnish.min.js +1 -1
  30. package/i18n/french.js +1 -1
  31. package/i18n/french.min.js +1 -1
  32. package/i18n/georgian.js +1 -1
  33. package/i18n/georgian.min.js +1 -1
  34. package/i18n/german.js +1 -1
  35. package/i18n/german.min.js +1 -1
  36. package/i18n/greek.js +1 -1
  37. package/i18n/greek.min.js +1 -1
  38. package/i18n/hebrew.js +1 -1
  39. package/i18n/hebrew.min.js +1 -1
  40. package/i18n/hindi.js +1 -1
  41. package/i18n/hindi.min.js +1 -1
  42. package/i18n/hungarian.js +1 -1
  43. package/i18n/hungarian.min.js +1 -1
  44. package/i18n/icelandic.js +1 -1
  45. package/i18n/icelandic.min.js +1 -1
  46. package/i18n/index.js +2 -1
  47. package/i18n/index.js.map +1 -1
  48. package/i18n/index.min.js +2 -2
  49. package/i18n/indonesian.js +1 -1
  50. package/i18n/indonesian.min.js +1 -1
  51. package/i18n/italian.js +1 -1
  52. package/i18n/italian.min.js +1 -1
  53. package/i18n/japanese.js +1 -1
  54. package/i18n/japanese.min.js +1 -1
  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 +26 -1
  116. package/modern.css.map +1 -1
  117. package/modern.fontless.css +26 -1
  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.js +1 -1
  123. package/plugins/bootstrap-integration.min.js +1 -1
  124. package/plugins/bootstrap-material-integration.js +1 -1
  125. package/plugins/bootstrap-material-integration.min.js +1 -1
  126. package/survey.core.js +305 -143
  127. package/survey.core.js.map +1 -1
  128. package/survey.core.min.js +3 -3
  129. package/survey.css +33 -1
  130. package/survey.css.map +1 -1
  131. package/survey.i18n.js +2 -1
  132. package/survey.i18n.js.map +1 -1
  133. package/survey.i18n.min.js +2 -2
  134. package/survey.min.css +2 -2
  135. package/themes/borderless-dark-panelless.js +1 -1
  136. package/themes/borderless-dark-panelless.min.js +1 -1
  137. package/themes/borderless-dark.js +1 -1
  138. package/themes/borderless-dark.min.js +1 -1
  139. package/themes/borderless-light-panelless..js +1 -1
  140. package/themes/borderless-light-panelless..min.js +1 -1
  141. package/themes/borderless-light.js +1 -1
  142. package/themes/borderless-light.min.js +1 -1
  143. package/themes/contrast-dark-panelless.js +1 -1
  144. package/themes/contrast-dark-panelless.min.js +1 -1
  145. package/themes/contrast-dark.js +1 -1
  146. package/themes/contrast-dark.min.js +1 -1
  147. package/themes/contrast-light-panelless.js +1 -1
  148. package/themes/contrast-light-panelless.min.js +1 -1
  149. package/themes/contrast-light.js +1 -1
  150. package/themes/contrast-light.min.js +1 -1
  151. package/themes/default-dark-panelless.js +1 -1
  152. package/themes/default-dark-panelless.min.js +1 -1
  153. package/themes/default-dark.js +1 -1
  154. package/themes/default-dark.min.js +1 -1
  155. package/themes/default-light-panelless.js +1 -1
  156. package/themes/default-light-panelless.min.js +1 -1
  157. package/themes/default-light.js +1 -1
  158. package/themes/default-light.min.js +1 -1
  159. package/themes/doubleborder-dark-panelless.js +1 -1
  160. package/themes/doubleborder-dark-panelless.min.js +1 -1
  161. package/themes/doubleborder-dark.js +1 -1
  162. package/themes/doubleborder-dark.min.js +1 -1
  163. package/themes/doubleborder-light-panelles.js +1 -1
  164. package/themes/doubleborder-light-panelles.min.js +1 -1
  165. package/themes/doubleborder-light.js +1 -1
  166. package/themes/doubleborder-light.min.js +1 -1
  167. package/themes/flat-dark-panelless.js +1 -1
  168. package/themes/flat-dark-panelless.min.js +1 -1
  169. package/themes/flat-dark.js +1 -1
  170. package/themes/flat-dark.min.js +1 -1
  171. package/themes/flat-light-panelless.js +1 -1
  172. package/themes/flat-light-panelless.min.js +1 -1
  173. package/themes/flat-light.js +1 -1
  174. package/themes/flat-light.min.js +1 -1
  175. package/themes/index.js +1 -1
  176. package/themes/index.min.js +1 -1
  177. package/themes/layered-dark-panelless.js +1 -1
  178. package/themes/layered-dark-panelless.min.js +1 -1
  179. package/themes/layered-dark.js +1 -1
  180. package/themes/layered-dark.min.js +1 -1
  181. package/themes/layered-light-panelless.js +1 -1
  182. package/themes/layered-light-panelless.min.js +1 -1
  183. package/themes/layered-light.js +1 -1
  184. package/themes/layered-light.min.js +1 -1
  185. package/themes/plain-dark-panelless.js +1 -1
  186. package/themes/plain-dark-panelless.min.js +1 -1
  187. package/themes/plain-dark.js +1 -1
  188. package/themes/plain-dark.min.js +1 -1
  189. package/themes/plain-light-panelless.js +1 -1
  190. package/themes/plain-light-panelless.min.js +1 -1
  191. package/themes/plain-light.js +1 -1
  192. package/themes/plain-light.min.js +1 -1
  193. package/themes/sharp-dark-panelless.js +1 -1
  194. package/themes/sharp-dark-panelless.min.js +1 -1
  195. package/themes/sharp-dark.js +1 -1
  196. package/themes/sharp-dark.min.js +1 -1
  197. package/themes/sharp-light-panelless.js +1 -1
  198. package/themes/sharp-light-panelless.min.js +1 -1
  199. package/themes/sharp-light.js +1 -1
  200. package/themes/sharp-light.min.js +1 -1
  201. package/themes/solid-dark-panelless.js +1 -1
  202. package/themes/solid-dark-panelless.min.js +1 -1
  203. package/themes/solid-dark.js +1 -1
  204. package/themes/solid-dark.min.js +1 -1
  205. package/themes/solid-light-panelless.js +1 -1
  206. package/themes/solid-light-panelless.min.js +1 -1
  207. package/themes/solid-light.js +1 -1
  208. package/themes/solid-light.min.js +1 -1
  209. package/themes/three-dimensional-dark-panelless.js +1 -1
  210. package/themes/three-dimensional-dark-panelless.min.js +1 -1
  211. package/themes/three-dimensional-dark.js +1 -1
  212. package/themes/three-dimensional-dark.min.js +1 -1
  213. package/themes/three-dimensional-light-panelless.js +1 -1
  214. package/themes/three-dimensional-light-panelless.min.js +1 -1
  215. package/themes/three-dimensional-light.js +1 -1
  216. package/themes/three-dimensional-light.min.js +1 -1
  217. package/ts3.4/typings/actions/action.d.ts +2 -1
  218. package/ts3.4/typings/base-interfaces.d.ts +1 -0
  219. package/ts3.4/typings/defaultCss/cssmodern.d.ts +1 -0
  220. package/ts3.4/typings/defaultCss/cssstandard.d.ts +1 -0
  221. package/ts3.4/typings/defaultCss/defaultV2Css.d.ts +1 -0
  222. package/ts3.4/typings/dragdrop/choices.d.ts +1 -0
  223. package/ts3.4/typings/dragdrop/ranking-choices.d.ts +1 -1
  224. package/ts3.4/typings/dropdownListModel.d.ts +2 -0
  225. package/ts3.4/typings/global_variables_utils.d.ts +3 -0
  226. package/ts3.4/typings/list.d.ts +2 -0
  227. package/ts3.4/typings/martixBase.d.ts +1 -0
  228. package/ts3.4/typings/mask/mask_base.d.ts +3 -0
  229. package/ts3.4/typings/panel.d.ts +4 -0
  230. package/ts3.4/typings/question.d.ts +4 -1
  231. package/ts3.4/typings/question_baseselect.d.ts +9 -0
  232. package/ts3.4/typings/question_boolean.d.ts +0 -4
  233. package/ts3.4/typings/question_checkbox.d.ts +1 -0
  234. package/ts3.4/typings/question_custom.d.ts +19 -2
  235. package/ts3.4/typings/question_expression.d.ts +1 -1
  236. package/ts3.4/typings/question_matrixdropdown.d.ts +2 -0
  237. package/ts3.4/typings/question_matrixdropdownbase.d.ts +5 -1
  238. package/ts3.4/typings/question_ranking.d.ts +2 -6
  239. package/ts3.4/typings/question_rating.d.ts +8 -3
  240. package/ts3.4/typings/settings.d.ts +10 -2
  241. package/ts3.4/typings/survey-events-api.d.ts +1 -0
  242. package/ts3.4/typings/survey.d.ts +16 -1
  243. package/ts3.4/typings/surveyStrings.d.ts +3 -0
  244. package/ts3.4/typings/utils/devices.d.ts +4 -0
  245. package/typings/actions/action.d.ts +2 -1
  246. package/typings/base-interfaces.d.ts +1 -0
  247. package/typings/defaultCss/cssmodern.d.ts +1 -0
  248. package/typings/defaultCss/cssstandard.d.ts +1 -0
  249. package/typings/defaultCss/defaultV2Css.d.ts +1 -0
  250. package/typings/dragdrop/choices.d.ts +1 -0
  251. package/typings/dragdrop/ranking-choices.d.ts +1 -1
  252. package/typings/dropdownListModel.d.ts +2 -0
  253. package/typings/global_variables_utils.d.ts +3 -0
  254. package/typings/list.d.ts +2 -0
  255. package/typings/martixBase.d.ts +1 -0
  256. package/typings/mask/mask_base.d.ts +3 -0
  257. package/typings/panel.d.ts +4 -0
  258. package/typings/question.d.ts +4 -1
  259. package/typings/question_baseselect.d.ts +9 -0
  260. package/typings/question_boolean.d.ts +0 -4
  261. package/typings/question_checkbox.d.ts +1 -0
  262. package/typings/question_custom.d.ts +19 -2
  263. package/typings/question_expression.d.ts +1 -1
  264. package/typings/question_matrixdropdown.d.ts +2 -0
  265. package/typings/question_matrixdropdownbase.d.ts +5 -1
  266. package/typings/question_ranking.d.ts +2 -7
  267. package/typings/question_rating.d.ts +8 -3
  268. package/typings/settings.d.ts +10 -2
  269. package/typings/survey-events-api.d.ts +1 -0
  270. package/typings/survey.d.ts +17 -1
  271. package/typings/surveyStrings.d.ts +3 -0
  272. package/typings/utils/devices.d.ts +4 -0
@@ -486,6 +486,11 @@ export declare class QuestionSelectBase extends Question {
486
486
  get hasHeadItems(): boolean;
487
487
  get hasFootItems(): boolean;
488
488
  get columns(): any[];
489
+ protected getObservedElementSelector(): string;
490
+ protected supportResponsiveness(): boolean;
491
+ allowMultiColumns: boolean;
492
+ protected onBeforeSetCompactRenderer(): void;
493
+ protected onBeforeSetDesktopRenderer(): void;
489
494
  get hasColumns(): boolean;
490
495
  get rowLayout(): boolean;
491
496
  get blockedRow(): boolean;
@@ -510,6 +515,10 @@ export declare class QuestionSelectBase extends Question {
510
515
  protected getDefaultItemComponent(): string;
511
516
  /**
512
517
  * The name of a component used to render items.
518
+ *
519
+ * [View Dropdown Demo](https://surveyjs.io/form-library/examples/dropdown-box-with-custom-items/ (linkStyle))
520
+ *
521
+ * [View Ranking Demo](https://surveyjs.io/form-library/examples/dropdown-box-with-custom-items/ (linkStyle))
513
522
  */
514
523
  get itemComponent(): string;
515
524
  set itemComponent(value: string);
@@ -31,10 +31,6 @@ export declare class QuestionBooleanModel extends Question {
31
31
  getDefaultValue(): any;
32
32
  get locTitle(): LocalizableString;
33
33
  get labelRenderedAriaID(): string;
34
- leftAnswerElement: HTMLElement;
35
- thumbMargin: string;
36
- updateThumbMargin(): void;
37
- afterRender(el: HTMLElement): void;
38
34
  beforeDestroyQuestionElement(el: HTMLElement): void;
39
35
  showTitle: boolean;
40
36
  label: string;
@@ -149,4 +149,5 @@ export declare class QuestionCheckboxModel extends QuestionCheckboxBase {
149
149
  get checkBoxSvgPath(): string;
150
150
  get isNewA11yStructure(): boolean;
151
151
  get a11y_input_ariaRole(): string;
152
+ get a11y_input_ariaRequired(): "true" | "false";
152
153
  }
@@ -150,7 +150,7 @@ export interface ICustomQuestionTypeConfiguration {
150
150
  */
151
151
  onPropertyChanged?(question: Question, propertyName: string, newValue: any): void;
152
152
  /**
153
- * A function that is called after the question value is changed.
153
+ * A function that is called after the question value is changed in the UI.
154
154
  *
155
155
  * Parameters:
156
156
  *
@@ -160,10 +160,12 @@ export interface ICustomQuestionTypeConfiguration {
160
160
  * The question's [name](https://surveyjs.io/Documentation/Library?id=Question#name).
161
161
  * - `newValue`: `any`\
162
162
  * A new value for the question.
163
+ *
164
+ * If you want to perform some actions when the value is changed in code as well as in the UI, implement the [`onValueSet`](https://surveyjs.io/form-library/documentation/api-reference/icustomquestiontypeconfiguration#onValueSet) function.
163
165
  */
164
166
  onValueChanged?(question: Question, name: string, newValue: any): void;
165
167
  /**
166
- * A function that is called before a question value is changed.
168
+ * A function that is called before a question value is changed in the UI.
167
169
  *
168
170
  * This function should return the value you want to save: `newValue`, a custom value, or `undefined` if you want to clear the question value.
169
171
  *
@@ -231,6 +233,21 @@ export interface ICustomQuestionTypeConfiguration {
231
233
  * @returns An error text.
232
234
  */
233
235
  getErrorText?: (question: Question) => string;
236
+ /**
237
+ * A function that is called after the question value is set.
238
+ *
239
+ * Parameters:
240
+ *
241
+ * - `question`: [Question](https://surveyjs.io/Documentation/Library?id=Question)\
242
+ * A custom question.
243
+ * - `newValue`: `any`\
244
+ * A new value for the question.
245
+ *
246
+ * Unlike the [`onValueChanged`](https://surveyjs.io/form-library/documentation/api-reference/icustomquestiontypeconfiguration#onValueChanged) function, which is called only when the question value is changed in the UI, `onValueSet` is called when the value is changed in code as well.
247
+ *
248
+ * [View Demo](https://surveyjs.io/survey-creator/examples/smart-search-input/ (linkStyle))
249
+ */
250
+ onValueSet?: (question: Question, newValue: any) => void;
234
251
  onSetQuestionValue?: (question: Question, newValue: any) => void;
235
252
  valueToQuestion?: (val: any) => any;
236
253
  valueFromQuestion?: (val: any) => any;
@@ -30,7 +30,7 @@ export declare class QuestionExpressionModel extends Question {
30
30
  unlocCalculation(): void;
31
31
  runCondition(values: HashTable<any>, properties: HashTable<any>): void;
32
32
  protected canCollectErrors(): boolean;
33
- protected hasRequiredError(): boolean;
33
+ hasRequiredError(): boolean;
34
34
  private createRunner;
35
35
  /**
36
36
  * The maximum number of fraction digits. Applies only if the `displayStyle` property is not `"none"`. Accepts values in the range from -1 to 20, where -1 disables the property.
@@ -9,6 +9,8 @@ export declare class MatrixDropdownRowModel extends MatrixDropdownRowModelBase {
9
9
  get rowName(): string;
10
10
  get text(): string;
11
11
  get locText(): LocalizableString;
12
+ isRowEnabled(): boolean;
13
+ protected isRowHasEnabledCondition(): boolean;
12
14
  }
13
15
  /**
14
16
  * 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.
@@ -34,6 +34,7 @@ export interface IMatrixDropdownData {
34
34
  onTotalValueChanged(): any;
35
35
  getSurvey(): ISurvey;
36
36
  getDataFilteredValues(): any;
37
+ isMatrixReadOnly(): boolean;
37
38
  }
38
39
  export declare class MatrixDropdownCell {
39
40
  column: MatrixDropdownColumn;
@@ -81,6 +82,8 @@ export declare class MatrixDropdownRowModelBase implements ISurveyData, ISurveyI
81
82
  get rowName(): any;
82
83
  get dataName(): string;
83
84
  get text(): any;
85
+ isRowEnabled(): boolean;
86
+ protected isRowHasEnabledCondition(): boolean;
84
87
  get value(): any;
85
88
  set value(value: any);
86
89
  get locText(): LocalizableString;
@@ -133,7 +136,7 @@ export declare class MatrixDropdownRowModelBase implements ISurveyData, ISurveyI
133
136
  locStrsChanged(): void;
134
137
  updateCellQuestionOnColumnChanged(column: MatrixDropdownColumn, name: string, newValue: any): void;
135
138
  updateCellQuestionOnColumnItemValueChanged(column: MatrixDropdownColumn, propertyName: string, obj: ItemValue, name: string, newValue: any, oldValue: any): void;
136
- onQuestionReadOnlyChanged(parentIsReadOnly: boolean): void;
139
+ onQuestionReadOnlyChanged(): void;
137
140
  private validationValues;
138
141
  hasErrors(fireCallback: boolean, rec: any, raiseOnCompletedAsyncValidators: () => void): boolean;
139
142
  protected updateCellOnColumnChanged(cell: MatrixDropdownCell, name: string, newValue: any): void;
@@ -512,6 +515,7 @@ export declare class QuestionMatrixDropdownModelBase extends QuestionMatrixBaseM
512
515
  onTotalValueChanged(): any;
513
516
  getDataFilteredValues(): any;
514
517
  getParentTextProcessor(): ITextProcessor;
518
+ isMatrixReadOnly(): boolean;
515
519
  getQuestionFromArray(name: string, index: number): IQuestion;
516
520
  private isMatrixValueEmpty;
517
521
  private get SurveyModel();
@@ -12,7 +12,6 @@ export declare class QuestionRankingModel extends QuestionCheckboxModel {
12
12
  private domNode;
13
13
  private dragOrClickHelper;
14
14
  constructor(name: string);
15
- protected getDefaultItemComponent(): string;
16
15
  getType(): string;
17
16
  getItemTabIndex(item: ItemValue): number;
18
17
  protected supportContainerQueries(): boolean;
@@ -57,7 +56,7 @@ export declare class QuestionRankingModel extends QuestionCheckboxModel {
57
56
  endLoadingFromJson(): void;
58
57
  private setDragDropRankingChoices;
59
58
  protected createDragDropRankingChoices(): DragDropRankingChoices;
60
- private draggedChoise;
59
+ private draggedChoiceValue;
61
60
  private draggedTargetNode;
62
61
  handlePointerDown: (event: PointerEvent, choice: ItemValue, node: HTMLElement) => void;
63
62
  startDrag: (event: PointerEvent) => void;
@@ -91,11 +90,7 @@ export declare class QuestionRankingModel extends QuestionCheckboxModel {
91
90
  */
92
91
  get longTap(): boolean;
93
92
  set longTap(val: boolean);
94
- /**
95
- * The name of a component used to render items.
96
- */
97
- get itemContentComponent(): string;
98
- set itemContentComponent(value: string);
93
+ protected getDefaultItemComponent(): string;
99
94
  /**
100
95
  * Specifies whether users can select choices they want to rank.
101
96
  *
@@ -252,9 +252,14 @@ export declare class QuestionRatingModel extends Question {
252
252
  getItemClassByText(item: ItemValue, text: string): string;
253
253
  private getRenderedItemColor;
254
254
  getItemStyle(item: ItemValue, highlight?: "none" | "highlighted" | "unhighlighted"): {
255
- borderColor: string;
256
- fill: string;
257
- backgroundColor: string;
255
+ "--sd-rating-item-color"?: undefined;
256
+ "--sd-rating-item-color-light"?: undefined;
257
+ } | {
258
+ "--sd-rating-item-color": string;
259
+ "--sd-rating-item-color-light": string;
260
+ } | {
261
+ "--sd-rating-item-color": string;
262
+ "--sd-rating-item-color-light"?: undefined;
258
263
  };
259
264
  getItemClass(item: ItemValue, highlight?: "none" | "highlighted" | "unhighlighted"): string;
260
265
  getControlClass(): string;
@@ -335,11 +335,19 @@ export declare var settings: {
335
335
  */
336
336
  ratingMaximumRateValueCount: number;
337
337
  /**
338
- * Specifies whether to close the drop-down menu of a [TagBox](https://surveyjs.io/form-library/examples/how-to-create-multiselect-tag-box/) question after a user selects a value.
338
+ * Specifies whether to close the drop-down menu of a [Multi-Select Dropdown (Tag Box)](https://surveyjs.io/form-library/examples/how-to-create-multiselect-tag-box/) question after a user selects a value.
339
339
  *
340
- * This setting applies to all TagBox questions on a page. You can use the [closeOnSelect](https://surveyjs.io/form-library/documentation/api-reference/dropdown-tag-box-model#closeOnSelect) property to specify the same setting for an individual TagBox question.
340
+ * This setting applies to all Multi-Select Dropdown questions on a web page. You can use the [`closeOnSelect`](https://surveyjs.io/form-library/documentation/api-reference/dropdown-tag-box-model#closeOnSelect) property to specify the same setting for an individual Multi-Select Dropdown question.
341
341
  */
342
342
  tagboxCloseOnSelect: boolean;
343
+ /**
344
+ * A time interval in milliseconds between the last entered character and the beginning of search in [Single-](https://surveyjs.io/form-library/examples/create-dropdown-menu-in-javascript/) and [Multi-Select Dropdown](https://surveyjs.io/form-library/examples/how-to-create-multiselect-tag-box/) questions. Applies only to questions with the [`choicesLazyLoadEnabled`](https://surveyjs.io/form-library/documentation/api-reference/dropdown-menu-model#choicesLazyLoadEnabled) property set to `true`.
345
+ *
346
+ * Default value: 500
347
+ *
348
+ * [View Demo](https://surveyjs.io/form-library/examples/lazy-loading-dropdown/ (linkStyle))
349
+ */
350
+ dropdownSearchDelay: number;
343
351
  /**
344
352
  * A function that activates a browser confirm dialog.
345
353
  *
@@ -946,6 +946,7 @@ export interface DragDropAllowEvent {
946
946
  * A Boolean property that you can set to `false` if you want to cancel the drag and drop operation.
947
947
  */
948
948
  allow: boolean;
949
+ allowMultipleElementsInRow?: boolean;
949
950
  /**
950
951
  * Obsolete. Use `options.draggedElement` instead.
951
952
  */
@@ -443,7 +443,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
443
443
  */
444
444
  onUpdatePageCssClasses: EventBase<SurveyModel, UpdatePageCssClassesEvent>;
445
445
  /**
446
- * An event that is raised before rendering a choice item in Radio Button Group, Checkboxes, and Dropdown questions. Use it to override default CSS classes applied to choice items.
446
+ * An event that is raised before rendering a choice item in Radio Button Group and Checkboxes questions. Use it to override default CSS classes applied to choice items.
447
447
  *
448
448
  * For information on event handler parameters, refer to descriptions within the interface.
449
449
  *
@@ -1050,6 +1050,8 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
1050
1050
  * - `"onValueChanged"` - Triggers validation each time a question value is changed.
1051
1051
  * - `"onComplete"` - Triggers validation when a user clicks the Complete button. If previous pages contain errors, the survey switches to the page with the first error.
1052
1052
  *
1053
+ * > The `"onValueChanged"` doesn't work with date input fields because of the way browsers process date values. In most browsers, the value is considered changed as soon as a user starts entering the date in a text input field. This means that a user may only enter the day without having the chance to enter the month and year before validation is triggered. For this reason, date input fields are validated before the survey is switched to the next page or completed.
1054
+ *
1053
1055
  * Refer to the following help topic for more information: [Data Validation](https://surveyjs.io/form-library/documentation/data-validation).
1054
1056
  * @see validationEnabled
1055
1057
  * @see validationAllowSwitchPages
@@ -1065,6 +1067,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
1065
1067
  *
1066
1068
  * You can override this property for individual Long Text questions: [`autoGrow`](https://surveyjs.io/form-library/documentation/api-reference/comment-field-model#autoGrow).
1067
1069
  * @see allowResizeComment
1070
+ * @see commentAreaRows
1068
1071
  */
1069
1072
  get autoGrowComment(): boolean;
1070
1073
  set autoGrowComment(val: boolean);
@@ -1075,9 +1078,21 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
1075
1078
  *
1076
1079
  * You can override this property for individual Long Text questions: [`allowResize`](https://surveyjs.io/form-library/documentation/api-reference/comment-field-model#allowResize).
1077
1080
  * @see autoGrowComment
1081
+ * @see commentAreaRows
1078
1082
  */
1079
1083
  get allowResizeComment(): boolean;
1080
1084
  set allowResizeComment(val: boolean);
1085
+ /**
1086
+ * Specifies the visible height of comment areas, measured in lines. Applies to the questions with the [`showCommentArea`](https://surveyjs.io/form-library/documentation/api-reference/question#showCommentArea) or [`showOtherItem`](https://surveyjs.io/form-library/documentation/api-reference/question#showOtherItem) property enabled.
1087
+ *
1088
+ * Default value: 2
1089
+ *
1090
+ * The value of this property is passed on to the `rows` attribute of the underlying `<textarea>` element.
1091
+ * @see autoGrowComment
1092
+ * @see allowResizeComment
1093
+ */
1094
+ get commentAreaRows(): number;
1095
+ set commentAreaRows(val: number);
1081
1096
  /**
1082
1097
  * Specifies when to update the question value in questions with a text input field.
1083
1098
  *
@@ -1138,6 +1153,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
1138
1153
  get locale(): string;
1139
1154
  set locale(value: string);
1140
1155
  private onSurveyLocaleChanged;
1156
+ get localeDir(): string;
1141
1157
  /**
1142
1158
  * Returns an array of locales whose translations are used in the survey.
1143
1159
  *
@@ -7,6 +7,9 @@ export declare var surveyLocalization: {
7
7
  localeNames: {
8
8
  [index: string]: any;
9
9
  };
10
+ localeDirections: {
11
+ [index: string]: any;
12
+ };
10
13
  supportedLocales: any[];
11
14
  currentLocale: string;
12
15
  defaultLocale: string;
@@ -6,3 +6,7 @@ export declare var mouseInfo: {
6
6
  };
7
7
  export declare let IsTouch: boolean;
8
8
  export declare function _setIsTouch(val: boolean): void;
9
+ export declare type MatchMediaMethod = ((query: string) => {
10
+ matches: boolean;
11
+ } | null) | null;
12
+ export declare function detectMouseSupport(matchMedia: MatchMediaMethod): boolean;