survey-core 1.11.4 → 1.11.6

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 (268) hide show
  1. package/defaultV2.css +130 -39
  2. package/defaultV2.css.map +1 -1
  3. package/defaultV2.fontless.css +130 -39
  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 +2 -2
  23. package/i18n/dutch.js.map +1 -1
  24. package/i18n/dutch.min.js +2 -2
  25. package/i18n/english.js +1 -1
  26. package/i18n/english.min.js +1 -1
  27. package/i18n/estonian.js +1 -1
  28. package/i18n/estonian.min.js +1 -1
  29. package/i18n/finnish.js +1 -1
  30. package/i18n/finnish.min.js +1 -1
  31. package/i18n/french.js +1 -1
  32. package/i18n/french.min.js +1 -1
  33. package/i18n/georgian.js +1 -1
  34. package/i18n/georgian.min.js +1 -1
  35. package/i18n/german.js +1 -1
  36. package/i18n/german.min.js +1 -1
  37. package/i18n/greek.js +1 -1
  38. package/i18n/greek.min.js +1 -1
  39. package/i18n/hebrew.js +1 -1
  40. package/i18n/hebrew.min.js +1 -1
  41. package/i18n/hindi.js +1 -1
  42. package/i18n/hindi.min.js +1 -1
  43. package/i18n/hungarian.js +1 -1
  44. package/i18n/hungarian.min.js +1 -1
  45. package/i18n/icelandic.js +1 -1
  46. package/i18n/icelandic.min.js +1 -1
  47. package/i18n/index.js +3 -2
  48. package/i18n/index.js.map +1 -1
  49. package/i18n/index.min.js +2 -2
  50. package/i18n/indonesian.js +1 -1
  51. package/i18n/indonesian.min.js +1 -1
  52. package/i18n/italian.js +1 -1
  53. package/i18n/italian.min.js +1 -1
  54. package/i18n/japanese.js +1 -1
  55. package/i18n/japanese.min.js +1 -1
  56. package/i18n/kazakh.js +1 -1
  57. package/i18n/kazakh.min.js +1 -1
  58. package/i18n/korean.js +1 -1
  59. package/i18n/korean.min.js +1 -1
  60. package/i18n/latvian.js +1 -1
  61. package/i18n/latvian.min.js +1 -1
  62. package/i18n/lithuanian.js +1 -1
  63. package/i18n/lithuanian.min.js +1 -1
  64. package/i18n/macedonian.js +1 -1
  65. package/i18n/macedonian.min.js +1 -1
  66. package/i18n/malay.js +1 -1
  67. package/i18n/malay.min.js +1 -1
  68. package/i18n/nl-BE.js +2 -2
  69. package/i18n/nl-BE.js.map +1 -1
  70. package/i18n/nl-BE.min.js +2 -2
  71. package/i18n/norwegian.js +1 -1
  72. package/i18n/norwegian.min.js +1 -1
  73. package/i18n/persian.js +1 -1
  74. package/i18n/persian.min.js +1 -1
  75. package/i18n/philippines.js +1 -1
  76. package/i18n/philippines.min.js +1 -1
  77. package/i18n/polish.js +1 -1
  78. package/i18n/polish.min.js +1 -1
  79. package/i18n/portuguese-br.js +1 -1
  80. package/i18n/portuguese-br.min.js +1 -1
  81. package/i18n/portuguese.js +1 -1
  82. package/i18n/portuguese.min.js +1 -1
  83. package/i18n/romanian.js +1 -1
  84. package/i18n/romanian.min.js +1 -1
  85. package/i18n/russian.js +1 -1
  86. package/i18n/russian.min.js +1 -1
  87. package/i18n/serbian.js +1 -1
  88. package/i18n/serbian.min.js +1 -1
  89. package/i18n/simplified-chinese.js +1 -1
  90. package/i18n/simplified-chinese.min.js +1 -1
  91. package/i18n/slovak.js +1 -1
  92. package/i18n/slovak.min.js +1 -1
  93. package/i18n/spanish.js +1 -1
  94. package/i18n/spanish.min.js +1 -1
  95. package/i18n/swahili.js +1 -1
  96. package/i18n/swahili.min.js +1 -1
  97. package/i18n/swedish.js +1 -1
  98. package/i18n/swedish.min.js +1 -1
  99. package/i18n/tajik.js +1 -1
  100. package/i18n/tajik.min.js +1 -1
  101. package/i18n/telugu.js +1 -1
  102. package/i18n/telugu.min.js +1 -1
  103. package/i18n/thai.js +1 -1
  104. package/i18n/thai.min.js +1 -1
  105. package/i18n/traditional-chinese.js +1 -1
  106. package/i18n/traditional-chinese.min.js +1 -1
  107. package/i18n/turkish.js +1 -1
  108. package/i18n/turkish.min.js +1 -1
  109. package/i18n/ukrainian.js +1 -1
  110. package/i18n/ukrainian.min.js +1 -1
  111. package/i18n/urdu.js +1 -1
  112. package/i18n/urdu.min.js +1 -1
  113. package/i18n/vietnamese.js +1 -1
  114. package/i18n/vietnamese.min.js +1 -1
  115. package/i18n/welsh.js +1 -1
  116. package/i18n/welsh.min.js +1 -1
  117. package/modern.css +26 -1
  118. package/modern.css.map +1 -1
  119. package/modern.fontless.css +26 -1
  120. package/modern.fontless.css.map +1 -1
  121. package/modern.fontless.min.css +2 -2
  122. package/modern.min.css +2 -2
  123. package/package.json +1 -1
  124. package/plugins/bootstrap-integration.js +1 -1
  125. package/plugins/bootstrap-integration.min.js +1 -1
  126. package/plugins/bootstrap-material-integration.js +1 -1
  127. package/plugins/bootstrap-material-integration.min.js +1 -1
  128. package/survey.core.js +299 -118
  129. package/survey.core.js.map +1 -1
  130. package/survey.core.min.js +3 -3
  131. package/survey.css +33 -1
  132. package/survey.css.map +1 -1
  133. package/survey.i18n.js +3 -2
  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/actions/action.d.ts +8 -1
  220. package/ts3.4/typings/base-interfaces.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 +0 -1
  225. package/ts3.4/typings/list.d.ts +2 -0
  226. package/ts3.4/typings/martixBase.d.ts +1 -0
  227. package/ts3.4/typings/panel.d.ts +2 -0
  228. package/ts3.4/typings/question.d.ts +4 -1
  229. package/ts3.4/typings/question_baseselect.d.ts +9 -0
  230. package/ts3.4/typings/question_checkbox.d.ts +1 -0
  231. package/ts3.4/typings/question_custom.d.ts +19 -2
  232. package/ts3.4/typings/question_expression.d.ts +1 -1
  233. package/ts3.4/typings/question_matrixdropdown.d.ts +2 -0
  234. package/ts3.4/typings/question_matrixdropdownbase.d.ts +5 -1
  235. package/ts3.4/typings/question_paneldynamic.d.ts +1 -1
  236. package/ts3.4/typings/question_ranking.d.ts +1 -4
  237. package/ts3.4/typings/question_rating.d.ts +8 -3
  238. package/ts3.4/typings/settings.d.ts +9 -2
  239. package/ts3.4/typings/survey-element.d.ts +20 -15
  240. package/ts3.4/typings/survey-events-api.d.ts +1 -0
  241. package/ts3.4/typings/survey.d.ts +31 -0
  242. package/ts3.4/typings/surveyStrings.d.ts +3 -0
  243. package/typings/actions/action.d.ts +8 -1
  244. package/typings/base-interfaces.d.ts +1 -0
  245. package/typings/defaultCss/defaultV2Css.d.ts +1 -0
  246. package/typings/dragdrop/choices.d.ts +1 -0
  247. package/typings/dragdrop/ranking-choices.d.ts +1 -1
  248. package/typings/dropdownListModel.d.ts +0 -1
  249. package/typings/knockout/kobase.d.ts +8 -8
  250. package/typings/knockout/kopage.d.ts +37 -37
  251. package/typings/list.d.ts +2 -0
  252. package/typings/martixBase.d.ts +1 -0
  253. package/typings/panel.d.ts +2 -0
  254. package/typings/question.d.ts +4 -1
  255. package/typings/question_baseselect.d.ts +9 -0
  256. package/typings/question_checkbox.d.ts +1 -0
  257. package/typings/question_custom.d.ts +19 -2
  258. package/typings/question_expression.d.ts +1 -1
  259. package/typings/question_matrixdropdown.d.ts +2 -0
  260. package/typings/question_matrixdropdownbase.d.ts +5 -1
  261. package/typings/question_paneldynamic.d.ts +1 -1
  262. package/typings/question_ranking.d.ts +1 -4
  263. package/typings/question_rating.d.ts +8 -3
  264. package/typings/settings.d.ts +9 -2
  265. package/typings/survey-element.d.ts +20 -15
  266. package/typings/survey-events-api.d.ts +1 -0
  267. package/typings/survey.d.ts +32 -0
  268. package/typings/surveyStrings.d.ts +3 -0
