survey-core 1.11.7 → 1.11.9

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 (250) hide show
  1. package/defaultV2.css +9 -9
  2. package/defaultV2.css.map +1 -1
  3. package/defaultV2.fontless.css +9 -9
  4. package/defaultV2.fontless.css.map +1 -1
  5. package/defaultV2.fontless.min.css +2 -2
  6. package/defaultV2.min.css +2 -2
  7. package/i18n/arabic.js +1 -1
  8. package/i18n/arabic.min.js +1 -1
  9. package/i18n/basque.js +1 -1
  10. package/i18n/basque.min.js +1 -1
  11. package/i18n/bulgarian.js +1 -1
  12. package/i18n/bulgarian.min.js +1 -1
  13. package/i18n/catalan.js +1 -1
  14. package/i18n/catalan.min.js +1 -1
  15. package/i18n/croatian.js +1 -1
  16. package/i18n/croatian.min.js +1 -1
  17. package/i18n/czech.js +1 -1
  18. package/i18n/czech.min.js +1 -1
  19. package/i18n/danish.js +1 -1
  20. package/i18n/danish.min.js +1 -1
  21. package/i18n/dutch.js +1 -1
  22. package/i18n/dutch.min.js +1 -1
  23. package/i18n/english.js +1 -1
  24. package/i18n/english.min.js +1 -1
  25. package/i18n/estonian.js +1 -1
  26. package/i18n/estonian.min.js +1 -1
  27. package/i18n/finnish.js +1 -1
  28. package/i18n/finnish.min.js +1 -1
  29. package/i18n/french.js +1 -1
  30. package/i18n/french.min.js +1 -1
  31. package/i18n/georgian.js +1 -1
  32. package/i18n/georgian.min.js +1 -1
  33. package/i18n/german.js +1 -1
  34. package/i18n/german.min.js +1 -1
  35. package/i18n/greek.js +1 -1
  36. package/i18n/greek.min.js +1 -1
  37. package/i18n/hebrew.js +1 -1
  38. package/i18n/hebrew.min.js +1 -1
  39. package/i18n/hindi.js +1 -1
  40. package/i18n/hindi.min.js +1 -1
  41. package/i18n/hungarian.js +1 -1
  42. package/i18n/hungarian.min.js +1 -1
  43. package/i18n/icelandic.js +1 -1
  44. package/i18n/icelandic.min.js +1 -1
  45. package/i18n/index.js +1 -1
  46. package/i18n/index.min.js +1 -1
  47. package/i18n/indonesian.js +1 -1
  48. package/i18n/indonesian.min.js +1 -1
  49. package/i18n/italian.js +1 -1
  50. package/i18n/italian.min.js +1 -1
  51. package/i18n/japanese.js +1 -1
  52. package/i18n/japanese.min.js +1 -1
  53. package/i18n/kazakh.js +1 -1
  54. package/i18n/kazakh.min.js +1 -1
  55. package/i18n/korean.js +1 -1
  56. package/i18n/korean.min.js +1 -1
  57. package/i18n/latvian.js +1 -1
  58. package/i18n/latvian.min.js +1 -1
  59. package/i18n/lithuanian.js +1 -1
  60. package/i18n/lithuanian.min.js +1 -1
  61. package/i18n/macedonian.js +1 -1
  62. package/i18n/macedonian.min.js +1 -1
  63. package/i18n/malay.js +1 -1
  64. package/i18n/malay.min.js +1 -1
  65. package/i18n/nl-BE.js +1 -1
  66. package/i18n/nl-BE.min.js +1 -1
  67. package/i18n/norwegian.js +1 -1
  68. package/i18n/norwegian.min.js +1 -1
  69. package/i18n/persian.js +1 -1
  70. package/i18n/persian.min.js +1 -1
  71. package/i18n/philippines.js +1 -1
  72. package/i18n/philippines.min.js +1 -1
  73. package/i18n/polish.js +1 -1
  74. package/i18n/polish.min.js +1 -1
  75. package/i18n/portuguese-br.js +1 -1
  76. package/i18n/portuguese-br.min.js +1 -1
  77. package/i18n/portuguese.js +1 -1
  78. package/i18n/portuguese.min.js +1 -1
  79. package/i18n/romanian.js +1 -1
  80. package/i18n/romanian.min.js +1 -1
  81. package/i18n/russian.js +1 -1
  82. package/i18n/russian.min.js +1 -1
  83. package/i18n/serbian.js +1 -1
  84. package/i18n/serbian.min.js +1 -1
  85. package/i18n/simplified-chinese.js +1 -1
  86. package/i18n/simplified-chinese.min.js +1 -1
  87. package/i18n/slovak.js +1 -1
  88. package/i18n/slovak.min.js +1 -1
  89. package/i18n/spanish.js +1 -1
  90. package/i18n/spanish.min.js +1 -1
  91. package/i18n/swahili.js +1 -1
  92. package/i18n/swahili.min.js +1 -1
  93. package/i18n/swedish.js +1 -1
  94. package/i18n/swedish.min.js +1 -1
  95. package/i18n/tajik.js +1 -1
  96. package/i18n/tajik.min.js +1 -1
  97. package/i18n/telugu.js +1 -1
  98. package/i18n/telugu.min.js +1 -1
  99. package/i18n/thai.js +1 -1
  100. package/i18n/thai.min.js +1 -1
  101. package/i18n/traditional-chinese.js +1 -1
  102. package/i18n/traditional-chinese.min.js +1 -1
  103. package/i18n/turkish.js +1 -1
  104. package/i18n/turkish.min.js +1 -1
  105. package/i18n/ukrainian.js +1 -1
  106. package/i18n/ukrainian.min.js +1 -1
  107. package/i18n/urdu.js +1 -1
  108. package/i18n/urdu.min.js +1 -1
  109. package/i18n/vietnamese.js +1 -1
  110. package/i18n/vietnamese.min.js +1 -1
  111. package/i18n/welsh.js +1 -1
  112. package/i18n/welsh.min.js +1 -1
  113. package/modern.css +1 -1
  114. package/modern.fontless.css +1 -1
  115. package/modern.fontless.min.css +1 -1
  116. package/modern.min.css +1 -1
  117. package/package.json +1 -1
  118. package/plugins/bootstrap-integration.js +1 -1
  119. package/plugins/bootstrap-integration.min.js +1 -1
  120. package/plugins/bootstrap-material-integration.js +1 -1
  121. package/plugins/bootstrap-material-integration.min.js +1 -1
  122. package/survey.core.js +533 -133
  123. package/survey.core.js.map +1 -1
  124. package/survey.core.min.js +3 -3
  125. package/survey.css +1 -1
  126. package/survey.i18n.js +1 -1
  127. package/survey.i18n.min.js +1 -1
  128. package/survey.min.css +1 -1
  129. package/themes/borderless-dark-panelless.js +1 -1
  130. package/themes/borderless-dark-panelless.min.js +1 -1
  131. package/themes/borderless-dark.js +1 -1
  132. package/themes/borderless-dark.min.js +1 -1
  133. package/themes/borderless-light-panelless..js +1 -1
  134. package/themes/borderless-light-panelless..min.js +1 -1
  135. package/themes/borderless-light.js +1 -1
  136. package/themes/borderless-light.min.js +1 -1
  137. package/themes/contrast-dark-panelless.js +1 -1
  138. package/themes/contrast-dark-panelless.min.js +1 -1
  139. package/themes/contrast-dark.js +1 -1
  140. package/themes/contrast-dark.min.js +1 -1
  141. package/themes/contrast-light-panelless.js +1 -1
  142. package/themes/contrast-light-panelless.min.js +1 -1
  143. package/themes/contrast-light.js +1 -1
  144. package/themes/contrast-light.min.js +1 -1
  145. package/themes/default-dark-panelless.js +1 -1
  146. package/themes/default-dark-panelless.min.js +1 -1
  147. package/themes/default-dark.js +1 -1
  148. package/themes/default-dark.min.js +1 -1
  149. package/themes/default-light-panelless.js +1 -1
  150. package/themes/default-light-panelless.min.js +1 -1
  151. package/themes/default-light.js +1 -1
  152. package/themes/default-light.min.js +1 -1
  153. package/themes/doubleborder-dark-panelless.js +1 -1
  154. package/themes/doubleborder-dark-panelless.min.js +1 -1
  155. package/themes/doubleborder-dark.js +1 -1
  156. package/themes/doubleborder-dark.min.js +1 -1
  157. package/themes/doubleborder-light-panelles.js +1 -1
  158. package/themes/doubleborder-light-panelles.min.js +1 -1
  159. package/themes/doubleborder-light.js +1 -1
  160. package/themes/doubleborder-light.min.js +1 -1
  161. package/themes/flat-dark-panelless.js +1 -1
  162. package/themes/flat-dark-panelless.min.js +1 -1
  163. package/themes/flat-dark.js +1 -1
  164. package/themes/flat-dark.min.js +1 -1
  165. package/themes/flat-light-panelless.js +1 -1
  166. package/themes/flat-light-panelless.min.js +1 -1
  167. package/themes/flat-light.js +1 -1
  168. package/themes/flat-light.min.js +1 -1
  169. package/themes/index.js +1 -1
  170. package/themes/index.min.js +1 -1
  171. package/themes/layered-dark-panelless.js +1 -1
  172. package/themes/layered-dark-panelless.min.js +1 -1
  173. package/themes/layered-dark.js +1 -1
  174. package/themes/layered-dark.min.js +1 -1
  175. package/themes/layered-light-panelless.js +1 -1
  176. package/themes/layered-light-panelless.min.js +1 -1
  177. package/themes/layered-light.js +1 -1
  178. package/themes/layered-light.min.js +1 -1
  179. package/themes/plain-dark-panelless.js +1 -1
  180. package/themes/plain-dark-panelless.min.js +1 -1
  181. package/themes/plain-dark.js +1 -1
  182. package/themes/plain-dark.min.js +1 -1
  183. package/themes/plain-light-panelless.js +1 -1
  184. package/themes/plain-light-panelless.min.js +1 -1
  185. package/themes/plain-light.js +1 -1
  186. package/themes/plain-light.min.js +1 -1
  187. package/themes/sharp-dark-panelless.js +1 -1
  188. package/themes/sharp-dark-panelless.min.js +1 -1
  189. package/themes/sharp-dark.js +1 -1
  190. package/themes/sharp-dark.min.js +1 -1
  191. package/themes/sharp-light-panelless.js +1 -1
  192. package/themes/sharp-light-panelless.min.js +1 -1
  193. package/themes/sharp-light.js +1 -1
  194. package/themes/sharp-light.min.js +1 -1
  195. package/themes/solid-dark-panelless.js +1 -1
  196. package/themes/solid-dark-panelless.min.js +1 -1
  197. package/themes/solid-dark.js +1 -1
  198. package/themes/solid-dark.min.js +1 -1
  199. package/themes/solid-light-panelless.js +1 -1
  200. package/themes/solid-light-panelless.min.js +1 -1
  201. package/themes/solid-light.js +1 -1
  202. package/themes/solid-light.min.js +1 -1
  203. package/themes/three-dimensional-dark-panelless.js +1 -1
  204. package/themes/three-dimensional-dark-panelless.min.js +1 -1
  205. package/themes/three-dimensional-dark.js +1 -1
  206. package/themes/three-dimensional-dark.min.js +1 -1
  207. package/themes/three-dimensional-light-panelless.js +1 -1
  208. package/themes/three-dimensional-light-panelless.min.js +1 -1
  209. package/themes/three-dimensional-light.js +1 -1
  210. package/themes/three-dimensional-light.min.js +1 -1
  211. package/ts3.4/typings/base-interfaces.d.ts +7 -0
  212. package/ts3.4/typings/dropdownListModel.d.ts +1 -1
  213. package/ts3.4/typings/jsonobject.d.ts +3 -2
  214. package/ts3.4/typings/panel-layout-column.d.ts +9 -0
  215. package/ts3.4/typings/panel.d.ts +15 -0
  216. package/ts3.4/typings/question.d.ts +3 -1
  217. package/ts3.4/typings/question_baseselect.d.ts +0 -5
  218. package/ts3.4/typings/question_custom.d.ts +11 -0
  219. package/ts3.4/typings/question_dropdown.d.ts +1 -1
  220. package/ts3.4/typings/question_file.d.ts +2 -1
  221. package/ts3.4/typings/question_matrixdropdownbase.d.ts +1 -0
  222. package/ts3.4/typings/question_multipletext.d.ts +4 -0
  223. package/ts3.4/typings/question_paneldynamic.d.ts +2 -0
  224. package/ts3.4/typings/question_rating.d.ts +0 -1
  225. package/ts3.4/typings/question_tagbox.d.ts +0 -1
  226. package/ts3.4/typings/question_text.d.ts +2 -0
  227. package/ts3.4/typings/settings.d.ts +29 -0
  228. package/ts3.4/typings/survey-element.d.ts +4 -3
  229. package/ts3.4/typings/survey.d.ts +4 -1
  230. package/ts3.4/typings/utils/utils.d.ts +1 -0
  231. package/typings/base-interfaces.d.ts +7 -0
  232. package/typings/dropdownListModel.d.ts +1 -1
  233. package/typings/jsonobject.d.ts +3 -2
  234. package/typings/panel-layout-column.d.ts +9 -0
  235. package/typings/panel.d.ts +15 -0
  236. package/typings/question.d.ts +3 -1
  237. package/typings/question_baseselect.d.ts +0 -5
  238. package/typings/question_custom.d.ts +11 -0
  239. package/typings/question_dropdown.d.ts +1 -1
  240. package/typings/question_file.d.ts +2 -1
  241. package/typings/question_matrixdropdownbase.d.ts +1 -0
  242. package/typings/question_multipletext.d.ts +4 -0
  243. package/typings/question_paneldynamic.d.ts +2 -0
  244. package/typings/question_rating.d.ts +0 -1
  245. package/typings/question_tagbox.d.ts +0 -1
  246. package/typings/question_text.d.ts +2 -0
  247. package/typings/settings.d.ts +29 -0
  248. package/typings/survey-element.d.ts +5 -3
  249. package/typings/survey.d.ts +4 -1
  250. package/typings/utils/utils.d.ts +1 -0
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - Survey JavaScript library v1.11.7
2
+ * surveyjs - Survey JavaScript library v1.11.9
3
3
  * Copyright (c) 2015-2024 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 v1.11.7
