survey-core 1.9.116 → 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 (261) hide show
  1. package/README.md +4 -0
  2. package/defaultV2.css +16 -6
  3. package/defaultV2.css.map +1 -1
  4. package/defaultV2.fontless.css +16 -6
  5. package/defaultV2.fontless.css.map +1 -1
  6. package/defaultV2.fontless.min.css +2 -2
  7. package/defaultV2.min.css +2 -2
  8. package/i18n/arabic.js +1 -1
  9. package/i18n/arabic.min.js +1 -1
  10. package/i18n/basque.js +1 -1
  11. package/i18n/basque.min.js +1 -1
  12. package/i18n/bulgarian.js +1 -1
  13. package/i18n/bulgarian.min.js +1 -1
  14. package/i18n/catalan.js +1 -1
  15. package/i18n/catalan.min.js +1 -1
  16. package/i18n/croatian.js +1 -1
  17. package/i18n/croatian.min.js +1 -1
  18. package/i18n/czech.js +1 -1
  19. package/i18n/czech.min.js +1 -1
  20. package/i18n/danish.js +1 -1
  21. package/i18n/danish.min.js +1 -1
  22. package/i18n/dutch.js +1 -1
  23. package/i18n/dutch.min.js +1 -1
  24. package/i18n/english.js +3 -3
  25. package/i18n/english.js.map +1 -1
  26. package/i18n/english.min.js +2 -2
  27. package/i18n/estonian.js +1 -1
  28. package/i18n/estonian.min.js +1 -1
  29. package/i18n/finnish.js +1 -1
  30. package/i18n/finnish.min.js +1 -1
  31. package/i18n/french.js +1 -1
  32. package/i18n/french.min.js +1 -1
  33. package/i18n/georgian.js +1 -1
  34. package/i18n/georgian.min.js +1 -1
  35. package/i18n/german.js +1 -1
  36. package/i18n/german.min.js +1 -1
  37. package/i18n/greek.js +1 -1
  38. package/i18n/greek.min.js +1 -1
  39. package/i18n/hebrew.js +1 -1
  40. package/i18n/hebrew.min.js +1 -1
  41. package/i18n/hindi.js +1 -1
  42. package/i18n/hindi.min.js +1 -1
  43. package/i18n/hungarian.js +1 -1
  44. package/i18n/hungarian.min.js +1 -1
  45. package/i18n/icelandic.js +1 -1
  46. package/i18n/icelandic.min.js +1 -1
  47. package/i18n/index.js +1 -1
  48. package/i18n/index.min.js +1 -1
  49. package/i18n/indonesian.js +1 -1
  50. package/i18n/indonesian.min.js +1 -1
  51. package/i18n/italian.js +1 -1
  52. package/i18n/italian.min.js +1 -1
  53. package/i18n/japanese.js +1 -1
  54. package/i18n/japanese.min.js +1 -1
  55. package/i18n/kazakh.js +1 -1
  56. package/i18n/kazakh.min.js +1 -1
  57. package/i18n/korean.js +1 -1
  58. package/i18n/korean.min.js +1 -1
  59. package/i18n/latvian.js +1 -1
  60. package/i18n/latvian.min.js +1 -1
  61. package/i18n/lithuanian.js +1 -1
  62. package/i18n/lithuanian.min.js +1 -1
  63. package/i18n/macedonian.js +1 -1
  64. package/i18n/macedonian.min.js +1 -1
  65. package/i18n/malay.js +1 -1
  66. package/i18n/malay.min.js +1 -1
  67. package/i18n/nl-BE.js +1 -1
  68. package/i18n/nl-BE.min.js +1 -1
  69. package/i18n/norwegian.js +1 -1
  70. package/i18n/norwegian.min.js +1 -1
  71. package/i18n/persian.js +1 -1
  72. package/i18n/persian.min.js +1 -1
  73. package/i18n/polish.js +1 -1
  74. package/i18n/polish.min.js +1 -1
  75. package/i18n/portuguese-br.js +1 -1
  76. package/i18n/portuguese-br.min.js +1 -1
  77. package/i18n/portuguese.js +1 -1
  78. package/i18n/portuguese.min.js +1 -1
  79. package/i18n/romanian.js +1 -1
  80. package/i18n/romanian.min.js +1 -1
  81. package/i18n/russian.js +1 -1
  82. package/i18n/russian.min.js +1 -1
  83. package/i18n/serbian.js +1 -1
  84. package/i18n/serbian.min.js +1 -1
  85. package/i18n/simplified-chinese.js +1 -1
  86. package/i18n/simplified-chinese.min.js +1 -1
  87. package/i18n/slovak.js +1 -1
  88. package/i18n/slovak.min.js +1 -1
  89. package/i18n/spanish.js +1 -1
  90. package/i18n/spanish.min.js +1 -1
  91. package/i18n/swahili.js +1 -1
  92. package/i18n/swahili.min.js +1 -1
  93. package/i18n/swedish.js +1 -1
  94. package/i18n/swedish.min.js +1 -1
  95. package/i18n/tajik.js +1 -1
  96. package/i18n/tajik.min.js +1 -1
  97. package/i18n/telugu.js +1 -1
  98. package/i18n/telugu.min.js +1 -1
  99. package/i18n/thai.js +1 -1
  100. package/i18n/thai.min.js +1 -1
  101. package/i18n/traditional-chinese.js +1 -1
  102. package/i18n/traditional-chinese.min.js +1 -1
  103. package/i18n/turkish.js +1 -1
  104. package/i18n/turkish.min.js +1 -1
  105. package/i18n/ukrainian.js +1 -1
  106. package/i18n/ukrainian.min.js +1 -1
  107. package/i18n/urdu.js +1 -1
  108. package/i18n/urdu.min.js +1 -1
  109. package/i18n/vietnamese.js +1 -1
  110. package/i18n/vietnamese.min.js +1 -1
  111. package/i18n/welsh.js +1 -1
  112. package/i18n/welsh.min.js +1 -1
  113. package/modern.css +5 -2
  114. package/modern.css.map +1 -1
  115. package/modern.fontless.css +5 -2
  116. package/modern.fontless.css.map +1 -1
  117. package/modern.fontless.min.css +2 -2
  118. package/modern.min.css +2 -2
  119. package/package.json +1 -1
  120. package/plugins/bootstrap-integration.js +1 -1
  121. package/plugins/bootstrap-integration.min.js +1 -1
  122. package/plugins/bootstrap-material-integration.js +1 -1
  123. package/plugins/bootstrap-material-integration.min.js +1 -1
  124. package/survey.core.js +404 -148
  125. package/survey.core.js.map +1 -1
  126. package/survey.core.min.js +4 -4
  127. package/survey.css +5 -2
  128. package/survey.css.map +1 -1
  129. package/survey.i18n.js +1 -1
  130. package/survey.i18n.min.js +1 -1
  131. package/survey.min.css +2 -2
  132. package/themes/borderless-dark-panelless.js +1 -1
  133. package/themes/borderless-dark-panelless.min.js +1 -1
  134. package/themes/borderless-dark.js +1 -1
  135. package/themes/borderless-dark.min.js +1 -1
  136. package/themes/borderless-light-panelless..js +1 -1
  137. package/themes/borderless-light-panelless..min.js +1 -1
  138. package/themes/borderless-light.js +1 -1
  139. package/themes/borderless-light.min.js +1 -1
  140. package/themes/contrast-dark-panelless.js +1 -1
  141. package/themes/contrast-dark-panelless.min.js +1 -1
  142. package/themes/contrast-dark.js +1 -1
  143. package/themes/contrast-dark.min.js +1 -1
  144. package/themes/contrast-light-panelless.js +1 -1
  145. package/themes/contrast-light-panelless.min.js +1 -1
  146. package/themes/contrast-light.js +1 -1
  147. package/themes/contrast-light.min.js +1 -1
  148. package/themes/default-dark-panelless.js +1 -1
  149. package/themes/default-dark-panelless.min.js +1 -1
  150. package/themes/default-dark.js +1 -1
  151. package/themes/default-dark.min.js +1 -1
  152. package/themes/default-light-panelless.js +1 -1
  153. package/themes/default-light-panelless.min.js +1 -1
  154. package/themes/default-light.js +1 -1
  155. package/themes/default-light.min.js +1 -1
  156. package/themes/doubleborder-dark-panelless.js +1 -1
  157. package/themes/doubleborder-dark-panelless.min.js +1 -1
  158. package/themes/doubleborder-dark.js +1 -1
  159. package/themes/doubleborder-dark.min.js +1 -1
  160. package/themes/doubleborder-light-panelles.js +1 -1
  161. package/themes/doubleborder-light-panelles.min.js +1 -1
  162. package/themes/doubleborder-light.js +1 -1
  163. package/themes/doubleborder-light.min.js +1 -1
  164. package/themes/flat-dark-panelless.js +1 -1
  165. package/themes/flat-dark-panelless.min.js +1 -1
  166. package/themes/flat-dark.js +1 -1
  167. package/themes/flat-dark.min.js +1 -1
  168. package/themes/flat-light-panelless.js +1 -1
  169. package/themes/flat-light-panelless.min.js +1 -1
  170. package/themes/flat-light.js +1 -1
  171. package/themes/flat-light.min.js +1 -1
  172. package/themes/index.js +1 -1
  173. package/themes/index.min.js +1 -1
  174. package/themes/layered-dark-panelless.js +1 -1
  175. package/themes/layered-dark-panelless.min.js +1 -1
  176. package/themes/layered-dark.js +1 -1
  177. package/themes/layered-dark.min.js +1 -1
  178. package/themes/layered-light-panelless.js +1 -1
  179. package/themes/layered-light-panelless.min.js +1 -1
  180. package/themes/layered-light.js +1 -1
  181. package/themes/layered-light.min.js +1 -1
  182. package/themes/plain-dark-panelless.js +1 -1
  183. package/themes/plain-dark-panelless.min.js +1 -1
  184. package/themes/plain-dark.js +1 -1
  185. package/themes/plain-dark.min.js +1 -1
  186. package/themes/plain-light-panelless.js +1 -1
  187. package/themes/plain-light-panelless.min.js +1 -1
  188. package/themes/plain-light.js +1 -1
  189. package/themes/plain-light.min.js +1 -1
  190. package/themes/sharp-dark-panelless.js +1 -1
  191. package/themes/sharp-dark-panelless.min.js +1 -1
  192. package/themes/sharp-dark.js +1 -1
  193. package/themes/sharp-dark.min.js +1 -1
  194. package/themes/sharp-light-panelless.js +1 -1
  195. package/themes/sharp-light-panelless.min.js +1 -1
  196. package/themes/sharp-light.js +1 -1
  197. package/themes/sharp-light.min.js +1 -1
  198. package/themes/solid-dark-panelless.js +1 -1
  199. package/themes/solid-dark-panelless.min.js +1 -1
  200. package/themes/solid-dark.js +1 -1
  201. package/themes/solid-dark.min.js +1 -1
  202. package/themes/solid-light-panelless.js +1 -1
  203. package/themes/solid-light-panelless.min.js +1 -1
  204. package/themes/solid-light.js +1 -1
  205. package/themes/solid-light.min.js +1 -1
  206. package/themes/three-dimensional-dark-panelless.js +1 -1
  207. package/themes/three-dimensional-dark-panelless.min.js +1 -1
  208. package/themes/three-dimensional-dark.js +1 -1
  209. package/themes/three-dimensional-dark.min.js +1 -1
  210. package/themes/three-dimensional-light-panelless.js +1 -1
  211. package/themes/three-dimensional-light-panelless.min.js +1 -1
  212. package/themes/three-dimensional-light.js +1 -1
  213. package/themes/three-dimensional-light.min.js +1 -1
  214. package/ts3.4/typings/console-warnings.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 +1 -0
  218. package/ts3.4/typings/dragdrop/choices.d.ts +1 -0
  219. package/ts3.4/typings/dropdownListModel.d.ts +2 -1
  220. package/ts3.4/typings/jsonobject.d.ts +2 -0
  221. package/ts3.4/typings/localizablestring.d.ts +0 -1
  222. package/ts3.4/typings/martixBase.d.ts +2 -0
  223. package/ts3.4/typings/notifier.d.ts +11 -8
  224. package/ts3.4/typings/question.d.ts +2 -0
  225. package/ts3.4/typings/question_baseselect.d.ts +16 -2
  226. package/ts3.4/typings/question_checkbox.d.ts +5 -2
  227. package/ts3.4/typings/question_custom.d.ts +7 -1
  228. package/ts3.4/typings/question_file.d.ts +1 -0
  229. package/ts3.4/typings/question_imagepicker.d.ts +2 -1
  230. package/ts3.4/typings/question_matrixdropdownbase.d.ts +3 -0
  231. package/ts3.4/typings/question_matrixdropdowncolumn.d.ts +1 -0
  232. package/ts3.4/typings/question_matrixdynamic.d.ts +3 -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 +26 -0
  236. package/ts3.4/typings/survey-events-api.d.ts +20 -8
  237. package/ts3.4/typings/survey.d.ts +14 -2
  238. package/typings/console-warnings.d.ts +1 -0
  239. package/typings/defaultCss/cssmodern.d.ts +1 -0
  240. package/typings/defaultCss/cssstandard.d.ts +1 -0
  241. package/typings/defaultCss/defaultV2Css.d.ts +1 -0
  242. package/typings/dragdrop/choices.d.ts +1 -0
  243. package/typings/dropdownListModel.d.ts +2 -1
  244. package/typings/jsonobject.d.ts +2 -0
  245. package/typings/localizablestring.d.ts +0 -1
  246. package/typings/martixBase.d.ts +2 -0
  247. package/typings/notifier.d.ts +11 -8
  248. package/typings/question.d.ts +2 -0
  249. package/typings/question_baseselect.d.ts +16 -2
  250. package/typings/question_checkbox.d.ts +5 -2
  251. package/typings/question_custom.d.ts +7 -1
  252. package/typings/question_file.d.ts +3 -1
  253. package/typings/question_imagepicker.d.ts +2 -1
  254. package/typings/question_matrixdropdownbase.d.ts +3 -0
  255. package/typings/question_matrixdropdowncolumn.d.ts +1 -0
  256. package/typings/question_matrixdynamic.d.ts +3 -0
  257. package/typings/question_signaturepad.d.ts +3 -1
  258. package/typings/question_textbase.d.ts +1 -2
  259. package/typings/settings.d.ts +26 -0
  260. package/typings/survey-events-api.d.ts +20 -8
  261. package/typings/survey.d.ts +14 -2
