survey-core 2.0.0-rc.1 → 2.0.0-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (211) hide show
  1. package/default.css +11 -1
  2. package/default.css.map +1 -1
  3. package/default.fontless.css +11 -1
  4. package/default.fontless.css.map +1 -1
  5. package/default.fontless.min.css +2 -2
  6. package/default.min.css +2 -2
  7. package/i18n/arabic.js +1 -1
  8. package/i18n/arabic.min.js.LICENSE.txt +1 -1
  9. package/i18n/basque.js +1 -1
  10. package/i18n/basque.min.js.LICENSE.txt +1 -1
  11. package/i18n/bulgarian.js +1 -1
  12. package/i18n/bulgarian.min.js.LICENSE.txt +1 -1
  13. package/i18n/burmese.js +1 -1
  14. package/i18n/burmese.min.js.LICENSE.txt +1 -1
  15. package/i18n/catalan.js +1 -1
  16. package/i18n/catalan.min.js.LICENSE.txt +1 -1
  17. package/i18n/croatian.js +1 -1
  18. package/i18n/croatian.min.js.LICENSE.txt +1 -1
  19. package/i18n/czech.js +1 -1
  20. package/i18n/czech.min.js.LICENSE.txt +1 -1
  21. package/i18n/danish.js +1 -1
  22. package/i18n/danish.min.js.LICENSE.txt +1 -1
  23. package/i18n/dutch.js +1 -1
  24. package/i18n/dutch.min.js.LICENSE.txt +1 -1
  25. package/i18n/english.js +1 -1
  26. package/i18n/english.min.js.LICENSE.txt +1 -1
  27. package/i18n/estonian.js +1 -1
  28. package/i18n/estonian.min.js.LICENSE.txt +1 -1
  29. package/i18n/finnish.js +1 -1
  30. package/i18n/finnish.min.js.LICENSE.txt +1 -1
  31. package/i18n/french.js +1 -1
  32. package/i18n/french.min.js.LICENSE.txt +1 -1
  33. package/i18n/georgian.js +1 -1
  34. package/i18n/georgian.min.js.LICENSE.txt +1 -1
  35. package/i18n/german.js +1 -1
  36. package/i18n/german.min.js.LICENSE.txt +1 -1
  37. package/i18n/greek.js +1 -1
  38. package/i18n/greek.min.js.LICENSE.txt +1 -1
  39. package/i18n/hebrew.js +1 -1
  40. package/i18n/hebrew.min.js.LICENSE.txt +1 -1
  41. package/i18n/hindi.js +1 -1
  42. package/i18n/hindi.min.js.LICENSE.txt +1 -1
  43. package/i18n/hungarian.js +1 -1
  44. package/i18n/hungarian.min.js.LICENSE.txt +1 -1
  45. package/i18n/icelandic.js +1 -1
  46. package/i18n/icelandic.min.js.LICENSE.txt +1 -1
  47. package/i18n/index.js +1 -1
  48. package/i18n/index.min.js.LICENSE.txt +1 -1
  49. package/i18n/indonesian.js +1 -1
  50. package/i18n/indonesian.min.js.LICENSE.txt +1 -1
  51. package/i18n/italian.js +1 -1
  52. package/i18n/italian.min.js.LICENSE.txt +1 -1
  53. package/i18n/japanese.js +1 -1
  54. package/i18n/japanese.min.js.LICENSE.txt +1 -1
  55. package/i18n/kazakh.js +1 -1
  56. package/i18n/kazakh.min.js.LICENSE.txt +1 -1
  57. package/i18n/korean.js +1 -1
  58. package/i18n/korean.min.js.LICENSE.txt +1 -1
  59. package/i18n/latvian.js +1 -1
  60. package/i18n/latvian.min.js.LICENSE.txt +1 -1
  61. package/i18n/lithuanian.js +1 -1
  62. package/i18n/lithuanian.min.js.LICENSE.txt +1 -1
  63. package/i18n/macedonian.js +1 -1
  64. package/i18n/macedonian.min.js.LICENSE.txt +1 -1
  65. package/i18n/malay.js +1 -1
  66. package/i18n/malay.min.js.LICENSE.txt +1 -1
  67. package/i18n/nl-BE.js +1 -1
  68. package/i18n/nl-BE.min.js.LICENSE.txt +1 -1
  69. package/i18n/norwegian.js +1 -1
  70. package/i18n/norwegian.min.js.LICENSE.txt +1 -1
  71. package/i18n/persian.js +1 -1
  72. package/i18n/persian.min.js.LICENSE.txt +1 -1
  73. package/i18n/philippines.js +1 -1
  74. package/i18n/philippines.min.js.LICENSE.txt +1 -1
  75. package/i18n/polish.js +1 -1
  76. package/i18n/polish.min.js.LICENSE.txt +1 -1
  77. package/i18n/portuguese-br.js +1 -1
  78. package/i18n/portuguese-br.min.js.LICENSE.txt +1 -1
  79. package/i18n/portuguese.js +1 -1
  80. package/i18n/portuguese.min.js.LICENSE.txt +1 -1
  81. package/i18n/romanian.js +1 -1
  82. package/i18n/romanian.min.js.LICENSE.txt +1 -1
  83. package/i18n/russian.js +1 -1
  84. package/i18n/russian.min.js.LICENSE.txt +1 -1
  85. package/i18n/serbian.js +1 -1
  86. package/i18n/serbian.min.js.LICENSE.txt +1 -1
  87. package/i18n/simplified-chinese.js +1 -1
  88. package/i18n/simplified-chinese.min.js.LICENSE.txt +1 -1
  89. package/i18n/slovak.js +1 -1
  90. package/i18n/slovak.min.js.LICENSE.txt +1 -1
  91. package/i18n/spanish.js +1 -1
  92. package/i18n/spanish.min.js.LICENSE.txt +1 -1
  93. package/i18n/swahili.js +1 -1
  94. package/i18n/swahili.min.js.LICENSE.txt +1 -1
  95. package/i18n/swedish.js +1 -1
  96. package/i18n/swedish.min.js.LICENSE.txt +1 -1
  97. package/i18n/tajik.js +1 -1
  98. package/i18n/tajik.min.js.LICENSE.txt +1 -1
  99. package/i18n/telugu.js +1 -1
  100. package/i18n/telugu.min.js.LICENSE.txt +1 -1
  101. package/i18n/thai.js +1 -1
  102. package/i18n/thai.min.js.LICENSE.txt +1 -1
  103. package/i18n/traditional-chinese.js +1 -1
  104. package/i18n/traditional-chinese.min.js.LICENSE.txt +1 -1
  105. package/i18n/turkish.js +1 -1
  106. package/i18n/turkish.min.js.LICENSE.txt +1 -1
  107. package/i18n/ukrainian.js +1 -1
  108. package/i18n/ukrainian.min.js.LICENSE.txt +1 -1
  109. package/i18n/urdu.js +1 -1
  110. package/i18n/urdu.min.js.LICENSE.txt +1 -1
  111. package/i18n/vietnamese.js +1 -1
  112. package/i18n/vietnamese.min.js.LICENSE.txt +1 -1
  113. package/i18n/welsh.js +1 -1
  114. package/i18n/welsh.min.js.LICENSE.txt +1 -1
  115. package/icons/iconsV1.js +1 -1
  116. package/icons/iconsV1.min.js.LICENSE.txt +1 -1
  117. package/icons/iconsV2.js +1 -1
  118. package/icons/iconsV2.min.js.LICENSE.txt +1 -1
  119. package/package.json +1 -1
  120. package/survey.core.js +78 -14
  121. package/survey.core.js.map +1 -1
  122. package/survey.core.min.js +1 -1
  123. package/survey.core.min.js.LICENSE.txt +1 -1
  124. package/survey.i18n.js +1 -1
  125. package/survey.i18n.min.js.LICENSE.txt +1 -1
  126. package/themes/borderless-dark-panelless.js +1 -1
  127. package/themes/borderless-dark-panelless.min.js.LICENSE.txt +1 -1
  128. package/themes/borderless-dark.js +1 -1
  129. package/themes/borderless-dark.min.js.LICENSE.txt +1 -1
  130. package/themes/borderless-light-panelless.js +1 -1
  131. package/themes/borderless-light-panelless.min.js.LICENSE.txt +1 -1
  132. package/themes/borderless-light.js +1 -1
  133. package/themes/borderless-light.min.js.LICENSE.txt +1 -1
  134. package/themes/contrast-dark-panelless.js +1 -1
  135. package/themes/contrast-dark-panelless.min.js.LICENSE.txt +1 -1
  136. package/themes/contrast-dark.js +1 -1
  137. package/themes/contrast-dark.min.js.LICENSE.txt +1 -1
  138. package/themes/contrast-light-panelless.js +1 -1
  139. package/themes/contrast-light-panelless.min.js.LICENSE.txt +1 -1
  140. package/themes/contrast-light.js +1 -1
  141. package/themes/contrast-light.min.js.LICENSE.txt +1 -1
  142. package/themes/default-dark-panelless.js +1 -1
  143. package/themes/default-dark-panelless.min.js.LICENSE.txt +1 -1
  144. package/themes/default-dark.js +1 -1
  145. package/themes/default-dark.min.js.LICENSE.txt +1 -1
  146. package/themes/default-light-panelless.js +1 -1
  147. package/themes/default-light-panelless.min.js.LICENSE.txt +1 -1
  148. package/themes/default-light.js +1 -1
  149. package/themes/default-light.min.js.LICENSE.txt +1 -1
  150. package/themes/doubleborder-dark-panelless.js +1 -1
  151. package/themes/doubleborder-dark-panelless.min.js.LICENSE.txt +1 -1
  152. package/themes/doubleborder-dark.js +1 -1
  153. package/themes/doubleborder-dark.min.js.LICENSE.txt +1 -1
  154. package/themes/doubleborder-light-panelles.js +1 -1
  155. package/themes/doubleborder-light-panelles.min.js.LICENSE.txt +1 -1
  156. package/themes/doubleborder-light.js +1 -1
  157. package/themes/doubleborder-light.min.js.LICENSE.txt +1 -1
  158. package/themes/flat-dark-panelless.js +1 -1
  159. package/themes/flat-dark-panelless.min.js.LICENSE.txt +1 -1
  160. package/themes/flat-dark.js +1 -1
  161. package/themes/flat-dark.min.js.LICENSE.txt +1 -1
  162. package/themes/flat-light-panelless.js +1 -1
  163. package/themes/flat-light-panelless.min.js.LICENSE.txt +1 -1
  164. package/themes/flat-light.js +1 -1
  165. package/themes/flat-light.min.js.LICENSE.txt +1 -1
  166. package/themes/index.js +1 -1
  167. package/themes/index.min.js.LICENSE.txt +1 -1
  168. package/themes/layered-dark-panelless.js +1 -1
  169. package/themes/layered-dark-panelless.min.js.LICENSE.txt +1 -1
  170. package/themes/layered-dark.js +1 -1
  171. package/themes/layered-dark.min.js.LICENSE.txt +1 -1
  172. package/themes/layered-light-panelless.js +1 -1
  173. package/themes/layered-light-panelless.min.js.LICENSE.txt +1 -1
  174. package/themes/layered-light.js +1 -1
  175. package/themes/layered-light.min.js.LICENSE.txt +1 -1
  176. package/themes/plain-dark-panelless.js +1 -1
  177. package/themes/plain-dark-panelless.min.js.LICENSE.txt +1 -1
  178. package/themes/plain-dark.js +1 -1
  179. package/themes/plain-dark.min.js.LICENSE.txt +1 -1
  180. package/themes/plain-light-panelless.js +1 -1
  181. package/themes/plain-light-panelless.min.js.LICENSE.txt +1 -1
  182. package/themes/plain-light.js +1 -1
  183. package/themes/plain-light.min.js.LICENSE.txt +1 -1
  184. package/themes/sharp-dark-panelless.js +1 -1
  185. package/themes/sharp-dark-panelless.min.js.LICENSE.txt +1 -1
  186. package/themes/sharp-dark.js +1 -1
  187. package/themes/sharp-dark.min.js.LICENSE.txt +1 -1
  188. package/themes/sharp-light-panelless.js +1 -1
  189. package/themes/sharp-light-panelless.min.js.LICENSE.txt +1 -1
  190. package/themes/sharp-light.js +1 -1
  191. package/themes/sharp-light.min.js.LICENSE.txt +1 -1
  192. package/themes/solid-dark-panelless.js +1 -1
  193. package/themes/solid-dark-panelless.min.js.LICENSE.txt +1 -1
  194. package/themes/solid-dark.js +1 -1
  195. package/themes/solid-dark.min.js.LICENSE.txt +1 -1
  196. package/themes/solid-light-panelless.js +1 -1
  197. package/themes/solid-light-panelless.min.js.LICENSE.txt +1 -1
  198. package/themes/solid-light.js +1 -1
  199. package/themes/solid-light.min.js.LICENSE.txt +1 -1
  200. package/themes/three-dimensional-dark-panelless.js +1 -1
  201. package/themes/three-dimensional-dark-panelless.min.js.LICENSE.txt +1 -1
  202. package/themes/three-dimensional-dark.js +1 -1
  203. package/themes/three-dimensional-dark.min.js.LICENSE.txt +1 -1
  204. package/themes/three-dimensional-light-panelless.js +1 -1
  205. package/themes/three-dimensional-light-panelless.min.js.LICENSE.txt +1 -1
  206. package/themes/three-dimensional-light.js +1 -1
  207. package/themes/three-dimensional-light.min.js.LICENSE.txt +1 -1
  208. package/typings/src/panel.d.ts +16 -2
  209. package/typings/src/question_custom.d.ts +3 -0
  210. package/typings/src/survey-element.d.ts +5 -0
  211. package/typings/src/survey.d.ts +8 -0
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - Survey JavaScript library v2.0.0-rc.1
2
+ * surveyjs - Survey JavaScript library v2.0.0-rc.2
3
3
  * Copyright (c) 2015-2025 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - Survey JavaScript library v2.0.0-rc.1
