survey-core 1.9.113 → 1.9.114

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 (295) hide show
  1. package/defaultV2.css +162 -115
  2. package/defaultV2.css.map +1 -1
  3. package/defaultV2.fontless.css +162 -115
  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 +7 -7
  8. package/i18n/arabic.js.map +1 -1
  9. package/i18n/arabic.min.js +2 -2
  10. package/i18n/basque.js +7 -7
  11. package/i18n/basque.js.map +1 -1
  12. package/i18n/basque.min.js +2 -2
  13. package/i18n/bulgarian.js +7 -7
  14. package/i18n/bulgarian.js.map +1 -1
  15. package/i18n/bulgarian.min.js +2 -2
  16. package/i18n/catalan.js +7 -7
  17. package/i18n/catalan.js.map +1 -1
  18. package/i18n/catalan.min.js +2 -2
  19. package/i18n/croatian.js +7 -7
  20. package/i18n/croatian.js.map +1 -1
  21. package/i18n/croatian.min.js +2 -2
  22. package/i18n/czech.js +7 -7
  23. package/i18n/czech.js.map +1 -1
  24. package/i18n/czech.min.js +2 -2
  25. package/i18n/danish.js +7 -7
  26. package/i18n/danish.js.map +1 -1
  27. package/i18n/danish.min.js +2 -2
  28. package/i18n/dutch.js +6 -6
  29. package/i18n/dutch.js.map +1 -1
  30. package/i18n/dutch.min.js +2 -2
  31. package/i18n/english.js +4 -4
  32. package/i18n/english.js.map +1 -1
  33. package/i18n/english.min.js +2 -2
  34. package/i18n/estonian.js +7 -7
  35. package/i18n/estonian.js.map +1 -1
  36. package/i18n/estonian.min.js +2 -2
  37. package/i18n/finnish.js +6 -6
  38. package/i18n/finnish.js.map +1 -1
  39. package/i18n/finnish.min.js +2 -2
  40. package/i18n/french.js +6 -6
  41. package/i18n/french.js.map +1 -1
  42. package/i18n/french.min.js +2 -2
  43. package/i18n/georgian.js +7 -7
  44. package/i18n/georgian.js.map +1 -1
  45. package/i18n/georgian.min.js +2 -2
  46. package/i18n/german.js +6 -6
  47. package/i18n/german.js.map +1 -1
  48. package/i18n/german.min.js +2 -2
  49. package/i18n/greek.js +6 -6
  50. package/i18n/greek.js.map +1 -1
  51. package/i18n/greek.min.js +2 -2
  52. package/i18n/hebrew.js +7 -7
  53. package/i18n/hebrew.js.map +1 -1
  54. package/i18n/hebrew.min.js +2 -2
  55. package/i18n/hindi.js +7 -7
  56. package/i18n/hindi.js.map +1 -1
  57. package/i18n/hindi.min.js +2 -2
  58. package/i18n/hungarian.js +6 -6
  59. package/i18n/hungarian.js.map +1 -1
  60. package/i18n/hungarian.min.js +2 -2
  61. package/i18n/icelandic.js +7 -7
  62. package/i18n/icelandic.js.map +1 -1
  63. package/i18n/icelandic.min.js +2 -2
  64. package/i18n/index.js +267 -267
  65. package/i18n/index.js.map +1 -1
  66. package/i18n/index.min.js +2 -2
  67. package/i18n/indonesian.js +7 -7
  68. package/i18n/indonesian.js.map +1 -1
  69. package/i18n/indonesian.min.js +2 -2
  70. package/i18n/italian.js +6 -6
  71. package/i18n/italian.js.map +1 -1
  72. package/i18n/italian.min.js +2 -2
  73. package/i18n/japanese.js +7 -7
  74. package/i18n/japanese.js.map +1 -1
  75. package/i18n/japanese.min.js +2 -2
  76. package/i18n/kazakh.js +7 -7
  77. package/i18n/kazakh.js.map +1 -1
  78. package/i18n/kazakh.min.js +2 -2
  79. package/i18n/korean.js +6 -6
  80. package/i18n/korean.js.map +1 -1
  81. package/i18n/korean.min.js +2 -2
  82. package/i18n/latvian.js +6 -6
  83. package/i18n/latvian.js.map +1 -1
  84. package/i18n/latvian.min.js +2 -2
  85. package/i18n/lithuanian.js +7 -7
  86. package/i18n/lithuanian.js.map +1 -1
  87. package/i18n/lithuanian.min.js +2 -2
  88. package/i18n/macedonian.js +6 -6
  89. package/i18n/macedonian.js.map +1 -1
  90. package/i18n/macedonian.min.js +2 -2
  91. package/i18n/malay.js +6 -6
  92. package/i18n/malay.js.map +1 -1
  93. package/i18n/malay.min.js +2 -2
  94. package/i18n/nl-BE.js +6 -6
  95. package/i18n/nl-BE.js.map +1 -1
  96. package/i18n/nl-BE.min.js +2 -2
  97. package/i18n/norwegian.js +7 -7
  98. package/i18n/norwegian.js.map +1 -1
  99. package/i18n/norwegian.min.js +2 -2
  100. package/i18n/persian.js +7 -7
  101. package/i18n/persian.js.map +1 -1
  102. package/i18n/persian.min.js +2 -2
  103. package/i18n/polish.js +6 -6
  104. package/i18n/polish.js.map +1 -1
  105. package/i18n/polish.min.js +2 -2
  106. package/i18n/portuguese-br.js +7 -7
  107. package/i18n/portuguese-br.js.map +1 -1
  108. package/i18n/portuguese-br.min.js +2 -2
  109. package/i18n/portuguese.js +6 -6
  110. package/i18n/portuguese.js.map +1 -1
  111. package/i18n/portuguese.min.js +2 -2
  112. package/i18n/romanian.js +7 -7
  113. package/i18n/romanian.js.map +1 -1
  114. package/i18n/romanian.min.js +2 -2
  115. package/i18n/russian.js +6 -6
  116. package/i18n/russian.js.map +1 -1
  117. package/i18n/russian.min.js +2 -2
  118. package/i18n/serbian.js +7 -7
  119. package/i18n/serbian.js.map +1 -1
  120. package/i18n/serbian.min.js +2 -2
  121. package/i18n/simplified-chinese.js +7 -7
  122. package/i18n/simplified-chinese.js.map +1 -1
  123. package/i18n/simplified-chinese.min.js +2 -2
  124. package/i18n/slovak.js +6 -6
  125. package/i18n/slovak.js.map +1 -1
  126. package/i18n/slovak.min.js +2 -2
  127. package/i18n/spanish.js +6 -6
  128. package/i18n/spanish.js.map +1 -1
  129. package/i18n/spanish.min.js +2 -2
  130. package/i18n/swahili.js +7 -7
  131. package/i18n/swahili.js.map +1 -1
  132. package/i18n/swahili.min.js +2 -2
  133. package/i18n/swedish.js +7 -7
  134. package/i18n/swedish.js.map +1 -1
  135. package/i18n/swedish.min.js +2 -2
  136. package/i18n/tajik.js +2 -2
  137. package/i18n/tajik.js.map +1 -1
  138. package/i18n/tajik.min.js +1 -1
  139. package/i18n/telugu.js +7 -7
  140. package/i18n/telugu.js.map +1 -1
  141. package/i18n/telugu.min.js +2 -2
  142. package/i18n/thai.js +7 -7
  143. package/i18n/thai.js.map +1 -1
  144. package/i18n/thai.min.js +2 -2
  145. package/i18n/traditional-chinese.js +7 -7
  146. package/i18n/traditional-chinese.js.map +1 -1
  147. package/i18n/traditional-chinese.min.js +2 -2
  148. package/i18n/turkish.js +6 -6
  149. package/i18n/turkish.js.map +1 -1
  150. package/i18n/turkish.min.js +2 -2
  151. package/i18n/ukrainian.js +7 -7
  152. package/i18n/ukrainian.js.map +1 -1
  153. package/i18n/ukrainian.min.js +2 -2
  154. package/i18n/urdu.js +6 -6
  155. package/i18n/urdu.js.map +1 -1
  156. package/i18n/urdu.min.js +2 -2
  157. package/i18n/vietnamese.js +7 -7
  158. package/i18n/vietnamese.js.map +1 -1
  159. package/i18n/vietnamese.min.js +2 -2
  160. package/i18n/welsh.js +7 -7
  161. package/i18n/welsh.js.map +1 -1
  162. package/i18n/welsh.min.js +2 -2
  163. package/modern.css +80 -59
  164. package/modern.css.map +1 -1
  165. package/modern.fontless.css +80 -59
  166. package/modern.fontless.css.map +1 -1
  167. package/modern.fontless.min.css +2 -2
  168. package/modern.min.css +2 -2
  169. package/package.json +1 -1
  170. package/plugins/bootstrap-integration.js +1 -1
  171. package/plugins/bootstrap-integration.min.js +1 -1
  172. package/plugins/bootstrap-material-integration.js +1 -1
  173. package/plugins/bootstrap-material-integration.min.js +1 -1
  174. package/survey.core.js +604 -461
  175. package/survey.core.js.map +1 -1
  176. package/survey.core.min.js +3 -3
  177. package/survey.css +36 -9
  178. package/survey.css.map +1 -1
  179. package/survey.i18n.js +267 -267
  180. package/survey.i18n.js.map +1 -1
  181. package/survey.i18n.min.js +2 -2
  182. package/survey.min.css +2 -2
  183. package/themes/borderless-dark-panelless.js +1 -1
  184. package/themes/borderless-dark-panelless.min.js +1 -1
  185. package/themes/borderless-dark.js +1 -1
  186. package/themes/borderless-dark.min.js +1 -1
  187. package/themes/borderless-light-panelless..js +1 -1
  188. package/themes/borderless-light-panelless..min.js +1 -1
  189. package/themes/borderless-light.js +1 -1
  190. package/themes/borderless-light.min.js +1 -1
  191. package/themes/contrast-dark-panelless.js +1 -1
  192. package/themes/contrast-dark-panelless.min.js +1 -1
  193. package/themes/contrast-dark.js +1 -1
  194. package/themes/contrast-dark.min.js +1 -1
  195. package/themes/contrast-light-panelless.js +1 -1
  196. package/themes/contrast-light-panelless.min.js +1 -1
  197. package/themes/contrast-light.js +1 -1
  198. package/themes/contrast-light.min.js +1 -1
  199. package/themes/default-dark-panelless.js +1 -1
  200. package/themes/default-dark-panelless.min.js +1 -1
  201. package/themes/default-dark.js +1 -1
  202. package/themes/default-dark.min.js +1 -1
  203. package/themes/default-light-panelless.js +1 -1
  204. package/themes/default-light-panelless.min.js +1 -1
  205. package/themes/default-light.js +1 -1
  206. package/themes/default-light.min.js +1 -1
  207. package/themes/doubleborder-dark-panelless.js +1 -1
  208. package/themes/doubleborder-dark-panelless.min.js +1 -1
  209. package/themes/doubleborder-dark.js +1 -1
  210. package/themes/doubleborder-dark.min.js +1 -1
  211. package/themes/doubleborder-light-panelles.js +1 -1
  212. package/themes/doubleborder-light-panelles.min.js +1 -1
  213. package/themes/doubleborder-light.js +1 -1
  214. package/themes/doubleborder-light.min.js +1 -1
  215. package/themes/flat-dark-panelless.js +1 -1
  216. package/themes/flat-dark-panelless.min.js +1 -1
  217. package/themes/flat-dark.js +1 -1
  218. package/themes/flat-dark.min.js +1 -1
  219. package/themes/flat-light-panelless.js +1 -1
  220. package/themes/flat-light-panelless.min.js +1 -1
  221. package/themes/flat-light.js +1 -1
  222. package/themes/flat-light.min.js +1 -1
  223. package/themes/index.js +1 -1
  224. package/themes/index.min.js +1 -1
  225. package/themes/layered-dark-panelless.js +1 -1
  226. package/themes/layered-dark-panelless.min.js +1 -1
  227. package/themes/layered-dark.js +1 -1
  228. package/themes/layered-dark.min.js +1 -1
  229. package/themes/layered-light-panelless.js +1 -1
  230. package/themes/layered-light-panelless.min.js +1 -1
  231. package/themes/layered-light.js +1 -1
  232. package/themes/layered-light.min.js +1 -1
  233. package/themes/plain-dark-panelless.js +1 -1
  234. package/themes/plain-dark-panelless.min.js +1 -1
  235. package/themes/plain-dark.js +1 -1
  236. package/themes/plain-dark.min.js +1 -1
  237. package/themes/plain-light-panelless.js +1 -1
  238. package/themes/plain-light-panelless.min.js +1 -1
  239. package/themes/plain-light.js +1 -1
  240. package/themes/plain-light.min.js +1 -1
  241. package/themes/sharp-dark-panelless.js +1 -1
  242. package/themes/sharp-dark-panelless.min.js +1 -1
  243. package/themes/sharp-dark.js +1 -1
  244. package/themes/sharp-dark.min.js +1 -1
  245. package/themes/sharp-light-panelless.js +1 -1
  246. package/themes/sharp-light-panelless.min.js +1 -1
  247. package/themes/sharp-light.js +1 -1
  248. package/themes/sharp-light.min.js +1 -1
  249. package/themes/solid-dark-panelless.js +1 -1
  250. package/themes/solid-dark-panelless.min.js +1 -1
  251. package/themes/solid-dark.js +1 -1
  252. package/themes/solid-dark.min.js +1 -1
  253. package/themes/solid-light-panelless.js +1 -1
  254. package/themes/solid-light-panelless.min.js +1 -1
  255. package/themes/solid-light.js +1 -1
  256. package/themes/solid-light.min.js +1 -1
  257. package/themes/three-dimensional-dark-panelless.js +1 -1
  258. package/themes/three-dimensional-dark-panelless.min.js +1 -1
  259. package/themes/three-dimensional-dark.js +1 -1
  260. package/themes/three-dimensional-dark.min.js +1 -1
  261. package/themes/three-dimensional-light-panelless.js +1 -1
  262. package/themes/three-dimensional-light-panelless.min.js +1 -1
  263. package/themes/three-dimensional-light.js +1 -1
  264. package/themes/three-dimensional-light.min.js +1 -1
  265. package/ts3.4/typings/base-interfaces.d.ts +1 -0
  266. package/ts3.4/typings/dragdrop/ranking-select-to-rank.d.ts +0 -1
  267. package/ts3.4/typings/entries/chunks/model.d.ts +1 -1
  268. package/ts3.4/typings/header.d.ts +79 -0
  269. package/ts3.4/typings/jsonobject.d.ts +1 -0
  270. package/ts3.4/typings/localization/english.d.ts +3 -3
  271. package/ts3.4/typings/question.d.ts +7 -1
  272. package/ts3.4/typings/question_file.d.ts +24 -5
  273. package/ts3.4/typings/question_multipletext.d.ts +2 -0
  274. package/ts3.4/typings/question_ranking.d.ts +3 -0
  275. package/ts3.4/typings/question_signaturepad.d.ts +10 -1
  276. package/ts3.4/typings/settings.d.ts +1 -1
  277. package/ts3.4/typings/survey.d.ts +1 -1
  278. package/ts3.4/typings/surveyStrings.d.ts +3 -3
  279. package/ts3.4/typings/utils/utils.d.ts +1 -1
  280. package/typings/base-interfaces.d.ts +1 -0
  281. package/typings/cover.d.ts +77 -77
  282. package/typings/dragdrop/ranking-select-to-rank.d.ts +0 -1
  283. package/typings/entries/chunks/model.d.ts +1 -1
  284. package/typings/header.d.ts +80 -0
  285. package/typings/jsonobject.d.ts +1 -0
  286. package/typings/localization/english.d.ts +3 -3
  287. package/typings/question.d.ts +7 -1
  288. package/typings/question_file.d.ts +24 -5
  289. package/typings/question_multipletext.d.ts +2 -0
  290. package/typings/question_ranking.d.ts +3 -0
  291. package/typings/question_signaturepad.d.ts +10 -1
  292. package/typings/settings.d.ts +1 -1
  293. package/typings/survey.d.ts +1 -1
  294. package/typings/surveyStrings.d.ts +3 -3
  295. package/typings/utils/utils.d.ts +1 -1
