survey-core 1.9.117 → 1.9.119

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 (266) hide show
  1. package/defaultV2.css +125 -42
  2. package/defaultV2.css.map +1 -1
  3. package/defaultV2.fontless.css +125 -42
  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 +4 -3
  24. package/i18n/english.js.map +1 -1
  25. package/i18n/english.min.js +2 -2
  26. package/i18n/estonian.js +1 -1
  27. package/i18n/estonian.min.js +1 -1
  28. package/i18n/finnish.js +1 -1
  29. package/i18n/finnish.min.js +1 -1
  30. package/i18n/french.js +1 -1
  31. package/i18n/french.min.js +1 -1
  32. package/i18n/georgian.js +1 -1
  33. package/i18n/georgian.min.js +1 -1
  34. package/i18n/german.js +1 -1
  35. package/i18n/german.min.js +1 -1
  36. package/i18n/greek.js +1 -1
  37. package/i18n/greek.min.js +1 -1
  38. package/i18n/hebrew.js +1 -1
  39. package/i18n/hebrew.min.js +1 -1
  40. package/i18n/hindi.js +1 -1
  41. package/i18n/hindi.min.js +1 -1
  42. package/i18n/hungarian.js +1 -1
  43. package/i18n/hungarian.min.js +1 -1
  44. package/i18n/icelandic.js +1 -1
  45. package/i18n/icelandic.min.js +1 -1
  46. package/i18n/index.js +1 -1
  47. package/i18n/index.min.js +1 -1
  48. package/i18n/indonesian.js +1 -1
  49. package/i18n/indonesian.min.js +1 -1
  50. package/i18n/italian.js +1 -1
  51. package/i18n/italian.min.js +1 -1
  52. package/i18n/japanese.js +1 -1
  53. package/i18n/japanese.min.js +1 -1
  54. package/i18n/kazakh.js +1 -1
  55. package/i18n/kazakh.min.js +1 -1
  56. package/i18n/korean.js +1 -1
  57. package/i18n/korean.min.js +1 -1
  58. package/i18n/latvian.js +1 -1
  59. package/i18n/latvian.min.js +1 -1
  60. package/i18n/lithuanian.js +1 -1
  61. package/i18n/lithuanian.min.js +1 -1
  62. package/i18n/macedonian.js +1 -1
  63. package/i18n/macedonian.min.js +1 -1
  64. package/i18n/malay.js +1 -1
  65. package/i18n/malay.min.js +1 -1
  66. package/i18n/nl-BE.js +1 -1
  67. package/i18n/nl-BE.min.js +1 -1
  68. package/i18n/norwegian.js +1 -1
  69. package/i18n/norwegian.min.js +1 -1
  70. package/i18n/persian.js +1 -1
  71. package/i18n/persian.min.js +1 -1
  72. package/i18n/polish.js +1 -1
  73. package/i18n/polish.min.js +1 -1
  74. package/i18n/portuguese-br.js +1 -1
  75. package/i18n/portuguese-br.min.js +1 -1
  76. package/i18n/portuguese.js +1 -1
  77. package/i18n/portuguese.min.js +1 -1
  78. package/i18n/romanian.js +1 -1
  79. package/i18n/romanian.min.js +1 -1
  80. package/i18n/russian.js +1 -1
  81. package/i18n/russian.min.js +1 -1
  82. package/i18n/serbian.js +1 -1
  83. package/i18n/serbian.min.js +1 -1
  84. package/i18n/simplified-chinese.js +1 -1
  85. package/i18n/simplified-chinese.min.js +1 -1
  86. package/i18n/slovak.js +1 -1
  87. package/i18n/slovak.min.js +1 -1
  88. package/i18n/spanish.js +1 -1
  89. package/i18n/spanish.min.js +1 -1
  90. package/i18n/swahili.js +1 -1
  91. package/i18n/swahili.min.js +1 -1
  92. package/i18n/swedish.js +1 -1
  93. package/i18n/swedish.min.js +1 -1
  94. package/i18n/tajik.js +1 -1
  95. package/i18n/tajik.min.js +1 -1
  96. package/i18n/telugu.js +1 -1
  97. package/i18n/telugu.min.js +1 -1
  98. package/i18n/thai.js +1 -1
  99. package/i18n/thai.min.js +1 -1
  100. package/i18n/traditional-chinese.js +1 -1
  101. package/i18n/traditional-chinese.min.js +1 -1
  102. package/i18n/turkish.js +1 -1
  103. package/i18n/turkish.min.js +1 -1
  104. package/i18n/ukrainian.js +1 -1
  105. package/i18n/ukrainian.min.js +1 -1
  106. package/i18n/urdu.js +1 -1
  107. package/i18n/urdu.min.js +1 -1
  108. package/i18n/vietnamese.js +1 -1
  109. package/i18n/vietnamese.min.js +1 -1
  110. package/i18n/welsh.js +1 -1
  111. package/i18n/welsh.min.js +1 -1
  112. package/modern.css +5 -2
  113. package/modern.css.map +1 -1
  114. package/modern.fontless.css +5 -2
  115. package/modern.fontless.css.map +1 -1
  116. package/modern.fontless.min.css +2 -2
  117. package/modern.min.css +2 -2
  118. package/package.json +1 -1
  119. package/plugins/bootstrap-integration.js +1 -1
  120. package/plugins/bootstrap-integration.min.js +1 -1
  121. package/plugins/bootstrap-material-integration.js +1 -1
  122. package/plugins/bootstrap-material-integration.min.js +1 -1
  123. package/survey.core.js +413 -183
  124. package/survey.core.js.map +1 -1
  125. package/survey.core.min.js +4 -4
  126. package/survey.css +5 -2
  127. package/survey.css.map +1 -1
  128. package/survey.i18n.js +1 -1
  129. package/survey.i18n.min.js +1 -1
  130. package/survey.min.css +2 -2
  131. package/themes/borderless-dark-panelless.js +1 -1
  132. package/themes/borderless-dark-panelless.min.js +1 -1
  133. package/themes/borderless-dark.js +1 -1
  134. package/themes/borderless-dark.min.js +1 -1
  135. package/themes/borderless-light-panelless..js +1 -1
  136. package/themes/borderless-light-panelless..min.js +1 -1
  137. package/themes/borderless-light.js +1 -1
  138. package/themes/borderless-light.min.js +1 -1
  139. package/themes/contrast-dark-panelless.js +1 -1
  140. package/themes/contrast-dark-panelless.min.js +1 -1
  141. package/themes/contrast-dark.js +1 -1
  142. package/themes/contrast-dark.min.js +1 -1
  143. package/themes/contrast-light-panelless.js +1 -1
  144. package/themes/contrast-light-panelless.min.js +1 -1
  145. package/themes/contrast-light.js +1 -1
  146. package/themes/contrast-light.min.js +1 -1
  147. package/themes/default-dark-panelless.js +1 -1
  148. package/themes/default-dark-panelless.min.js +1 -1
  149. package/themes/default-dark.js +1 -1
  150. package/themes/default-dark.min.js +1 -1
  151. package/themes/default-light-panelless.js +1 -1
  152. package/themes/default-light-panelless.min.js +1 -1
  153. package/themes/default-light.js +1 -1
  154. package/themes/default-light.min.js +1 -1
  155. package/themes/doubleborder-dark-panelless.js +1 -1
  156. package/themes/doubleborder-dark-panelless.min.js +1 -1
  157. package/themes/doubleborder-dark.js +1 -1
  158. package/themes/doubleborder-dark.min.js +1 -1
  159. package/themes/doubleborder-light-panelles.js +1 -1
  160. package/themes/doubleborder-light-panelles.min.js +1 -1
  161. package/themes/doubleborder-light.js +1 -1
  162. package/themes/doubleborder-light.min.js +1 -1
  163. package/themes/flat-dark-panelless.js +1 -1
  164. package/themes/flat-dark-panelless.min.js +1 -1
  165. package/themes/flat-dark.js +1 -1
  166. package/themes/flat-dark.min.js +1 -1
  167. package/themes/flat-light-panelless.js +1 -1
  168. package/themes/flat-light-panelless.min.js +1 -1
  169. package/themes/flat-light.js +1 -1
  170. package/themes/flat-light.min.js +1 -1
  171. package/themes/index.js +1 -1
  172. package/themes/index.min.js +1 -1
  173. package/themes/layered-dark-panelless.js +1 -1
  174. package/themes/layered-dark-panelless.min.js +1 -1
  175. package/themes/layered-dark.js +1 -1
  176. package/themes/layered-dark.min.js +1 -1
  177. package/themes/layered-light-panelless.js +1 -1
  178. package/themes/layered-light-panelless.min.js +1 -1
  179. package/themes/layered-light.js +1 -1
  180. package/themes/layered-light.min.js +1 -1
  181. package/themes/plain-dark-panelless.js +1 -1
  182. package/themes/plain-dark-panelless.min.js +1 -1
  183. package/themes/plain-dark.js +1 -1
  184. package/themes/plain-dark.min.js +1 -1
  185. package/themes/plain-light-panelless.js +1 -1
  186. package/themes/plain-light-panelless.min.js +1 -1
  187. package/themes/plain-light.js +1 -1
  188. package/themes/plain-light.min.js +1 -1
  189. package/themes/sharp-dark-panelless.js +1 -1
  190. package/themes/sharp-dark-panelless.min.js +1 -1
  191. package/themes/sharp-dark.js +1 -1
  192. package/themes/sharp-dark.min.js +1 -1
  193. package/themes/sharp-light-panelless.js +1 -1
  194. package/themes/sharp-light-panelless.min.js +1 -1
  195. package/themes/sharp-light.js +1 -1
  196. package/themes/sharp-light.min.js +1 -1
  197. package/themes/solid-dark-panelless.js +1 -1
  198. package/themes/solid-dark-panelless.min.js +1 -1
  199. package/themes/solid-dark.js +1 -1
  200. package/themes/solid-dark.min.js +1 -1
  201. package/themes/solid-light-panelless.js +1 -1
  202. package/themes/solid-light-panelless.min.js +1 -1
  203. package/themes/solid-light.js +1 -1
  204. package/themes/solid-light.min.js +1 -1
  205. package/themes/three-dimensional-dark-panelless.js +1 -1
  206. package/themes/three-dimensional-dark-panelless.min.js +1 -1
  207. package/themes/three-dimensional-dark.js +1 -1
  208. package/themes/three-dimensional-dark.min.js +1 -1
  209. package/themes/three-dimensional-light-panelless.js +1 -1
  210. package/themes/three-dimensional-light-panelless.min.js +1 -1
  211. package/themes/three-dimensional-light.js +1 -1
  212. package/themes/three-dimensional-light.min.js +1 -1
  213. package/ts3.4/typings/base-interfaces.d.ts +2 -1
  214. package/ts3.4/typings/conditionProcessValue.d.ts +1 -0
  215. package/ts3.4/typings/defaultCss/cssmodern.d.ts +1 -0
  216. package/ts3.4/typings/defaultCss/cssstandard.d.ts +1 -0
  217. package/ts3.4/typings/defaultCss/defaultV2Css.d.ts +9 -3
  218. package/ts3.4/typings/dragdrop/choices.d.ts +1 -0
  219. package/ts3.4/typings/jsonobject.d.ts +2 -0
  220. package/ts3.4/typings/localization/english.d.ts +1 -0
  221. package/ts3.4/typings/martixBase.d.ts +1 -0
  222. package/ts3.4/typings/notifier.d.ts +11 -8
  223. package/ts3.4/typings/page.d.ts +1 -0
  224. package/ts3.4/typings/panel.d.ts +4 -1
  225. package/ts3.4/typings/question.d.ts +3 -1
  226. package/ts3.4/typings/question_baseselect.d.ts +5 -1
  227. package/ts3.4/typings/question_file.d.ts +1 -0
  228. package/ts3.4/typings/question_matrixdropdownbase.d.ts +3 -0
  229. package/ts3.4/typings/question_matrixdropdowncolumn.d.ts +1 -0
  230. package/ts3.4/typings/question_matrixdynamic.d.ts +3 -0
  231. package/ts3.4/typings/question_ranking.d.ts +6 -0
  232. package/ts3.4/typings/question_rating.d.ts +1 -0
  233. package/ts3.4/typings/question_signaturepad.d.ts +3 -1
  234. package/ts3.4/typings/question_textbase.d.ts +1 -2
  235. package/ts3.4/typings/settings.d.ts +21 -0
  236. package/ts3.4/typings/survey-events-api.d.ts +20 -8
  237. package/ts3.4/typings/survey.d.ts +47 -11
  238. package/ts3.4/typings/surveyStrings.d.ts +1 -0
  239. package/ts3.4/typings/themes.d.ts +2 -2
  240. package/typings/base-interfaces.d.ts +2 -1
  241. package/typings/conditionProcessValue.d.ts +1 -0
  242. package/typings/defaultCss/cssmodern.d.ts +1 -0
  243. package/typings/defaultCss/cssstandard.d.ts +1 -0
  244. package/typings/defaultCss/defaultV2Css.d.ts +9 -3
  245. package/typings/dragdrop/choices.d.ts +1 -0
  246. package/typings/jsonobject.d.ts +2 -0
  247. package/typings/localization/english.d.ts +1 -0
  248. package/typings/martixBase.d.ts +1 -0
  249. package/typings/notifier.d.ts +11 -8
  250. package/typings/page.d.ts +1 -0
  251. package/typings/panel.d.ts +4 -1
  252. package/typings/question.d.ts +3 -1
  253. package/typings/question_baseselect.d.ts +5 -1
  254. package/typings/question_file.d.ts +3 -1
  255. package/typings/question_matrixdropdownbase.d.ts +3 -0
  256. package/typings/question_matrixdropdowncolumn.d.ts +1 -0
  257. package/typings/question_matrixdynamic.d.ts +3 -0
  258. package/typings/question_ranking.d.ts +6 -0
  259. package/typings/question_rating.d.ts +1 -0
  260. package/typings/question_signaturepad.d.ts +3 -1
  261. package/typings/question_textbase.d.ts +1 -2
  262. package/typings/settings.d.ts +21 -0
  263. package/typings/survey-events-api.d.ts +20 -8
  264. package/typings/survey.d.ts +48 -11
  265. package/typings/surveyStrings.d.ts +1 -0
  266. package/typings/themes.d.ts +2 -2