@@ -490,6 +490,7 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
490
490
  set hasOther(val: boolean);
491
491
  protected hasOtherChanged(): void;
492
492
  get requireUpdateCommentValue(): boolean;
493
+ readOnlyCallback: () => boolean;
493
494
  get isReadOnly(): boolean;
494
495
  get isInputReadOnly(): boolean;
495
496
  get renderedInputReadOnly(): string;
@@ -527,6 +528,7 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
527
528
  protected initDataFromSurvey(): void;
528
529
  protected initCommentFromSurvey(): void;
529
530
  protected runExpression(expression: string): any;
531
+ get commentAreaRows(): number;
530
532
  private get autoGrowComment();
531
533
  private get allowResizeComment();
532
534
  private get questionValue();
@@ -727,6 +729,7 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
727
729
  protected isValueExpression(val: any): boolean;
728
730
  protected setValueAndRunExpression(runner: ExpressionRunner, defaultValue: any, setFunc: (val: any) => void, values?: HashTable<any>, properties?: HashTable<any>): void;
729
731
  protected convertFuncValuetoQuestionValue(val: any): any;
732
+ private runExpressionSetValueCore;
730
733
  private runExpressionSetValue;
731
734
  private runDefaultValueExpression;
732
735
  /**
@@ -788,7 +791,7 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
788
791
  protected canRunValidators(isOnValueChanged: boolean): boolean;
789
792
  private fireSurveyValidation;
790
793
  protected onCheckForErrors(errors: Array<SurveyError>, isOnValueChanged: boolean): void;
791
- protected hasRequiredError(): boolean;
794
+ hasRequiredError(): boolean;
792
795
  private validatorRunner;
793
796
  private isRunningValidatorsValue;
794
797
  onCompletedAsyncValidators: (hasErrors: boolean) => void;
@@ -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);
@@ -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();
@@ -562,7 +562,7 @@ export declare class QuestionPanelDynamicModel extends Question implements IQues
562
562
  private removedPanelIndex;
563
563
  removePanel(value: any): void;
564
564
  private getVisualPanelIndex;
565
- private getPanelIndexById;
565
+ private getPanelVisibleIndexById;
566
566
  locStrsChanged(): void;
567
567
  clearIncorrectValues(): void;
568
568
  clearErrors(): void;
@@ -56,7 +56,7 @@ export declare class QuestionRankingModel extends QuestionCheckboxModel {
56
56
  endLoadingFromJson(): void;
57
57
  private setDragDropRankingChoices;
58
58
  protected createDragDropRankingChoices(): DragDropRankingChoices;
59
- private draggedChoise;
59
+ private draggedChoiceValue;
60
60
  private draggedTargetNode;
61
61
  handlePointerDown: (event: PointerEvent, choice: ItemValue, node: HTMLElement) => void;
62
62
  startDrag: (event: PointerEvent) => void;
@@ -90,9 +90,6 @@ export declare class QuestionRankingModel extends QuestionCheckboxModel {
90
90
  */