@@ -44,6 +44,7 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
44
44
  focusCallback: () => void;
45
45
  surveyLoadCallback: () => void;
46
46
  displayValueCallback: (text: string) => string;
47
+ hasCssErrorCallback: () => boolean;
47
48
  private defaultValueRunner;
48
49
  private isChangingViaDefaultValue;
49
50
  private isValueChangedDirectly;
@@ -219,7 +220,9 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
219
220
  moveTo(container: IPanel, insertBefore?: any): boolean;
220
221
  getProgressInfo(): IProgressInfo;
221
222
  private setValueExpressionRunner;
223
+ private ensureSetValueExpressionRunner;
222
224
  private runSetValueExpression;
225
+ private checkExpressionIf;
223
226
  private triggersInfo;
224
227
  private addTriggerInfo;
225
228
  private runTriggerInfo;
@@ -388,6 +391,7 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
388
391
  readonly cssError: string;
389
392
  protected setCssError(val: string): void;
390
393
  protected getCssError(cssClasses: any): string;
394
+ protected hasCssError(): boolean;
391
395
  getRootCss(): string;
392
396
  getQuestionRootCss(): string;
393
397
  updateElementCss(reNew?: boolean): void;
@@ -619,7 +623,9 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
619
623
  */
620
624
  setValueIf: string;