@@ -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
  /**
@@ -292,6 +297,15 @@ export declare class QuestionSelectBase extends Question {
292
297
  setCanShowOptionItemCallback(func: (item: ItemValue) => boolean): void;
293
298
  readonly newItem: ItemValue;
294
299
  protected addToVisibleChoices(items: Array<ItemValue>, isAddAll: boolean): void;
300
+ protected addNewItemToVisibleChoices(items: Array<ItemValue>, isAddAll: boolean): void;
301
+ protected addNonChoicesItems(dict: Array<{
302
+ index: number;
303
+ item: ItemValue;
304
+ }>, isAddAll: boolean): void;
305
+ protected addNonChoiceItem(dict: Array<{
306
+ index: number;
307
+ item: ItemValue;
308
+ }>, item: ItemValue, order: Array<number>): void;
295
309
  protected canShowOptionItem(item: ItemValue, isAddAll: boolean, hasItem: boolean): boolean;
296
310
  isItemInList(item: ItemValue): boolean;
297
311
  protected readonly isAddDefaultItems: boolean;
@@ -315,8 +329,6 @@ export declare class QuestionSelectBase extends Question {
315
329
  private getChoicesFromSelectQuestion;
316
330
  private copyChoiceItem;
317
331
  protected readonly hasActiveChoices: boolean;
318
- protected isHeadChoice(item: ItemValue, question: QuestionSelectBase): boolean;
319
- protected isFootChoice(item: ItemValue, question: QuestionSelectBase): boolean;
320
332
  protected isBuiltInChoice(item: ItemValue, question: QuestionSelectBase): boolean;
321
333
  protected getChoices(): Array<ItemValue>;
322
334
  supportOther(): boolean;
@@ -375,6 +387,8 @@ export declare class QuestionSelectBase extends Question {
375
387
  protected getItemClassCore(item: any, options: any): string;
376
388
  getLabelClass(item: ItemValue): string;
377
389
  getControlLabelClass(item: ItemValue): string;
390
+ private headItemsCount;
391
+ private footItemsCount;
378
392
  readonly headItems: ItemValue[];
379
393
  readonly footItems: ItemValue[];
380
394
  readonly dataChoices: ItemValue[];
@@ -107,8 +107,11 @@ export declare class QuestionCheckboxModel extends QuestionCheckboxBase {
107
107
  private noneIndexInArray;
108
108
  protected canUseFilteredChoices(): boolean;
109
109
  protected supportSelectAll(): boolean;
110
- protected addToVisibleChoices(items: Array<ItemValue>, isAddAll: boolean): void;
111
- protected isHeadChoice(item: ItemValue, question: QuestionSelectBase): boolean;
110
+ protected addNonChoicesItems(dict: Array<{
111
+ index: number;
112
+ item: ItemValue;
113
+ }>, isAddAll: boolean): void;
114
+ protected isBuiltInChoice(item: ItemValue, question: QuestionSelectBase): boolean;
112
115
  isItemInList(item: ItemValue): boolean;
113
116
  protected getDisplayValueCore(keysAsText: boolean, value: any): any;
114
117
  protected clearIncorrectValuesCore(): void;
@@ -31,6 +31,7 @@ export interface ICustomQuestionTypeConfiguration {
31
31
  * [UI Icons](https://surveyjs.io/form-library/documentation/icons (linkStyle))
32
32
  */
