survey-core 1.9.119 → 1.9.120

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 (237) hide show
  1. package/defaultV2.css +112 -62
  2. package/defaultV2.css.map +1 -1
  3. package/defaultV2.fontless.css +112 -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 +9 -6
  115. package/modern.css.map +1 -1
  116. package/modern.fontless.css +9 -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 +406 -190
  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/base-interfaces.d.ts +2 -2
  217. package/ts3.4/typings/defaultCss/defaultV2Css.d.ts +1 -0
  218. package/ts3.4/typings/question.d.ts +1 -1
  219. package/ts3.4/typings/question_baseselect.d.ts +1 -1
  220. package/ts3.4/typings/question_checkbox.d.ts +1 -1
  221. package/ts3.4/typings/question_expression.d.ts +1 -1
  222. package/ts3.4/typings/question_file.d.ts +32 -27
  223. package/ts3.4/typings/question_signaturepad.d.ts +13 -2
  224. package/ts3.4/typings/survey-events-api.d.ts +3 -2
  225. package/ts3.4/typings/survey.d.ts +13 -9
  226. package/ts3.4/typings/surveyTaskManager.d.ts +16 -0
  227. package/typings/base-interfaces.d.ts +2 -2
  228. package/typings/defaultCss/defaultV2Css.d.ts +1 -0
  229. package/typings/question.d.ts +1 -1
  230. package/typings/question_baseselect.d.ts +1 -1
  231. package/typings/question_checkbox.d.ts +1 -1
  232. package/typings/question_expression.d.ts +1 -1
  233. package/typings/question_file.d.ts +34 -29
  234. package/typings/question_signaturepad.d.ts +13 -2
  235. package/typings/survey-events-api.d.ts +3 -2
  236. package/typings/survey.d.ts +13 -8
  237. package/typings/surveyTaskManager.d.ts +16 -0
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - Survey JavaScript library v1.9.119
2
+ * surveyjs - Survey JavaScript library v1.9.120
3
3
  * Copyright (c) 2015-2023 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.119
2
+ * surveyjs - Survey JavaScript library v1.9.120
3
3
  * Copyright (c) 2015-2023 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.119
2
+ * surveyjs - Survey JavaScript library v1.9.120
3
3
  * Copyright (c) 2015-2023 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.119
2
+ * surveyjs - Survey JavaScript library v1.9.120
3
3
  * Copyright (c) 2015-2023 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.119
2
+ * surveyjs - Survey JavaScript library v1.9.120
3
3
  * Copyright (c) 2015-2023 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.119
2
+ * surveyjs - Survey JavaScript library v1.9.120
3
3
  * Copyright (c) 2015-2023 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.119
2
+ * surveyjs - Survey JavaScript library v1.9.120
3
3
  * Copyright (c) 2015-2023 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.119
2
+ * surveyjs - Survey JavaScript library v1.9.120
3
3
  * Copyright (c) 2015-2023 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.119
2
+ * surveyjs - Survey JavaScript library v1.9.120
3
3
  * Copyright (c) 2015-2023 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
5
5
  */
