survey-core 1.9.117 → 1.9.118

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 (248) hide show
  1. package/defaultV2.css +14 -4
  2. package/defaultV2.css.map +1 -1
  3. package/defaultV2.fontless.css +14 -4
  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 +3 -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 +208 -97
  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/defaultCss/cssmodern.d.ts +1 -0
  214. package/ts3.4/typings/defaultCss/cssstandard.d.ts +1 -0
  215. package/ts3.4/typings/defaultCss/defaultV2Css.d.ts +1 -0
  216. package/ts3.4/typings/dragdrop/choices.d.ts +1 -0
  217. package/ts3.4/typings/jsonobject.d.ts +2 -0
  218. package/ts3.4/typings/martixBase.d.ts +1 -0
  219. package/ts3.4/typings/notifier.d.ts +11 -8
  220. package/ts3.4/typings/question.d.ts +1 -1
  221. package/ts3.4/typings/question_baseselect.d.ts +5 -1
  222. package/ts3.4/typings/question_file.d.ts +1 -0
  223. package/ts3.4/typings/question_matrixdropdownbase.d.ts +3 -0
  224. package/ts3.4/typings/question_matrixdropdowncolumn.d.ts +1 -0
  225. package/ts3.4/typings/question_matrixdynamic.d.ts +3 -0
  226. package/ts3.4/typings/question_signaturepad.d.ts +3 -1
  227. package/ts3.4/typings/question_textbase.d.ts +1 -2
  228. package/ts3.4/typings/settings.d.ts +21 -0
  229. package/ts3.4/typings/survey-events-api.d.ts +18 -6
  230. package/ts3.4/typings/survey.d.ts +13 -1
  231. package/typings/defaultCss/cssmodern.d.ts +1 -0
  232. package/typings/defaultCss/cssstandard.d.ts +1 -0
  233. package/typings/defaultCss/defaultV2Css.d.ts +1 -0
  234. package/typings/dragdrop/choices.d.ts +1 -0
  235. package/typings/jsonobject.d.ts +2 -0
  236. package/typings/martixBase.d.ts +1 -0
  237. package/typings/notifier.d.ts +11 -8
  238. package/typings/question.d.ts +1 -1
  239. package/typings/question_baseselect.d.ts +5 -1
  240. package/typings/question_file.d.ts +3 -1
  241. package/typings/question_matrixdropdownbase.d.ts +3 -0
  242. package/typings/question_matrixdropdowncolumn.d.ts +1 -0
  243. package/typings/question_matrixdynamic.d.ts +3 -0
  244. package/typings/question_signaturepad.d.ts +3 -1
  245. package/typings/question_textbase.d.ts +1 -2
  246. package/typings/settings.d.ts +21 -0
  247. package/typings/survey-events-api.d.ts +18 -6
  248. package/typings/survey.d.ts +13 -1
