survey-core 1.9.128 → 1.9.130

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 (262) hide show
  1. package/defaultV2.css +171 -51
  2. package/defaultV2.css.map +1 -1
  3. package/defaultV2.fontless.css +171 -51
  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 +6 -6
  24. package/i18n/english.js.map +1 -1
  25. package/i18n/english.min.js +2 -2
  26. package/i18n/estonian.js +1 -1
  27. package/i18n/estonian.min.js +1 -1
  28. package/i18n/finnish.js +1 -1
  29. package/i18n/finnish.min.js +1 -1
  30. package/i18n/french.js +1 -1
  31. package/i18n/french.min.js +1 -1
  32. package/i18n/georgian.js +1 -1
  33. package/i18n/georgian.min.js +1 -1
  34. package/i18n/german.js +1 -1
  35. package/i18n/german.min.js +1 -1
  36. package/i18n/greek.js +1 -1
  37. package/i18n/greek.min.js +1 -1
  38. package/i18n/hebrew.js +1 -1
  39. package/i18n/hebrew.min.js +1 -1
  40. package/i18n/hindi.js +1 -1
  41. package/i18n/hindi.min.js +1 -1
  42. package/i18n/hungarian.js +1 -1
  43. package/i18n/hungarian.min.js +1 -1
  44. package/i18n/icelandic.js +1 -1
  45. package/i18n/icelandic.min.js +1 -1
  46. package/i18n/index.js +3 -3
  47. package/i18n/index.js.map +1 -1
  48. package/i18n/index.min.js +2 -2
  49. package/i18n/indonesian.js +1 -1
  50. package/i18n/indonesian.min.js +1 -1
  51. package/i18n/italian.js +1 -1
  52. package/i18n/italian.min.js +1 -1
  53. package/i18n/japanese.js +1 -1
  54. package/i18n/japanese.min.js +1 -1
  55. package/i18n/kazakh.js +1 -1
  56. package/i18n/kazakh.min.js +1 -1
  57. package/i18n/korean.js +1 -1
  58. package/i18n/korean.min.js +1 -1
  59. package/i18n/latvian.js +1 -1
  60. package/i18n/latvian.min.js +1 -1
  61. package/i18n/lithuanian.js +1 -1
  62. package/i18n/lithuanian.min.js +1 -1
  63. package/i18n/macedonian.js +1 -1
  64. package/i18n/macedonian.min.js +1 -1
  65. package/i18n/malay.js +1 -1
  66. package/i18n/malay.min.js +1 -1
  67. package/i18n/nl-BE.js +1 -1
  68. package/i18n/nl-BE.min.js +1 -1
  69. package/i18n/norwegian.js +1 -1
  70. package/i18n/norwegian.min.js +1 -1
  71. package/i18n/persian.js +1 -1
  72. package/i18n/persian.min.js +1 -1
  73. package/i18n/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 +2 -2
  88. package/i18n/slovak.js.map +1 -1
  89. package/i18n/slovak.min.js +2 -2
  90. package/i18n/spanish.js +2 -2
  91. package/i18n/spanish.js.map +1 -1
  92. package/i18n/spanish.min.js +2 -2
  93. package/i18n/swahili.js +1 -1
  94. package/i18n/swahili.min.js +1 -1
  95. package/i18n/swedish.js +1 -1
  96. package/i18n/swedish.min.js +1 -1
  97. package/i18n/tajik.js +1 -1
  98. package/i18n/tajik.min.js +1 -1
  99. package/i18n/telugu.js +1 -1
  100. package/i18n/telugu.min.js +1 -1
  101. package/i18n/thai.js +1 -1
  102. package/i18n/thai.min.js +1 -1
  103. package/i18n/traditional-chinese.js +1 -1
  104. package/i18n/traditional-chinese.min.js +1 -1
  105. package/i18n/turkish.js +1 -1
  106. package/i18n/turkish.min.js +1 -1
  107. package/i18n/ukrainian.js +1 -1
  108. package/i18n/ukrainian.min.js +1 -1
  109. package/i18n/urdu.js +1 -1
  110. package/i18n/urdu.min.js +1 -1
  111. package/i18n/vietnamese.js +1 -1
  112. package/i18n/vietnamese.min.js +1 -1
  113. package/i18n/welsh.js +1 -1
  114. package/i18n/welsh.min.js +1 -1
  115. package/modern.css +65 -16
  116. package/modern.css.map +1 -1
  117. package/modern.fontless.css +65 -16
  118. package/modern.fontless.css.map +1 -1
  119. package/modern.fontless.min.css +2 -2
  120. package/modern.min.css +2 -2
  121. package/package.json +1 -1
  122. package/plugins/bootstrap-integration.js +1 -1
  123. package/plugins/bootstrap-integration.min.js +1 -1
  124. package/plugins/bootstrap-material-integration.js +1 -1
  125. package/plugins/bootstrap-material-integration.min.js +1 -1
  126. package/survey.core.js +769 -173
  127. package/survey.core.js.map +1 -1
  128. package/survey.core.min.js +3 -3
  129. package/survey.css +63 -15
  130. package/survey.css.map +1 -1
  131. package/survey.i18n.js +3 -3
  132. package/survey.i18n.js.map +1 -1
  133. package/survey.i18n.min.js +2 -2
  134. package/survey.min.css +2 -2
  135. package/themes/borderless-dark-panelless.js +1 -1
  136. package/themes/borderless-dark-panelless.min.js +1 -1
  137. package/themes/borderless-dark.js +1 -1
  138. package/themes/borderless-dark.min.js +1 -1
  139. package/themes/borderless-light-panelless..js +1 -1
  140. package/themes/borderless-light-panelless..min.js +1 -1
  141. package/themes/borderless-light.js +1 -1
  142. package/themes/borderless-light.min.js +1 -1
  143. package/themes/contrast-dark-panelless.js +1 -1
  144. package/themes/contrast-dark-panelless.min.js +1 -1
  145. package/themes/contrast-dark.js +1 -1
  146. package/themes/contrast-dark.min.js +1 -1
  147. package/themes/contrast-light-panelless.js +1 -1
  148. package/themes/contrast-light-panelless.min.js +1 -1
  149. package/themes/contrast-light.js +1 -1
  150. package/themes/contrast-light.min.js +1 -1
  151. package/themes/default-dark-panelless.js +1 -1
  152. package/themes/default-dark-panelless.min.js +1 -1
  153. package/themes/default-dark.js +1 -1
  154. package/themes/default-dark.min.js +1 -1
  155. package/themes/default-light-panelless.js +1 -1
  156. package/themes/default-light-panelless.min.js +1 -1
  157. package/themes/default-light.js +1 -1
  158. package/themes/default-light.min.js +1 -1
  159. package/themes/doubleborder-dark-panelless.js +1 -1
  160. package/themes/doubleborder-dark-panelless.min.js +1 -1
  161. package/themes/doubleborder-dark.js +1 -1
  162. package/themes/doubleborder-dark.min.js +1 -1
  163. package/themes/doubleborder-light-panelles.js +1 -1
  164. package/themes/doubleborder-light-panelles.min.js +1 -1
  165. package/themes/doubleborder-light.js +1 -1
  166. package/themes/doubleborder-light.min.js +1 -1
  167. package/themes/flat-dark-panelless.js +1 -1
  168. package/themes/flat-dark-panelless.min.js +1 -1
  169. package/themes/flat-dark.js +1 -1
  170. package/themes/flat-dark.min.js +1 -1
  171. package/themes/flat-light-panelless.js +1 -1
  172. package/themes/flat-light-panelless.min.js +1 -1
  173. package/themes/flat-light.js +1 -1
  174. package/themes/flat-light.min.js +1 -1
  175. package/themes/index.js +1 -1
  176. package/themes/index.min.js +1 -1
  177. package/themes/layered-dark-panelless.js +1 -1
  178. package/themes/layered-dark-panelless.min.js +1 -1
  179. package/themes/layered-dark.js +1 -1
  180. package/themes/layered-dark.min.js +1 -1
  181. package/themes/layered-light-panelless.js +1 -1
  182. package/themes/layered-light-panelless.min.js +1 -1
  183. package/themes/layered-light.js +1 -1
  184. package/themes/layered-light.min.js +1 -1
  185. package/themes/plain-dark-panelless.js +1 -1
  186. package/themes/plain-dark-panelless.min.js +1 -1
  187. package/themes/plain-dark.js +1 -1
  188. package/themes/plain-dark.min.js +1 -1
  189. package/themes/plain-light-panelless.js +1 -1
  190. package/themes/plain-light-panelless.min.js +1 -1
  191. package/themes/plain-light.js +1 -1
  192. package/themes/plain-light.min.js +1 -1
  193. package/themes/sharp-dark-panelless.js +1 -1
  194. package/themes/sharp-dark-panelless.min.js +1 -1
  195. package/themes/sharp-dark.js +1 -1
  196. package/themes/sharp-dark.min.js +1 -1
  197. package/themes/sharp-light-panelless.js +1 -1
  198. package/themes/sharp-light-panelless.min.js +1 -1
  199. package/themes/sharp-light.js +1 -1
  200. package/themes/sharp-light.min.js +1 -1
  201. package/themes/solid-dark-panelless.js +1 -1
  202. package/themes/solid-dark-panelless.min.js +1 -1
  203. package/themes/solid-dark.js +1 -1
  204. package/themes/solid-dark.min.js +1 -1
  205. package/themes/solid-light-panelless.js +1 -1
  206. package/themes/solid-light-panelless.min.js +1 -1
  207. package/themes/solid-light.js +1 -1
  208. package/themes/solid-light.min.js +1 -1
  209. package/themes/three-dimensional-dark-panelless.js +1 -1
  210. package/themes/three-dimensional-dark-panelless.min.js +1 -1
  211. package/themes/three-dimensional-dark.js +1 -1
  212. package/themes/three-dimensional-dark.min.js +1 -1
  213. package/themes/three-dimensional-light-panelless.js +1 -1
  214. package/themes/three-dimensional-light-panelless.min.js +1 -1
  215. package/themes/three-dimensional-light.js +1 -1
  216. package/themes/three-dimensional-light.min.js +1 -1
  217. package/ts3.4/typings/base-interfaces.d.ts +4 -0
  218. package/ts3.4/typings/defaultCss/cssmodern.d.ts +2 -0
  219. package/ts3.4/typings/defaultCss/cssstandard.d.ts +2 -0
  220. package/ts3.4/typings/defaultCss/defaultV2Css.d.ts +3 -0
  221. package/ts3.4/typings/dragdrop/dom-adapter.d.ts +2 -1
  222. package/ts3.4/typings/dropdownListModel.d.ts +2 -0
  223. package/ts3.4/typings/entries/chunks/model.d.ts +2 -2
  224. package/ts3.4/typings/header.d.ts +3 -0
  225. package/ts3.4/typings/jsonobject.d.ts +7 -0
  226. package/ts3.4/typings/panel.d.ts +7 -1
  227. package/ts3.4/typings/popup-survey.d.ts +10 -0
  228. package/ts3.4/typings/question_boolean.d.ts +3 -0
  229. package/ts3.4/typings/question_custom.d.ts +2 -0
  230. package/ts3.4/typings/question_file.d.ts +2 -1
  231. package/ts3.4/typings/question_matrixdropdownbase.d.ts +13 -8
  232. package/ts3.4/typings/question_matrixdropdowncolumn.d.ts +17 -0
  233. package/ts3.4/typings/question_matrixdropdownrendered.d.ts +1 -0
  234. package/ts3.4/typings/question_matrixdynamic.d.ts +2 -3
  235. package/ts3.4/typings/question_paneldynamic.d.ts +1 -1
  236. package/ts3.4/typings/settings.d.ts +27 -11
  237. package/ts3.4/typings/survey-events-api.d.ts +19 -0
  238. package/ts3.4/typings/survey.d.ts +19 -1
  239. package/ts3.4/typings/utils/utils.d.ts +4 -3
  240. package/typings/base-interfaces.d.ts +4 -0
  241. package/typings/defaultCss/cssmodern.d.ts +2 -0
  242. package/typings/defaultCss/cssstandard.d.ts +2 -0
  243. package/typings/defaultCss/defaultV2Css.d.ts +3 -0
  244. package/typings/dragdrop/dom-adapter.d.ts +2 -1
  245. package/typings/dropdownListModel.d.ts +2 -0
  246. package/typings/entries/chunks/model.d.ts +2 -2
  247. package/typings/header.d.ts +3 -0
  248. package/typings/jsonobject.d.ts +7 -0
  249. package/typings/panel.d.ts +7 -1
  250. package/typings/popup-survey.d.ts +12 -0
  251. package/typings/question_boolean.d.ts +3 -0
  252. package/typings/question_custom.d.ts +2 -0
  253. package/typings/question_file.d.ts +2 -1
  254. package/typings/question_matrixdropdownbase.d.ts +14 -8
  255. package/typings/question_matrixdropdowncolumn.d.ts +18 -0
  256. package/typings/question_matrixdropdownrendered.d.ts +1 -0
  257. package/typings/question_matrixdynamic.d.ts +2 -3
  258. package/typings/question_paneldynamic.d.ts +1 -1
  259. package/typings/settings.d.ts +27 -11
  260. package/typings/survey-events-api.d.ts +19 -0
  261. package/typings/survey.d.ts +19 -1
  262. package/typings/utils/utils.d.ts +4 -3