@@ -1,6 +1,15 @@
1
1
  import { Base } from "./base";
2
2
  import { ActionContainer } from "./actions/container";
3
3
  import { IAction } from "./actions/action";
4
+ interface INotifierCssClasses {
5
+ root: string;
6
+ rootWithButtons: string;
7
+ info: string;
8
+ error: string;
9
+ success: string;
10
+ button: string;
11
+ shown: string;
12
+ }
4
13
  export declare class Notifier extends Base {
5
14
  private cssClasses;
6
15
  active: boolean;
@@ -12,16 +21,10 @@ export declare class Notifier extends Base {
12
21
  private actionsVisibility;
13
22
  actionBar: ActionContainer;
14
23
  showActions: boolean;
15
- constructor(cssClasses: {
16
- root: string;
17
- info: string;
18
- error: string;
19
- success: string;
20
- button: string;
21
- shown: string;
22
- });
24
+ constructor(cssClasses: INotifierCssClasses);
23
25
  getCssClass(type: string): string;
24
26
  updateActionsVisibility(type: string): void;
25
27
  notify(message: string, type?: string, waitUserAction?: boolean): void;
26
28
  addAction(action: IAction, notificationType: string): void;
27
29
  }
30
+ export {};
package/typings/page.d.ts CHANGED
@@ -53,6 +53,7 @@ export declare class PageModel extends PanelModelBase implements IPage {
53
53
  protected calcCssClasses(css: any): any;
54
54
  get cssTitle(): string;
55
55
  get cssRoot(): string;
56
+ protected getCssError(cssClasses: any): string;
56
57
  num: number;
57
58
  /**
58
59
  * Set this property to "hide" to make "Prev", "Next" and "Complete" buttons are invisible for this page. Set this property to "show" to make these buttons visible, even if survey showNavigationButtons property is false.
@@ -412,6 +412,8 @@ export declare class PanelModelBase extends SurveyElement<Question> implements I
412
412
  set questionErrorLocation(val: string);
413
413
  getQuestionErrorLocation(): string;
414
414
  get no(): string;
415
+ get cssError(): string;
416
+ protected getCssError(cssClasses: any): string;
415
417
  dispose(): void;
416
418
  }
417
419
  /**
@@ -492,6 +494,7 @@ export declare class PanelModel extends PanelModelBase implements IElement {
492
494
  */
493
495
  get no(): string;
494
496
  protected setNo(visibleIndex: number): void;
497
+ protected notifyStateChanged(): void;
495
498
  protected createLocTitleProperty(): LocalizableString;
496
499
  protected beforeSetVisibleIndex(index: number): number;
497
500
  protected getPanelStartIndex(index: number): number;
@@ -524,7 +527,6 @@ export declare class PanelModel extends PanelModelBase implements IElement {
524
527
  get hasEditButton(): boolean;
525
528
  cancelPreview(): void;
526
529
  get cssTitle(): string;
527
- get cssError(): string;
528
530
  get showErrorsAbovePanel(): boolean;
529
531
  protected getCssError(cssClasses: any): string;
530
532
  protected onVisibleChanged(): void;
@@ -532,6 +534,7 @@ export declare class PanelModel extends PanelModelBase implements IElement {
532
534
  focusIn(): void;
533
535
  protected getHasFrameV2(): boolean;
534
536
  protected getIsNested(): boolean;
537
+ private get showPanelAsPage();
535
538
  protected getCssRoot(cssClasses: {
536
539
  [index: string]: string;
537
540
  }): string;
@@ -363,7 +363,6 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
363
363
  get isContainer(): boolean;
364
364
  protected updateCommentElements(): void;
365
365
  onCommentInput(event: any): void;
366
- onCompositionUpdateComment(event: any): void;
367
366
  onCommentChange(event: any): void;
368
367
  afterRenderQuestionElement(el: HTMLElement): void;
369
368
  afterRender(el: HTMLElement): void;
@@ -478,6 +477,7 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
478
477
  * @see otherItem
479
478
  * @see otherErrorText
480
479
  * @see showCommentArea
480
+ * @see [settings.specialChoicesOrder](https://surveyjs.io/form-library/documentation/api-reference/settings#specialChoicesOrder)
481
481
  */
482
482
  get showOtherItem(): boolean;
483
483
  set showOtherItem(val: boolean);
@@ -630,6 +630,8 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
630
630
  * - `{row.other_question_name}` (to access questions inside the same dynamic matrix or multi-column dropdown)
631
631
  *
632
632
  * An expression can also include built-in and custom functions for advanced calculations. For example, if the `defaultValue` should be today's date, set the `defaultValueExpression` to `"today()"`, and the corresponding built-in function will be executed each time the survey is loaded. Refer to the following help topic for more information: [Built-In Functions](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#built-in-functions).
633
+ *
634
+ * [View Demo](https://surveyjs.io/form-library/examples/specify-default-question-value-dynamically (linkStyle))
633
635
  * @see defaultValue
634
636
  * @see setValueExpression
635
637
  */
@@ -62,6 +62,7 @@ export declare class QuestionSelectBase extends Question {
62
62
  * When users select the "None" item in multi-select questions, all other items become unselected.
63
63
  * @see noneItem
64
64
  * @see noneText
65
+ * @see [settings.specialChoicesOrder](https://surveyjs.io/form-library/documentation/api-reference/settings#specialChoicesOrder)
65
66
  */
66
67
  get showNoneItem(): boolean;
67
68
  set showNoneItem(val: boolean);
@@ -166,6 +167,7 @@ export declare class QuestionSelectBase extends Question {
166
167
  *
167
168
  * [View Demo](https://surveyjs.io/form-library/examples/questiontype-dropdownrestfull/ (linkStyle))
168
169
  * @see choices
170
+ * @see [settings.specialChoicesOrder](https://surveyjs.io/form-library/documentation/api-reference/settings#specialChoicesOrder)
169
171
  */
170
172
  get choicesByUrl(): ChoicesRestful;
171
173
  set choicesByUrl(val: ChoicesRestful);
@@ -188,6 +190,7 @@ export declare class QuestionSelectBase extends Question {
188
190
  * If you need to specify only the `value` property, you can set the `choices` property to an array of primitive values, for example, `[ "item1", "item2", "item3" ]`. These values are both saved in survey results and used as display text.
189
191
  * @see choicesByUrl
190
192
  * @see choicesFromQuestion
193
+ * @see [settings.specialChoicesOrder](https://surveyjs.io/form-library/documentation/api-reference/settings#specialChoicesOrder)
191
194
  */
192
195
  get choices(): Array<any>;
193
196
  set choices(newValue: Array<any>);
@@ -259,6 +262,7 @@ export declare class QuestionSelectBase extends Question {
259
262
  * - `"asc"`- Sorts choice items in ascending order.
260
263
  * - `"desc"`- Sorts choice items in ascending order.
261
264
  * - `"random"` - Displays choice items in random order.
265
+ * @see [settings.specialChoicesOrder](https://surveyjs.io/form-library/documentation/api-reference/settings#specialChoicesOrder)
262
266
  */
263
267
  get choicesOrder(): string;
264
268
  set choicesOrder(val: string);
@@ -273,6 +277,7 @@ export declare class QuestionSelectBase extends Question {
273
277
  * Displays the "Select All", "None", and "Other" choices on individual rows.
274
278
  * @see showNoneItem
275
279
  * @see showOtherItem
280
+ * @see [settings.specialChoicesOrder](https://surveyjs.io/form-library/documentation/api-reference/settings#specialChoicesOrder)
276
281
  */
277
282
  separateSpecialChoices: boolean;
278
283
  /**
@@ -361,7 +366,6 @@ export declare class QuestionSelectBase extends Question {
361
366
  protected getCommentFromValue(newValue: any): string;
362
367
  protected setOtherValueIntoValue(newValue: any): any;
363
368
  onOtherValueInput(event: any): void;
364
- onCompositionUpdateOtherValue(event: any): void;
365
369
  onOtherValueChange(event: any): void;
366
370
  private isRunningChoices;
367
371
  private runChoicesByUrl;
@@ -150,7 +150,9 @@ export declare class QuestionFileModel extends Question {
150
150
  confirmRemoveAllMessage: string;
151
151
  noFileChosenCaption: string;
152
152
  chooseButtonCaption: string;
153
- takePhotoCaption: string;
153
+ get takePhotoCaption(): string;
154
+ set takePhotoCaption(val: string);
155
+ get locTakePhotoCaption(): LocalizableString;
154
156
  replaceButtonCaption: string;
155
157
  clearButtonCaption: string;
156
158
  removeFileCaption: string;
@@ -41,6 +41,7 @@ export declare class MatrixDropdownCell {
41
41
  data: IMatrixDropdownData;
42
42
  private questionValue;
43
43
  constructor(column: MatrixDropdownColumn, row: MatrixDropdownRowModelBase, data: IMatrixDropdownData);
44
+ private updateCellQuestionTitleDueToAccessebility;
44
45
  locStrsChanged(): void;
45
46
  protected createQuestion(column: MatrixDropdownColumn, row: MatrixDropdownRowModelBase, data: IMatrixDropdownData): Question;
46
47
  get question(): Question;
@@ -76,10 +77,12 @@ export declare class MatrixDropdownRowModelBase implements ISurveyData, ISurveyI
76
77
  constructor(data: IMatrixDropdownData, value: any);
77
78
  get id(): string;
78
79
  get rowName(): any;
80
+ get dataName(): string;
79
81
  get text(): any;
80
82
  get value(): any;
81
83
  set value(value: any);
82
84
  get locText(): LocalizableString;
85
+ getAccessbilityText(): string;
83
86
  get hasPanel(): boolean;
84
87
  get detailPanel(): PanelModel;
85
88
  get detailPanelId(): string;
@@ -15,6 +15,7 @@ export interface IMatrixColumnOwner extends ILocalizableOwner {
15
15
  getCellType(): string;
16
16
  getCustomCellType(column: MatrixDropdownColumn, row: MatrixDropdownRowModelBase, cellType: string): string;
17
17
  onColumnCellTypeChanged(column: MatrixDropdownColumn): void;
18
+ getCellAriaLabel(rowTitle: string, columnTitle: string): string;
18
19
  }
19
20
  export declare var matrixDropdownColumnTypes: any;
20
21
  export declare class MatrixDropdownColumn extends Base implements ILocalizableOwner, IWrapperObject {
@@ -10,6 +10,9 @@ export declare class MatrixDynamicRowModel extends MatrixDropdownRowModelBase im
10
10
  private dragOrClickHelper;
11
11
  constructor(index: number, data: IMatrixDropdownData, value: any);
12
12
  get rowName(): string;
13
+ get dataName(): string;
14
+ get text(): any;
15
+ getAccessbilityText(): string;
13
16
  get shortcutText(): string;
14
17
  }
15
18
  /**
@@ -89,7 +89,13 @@ export declare class QuestionRankingModel extends QuestionCheckboxModel {
89
89
  set selectToRankAreasLayout(val: string);
90
90
  get renderedSelectToRankAreasLayout(): string;
91
91
  isMobileMode(): boolean;
92
+ /**
93
+ * A placeholder displayed in the area for ranked choices. Applies when [`selectToRankEnabled`](https://surveyjs.io/form-library/documentation/api-reference/ranking-question-model#selectToRankEnabled) is `true`.
94
+ */
92
95
  selectToRankEmptyRankedAreaText: string;
96
+ /**
97
+ * A placeholder displayed in the area for unranked choices. Applies when [`selectToRankEnabled`](https://surveyjs.io/form-library/documentation/api-reference/ranking-question-model#selectToRankEnabled) is `true`.
98
+ */
93
99
  selectToRankEmptyUnrankedAreaText: string;
94
100
  get useFullItemSizeForShortcut(): boolean;
95
101
  set useFullItemSizeForShortcut(val: boolean);
@@ -118,6 +118,7 @@ export declare class QuestionRatingModel extends Question {
118
118
  itemValuePropertyChanged(item: ItemValue, name: string, oldValue: any, newValue: any): void;
119
119
  private createRenderedRateItems;
120
120
  renderedRateItems: Array<RenderedRatingItem>;
121
+ private createRateValues;
121
122
  private correctValue;
122
123
  getType(): string;
123
124
  protected getFirstInputElementId(): string;
@@ -51,7 +51,9 @@ export declare class QuestionSignaturePadModel extends Question {
51
51
  *
52
52
  * Default value: `false`
53
53
  *
54
- * > The signature area is scaled only for display. The resulting image will have dimensions specified by the [`signatureHeight`](#signatureHeight) and [`signatureWidth`](#signatureWidth) properties.
54
+ * This property auto-scales the signature area to fill all available width within the question box while maintaining the default 3:2 aspect ratio. If you set [custom width](#signatureWidth) and [height](#signatureHeight) values, the setting will keep the aspect ratio of these dimensions.
55
+ *
56
+ * > The signature area is scaled only for display. The image saved in survey results will have dimensions specified by the [`signatureHeight`](#signatureHeight) and [`signatureWidth`](#signatureWidth) properties.
55
57
  */
56
58
  signatureAutoScaleEnabled: boolean;
57
59
  /**
@@ -58,9 +58,8 @@ export declare class QuestionTextBase extends Question {
58
58
  protected setQuestionValue(newValue: any, updateIsAnswered?: boolean): void;
59
59
  protected convertToCorrectValue(val: any): any;
60
60
  protected getValueSeparator(): string;
61
- disableNativeUndoRedo: boolean;
62
- protected checkForUndo(event: KeyboardEvent): void;
63
61
  protected getControlCssClassBuilder(): CssClassBuilder;
64
62
  getControlClass(): string;
65
63
  get isNewA11yStructure(): boolean;
64
+ onKeyDownPreprocess: (event: any) => void;
66
65
  }
@@ -485,6 +485,27 @@ export declare var settings: {
485
485
  * Default value: `"none"`
486
486
  */
487
487
  noneItemValue: string;
488
+ /**
489
+ * An object whose properties specify the order of the special choice items (None, Other, Select All) in select-based questions.
490
+ *
491
+ * Default value: `{ selectAllItem: [-1], noneItem: [1], otherItem: [2] }`
492
+ *
493
+ * Use this object to reorder special choices. Each property accepts an array of integer numbers. Negative numbers place a special choice item above regular choice items, positive numbers place it below them. For instance, the code below specifies the following order of choices: None, Select All, regular choices, Other.
494
+ *
495
+ * ```js
496
+ * import { settings } from "survey-core";
497
+ *
498
+ * settings.specialChoicesOrder.noneItem = [-2];
499
+ * settings.specialChoicesOrder.selectAllItem = [-1];
500
+ * settings.specialChoicesOrder.otherItem = [1];
501
+ * ```
502
+ *
503
+ * If you want to duplicate a special choice item above and below other choices, add two numbers to the corresponding array:
504
+ *
505
+ * ```js
506
+ * settings.specialChoicesOrder.selectAllItem = [-1, 3] // Displays Select All above and below other choices
507
+ * ```
508
+ */
488
509
  specialChoicesOrder: {
489
510
  selectAllItem: number[];
490
511
  noneItem: number[];
@@ -1,6 +1,6 @@
1
1
  import { IAction } from "./actions/action";
2
2
  import { Base } from "./base";
3
- import { IElement, ISurveyElement, IValueItemCustomPropValues } from "./base-interfaces";
3
+ import { IElement, IPanel, ISurveyElement, IValueItemCustomPropValues } from "./base-interfaces";
4
4
  import { ItemValue } from "./itemvalue";
5
5
  import { PageModel } from "./page";
6
6
  import { PanelModel, PanelModelBase } from "./panel";
@@ -499,9 +499,9 @@ export interface LoadFilesEvent extends FileQuestionEventMixin {
499
499
  }
500
500
  export interface UploadFilesEvent extends LoadFilesEvent {
501
501
  /**
502
- * A callback function that you should call when a file is uploaded successfully or when file upload fails. Pass `"success"` or `"error"` as the first argument to indicate the operation status. As the second argument, you can pass the uploaded file's data if file upload was successful or an error message if file upload failed.
502
+ * A callback function that you should call when a file is uploaded successfully or when file upload fails. Pass an array of successfully uploaded files as the first argument. As the second argument, you can pass an array of error messages if file upload failed.
503
503
  */
504
- callback: (status: string, data?: any) => any;
504
+ callback: (data: any | Array<any>, errors?: any | Array<any>) => any;
505
505
  /**
506
506
  * 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.
507
507
  */
@@ -858,27 +858,39 @@ export interface DragDropAllowEvent {
858
858
  /**
859
859
  * A survey element being dragged.
860
860
  */
861
- target: IElement;
861
+ draggedElement: IElement;
862
862
  /**
863
- * A survey element from which `target` is being dragged. This parameter is `null` if `target` is being dragged from the [Toolbox](https://surveyjs.io/survey-creator/documentation/toolbox).
863
+ * A survey element from which `draggedElement` is being dragged. This parameter is `null` if `draggedElement` is being dragged from the [Toolbox](https://surveyjs.io/survey-creator/documentation/toolbox).
864
864
  */
865
- source: IElement;
865
+ fromElement: IPanel;
866
+ /**
867
+ * A survey element to which `draggedElement` is being dragged.
868
+ */
869
+ toElement: IElement;
866
870
  /**
867
871
  * A survey element before which the target element will be placed. This parameter is `null` if the parent container (page or panel) has no elements or if the target element will be placed below all other elements within the container.
868
872
  */
869
873
  insertBefore: IElement;
870
874
  /**
871
- * A survey element after which `target` will be placed. This parameter is `null` if the parent container (page or panel) has no elements or if `target` will be placed above all other elements within the container.
875
+ * A survey element after which `draggedElement` will be placed. This parameter is `null` if the parent container (page or panel) has no elements or if `draggedElement` will be placed above all other elements within the container.
872
876
  */
873
877
  insertAfter: IElement;
874
878
  /**
875
- * A parent container (page or panel) within which `target` will be placed.
879
+ * A parent container (page or panel) within which `draggedElement` will be placed.
876
880
  */
877
881
  parent: ISurveyElement;
878
882
  /**
879
883
  * A Boolean property that you can set to `false` if you want to cancel the drag and drop operation.
880
884
  */
881
885
  allow: boolean;
886
+ /**
887
+ * Obsolete. Use `options.draggedElement` instead.
888
+ */
889
+ target: IElement;
890
+ /**
891
+ * Obsolete. Use `options.toElement` instead.
892
+ */
893
+ source: IElement;
882
894
  }
883
895
  export interface ScrollingElementToTopEvent {
884
896
  /**
@@ -25,6 +25,7 @@ import { QuestionFileModel } from "./question_file";
25
25
  import { QuestionMultipleTextModel } from "./question_multipletext";
26
26
  import { ITheme, ImageFit, ImageAttachment } from "./themes";
27
27
  import { PopupModel } from "./popup";
28
+ import { Cover } from "./header";
28
29
  /**
29
30
  * The `SurveyModel` object contains properties and methods that allow you to control the survey and access its elements.
30
31
  *
@@ -750,8 +751,11 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
750
751
  *
751
752
  * - `"advanced"`\
752
753
  * An advanced header view applies the same properties as the basic view, plus [header settings](https://surveyjs.io/form-library/documentation/api-reference/iheader) from the [survey theme](https://surveyjs.io/form-library/documentation/api-reference/itheme#header). The advanced view features a more flexible header layout, a capability to specify a background image, and other settings that give a more professional look to the survey header.
754
+ *
755
+ * [View Demo](https://surveyjs.io/form-library/examples/brand-your-survey-header/ (linkStyle))
753
756
  */
754
757
  headerView: "advanced" | "basic";
758
+ protected insertAdvancedHeader(advHeader: Cover): void;
755
759
  private getNavigationCss;
756
760
  private lazyRenderingValue;
757
761
  showBrandInfo: boolean;
@@ -947,7 +951,8 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
947
951
  * Specifies whether to hide validation errors thrown by the Required validation in the UI.
948
952
  *
949
953
  * [Built-In Client-Side Validators](https://surveyjs.io/form-library/documentation/data-validation#built-in-client-side-validators (linkStyle))
950
- * @see ignoreValidation
954
+ * @see validationEnabled
955
+ * @see validationAllowSwitchPages
951
956
  */
952
957
  hideRequiredErrors: boolean;
953
958
  beforeSettingQuestionErrors(question: Question, errors: Array<SurveyError>): void;
@@ -1020,6 +1025,10 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
1020
1025
  * - `"onComplete"` - Triggers validation when a user clicks the Complete button. If previous pages contain errors, the survey switches to the page with the first error.
1021
1026
  *
1022
1027
  * Refer to the following help topic for more information: [Data Validation](https://surveyjs.io/form-library/documentation/data-validation).
1028
+ * @see validationEnabled
1029
+ * @see validationAllowSwitchPages
1030
+ * @see validationAllowComplete
1031
+ * @see validate
1023
1032
  */
1024
1033
  get checkErrorsMode(): string;
1025
1034
  set checkErrorsMode(val: string);
@@ -1679,6 +1688,16 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
1679
1688
  get completedState(): string;
1680
1689
  get completedStateText(): string;
1681
1690
  protected setCompletedState(value: string, text: string): void;
1691
+ /**
1692
+ * Displays a toast notification with a specified message.
1693
+ *
1694
+ * Depending on the `type` argument, a survey can display the following notification types:
1695
+ *
1696
+ * ![Toast notification types in SurveyJS Form Library](https://surveyjs.io//Content/Images/docs/notification-types.png)
1697
+ * @param message A message to display.
1698
+ * @param type A notification type: `"info"` (default), `"success"`, or `"error"`.
1699
+ * @param showActions For internal use.
1700
+ */
1682
1701
  notify(message: string, type: string, showActions?: boolean): void;
1683
1702
  /**
1684
1703
  * Resets the survey [`state`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#state) and, optionally, [`data`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#data). If `state` is `"completed"`, it becomes `"running"`.
@@ -1744,15 +1763,32 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
1744
1763
  */
1745
1764
  deleteCookie(): void;
1746
1765
  /**
1747
- * Specifies whether to skip validation when you switch between pages or complete the survey programmatically or when users do that in the UI.
1766
+ * This property is obsolete. Use the [`validationEnabled`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#validationEnabled) property instead.
1767
+ */
1768
+ get ignoreValidation(): boolean;
1769
+ set ignoreValidation(val: boolean);
1770
+ /**
1771
+ * Specifies whether data validation is enabled.
1748
1772
  *
1749
- * Default value: `false`
1773
+ * Default value: `true`
1774
+ * @see checkErrorsMode
1750
1775
  * @see hideRequiredErrors
1751
- * @see nextPage
1752
- * @see isPrevPage
1753
- * @see completeLastPage
1754
1776
  */
1755
- ignoreValidation: boolean;
1777
+ validationEnabled: boolean;
1778
+ /**
1779
+ * Specifies whether respondents can switch the current page even if it contains validation errors.
1780
+ *
1781
+ * Default value: `false`
1782
+ * @see checkErrorsMode
1783
+ */
1784
+ validationAllowSwitchPages: boolean;
1785
+ /**
1786
+ * Specifies whether respondents can end a survey with validation errors.
1787
+ *
1788
+ * Default value: `false`
1789
+ * @see checkErrorsMode
1790
+ */
1791
+ validationAllowComplete: boolean;
1756
1792
  /**
1757
1793
  * Switches the survey to the next page.
1758
1794
  *
@@ -1905,7 +1941,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
1905
1941
  private runningPages;
1906
1942
  private onShowingPreviewChanged;
1907
1943
  private changeCurrentPageFromPreview;
1908
- private origionalPages;
1944
+ private originalPages;
1909
1945
  protected onQuestionsOnPageModeChanged(oldValue: string): void;
1910
1946
  private restoreOriginalPages;
1911
1947
  private getPageStartIndex;
@@ -2100,11 +2136,11 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
2100
2136
  * @param question A [File Upload question instance](https://surveyjs.io/form-library/documentation/api-reference/file-model).
2101
2137
  * @param name The File Upload question's [`name`](https://surveyjs.io/form-library/documentation/api-reference/file-model#name).
2102
2138
  * @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.
2103
- * @param callback A callback function that allows you to get the upload status (`"success"` or `"error"`) and file data.
2139
+ * @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.
2104
2140
  * @see onUploadFiles
2105
2141
  * @see downloadFile
2106
2142
  */
2107
- uploadFiles(question: QuestionFileModel, name: string, files: File[], callback: (status: string, data: any) => any): void;
2143
+ uploadFiles(question: QuestionFileModel, name: string, files: File[], callback: (data: any | Array<any>, errors?: any | Array<any>) => any): void;
2108
2144
  /**
2109
2145
  * Downloads a file from a server.
2110
2146
  *
@@ -2140,7 +2176,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
2140
2176
  updateChoicesFromServer(question: QuestionSelectBase, choices: Array<ItemValue>, serverResult: any): Array<ItemValue>;
2141
2177
  loadedChoicesFromServer(question: IQuestion): void;
2142
2178
  protected createSurveyService(): dxSurveyService;
2143
- protected uploadFilesCore(name: string, files: File[], uploadingCallback: (status: string, data: any) => any): void;
2179
+ protected uploadFilesCore(name: string, files: File[], uploadingCallback: (data: any | Array<any>, errors?: any | Array<any>) => any): void;
2144
2180
  getPage(index: number): PageModel;
2145
2181
  /**
2146
2182
  * Adds an existing page to the survey.
@@ -2643,6 +2679,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
2643
2679
  private isMovingQuestion;
2644
2680
  startMovingQuestion(): void;
2645
2681
  stopMovingQuestion(): void;
2682
+ get isQuestionDragging(): boolean;
2646
2683
  private needRenderIcons;
2647
2684
  private skippedPages;
2648
2685
  /**
@@ -57,6 +57,7 @@ export declare var surveyStrings: {
57
57
  urlRequestError: string;
58
58
  urlGetChoicesError: string;
59
59
  exceedMaxSize: string;
60
+ noUploadFilesHandler: string;
60
61
  otherRequiredError: string;
61
62
  uploadingFile: string;
62
63
  loadingFile: string;
@@ -83,9 +83,9 @@ export interface IHeader {
83
83
  *
84
84
  * Possible values:
85
85
  *
86
- * - `"survey"` (default)\
86
+ * - `"survey"`\
87
87
  * The header width is the same as the survey width.
88
- * - `"container"`\
88
+ * - `"container"` (default)\
89
89
  * The header width is the same as the survey container width.
90
90
  *
91
91
  * @see [SurveyModel.width](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#width)