2
+ * surveyjs - Survey JavaScript library v2.0.0-rc.2
3
3
  * Copyright (c) 2015-2025 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - Survey JavaScript library v2.0.0-rc.1
2
+ * surveyjs - Survey JavaScript library v2.0.0-rc.2
3
3
  * Copyright (c) 2015-2025 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - Survey JavaScript library v2.0.0-rc.1
2
+ * surveyjs - Survey JavaScript library v2.0.0-rc.2
3
3
  * Copyright (c) 2015-2025 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - Survey JavaScript library v2.0.0-rc.1
2
+ * surveyjs - Survey JavaScript library v2.0.0-rc.2
3
3
  * Copyright (c) 2015-2025 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - Survey JavaScript library v2.0.0-rc.1
2
+ * surveyjs - Survey JavaScript library v2.0.0-rc.2
3
3
  * Copyright (c) 2015-2025 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - Survey JavaScript library v2.0.0-rc.1
2
+ * surveyjs - Survey JavaScript library v2.0.0-rc.2
3
3
  * Copyright (c) 2015-2025 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - Survey JavaScript library v2.0.0-rc.1
2
+ * surveyjs - Survey JavaScript library v2.0.0-rc.2
3
3
  * Copyright (c) 2015-2025 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - Survey JavaScript library v2.0.0-rc.1