@@ -54,6 +54,7 @@ export declare class JsonObjectProperty implements IObject {
54
54
  isBindable: boolean;
55
55
  className: string;
56
56
  alternativeName: string;
57
+ oldName: string;
57
58
  classNamePart: string;
58
59
  baseClassName: string;
59
60
  defaultValueValue: any;
@@ -77,6 +78,7 @@ export declare class JsonObjectProperty implements IObject {
77
78
  onSettingValue: (obj: any, value: any) => any;
78
79
  onSetValue: (obj: any, value: any, jsonConv: JsonObject) => any;
79
80
  visibleIf: (obj: any) => boolean;
81
+ enableIf: (obj: any) => boolean;
80
82
  onExecuteExpression: (obj: any, res: any) => any;
81
83
  onPropertyEditorUpdate: (obj: any, propEditor: any) => any;
82
84
  constructor(classInfo: JsonMetadataClass, name: string, isRequired?: boolean);
@@ -110,10 +112,13 @@ export declare class JsonObjectProperty implements IObject {
110
112
  getBaseValue(): string;
111
113
  setBaseValue(val: any): void;
112
114
  readOnly: boolean;
115
+ isEnable(obj: any): boolean;
113
116
  isVisible(layout: string, obj?: any): boolean;
117
+ private getOriginalObj;
114
118
  visible: boolean;
115
119
  isAvailableInVersion(ver: string): boolean;
116
120
  getSerializedName(ver: string): string;
121
+ getSerializedProperty(obj: any, ver: string): JsonObjectProperty;
117
122
  private isAvailableInVersionCore;
118
123
  isLocalizable: boolean;
119
124
  dataList: Array<string>;
@@ -180,6 +185,7 @@ export declare class JsonMetadata {
180
185
  setObjPropertyValue(obj: any, name: string, val: any): void;
181
186
  private getObjPropertyValueCore;
182
187
  private isObjWrapper;
188
+ private isNeedUseObjWrapper;
183
189
  addClass(name: string, properties: Array<any>, creator?: (json?: any) => any, parentName?: string): JsonMetadataClass;
184
190
  removeClass(name: string): void;
185
191
  overrideClassCreatore(name: string, creator: () => any): void;
@@ -282,6 +288,7 @@ export declare class JsonObject {
282
288
  private addDynamicProperties;
283
289
  private propertiesToJson;
284
290
  valueToJson(obj: any, result: any, prop: JsonObjectProperty, options?: ISaveToJSONOptions): void;
291
+ private valueToJsonCore;
285
292
  valueToObj(value: any, obj: any, property: JsonObjectProperty, jsonObj?: any, options?: ILoadFromJSONOptions): void;
286
293
  private removePosOnValueToJson;
287
294
  private removePos;
@@ -276,6 +276,11 @@ export declare class PanelModelBase extends SurveyElement<Question> implements I
276
276
  readonly rows: Array<QuestionRowModel>;
277
277
  ensureRowsVisibility(): void;
278
278
  protected onRowsChanged(): void;
279
+ private locCountRowUpdates;
280
+ private blockRowsUpdates;
281
+ private releaseRowsUpdates;
282
+ private updateRowsBeforeElementRemoved;
283
+ private updateRowsOnElementAdded;
279
284
  protected onAddElement(element: IElement, index: number): void;
280
285
  protected onRemoveElement(element: IElement): void;
281
286
  private onElementVisibilityChanged;
@@ -340,6 +345,7 @@ export declare class PanelModelBase extends SurveyElement<Question> implements I
340
345
  * @see addNewPanel
341
346
  */
342
347
  addElement(element: IElement, index?: number): boolean;
348
+ insertElement(element: IElement, dest?: IElement, location?: "bottom" | "top" | "left" | "right"): void;
343
349
  insertElementAfter(element: IElement, after: IElement): void;
344
350
  insertElementBefore(element: IElement, before: IElement): void;
345
351
  protected canAddElement(element: IElement): boolean;
@@ -362,7 +368,7 @@ export declare class PanelModelBase extends SurveyElement<Question> implements I
362
368
  *
363
369
  * This method returns `null` if the panel cannot be created or added to this panel/page; otherwise, the method returns the created panel.
364
370
  * @param name A panel name.
365
- * @see elements
371
+ * @see elementsup
366
372
  * @see addElement
367
373
  */
368
374
  addNewPanel(name?: string): PanelModel;
@@ -33,6 +33,7 @@ export declare class PopupSurveyModel extends Base {
33
33
  * You can set this property to `true` or `false` to control visibility of the pop-up survey. Alternatively, you can use the [`show()`](#show) and [`hide()`](#hide) methods.
34
34
  */
35
35
  isShowing: boolean;
36
+ isFullScreen: boolean;
36
37
  /**
37
38
  * Shows the pop-up survey. The survey may appear [expanded or collapsed](#isExpanded).
38
39
  *
@@ -49,6 +50,7 @@ export declare class PopupSurveyModel extends Base {
49
50
  * @see collapse
50
51
  */
51
52
  hide(): void;
53
+ toggleFullScreen(): void;
52
54
  /*
53
55
  * Indicates whether the pop-up window is expanded or collapsed.
54
56
  *
@@ -89,6 +91,12 @@ export declare class PopupSurveyModel extends Base {
89
91
  * @see hide
90
92
  */
91
93
  allowClose: boolean;
94
+ /*
95
+ * Specifies whether to display a button that allows respondents to show the pop-up survey in full screen mode.
96
+ *
97
+ * Default value: `false`
98
+ */
99
+ allowFullScreen: boolean;
92
100
  readonly css: any;
93
101
  readonly cssButton: string;
94
102
  readonly cssRoot: string;
@@ -100,9 +108,11 @@ export declare class PopupSurveyModel extends Base {
100
108
  readonly cssHeaderButtonsContainer: string;
101
109
  readonly cssHeaderCollapseButton: string;
102
110
  readonly cssHeaderCloseButton: string;
111
+ readonly cssHeaderFullScreenButton: string;
103
112
  readonly renderedWidth: string;
104
113
  width: string;
105
114
  private updateCss;
115
+ private setCssRoot;
106
116
  private updateCssButton;
107
117
  private setCssButton;
108
118
  protected createSurvey(jsonObj: any): SurveyModel;
@@ -42,6 +42,9 @@ export declare class QuestionBooleanModel extends Question {
42
42
  labelTrue: string;
43
43
  readonly locLabelTrue: LocalizableString;
44
44
  readonly isDeterminated: boolean;
45
+ swapOrder: boolean;
46
+ readonly locLabelLeft: LocalizableString;
47
+ readonly locLabelRight: LocalizableString;
45
48
  /*
46
49
  * Gets or sets a text label that corresponds to a negative answer.
47
50
  *
@@ -332,6 +332,7 @@ export declare class QuestionCustomModel extends QuestionCustomModelBase {
332
332
  getDynamicType(): string;
333
333
  getOriginalObj(): Base;
334
334
  protected createWrapper(): void;
335
+ private getDynamicProperty;
335
336
  protected getElement(): SurveyElement;
336
337
  onAnyValueChanged(name: string, questionName: string): void;
337
338
  protected getQuestionByName(name: string): IQuestion;
@@ -390,6 +391,7 @@ export declare class QuestionCompositeModel extends QuestionCustomModelBase {
390
391
  protected getQuestionByName(name: string): IQuestion;
391
392
  private settingNewValue;
392
393
  setValue(name: string, newValue: any, locNotification: any, allowNotifyValueChanged?: boolean): any;
394
+ getFilteredValues(): any;
393
395
  private updateValueCoreWithPanelValue;
394
396
  private getContentPanelValue;
395
397
  private getValueForContentPanel;
@@ -139,6 +139,7 @@ export declare class QuestionFileModel extends QuestionFileModelBase {
139
139
  * Default value: 0 (unlimited)
140
140
  */
141
141
  maxSize: number;
142
+ chooseFile(event: MouseEvent): void;
142
143
  /*
143
144
  * Specifies whether users should confirm file deletion.
144
145
  *
@@ -227,7 +228,7 @@ export declare class QuestionFileModel extends QuestionFileModelBase {
227
228
  protected onChangeQuestionValue(newValue: any): void;
228
229
  protected calcCssClasses(css: any): any;
229
230
  updateElementCss(reNew?: boolean): void;
230
- endLoadingFromJson(): void;
231
+ onSurveyLoad(): void;
231
232
  protected needResponsiveness(): boolean;
232
233
  protected supportResponsiveness(): boolean;
233
234
  protected getObservedElementSelector(): string;
@@ -46,6 +46,7 @@ export declare class MatrixDropdownCell {
46
46
  protected createQuestion(column: MatrixDropdownColumn, row: MatrixDropdownRowModelBase, data: IMatrixDropdownData): Question;
47
47
  readonly question: Question;
48
48
  value: any;
49
+ getQuestionWrapperClassName(className: string): string;
49
50
  runCondition(values: HashTable<any>, properties: HashTable<any>): void;
50
51
  }
51
52
  export declare class MatrixDropdownTotalCell extends MatrixDropdownCell {
@@ -56,6 +57,7 @@ export declare class MatrixDropdownTotalCell extends MatrixDropdownCell {
56
57
  protected createQuestion(column: MatrixDropdownColumn, row: MatrixDropdownRowModelBase, data: IMatrixDropdownData): Question;
57
58
  locStrsChanged(): void;
58
59
  updateCellQuestion(): void;
60
+ getQuestionWrapperClassName(className: string): string;
59
61
  getTotalExpression(): string;
60
62
  }
61
63
  export declare class MatrixDropdownRowModelBase implements ISurveyData, ISurveyImpl, ILocalizableOwner {
@@ -188,12 +190,15 @@ export declare class QuestionMatrixDropdownModelBase extends QuestionMatrixBaseM
188
190
  protected updateColumnsAndRows(): void;
189
191
  itemValuePropertyChanged(item: ItemValue, name: string, oldValue: any, newValue: any): void;
190
192
  /*
191
- * Specifies the matrix layout. Set this property to `"vertical"` if you want to display columns instead of rows and rows instead of columns.
193
+ * Specifies whether to display [`columns`](#columns) as rows and [`rows`](#rows) as columns.
192
194
  *
193
- * Default value: `"horizontal"`
194
- * @see columns
195
- * @see rows
196
- * @see isColumnLayoutHorizontal
195
+ * Default value: `false`
196
+ *
197
+ * [View Demo](https://surveyjs.io/form-library/examples/transpose-dynamic-rows-to-columns-in-matrix/ (linkStyle))
198
+ */
199
+ transposeData: boolean;
200
+ /*
201
+ * This property is obsolete. Use the [`transposeData`](#transposeData) property instead.
197
202
  */
198
203
  columnLayout: string;
199
204
  columnsLocation: string;
@@ -221,10 +226,10 @@ export declare class QuestionMatrixDropdownModelBase extends QuestionMatrixBaseM
221
226
  cellErrorLocation: string;
222
227
  getChildErrorLocation(child: Question): string;
223
228
  /*
224
- * Returns `true` if columns are placed in the horizontal direction and rows in the vertical direction.
229
+ * Returns `true` if [`columns`](#columns) are placed in the horizontal direction and [`rows`](#columns) in the vertical direction.
225
230
  *
226
- * To specify the layout, use the `columnLayout` property. If you set it to `"vertical"`, the survey applies it only when the screen has enough space. Otherwise, the survey falls back to the horizontal layout, but the `columnLayout` property remains set to `"vertical"`. Unlike `columnLayout`, the `isColumnLayoutHorizontal` property always indicates the current layout.
227
- * @see columnLayout
231
+ * To specify the layout, use the [`transposeData`](#transposeData) property. If you set it to `true`, the survey applies it only when the screen has enough space. Otherwise, the survey falls back to the original layout, but the `transposeData` property remains set to `true`. Unlike `transposeData`, the `isColumnLayoutHorizontal` property always indicates the current layout.
232
+ * @see transposeData
228
233
  */
229
234
  readonly isColumnLayoutHorizontal: boolean;
230
235
  /*
@@ -247,6 +247,23 @@ export declare class MatrixDropdownColumn extends Base implements ILocalizableOw
247
247
  */
248
248
  totalDisplayStyle: string;
249
249
  /*
250
+ * An alignment for calculated total values.
251
+ *
252
+ * Possible values:
253
+ *
254
+ * - `"left"`
255
+ * - `"center"`
256
+ * - `"right"`
257
+ * - `"auto"` (default) - Applies one of the values above based on the column's [cell type](#cellType).
258
+ *
259
+ * [View Demo](https://surveyjs.io/form-library/examples/aggregate-data-within-form/ (linkStyle))
260
+ * @see totalType
261
+ * @see totalFormat
262
+ * @see totalCurrency
263
+ * @see totalDisplayStyle
264
+ */
265
+ totalAlignment: string;
266
+ /*
250
267
  * Specifies a currency used to display calculated total values. Applies only if [`totalDisplayStyle`](#totalDisplayStyle) is set to `"currency"`.
251
268
  * @see totalType
252
269
  */
@@ -44,6 +44,7 @@ export declare class QuestionMatrixDropdownRenderedCell {
44
44
  readonly isRadio: boolean;
45
45
  readonly isFirstChoice: boolean;
46
46
  className: string;
47
+ readonly cellQuestionWrapperClassName: string;
47
48
  readonly headers: string;
48
49
  getTitle(): string;
49
50
  calculateFinalClassName(matrixCssClasses: any): string;
@@ -79,7 +79,7 @@ export declare class QuestionMatrixDynamicModel extends QuestionMatrixDropdownMo
79
79
  protected updateProgressInfoByValues(res: IProgressInfo): void;
80
80
  private getValueForNewRow;
81
81
  /*
82
- * Specifies whether users can drag and drop matrix rows to reorder them. Applies only if [`columnLayout`](#columnLayout) is `"horizontal"`.
82
+ * Specifies whether users can drag and drop matrix rows to reorder them. Applies only if [`transposeData`](#transposeData) is `false`.
83
83
  *
84
84
  * Default value: `false`
85
85
  */
@@ -203,8 +203,7 @@ export declare class QuestionMatrixDynamicModel extends QuestionMatrixDropdownMo
203
203
  * - `"bottom"` - Displays the Add Row button at the bottom of the matrix.
204
204
  * - `"topBottom"` - Displays the Add Row button at the top and bottom of the matrix.
205
205
  *
206
- * Default value: `"top"` if `columnLayout` is `vertical`; `"bottom"` if `columnLayout` is `"horizontal"` or the matrix is in compact mode.
207
- * @see columnLayout
206
+ * Default value: `"top"` if [`transposeData`](#transposeData) is `true`; `"bottom"` if `transposeData` is `false` or the matrix is in compact mode.
208
207
  * @see addRowText
209
208
  */
210
209
  addRowLocation: string;
@@ -582,7 +582,7 @@ export declare class QuestionPanelDynamicModel extends Question implements IQues
582
582
  getPrevButtonCss(): string;
583
583
  getNextButtonCss(): string;
584
584
  /*
585
- * A text displayed when Dynamic Panel contains no entries. Applies only in the Default V2 theme.
585
+ * A text displayed when Dynamic Panel contains no entries.
586
586
  */
587
587
  noEntriesText: string;
588
588
  readonly locNoEntriesText: LocalizableString;
@@ -339,31 +339,47 @@ export declare var settings: {
339
339
  */
340
340
  tagboxCloseOnSelect: boolean;
341
341
  /**
342
- * A property that allows you to display a custom confirm dialog.
342
+ * A function that activates a browser confirm dialog.
343
343
  *
344
- * Set this property to a function that renders your custom dialog window. This function should return `true` if a user confirms an action or `false` otherwise.
344
+ * Use the following code to execute this function:
345
+ *
346
+ * ```js
347
+ * import { settings } from "survey-core";
348
+ *
349
+ * // `result` contains `true` if the action was confirmed or `false` otherwise
350
+ * const result = settings.confirmActionFunc("Are you sure?");
351
+ * ```
352
+ *
353
+ * You can redefine the `confirmActionFunc` function if you want to display a custom dialog window. Your function should return `true` if a user confirms an action or `false` otherwise.
345
354
  * @param message A message to be displayed in the confirm dialog window.
346
355
  */
347
356
  confirmActionFunc: (message: string) => boolean;
348
357
  /**
349
- * A property that allows you to display a custom confirm dialog in async mode or activate the standard browser dialog.
358
+ * A function that activates a proprietary SurveyJS confirm dialog.
350
359
  *
351
- * To display a custom confirm dialog, set this property to a function that renders it. This function should return `true` to be enabled; otherwise, a survey executes the [`confirmActionFunc`](#confirmActionFunc) function. Pass the dialog result as the `callback` parameter: `true` if a user confirms an action, `false` otherwise.
352
- *
353
- * To activate the standard browser dialog, set the `confirmActionAsync` property to a function that returns `false`. With this configuration, a survey falls back to the [`confirmActionFunc`](#confirmActionFunc) function, which renders the standard browser dialog by default.
360
+ * Use the following code to execute this function:
354
361
  *
355
362
  * ```js
356
363
  * import { settings } from "survey-core";
357
364
  *
358
- * // Display the standard browser dialog
359
- * settings.confirmActionAsync = () => {
360
- * return false;
361
- * }
365
+ * settings.confirmActionAsync("Are you sure?", (confirmed) => {
366
+ * if (confirmed) {
367
+ * // ...
368
+ * // Proceed with the action
369
+ * // ...
370
+ * } else {
371
+ * // ...
372
+ * // Cancel the action
373
+ * // ...
374
+ * }
375
+ * });
362
376
  * ```
377
+ *
378
+ * You can redefine the `confirmActionAsync` function if you want to display a custom dialog window. Your function should return `true` to be enabled; otherwise, a survey executes the [`confirmActionFunc`](#confirmActionFunc) function. Pass the dialog result as the `callback` parameter: `true` if a user confirms an action, `false` otherwise.
363
379
  * @param message A message to be displayed in the confirm dialog window.
364
380
  * @param callback A callback function that should be called with `true` if a user confirms an action or `false` otherwise.
365
381
  */
366
- confirmActionAsync: (message: string, callback: (res: boolean) => void, applyTitle?: string, locale?: string) => boolean;
382
+ confirmActionAsync: (message: string, callback: (res: boolean) => void, applyTitle?: string, locale?: string, rootElement?: HTMLElement) => boolean;
367
383
  /**
368
384
  * A minimum width value for all survey elements.
369
385
  *
@@ -508,6 +508,25 @@ export interface UploadFilesEvent extends LoadFilesEvent {
508
508
  */
509
509
  files: Array<File>;
510
510
  }
511
+ export interface OpenFileChooserEvent {
512
+ /**
513
+ * A file input HTML element.
514
+ */
515
+ input: HTMLInputElement;
516
+ /**
517
+ * A question, panel, page, or survey for which this event is raised.
518
+ */
519
+ element: Base;
520
+ /**
521
+ * A choice item for which the event is raised. This parameter has a value only when the dialog window is opened to select images for an [Image Picker](https://surveyjs.io/form-library/documentation/api-reference/image-picker-question-model) question.
522
+ */
523
+ item: ItemValue;
524
+ /**
525
+ * A callback function to which you should pass selected files.
526
+ * @param files An array of selected files.
527
+ */
528
+ callback: (files: Array<File>) => void;
529
+ }
511
530
  export interface DownloadFileEvent extends LoadFilesEvent {
512
531
  /**
513
532
  * A callback function that you should call when a file is downloaded successfully or when deletion fails. Pass `"success"` or `"error"` as the first argument to indicate the operation status. As the second argument, you can pass the downloaded file's data as a Base64 string if file download was successful or an error message if file download failed.
@@ -18,7 +18,7 @@ import { IAction, Action } from "./actions/action";
18
18
  import { ActionContainer } from "./actions/container";
19
19
  import { QuestionPanelDynamicModel } from "./question_paneldynamic";
20
20
  import { Notifier } from "./notifier";
21
- import { TriggerExecutedEvent, CompletingEvent, CompleteEvent, ShowingPreviewEvent, NavigateToUrlEvent, CurrentPageChangingEvent, CurrentPageChangedEvent, ValueChangingEvent, ValueChangedEvent, VariableChangedEvent, QuestionVisibleChangedEvent, PageVisibleChangedEvent, PanelVisibleChangedEvent, QuestionCreatedEvent, QuestionAddedEvent, QuestionRemovedEvent, PanelAddedEvent, PanelRemovedEvent, PageAddedEvent, ValidateQuestionEvent, SettingQuestionErrorsEvent, ValidatePanelEvent, ErrorCustomTextEvent, ValidatedErrorsOnCurrentPageEvent, ProcessHtmlEvent, GetQuestionTitleEvent, GetTitleTagNameEvent, GetQuestionNoEvent, ProgressTextEvent, TextMarkdownEvent, TextRenderAsEvent, SendResultEvent, GetResultEvent, UploadFilesEvent, DownloadFileEvent, ClearFilesEvent, LoadChoicesFromServerEvent, ProcessTextValueEvent, UpdateQuestionCssClassesEvent, UpdatePanelCssClassesEvent, UpdatePageCssClassesEvent, UpdateChoiceItemCssEvent, AfterRenderSurveyEvent, AfterRenderHeaderEvent, AfterRenderPageEvent, AfterRenderQuestionEvent, AfterRenderQuestionInputEvent, AfterRenderPanelEvent, FocusInQuestionEvent, FocusInPanelEvent, ShowingChoiceItemEvent, ChoicesLazyLoadEvent, GetChoiceDisplayValueEvent, MatrixRowAddedEvent, MatrixBeforeRowAddedEvent, MatrixRowRemovingEvent, MatrixRowRemovedEvent, MatrixAllowRemoveRowEvent, MatrixCellCreatingEvent, MatrixCellCreatedEvent, MatrixAfterCellRenderEvent, MatrixCellValueChangedEvent, MatrixCellValueChangingEvent, MatrixCellValidateEvent, DynamicPanelModifiedEvent, DynamicPanelRemovingEvent, TimerPanelInfoTextEvent, DynamicPanelItemValueChangedEvent, DynamicPanelGetTabTitleEvent, DynamicPanelCurrentIndexChangedEvent, IsAnswerCorrectEvent, DragDropAllowEvent, ScrollingElementToTopEvent, GetQuestionTitleActionsEvent, GetPanelTitleActionsEvent, GetPageTitleActionsEvent, GetPanelFooterActionsEvent, GetMatrixRowActionsEvent, ElementContentVisibilityChangedEvent, GetExpressionDisplayValueEvent, ServerValidateQuestionsEvent, MultipleTextItemAddedEvent, MatrixColumnAddedEvent, GetQuestionDisplayValueEvent, PopupVisibleChangedEvent, ChoicesSearchEvent } from "./survey-events-api";
21
+ import { TriggerExecutedEvent, CompletingEvent, CompleteEvent, ShowingPreviewEvent, NavigateToUrlEvent, CurrentPageChangingEvent, CurrentPageChangedEvent, ValueChangingEvent, ValueChangedEvent, VariableChangedEvent, QuestionVisibleChangedEvent, PageVisibleChangedEvent, PanelVisibleChangedEvent, QuestionCreatedEvent, QuestionAddedEvent, QuestionRemovedEvent, PanelAddedEvent, PanelRemovedEvent, PageAddedEvent, ValidateQuestionEvent, SettingQuestionErrorsEvent, ValidatePanelEvent, ErrorCustomTextEvent, ValidatedErrorsOnCurrentPageEvent, ProcessHtmlEvent, GetQuestionTitleEvent, GetTitleTagNameEvent, GetQuestionNoEvent, ProgressTextEvent, TextMarkdownEvent, TextRenderAsEvent, SendResultEvent, GetResultEvent, UploadFilesEvent, DownloadFileEvent, ClearFilesEvent, LoadChoicesFromServerEvent, ProcessTextValueEvent, UpdateQuestionCssClassesEvent, UpdatePanelCssClassesEvent, UpdatePageCssClassesEvent, UpdateChoiceItemCssEvent, AfterRenderSurveyEvent, AfterRenderHeaderEvent, AfterRenderPageEvent, AfterRenderQuestionEvent, AfterRenderQuestionInputEvent, AfterRenderPanelEvent, FocusInQuestionEvent, FocusInPanelEvent, ShowingChoiceItemEvent, ChoicesLazyLoadEvent, GetChoiceDisplayValueEvent, MatrixRowAddedEvent, MatrixBeforeRowAddedEvent, MatrixRowRemovingEvent, MatrixRowRemovedEvent, MatrixAllowRemoveRowEvent, MatrixCellCreatingEvent, MatrixCellCreatedEvent, MatrixAfterCellRenderEvent, MatrixCellValueChangedEvent, MatrixCellValueChangingEvent, MatrixCellValidateEvent, DynamicPanelModifiedEvent, DynamicPanelRemovingEvent, TimerPanelInfoTextEvent, DynamicPanelItemValueChangedEvent, DynamicPanelGetTabTitleEvent, DynamicPanelCurrentIndexChangedEvent, IsAnswerCorrectEvent, DragDropAllowEvent, ScrollingElementToTopEvent, GetQuestionTitleActionsEvent, GetPanelTitleActionsEvent, GetPageTitleActionsEvent, GetPanelFooterActionsEvent, GetMatrixRowActionsEvent, ElementContentVisibilityChangedEvent, GetExpressionDisplayValueEvent, ServerValidateQuestionsEvent, MultipleTextItemAddedEvent, MatrixColumnAddedEvent, GetQuestionDisplayValueEvent, PopupVisibleChangedEvent, ChoicesSearchEvent, OpenFileChooserEvent } from "./survey-events-api";
22
22
  import { QuestionMatrixDropdownModelBase } from "./question_matrixdropdownbase";
23
23
  import { QuestionMatrixDynamicModel } from "./question_matrixdynamic";
24
24
  import { QuestionFileModel } from "./question_file";
@@ -358,6 +358,12 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
358
358
  * @see getResult
359
359
  */
360
360
  onGetResult: EventBase<SurveyModel, GetResultEvent>;
361
+ /**
362
+ * An event that is raised when Survey Creator opens a dialog window for users to select files.
363
+ * @see onUploadFile
364
+ * @see uploadFiles
365
+ */
366
+ onOpenFileChooser: EventBase<SurveyModel, OpenFileChooserEvent>;
361
367
  /**
362
368
  * An event that is raised when a File Upload or Signature Pad question starts to upload a file. Applies only if [`storeDataAsText`](https://surveyjs.io/form-library/documentation/api-reference/file-model#storeDataAsText) is `false`. Use this event to upload files to your server.
363
369
  *
@@ -1171,6 +1177,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
1171
1177
  readonly isLogoBefore: boolean;
1172
1178
  readonly isLogoAfter: boolean;
1173
1179
  readonly logoClassNames: string;
1180
+ private titleIsEmpty;
1174
1181
  readonly renderedHasTitle: boolean;
1175
1182
  readonly renderedHasDescription: boolean;
1176
1183
  readonly hasTitle: boolean;
@@ -2069,6 +2076,17 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
2069
2076
  private getUpdatedPageTitleActions;
2070
2077
  getUpdatedMatrixRowActions(question: QuestionMatrixDropdownModelBase, row: any, actions: Array<IAction>): IAction[];
2071
2078
  scrollElementToTop(element: ISurveyElement, question: Question, page: PageModel, id: string, scrollIfVisible?: boolean): any;
2079
+ /**
2080
+ * Opens a dialog window for users to select files.
2081
+ * @param input A [file input HTML element](https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement).
2082
+ * @param callback A callback function that you can use to process selected files. Accepts an array of JavaScript <a href="https://developer.mozilla.org/en-US/docs/Web/API/File" target="_blank">File</a> objects.
2083
+ * @see onOpenFileChooser
2084
+ * @see onUploadFile
2085
+ */
2086
+ chooseFiles(input: HTMLInputElement, callback: (files: File[]) => void, context?: {
2087
+ element: ISurveyElement;
2088
+ item?: any;
2089
+ }): void;
2072
2090
  /**
2073
2091
  * Uploads files to a server.
2074
2092
  *
@@ -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, locale?: string): void;
3
+ declare function confirmActionAsync(message: string, funcOnYes: () => void, funcOnNo?: () => void, locale?: string, rootElement?: HTMLElement): 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,6 @@ 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, locale?: string): boolean;
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, };
43
+ export declare function showConfirmDialog(message: string, callback: (res: boolean) => void, applyTitle?: string, locale?: string, rootElement?: HTMLElement): boolean;
44
+ declare function chooseFiles(input: HTMLInputElement, callback: (files: File[]) => void): void;
45
+ 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 };
@@ -157,6 +157,10 @@ export interface ISurvey extends ITextProcessor, ISurveyErrorOwner {
157
157
  elementContentVisibilityChanged(element: ISurveyElement): void;
158
158
  onCorrectQuestionAnswer(question: IQuestion, options: any): void;
159
159
  processPopupVisiblityChanged(question: IQuestion, popupModel: PopupModel, visible: boolean): void;
160
+ chooseFiles(input: HTMLInputElement, callback: (files: File[]) => void, context?: {
161
+ element: ISurveyElement;
162
+ item?: any;
163
+ }): void;
160
164
  }
161
165
  export interface ISurveyImpl {
162
166
  getSurveyData(): ISurveyData;
@@ -426,6 +426,7 @@ export declare var modernCss: {
426
426
  window: {
427
427
  root: string;
428
428
  rootCollapsedMod: string;
429
+ rootFullScreenMode: string;
429
430
  rootContent: string;
430
431
  body: string;
431
432
  header: {
@@ -437,6 +438,7 @@ export declare var modernCss: {
437
438
  buttonCollapsed: string;
438
439
  collapseButton: string;
439
440
  closeButton: string;
441
+ fullScreenButton: string;
440
442
  };
441
443
  };
442
444
  variables: {
@@ -360,6 +360,7 @@ export declare var defaultStandardCss: {
360
360
  window: {
361
361
  root: string;
362
362
  rootCollapsedMod: string;
363
+ rootFullScreenMode: string;
363
364
  rootContent: string;
364
365
  body: string;
365
366
  header: {
@@ -371,6 +372,7 @@ export declare var defaultStandardCss: {
371
372
  buttonCollapsed: string;
372
373
  collapseButton: string;
373
374
  closeButton: string;
375
+ fullScreenButton: string;
374
376
  };
375
377
  };
376
378
  variables: {
@@ -276,6 +276,7 @@ export declare var defaultV2Css: {
276
276
  itemOnError: string;
277
277
  control: string;
278
278
  itemChecked: string;
279
+ itemExchanged: string;
279
280
  itemIndeterminate: string;
280
281
  itemDisabled: string;
281
282
  itemHover: string;
@@ -641,6 +642,7 @@ export declare var defaultV2Css: {
641
642
  window: {
642
643
  root: string;
643
644
  rootCollapsedMod: string;
645
+ rootFullScreenMode: string;
644
646
  rootContent: string;
645
647
  body: string;
646
648
  header: {
@@ -652,6 +654,7 @@ export declare var defaultV2Css: {
652
654
  buttonCollapsed: string;
653
655
  collapseButton: string;
654
656
  closeButton: string;
657
+ fullScreenButton: string;
655
658
  };
656
659
  };
657
660
  ranking: {
@@ -7,6 +7,7 @@ export interface IDragDropDOMAdapter {
7
7
  export declare class DragDropDOMAdapter implements IDragDropDOMAdapter {
8
8
  private dd;
9
9
  private longTap;
10
+ private fitToContainer;
10
11
  static PreventScrolling: boolean;
11
12
  private timeoutID;
12
13
  private startX;
@@ -17,7 +18,7 @@ export declare class DragDropDOMAdapter implements IDragDropDOMAdapter {
17
18
  private savedTargetNodeParent;
18
19
  private savedTargetNodeIndex;
19
20
  private scrollIntervalId;
20
- constructor(dd: IDragDropEngine, longTap?: boolean);
21
+ constructor(dd: IDragDropEngine, longTap?: boolean, fitToContainer?: boolean);
21
22
  private get rootElement();
22
23
  private stopLongTapIfMoveEnough;
23
24
  private get isMicroMovement();
@@ -9,6 +9,7 @@ export declare class DropdownListModel extends Base {
9
9
  protected onSelectionChanged?: (item: IAction, ...params: any[]) => void;
10
10
  readonly minPageSize = 25;
11
11
  readonly loadingItemHeight = 40;
12
+ private htmlCleanerElement;
12
13
  private _markdownMode;
13
14
  private _popupModel;
14
15
  private filteredItems;
@@ -45,6 +46,7 @@ export declare class DropdownListModel extends Base {
45
46
  showInputFieldComponent: boolean;
46
47
  ariaActivedescendant: string;
47
48
  private applyInputString;
49
+ private cleanHtml;
48
50
  protected fixInputCase(): void;
49
51
  protected applyHintString(item: ItemValue): void;
50
52
  get inputStringRendered(): string;
@@ -25,7 +25,7 @@ export { ProcessValue } from "../../conditionProcessValue";
25
25
  export { JsonError, JsonIncorrectTypeError, JsonMetadata, JsonMetadataClass, JsonMissingTypeError, JsonMissingTypeErrorBase, JsonObject, JsonObjectProperty, JsonRequiredPropertyError, JsonUnknownPropertyError, Serializer, property, propertyArray } from "../../jsonobject";
26
26
  export { IMatrixDropdownData, MatrixDropdownCell, MatrixDropdownRowModelBase, QuestionMatrixDropdownModelBase } from "../../question_matrixdropdownbase";
27
27
  export { MatrixDropdownColumn, matrixDropdownColumnTypes } from "../../question_matrixdropdowncolumn";
28
- export { QuestionMatrixDropdownRenderedCell, QuestionMatrixDropdownRenderedRow, QuestionMatrixDropdownRenderedTable } from "../../question_matrixdropdownrendered";
28
+ export { QuestionMatrixDropdownRenderedCell, QuestionMatrixDropdownRenderedRow, QuestionMatrixDropdownRenderedErrorRow, QuestionMatrixDropdownRenderedTable } from "../../question_matrixdropdownrendered";
29
29
  export { MatrixDropdownRowModel, QuestionMatrixDropdownModel } from "../../question_matrixdropdown";
30
30
  export { MatrixDynamicRowModel, QuestionMatrixDynamicModel } from "../../question_matrixdynamic";
31
31
  export { MatrixRowModel, MatrixCells, QuestionMatrixModel, IMatrixData } from "../../question_matrix";
@@ -88,7 +88,7 @@ export { DropdownListModel } from "../../dropdownListModel";
88
88
  export { DropdownMultiSelectListModel } from "../../dropdownMultiSelectListModel";
89
89
  export { QuestionButtonGroupModel, ButtonGroupItemModel, ButtonGroupItemValue } from "../../question_buttongroup";
90
90
  export { IsMobile, IsTouch, _setIsTouch } from "../../utils/devices";
91
- export { confirmAction, confirmActionAsync, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, sanitizeEditableContent, IAttachKey2clickOptions } from "../../utils/utils";
91
+ export { confirmAction, confirmActionAsync, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, chooseFiles, sanitizeEditableContent, IAttachKey2clickOptions } from "../../utils/utils";
92
92
  export * from "../../utils/cssClassBuilder";
93
93
  export { surveyCss, defaultV2Css, defaultV2ThemeName } from "../../defaultCss/defaultV2Css";
94
94
  export { DragDropCore } from "../../dragdrop/core";
@@ -29,6 +29,7 @@ export declare class Cover extends Base {
29
29
  private updateContentClasses;
30
30
  private updateBackgroundImageClasses;
31
31
  fromTheme(theme: ITheme): void;
32
+ private init;
32
33
  constructor();
33
34
  getType(): string;
34
35
  cells: CoverCell[];
@@ -39,6 +40,8 @@ export declare class Cover extends Base {
39
40
  textGlowEnabled: boolean;
40
41
  overlapEnabled: boolean;
41
42
  backgroundColor: string;
43
+ titleColor: string;
44
+ descriptionColor: string;
42
45
  backgroundImage: string;
43
46
  renderBackgroundImage: string;
44
47
  backgroundImageFit: "cover" | "fill" | "contain" | "tile";
@@ -54,6 +54,7 @@ export declare class JsonObjectProperty implements IObject {
54
54
  isBindable: boolean;
55
55
  className: string;
56
56
  alternativeName: string;
57
+ oldName: string;
57
58
  classNamePart: string;
58
59
  baseClassName: string;
59
60
  defaultValueValue: any;
@@ -77,6 +78,7 @@ export declare class JsonObjectProperty implements IObject {
77
78
  onSettingValue: (obj: any, value: any) => any;
78
79
  onSetValue: (obj: any, value: any, jsonConv: JsonObject) => any;
79
80
  visibleIf: (obj: any) => boolean;
81
+ enableIf: (obj: any) => boolean;
80
82
  onExecuteExpression: (obj: any, res: any) => any;
81
83
  onPropertyEditorUpdate: (obj: any, propEditor: any) => any;
82
84
  constructor(classInfo: JsonMetadataClass, name: string, isRequired?: boolean);
@@ -116,11 +118,14 @@ export declare class JsonObjectProperty implements IObject {
116
118
  setBaseValue(val: any): void;
117
119
  get readOnly(): boolean;
118
120
  set readOnly(val: boolean);
121
+ isEnable(obj: any): boolean;
119
122
  isVisible(layout: string, obj?: any): boolean;
123
+ private getOriginalObj;
120
124
  get visible(): boolean;
121
125
  set visible(val: boolean);
122
126
  isAvailableInVersion(ver: string): boolean;
123
127
  getSerializedName(ver: string): string;
128
+ getSerializedProperty(obj: any, ver: string): JsonObjectProperty;
124
129
  private isAvailableInVersionCore;
125
130
  get isLocalizable(): boolean;
126
131
  set isLocalizable(val: boolean);
@@ -189,6 +194,7 @@ export declare class JsonMetadata {
189
194
  setObjPropertyValue(obj: any, name: string, val: any): void;
190
195
  private getObjPropertyValueCore;
191
196
  private isObjWrapper;
197
+ private isNeedUseObjWrapper;
192
198
  addClass(name: string, properties: Array<any>, creator?: (json?: any) => any, parentName?: string): JsonMetadataClass;
193
199
  removeClass(name: string): void;
194
200
  overrideClassCreatore(name: string, creator: () => any): void;
@@ -291,6 +297,7 @@ export declare class JsonObject {
291
297
  private addDynamicProperties;
292
298
  private propertiesToJson;
293
299
  valueToJson(obj: any, result: any, prop: JsonObjectProperty, options?: ISaveToJSONOptions): void;
300
+ private valueToJsonCore;
294
301
  valueToObj(value: any, obj: any, property: JsonObjectProperty, jsonObj?: any, options?: ILoadFromJSONOptions): void;
295
302
  private removePosOnValueToJson;
296
303
  private removePos;