33
33
  iconName?: string;
34
+ internal?: boolean;
34
35
  /**
35
36
  * A function that is called when the custom question type is initialized. Use it to add, remove, or modify the type's properties (see [Override Base Question Properties](https://surveyjs.io/form-library/documentation/customize-question-types/create-composite-question-types#override-base-question-properties)).
36
37
  */
@@ -218,9 +219,12 @@ export declare class ComponentCollection {
218
219
  onCreateCustom: (name: string, questionJSON: ComponentQuestionJSON) => QuestionCustomModel;
219
220
  onAddingJson: (name: string, isComposite: boolean) => void;
220
221
  add(json: ICustomQuestionTypeConfiguration): void;
222
+ remove(componentName: string): boolean;
221
223
  readonly items: Array<ComponentQuestionJSON>;
222
224
  getCustomQuestionByName(name: string): ComponentQuestionJSON;
223
- clear(): void;
225
+ private getCustomQuestionIndex;
226
+ private removeByIndex;
227
+ clear(includeInternal?: boolean): void;
224
228
  createQuestion(name: string, questionJSON: ComponentQuestionJSON): Question;
225
229
  protected createCompositeModel(name: string, questionJSON: ComponentQuestionJSON): QuestionCompositeModel;
226
230
  protected createCustomModel(name: string, questionJSON: ComponentQuestionJSON): QuestionCustomModel;
@@ -277,11 +281,13 @@ export declare abstract class QuestionCustomModelBase extends Question implement
277
281
  }