621
625
  /*
622
- * An expression used to calculate the question value. Applies only when the [`setValueIf`](#setValueIf) expression evaluates to `true`.
626
+ * An expression used to calculate the question value.
627
+ *
628
+ * You can use `setValueExpression` as a standalone property or in conjunction with the [`setValueIf`](#setValueIf) expression, in which case the calculated question value applies only when `setValueIf` evaluates to `true`.
623
629
  *
624
630
  * [Expressions](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#expressions (linkStyle))
625
631
  * @see defaultValueExpression
@@ -5,6 +5,7 @@ import { SurveyError } from "./survey-error";
5
5
  import { ActionContainer } from "./actions/container";
6
6
  import { Action } from "./actions/action";
7
7
  import { Camera } from "./utils/camera";
8
+ import { LocalizableString } from "./localizablestring";
8
9
  /**
9
10
  * A class that describes the File Upload question type.
10
11
  *
@@ -39,6 +40,9 @@ export declare class QuestionFileModel extends Question {
39
40
  * - `"file"` (default) - Allows respondents to select a local file.
40
41
  * - `"camera"` - Allows respondents to capture and upload a photo.
41
42
  * - `"file-camera"` - Allows respondents to select a local file or capture a photo.
43
+ * @see filePlaceholder
44
+ * @see photoPlaceholder
45
+ * @see fileOrPhotoPlaceholder
42
46
  */