2
+ * surveyjs - Survey JavaScript library v1.11.9
3
3
  * Copyright (c) 2015-2024 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 v1.11.7
2
+ * surveyjs - Survey JavaScript library v1.11.9
3
3
  * Copyright (c) 2015-2024 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 v1.11.7
2
+ * surveyjs - Survey JavaScript library v1.11.9
3
3
  * Copyright (c) 2015-2024 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 v1.11.7
2
+ * surveyjs - Survey JavaScript library v1.11.9
3
3
  * Copyright (c) 2015-2024 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 v1.11.7
2
+ * surveyjs - Survey JavaScript library v1.11.9
3
3
  * Copyright (c) 2015-2024 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 v1.11.7
2
+ * surveyjs - Survey JavaScript library v1.11.9
3
3
  * Copyright (c) 2015-2024 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 v1.11.7
2
+ * surveyjs - Survey JavaScript library v1.11.9
3
3
  * Copyright (c) 2015-2024 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 v1.11.7
2
+ * surveyjs - Survey JavaScript library v1.11.9
3
3
  * Copyright (c) 2015-2024 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 v1.11.7
2
+ * surveyjs - Survey JavaScript library v1.11.9
3
3
  * Copyright (c) 2015-2024 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 v1.11.7
2
+ * surveyjs - Survey JavaScript library v1.11.9
3
3
  * Copyright (c) 2015-2024 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
