survey-core 1.9.119 → 1.9.121

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 (255) hide show
  1. package/defaultV2.css +113 -62
  2. package/defaultV2.css.map +1 -1
  3. package/defaultV2.fontless.css +113 -62
  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 +2 -2
  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 +2 -2
  43. package/i18n/hungarian.js.map +1 -1
  44. package/i18n/hungarian.min.js +2 -2
  45. package/i18n/icelandic.js +1 -1
  46. package/i18n/icelandic.min.js +1 -1
  47. package/i18n/index.js +2 -2
  48. package/i18n/index.js.map +1 -1
  49. package/i18n/index.min.js +2 -2
  50. package/i18n/indonesian.js +1 -1
  51. package/i18n/indonesian.min.js +1 -1
  52. package/i18n/italian.js +1 -1
  53. package/i18n/italian.min.js +1 -1
  54. package/i18n/japanese.js +1 -1
  55. package/i18n/japanese.min.js +1 -1
  56. package/i18n/kazakh.js +1 -1
  57. package/i18n/kazakh.min.js +1 -1
  58. package/i18n/korean.js +1 -1
  59. package/i18n/korean.min.js +1 -1
  60. package/i18n/latvian.js +1 -1
  61. package/i18n/latvian.min.js +1 -1
  62. package/i18n/lithuanian.js +1 -1
  63. package/i18n/lithuanian.min.js +1 -1
  64. package/i18n/macedonian.js +1 -1
  65. package/i18n/macedonian.min.js +1 -1
  66. package/i18n/malay.js +1 -1
  67. package/i18n/malay.min.js +1 -1
  68. package/i18n/nl-BE.js +1 -1
  69. package/i18n/nl-BE.min.js +1 -1
  70. package/i18n/norwegian.js +1 -1
  71. package/i18n/norwegian.min.js +1 -1
  72. package/i18n/persian.js +1 -1
  73. package/i18n/persian.min.js +1 -1
  74. package/i18n/polish.js +1 -1
  75. package/i18n/polish.min.js +1 -1
  76. package/i18n/portuguese-br.js +1 -1
  77. package/i18n/portuguese-br.min.js +1 -1
  78. package/i18n/portuguese.js +1 -1
  79. package/i18n/portuguese.min.js +1 -1
  80. package/i18n/romanian.js +1 -1
  81. package/i18n/romanian.min.js +1 -1
  82. package/i18n/russian.js +1 -1
  83. package/i18n/russian.min.js +1 -1
  84. package/i18n/serbian.js +1 -1
  85. package/i18n/serbian.min.js +1 -1
  86. package/i18n/simplified-chinese.js +1 -1
  87. package/i18n/simplified-chinese.min.js +1 -1
  88. package/i18n/slovak.js +1 -1
  89. package/i18n/slovak.min.js +1 -1
  90. package/i18n/spanish.js +1 -1
  91. package/i18n/spanish.min.js +1 -1
  92. package/i18n/swahili.js +1 -1
  93. package/i18n/swahili.min.js +1 -1
  94. package/i18n/swedish.js +1 -1
  95. package/i18n/swedish.min.js +1 -1
  96. package/i18n/tajik.js +1 -1
  97. package/i18n/tajik.min.js +1 -1
  98. package/i18n/telugu.js +1 -1
  99. package/i18n/telugu.min.js +1 -1
  100. package/i18n/thai.js +1 -1
  101. package/i18n/thai.min.js +1 -1
  102. package/i18n/traditional-chinese.js +1 -1
  103. package/i18n/traditional-chinese.min.js +1 -1
  104. package/i18n/turkish.js +1 -1
  105. package/i18n/turkish.min.js +1 -1
  106. package/i18n/ukrainian.js +1 -1
  107. package/i18n/ukrainian.min.js +1 -1
  108. package/i18n/urdu.js +1 -1
  109. package/i18n/urdu.min.js +1 -1
  110. package/i18n/vietnamese.js +1 -1
  111. package/i18n/vietnamese.min.js +1 -1
  112. package/i18n/welsh.js +1 -1
  113. package/i18n/welsh.min.js +1 -1
  114. package/modern.css +11 -6
  115. package/modern.css.map +1 -1
  116. package/modern.fontless.css +11 -6
  117. package/modern.fontless.css.map +1 -1
  118. package/modern.fontless.min.css +2 -2
  119. package/modern.min.css +2 -2
  120. package/package.json +1 -1
  121. package/plugins/bootstrap-integration.js +1 -1
  122. package/plugins/bootstrap-integration.min.js +1 -1
  123. package/plugins/bootstrap-material-integration.js +1 -1
  124. package/plugins/bootstrap-material-integration.min.js +1 -1
  125. package/survey.core.js +555 -265
  126. package/survey.core.js.map +1 -1
  127. package/survey.core.min.js +3 -3
  128. package/survey.css +1 -1
  129. package/survey.css.map +1 -1
  130. package/survey.i18n.js +2 -2
  131. package/survey.i18n.js.map +1 -1
  132. package/survey.i18n.min.js +2 -2
  133. package/survey.min.css +1 -1
  134. package/themes/borderless-dark-panelless.js +1 -1
  135. package/themes/borderless-dark-panelless.min.js +1 -1
  136. package/themes/borderless-dark.js +1 -1
  137. package/themes/borderless-dark.min.js +1 -1
  138. package/themes/borderless-light-panelless..js +1 -1
  139. package/themes/borderless-light-panelless..min.js +1 -1
  140. package/themes/borderless-light.js +1 -1
  141. package/themes/borderless-light.min.js +1 -1
  142. package/themes/contrast-dark-panelless.js +1 -1
  143. package/themes/contrast-dark-panelless.min.js +1 -1
  144. package/themes/contrast-dark.js +1 -1
  145. package/themes/contrast-dark.min.js +1 -1
  146. package/themes/contrast-light-panelless.js +1 -1
  147. package/themes/contrast-light-panelless.min.js +1 -1
  148. package/themes/contrast-light.js +1 -1
  149. package/themes/contrast-light.min.js +1 -1
  150. package/themes/default-dark-panelless.js +1 -1
  151. package/themes/default-dark-panelless.min.js +1 -1
  152. package/themes/default-dark.js +1 -1
  153. package/themes/default-dark.min.js +1 -1
  154. package/themes/default-light-panelless.js +1 -1
  155. package/themes/default-light-panelless.min.js +1 -1
  156. package/themes/default-light.js +1 -1
  157. package/themes/default-light.min.js +1 -1
  158. package/themes/doubleborder-dark-panelless.js +1 -1
  159. package/themes/doubleborder-dark-panelless.min.js +1 -1
  160. package/themes/doubleborder-dark.js +1 -1
  161. package/themes/doubleborder-dark.min.js +1 -1
  162. package/themes/doubleborder-light-panelles.js +1 -1
  163. package/themes/doubleborder-light-panelles.min.js +1 -1
  164. package/themes/doubleborder-light.js +1 -1
  165. package/themes/doubleborder-light.min.js +1 -1
  166. package/themes/flat-dark-panelless.js +1 -1
  167. package/themes/flat-dark-panelless.min.js +1 -1
  168. package/themes/flat-dark.js +1 -1
  169. package/themes/flat-dark.min.js +1 -1
  170. package/themes/flat-light-panelless.js +1 -1
  171. package/themes/flat-light-panelless.min.js +1 -1
  172. package/themes/flat-light.js +1 -1
  173. package/themes/flat-light.min.js +1 -1
  174. package/themes/index.js +1 -1
  175. package/themes/index.min.js +1 -1
  176. package/themes/layered-dark-panelless.js +1 -1
  177. package/themes/layered-dark-panelless.min.js +1 -1
  178. package/themes/layered-dark.js +1 -1
  179. package/themes/layered-dark.min.js +1 -1
  180. package/themes/layered-light-panelless.js +1 -1
  181. package/themes/layered-light-panelless.min.js +1 -1
  182. package/themes/layered-light.js +1 -1
  183. package/themes/layered-light.min.js +1 -1
  184. package/themes/plain-dark-panelless.js +1 -1
  185. package/themes/plain-dark-panelless.min.js +1 -1
  186. package/themes/plain-dark.js +1 -1
  187. package/themes/plain-dark.min.js +1 -1
  188. package/themes/plain-light-panelless.js +1 -1
  189. package/themes/plain-light-panelless.min.js +1 -1
  190. package/themes/plain-light.js +1 -1
  191. package/themes/plain-light.min.js +1 -1
  192. package/themes/sharp-dark-panelless.js +1 -1
  193. package/themes/sharp-dark-panelless.min.js +1 -1
  194. package/themes/sharp-dark.js +1 -1
  195. package/themes/sharp-dark.min.js +1 -1
  196. package/themes/sharp-light-panelless.js +1 -1
  197. package/themes/sharp-light-panelless.min.js +1 -1
  198. package/themes/sharp-light.js +1 -1
  199. package/themes/sharp-light.min.js +1 -1
  200. package/themes/solid-dark-panelless.js +1 -1
  201. package/themes/solid-dark-panelless.min.js +1 -1
  202. package/themes/solid-dark.js +1 -1
  203. package/themes/solid-dark.min.js +1 -1
  204. package/themes/solid-light-panelless.js +1 -1
  205. package/themes/solid-light-panelless.min.js +1 -1
  206. package/themes/solid-light.js +1 -1
  207. package/themes/solid-light.min.js +1 -1
  208. package/themes/three-dimensional-dark-panelless.js +1 -1
  209. package/themes/three-dimensional-dark-panelless.min.js +1 -1
  210. package/themes/three-dimensional-dark.js +1 -1
  211. package/themes/three-dimensional-dark.min.js +1 -1
  212. package/themes/three-dimensional-light-panelless.js +1 -1
  213. package/themes/three-dimensional-light-panelless.min.js +1 -1
  214. package/themes/three-dimensional-light.js +1 -1
  215. package/themes/three-dimensional-light.min.js +1 -1
  216. package/ts3.4/typings/actions/adaptive-container.d.ts +1 -1
  217. package/ts3.4/typings/actions/container.d.ts +1 -1
  218. package/ts3.4/typings/base-interfaces.d.ts +2 -2
  219. package/ts3.4/typings/defaultCss/defaultV2Css.d.ts +1 -0
  220. package/ts3.4/typings/panel.d.ts +2 -2
  221. package/ts3.4/typings/question.d.ts +2 -2
  222. package/ts3.4/typings/question_baseselect.d.ts +1 -1
  223. package/ts3.4/typings/question_checkbox.d.ts +5 -1
  224. package/ts3.4/typings/question_custom.d.ts +1 -0
  225. package/ts3.4/typings/question_expression.d.ts +1 -1
  226. package/ts3.4/typings/question_file.d.ts +32 -27
  227. package/ts3.4/typings/question_multipletext.d.ts +12 -3
  228. package/ts3.4/typings/question_signaturepad.d.ts +13 -2
  229. package/ts3.4/typings/settings.d.ts +3 -0
  230. package/ts3.4/typings/survey-element.d.ts +1 -1
  231. package/ts3.4/typings/survey-events-api.d.ts +3 -2
  232. package/ts3.4/typings/survey.d.ts +14 -10
  233. package/ts3.4/typings/surveyTaskManager.d.ts +16 -0
  234. package/ts3.4/typings/svgbundle.d.ts +0 -1
  235. package/ts3.4/typings/utils/responsivity-manager.d.ts +4 -2
  236. package/typings/actions/adaptive-container.d.ts +1 -1
  237. package/typings/actions/container.d.ts +1 -1
  238. package/typings/base-interfaces.d.ts +2 -2
  239. package/typings/defaultCss/defaultV2Css.d.ts +1 -0
  240. package/typings/panel.d.ts +2 -2
  241. package/typings/question.d.ts +2 -2
  242. package/typings/question_baseselect.d.ts +1 -1
  243. package/typings/question_checkbox.d.ts +5 -1
  244. package/typings/question_custom.d.ts +1 -0
  245. package/typings/question_expression.d.ts +1 -1
  246. package/typings/question_file.d.ts +34 -29
  247. package/typings/question_multipletext.d.ts +13 -3
  248. package/typings/question_signaturepad.d.ts +13 -2
  249. package/typings/settings.d.ts +3 -0
  250. package/typings/survey-element.d.ts +1 -1
  251. package/typings/survey-events-api.d.ts +3 -2
  252. package/typings/survey.d.ts +14 -9
  253. package/typings/surveyTaskManager.d.ts +16 -0
  254. package/typings/svgbundle.d.ts +0 -1
  255. package/typings/utils/responsivity-manager.d.ts +4 -2