278
282
  export declare class QuestionCustomModel extends QuestionCustomModelBase {
279
283
  private questionWrapper;
284
+ private hasJSONTitle;
280
285
  getTemplate(): string;
281
286
  protected createWrapper(): void;
282
287
  protected getElement(): SurveyElement;
283
288
  onAnyValueChanged(name: string, questionName: string): void;
284
289
  protected getQuestionByName(name: string): IQuestion;
290
+ protected getDefaultTitle(): string;
285
291
  setValue(name: string, newValue: any, locNotification: any, allowNotifyValueChanged?: boolean): any;
286
292
  protected onSetData(): void;
287
293
  hasErrors(fireCallback?: boolean, rec?: any): boolean;
@@ -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;
@@ -101,7 +101,8 @@ export declare class QuestionImagePickerModel extends QuestionCheckboxBase {
101
101
  contentMode: string;
102
102
  protected convertDefaultValue(val: any): any;
103
103
  readonly inputType: "checkbox" | "radio";
104
- protected isFootChoice(_item: ItemValue, _question: QuestionSelectBase): boolean;
104
+ protected isBuiltInChoice(item: ItemValue, question: QuestionSelectBase): boolean;
105
+ protected addToVisibleChoices(items: Array<ItemValue>, isAddAll: boolean): void;
105
106
  getSelectBaseRootCss(): string;
106
107
  private isResponsiveValue;
107
108
  maxImageWidth: number;
@@ -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,32 @@ 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
+ */
509
+ specialChoicesOrder: {
510
+ selectAllItem: number[];
511
+ noneItem: number[];
512
+ otherItem: number[];
513
+ };
488
514
  /**
489
515
  * A list of supported validators by question type.
490
516
  */
@@ -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";
@@ -509,7 +509,7 @@ export interface UploadFilesEvent extends LoadFilesEvent {
509
509
  }
510
510
  export interface DownloadFileEvent extends LoadFilesEvent {
511
511
  /**
512
- * A callback function that you should call when a file is downloaded successfully or when deletion fails. Pass `"success"` or `"error"` as the first argument to indicate the operation status. As the second argument, you can pass the downloaded file's data as a Base64 string if file upload was successful or an error message if file upload failed.
512
+ * A callback function that you should call when a file is downloaded successfully or when deletion fails. Pass `"success"` or `"error"` as the first argument to indicate the operation status. As the second argument, you can pass the downloaded file's data as a Base64 string if file download was successful or an error message if file download failed.
513
513
  */
514
514
  callback: (status: string, data?: any) => any;
515
515
  /**
@@ -523,7 +523,7 @@ export interface DownloadFileEvent extends LoadFilesEvent {
523
523
  }
524
524
  export interface ClearFilesEvent extends LoadFilesEvent {
525
525
  /**
526
- * A callback function that you should call when files are deleted successfully or when deletion fails. Pass `"success"` or `"error"` as the first argument to indicate the operation status. As the second argument, you can pass deleted files' data (`options.value`) if file upload was successful or an error message if file upload failed.
526
+ * A callback function that you should call when files are deleted successfully or when deletion fails. Pass `"success"` or `"error"` as the first argument to indicate the operation status. As the second argument, you can pass deleted files' data (`options.value`) if file deletion was successful or an error message if file deletion failed.
527
527
  */
528
528
  callback: (status: string, data?: any) => any;
529
529
  /**
@@ -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,9 +1836,9 @@ 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
- private restoreOrigionalPages;
1841
+ private restoreOriginalPages;
1830
1842
  private getPageStartIndex;
1831
1843
  private setupPagesForPageModes;
1832
1844
  private createPagesForQuestionOnPageMode;
@@ -2,4 +2,5 @@ export declare class ConsoleWarnings {
2
2
  static disposedObjectChangedProperty(propName: string, objType: string): void;
3
3
  static inCorrectQuestionValue(questionName: string, val: any): void;
4
4
  static warn(text: string): void;
5
+ static error(text: string): void;
5
6
  }
@@ -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;
@@ -62,7 +62,8 @@ export declare class DropdownListModel extends Base {
62
62
  private qustionPropertyChangedHandler;
63
63
  constructor(question: Question, onSelectionChanged?: (item: IAction, ...params: any[]) => void);
64
64
  get popupModel(): PopupModel;
65
- get inputReadOnly(): boolean;
65
+ get noTabIndex(): boolean;
66
+ get filterReadOnly(): boolean;
66
67
  get filterStringEnabled(): boolean;
67
68
  get inputMode(): "none" | "text";
68
69
  setSearchEnabled(newValue: boolean): void;
@@ -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);
@@ -34,7 +34,6 @@ export declare class LocalizableString implements ILocalizableString {
34
34
  get localizationName(): string;
35
35
  set localizationName(val: string);
36
36
  onGetTextCallback: (str: string) => string;
37
- onGetDefaultTextCallback: () => string;
38
37
  storeDefaultText: boolean;
39
38
  onGetLocalizationTextCallback: (str: string) => string;
40
39
  onStrChanged: (oldValue: string, newValue: string) => void;
@@ -109,4 +109,6 @@ export declare class QuestionMatrixBaseModel<TRow, TColumn> extends Question {
109
109
  */
110
110
  get rowTitleWidth(): string;
111
111
  set rowTitleWidth(val: string);
112
+ getCellAriaLabel(rowTitle: string, columnTitle: string): string;
113
+ get isNewA11yStructure(): boolean;
112
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 {};
@@ -84,6 +84,7 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
84
84
  isMobile: boolean;
85
85
  forceIsInputReadOnly: boolean;
86
86
  constructor(name: string);
87
+ protected getDefaultTitle(): string;
87
88
  protected createLocTitleProperty(): LocalizableString;
88
89
  getSurvey(live?: boolean): ISurvey;
89
90
  getValueName(): string;
@@ -476,6 +477,7 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
476
477
  * @see otherItem
477
478
  * @see otherErrorText
478
479
  * @see showCommentArea
480
+ * @see [settings.specialChoicesOrder](https://surveyjs.io/form-library/documentation/api-reference/settings#specialChoicesOrder)
479
481
  */
480
482
  get showOtherItem(): boolean;
481
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
  /**
@@ -314,6 +319,15 @@ export declare class QuestionSelectBase extends Question {
314
319
  setCanShowOptionItemCallback(func: (item: ItemValue) => boolean): void;
315
320
  get newItem(): ItemValue;
316
321
  protected addToVisibleChoices(items: Array<ItemValue>, isAddAll: boolean): void;
322
+ protected addNewItemToVisibleChoices(items: Array<ItemValue>, isAddAll: boolean): void;
323
+ protected addNonChoicesItems(dict: Array<{
324
+ index: number;
325
+ item: ItemValue;
326
+ }>, isAddAll: boolean): void;
327
+ protected addNonChoiceItem(dict: Array<{
328
+ index: number;
329
+ item: ItemValue;
330
+ }>, item: ItemValue, order: Array<number>): void;
317
331
  protected canShowOptionItem(item: ItemValue, isAddAll: boolean, hasItem: boolean): boolean;
318
332
  isItemInList(item: ItemValue): boolean;
319
333
  protected get isAddDefaultItems(): boolean;
@@ -337,8 +351,6 @@ export declare class QuestionSelectBase extends Question {
337
351
  private getChoicesFromSelectQuestion;
338
352
  private copyChoiceItem;
339
353
  protected get hasActiveChoices(): boolean;
340
- protected isHeadChoice(item: ItemValue, question: QuestionSelectBase): boolean;
341
- protected isFootChoice(item: ItemValue, question: QuestionSelectBase): boolean;
342
354
  protected isBuiltInChoice(item: ItemValue, question: QuestionSelectBase): boolean;
343
355
  protected getChoices(): Array<ItemValue>;
344
356
  supportOther(): boolean;
@@ -397,6 +409,8 @@ export declare class QuestionSelectBase extends Question {
397
409
  protected getItemClassCore(item: any, options: any): string;
398
410
  getLabelClass(item: ItemValue): string;
399
411
  getControlLabelClass(item: ItemValue): string;
412
+ private headItemsCount;
413
+ private footItemsCount;
400
414
  get headItems(): ItemValue[];
401
415
  get footItems(): ItemValue[];
402
416
  get dataChoices(): ItemValue[];
@@ -114,8 +114,11 @@ export declare class QuestionCheckboxModel extends QuestionCheckboxBase {
114
114
  private noneIndexInArray;
115
115
  protected canUseFilteredChoices(): boolean;
116
116
  protected supportSelectAll(): boolean;
117
- protected addToVisibleChoices(items: Array<ItemValue>, isAddAll: boolean): void;
118
- protected isHeadChoice(item: ItemValue, question: QuestionSelectBase): boolean;
117
+ protected addNonChoicesItems(dict: Array<{
118
+ index: number;
119
+ item: ItemValue;
120
+ }>, isAddAll: boolean): void;
121
+ protected isBuiltInChoice(item: ItemValue, question: QuestionSelectBase): boolean;
119
122
  isItemInList(item: ItemValue): boolean;
120
123
  protected getDisplayValueCore(keysAsText: boolean, value: any): any;
121
124
  protected clearIncorrectValuesCore(): void;
@@ -31,6 +31,7 @@ export interface ICustomQuestionTypeConfiguration {
31
31
  * [UI Icons](https://surveyjs.io/form-library/documentation/icons (linkStyle))
32
32
  */
33
33
  iconName?: string;
34
+ internal?: boolean;
34
35
  /**
35
36
  * A function that is called when the custom question type is initialized. Use it to add, remove, or modify the type's properties (see [Override Base Question Properties](https://surveyjs.io/form-library/documentation/customize-question-types/create-composite-question-types#override-base-question-properties)).
36
37
  */
@@ -218,9 +219,12 @@ export declare class ComponentCollection {
218
219
  onCreateCustom: (name: string, questionJSON: ComponentQuestionJSON) => QuestionCustomModel;
219
220
  onAddingJson: (name: string, isComposite: boolean) => void;
220
221
  add(json: ICustomQuestionTypeConfiguration): void;
222
+ remove(componentName: string): boolean;
221
223
  get items(): Array<ComponentQuestionJSON>;
222
224
  getCustomQuestionByName(name: string): ComponentQuestionJSON;
223
- clear(): void;
225
+ private getCustomQuestionIndex;
226
+ private removeByIndex;
227
+ clear(includeInternal?: boolean): void;
224
228
  createQuestion(name: string, questionJSON: ComponentQuestionJSON): Question;
225
229
  protected createCompositeModel(name: string, questionJSON: ComponentQuestionJSON): QuestionCompositeModel;
226
230
  protected createCustomModel(name: string, questionJSON: ComponentQuestionJSON): QuestionCustomModel;
@@ -277,11 +281,13 @@ export declare abstract class QuestionCustomModelBase extends Question implement
277
281
  }
278
282
  export declare class QuestionCustomModel extends QuestionCustomModelBase {
279
283
  private questionWrapper;
284
+ private hasJSONTitle;
280
285
  getTemplate(): string;
281
286
  protected createWrapper(): void;
282
287
  protected getElement(): SurveyElement;
283
288
  onAnyValueChanged(name: string, questionName: string): void;
284
289
  protected getQuestionByName(name: string): IQuestion;
290
+ protected getDefaultTitle(): string;
285
291
  setValue(name: string, newValue: any, locNotification: any, allowNotifyValueChanged?: boolean): any;
286
292
  protected onSetData(): void;
287
293
  hasErrors(fireCallback?: boolean, rec?: any): boolean;
@@ -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;
@@ -109,7 +109,8 @@ export declare class QuestionImagePickerModel extends QuestionCheckboxBase {
109
109
  set contentMode(val: string);
110
110
  protected convertDefaultValue(val: any): any;
111
111
  get inputType(): "checkbox" | "radio";
112
- protected isFootChoice(_item: ItemValue, _question: QuestionSelectBase): boolean;
112
+ protected isBuiltInChoice(item: ItemValue, question: QuestionSelectBase): boolean;
113
+ protected addToVisibleChoices(items: Array<ItemValue>, isAddAll: boolean): void;
113
114
  getSelectBaseRootCss(): string;
114
115
  private isResponsiveValue;
115
116
  maxImageWidth: number;