survey-core 1.9.126 → 1.9.127

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 (238) hide show
  1. package/defaultV2.css +10 -5
  2. package/defaultV2.css.map +1 -1
  3. package/defaultV2.fontless.css +10 -5
  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/polish.js +1 -1
  72. package/i18n/polish.min.js +1 -1
  73. package/i18n/portuguese-br.js +1 -1
  74. package/i18n/portuguese-br.min.js +1 -1
  75. package/i18n/portuguese.js +1 -1
  76. package/i18n/portuguese.min.js +1 -1
  77. package/i18n/romanian.js +1 -1
  78. package/i18n/romanian.min.js +1 -1
  79. package/i18n/russian.js +1 -1
  80. package/i18n/russian.min.js +1 -1
  81. package/i18n/serbian.js +1 -1
  82. package/i18n/serbian.min.js +1 -1
  83. package/i18n/simplified-chinese.js +1 -1
  84. package/i18n/simplified-chinese.min.js +1 -1
  85. package/i18n/slovak.js +1 -1
  86. package/i18n/slovak.min.js +1 -1
  87. package/i18n/spanish.js +1 -1
  88. package/i18n/spanish.min.js +1 -1
  89. package/i18n/swahili.js +1 -1
  90. package/i18n/swahili.min.js +1 -1
  91. package/i18n/swedish.js +1 -1
  92. package/i18n/swedish.min.js +1 -1
  93. package/i18n/tajik.js +1 -1
  94. package/i18n/tajik.min.js +1 -1
  95. package/i18n/telugu.js +1 -1
  96. package/i18n/telugu.min.js +1 -1
  97. package/i18n/thai.js +1 -1
  98. package/i18n/thai.min.js +1 -1
  99. package/i18n/traditional-chinese.js +1 -1
  100. package/i18n/traditional-chinese.min.js +1 -1
  101. package/i18n/turkish.js +1 -1
  102. package/i18n/turkish.min.js +1 -1
  103. package/i18n/ukrainian.js +1 -1
  104. package/i18n/ukrainian.min.js +1 -1
  105. package/i18n/urdu.js +1 -1
  106. package/i18n/urdu.min.js +1 -1
  107. package/i18n/vietnamese.js +1 -1
  108. package/i18n/vietnamese.min.js +1 -1
  109. package/i18n/welsh.js +1 -1
  110. package/i18n/welsh.min.js +1 -1
  111. package/modern.css +1 -1
  112. package/modern.fontless.css +1 -1
  113. package/modern.fontless.min.css +1 -1
  114. package/modern.min.css +1 -1
  115. package/package.json +1 -1
  116. package/plugins/bootstrap-integration.js +1 -1
  117. package/plugins/bootstrap-integration.min.js +1 -1
  118. package/plugins/bootstrap-material-integration.js +1 -1
  119. package/plugins/bootstrap-material-integration.min.js +1 -1
  120. package/survey.core.js +253 -115
  121. package/survey.core.js.map +1 -1
  122. package/survey.core.min.js +3 -3
  123. package/survey.css +1 -1
  124. package/survey.i18n.js +1 -1
  125. package/survey.i18n.min.js +1 -1
  126. package/survey.min.css +1 -1
  127. package/themes/borderless-dark-panelless.js +1 -1
  128. package/themes/borderless-dark-panelless.min.js +1 -1
  129. package/themes/borderless-dark.js +1 -1
  130. package/themes/borderless-dark.min.js +1 -1
  131. package/themes/borderless-light-panelless..js +1 -1
  132. package/themes/borderless-light-panelless..min.js +1 -1
  133. package/themes/borderless-light.js +1 -1
  134. package/themes/borderless-light.min.js +1 -1
  135. package/themes/contrast-dark-panelless.js +1 -1
  136. package/themes/contrast-dark-panelless.min.js +1 -1
  137. package/themes/contrast-dark.js +1 -1
  138. package/themes/contrast-dark.min.js +1 -1
  139. package/themes/contrast-light-panelless.js +1 -1
  140. package/themes/contrast-light-panelless.min.js +1 -1
  141. package/themes/contrast-light.js +1 -1
  142. package/themes/contrast-light.min.js +1 -1
  143. package/themes/default-dark-panelless.js +1 -1
  144. package/themes/default-dark-panelless.min.js +1 -1
  145. package/themes/default-dark.js +1 -1
  146. package/themes/default-dark.min.js +1 -1
  147. package/themes/default-light-panelless.js +1 -1
  148. package/themes/default-light-panelless.min.js +1 -1
  149. package/themes/default-light.js +1 -1
  150. package/themes/default-light.min.js +1 -1
  151. package/themes/doubleborder-dark-panelless.js +1 -1
  152. package/themes/doubleborder-dark-panelless.min.js +1 -1
  153. package/themes/doubleborder-dark.js +1 -1
  154. package/themes/doubleborder-dark.min.js +1 -1
  155. package/themes/doubleborder-light-panelles.js +1 -1
  156. package/themes/doubleborder-light-panelles.min.js +1 -1
  157. package/themes/doubleborder-light.js +1 -1
  158. package/themes/doubleborder-light.min.js +1 -1
  159. package/themes/flat-dark-panelless.js +1 -1
  160. package/themes/flat-dark-panelless.min.js +1 -1
  161. package/themes/flat-dark.js +1 -1
  162. package/themes/flat-dark.min.js +1 -1
  163. package/themes/flat-light-panelless.js +1 -1
  164. package/themes/flat-light-panelless.min.js +1 -1
  165. package/themes/flat-light.js +1 -1
  166. package/themes/flat-light.min.js +1 -1
  167. package/themes/index.js +1 -1
  168. package/themes/index.min.js +1 -1
  169. package/themes/layered-dark-panelless.js +1 -1
  170. package/themes/layered-dark-panelless.min.js +1 -1
  171. package/themes/layered-dark.js +1 -1
  172. package/themes/layered-dark.min.js +1 -1
  173. package/themes/layered-light-panelless.js +1 -1
  174. package/themes/layered-light-panelless.min.js +1 -1
  175. package/themes/layered-light.js +1 -1
  176. package/themes/layered-light.min.js +1 -1
  177. package/themes/plain-dark-panelless.js +1 -1
  178. package/themes/plain-dark-panelless.min.js +1 -1
  179. package/themes/plain-dark.js +1 -1
  180. package/themes/plain-dark.min.js +1 -1
  181. package/themes/plain-light-panelless.js +1 -1
  182. package/themes/plain-light-panelless.min.js +1 -1
  183. package/themes/plain-light.js +1 -1
  184. package/themes/plain-light.min.js +1 -1
  185. package/themes/sharp-dark-panelless.js +1 -1
  186. package/themes/sharp-dark-panelless.min.js +1 -1
  187. package/themes/sharp-dark.js +1 -1
  188. package/themes/sharp-dark.min.js +1 -1
  189. package/themes/sharp-light-panelless.js +1 -1
  190. package/themes/sharp-light-panelless.min.js +1 -1
  191. package/themes/sharp-light.js +1 -1
  192. package/themes/sharp-light.min.js +1 -1
  193. package/themes/solid-dark-panelless.js +1 -1
  194. package/themes/solid-dark-panelless.min.js +1 -1
  195. package/themes/solid-dark.js +1 -1
  196. package/themes/solid-dark.min.js +1 -1
  197. package/themes/solid-light-panelless.js +1 -1
  198. package/themes/solid-light-panelless.min.js +1 -1
  199. package/themes/solid-light.js +1 -1
  200. package/themes/solid-light.min.js +1 -1
  201. package/themes/three-dimensional-dark-panelless.js +1 -1
  202. package/themes/three-dimensional-dark-panelless.min.js +1 -1
  203. package/themes/three-dimensional-dark.js +1 -1
  204. package/themes/three-dimensional-dark.min.js +1 -1
  205. package/themes/three-dimensional-light-panelless.js +1 -1
  206. package/themes/three-dimensional-light-panelless.min.js +1 -1
  207. package/themes/three-dimensional-light.js +1 -1
  208. package/themes/three-dimensional-light.min.js +1 -1
  209. package/ts3.4/typings/base-interfaces.d.ts +4 -0
  210. package/ts3.4/typings/base.d.ts +2 -2
  211. package/ts3.4/typings/defaultCss/defaultV2Css.d.ts +1 -0
  212. package/ts3.4/typings/helpers.d.ts +1 -0
  213. package/ts3.4/typings/jsonobject.d.ts +12 -4
  214. package/ts3.4/typings/question_boolean.d.ts +2 -0
  215. package/ts3.4/typings/question_custom.d.ts +8 -0
  216. package/ts3.4/typings/question_matrix.d.ts +5 -0
  217. package/ts3.4/typings/question_matrixdropdowncolumn.d.ts +0 -1
  218. package/ts3.4/typings/question_ranking.d.ts +2 -0
  219. package/ts3.4/typings/settings.d.ts +1 -1
  220. package/ts3.4/typings/survey.d.ts +1 -1
  221. package/ts3.4/typings/trigger.d.ts +2 -0
  222. package/ts3.4/typings/utils/popup.d.ts +1 -4
  223. package/ts3.4/typings/utils/utils.d.ts +2 -2
  224. package/typings/base-interfaces.d.ts +4 -0
  225. package/typings/base.d.ts +2 -2
  226. package/typings/defaultCss/defaultV2Css.d.ts +1 -0
  227. package/typings/helpers.d.ts +1 -0
  228. package/typings/jsonobject.d.ts +12 -4
  229. package/typings/question_boolean.d.ts +2 -0
  230. package/typings/question_custom.d.ts +8 -0
  231. package/typings/question_matrix.d.ts +5 -0
  232. package/typings/question_matrixdropdowncolumn.d.ts +0 -1
  233. package/typings/question_ranking.d.ts +2 -0
  234. package/typings/settings.d.ts +1 -1
  235. package/typings/survey.d.ts +1 -1
  236. package/typings/trigger.d.ts +2 -0
  237. package/typings/utils/popup.d.ts +1 -4
  238. package/typings/utils/utils.d.ts +2 -2
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - Survey JavaScript library v1.9.126
2
+ * surveyjs - Survey JavaScript library v1.9.127
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.9.126
2
+ * surveyjs - Survey JavaScript library v1.9.127
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.9.126
2
+ * surveyjs - Survey JavaScript library v1.9.127
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.9.126
2
+ * surveyjs - Survey JavaScript library v1.9.127
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.9.126
2
+ * surveyjs - Survey JavaScript library v1.9.127
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.9.126
2
+ * surveyjs - Survey JavaScript library v1.9.127
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.9.126
2
+ * surveyjs - Survey JavaScript library v1.9.127
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.9.126
2
+ * surveyjs - Survey JavaScript library v1.9.127
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.9.126
2
+ * surveyjs - Survey JavaScript library v1.9.127
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.9.126
2
+ * surveyjs - Survey JavaScript library v1.9.127
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.9.126
2
+ * surveyjs - Survey JavaScript library v1.9.127
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.9.126
2
+ * surveyjs - Survey JavaScript library v1.9.127
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
  */