91
91
  get longTap(): boolean;
92
92
  set longTap(val: boolean);
93
- /**
94
- * The name of a component used to render items.
95
- */
96
93
  protected getDefaultItemComponent(): string;
97
94
  /**
98
95
  * Specifies whether users can select choices they want to rank.
@@ -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,18 @@ 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
+ */
343
350
  dropdownSearchDelay: number;
344
351
  /**
345
352
  * A function that activates a browser confirm dialog.
@@ -11,6 +11,26 @@ import { ActionContainer } from "./actions/container";
11
11
  export declare abstract class SurveyElementCore extends Base implements ILocalizableOwner {
12
12
  constructor();
13
13
  protected createLocTitleProperty(): LocalizableString;
14
+ /**
15
+ * Returns `true` if the survey element is a page.
16
+ * @see Base.getType
17
+ */
18
+ get isPage(): boolean;
19
+ /**
20
+ * Returns `true` if the survey element is a panel.
21
+ * @see Base.getType
22
+ */
23
+ get isPanel(): boolean;
24
+ /**
25
+ * Returns `true` if the survey element is a question.
26
+ * @see Base.getType
27
+ */
28
+ get isQuestion(): boolean;
29
+ /**
30
+ * Returns `true` if the element is a survey.
31
+ * @see Base.getType
32
+ */
33
+ get isSurvey(): boolean;
14
34
  /**
15
35
  * A title for the survey element. If `title` is undefined, the `name` property value is displayed instead.
16
36
  *
@@ -278,21 +298,6 @@ export declare class SurveyElement<E = any> extends SurveyElementCore implements
278
298
  onFirstRendering(): void;
279
299
  endLoadingFromJson(): void;
280
300
  setVisibleIndex(index: number): number;
281
- /**
282
- * Returns `true` if the survey element is a page.
283
- * @see Base.getType
284
- */
285
- get isPage(): boolean;
286
- /**
287
- * Returns `true` if the survey element is a panel.
288
- * @see Base.getType
289
- */
290
- get isPanel(): boolean;
291
- /**
292
- * Returns `true` if the survey element is a question.
293
- * @see Base.getType
294
- */
295
- get isQuestion(): boolean;
296
301
  delete(doDispose: boolean): void;