@@ -60,6 +60,7 @@ export declare class QuestionSelectBase extends Question {
60
60
  * When users select the "None" item in multi-select questions, all other items become unselected.
61
61
  * @see noneItem
62
62
  * @see noneText
63
+ * @see [settings.specialChoicesOrder](https://surveyjs.io/form-library/documentation/api-reference/settings#specialChoicesOrder)
63
64
  */
64
65
  showNoneItem: boolean;
65
66
  hasNone: boolean;
@@ -157,6 +158,7 @@ export declare class QuestionSelectBase extends Question {
157
158
  *
158
159
  * [View Demo](https://surveyjs.io/form-library/examples/questiontype-dropdownrestfull/ (linkStyle))
159
160
  * @see choices
161
+ * @see [settings.specialChoicesOrder](https://surveyjs.io/form-library/documentation/api-reference/settings#specialChoicesOrder)
160
162
  */
161
163
  choicesByUrl: ChoicesRestful;
162
164
  /*
@@ -178,6 +180,7 @@ export declare class QuestionSelectBase extends Question {
178
180
  * 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.
179
181
  * @see choicesByUrl
180
182
  * @see choicesFromQuestion
183
+ * @see [settings.specialChoicesOrder](https://surveyjs.io/form-library/documentation/api-reference/settings#specialChoicesOrder)
181
184
  */
182
185
  choices: Array<any>;
183
186
  /*
@@ -241,6 +244,7 @@ export declare class QuestionSelectBase extends Question {
241
244
  * - `"asc"`- Sorts choice items in ascending order.
242
245
  * - `"desc"`- Sorts choice items in ascending order.
243
246
  * - `"random"` - Displays choice items in random order.
247
+ * @see [settings.specialChoicesOrder](https://surveyjs.io/form-library/documentation/api-reference/settings#specialChoicesOrder)
244
248
  */
245
249
  choicesOrder: string;
246
250
  /*
@@ -253,6 +257,7 @@ export declare class QuestionSelectBase extends Question {
253
257
  * Displays the "Select All", "None", and "Other" choices on individual rows.
254
258
  * @see showNoneItem
255
259
  * @see showOtherItem
260
+ * @see [settings.specialChoicesOrder](https://surveyjs.io/form-library/documentation/api-reference/settings#specialChoicesOrder)
256
261
  */
257
262
  separateSpecialChoices: boolean;
258
263
  /**
@@ -339,7 +344,6 @@ export declare class QuestionSelectBase extends Question {
339
344
  protected getCommentFromValue(newValue: any): string;
340
345
  protected setOtherValueIntoValue(newValue: any): any;
341
346
  onOtherValueInput(event: any): void;
342
- onCompositionUpdateOtherValue(event: any): void;
343
347
  onOtherValueChange(event: any): void;
344
348
  private isRunningChoices;
345
349
  private runChoicesByUrl;
@@ -141,6 +141,7 @@ export declare class QuestionFileModel extends Question {
141
141
  noFileChosenCaption: string;
142
142
  chooseButtonCaption: string;
143
143
  takePhotoCaption: string;
144
+ readonly locTakePhotoCaption: LocalizableString;
144
145
  replaceButtonCaption: string;
145
146
  clearButtonCaption: string;
146
147
  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
  readonly question: Question;
@@ -75,9 +76,11 @@ export declare class MatrixDropdownRowModelBase implements ISurveyData, ISurveyI
75
76
  constructor(data: IMatrixDropdownData, value: any);
76
77
  readonly id: string;
77
78
  readonly rowName: any;
79
+ readonly dataName: string;
78
80
  readonly text: any;
79
81
  value: any;
80
82
  readonly locText: LocalizableString;
83
+ getAccessbilityText(): string;
81
84
  readonly hasPanel: boolean;
82
85
  readonly detailPanel: PanelModel;
83
86
  readonly 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
  readonly rowName: string;
13
+ readonly dataName: string;
14
+ readonly text: any;
15
+ getAccessbilityText(): string;
13
16
  readonly shortcutText: string;
14
17
  }
15
18
  /**
@@ -48,7 +48,9 @@ export declare class QuestionSignaturePadModel extends Question {
48
48
  *
49
49
  * Default value: `false`
50
50
  *
51
- * > The signature area is scaled only for display. The resulting image will have dimensions specified by the [`signatureHeight`](#signatureHeight) and [`signatureWidth`](#signatureWidth) properties.
51
+ * 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.
52
+ *
53
+ * > 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.
52
54
  */
53
55
  signatureAutoScaleEnabled: boolean;
54
56
  /**
@@ -55,9 +55,8 @@ export declare class QuestionTextBase extends Question {
55
55
  protected setQuestionValue(newValue: any, updateIsAnswered?: boolean): void;
56
56
  protected convertToCorrectValue(val: any): any;
57
57
  protected getValueSeparator(): string;
58
- disableNativeUndoRedo: boolean;
59
- protected checkForUndo(event: KeyboardEvent): void;
60
58
  protected getControlCssClassBuilder(): CssClassBuilder;
61
59
  getControlClass(): string;
62
60
  readonly isNewA11yStructure: boolean;
61
+ onKeyDownPreprocess: (event: any) => void;
63
62
  }
@@ -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";
@@ -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
  /**
@@ -746,6 +746,8 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
746
746
  *
747
747
  * - `"advanced"`\
748
748
  * 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.
749
+ *
750
+ * [View Demo](https://surveyjs.io/form-library/examples/brand-your-survey-header/ (linkStyle))
749
751
  */
750
752
  headerView: "advanced" | "basic";
751
753
  private getNavigationCss;
@@ -1603,6 +1605,16 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
1603
1605
  readonly completedState: string;
1604
1606
  readonly completedStateText: string;
1605
1607
  protected setCompletedState(value: string, text: string): void;
1608
+ /**
1609
+ * Displays a toast notification with a specified message.
1610
+ *
1611
+ * Depending on the `type` argument, a survey can display the following notification types:
1612
+ *
1613
+ * ![Toast notification types in SurveyJS Form Library](https://surveyjs.io//Content/Images/docs/notification-types.png)
1614
+ * @param message A message to display.
1615
+ * @param type A notification type: `"info"` (default), `"success"`, or `"error"`.
1616
+ * @param showActions For internal use.
1617
+ */
1606
1618
  notify(message: string, type: string, showActions?: boolean): void;
1607
1619
  /**
1608
1620
  * 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"`.
@@ -1824,7 +1836,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
1824
1836
  private runningPages;
1825
1837
  private onShowingPreviewChanged;
1826
1838
  private changeCurrentPageFromPreview;
1827
- private origionalPages;
1839
+ private originalPages;
1828
1840
  protected onQuestionsOnPageModeChanged(oldValue: string): void;
1829
1841
  private restoreOriginalPages;
1830
1842
  private getPageStartIndex;
@@ -416,6 +416,7 @@ export declare var modernCss: {
416
416
  };
417
417
  saveData: {
418
418
  root: string;
419
+ rootWithButtons: string;
419
420
  info: string;
420
421
  error: string;
421
422
  success: string;
@@ -350,6 +350,7 @@ export declare var defaultStandardCss: {
350
350
  };
351
351
  saveData: {
352
352
  root: string;
353
+ rootWithButtons: string;
353
354
  info: string;
354
355
  error: string;
355
356
  success: string;
@@ -612,6 +612,7 @@ export declare var defaultV2Css: {
612
612
  };
613
613
  saveData: {
614
614
  root: string;
615
+ rootWithButtons: string;
615
616
  info: string;
616
617
  error: string;
617
618
  success: string;
@@ -2,6 +2,7 @@ import { ItemValue } from "../itemvalue";
2
2
  import { QuestionSelectBase } from "../question_baseselect";
3
3
  import { DragDropCore } from "./core";
4
4
  export declare class DragDropChoices extends DragDropCore<QuestionSelectBase> {
5
+ private imagepickerControlsNode;
5
6
  protected get draggedElementType(): string;
6
7
  protected createDraggedElementShortcut(text: string, draggedElementNode: HTMLElement, event: PointerEvent): HTMLElement;
7
8
  private createImagePickerShortcut;
@@ -70,6 +70,7 @@ export declare class JsonObjectProperty implements IObject {
70
70
  minValue: any;
71
71
  private dataListValue;
72
72
  layout: string;
73
+ onSerializeValue: (obj: any) => any;
73
74
  onGetValue: (obj: any) => any;
74
75
  onSettingValue: (obj: any, value: any) => any;
75
76
  onSetValue: (obj: any, value: any, jsonConv: JsonObject) => any;
@@ -94,6 +95,7 @@ export declare class JsonObjectProperty implements IObject {
94
95
  set defaultValue(newValue: any);
95
96
  isDefaultValue(value: any): boolean;
96
97
  isDefaultValueByObj(obj: Base, value: any): boolean;
98
+ getSerializableValue(obj: any): any;
97
99
  getValue(obj: any): any;
98
100
  getPropertyValue(obj: any): any;
99
101
  get hasToUseSetValue(): string | ((obj: any, value: any, jsonConv: JsonObject) => any);
@@ -110,4 +110,5 @@ export declare class QuestionMatrixBaseModel<TRow, TColumn> extends Question {
110
110
  get rowTitleWidth(): string;
111
111
  set rowTitleWidth(val: string);
112
112
  getCellAriaLabel(rowTitle: string, columnTitle: string): string;
113
+ get isNewA11yStructure(): boolean;
113
114
  }
@@ -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 {};
@@ -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);
@@ -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
  /**
@@ -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";
@@ -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
  /**
@@ -750,6 +750,8 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
750
750
  *
751
751
  * - `"advanced"`\
752
752
  * 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.
753
+ *
754
+ * [View Demo](https://surveyjs.io/form-library/examples/brand-your-survey-header/ (linkStyle))
753
755
  */
754
756
  headerView: "advanced" | "basic";
755
757
  private getNavigationCss;
@@ -1679,6 +1681,16 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
1679
1681
  get completedState(): string;
1680
1682
  get completedStateText(): string;
1681
1683
  protected setCompletedState(value: string, text: string): void;
1684
+ /**
1685
+ * Displays a toast notification with a specified message.
1686
+ *
1687
+ * Depending on the `type` argument, a survey can display the following notification types:
1688
+ *
1689
+ * ![Toast notification types in SurveyJS Form Library](https://surveyjs.io//Content/Images/docs/notification-types.png)
1690
+ * @param message A message to display.
1691
+ * @param type A notification type: `"info"` (default), `"success"`, or `"error"`.
1692
+ * @param showActions For internal use.
1693
+ */
1682
1694
  notify(message: string, type: string, showActions?: boolean): void;
1683
1695
  /**
1684
1696
  * 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"`.
@@ -1905,7 +1917,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
1905
1917
  private runningPages;
1906
1918
  private onShowingPreviewChanged;
1907
1919
  private changeCurrentPageFromPreview;
1908
- private origionalPages;
1920
+ private originalPages;
1909
1921
  protected onQuestionsOnPageModeChanged(oldValue: string): void;
1910
1922
  private restoreOriginalPages;
1911
1923
  private getPageStartIndex;