@@ -308,3 +308,7 @@ export interface IPlainDataOptions {
308
308
  export interface ILoadFromJSONOptions {
309
309
  validatePropertyValues?: boolean;
310
310
  }
311
+ export interface ISaveToJSONOptions {
312
+ storeDefaults?: boolean;
313
+ version?: string;
314
+ }
@@ -2,7 +2,7 @@ import { ILocalizableOwner, LocalizableString } from "./localizablestring";
2
2
  import { HashTable } from "./helpers";
3
3
  import { JsonObjectProperty } from "./jsonobject";
4
4
  import { ItemValue } from "./itemvalue";
5
- import { IElement, IFindElement, IProgressInfo, ISurvey, ILoadFromJSONOptions } from "./base-interfaces";
5
+ import { IElement, IFindElement, IProgressInfo, ISurvey, ILoadFromJSONOptions, ISaveToJSONOptions } from "./base-interfaces";
6
6
  import { ExpressionRunner } from "./conditions";
7
7
  export declare class Bindings {
8
8
  private obj;
@@ -170,7 +170,7 @@ export declare class Base {
170
170
  * Returns a JSON object that corresponds to the current SurveyJS object.
171
171
  * @see fromJSON
172
172
  */
173
- toJSON(): any;
173
+ toJSON(options?: ISaveToJSONOptions): any;
174
174
  /**
175
175
  * Assigns a new configuration to the current SurveyJS object. This configuration is taken from a passed JSON object.
176
176
  *
@@ -307,6 +307,7 @@ export declare var defaultV2Css: {
307
307
  small: string;
308
308
  controlDisabled: string;
309
309
  constrolWithCharacterCounter: string;
310
+ characterCounterBig: string;
310
311
  content: string;
311
312
  remainingCharacterCounter: string;
312
313
  onError: string;
@@ -35,4 +35,5 @@ export declare class Helpers {
35
35
  static convertDateToString(date: Date): string;
36
36
  static convertDateTimeToString(date: Date): string;
37
37
  static convertValToQuestionVal(val: any, inputType?: string): any;
38
+ static compareVerions(ver1: string, ver2: string): number;
38
39
  }
@@ -1,5 +1,5 @@
1
1
  import { Base } from "./base";
2
- import { ILoadFromJSONOptions } from "./base-interfaces";
2
+ import { ILoadFromJSONOptions, ISaveToJSONOptions } from "./base-interfaces";
3
3
  export interface IPropertyDecoratorOptions<T = any> {
4
4
  defaultValue?: T;
5
5
  defaultSource?: string;
@@ -71,6 +71,7 @@ export declare class JsonObjectProperty implements IObject {
71
71
  minValue: any;
72
72
  private dataListValue;
73
73
  layout: string;
74
+ version: string;
74
75
  onSerializeValue: (obj: any) => any;
75
76
  onGetValue: (obj: any) => any;
76
77
  onSettingValue: (obj: any, value: any) => any;
@@ -111,6 +112,9 @@ export declare class JsonObjectProperty implements IObject {
111
112
  readOnly: boolean;
112
113
  isVisible(layout: string, obj?: any): boolean;
113
114
  visible: boolean;
115
+ isAvailableInVersion(ver: string): boolean;
116
+ getSerializedName(ver: string): string;
117
+ private isAvailableInVersionCore;
114
118
  isLocalizable: boolean;
115
119
  dataList: Array<string>;
116
120
  mergeWith(prop: JsonObjectProperty): void;
@@ -182,7 +186,10 @@ export declare class JsonMetadata {
182
186
  overrideClassCreator(name: string, creator: () => any): void;
183
187
  getProperties(className: string): Array<JsonObjectProperty>;
184
188
  getPropertiesByObj(obj: any): Array<JsonObjectProperty>;
189
+ addDynamicPropertiesIntoObj(dest: any, src: any, props: Array<JsonObjectProperty>): void;
190
+ private addDynamicPropertyIntoObj;
185
191
  getDynamicPropertiesByObj(obj: any, dynamicType?: string): Array<JsonObjectProperty>;
192
+ getDynamicPropertiesByTypes(objType: string, dynamicType: string, invalidNames?: Array<string>): Array<JsonObjectProperty>;
186
193
  hasOriginalProperty(obj: Base, propName: string): boolean;
187
194
  getOriginalProperty(obj: Base, propName: string): JsonObjectProperty;
188
195
  getProperty(className: string, propertyName: string): JsonObjectProperty;
@@ -267,15 +274,16 @@ export declare class JsonObject {
267
274
  errors: JsonError[];
268
275
  lightSerializing: boolean;
269
276
  options: ILoadFromJSONOptions;
270
- toJsonObject(obj: any, storeDefaults?: boolean): any;
277
+ toJsonObject(obj: any, options?: ISaveToJSONOptions | boolean): any;
271
278
  toObject(jsonObj: any, obj: any, options?: ILoadFromJSONOptions): void;
272
279
  toObjectCore(jsonObj: any, obj: any, options?: ILoadFromJSONOptions): void;
273
- toJsonObjectCore(obj: any, property: JsonObjectProperty, storeDefaults?: boolean): any;
280
+ toJsonObjectCore(obj: any, property: JsonObjectProperty, options?: ISaveToJSONOptions | boolean): any;
274
281
  private getDynamicProperties;
275
282
  private addDynamicProperties;
276
283
  private propertiesToJson;
277
- valueToJson(obj: any, result: any, property: JsonObjectProperty, storeDefaults?: boolean): void;
284
+ valueToJson(obj: any, result: any, prop: JsonObjectProperty, options?: ISaveToJSONOptions): void;
278
285
  valueToObj(value: any, obj: any, property: JsonObjectProperty, jsonObj?: any, options?: ILoadFromJSONOptions): void;
286
+ private removePosOnValueToJson;
279
287
  private removePos;
280
288
  private removePosFromObj;
281
289
  private isValueArray;
@@ -88,4 +88,6 @@ export declare class QuestionBooleanModel extends Question {
88
88
  protected supportResponsiveness(): boolean;
89
89
  protected getCompactRenderAs(): string;
90
90
  protected createActionContainer(allowAdaptiveActions?: boolean): ActionContainer;
91
+ readonly isNewA11yStructure: boolean;
92
+ readonly a11y_input_ariaRole: string;
91
93
  }
@@ -1,4 +1,5 @@
1
1
  import { Question, IConditionObject } from "./question";
2
+ import { JsonObjectProperty } from "./jsonobject";
2
3
  import { ISurveyImpl, ISurveyData, ITextProcessor, IPanel, IElement, IQuestion, IProgressInfo } from "./base-interfaces";
3
4
  import { SurveyElement } from "./survey-element";
4
5
  import { PanelModel } from "./panel";
@@ -68,6 +69,7 @@ export interface ICustomQuestionTypeConfiguration {
68
69
  * ```
69
70
  */
70
71
  defaultQuestionTitle?: any;
72
+ inheritBaseProps?: false | true | Array<string>;
71
73
  /**
72
74
  * A function that is called when the custom question is created. Use it to access questions nested within a [composite question type](https://surveyjs.io/form-library/documentation/customize-question-types/create-composite-question-types).
73
75
  *
@@ -220,6 +222,7 @@ export interface ICustomQuestionTypeConfiguration {
220
222
  export declare class ComponentQuestionJSON {
221
223
  name: string;
222
224
  json: ICustomQuestionTypeConfiguration;
225
+ private dynamicProperties;
223
226
  constructor(name: string, json: ICustomQuestionTypeConfiguration);
224
227
  onInit(): void;
225
228
  onCreated(question: Question): void;
@@ -236,6 +239,8 @@ export declare class ComponentQuestionJSON {
236
239
  setValueToQuestion(val: any): any;
237
240
  getValueFromQuestion(val: any): any;
238
241
  readonly isComposite: boolean;
242
+ getDynamicProperties(): Array<JsonObjectProperty>;
243
+ private calcDynamicProperties;
239
244
  }
240
245
  export declare class ComponentCollection {
241
246
  static Instance: ComponentCollection;
@@ -313,6 +318,8 @@ export declare class QuestionCustomModel extends QuestionCustomModelBase {
313
318
  private questionWrapper;
314
319
  private hasJSONTitle;
315
320
  getTemplate(): string;
321
+ getDynamicProperties(): Array<JsonObjectProperty>;
322
+ getDynamicType(): string;
316
323
  protected createWrapper(): void;
317
324
  protected getElement(): SurveyElement;
318
325
  onAnyValueChanged(name: string, questionName: string): void;
@@ -337,6 +344,7 @@ export declare class QuestionCustomModel extends QuestionCustomModelBase {
337
344
  protected getValueCore(): any;
338
345
  private isSettingValueChanged;
339
346
  protected setValueChangedDirectly(val: boolean): void;
347
+ private createDynamicProperties;
340
348
  protected initElement(el: SurveyElement): void;
341
349
  updateElementCss(reNew?: boolean): void;
342
350
  protected updateElementCssCore(cssClasses: any): void;
@@ -115,6 +115,11 @@ export declare class QuestionMatrixModel extends QuestionMatrixBaseModel<MatrixR
115
115
  protected isNewValueCorrect(val: any): boolean;
116
116
  protected processRowsOnSet(newRows: Array<any>): MatrixRowModel[];
117
117
  readonly visibleRows: Array<MatrixRowModel>;
118
+ /*
119
+ * An array of matrix cells. Use this array to get or set cell values.
120
+ *
121
+ * [View Demo](https://surveyjs.io/form-library/examples/questiontype-matrix-rubric/ (linkStyle))
122
+ */
118
123
  cells: MatrixCells;
119
124
  readonly hasCellText: boolean;
120
125
  protected updateHasCellText(): void;
@@ -291,5 +291,4 @@ export declare class MatrixDropdownColumn extends Base implements ILocalizableOw
291
291
  private getProperties;
292
292
  private removeProperties;
293
293
  private addProperties;
294
- private addProperty;
295
294
  }
@@ -55,6 +55,7 @@ export declare class QuestionRankingModel extends QuestionCheckboxModel {
55
55
  handleKeydownSelectToRank(event: KeyboardEvent, movedElement: ItemValue): void;
56
56
  private setValueAfterKeydown;
57
57
  private focusItem;
58
+ isValueSetByUser: boolean;
58
59
  setValue: () => void;
59
60
  getIconHoverCss(): string;
60
61
  getIconFocusCss(): string;
@@ -75,6 +76,7 @@ export declare class QuestionRankingModel extends QuestionCheckboxModel {
75
76
  * @see selectToRankAreasLayout
76
77
  */
77
78
  selectToRankEnabled: boolean;
79
+ carryForwardStartUnranked: boolean;
78
80
  /*
79
81
  * Specifies the layout of the ranked and unranked areas. Applies when [`selectToRankEnabled`](https://surveyjs.io/form-library/documentation/api-reference/ranking-question-model#selectToRankEnabled) is `true`.
80
82
  *
@@ -363,7 +363,7 @@ export declare var settings: {
363
363
  * @param message A message to be displayed in the confirm dialog window.
364
364
  * @param callback A callback function that should be called with `true` if a user confirms an action or `false` otherwise.
365
365
  */
366
- confirmActionAsync: (message: string, callback: (res: boolean) => void, applyTitle?: string) => boolean;
366
+ confirmActionAsync: (message: string, callback: (res: boolean) => void, applyTitle?: string, locale?: string) => boolean;
367
367
  /**
368
368
  * A minimum width value for all survey elements.
369
369
  *
@@ -2051,7 +2051,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
2051
2051
  getUpdatedMatrixRowActions(question: QuestionMatrixDropdownModelBase, row: any, actions: Array<IAction>): IAction[];
2052
2052
  scrollElementToTop(element: ISurveyElement, question: Question, page: PageModel, id: string, scrollIfVisible?: boolean): any;
2053
2053
  /**
2054
- * Uploads a file to server.
2054
+ * Uploads files to a server.
2055
2055
  *
2056
2056
  * The following code shows how to call this method:
2057
2057
  *
@@ -16,6 +16,8 @@ export declare class Trigger extends Base {
16
16
  readonly id: number;
17
17
  getType(): string;
18
18
  toString(): string;
19
+ isGhost: boolean;
20
+ protected readonly isInternal: boolean;
19
21
  operator: string;
20
22
  value: any;
21
23
  name: string;
@@ -16,10 +16,7 @@ export interface ISize {
16
16
  export declare class PopupUtils {
17
17
  static bottomIndent: number;
18
18
  static calculatePosition(targetRect: ClientRect, height: number, width: number, verticalPosition: VerticalPosition, horizontalPosition: HorizontalPosition, showPointer: boolean, positionMode?: PositionMode): INumberPosition;
19
- static getCorrectedVerticalDimensions(top: number, height: number, windowHeight: number): {
20
- height: number;
21
- top: number;
22
- };
19
+ static getCorrectedVerticalDimensions(top: number, height: number, windowHeight: number, verticalPosition: VerticalPosition): any;
23
20
  static updateHorizontalDimensions(left: number, width: number, windowWidth: number, horizontalPosition: HorizontalPosition, positionMode?: PositionMode, margins?: {
24
21
  left: number;
25
22
  right: number;
@@ -1,6 +1,6 @@
1
1
  declare function compareVersions(a: any, b: any): number;
2
2
  declare function confirmAction(message: string): boolean;
3
- declare function confirmActionAsync(message: string, funcOnYes: () => void, funcOnNo?: () => void): void;
3
+ declare function confirmActionAsync(message: string, funcOnYes: () => void, funcOnNo?: () => void, locale?: string): void;
4
4
  declare function detectIEBrowser(): boolean;
5
5
  declare function detectIEOrEdge(): boolean;
6
6
  declare function loadFileFromBase64(b64Data: string, fileName: string): void;
@@ -40,5 +40,5 @@ export declare class Logger {
40
40
  log(action: string): void;
41
41
  readonly result: string;
42
42
  }
43
- export declare function showConfirmDialog(message: string, callback: (res: boolean) => void, applyTitle?: string): boolean;
43
+ export declare function showConfirmDialog(message: string, callback: (res: boolean) => void, applyTitle?: string, locale?: string): boolean;
44
44
  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, };
@@ -308,3 +308,7 @@ export interface IPlainDataOptions {
308
308
  export interface ILoadFromJSONOptions {
309
309
  validatePropertyValues?: boolean;
310
310
  }
311
+ export interface ISaveToJSONOptions {
312
+ storeDefaults?: boolean;
313
+ version?: string;
314
+ }
package/typings/base.d.ts CHANGED
@@ -2,7 +2,7 @@ import { ILocalizableOwner, LocalizableString } from "./localizablestring";
2
2
  import { HashTable } from "./helpers";
3
3
  import { JsonObjectProperty } from "./jsonobject";
4
4
  import { ItemValue } from "./itemvalue";
5
- import { IElement, IFindElement, IProgressInfo, ISurvey, ILoadFromJSONOptions } from "./base-interfaces";
5
+ import { IElement, IFindElement, IProgressInfo, ISurvey, ILoadFromJSONOptions, ISaveToJSONOptions } from "./base-interfaces";
6
6
  import { ExpressionRunner } from "./conditions";
7
7
  export declare class Bindings {
8
8
  private obj;
@@ -172,7 +172,7 @@ export declare class Base {
172
172
  * Returns a JSON object that corresponds to the current SurveyJS object.
173
173
  * @see fromJSON
174
174
  */
175
- toJSON(): any;
175
+ toJSON(options?: ISaveToJSONOptions): any;
176
176
  /**
177
177
  * Assigns a new configuration to the current SurveyJS object. This configuration is taken from a passed JSON object.
178
178
  *
@@ -307,6 +307,7 @@ export declare var defaultV2Css: {
307
307
  small: string;
308
308
  controlDisabled: string;
309
309
  constrolWithCharacterCounter: string;
310
+ characterCounterBig: string;
310
311
  content: string;
311
312
  remainingCharacterCounter: string;
312
313
  onError: string;
@@ -35,4 +35,5 @@ export declare class Helpers {
35
35
  static convertDateToString(date: Date): string;
36
36
  static convertDateTimeToString(date: Date): string;
37
37
  static convertValToQuestionVal(val: any, inputType?: string): any;
38
+ static compareVerions(ver1: string, ver2: string): number;
38
39
  }
@@ -1,5 +1,5 @@
1
1
  import { Base } from "./base";
2
- import { ILoadFromJSONOptions } from "./base-interfaces";
2
+ import { ILoadFromJSONOptions, ISaveToJSONOptions } from "./base-interfaces";
3
3
  export interface IPropertyDecoratorOptions<T = any> {
4
4
  defaultValue?: T;
5
5
  defaultSource?: string;
@@ -71,6 +71,7 @@ export declare class JsonObjectProperty implements IObject {
71
71
  minValue: any;
72
72
  private dataListValue;
73
73
  layout: string;
74
+ version: string;
74
75
  onSerializeValue: (obj: any) => any;
75
76
  onGetValue: (obj: any) => any;
76
77
  onSettingValue: (obj: any, value: any) => any;
@@ -118,6 +119,9 @@ export declare class JsonObjectProperty implements IObject {
118
119
  isVisible(layout: string, obj?: any): boolean;
119
120
  get visible(): boolean;
120
121
  set visible(val: boolean);
122
+ isAvailableInVersion(ver: string): boolean;
123
+ getSerializedName(ver: string): string;
124
+ private isAvailableInVersionCore;
121
125
  get isLocalizable(): boolean;
122
126
  set isLocalizable(val: boolean);
123
127
  get dataList(): Array<string>;
@@ -191,7 +195,10 @@ export declare class JsonMetadata {
191
195
  overrideClassCreator(name: string, creator: () => any): void;
192
196
  getProperties(className: string): Array<JsonObjectProperty>;
193
197
  getPropertiesByObj(obj: any): Array<JsonObjectProperty>;
198
+ addDynamicPropertiesIntoObj(dest: any, src: any, props: Array<JsonObjectProperty>): void;
199
+ private addDynamicPropertyIntoObj;
194
200
  getDynamicPropertiesByObj(obj: any, dynamicType?: string): Array<JsonObjectProperty>;
201
+ getDynamicPropertiesByTypes(objType: string, dynamicType: string, invalidNames?: Array<string>): Array<JsonObjectProperty>;
195
202
  hasOriginalProperty(obj: Base, propName: string): boolean;
196
203
  getOriginalProperty(obj: Base, propName: string): JsonObjectProperty;
197
204
  getProperty(className: string, propertyName: string): JsonObjectProperty;
@@ -276,15 +283,16 @@ export declare class JsonObject {
276
283
  errors: JsonError[];
277
284
  lightSerializing: boolean;
278
285
  options: ILoadFromJSONOptions;
279
- toJsonObject(obj: any, storeDefaults?: boolean): any;
286
+ toJsonObject(obj: any, options?: ISaveToJSONOptions | boolean): any;
280
287
  toObject(jsonObj: any, obj: any, options?: ILoadFromJSONOptions): void;
281
288
  toObjectCore(jsonObj: any, obj: any, options?: ILoadFromJSONOptions): void;
282
- toJsonObjectCore(obj: any, property: JsonObjectProperty, storeDefaults?: boolean): any;
289
+ toJsonObjectCore(obj: any, property: JsonObjectProperty, options?: ISaveToJSONOptions | boolean): any;
283
290
  private getDynamicProperties;
284
291
  private addDynamicProperties;
285
292
  private propertiesToJson;
286
- valueToJson(obj: any, result: any, property: JsonObjectProperty, storeDefaults?: boolean): void;
293
+ valueToJson(obj: any, result: any, prop: JsonObjectProperty, options?: ISaveToJSONOptions): void;
287
294
  valueToObj(value: any, obj: any, property: JsonObjectProperty, jsonObj?: any, options?: ILoadFromJSONOptions): void;
295
+ private removePosOnValueToJson;
288
296
  private removePos;
289
297
  private removePosFromObj;
290
298
  private isValueArray;
@@ -93,4 +93,6 @@ export declare class QuestionBooleanModel extends Question {
93
93
  protected supportResponsiveness(): boolean;
94
94
  protected getCompactRenderAs(): string;
95
95
  protected createActionContainer(allowAdaptiveActions?: boolean): ActionContainer;
96
+ get isNewA11yStructure(): boolean;
97
+ get a11y_input_ariaRole(): string;
96
98
  }
@@ -1,4 +1,5 @@
1
1
  import { Question, IConditionObject } from "./question";
2
+ import { JsonObjectProperty } from "./jsonobject";
2
3
  import { ISurveyImpl, ISurveyData, ITextProcessor, IPanel, IElement, IQuestion, IProgressInfo } from "./base-interfaces";
3
4
  import { SurveyElement } from "./survey-element";
4
5
  import { PanelModel } from "./panel";
@@ -68,6 +69,7 @@ export interface ICustomQuestionTypeConfiguration {
68
69
  * ```
69
70
  */
70
71
  defaultQuestionTitle?: any;
72
+ inheritBaseProps?: false | true | Array<string>;
71
73
  /**
72
74
  * A function that is called when the custom question is created. Use it to access questions nested within a [composite question type](https://surveyjs.io/form-library/documentation/customize-question-types/create-composite-question-types).
73
75
  *
@@ -220,6 +222,7 @@ export interface ICustomQuestionTypeConfiguration {
220
222
  export declare class ComponentQuestionJSON {
221
223
  name: string;
222
224
  json: ICustomQuestionTypeConfiguration;
225
+ private dynamicProperties;
223
226
  constructor(name: string, json: ICustomQuestionTypeConfiguration);
224
227
  onInit(): void;
225
228
  onCreated(question: Question): void;
@@ -236,6 +239,8 @@ export declare class ComponentQuestionJSON {
236
239
  setValueToQuestion(val: any): any;
237
240
  getValueFromQuestion(val: any): any;
238
241
  get isComposite(): boolean;
242
+ getDynamicProperties(): Array<JsonObjectProperty>;
243
+ private calcDynamicProperties;
239
244
  }
240
245
  export declare class ComponentCollection {
241
246
  static Instance: ComponentCollection;
@@ -313,6 +318,8 @@ export declare class QuestionCustomModel extends QuestionCustomModelBase {
313
318
  private questionWrapper;
314
319
  private hasJSONTitle;
315
320
  getTemplate(): string;
321
+ getDynamicProperties(): Array<JsonObjectProperty>;
322
+ getDynamicType(): string;
316
323
  protected createWrapper(): void;
317
324
  protected getElement(): SurveyElement;
318
325
  onAnyValueChanged(name: string, questionName: string): void;
@@ -337,6 +344,7 @@ export declare class QuestionCustomModel extends QuestionCustomModelBase {
337
344
  protected getValueCore(): any;
338
345
  private isSettingValueChanged;
339
346
  protected setValueChangedDirectly(val: boolean): void;
347
+ private createDynamicProperties;
340
348
  protected initElement(el: SurveyElement): void;
341
349
  updateElementCss(reNew?: boolean): void;
342
350
  protected updateElementCssCore(cssClasses: any): void;
@@ -120,6 +120,11 @@ export declare class QuestionMatrixModel extends QuestionMatrixBaseModel<MatrixR
120
120
  protected isNewValueCorrect(val: any): boolean;
121
121
  protected processRowsOnSet(newRows: Array<any>): MatrixRowModel[];
122
122
  get visibleRows(): Array<MatrixRowModel>;
123
+ /**
124
+ * An array of matrix cells. Use this array to get or set cell values.
125
+ *
126
+ * [View Demo](https://surveyjs.io/form-library/examples/questiontype-matrix-rubric/ (linkStyle))
127
+ */
123
128
  get cells(): MatrixCells;
124
129
  set cells(value: MatrixCells);
125
130
  get hasCellText(): boolean;
@@ -324,5 +324,4 @@ export declare class MatrixDropdownColumn extends Base implements ILocalizableOw
324
324
  private getProperties;
325
325
  private removeProperties;
326
326
  private addProperties;
327
- private addProperty;
328
327
  }
@@ -55,6 +55,7 @@ export declare class QuestionRankingModel extends QuestionCheckboxModel {
55
55
  handleKeydownSelectToRank(event: KeyboardEvent, movedElement: ItemValue): void;
56
56
  private setValueAfterKeydown;
57
57
  private focusItem;
58
+ isValueSetByUser: boolean;
58
59
  setValue: () => void;
59
60
  getIconHoverCss(): string;
60
61
  getIconFocusCss(): string;
@@ -77,6 +78,7 @@ export declare class QuestionRankingModel extends QuestionCheckboxModel {
77
78
  */
78
79
  get selectToRankEnabled(): boolean;
79
80
  set selectToRankEnabled(val: boolean);
81
+ carryForwardStartUnranked: boolean;
80
82
  /**
81
83
  * Specifies the layout of the ranked and unranked areas. Applies when [`selectToRankEnabled`](https://surveyjs.io/form-library/documentation/api-reference/ranking-question-model#selectToRankEnabled) is `true`.
82
84
  *
@@ -363,7 +363,7 @@ export declare var settings: {
363
363
  * @param message A message to be displayed in the confirm dialog window.
364
364
  * @param callback A callback function that should be called with `true` if a user confirms an action or `false` otherwise.
365
365
  */
366
- confirmActionAsync: (message: string, callback: (res: boolean) => void, applyTitle?: string) => boolean;
366
+ confirmActionAsync: (message: string, callback: (res: boolean) => void, applyTitle?: string, locale?: string) => boolean;
367
367
  /**
368
368
  * A minimum width value for all survey elements.
369
369
  *
@@ -2136,7 +2136,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
2136
2136
  getUpdatedMatrixRowActions(question: QuestionMatrixDropdownModelBase, row: any, actions: Array<IAction>): IAction[];
2137
2137
  scrollElementToTop(element: ISurveyElement, question: Question, page: PageModel, id: string, scrollIfVisible?: boolean): any;
2138
2138
  /**
2139
- * Uploads a file to server.
2139
+ * Uploads files to a server.
2140
2140
  *
2141
2141
  * The following code shows how to call this method:
2142
2142
  *
@@ -16,6 +16,8 @@ export declare class Trigger extends Base {
16
16
  get id(): number;
17
17
  getType(): string;
18
18
  toString(): string;
19
+ isGhost: boolean;
20
+ protected get isInternal(): boolean;
19
21
  get operator(): string;
20
22
  set operator(value: string);
21
23
  get value(): any;
@@ -16,10 +16,7 @@ export interface ISize {
16
16
  export declare class PopupUtils {
17
17
  static bottomIndent: number;
18
18
  static calculatePosition(targetRect: ClientRect, height: number, width: number, verticalPosition: VerticalPosition, horizontalPosition: HorizontalPosition, showPointer: boolean, positionMode?: PositionMode): INumberPosition;
19
- static getCorrectedVerticalDimensions(top: number, height: number, windowHeight: number): {
20
- height: number;
21
- top: number;
22
- };
19
+ static getCorrectedVerticalDimensions(top: number, height: number, windowHeight: number, verticalPosition: VerticalPosition): any;
23
20
  static updateHorizontalDimensions(left: number, width: number, windowWidth: number, horizontalPosition: HorizontalPosition, positionMode?: PositionMode, margins?: {
24
21
  left: number;
25
22
  right: number;
@@ -1,6 +1,6 @@
1
1
  declare function compareVersions(a: any, b: any): number;
2
2
  declare function confirmAction(message: string): boolean;
3
- declare function confirmActionAsync(message: string, funcOnYes: () => void, funcOnNo?: () => void): void;
3
+ declare function confirmActionAsync(message: string, funcOnYes: () => void, funcOnNo?: () => void, locale?: string): void;
4
4
  declare function detectIEBrowser(): boolean;
5
5
  declare function detectIEOrEdge(): boolean;
6
6
  declare function loadFileFromBase64(b64Data: string, fileName: string): void;
@@ -40,5 +40,5 @@ export declare class Logger {
40
40
  log(action: string): void;
41
41
  get result(): string;
42
42
  }
43
- export declare function showConfirmDialog(message: string, callback: (res: boolean) => void, applyTitle?: string): boolean;
43
+ export declare function showConfirmDialog(message: string, callback: (res: boolean) => void, applyTitle?: string, locale?: string): boolean;
44
44
  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, };