2
+ * surveyjs - Survey JavaScript library v2.0.0-rc.2
3
3
  * Copyright (c) 2015-2025 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - Survey JavaScript library v2.0.0-rc.1
2
+ * surveyjs - Survey JavaScript library v2.0.0-rc.2
3
3
  * Copyright (c) 2015-2025 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - Survey JavaScript library v2.0.0-rc.1
2
+ * surveyjs - Survey JavaScript library v2.0.0-rc.2
3
3
  * Copyright (c) 2015-2025 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
5
5
  */
@@ -53,7 +53,7 @@ export declare class QuestionRowModel extends Base {
53
53
  getRootElement(): HTMLElement;
54
54
  }
55
55
  /**
56
- * A base class for the [PanelModel](https://surveyjs.io/form-library/documentation/panelmodel) and [PageModel](https://surveyjs.io/form-library/documentation/pagemodel) classes.
56
+ * A base class for the [`PanelModel`](https://surveyjs.io/form-library/documentation/panelmodel) and [`PageModel`](https://surveyjs.io/form-library/documentation/pagemodel) classes.
57
57
  */
58
58
  export declare class PanelModelBase extends SurveyElement<Question> implements IPanel, IConditionRunner, ISurveyErrorOwner, ITitleOwner {
59
59
  private static panelCounter;
@@ -63,6 +63,19 @@ export declare class PanelModelBase extends SurveyElement<Question> implements I
63
63
  private questionsValue;
64
64
  private _columns;
65
65
  private _columnsReady;
66
+ /**
67
+ * An array of columns used to arrange survey elements within this page or panel. Applies only if you set the `SurveyModel`'s [`gridLayoutEnabled`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#gridLayoutEnabled) property to `true`.
68
+ *
69
+ * Each object in this array configures a single layout column and has the following properties:
70
+ *
71
+ * - `width`: `number`\
72
+ * Column width, in percentage.
73
+ *
74
+ * - `questionTitleWidth`: `string`\
75
+ * The width of question titles, in pixels.
76
+ *
77
+ * The `gridLayoutColumns` array is generated automatically based on the maximum number of questions and panels in the same row. To arrange the survey elements in one or several rows, disable the [`startWithNewLine`](https://surveyjs.io/form-library/documentation/api-reference/question#startWithNewLine) property for those elements that should occupy the same row as the previous question or panel. You can also set the [`colSpan`](https://surveyjs.io/form-library/documentation/api-reference/question#colSpan) property for individual questions and panels to specify how many layout columns they span.
78
+ */
66
79
  gridLayoutColumns: Array<PanelLayoutColumnModel>;
67
80
  addElementCallback: (element: IElement) => void;
68
81
  removeElementCallback: (element: IElement) => void;
@@ -134,7 +147,7 @@ export declare class PanelModelBase extends SurveyElement<Question> implements I
134
147
  set questionsOrder(val: string);
135
148
  private canRandomize;
136
149
  protected isRandomizing: boolean;
137
- randomizeElements(isRandom: boolean): void;
150
+ randomizeElements(isRandom: boolean): boolean;
138
151
  /**
139
152
  * Returns `true` if elements in this panel/page are arranged in random order.
140
153
  * @see questionOrder
@@ -271,6 +284,7 @@ export declare class PanelModelBase extends SurveyElement<Question> implements I
271
284
  protected getContainsErrors(): boolean;
272
285
  updateElementVisibility(): void;
273
286
  getFirstQuestionToFocus(withError?: boolean, ignoreCollapseState?: boolean): Question;
287
+ getFirstVisibleQuestion(): Question;
274
288
  /**
275
289
  * Focuses the first question in this panel/page.
276
290
  * @see focusFirstErrorQuestion
@@ -434,6 +434,9 @@ export declare class QuestionCompositeModel extends QuestionCustomModelBase {
434
434
  protected getQuestionByName(name: string): IQuestion;
435
435
  private settingNewValue;
436
436
  setValue(name: string, newValue: any, locNotification: any, allowNotifyValueChanged?: boolean): any;
437
+ setComment(name: string, newValue: string, locNotification: any): any;
438
+ getComment(name: string): string;
439
+ private getCommentName;
437
440
  private runPanelTriggers;
438
441
  getFilteredValues(): any;
439
442
  private updateValueCoreWithPanelValue;
@@ -124,6 +124,11 @@ export declare class SurveyElement<E = any> extends SurveyElementCore implements
124
124
  static CreateDisabledDesignElements: boolean;
125
125
  disableDesignActions: boolean;
126
126
  effectiveColSpan: number;
127
+ /**
128
+ * Specifies how many columns this survey element spans in the grid layout. Applies only if you set the `SurveyModel`'s [`gridLayoutEnabled`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#gridLayoutEnabled) property to `true` and define the [`gridLayoutColumns`](https://surveyjs.io/form-library/documentation/api-reference/page-model#gridLayoutColumns) array for the parent page or panel.
129
+ *
130
+ * Default value: 1
131
+ */
127
132
  get colSpan(): number;
128
133
  set colSpan(val: number);
129
134
  constructor(name: string);
@@ -2091,6 +2091,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
2091
2091
  performNext(): boolean;
2092
2092
  performPrevious(): boolean;
2093
2093
  private hasErrorsOnNavigate;
2094
+ private canGoTroughValidation;
2094
2095
  private asyncValidationQuesitons;
2095
2096
  private checkForAsyncQuestionValidation;
2096
2097
  private clearAsyncValidationQuesitons;
@@ -2905,6 +2906,13 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
2905
2906
  */
2906
2907
  get showTimerPanelMode(): string;
2907
2908
  set showTimerPanelMode(val: string);
2909
+ /**
2910
+ * Enables the grid layout, which structures form elements using a column-based system.
2911
+ *
2912
+ * Default value: `false`
2913
+ *
2914
+ * Specify the [`gridLayoutColumns`](https://surveyjs.io/form-library/documentation/api-reference/page-model#gridLayoutColumns) property for pages and panels to configure layout columns. Set the [`colSpan`](https://surveyjs.io/form-library/documentation/api-reference/question#colSpan) property for an individual question or panel to adjust how many columns this survey element spans.
2915
+ */
2908
2916
  gridLayoutEnabled: boolean;
2909
2917
  updateGridColumns(): void;
2910
2918
  /**