297
302
  locOwner: ILocalizableOwner;
298
303
  /**
@@ -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
+ allowDropNextToAnother?: boolean;
949
950
  /**
950
951
  * Obsolete. Use `options.draggedElement` instead.
951
952
  */
@@ -1067,6 +1067,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
1067
1067
  *
1068
1068
  * You can override this property for individual Long Text questions: [`autoGrow`](https://surveyjs.io/form-library/documentation/api-reference/comment-field-model#autoGrow).
1069
1069
  * @see allowResizeComment
1070
+ * @see commentAreaRows
1070
1071
  */
1071
1072
  get autoGrowComment(): boolean;
1072
1073
  set autoGrowComment(val: boolean);
@@ -1077,9 +1078,21 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
1077
1078
  *
1078
1079
  * You can override this property for individual Long Text questions: [`allowResize`](https://surveyjs.io/form-library/documentation/api-reference/comment-field-model#allowResize).
1079
1080
  * @see autoGrowComment
1081
+ * @see commentAreaRows
1080
1082
  */
1081
1083
  get allowResizeComment(): boolean;
1082
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);
1083
1096
  /**
1084
1097
  * Specifies when to update the question value in questions with a text input field.
1085
1098
  *
@@ -1140,6 +1153,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
1140
1153
  get locale(): string;
1141
1154
  set locale(value: string);
1142
1155
  private onSurveyLocaleChanged;
1156
+ get localeDir(): string;
1143
1157
  /**
1144
1158
  * Returns an array of locales whose translations are used in the survey.
1145
1159
  *
@@ -1583,6 +1597,24 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
1583
1597
  */
1584
1598
  mergeData(data: any): void;
1585
1599
  setDataCore(data: any, clearData?: boolean): void;
1600
+ get isSurvey(): boolean;
1601
+ /**
1602
+ * Returns an object with survey results.
1603
+ *
1604
+ * If you want to get a survey results object that mirrors the survey structure, call the `getData()` method with an object that has the `includePages` and `includePanels` properties enabled. Without this object, the `getData()` method returns the [`data`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#data) property value.
1605
+ *
1606
+ * ```js
1607
+ * import { Model } from "survey-core";
1608
+ *
1609
+ * const surveyJson = { ... };
1610
+ * const survey = new Model(surveyJson);
1611
+ * survey.getData({ includePages: true, includePanels: true });
1612
+ * ```
1613
+ */
1614
+ getData(options?: {
1615
+ includePages?: boolean;
1616
+ includePanels?: boolean;
1617
+ }): any;
1586
1618
  getStructuredData(includePages?: boolean, level?: number): any;
1587
1619
  setStructuredData(data: any, doMerge?: boolean): void;
1588
1620
  private collectDataFromPanel;
@@ -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;