@@ -614,6 +614,7 @@ export declare var defaultV2Css: {
614
614
  backgroundImage: string;
615
615
  clearButton: string;
616
616
  clearButtonIconId: string;
617
+ loadingIndicator: string;
617
618
  };
618
619
  saveData: {
619
620
  root: string;
@@ -313,7 +313,7 @@ export declare class PanelModelBase extends SurveyElement<Question> implements I
313
313
  set visible(value: boolean);
314
314
  onHidingContent(): void;
315
315
  protected onVisibleChanged(): void;
316
- protected notifyStateChanged(): void;
316
+ protected notifyStateChanged(prevState: string): void;
317
317
  /**
318
318
  * Returns `true` if the panel/page is visible or the survey is currently in design mode.
319
319
  *
@@ -494,7 +494,7 @@ export declare class PanelModel extends PanelModelBase implements IElement {
494
494
  */
495
495
  get no(): string;
496
496
  protected setNo(visibleIndex: number): void;
497
- protected notifyStateChanged(): void;
497
+ protected notifyStateChanged(prevState: string): void;
498
498
  protected createLocTitleProperty(): LocalizableString;
499
499
  protected beforeSetVisibleIndex(index: number): number;
500
500
  protected getPanelStartIndex(index: number): number;
@@ -134,7 +134,7 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
134
134
  get visible(): boolean;
135
135
  set visible(val: boolean);
136
136
  protected onVisibleChanged(): void;
137
- protected notifyStateChanged(): void;
137
+ protected notifyStateChanged(prevState: string): void;
138
138
  private updateIsVisibleProp;
139
139
  /**
140
140
  * Specifies whether to use display names for question values in placeholders.
@@ -812,7 +812,7 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
812
812
  onMouseDown(): void;
813
813
  protected setNewComment(newValue: string): void;
814
814
  protected getValidName(name: string): string;
815
- updateValueFromSurvey(newValue: any): void;
815
+ updateValueFromSurvey(newValue: any, clearData?: boolean): void;
816
816
  private updateValueFromSurveyCore;
817
817
  updateCommentFromSurvey(newValue: any): any;
818
818
  protected onChangeQuestionValue(newValue: any): void;
@@ -362,7 +362,7 @@ export declare class QuestionSelectBase extends Question {
362
362
  getStoreOthersAsComment(): boolean;
363
363
  onSurveyLoad(): void;
364
364
  onAnyValueChanged(name: string, questionName: string): void;
365
- updateValueFromSurvey(newValue: any): void;
365
+ updateValueFromSurvey(newValue: any, clearData: boolean): void;
366
366
  protected getCommentFromValue(newValue: any): string;
367
367
  protected setOtherValueIntoValue(newValue: any): any;
368
368
  onOtherValueInput(event: any): void;
@@ -97,12 +97,16 @@ export declare class QuestionCheckboxModel extends QuestionCheckboxBase {
97
97
  protected validateItemValues(itemValues: Array<ItemValue>): Array<ItemValue>;
98
98
  protected getAnswerCorrectIgnoreOrder(): boolean;
99
99
  protected onCheckForErrors(errors: Array<SurveyError>, isOnValueChanged: boolean): void;
100
+ protected onVisibleChoicesChanged(): void;
100
101
  protected onEnableItemCallBack(item: ItemValue): boolean;
101
102
  protected onAfterRunItemsEnableCondition(): void;
103
+ private updateSelectAllItemProps;
104
+ private getSelectAllEnabled;
105
+ private getVisibleEnableItems;
102
106
  private shouldCheckMaxSelectedChoices;
103
107
  private checkMinSelectedChoicesUnreached;
104
108
  protected getItemClassCore(item: any, options: any): string;
105
- updateValueFromSurvey(newValue: any): void;
109
+ updateValueFromSurvey(newValue: any, clearData: boolean): void;
106
110
  protected setDefaultValue(): void;
107
111
  private addIntoInvisibleOldValues;
108
112
  protected hasValueToClearIncorrectValues(): boolean;
@@ -234,6 +234,7 @@ export declare abstract class QuestionCustomModelBase extends Question implement
234
234
  constructor(name: string, customQuestion: ComponentQuestionJSON);
235
235
  getType(): string;
236
236
  locStrsChanged(): void;
237
+ localeChanged(): void;
237
238
  protected createWrapper(): void;
238
239
  protected onPropertyValueChanged(name: string, oldValue: any, newValue: any): void;
239
240
  itemValuePropertyChanged(item: ItemValue, name: string, oldValue: any, newValue: any): void;
@@ -57,7 +57,7 @@ export declare class QuestionExpressionModel extends Question {
57
57
  get formatedValue(): string;
58
58
  protected updateFormatedValue(): void;
59
59
  protected onValueChanged(): void;
60
- updateValueFromSurvey(newValue: any): void;
60
+ updateValueFromSurvey(newValue: any, clearData: boolean): void;
61
61
  protected getDisplayValueCore(keysAsText: boolean, value: any): any;
62
62
  /**
63
63
  * Specifies a display style for the question value.
@@ -6,14 +6,10 @@ import { ActionContainer } from "./actions/container";
6
6
  import { Action } from "./actions/action";
7
7
  import { Camera } from "./utils/camera";
8
8
  import { LocalizableString } from "./localizablestring";
9
- /**
10
- * A class that describes the File Upload question type.
11
- *
12
- * [View Demo](https://surveyjs.io/form-library/examples/file-upload/ (linkStyle))
13
- */
14
- export declare class QuestionFileModel extends Question {
9
+ export declare function dataUrl2File(dataUrl: string, fileName: string, type: string): File;
10
+ export declare class QuestionFileModelBase extends Question {
15
11
  isUploading: boolean;
16
- isDragging: boolean;
12
+ currentState: string;
17
13
  /**
18
14
  * An event that is raised after the upload state has changed.
19
15
  *
@@ -24,10 +20,37 @@ export declare class QuestionFileModel extends Question {
24
20
  * - `options.state`: `string`\
25
21
  * The current upload state: `"empty"`, `"loading"`, `"loaded"`, or `"error"`.
26
22
  */
27
- onUploadStateChanged: EventBase<QuestionFileModel>;
28
- onStateChanged: EventBase<QuestionFileModel>;
23
+ onUploadStateChanged: EventBase<QuestionFileModelBase>;
24
+ onStateChanged: EventBase<QuestionFileModelBase>;
25
+ protected stateChanged(state: string): void;
26
+ get showLoadingIndicator(): boolean;
27
+ /**
28
+ * Specifies whether to store file or signature content as text in `SurveyModel`'s [`data`](https://surveyjs.io/form-library/documentation/surveymodel#data) property.
29
+ *
30
+ * If you disable this property, implement `SurveyModel`'s [`onUploadFiles`](https://surveyjs.io/form-library/documentation/surveymodel#onUploadFiles) event handler to specify how to store file content.
31
+ */
32
+ get storeDataAsText(): boolean;
33
+ set storeDataAsText(val: boolean);
34
+ /**
35
+ * Enable this property if you want to wait until files are uploaded to complete the survey.
36
+ *
37
+ * Default value: `false`
38
+ */
39
+ get waitForUpload(): boolean;
40
+ set waitForUpload(val: boolean);
41
+ clearValue(): void;
42
+ clearOnDeletingContainer(): void;
43
+ protected onCheckForErrors(errors: Array<SurveyError>, isOnValueChanged: boolean): void;
44
+ protected uploadFiles(files: File[]): void;
45
+ }
46
+ /**
47
+ * A class that describes the File Upload question type.
48
+ *
49
+ * [View Demo](https://surveyjs.io/form-library/examples/file-upload/ (linkStyle))
50
+ */
51
+ export declare class QuestionFileModel extends QuestionFileModelBase {
52
+ isDragging: boolean;
29
53
  previewValue: any[];
30
- currentState: string;
31
54
  indexToShow: number;
32
55
  pageSize: number;
33
56
  containsMultiplyFiles: boolean;
@@ -80,8 +103,6 @@ export declare class QuestionFileModel extends Question {
80
103
  private previewValueChanged;
81
104
  isPreviewVisible(index: number): boolean;
82
105
  getType(): string;
83
- clearValue(): void;
84
- clearOnDeletingContainer(): void;
85
106
  /**
86
107
  * Disable this property only to implement a custom preview.
87
108
  *
@@ -112,20 +133,6 @@ export declare class QuestionFileModel extends Question {
112
133
  */
113
134
  get acceptedTypes(): string;
114
135
  set acceptedTypes(val: string);
115
- /**
116
- * Specifies whether to store file content as text in `SurveyModel`'s [`data`](https://surveyjs.io/form-library/documentation/surveymodel#data) property.
117
- *
118
- * If you disable this property, implement `SurveyModel`'s [`onUploadFiles`](https://surveyjs.io/form-library/documentation/surveymodel#onUploadFiles) event handler to specify how to store file content.
119
- */
120
- get storeDataAsText(): boolean;
121
- set storeDataAsText(val: boolean);
122
- /**
123
- * Enable this property if you want to wait until files are uploaded to complete the survey.
124
- *
125
- * Default value: `false`
126
- */
127
- get waitForUpload(): boolean;
128
- set waitForUpload(val: boolean);
129
136
  /**
130
137
  * Specifies whether to show a preview of image files.
131
138
  */
@@ -190,7 +197,6 @@ export declare class QuestionFileModel extends Question {
190
197
  get multipleRendered(): string;
191
198
  get showChooseButton(): boolean;
192
199
  get showFileDecorator(): boolean;
193
- get showLoadingIndicator(): boolean;
194
200
  get allowShowPreview(): boolean;
195
201
  get showPreviewContainer(): boolean;
196
202
  get showRemoveButtonCore(): boolean;
@@ -202,6 +208,7 @@ export declare class QuestionFileModel extends Question {
202
208
  */
203
209
  removeFile(name: string): void;
204
210
  protected removeFileByContent(content: any): void;
211
+ protected setValueFromResult(arg: any): void;
205
212
  /**
206
213
  * Loads multiple files into the question.
207
214
  * @param files An array of [File](https://developer.mozilla.org/en-US/docs/Web/API/File) objects.
@@ -215,8 +222,6 @@ export declare class QuestionFileModel extends Question {
215
222
  protected get isFileLoading(): boolean;
216
223
  protected set isFileLoading(val: boolean);
217
224
  protected getIsQuestionReady(): boolean;
218
- protected onCheckForErrors(errors: Array<SurveyError>, isOnValueChanged: boolean): void;
219
- protected stateChanged(state: string): void;
220
225
  private allFilesOk;
221
226
  private isFileImage;
222
227
  getPlainData(options?: IPlainDataOptions): IQuestionPlainData;
@@ -171,15 +171,16 @@ export declare class QuestionMultipleTextModel extends Question implements IMult
171
171
  * }
172
172
  * ```
173
173
  *
174
- * To enable Markdown support for the `title` property, implement Markdown-to-HTML conversion in the [onTextMarkdown](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onTextMarkdown) event handler. For an example, refer to the following demo: [Convert Markdown to HTML with Showdown](https://surveyjs.io/form-library/examples/edit-survey-questions-markdown/).
174
+ * To enable Markdown support for the `title` property, implement Markdown-to-HTML conversion in the [`onTextMarkdown`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onTextMarkdown) event handler. For an example, refer to the following demo: [Convert Markdown to HTML with Showdown](https://surveyjs.io/form-library/examples/edit-survey-questions-markdown/).
175
+ * @see itemTitleWidth
175
176
  * @see addItem
176
177
  */
177
178
  get items(): Array<MultipleTextItemModel>;
178
179
  set items(val: Array<MultipleTextItemModel>);
179
180
  /**
180
181
  * Adds a new input item.
181
- * @param name An item name
182
- * @param title (Optional) An item title
182
+ * @param name An item name.
183
+ * @param title (Optional) An item title.
183
184
  * @see items
184
185
  */
185
186
  addItem(name: string, title?: string): MultipleTextItemModel;
@@ -218,6 +219,15 @@ export declare class QuestionMultipleTextModel extends Question implements IMult
218
219
  */
219
220
  get itemSize(): number;
220
221
  set itemSize(val: number);
222
+ /**
223
+ * Specifies a uniform width for all text box titles. Accepts CSS values.
224
+ *
225
+ * Default value: `""` (the width of each title depends on the title length)
226
+ * @see items
227
+ * @see itemErrorLocation
228
+ */
229
+ get itemTitleWidth(): string;
230
+ set itemTitleWidth(val: string);
221
231
  rows: Array<MutlipleTextRow>;
222
232
  protected onRowCreated(row: MutlipleTextRow): MutlipleTextRow;
223
233
  private calcVisibleRows;
@@ -1,15 +1,17 @@
1
- import { Question } from "./question";
2
1
  import { ITheme } from "./themes";
2
+ import { QuestionFileModelBase } from "./question_file";
3
3
  /**
4
4
  * A class that describes the Signature question type.
5
5
  *
6
6
  * [View Demo](https://surveyjs.io/form-library/examples/signature-pad-widget-javascript/ (linkStyle))
7
7
  */
8
- export declare class QuestionSignaturePadModel extends Question {
8
+ export declare class QuestionSignaturePadModel extends QuestionFileModelBase {
9
9
  isDrawingValue: boolean;
10
+ isReadyForUpload: boolean;
10
11
  private getPenColorFromTheme;
11
12
  private updateColors;
12
13
  protected getCssRoot(cssClasses: any): string;
14
+ protected getFormat(): "" | "image/svg+xml" | "image/jpeg";
13
15
  protected updateValue(): void;
14
16
  constructor(name: string);
15
17
  getType(): string;
@@ -17,10 +19,14 @@ export declare class QuestionSignaturePadModel extends Question {
17
19
  beforeDestroyQuestionElement(el: HTMLElement): void;
18
20
  themeChanged(theme: ITheme): void;
19
21
  private canvas;
22
+ private element;
20
23
  private scale;
21
24
  private valueIsUpdatingInternally;
25
+ valueWasChangedFromLastUpload: boolean;
22
26
  private resizeCanvas;
23
27
  private scaleCanvas;
28
+ private fromDataUrl;
29
+ private fromUrl;
24
30
  private refreshCanvas;
25
31
  private updateValueHandler;
26
32
  initSignaturePad(el: HTMLElement): void;
@@ -118,10 +124,15 @@ export declare class QuestionSignaturePadModel extends Question {
118
124
  * Default value: `true`
119
125
  */
120
126
  showPlaceholder: boolean;
127
+ nothingIsDrawn(): boolean;
121
128
  needShowPlaceholder(): boolean;
122
129
  /**
123
130
  * A placeholder for the signature area. Applies when the [`showPlaceholder`](#showPlaceholder) property is `true`.
124
131
  */
125
132
  placeholder: string;
133
+ onBlur: (event: any) => void;
134
+ protected uploadResultItemToValue(r: any): any;
135
+ protected setValueFromResult(arg: any): void;
136
+ clearValue(): void;
126
137
  endLoadingFromJson(): void;
127
138
  }
@@ -3,6 +3,9 @@ export declare type ISurveyEnvironment = {
3
3
  root: Document | ShadowRoot;
4
4
  rootElement: HTMLElement | ShadowRoot;
5
5
  popupMountContainer: HTMLElement | string;
6
+ /**
7
+ * @deprecated
8
+ */
6
9
  svgMountContainer: HTMLElement | string;
7
10
  stylesSheetsMountContainer: HTMLElement;
8
11
  };
@@ -118,7 +118,7 @@ export declare class SurveyElement<E = any> extends SurveyElementCore implements
118
118
  */
119
119
  get state(): string;
120
120
  set state(val: string);
121
- protected notifyStateChanged(): void;
121
+ protected notifyStateChanged(prevState: string): void;
122
122
  /**
123
123
  * Returns `true` if the survey element is collapsed.
124
124
  * @see state
@@ -11,6 +11,7 @@ import { MatrixDropdownCell, MatrixDropdownRowModelBase, QuestionMatrixDropdownM
11
11
  import { MatrixDropdownColumn } from "./question_matrixdropdowncolumn";
12
12
  import { QuestionMatrixDynamicModel } from "./question_matrixdynamic";
13
13
  import { QuestionPanelDynamicModel } from "./question_paneldynamic";
14
+ import { QuestionSignaturePadModel } from "./question_signaturepad";
14
15
  import { SurveyModel } from "./survey";
15
16
  import { SurveyError } from "./survey-error";
16
17
  import { Trigger } from "./trigger";
@@ -22,9 +23,9 @@ export interface QuestionEventMixin {
22
23
  }
23
24
  export interface FileQuestionEventMixin {
24
25
  /**
25
- * A File Upload question instance for which the event is raised.
26
+ * A File Upload or Signature Pad question instance for which the event is raised.
26
27
  */
27
- question: QuestionFileModel;
28
+ question: QuestionFileModel | QuestionSignaturePadModel;
28
29
  }
29
30
  export interface PanelDynamicQuestionEventMixin {
30
31
  /**
@@ -26,6 +26,7 @@ import { QuestionMultipleTextModel } from "./question_multipletext";
26
26
  import { ITheme, ImageFit, ImageAttachment } from "./themes";
27
27
  import { PopupModel } from "./popup";
28
28
  import { Cover } from "./header";
29
+ import { QuestionSignaturePadModel } from "./question_signaturepad";
29
30
  /**
30
31
  * The `SurveyModel` object contains properties and methods that allow you to control the survey and access its elements.
31
32
  *
@@ -320,6 +321,8 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
320
321
  * For information on event handler parameters, refer to descriptions within the interface.
321
322
  *
322
323
  * If you want to specify heading levels for all titles, use the [`titleTags`](https://surveyjs.io/form-library/documentation/api-reference/settings#titleTags) object in [global settings](https://surveyjs.io/form-library/documentation/api-reference/settings).
324
+ *
325
+ * [View Demo](https://surveyjs.io/form-library/examples/survey-titletagnames/ (linkStyle))
323
326
  * @see onGetQuestionTitle
324
327
  * @see onGetQuestionNo
325
328
  */
@@ -359,7 +362,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
359
362
  */
360
363
  onGetResult: EventBase<SurveyModel, GetResultEvent>;
361
364
  /**
362
- * An event that is raised when a File Upload 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.
365
+ * 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
366
  *
364
367
  * For information on event handler parameters, refer to descriptions within the interface.
365
368
  *
@@ -381,7 +384,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
381
384
  */
382
385
  onDownloadFile: EventBase<SurveyModel, DownloadFileEvent>;
383
386
  /**
384
- * An event that is raised when users clear files in a [File Upload](https://surveyjs.io/form-library/documentation/api-reference/file-model) question. Use this event to delete files from your server.
387
+ * An event that is raised when users clear files in a [File Upload](https://surveyjs.io/form-library/documentation/api-reference/file-model) question or clear signature in a [Signature Pad](https://surveyjs.io/form-library/documentation/api-reference/signature-pad-model) question. Use this event to delete files from your server.
385
388
  *
386
389
  * For information on event handler parameters, refer to descriptions within the interface.
387
390
  *
@@ -1136,10 +1139,11 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
1136
1139
  getSurveyErrorCustomText(obj: PanelModel | Question | SurveyModel, text: string, error: SurveyError): string;
1137
1140
  getQuestionDisplayValue(question: Question, displayValue: any): any;
1138
1141
  /**
1139
- * Returns a message that is displayed when a survey does not contain visible pages or questions.
1142
+ * A message that is displayed when a survey does not contain visible pages or questions.
1140
1143
  * @see [Localization & Globalization](https://surveyjs.io/form-library/documentation/survey-localization)
1141
1144
  */
1142
1145
  get emptySurveyText(): string;
1146
+ set emptySurveyText(val: string);
1143
1147
  /**
1144
1148
  * An image URL or a Base64-encoded image to use as a survey logo.
1145
1149
  *
@@ -1514,7 +1518,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
1514
1518
  * @see setValue
1515
1519
  */
1516
1520
  mergeData(data: any): void;
1517
- setDataCore(data: any): void;
1521
+ setDataCore(data: any, clearData?: boolean): void;
1518
1522
  getStructuredData(includePages?: boolean, level?: number): any;
1519
1523
  setStructuredData(data: any, doMerge?: boolean): void;
1520
1524
  private collectDataFromPanel;
@@ -2133,14 +2137,14 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
2133
2137
  * }
2134
2138
  * );
2135
2139
  * ```
2136
- * @param question A [File Upload question instance](https://surveyjs.io/form-library/documentation/api-reference/file-model).
2137
- * @param name The File Upload question's [`name`](https://surveyjs.io/form-library/documentation/api-reference/file-model#name).
2140
+ * @param question A [File Upload question instance](https://surveyjs.io/form-library/documentation/api-reference/file-model) or [Signature Pad question instance](https://surveyjs.io/form-library/documentation/api-reference/signature-pad-model).
2141
+ * @param name The File Upload question's [`name`](https://surveyjs.io/form-library/documentation/api-reference/file-model#name) or Signature Pad question's [`name`](https://surveyjs.io/form-library/documentation/api-reference/signature-pad-model#name).
2138
2142
  * @param files An array of JavaScript <a href="https://developer.mozilla.org/en-US/docs/Web/API/File" target="_blank">File</a> objects that represent files to upload.
2139
2143
  * @param callback A callback function that allows you to access successfully uploaded files as the first argument. If any files fail to upload, the second argument contains an array of error messages.
2140
2144
  * @see onUploadFiles
2141
2145
  * @see downloadFile
2142
2146
  */
2143
- uploadFiles(question: QuestionFileModel, name: string, files: File[], callback: (data: any | Array<any>, errors?: any | Array<any>) => any): void;
2147
+ uploadFiles(question: QuestionFileModel | QuestionSignaturePadModel, name: string, files: File[], callback: (data: any | Array<any>, errors?: any | Array<any>) => any): void;
2144
2148
  /**
2145
2149
  * Downloads a file from a server.
2146
2150
  *
@@ -2172,7 +2176,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
2172
2176
  * @see uploadFiles
2173
2177
  */
2174
2178
  downloadFile(question: QuestionFileModel, questionName: string, fileValue: any, callback: (status: string, data: any) => any): void;
2175
- clearFiles(question: QuestionFileModel, name: string, value: any, fileName: string, callback: (status: string, data: any) => any): void;
2179
+ clearFiles(question: QuestionFileModel | QuestionSignaturePadModel, name: string, value: any, fileName: string, callback: (status: string, data: any) => any): void;
2176
2180
  updateChoicesFromServer(question: QuestionSelectBase, choices: Array<ItemValue>, serverResult: any): Array<ItemValue>;
2177
2181
  loadedChoicesFromServer(question: IQuestion): void;
2178
2182
  protected createSurveyService(): dxSurveyService;
@@ -2680,7 +2684,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
2680
2684
  startMovingQuestion(): void;
2681
2685
  stopMovingQuestion(): void;
2682
2686
  get isQuestionDragging(): boolean;
2683
- private needRenderIcons;
2687
+ needRenderIcons: boolean;
2684
2688
  private skippedPages;
2685
2689
  /**
2686
2690
  * Focuses a question with a specified name. Switches the current page if needed.
@@ -2738,6 +2742,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
2738
2742
  */
2739
2743
  applyTheme(theme: ITheme): void;
2740
2744
  themeChanged(theme: ITheme): void;
2745
+ private taskManager;
2741
2746
  /**
2742
2747
  * Disposes of the survey model.
2743
2748
  *
@@ -0,0 +1,16 @@
1
+ import { Base } from "./base";
2
+ declare class SurveyTaskModel {
3
+ type: string;
4
+ private timestamp;
5
+ constructor(type: string);
6
+ }
7
+ export declare class SurveyTaskManagerModel extends Base {
8
+ private taskList;
9
+ constructor();
10
+ private onAllTasksCompleted;
11
+ hasActiveTasks: boolean;
12
+ runTask(type: string, func: (done: any) => void): SurveyTaskModel;
13
+ waitAndExecute(action: any): void;
14
+ private taskFinished;
15
+ }
16
+ export {};
@@ -10,7 +10,6 @@ export declare class SvgIconRegistry {
10
10
  registerIconFromSvg(iconId: string, iconSvg: string, iconPrefix?: string): boolean;
11
11
  registerIconsFromFolder(r: any): void;
12
12
  iconsRenderedHtml(): string;
13
- renderIcons(): void;
14
13
  }
15
14
  export declare var SvgRegistry: SvgIconRegistry;
16
15
  export declare var SvgBundleViewModel: any;
@@ -9,6 +9,7 @@ export declare class ResponsivityManager {
9
9
  private model;
10
10
  private itemsSelector;
11
11
  private dotsItemSize;
12
+ private delayedUpdateFunction?;
12
13
  private resizeObserver;
13
14
  private isInitialized;
14
15
  protected minDimensionConst: number;
@@ -18,11 +19,12 @@ export declare class ResponsivityManager {
18
19
  private dotsSizeConst;
19
20
  protected recalcMinDimensionConst: boolean;
20
21
  getComputedStyle: (elt: Element) => CSSStyleDeclaration;
21
- constructor(container: HTMLDivElement, model: AdaptiveActionContainer, itemsSelector: string, dotsItemSize?: number);
22
+ constructor(container: HTMLDivElement, model: AdaptiveActionContainer, itemsSelector: string, dotsItemSize?: number, delayedUpdateFunction?: (callback: () => void) => void);
22
23
  protected getDimensions(element: HTMLElement): IDimensions;
23
24
  protected getAvailableSpace(): number;
24
25
  protected calcItemSize(item: HTMLDivElement): number;
25
26
  private calcMinDimension;
27
+ private getRenderedVisibleActionsCount;
26
28
  private calcItemsSizes;
27
29
  protected calcActionDimensions(currentAction: Action, item: HTMLDivElement): void;
28
30
  private get isContainerVisible();
@@ -30,7 +32,7 @@ export declare class ResponsivityManager {
30
32
  dispose(): void;
31
33
  }
32
34
  export declare class VerticalResponsivityManager extends ResponsivityManager {
33
- constructor(container: HTMLDivElement, model: AdaptiveActionContainer, itemsSelector: string, dotsItemSize?: number, minDimension?: number);
35
+ constructor(container: HTMLDivElement, model: AdaptiveActionContainer, itemsSelector: string, dotsItemSize?: number, minDimension?: number, delayedUpdateFunction?: (callback: () => void) => void);
34
36
  protected getDimensions(): IDimensions;
35
37
  protected getAvailableSpace(): number;
36
38
  protected calcItemSize(item: HTMLDivElement): number;