5
5
  */
@@ -6,6 +6,7 @@ import { SurveyError } from "./survey-error";
6
6
  import { Base } from "./base";
7
7
  import { IAction } from "./actions/action";
8
8
  import { PanelModel } from "./panel";
9
+ import { PanelLayoutColumnModel } from "./panel-layout-column";
9
10
  import { QuestionPanelDynamicModel } from "./question_paneldynamic";
10
11
  import { DragDropAllowEvent } from "./survey-events-api";
11
12
  import { PopupModel } from "./popup";
@@ -20,6 +21,7 @@ export interface ISurveyData {
20
21
  getFilteredValues(): any;
21
22
  getFilteredProperties(): any;
22
23
  findQuestionByName(name: string): IQuestion;
24
+ getEditingSurveyElement(): Base;
23
25
  }
24
26
  export interface ITextProcessor {
25
27
  processText(text: string, returnDisplayValue: boolean): string;
@@ -64,6 +66,7 @@ export interface ISurvey extends ITextProcessor, ISurveyErrorOwner {
64
66
  getRendererForString(element: Base, name: string): string;
65
67
  getRendererContextForString(element: Base, locStr: LocalizableString): any;
66
68
  getExpressionDisplayValue(question: IQuestion, value: any, displayValue: string): string;
69
+ gridLayoutEnabled: boolean;
67
70
  isDisplayMode: boolean;
68
71
  isDesignMode: boolean;
69
72
  areInvisibleElementsShowing: boolean;
@@ -212,6 +215,7 @@ export interface IElement extends IConditionRunner, ISurveyElement {
212
215
  isCollapsed: boolean;
213
216
  rightIndent: number;
214
217
  startWithNewLine: boolean;
218
+ colSpan?: number;
215
219
  registerPropertyChangedHandlers(propertyNames: Array<string>, handler: any, key: string): void;
216
220
  registerFunctionOnPropertyValueChanged(name: string, func: any, key: string): void;
217
221
  unRegisterFunctionOnPropertyValueChanged(name: string, key: string): void;
@@ -225,6 +229,7 @@ export interface IElement extends IConditionRunner, ISurveyElement {
225
229
  clearErrors(): any;
226
230
  dispose(): void;
227
231
  needResponsiveWidth(): boolean;
232
+ updateRootStyle(): void;
228
233
  }
229
234
  export interface IQuestion extends IElement, ISurveyErrorOwner {
230
235
  hasTitle: boolean;
@@ -255,6 +260,8 @@ export interface IPanel extends ISurveyElement, IParentElement {
255
260
  getQuestionTitleWidth(): string;
256
261
  getQuestionStartIndex(): string;
257
262
  getQuestionErrorLocation(): string;
263
+ getColumsForElement(el: IElement): Array<PanelLayoutColumnModel>;
264
+ updateColumns(): void;
258
265
  parent: IPanel;
259
266
  elementWidthChanged(el: IElement): any;
260
267
  indexOf(el: IElement): number;
@@ -64,7 +64,7 @@ export declare class DropdownListModel extends Base {
64
64
  readonly showHintString: boolean;
65
65
  readonly hintStringSuffix: string;
66
66
  readonly hintStringMiddle: string;
67
- private qustionPropertyChangedHandler;
67
+ private questionPropertyChangedHandler;
68
68
  constructor(question: Question, onSelectionChanged?: (item: IAction, ...params: any[]) => void);
69
69
  readonly popupModel: PopupModel;
70
70
  readonly noTabIndex: boolean;
@@ -9,7 +9,7 @@ export interface IPropertyDecoratorOptions<T = any> {
9
9
  onGetTextCallback?: (str: string) => string;
10
10
  defaultStr?: string;
11
11
  } | boolean;
12
- onSet?: (val: T, objectInstance: any) => void;
12
+ onSet?: (val: T, objectInstance: any, prevVal?: T) => void;
13
13
  }
14
14
  export declare function property(options?: IPropertyDecoratorOptions): (target: any, key: string) => void;
15
15
  export interface IArrayPropertyDecoratorOptions {
@@ -129,7 +129,7 @@ export declare class JsonObjectProperty implements IObject, IJsonPropertyInfo {
129
129
  onPropertyEditorUpdate: (obj: any, propEditor: any) => any;
130
130
  constructor(classInfo: JsonMetadataClass, name: string, isRequired?: boolean);
131
131
  uniqueProperty?: string;
132
- dependsOn?: string | string[];
132
+ dependsOn?: string | Array<string>;
133
133
  default?: any;
134
134
  defaultFunc?: (obj: Base) => any;
135
135
  readonly id: number;
@@ -333,6 +333,7 @@ export declare class JsonObject {
333
333
  toJsonObject(obj: any, options?: ISaveToJSONOptions | boolean): any;
334
334
  toObject(jsonObj: any, obj: any, options?: ILoadFromJSONOptions): void;
335
335
  toObjectCore(jsonObj: any, obj: any, options?: ILoadFromJSONOptions): void;
336
+ private setPropertyValueToObj;
336
337
  toJsonObjectCore(obj: any, property: JsonObjectProperty, options?: ISaveToJSONOptions | boolean): any;
337
338
  private getDynamicProperties;
338
339
  private addDynamicProperties;
@@ -0,0 +1,9 @@
1
+ import { Base } from "./base";
2
+ export declare class PanelLayoutColumnModel extends Base {
3
+ width: number;
4
+ effectiveWidth: number;
5
+ questionTitleWidth: string;
6
+ constructor(width?: number, questionTitleWidth?: string);
7
+ getType(): string;
8
+ isEmpty(): boolean;
9
+ }
@@ -10,6 +10,7 @@ import { IAction } from "./actions/action";
10
10
  import { ActionContainer } from "./actions/container";
11
11
  import { DragDropInfo } from "./drag-drop-helper-v1";
12
12
  import { AnimationGroup } from "./utils/animation";
13
+ import { PanelLayoutColumnModel } from "./panel-layout-column";
13
14
  export declare class QuestionRowModel extends Base {
14
15
  panel: PanelModelBase;
15
16
  private static rowCounter;
@@ -57,6 +58,9 @@ export declare class PanelModelBase extends SurveyElement<Question> implements I
57
58
  private elementsValue;
58
59
  private isQuestionsReady;
59
60
  private questionsValue;
61
+ private _columns;
62
+ private _columnsReady;
63
+ layoutColumns: Array<PanelLayoutColumnModel>;
60
64
  addElementCallback: (element: IElement) => void;
61
65
  removeElementCallback: (element: IElement) => void;
62
66
  onGetQuestionTitleLocation: () => string;
@@ -260,6 +264,11 @@ export declare class PanelModelBase extends SurveyElement<Question> implements I
260
264
  addPanelsIntoList(list: Array<IPanel>, visibleOnly?: boolean, includingDesignTime?: boolean): void;
261
265
  private addElementsToList;
262
266
  private addElementsToListCore;
267
+ private calcMaxRowColSpan;
268
+ private updateColumnWidth;
269
+ private onColumnPropertyValueChangedCallback;
270
+ updateColumns(): void;
271
+ updateRootStyle(): void;
263
272
  updateCustomWidgets(): void;
264
273
  /*
265
274
  * Sets a title location relative to the input field for questions that belong to this panel/page.
@@ -288,6 +297,9 @@ export declare class PanelModelBase extends SurveyElement<Question> implements I
288
297
  */
289
298
  questionTitleWidth: string;
290
299
  getQuestionTitleWidth(): string;
300
+ readonly columns: Array<PanelLayoutColumnModel>;
301
+ protected generateColumns(): void;
302
+ getColumsForElement(el: IElement): Array<PanelLayoutColumnModel>;
291
303
  protected getStartIndex(): string;
292
304
  getQuestionStartIndex(): string;
293
305
  getChildrenLayoutType(): string;
@@ -435,6 +447,7 @@ export declare class PanelModelBase extends SurveyElement<Question> implements I
435
447
  readonly no: string;
436
448
  readonly cssError: string;
437
449
  protected getCssError(cssClasses: any): string;
450
+ getSerializableColumnsValue(): Array<PanelLayoutColumnModel>;
438
451
  dispose(): void;
439
452
  }
440
453
  /**
@@ -449,6 +462,8 @@ export declare class PanelModel extends PanelModelBase implements IElement {
449
462
  getType(): string;
450
463
  readonly contentId: string;
451
464
  getSurvey(live?: boolean): ISurvey;
465
+ readonly hasTextInTitle: boolean;
466
+ private calcHasTextInTitle;
452
467
  onSurveyLoad(): void;
453
468
  protected onSetData(): void;
454
469
  readonly isPanel: boolean;
@@ -83,6 +83,7 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
83
83
  themeChanged(theme: ITheme): void;
84
84
  isMobile: boolean;
85
85
  forceIsInputReadOnly: boolean;
86
+ ariaExpanded: "true" | "false";
86
87
  constructor(name: string);
87
88
  protected getDefaultTitle(): string;
88
89
  protected createLocTitleProperty(): LocalizableString;
@@ -267,6 +268,7 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
267
268
  private notifySurveyVisibilityChanged;
268
269
  protected clearValueOnHidding(isClearOnHidden: boolean): void;
269
270
  readonly titleWidth: string;
271
+ getPercentQuestionTitleWidth(): number;
270
272
  /**
271
273
  * Returns title location calculated based on the question's `titleLocation` property and the `questionTitleLocation` property of the question's containers (survey, page, or panel).
272
274
  * @see titleLocation
@@ -414,6 +416,7 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
414
416
  */
415
417
  focus(onError?: boolean, scrollIfVisible?: boolean): void;
416
418
  private focuscore;
419
+ focusInputElement(onError: boolean): void;
417
420
  expandAllParents(): void;
418
421
  private expandAllParentsCore;
419
422
  focusIn(): void;
@@ -863,7 +866,6 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
863
866
  readonly ariaInvalid: "true" | "false";
864
867
  readonly ariaLabelledBy: string;
865
868
  readonly ariaDescribedBy: string;
866
- readonly ariaExpanded: string;
867
869
  readonly ariaErrormessage: string;
868
870
  readonly a11y_input_ariaRole: string;
869
871
  readonly a11y_input_ariaRequired: "true" | "false";
@@ -459,11 +459,6 @@ export declare class QuestionSelectBase extends Question {
459
459
  readonly hasHeadItems: boolean;
460
460
  readonly hasFootItems: boolean;
461
461
  readonly columns: any[];
462
- protected getObservedElementSelector(): string;
463
- protected supportResponsiveness(): boolean;
464
- allowMultiColumns: boolean;
465
- protected onBeforeSetCompactRenderer(): void;
466
- protected onBeforeSetDesktopRenderer(): void;
467
462
  readonly hasColumns: boolean;
468
463
  readonly rowLayout: boolean;
469
464
  readonly blockedRow: boolean;
@@ -4,6 +4,7 @@ import { Base } from "./base";
4
4
  import { ISurveyImpl, ISurveyData, ITextProcessor, IPanel, IElement, IQuestion, IProgressInfo } from "./base-interfaces";
5
5
  import { SurveyElement } from "./survey-element";
6
6
  import { PanelModel } from "./panel";
7
+ import { PanelLayoutColumnModel } from "./panel-layout-column";
7
8
  import { HashTable } from "./helpers";
8
9
  import { ItemValue } from "./itemvalue";
9
10
  import { SurveyError } from "./survey-error";
@@ -339,10 +340,13 @@ export declare abstract class QuestionCustomModelBase extends Question implement
339
340
  getFilteredValues(): any;
340
341
  getFilteredProperties(): any;
341
342
  findQuestionByName(name: string): IQuestion;
343
+ getEditingSurveyElement(): Base;
342
344
  addElement(element: IElement, index: number): void;
343
345
  removeElement(element: IElement): boolean;
344
346
  getQuestionTitleLocation(): string;
345
347
  getQuestionTitleWidth(): string;
348
+ getColumsForElement(el: IElement): Array<PanelLayoutColumnModel>;
349
+ updateColumns(): void;
346
350
  getQuestionStartIndex(): string;
347
351
  getChildrenLayoutType(): string;
348
352
  elementWidthChanged(el: IElement): void;
@@ -406,6 +410,12 @@ export declare class QuestionCompositeModel extends QuestionCustomModelBase {
406
410
  readonly contentPanel: PanelModel;
407
411
  hasErrors(fireCallback?: boolean, rec?: any): boolean;
408
412
  updateElementCss(reNew?: boolean): void;
413
+ dispose(): void;
414
+ private editingObjValue;
415
+ private onEditingObjPropertyChanged;
416
+ private updateEditingObj;
417
+ private unConnectEditingObj;
418
+ getEditingSurveyElement(): Base;
409
419
  getTextProcessor(): ITextProcessor;
410
420
  findQuestionByName(name: string): IQuestion;
411
421
  protected clearValueIfInvisibleCore(reason: string): void;
@@ -414,6 +424,7 @@ export declare class QuestionCompositeModel extends QuestionCustomModelBase {
414
424
  readonly isContainer: boolean;
415
425
  protected createPanel(): PanelModel;
416
426
  protected onReadOnlyChanged(): void;
427
+ updateValueFromSurvey(newValue: any, clearData?: boolean): void;
417
428
  onSurveyLoad(): void;
418
429
  private setIsContentElement;
419
430
  setVisibleIndex(val: number): number;
@@ -124,7 +124,6 @@ export declare class QuestionDropdownModel extends QuestionSelectBase {
124
124
  private readonly selectedItemText: any;
125
125
  dropdownListModel: DropdownListModel;
126
126
  readonly popupModel: PopupModel;
127
- readonly ariaExpanded: string;
128
127
  onOpened: EventBase<QuestionDropdownModel>;
129
128
  onOpenedCallBack(): void;
130
129
  protected onSelectedItemValuesChangedHandler(newValue: any): void;
@@ -135,6 +134,7 @@ export declare class QuestionDropdownModel extends QuestionSelectBase {
135
134
  protected getFirstInputElementId(): string;
136
135
  getInputId(): string;
137
136
  clearValue(keepComment?: boolean): void;
137
+ afterRenderCore(el: any): void;
138
138
  onClick(e: any): void;
139
139
  onKeyUp(event: any): void;
140
140
  dispose(): void;
@@ -241,7 +241,8 @@ export declare class QuestionFileModel extends QuestionFileModelBase {
241
241
  protected processResponsiveness(_: number, availableWidth: number): boolean;
242
242
  private rootElement;
243
243
  private canDragDrop;
244
- afterRender(el: HTMLElement): void;
244
+ afterRenderQuestionElement(el: HTMLElement): void;
245
+ beforeDestroyQuestionElement(el: HTMLElement): void;
245
246
  private dragCounter;
246
247
  onDragEnter: (event: any) => void;
247
248
  onDragOver: (event: any) => boolean;
@@ -112,6 +112,7 @@ export declare class MatrixDropdownRowModelBase implements ISurveyData, ISurveyI
112
112
  getComment(name: string): string;
113
113
  setComment(name: string, newValue: string, locNotification: any): void;
114
114
  findQuestionByName(name: string): IQuestion;
115
+ getEditingSurveyElement(): Base;
115
116
  private setValueCore;
116
117
  private updateQuestionsValue;
117
118
  runTriggers(name: string, value: any): void;
@@ -7,6 +7,7 @@ import { SurveyError } from "./survey-error";
7
7
  import { ILocalizableOwner, LocalizableString } from "./localizablestring";
8
8
  import { HashTable } from "./helpers";
9
9
  import { InputMaskBase } from "./mask/mask_base";
10
+ import { PanelLayoutColumnModel } from "./panel-layout-column";
10
11
  export interface IMultipleTextData extends ILocalizableOwner, IPanel {
11
12
  getSurvey(): ISurvey;
12
13
  getTextProcessor(): ITextProcessor;
@@ -165,6 +166,7 @@ export declare class MultipleTextItemModel extends Base implements IValidatorOwn
165
166
  getFilteredValues(): any;
166
167
  getFilteredProperties(): any;
167
168
  findQuestionByName(name: string): IQuestion;
169
+ getEditingSurveyElement(): Base;
168
170
  getValidatorTitle(): string;
169
171
  validatedValue: any;
170
172
  getDataFilteredValues(): any;
@@ -283,6 +285,8 @@ export declare class QuestionMultipleTextModel extends Question implements IMult
283
285
  removeElement(element: IElement): boolean;
284
286
  getQuestionTitleLocation(): string;
285
287
  getQuestionTitleWidth(): string;
288
+ getColumsForElement(el: IElement): Array<PanelLayoutColumnModel>;
289
+ updateColumns(): void;
286
290
  getQuestionStartIndex(): string;
287
291
  getChildrenLayoutType(): string;
288
292
  elementWidthChanged(el: IElement): void;
@@ -1,6 +1,7 @@
1
1
  import { HashTable } from "./helpers";
2
2
  import { IElement, IQuestion, IPanel, ISurveyData, ISurvey, ISurveyImpl, ITextProcessor, IProgressInfo, IPlainDataOptions } from "./base-interfaces";
3
3
  import { LocalizableString } from "./localizablestring";
4
+ import { Base } from "./base";
4
5
  import { Question, IConditionObject, IQuestionPlainData } from "./question";
5
6
  import { PanelModel } from "./panel";
6
7
  import { SurveyError } from "./survey-error";
@@ -36,6 +37,7 @@ export declare class QuestionPanelDynamicItem implements ISurveyData, ISurveyImp
36
37
  getComment(name: string): string;
37
38
  setComment(name: string, newValue: string, locNotification: any): void;
38
39
  findQuestionByName(name: string): IQuestion;
40
+ getEditingSurveyElement(): Base;
39
41
  getAllValues(): any;
40
42
  getFilteredValues(): any;
41
43
  getFilteredProperties(): any;
@@ -268,7 +268,6 @@ export declare class QuestionRatingModel extends Question {
268
268
  protected onBeforeSetCompactRenderer(): void;
269
269
  protected getCompactRenderAs(): string;
270
270
  protected getDesktopRenderAs(): string;
271
- readonly ariaExpanded: string;
272
271
  private dropdownListModelValue;
273
272
  dropdownListModel: DropdownListModel;
274
273
  protected updateCssClasses(res: any, css: any): void;
@@ -70,7 +70,6 @@ export declare class QuestionTagboxModel extends QuestionCheckboxModel {
70
70
  getType(): string;
71
71
  readonly ariaRole: string;
72
72
  readonly popupModel: PopupModel;
73
- readonly ariaExpanded: string;
74
73
  getControlClass(): string;
75
74
  onOpened: EventBase<QuestionTagboxModel>;
76
75
  onOpenedCallBack(): void;
@@ -130,6 +130,7 @@ export declare class QuestionTextModel extends QuestionTextBase {
130
130
  private hasToConvertToUTC;
131
131
  protected valueForSurveyCore(val: any): any;
132
132
  protected valueFromDataCore(val: any): any;
133
+ private dateValidationMessage;
133
134
  protected onCheckForErrors(errors: Array<SurveyError>, isOnValueChanged: boolean): void;
134
135
  protected canSetValueToSurvey(): boolean;
135
136
  protected convertFuncValuetoQuestionValue(val: any): any;
@@ -166,6 +167,7 @@ export declare class QuestionTextModel extends QuestionTextBase {
166
167
  private updateValueOnEvent;
167
168
  onCompositionUpdate: (event: any) => void;
168
169
  onKeyUp: (event: any) => void;
170
+ private updateDateValidationMessage;
169
171
  onKeyDown: (event: any) => void;
170
172
  onChange: (event: any) => void;
171
173
  onBlur: (event: any) => void;
@@ -588,5 +588,34 @@ export declare var settings: {
588
588
  [key: string]: RegExp;
589
589
  };
590
590
  };
591
+ /**
592
+ * Specifies whether to store date-time values in the following format: `"YYYY-MM-DDThh:mm:ss.sssZ"`. Applies only to form fields with [`inputType`](https://surveyjs.io/form-library/documentation/api-reference/text-entry-question-model#inputType) set to `"datetime-local"`.
593
+ *
594
+ * Default value: `false`
595
+ *
596
+ * If you enable this setting, date-time values are converted from local time to UTC when they are saved to the survey's [`data`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#data) object, while the question values remain in local time. Therefore, when you specify default values using a question's [`defaultValue`](https://surveyjs.io/form-library/documentation/api-reference/text-entry-question-model#defaultValue) property, you need to use local time, but if you specify them using the `data` object, use a UTC date-time value in the following format: `"YYYY-MM-DDThh:mm:ss.sssZ"`.
597
+ *
598
+ * ```js
599
+ * const surveyJson = {
600
+ * "elements": [{
601
+ * "name": "datetime",
602
+ * "type": "text",
603
+ * "title": "Select a date and time",
604
+ * "inputType": "datetime-local",
605
+ * "defaultValue": "2024-07-16T12:15:00" // Local date-time value
606
+ * }]
607
+ * }
608
+ * ```
609
+ *
610
+ * ```js
611
+ * import { Model } from "survey-core";
612
+ * const surveyJson = { ... }
613
+ * const survey = new Model(surveyJson);
614
+ *
615
+ * survey.data = {
616
+ * datetime: "2024-07-16T12:15:00.000Z" // UTC date-time value
617
+ * }
618
+ * ```
619
+ */
591
620
  storeUtcDates: boolean;
592
621
  };
@@ -109,6 +109,8 @@ export declare class SurveyElement<E = any> extends SurveyElementCore implements
109
109
  private static focusElementCore;
110
110
  static CreateDisabledDesignElements: boolean;
111
111
  disableDesignActions: boolean;
112
+ effectiveColSpan: number;
113
+ colSpan: number;
112
114
  constructor(name: string);
113
115
  protected onPropertyValueChanged(name: string, oldValue: any, newValue: any): void;
114
116
  protected getSkeletonComponentNameCore(): string;
@@ -378,9 +380,8 @@ export declare class SurveyElement<E = any> extends SurveyElementCore implements
378
380
  paddingLeft: string;
379
381
  paddingRight: string;
380
382
  allowRootStyle: boolean;
381
- readonly rootStyle: {
382
- [index: string]: any;
383
- };
383
+ rootStyle: any;
384
+ updateRootStyle(): void;
384
385
  private isContainsSelection;
385
386
  readonly clickTitleFunction: any;
386
387
  protected needClickTitleFunction(): boolean;
@@ -1550,6 +1550,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
1550
1550
  private collectDataFromPanel;
1551
1551
  private onEditingObjPropertyChanged;
1552
1552
  editingObj: Base;
1553
+ private unConnectEditingObj;
1553
1554
  readonly isEditingSurveyElement: boolean;
1554
1555
  private setCalculatedValuesIntoResult;
1555
1556
  getAllValues(): any;
@@ -2073,8 +2074,8 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
2073
2074
  updatePanelCssClasses(panel: PanelModel, cssClasses: any): void;
2074
2075
  updatePageCssClasses(page: PageModel, cssClasses: any): void;
2075
2076
  updateChoiceItemCss(question: IQuestion, options: any): void;
2076
- private isFirstPageRendering;
2077
2077
  private isCurrentPageRendering;
2078
+ private isCurrentPageRendered;
2078
2079
  afterRenderPage(htmlElement: HTMLElement): void;
2079
2080
  afterRenderHeader(htmlElement: HTMLElement): void;
2080
2081
  afterRenderQuestion(question: Question, htmlElement: HTMLElement): void;
@@ -2247,6 +2248,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
2247
2248
  */
2248
2249
  getQuestionByName(name: string, caseInsensitive?: boolean): Question;
2249
2250
  findQuestionByName(name: string): IQuestion;
2251
+ getEditingSurveyElement(): Base;
2250
2252
  /**
2251
2253
  * Returns a question with a specified [`valueName`](https://surveyjs.io/form-library/documentation/api-reference/question#valueName).
2252
2254
  *
@@ -2600,6 +2602,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
2600
2602
  * @see stopTimer
2601
2603
  */
2602
2604
  showTimerPanelMode: string;
2605
+ gridLayoutEnabled: boolean;
2603
2606
  /*
2604
2607
  * Specifies how to calculate the survey width.
2605
2608
  *
@@ -53,4 +53,5 @@ export declare function compareArrays<T>(oldValue: Array<T>, newValue: Array<T>,
53
53
  }>;
54
54
  mergedItems: Array<T>;
55
55
  };
56
+ export declare function roundTo2Decimals(number: number): number;
56
57
  export { mergeValues, getElementWidth, isContainerVisible, classesToSelector, compareVersions, confirmAction, confirmActionAsync, detectIEOrEdge, detectIEBrowser, loadFileFromBase64, isMobile, isShadowDOM, getElement, isElementVisible, findScrollableParent, scrollElementByChildId, navigateToUrl, wrapUrlForBackgroundImage, createSvg, getIconNameFromProxy, increaseHeightByContent, getOriginalEvent, preventDefaults, findParentByClassNames, getFirstVisibleChild, chooseFiles };
@@ -6,6 +6,7 @@ import { SurveyError } from "./survey-error";
6
6
  import { Base } from "./base";
7
7
  import { IAction } from "./actions/action";
8
8
  import { PanelModel } from "./panel";
9
+ import { PanelLayoutColumnModel } from "./panel-layout-column";
9
10
  import { QuestionPanelDynamicModel } from "./question_paneldynamic";
10
11
  import { DragDropAllowEvent } from "./survey-events-api";
11
12
  import { PopupModel } from "./popup";
@@ -20,6 +21,7 @@ export interface ISurveyData {
20
21
  getFilteredValues(): any;
21
22
  getFilteredProperties(): any;
22
23
  findQuestionByName(name: string): IQuestion;
24
+ getEditingSurveyElement(): Base;
23
25
  }
24
26
  export interface ITextProcessor {
25
27
  processText(text: string, returnDisplayValue: boolean): string;
@@ -64,6 +66,7 @@ export interface ISurvey extends ITextProcessor, ISurveyErrorOwner {
64
66
  getRendererForString(element: Base, name: string): string;
65
67
  getRendererContextForString(element: Base, locStr: LocalizableString): any;
66
68
  getExpressionDisplayValue(question: IQuestion, value: any, displayValue: string): string;
69
+ gridLayoutEnabled: boolean;
67
70
  isDisplayMode: boolean;
68
71
  isDesignMode: boolean;
69
72
  areInvisibleElementsShowing: boolean;
@@ -212,6 +215,7 @@ export interface IElement extends IConditionRunner, ISurveyElement {
212
215
  isCollapsed: boolean;
213
216
  rightIndent: number;
214
217
  startWithNewLine: boolean;
218
+ colSpan?: number;
215
219
  registerPropertyChangedHandlers(propertyNames: Array<string>, handler: any, key: string): void;
216
220
  registerFunctionOnPropertyValueChanged(name: string, func: any, key: string): void;
217
221
  unRegisterFunctionOnPropertyValueChanged(name: string, key: string): void;
@@ -225,6 +229,7 @@ export interface IElement extends IConditionRunner, ISurveyElement {
225
229
  clearErrors(): any;
226
230
  dispose(): void;
227
231
  needResponsiveWidth(): boolean;
232
+ updateRootStyle(): void;
228
233
  }
229
234
  export interface IQuestion extends IElement, ISurveyErrorOwner {
230
235
  hasTitle: boolean;
@@ -255,6 +260,8 @@ export interface IPanel extends ISurveyElement, IParentElement {
255
260
  getQuestionTitleWidth(): string;
256
261
  getQuestionStartIndex(): string;
257
262
  getQuestionErrorLocation(): string;
263
+ getColumsForElement(el: IElement): Array<PanelLayoutColumnModel>;
264
+ updateColumns(): void;
258
265
  parent: IPanel;
259
266
  elementWidthChanged(el: IElement): any;
260
267
  indexOf(el: IElement): number;
@@ -65,7 +65,7 @@ export declare class DropdownListModel extends Base {
65
65
  get showHintString(): boolean;
66
66
  get hintStringSuffix(): string;
67
67
  get hintStringMiddle(): string;
68
- private qustionPropertyChangedHandler;
68
+ private questionPropertyChangedHandler;
69
69
  constructor(question: Question, onSelectionChanged?: (item: IAction, ...params: any[]) => void);
70
70
  get popupModel(): PopupModel;
71
71
  get noTabIndex(): boolean;
@@ -9,7 +9,7 @@ export interface IPropertyDecoratorOptions<T = any> {
9
9
  onGetTextCallback?: (str: string) => string;
10
10
  defaultStr?: string;
11
11
  } | boolean;
12
- onSet?: (val: T, objectInstance: any) => void;
12
+ onSet?: (val: T, objectInstance: any, prevVal?: T) => void;
13
13
  }
14
14
  export declare function property(options?: IPropertyDecoratorOptions): (target: any, key: string) => void;
15
15
  export interface IArrayPropertyDecoratorOptions {
@@ -129,7 +129,7 @@ export declare class JsonObjectProperty implements IObject, IJsonPropertyInfo {
129
129
  onPropertyEditorUpdate: (obj: any, propEditor: any) => any;
130
130
  constructor(classInfo: JsonMetadataClass, name: string, isRequired?: boolean);
131
131
  uniqueProperty?: string;
132
- dependsOn?: string | string[];
132
+ dependsOn?: string | Array<string>;
133
133
  default?: any;
134
134
  defaultFunc?: (obj: Base) => any;
135
135
  get id(): number;
@@ -342,6 +342,7 @@ export declare class JsonObject {
342
342
  toJsonObject(obj: any, options?: ISaveToJSONOptions | boolean): any;
343
343
  toObject(jsonObj: any, obj: any, options?: ILoadFromJSONOptions): void;
344
344
  toObjectCore(jsonObj: any, obj: any, options?: ILoadFromJSONOptions): void;
345
+ private setPropertyValueToObj;
345
346
  toJsonObjectCore(obj: any, property: JsonObjectProperty, options?: ISaveToJSONOptions | boolean): any;
346
347
  private getDynamicProperties;
347
348
  private addDynamicProperties;
@@ -0,0 +1,9 @@
1
+ import { Base } from "./base";
2
+ export declare class PanelLayoutColumnModel extends Base {
3
+ width: number;
4
+ effectiveWidth: number;
5
+ questionTitleWidth: string;
6
+ constructor(width?: number, questionTitleWidth?: string);
7
+ getType(): string;
8
+ isEmpty(): boolean;
9
+ }