43
47
  sourceType: string;
44
48
  fileNavigator: ActionContainer;
@@ -142,11 +146,26 @@ export declare class QuestionFileModel extends Question {
142
146
  removeFileCaption: string;
143
147
  loadingFileTitle: string;
144
148
  chooseFileTitle: string;
145
- fileCameraDragAreaPlaceholder: string;
146
- cameraPlaceholder: string;
147
- dragAreaPlaceholder: string;
148
- renderedPlaceholderValue: string;
149
- readonly renderedPlaceholder: string;
149
+ /**
150
+ * A placeholder text displayed when the File Upload question doesn't contain any files or photos to upload. Applies only when [`sourceType`](#sourceType) value is `"file-camera"`.
151
+ * @see filePlaceholder
152
+ * @see photoPlaceholder
153
+ */
154
+ fileOrPhotoPlaceholder: string;
155
+ /**
156
+ * A placeholder text displayed when the File Upload question doesn't contain any photos to upload. Applies only when the [`sourceType`](#sourceType) value is `"camera"`.
157
+ * @see filePlaceholder
158
+ * @see fileOrPhotoPlaceholder
159
+ */
160
+ photoPlaceholder: string;
161
+ /**
162
+ * A placeholder text displayed when the File Upload question doesn't contain any files to upload. Applies only when the [`sourceType`](#sourceType) value is `"file"`.
163
+ * @see photoPlaceholder
164
+ * @see fileOrPhotoPlaceholder
165
+ */
166
+ filePlaceholder: string;
167
+ locRenderedPlaceholderValue: LocalizableString;
168
+ readonly locRenderedPlaceholder: LocalizableString;
150
169
  readonly currentMode: string;
151
170
  readonly isPlayingVideo: boolean;
152
171
  private setIsPlayingVideo;
@@ -5,6 +5,7 @@ import { Question, IConditionObject } from "./question";
5
5
  import { QuestionTextModel } from "./question_text";
6
6
  import { SurveyError } from "./survey-error";
7
7
  import { ILocalizableOwner, LocalizableString } from "./localizablestring";
8
+ import { HashTable } from "./helpers";
8
9
  export interface IMultipleTextData extends ILocalizableOwner, IPanel {
9
10
  getSurvey(): ISurvey;
10
11
  getTextProcessor(): ITextProcessor;
@@ -201,6 +202,7 @@ export declare class QuestionMultipleTextModel extends Question implements IMult
201
202
  protected onValueChanged(): void;
202
203
  protected createTextItem(name: string, title: string): MultipleTextItemModel;
203
204
  protected onItemValueChanged(): void;
205
+ runCondition(values: HashTable<any>, properties: HashTable<any>): void;
204
206
  protected getIsRunningValidators(): boolean;
205
207
  hasErrors(fireCallback?: boolean, rec?: any): boolean;
206
208
  getAllErrors(): Array<SurveyError>;
@@ -87,5 +87,8 @@ export declare class QuestionRankingModel extends QuestionCheckboxModel {
87
87
  selectToRankEmptyRankedAreaText: string;
88
88
  selectToRankEmptyUnrankedAreaText: string;
89
89
  useFullItemSizeForShortcut: boolean;
90
+ readonly dragDropSvgIcon: string;
91
+ readonly arrowsSvgIcon: string;
92
+ readonly dashSvgIcon: string;
90
93
  readonly isNewA11yStructure: boolean;
91
94
  }
@@ -72,7 +72,16 @@ export declare class QuestionSignaturePadModel extends Question {
72
72
  */
73
73
  backgroundImage: string;
74
74
  readonly clearButtonCaption: string;
75
+ /**
76
+ * A Boolean value that specifies whether to show the [placeholder](#placeholder).
77
+ *
78
+ * Default value: `true`
79
+ */
80
+ showPlaceholder: boolean;
75
81
  needShowPlaceholder(): boolean;
76
- readonly placeHolderText: string;
82
+ /**
83
+ * A placeholder for the signature area. Applies when the [`showPlaceholder`](#showPlaceholder) property is `true`.
84
+ */
85
+ placeholder: string;
77
86
  endLoadingFromJson(): void;
78
87
  }
@@ -430,7 +430,7 @@ export declare var settings: {
430
430
  * @param message A message to be displayed in the confirm dialog window.
431
431
  * @param callback A callback function that should be called with `true` if a user confirms an action or `false` otherwise.
432
432
  */
433
- confirmActionAsync: (message: string, callback: (res: boolean) => void) => boolean;
433
+ confirmActionAsync: (message: string, callback: (res: boolean) => void, applyTitle?: string) => boolean;
434
434
  /**
435
435
  * A minimum width value for all survey elements.
436
436
  *
@@ -824,7 +824,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
824
824
  /*
825
825
  * Specifies whether to focus the first question on the page on survey startup or when users switch between pages.
826
826
  *
827
- * Default value: `true`
827
+ * Default value: `false` in v1.9.114 and later, `true` in earlier versions
828
828
  * @see focusOnFirstError
829
829
  * @see focusFirstQuestion
830
830
  * @see focusQuestion
@@ -62,7 +62,7 @@ export declare var surveyStrings: {
62
62
  loadingFile: string;
63
63
  chooseFile: string;
64
64
  noFileChosen: string;
65
- fileDragAreaPlaceholder: string;
65
+ filePlaceholder: string;
66
66
  confirmDelete: string;
67
67
  keyDuplicationError: string;
68
68
  addColumn: string;
@@ -91,8 +91,8 @@ export declare var surveyStrings: {
91
91
  signaturePlaceHolder: string;
92
92
  chooseFileCaption: string;
93
93
  takePhotoCaption: string;
94
- cameraPlaceHolder: string;
95
- fileCameraDragAreaPlaceHolder: string;
94
+ photoPlaceholder: string;
95
+ fileOrPhotoPlaceholder: string;
96
96
  replaceFileCaption: string;
97
97
  removeFileCaption: string;
98
98
  booleanCheckedLabel: string;
@@ -40,5 +40,5 @@ export declare class Logger {
40
40
  log(action: string): void;
41
41
  readonly result: string;
42
42
  }
43
- export declare function showConfirmDialog(message: string, callback: (res: boolean) => void): boolean;
43
+ export declare function showConfirmDialog(message: string, callback: (res: boolean) => void, applyTitle?: string): boolean;
44
44
  export { mergeValues, getElementWidth, isContainerVisible, classesToSelector, compareVersions, confirmAction, confirmActionAsync, detectIEOrEdge, detectIEBrowser, loadFileFromBase64, isMobile, isShadowDOM, getElement, isElementVisible, findScrollableParent, scrollElementByChildId, navigateToUrl, wrapUrlForBackgroundImage, createSvg, getIconNameFromProxy, increaseHeightByContent, getOriginalEvent, preventDefaults, findParentByClassNames, getFirstVisibleChild, };
@@ -292,6 +292,7 @@ export interface ISurveyLayoutElement {
292
292
  component?: string;
293
293
  template?: string;
294
294
  data?: any;
295
+ processResponsiveness?: (width: number) => void;
295
296
  }
296
297
  export interface IPlainDataOptions {
297
298
  includeEmpty?: boolean;
@@ -1,77 +1,77 @@
1
- import { Base } from "./base";
2
- import { HorizontalAlignment, VerticalAlignment } from "./base-interfaces";
3
- import { SurveyModel } from "./survey";
4
- import { ITheme } from "./themes";
5
- export declare class CoverCell {
6
- private cover;
7
- private positionX;
8
- private positionY;
9
- static CLASSNAME: string;
10
- private calcRow;
11
- private calcColumn;
12
- private calcAlignItems;
13
- private calcAlignText;
14
- private calcJustifyContent;
15
- constructor(cover: Cover, positionX: HorizontalAlignment, positionY: VerticalAlignment);
16
- get survey(): SurveyModel;
17
- get css(): string;
18
- get style(): any;
19
- get contentStyle(): any;
20
- get showLogo(): boolean;
21
- get showTitle(): boolean;
22
- get showDescription(): boolean;
23
- get textAreaWidth(): string;
24
- }
25
- export declare class Cover extends Base {
26
- private _survey;
27
- private calcBackgroundSize;
28
- private updateCoverClasses;
29
- private updateContentClasses;
30
- private updateBackgroundImageClasses;
31
- fromTheme(theme: ITheme): void;
32
- constructor();
33
- getType(): string;
34
- cells: CoverCell[];
35
- height: number;
36
- inheritWidthFrom: "survey" | "container";
37
- textAreaWidth: number;
38
- textGlowEnabled: boolean;
39
- overlapEnabled: boolean;
40
- backgroundColor: string;
41
- backgroundImage: string;
42
- renderBackgroundImage: string;
43
- backgroundImageFit: "cover" | "fill" | "contain" | "tile";
44
- backgroundImageOpacity: number;
45
- logoPositionX: HorizontalAlignment;
46
- logoPositionY: VerticalAlignment;
47
- titlePositionX: HorizontalAlignment;
48
- titlePositionY: VerticalAlignment;
49
- descriptionPositionX: HorizontalAlignment;
50
- descriptionPositionY: VerticalAlignment;
51
- logoStyle: {
52
- gridColumn: number;
53
- gridRow: number;
54
- };
55
- titleStyle: {
56
- gridColumn: number;
57
- gridRow: number;
58
- };
59
- descriptionStyle: {
60
- gridColumn: number;
61
- gridRow: number;
62
- };
63
- coverClasses: string;
64
- contentClasses: string;
65
- maxWidth: string;
66
- backgroundImageClasses: string;
67
- get renderedHeight(): string;
68
- get renderedtextAreaWidth(): string;
69
- get survey(): SurveyModel;
70
- set survey(newValue: SurveyModel);
71
- get backgroundImageStyle(): {
72
- opacity: number;
73
- backgroundImage: string;
74
- backgroundSize: string;
75
- };
76
- protected propertyValueChanged(name: string, oldValue: any, newValue: any): void;
77
- }
1
+ import { Base } from "./base";
2
+ import { HorizontalAlignment, VerticalAlignment } from "./base-interfaces";
3
+ import { SurveyModel } from "./survey";
4
+ import { ITheme } from "./themes";
5
+ export declare class CoverCell {
6
+ private cover;
7
+ private positionX;
8
+ private positionY;
9
+ static CLASSNAME: string;
10
+ private calcRow;
11
+ private calcColumn;
12
+ private calcAlignItems;
13
+ private calcAlignText;
14
+ private calcJustifyContent;
15
+ constructor(cover: Cover, positionX: HorizontalAlignment, positionY: VerticalAlignment);
16
+ get survey(): SurveyModel;
17
+ get css(): string;
18
+ get style(): any;
19
+ get contentStyle(): any;
20
+ get showLogo(): boolean;
21
+ get showTitle(): boolean;
22
+ get showDescription(): boolean;
23
+ get textAreaWidth(): string;
24
+ }
25
+ export declare class Cover extends Base {
26
+ private _survey;
27
+ private calcBackgroundSize;
28
+ private updateCoverClasses;
29
+ private updateContentClasses;
30
+ private updateBackgroundImageClasses;
31
+ fromTheme(theme: ITheme): void;
32
+ constructor();
33
+ getType(): string;
34
+ cells: CoverCell[];
35
+ height: number;
36
+ inheritWidthFrom: "survey" | "container";
37
+ textAreaWidth: number;
38
+ textGlowEnabled: boolean;
39
+ overlapEnabled: boolean;
40
+ backgroundColor: string;
41
+ backgroundImage: string;
42
+ renderBackgroundImage: string;
43
+ backgroundImageFit: "cover" | "fill" | "contain" | "tile";
44
+ backgroundImageOpacity: number;
45
+ logoPositionX: HorizontalAlignment;
46
+ logoPositionY: VerticalAlignment;
47
+ titlePositionX: HorizontalAlignment;
48
+ titlePositionY: VerticalAlignment;
49
+ descriptionPositionX: HorizontalAlignment;
50
+ descriptionPositionY: VerticalAlignment;
51
+ logoStyle: {
52
+ gridColumn: number;
53
+ gridRow: number;
54
+ };
55
+ titleStyle: {
56
+ gridColumn: number;
57
+ gridRow: number;
58
+ };
59
+ descriptionStyle: {
60
+ gridColumn: number;
61
+ gridRow: number;
62
+ };
63
+ coverClasses: string;
64
+ contentClasses: string;
65
+ maxWidth: string;
66
+ backgroundImageClasses: string;
67
+ get renderedHeight(): string;
68
+ get renderedtextAreaWidth(): string;
69
+ get survey(): SurveyModel;
70
+ set survey(newValue: SurveyModel);
71
+ get backgroundImageStyle(): {
72
+ opacity: number;
73
+ backgroundImage: string;
74
+ backgroundSize: string;
75
+ };
76
+ protected propertyValueChanged(name: string, oldValue: any, newValue: any): void;
77
+ }
@@ -2,7 +2,6 @@ import { ItemValue } from "../itemvalue";
2
2
  import { DragDropRankingChoices } from "./ranking-choices";
3
3
  import { QuestionRankingModel } from "../question_ranking";
4
4
  export declare class DragDropRankingSelectToRank extends DragDropRankingChoices {
5
- protected onStartDrag(event: PointerEvent): void;
6
5
  protected findDropTargetNodeByDragOverNode(dragOverNode: HTMLElement): HTMLElement;
7
6
  protected getDropTargetByDataAttributeValue(dataAttributeValue: string): ItemValue;
8
7
  protected getDropTargetByNode(dropTargetNode: HTMLElement, event: PointerEvent): any;
@@ -70,7 +70,7 @@ export { SurveyTrigger, SurveyTriggerComplete, SurveyTriggerSetValue, SurveyTrig
70
70
  export { PopupSurveyModel, SurveyWindowModel } from "../../popup-survey";
71
71
  export { TextPreProcessor } from "../../textPreProcessor";
72
72
  export { Notifier } from "../../notifier";
73
- export { Cover, CoverCell } from "../../cover";
73
+ export { Cover, CoverCell } from "../../header";
74
74
  export { dxSurveyService } from "../../dxSurveyService";
75
75
  export { englishStrings } from "../../localization/english";
76
76
  export { surveyLocalization, surveyStrings } from "../../surveyStrings";
@@ -0,0 +1,80 @@
1
+ import { Base } from "./base";
2
+ import { HorizontalAlignment, VerticalAlignment } from "./base-interfaces";
3
+ import { SurveyModel } from "./survey";
4
+ import { ITheme } from "./themes";
5
+ export declare class CoverCell {
6
+ private cover;
7
+ private positionX;
8
+ private positionY;
9
+ static CLASSNAME: string;
10
+ private calcRow;
11
+ private calcColumn;
12
+ private calcAlignItems;
13
+ private calcAlignText;
14
+ private calcJustifyContent;
15
+ constructor(cover: Cover, positionX: HorizontalAlignment, positionY: VerticalAlignment);
16
+ get survey(): SurveyModel;
17
+ get css(): string;
18
+ get style(): any;
19
+ get contentStyle(): any;
20
+ get showLogo(): boolean;
21
+ get showTitle(): boolean;
22
+ get showDescription(): boolean;
23
+ get textAreaWidth(): string;
24
+ }
25
+ export declare class Cover extends Base {
26
+ private _survey;
27
+ private calcBackgroundSize;
28
+ private updateHeaderClasses;
29
+ private updateContentClasses;
30
+ private updateBackgroundImageClasses;
31
+ fromTheme(theme: ITheme): void;
32
+ constructor();
33
+ getType(): string;
34
+ cells: CoverCell[];
35
+ actualHeight: number;
36
+ height: number;
37
+ inheritWidthFrom: "survey" | "container";
38
+ textAreaWidth: number;
39
+ textGlowEnabled: boolean;
40
+ overlapEnabled: boolean;
41
+ backgroundColor: string;
42
+ backgroundImage: string;
43
+ renderBackgroundImage: string;
44
+ backgroundImageFit: "cover" | "fill" | "contain" | "tile";
45
+ backgroundImageOpacity: number;
46
+ logoPositionX: HorizontalAlignment;
47
+ logoPositionY: VerticalAlignment;
48
+ titlePositionX: HorizontalAlignment;
49
+ titlePositionY: VerticalAlignment;
50
+ descriptionPositionX: HorizontalAlignment;
51
+ descriptionPositionY: VerticalAlignment;
52
+ logoStyle: {
53
+ gridColumn: number;
54
+ gridRow: number;
55
+ };
56
+ titleStyle: {
57
+ gridColumn: number;
58
+ gridRow: number;
59
+ };
60
+ descriptionStyle: {
61
+ gridColumn: number;
62
+ gridRow: number;
63
+ };
64
+ headerClasses: string;
65
+ contentClasses: string;
66
+ maxWidth: string;
67
+ backgroundImageClasses: string;
68
+ get renderedHeight(): string;
69
+ get renderedtextAreaWidth(): string;
70
+ get survey(): SurveyModel;
71
+ set survey(newValue: SurveyModel);
72
+ get backgroundImageStyle(): {
73
+ opacity: number;
74
+ backgroundImage: string;
75
+ backgroundSize: string;
76
+ };
77
+ protected propertyValueChanged(name: string, oldValue: any, newValue: any): void;
78
+ calculateActualHeight(logoHeight: number, titleHeight: number, descriptionHeight: number): number;
79
+ processResponsiveness(width: number): void;
80
+ }
@@ -211,6 +211,7 @@ export declare class JsonMetadata {
211
211
  private generateSchemaProperty;
212
212
  private getChemeRefName;
213
213
  private generateChemaClass;
214
+ private getChoicesValues;
214
215
  }
215
216
  export declare class JsonError {
216
217
  type: string;
@@ -45,7 +45,7 @@ export declare var englishStrings: {
45
45
  loadingFile: string;
46
46
  chooseFile: string;
47
47
  noFileChosen: string;
48
- fileDragAreaPlaceholder: string;
48
+ filePlaceholder: string;
49
49
  confirmDelete: string;
50
50
  keyDuplicationError: string;
51
51
  addColumn: string;
@@ -74,8 +74,8 @@ export declare var englishStrings: {
74
74
  signaturePlaceHolder: string;
75
75
  chooseFileCaption: string;
76
76
  takePhotoCaption: string;
77
- cameraPlaceHolder: string;
78
- fileCameraDragAreaPlaceHolder: string;
77
+ photoPlaceholder: string;
78
+ fileOrPhotoPlaceholder: string;
79
79
  replaceFileCaption: string;
80
80
  removeFileCaption: string;
81
81
  booleanCheckedLabel: string;
@@ -44,6 +44,7 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
44
44
  focusCallback: () => void;
45
45
  surveyLoadCallback: () => void;
46
46
  displayValueCallback: (text: string) => string;
47
+ hasCssErrorCallback: () => boolean;
47
48
  private defaultValueRunner;
48
49
  private isChangingViaDefaultValue;
49
50
  private isValueChangedDirectly;
@@ -225,7 +226,9 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
225
226
  moveTo(container: IPanel, insertBefore?: any): boolean;
226
227
  getProgressInfo(): IProgressInfo;
227
228
  private setValueExpressionRunner;
229
+ private ensureSetValueExpressionRunner;
228
230
  private runSetValueExpression;
231
+ private checkExpressionIf;
229
232
  private triggersInfo;
230
233
  private addTriggerInfo;
231
234
  private runTriggerInfo;
@@ -402,6 +405,7 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
402
405
  get cssError(): string;
403
406
  protected setCssError(val: string): void;
404
407
  protected getCssError(cssClasses: any): string;
408
+ protected hasCssError(): boolean;
405
409
  getRootCss(): string;
406
410
  getQuestionRootCss(): string;
407
411
  updateElementCss(reNew?: boolean): void;
@@ -649,7 +653,9 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
649
653
  get setValueIf(): string;
650
654
  set setValueIf(val: string);
651
655
  /**
652
- * An expression used to calculate the question value. Applies only when the [`setValueIf`](#setValueIf) expression evaluates to `true`.
656
+ * An expression used to calculate the question value.
657
+ *
658
+ * You can use `setValueExpression` as a standalone property or in conjunction with the [`setValueIf`](#setValueIf) expression, in which case the calculated question value applies only when `setValueIf` evaluates to `true`.
653
659
  *
654
660
  * [Expressions](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#expressions (linkStyle))
655
661
  * @see defaultValueExpression
@@ -5,6 +5,7 @@ import { SurveyError } from "./survey-error";
5
5
  import { ActionContainer } from "./actions/container";
6
6
  import { Action } from "./actions/action";
7
7
  import { Camera } from "./utils/camera";
8
+ import { LocalizableString } from "./localizablestring";
8
9
  /**
9
10
  * A class that describes the File Upload question type.
10
11
  *
@@ -39,6 +40,9 @@ export declare class QuestionFileModel extends Question {
39
40
  * - `"file"` (default) - Allows respondents to select a local file.
40
41
  * - `"camera"` - Allows respondents to capture and upload a photo.
41
42
  * - `"file-camera"` - Allows respondents to select a local file or capture a photo.
43
+ * @see filePlaceholder
44
+ * @see photoPlaceholder
45
+ * @see fileOrPhotoPlaceholder
42
46
  */
43
47
  sourceType: string;
44
48
  fileNavigator: ActionContainer;
@@ -152,11 +156,26 @@ export declare class QuestionFileModel extends Question {
152
156
  removeFileCaption: string;
153
157
  loadingFileTitle: string;
154
158
  chooseFileTitle: string;
155
- fileCameraDragAreaPlaceholder: string;
156
- cameraPlaceholder: string;
157
- dragAreaPlaceholder: string;
158
- renderedPlaceholderValue: string;
159
- get renderedPlaceholder(): string;
159
+ /**
160
+ * A placeholder text displayed when the File Upload question doesn't contain any files or photos to upload. Applies only when [`sourceType`](#sourceType) value is `"file-camera"`.
161
+ * @see filePlaceholder
162
+ * @see photoPlaceholder
163
+ */
164
+ fileOrPhotoPlaceholder: string;
165
+ /**
166
+ * A placeholder text displayed when the File Upload question doesn't contain any photos to upload. Applies only when the [`sourceType`](#sourceType) value is `"camera"`.
167
+ * @see filePlaceholder
168
+ * @see fileOrPhotoPlaceholder
169
+ */
170
+ photoPlaceholder: string;
171
+ /**
172
+ * A placeholder text displayed when the File Upload question doesn't contain any files to upload. Applies only when the [`sourceType`](#sourceType) value is `"file"`.
173
+ * @see photoPlaceholder
174
+ * @see fileOrPhotoPlaceholder
175
+ */
176
+ filePlaceholder: string;
177
+ locRenderedPlaceholderValue: LocalizableString;
178
+ get locRenderedPlaceholder(): LocalizableString;
160
179
  get currentMode(): string;
161
180
  get isPlayingVideo(): boolean;
162
181
  private setIsPlayingVideo;
@@ -5,6 +5,7 @@ import { Question, IConditionObject } from "./question";
5
5
  import { QuestionTextModel } from "./question_text";
6
6
  import { SurveyError } from "./survey-error";
7
7
  import { ILocalizableOwner, LocalizableString } from "./localizablestring";
8
+ import { HashTable } from "./helpers";
8
9
  export interface IMultipleTextData extends ILocalizableOwner, IPanel {
9
10
  getSurvey(): ISurvey;
10
11
  getTextProcessor(): ITextProcessor;
@@ -220,6 +221,7 @@ export declare class QuestionMultipleTextModel extends Question implements IMult
220
221
  protected onValueChanged(): void;
221
222
  protected createTextItem(name: string, title: string): MultipleTextItemModel;
222
223
  protected onItemValueChanged(): void;
224
+ runCondition(values: HashTable<any>, properties: HashTable<any>): void;
223
225
  protected getIsRunningValidators(): boolean;
224
226
  hasErrors(fireCallback?: boolean, rec?: any): boolean;
225
227
  getAllErrors(): Array<SurveyError>;
@@ -91,5 +91,8 @@ export declare class QuestionRankingModel extends QuestionCheckboxModel {
91
91
  selectToRankEmptyUnrankedAreaText: string;
92
92
  get useFullItemSizeForShortcut(): boolean;
93
93
  set useFullItemSizeForShortcut(val: boolean);
94
+ get dragDropSvgIcon(): string;
95
+ get arrowsSvgIcon(): string;
96
+ get dashSvgIcon(): string;
94
97
  get isNewA11yStructure(): boolean;
95
98
  }
@@ -80,7 +80,16 @@ export declare class QuestionSignaturePadModel extends Question {
80
80
  get backgroundImage(): string;
81
81
  set backgroundImage(val: string);
82
82
  get clearButtonCaption(): string;
83
+ /**
84
+ * A Boolean value that specifies whether to show the [placeholder](#placeholder).
85
+ *
86
+ * Default value: `true`
87
+ */
88
+ showPlaceholder: boolean;
83
89
  needShowPlaceholder(): boolean;
84
- get placeHolderText(): string;
90
+ /**
91
+ * A placeholder for the signature area. Applies when the [`showPlaceholder`](#showPlaceholder) property is `true`.
92
+ */
93
+ placeholder: string;
85
94
  endLoadingFromJson(): void;
86
95
  }
@@ -430,7 +430,7 @@ export declare var settings: {
430
430
  * @param message A message to be displayed in the confirm dialog window.
431
431
  * @param callback A callback function that should be called with `true` if a user confirms an action or `false` otherwise.
432
432
  */
433
- confirmActionAsync: (message: string, callback: (res: boolean) => void) => boolean;
433
+ confirmActionAsync: (message: string, callback: (res: boolean) => void, applyTitle?: string) => boolean;
434
434
  /**
435
435
  * A minimum width value for all survey elements.
436
436
  *
@@ -837,7 +837,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
837
837
  /**
838
838
  * Specifies whether to focus the first question on the page on survey startup or when users switch between pages.
839
839
  *
840
- * Default value: `true`
840
+ * Default value: `false` in v1.9.114 and later, `true` in earlier versions
841
841
  * @see focusOnFirstError
842
842
  * @see focusFirstQuestion
843
843
  * @see focusQuestion
@@ -62,7 +62,7 @@ export declare var surveyStrings: {
62
62
  loadingFile: string;
63
63
  chooseFile: string;
64
64
  noFileChosen: string;
65
- fileDragAreaPlaceholder: string;
65
+ filePlaceholder: string;
66
66
  confirmDelete: string;
67
67
  keyDuplicationError: string;
68
68
  addColumn: string;
@@ -91,8 +91,8 @@ export declare var surveyStrings: {
91
91
  signaturePlaceHolder: string;
92
92
  chooseFileCaption: string;
93
93
  takePhotoCaption: string;
94
- cameraPlaceHolder: string;
95
- fileCameraDragAreaPlaceHolder: string;
94
+ photoPlaceholder: string;
95
+ fileOrPhotoPlaceholder: string;
96
96
  replaceFileCaption: string;
97
97
  removeFileCaption: string;
98
98
  booleanCheckedLabel: string;
@@ -40,5 +40,5 @@ export declare class Logger {
40
40
  log(action: string): void;
41
41
  get result(): string;
42
42
  }
43
- export declare function showConfirmDialog(message: string, callback: (res: boolean) => void): boolean;
43
+ export declare function showConfirmDialog(message: string, callback: (res: boolean) => void, applyTitle?: string): boolean;
44
44
  export { mergeValues, getElementWidth, isContainerVisible, classesToSelector, compareVersions, confirmAction, confirmActionAsync, detectIEOrEdge, detectIEBrowser, loadFileFromBase64, isMobile, isShadowDOM, getElement, isElementVisible, findScrollableParent, scrollElementByChildId, navigateToUrl, wrapUrlForBackgroundImage, createSvg, getIconNameFromProxy, increaseHeightByContent, getOriginalEvent, preventDefaults, findParentByClassNames, getFirstVisibleChild, };