@@ -219,7 +219,7 @@ export interface IQuestion extends IElement, ISurveyErrorOwner {
219
219
  hasTitle: boolean;
220
220
  isEmpty(): boolean;
221
221
  onSurveyValueChanged(newValue: any): any;
222
- updateValueFromSurvey(newValue: any): any;
222
+ updateValueFromSurvey(newValue: any, clearData: boolean): void;
223
223
  updateCommentFromSurvey(newValue: any): any;
224
224
  supportGoNextPageAutomatic(): boolean;
225
225
  clearUnusedValues(): any;
@@ -283,7 +283,7 @@ export declare type ISurveyEnvironment = {
283
283
  svgMountContainer: HTMLElement | string;
284
284
  stylesSheetsMountContainer: HTMLElement;
285
285
  };
286
- export declare type LayoutElementContainer = "header" | "footer" | "left" | "right" | "contentTop" | "contentBottom";
286
+ export declare type LayoutElementContainer = "header" | "footer" | "left" | "right" | "contentTop" | "contentBottom" | "center";
287
287
  export declare type HorizontalAlignment = "left" | "center" | "right";
288
288
  export declare type VerticalAlignment = "top" | "middle" | "bottom";
289
289
  export interface ISurveyLayoutElement {
@@ -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;
@@ -777,7 +777,7 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
777
777
  onMouseDown(): void;
778
778
  protected setNewComment(newValue: string): void;
779
779
  protected getValidName(name: string): string;
780
- updateValueFromSurvey(newValue: any): void;
780
+ updateValueFromSurvey(newValue: any, clearData?: boolean): void;
781
781
  private updateValueFromSurveyCore;
782
782
  updateCommentFromSurvey(newValue: any): any;
783
783
  protected onChangeQuestionValue(newValue: any): void;
@@ -340,7 +340,7 @@ export declare class QuestionSelectBase extends Question {
340
340
  getStoreOthersAsComment(): boolean;
341
341
  onSurveyLoad(): void;
342
342
  onAnyValueChanged(name: string, questionName: string): void;
343
- updateValueFromSurvey(newValue: any): void;
343
+ updateValueFromSurvey(newValue: any, clearData: boolean): void;
344
344
  protected getCommentFromValue(newValue: any): string;
345
345
  protected setOtherValueIntoValue(newValue: any): any;
346
346
  onOtherValueInput(event: any): void;
@@ -95,7 +95,7 @@ export declare class QuestionCheckboxModel extends QuestionCheckboxBase {
95
95
  private shouldCheckMaxSelectedChoices;
96
96
  private checkMinSelectedChoicesUnreached;
97
97
  protected getItemClassCore(item: any, options: any): string;
98
- updateValueFromSurvey(newValue: any): void;
98
+ updateValueFromSurvey(newValue: any, clearData: boolean): void;
99
99
  protected setDefaultValue(): void;
100
100
  private addIntoInvisibleOldValues;
101
101
  protected hasValueToClearIncorrectValues(): boolean;
@@ -52,7 +52,7 @@ export declare class QuestionExpressionModel extends Question {
52
52
  readonly formatedValue: string;
53
53
  protected updateFormatedValue(): void;
54
54
  protected onValueChanged(): void;
55
- updateValueFromSurvey(newValue: any): void;
55
+ updateValueFromSurvey(newValue: any, clearData: boolean): void;
56
56
  protected getDisplayValueCore(keysAsText: boolean, value: any): any;
57
57
  /*
58
58
  * 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,35 @@ 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
+ readonly 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
+ storeDataAsText: boolean;
33
+ /*
34
+ * Enable this property if you want to wait until files are uploaded to complete the survey.
35
+ *
36
+ * Default value: `false`
37
+ */
38
+ waitForUpload: boolean;
39
+ clearValue(): void;
40
+ clearOnDeletingContainer(): void;
41
+ protected onCheckForErrors(errors: Array<SurveyError>, isOnValueChanged: boolean): void;
42
+ protected uploadFiles(files: File[]): void;
43
+ }
44
+ /**
45
+ * A class that describes the File Upload question type.
46
+ *
47
+ * [View Demo](https://surveyjs.io/form-library/examples/file-upload/ (linkStyle))
48
+ */
49
+ export declare class QuestionFileModel extends QuestionFileModelBase {
50
+ isDragging: boolean;
29
51
  previewValue: any[];
30
- currentState: string;
31
52
  indexToShow: number;
32
53
  pageSize: number;
33
54
  containsMultiplyFiles: boolean;
@@ -80,8 +101,6 @@ export declare class QuestionFileModel extends Question {
80
101
  private previewValueChanged;
81
102
  isPreviewVisible(index: number): boolean;
82
103
  getType(): string;
83
- clearValue(): void;
84
- clearOnDeletingContainer(): void;
85
104
  /*
86
105
  * Disable this property only to implement a custom preview.
87
106
  *
@@ -108,18 +127,6 @@ export declare class QuestionFileModel extends Question {
108
127
  */
109
128
  acceptedTypes: string;
110
129
  /*
111
- * Specifies whether to store file content as text in `SurveyModel`'s [`data`](https://surveyjs.io/form-library/documentation/surveymodel#data) property.
112
- *
113
- * 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.
114
- */
115
- storeDataAsText: boolean;
116
- /*
117
- * Enable this property if you want to wait until files are uploaded to complete the survey.
118
- *
119
- * Default value: `false`
120
- */
121
- waitForUpload: boolean;
122
- /*
123
130
  * Specifies whether to show a preview of image files.
124
131
  */
125
132
  allowImagesPreview: boolean;
@@ -179,7 +186,6 @@ export declare class QuestionFileModel extends Question {
179
186
  readonly multipleRendered: string;
180
187
  readonly showChooseButton: boolean;
181
188
  readonly showFileDecorator: boolean;
182
- readonly showLoadingIndicator: boolean;
183
189
  readonly allowShowPreview: boolean;
184
190
  readonly showPreviewContainer: boolean;
185
191
  readonly showRemoveButtonCore: boolean;
@@ -191,6 +197,7 @@ export declare class QuestionFileModel extends Question {
191
197
  */
192
198
  removeFile(name: string): void;
193
199
  protected removeFileByContent(content: any): void;
200
+ protected setValueFromResult(arg: any): void;
194
201
  /**
195
202
  * Loads multiple files into the question.
196
203
  * @param files An array of [File](https://developer.mozilla.org/en-US/docs/Web/API/File) objects.
@@ -203,8 +210,6 @@ export declare class QuestionFileModel extends Question {
203
210
  private isFileLoadingValue;
204
211
  protected isFileLoading: boolean;
205
212
  protected getIsQuestionReady(): boolean;
206
- protected onCheckForErrors(errors: Array<SurveyError>, isOnValueChanged: boolean): void;
207
- protected stateChanged(state: string): void;
208
213
  private allFilesOk;
209
214
  private isFileImage;
210
215
  getPlainData(options?: IPlainDataOptions): IQuestionPlainData;
@@ -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;
@@ -110,10 +116,15 @@ export declare class QuestionSignaturePadModel extends Question {
110
116
  * Default value: `true`
111
117
  */
112
118
  showPlaceholder: boolean;
119
+ nothingIsDrawn(): boolean;
113
120
  needShowPlaceholder(): boolean;
114
121
  /**
115
122
  * A placeholder for the signature area. Applies when the [`showPlaceholder`](#showPlaceholder) property is `true`.
116
123
  */
117
124
  placeholder: string;
125
+ onBlur: (event: any) => void;
126
+ protected uploadResultItemToValue(r: any): any;
127
+ protected setValueFromResult(arg: any): void;
128
+ clearValue(): void;
118
129
  endLoadingFromJson(): void;
119
130
  }
@@ -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
  *
@@ -317,6 +318,8 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
317
318
  * For information on event handler parameters, refer to descriptions within the interface.
318
319
  *
319
320
  * 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).
321
+ *
322
+ * [View Demo](https://surveyjs.io/form-library/examples/survey-titletagnames/ (linkStyle))
320
323
  * @see onGetQuestionTitle
321
324
  * @see onGetQuestionNo
322
325
  */
@@ -356,7 +359,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
356
359
  */
357
360
  onGetResult: EventBase<SurveyModel, GetResultEvent>;
358
361
  /**
359
- * 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.
362
+ * 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.
360
363
  *
361
364
  * For information on event handler parameters, refer to descriptions within the interface.
362
365
  *
@@ -378,7 +381,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
378
381
  */
379
382
  onDownloadFile: EventBase<SurveyModel, DownloadFileEvent>;
380
383
  /**
381
- * 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.
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 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.
382
385
  *
383
386
  * For information on event handler parameters, refer to descriptions within the interface.
384
387
  *
@@ -1098,10 +1101,10 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
1098
1101
  getSurveyErrorCustomText(obj: PanelModel | Question | SurveyModel, text: string, error: SurveyError): string;
1099
1102
  getQuestionDisplayValue(question: Question, displayValue: any): any;
1100
1103
  /*
1101
- * Returns a message that is displayed when a survey does not contain visible pages or questions.
1104
+ * A message that is displayed when a survey does not contain visible pages or questions.
1102
1105
  * @see [Localization & Globalization](https://surveyjs.io/form-library/documentation/survey-localization)
1103
1106
  */
1104
- readonly emptySurveyText: string;
1107
+ emptySurveyText: string;
1105
1108
  /*
1106
1109
  * An image URL or a Base64-encoded image to use as a survey logo.
1107
1110
  *
@@ -1448,7 +1451,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
1448
1451
  * @see setValue
1449
1452
  */
1450
1453
  mergeData(data: any): void;
1451
- setDataCore(data: any): void;
1454
+ setDataCore(data: any, clearData?: boolean): void;
1452
1455
  getStructuredData(includePages?: boolean, level?: number): any;
1453
1456
  setStructuredData(data: any, doMerge?: boolean): void;
1454
1457
  private collectDataFromPanel;
@@ -2051,14 +2054,14 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
2051
2054
  * }
2052
2055
  * );
2053
2056
  * ```
2054
- * @param question A [File Upload question instance](https://surveyjs.io/form-library/documentation/api-reference/file-model).
2055
- * @param name The File Upload question's [`name`](https://surveyjs.io/form-library/documentation/api-reference/file-model#name).
2057
+ * @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).
2058
+ * @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).
2056
2059
  * @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.
2057
2060
  * @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.
2058
2061
  * @see onUploadFiles
2059
2062
  * @see downloadFile
2060
2063
  */
2061
- uploadFiles(question: QuestionFileModel, name: string, files: File[], callback: (data: any | Array<any>, errors?: any | Array<any>) => any): void;
2064
+ uploadFiles(question: QuestionFileModel | QuestionSignaturePadModel, name: string, files: File[], callback: (data: any | Array<any>, errors?: any | Array<any>) => any): void;
2062
2065
  /**
2063
2066
  * Downloads a file from a server.
2064
2067
  *
@@ -2090,7 +2093,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
2090
2093
  * @see uploadFiles
2091
2094
  */
2092
2095
  downloadFile(question: QuestionFileModel, questionName: string, fileValue: any, callback: (status: string, data: any) => any): void;
2093
- clearFiles(question: QuestionFileModel, name: string, value: any, fileName: string, callback: (status: string, data: any) => any): void;
2096
+ clearFiles(question: QuestionFileModel | QuestionSignaturePadModel, name: string, value: any, fileName: string, callback: (status: string, data: any) => any): void;
2094
2097
  updateChoicesFromServer(question: QuestionSelectBase, choices: Array<ItemValue>, serverResult: any): Array<ItemValue>;
2095
2098
  loadedChoicesFromServer(question: IQuestion): void;
2096
2099
  protected createSurveyService(): dxSurveyService;
@@ -2648,6 +2651,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
2648
2651
  */
2649
2652
  applyTheme(theme: ITheme): void;
2650
2653
  themeChanged(theme: ITheme): void;
2654
+ private taskManager;
2651
2655
  /**
2652
2656
  * Disposes of the survey model.
2653
2657
  *
@@ -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 {};
@@ -219,7 +219,7 @@ export interface IQuestion extends IElement, ISurveyErrorOwner {
219
219
  hasTitle: boolean;
220
220
  isEmpty(): boolean;
221
221
  onSurveyValueChanged(newValue: any): any;
222
- updateValueFromSurvey(newValue: any): any;
222
+ updateValueFromSurvey(newValue: any, clearData: boolean): void;
223
223
  updateCommentFromSurvey(newValue: any): any;
224
224
  supportGoNextPageAutomatic(): boolean;
225
225
  clearUnusedValues(): any;
@@ -283,7 +283,7 @@ export declare type ISurveyEnvironment = {
283
283
  svgMountContainer: HTMLElement | string;
284
284
  stylesSheetsMountContainer: HTMLElement;
285
285
  };
286
- export declare type LayoutElementContainer = "header" | "footer" | "left" | "right" | "contentTop" | "contentBottom";
286
+ export declare type LayoutElementContainer = "header" | "footer" | "left" | "right" | "contentTop" | "contentBottom" | "center";
287
287
  export declare type HorizontalAlignment = "left" | "center" | "right";
288
288
  export declare type VerticalAlignment = "top" | "middle" | "bottom";
289
289
  export interface ISurveyLayoutElement {
@@ -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;
@@ -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;
@@ -102,7 +102,7 @@ export declare class QuestionCheckboxModel extends QuestionCheckboxBase {
102
102
  private shouldCheckMaxSelectedChoices;
103
103
  private checkMinSelectedChoicesUnreached;
104
104
  protected getItemClassCore(item: any, options: any): string;
105
- updateValueFromSurvey(newValue: any): void;
105
+ updateValueFromSurvey(newValue: any, clearData: boolean): void;
106
106
  protected setDefaultValue(): void;
107
107
  private addIntoInvisibleOldValues;
108
108
  protected hasValueToClearIncorrectValues(): boolean;
@@ -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;