survey-core 1.9.115 → 1.9.117

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/README.md +4 -0
  2. package/defaultV2.css +121 -87
  3. package/defaultV2.css.map +1 -1
  4. package/defaultV2.fontless.css +121 -87
  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 +1 -1
  25. package/i18n/english.min.js +1 -1
  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 +20 -11
  113. package/modern.css.map +1 -1
  114. package/modern.fontless.css +20 -11
  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 +348 -135
  124. package/survey.core.js.map +1 -1
  125. package/survey.core.min.js +3 -3
  126. package/survey.css +11 -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/actions/action.d.ts +7 -7
  214. package/ts3.4/typings/console-warnings.d.ts +1 -0
  215. package/ts3.4/typings/dropdownListModel.d.ts +2 -1
  216. package/ts3.4/typings/localizablestring.d.ts +0 -1
  217. package/ts3.4/typings/martixBase.d.ts +1 -0
  218. package/ts3.4/typings/question.d.ts +3 -0
  219. package/ts3.4/typings/question_baseselect.d.ts +12 -2
  220. package/ts3.4/typings/question_checkbox.d.ts +5 -2
  221. package/ts3.4/typings/question_comment.d.ts +1 -0
  222. package/ts3.4/typings/question_custom.d.ts +7 -1
  223. package/ts3.4/typings/question_imagepicker.d.ts +2 -1
  224. package/ts3.4/typings/question_multipletext.d.ts +1 -1
  225. package/ts3.4/typings/question_paneldynamic.d.ts +2 -2
  226. package/ts3.4/typings/question_rating.d.ts +8 -8
  227. package/ts3.4/typings/question_signaturepad.d.ts +30 -1
  228. package/ts3.4/typings/settings.d.ts +5 -0
  229. package/ts3.4/typings/survey-events-api.d.ts +3 -3
  230. package/ts3.4/typings/survey.d.ts +13 -13
  231. package/typings/actions/action.d.ts +7 -7
  232. package/typings/console-warnings.d.ts +1 -0
  233. package/typings/dropdownListModel.d.ts +2 -1
  234. package/typings/localizablestring.d.ts +0 -1
  235. package/typings/martixBase.d.ts +1 -0
  236. package/typings/question.d.ts +3 -0
  237. package/typings/question_baseselect.d.ts +12 -2
  238. package/typings/question_checkbox.d.ts +5 -2
  239. package/typings/question_comment.d.ts +1 -0
  240. package/typings/question_custom.d.ts +7 -1
  241. package/typings/question_imagepicker.d.ts +2 -1
  242. package/typings/question_multipletext.d.ts +1 -1
  243. package/typings/question_paneldynamic.d.ts +2 -2
  244. package/typings/question_rating.d.ts +8 -8
  245. package/typings/question_signaturepad.d.ts +30 -1
  246. package/typings/settings.d.ts +5 -0
  247. package/typings/survey-events-api.d.ts +3 -3
  248. package/typings/survey.d.ts +13 -13
@@ -292,6 +292,15 @@ export declare class QuestionSelectBase extends Question {
292
292
  setCanShowOptionItemCallback(func: (item: ItemValue) => boolean): void;
293
293
  readonly newItem: ItemValue;
294
294
  protected addToVisibleChoices(items: Array<ItemValue>, isAddAll: boolean): void;
295
+ protected addNewItemToVisibleChoices(items: Array<ItemValue>, isAddAll: boolean): void;
296
+ protected addNonChoicesItems(dict: Array<{
297
+ index: number;
298
+ item: ItemValue;
299
+ }>, isAddAll: boolean): void;
300
+ protected addNonChoiceItem(dict: Array<{
301
+ index: number;
302
+ item: ItemValue;
303
+ }>, item: ItemValue, order: Array<number>): void;
295
304
  protected canShowOptionItem(item: ItemValue, isAddAll: boolean, hasItem: boolean): boolean;
296
305
  isItemInList(item: ItemValue): boolean;
297
306
  protected readonly isAddDefaultItems: boolean;
@@ -315,8 +324,6 @@ export declare class QuestionSelectBase extends Question {
315
324
  private getChoicesFromSelectQuestion;
316
325
  private copyChoiceItem;
317
326
  protected readonly hasActiveChoices: boolean;
318
- protected isHeadChoice(item: ItemValue, question: QuestionSelectBase): boolean;
319
- protected isFootChoice(item: ItemValue, question: QuestionSelectBase): boolean;
320
327
  protected isBuiltInChoice(item: ItemValue, question: QuestionSelectBase): boolean;
321
328
  protected getChoices(): Array<ItemValue>;
322
329
  supportOther(): boolean;
@@ -332,6 +339,7 @@ export declare class QuestionSelectBase extends Question {
332
339
  protected getCommentFromValue(newValue: any): string;
333
340
  protected setOtherValueIntoValue(newValue: any): any;
334
341
  onOtherValueInput(event: any): void;
342
+ onCompositionUpdateOtherValue(event: any): void;
335
343
  onOtherValueChange(event: any): void;
336
344
  private isRunningChoices;
337
345
  private runChoicesByUrl;
@@ -375,6 +383,8 @@ export declare class QuestionSelectBase extends Question {
375
383
  protected getItemClassCore(item: any, options: any): string;
376
384
  getLabelClass(item: ItemValue): string;
377
385
  getControlLabelClass(item: ItemValue): string;
386
+ private headItemsCount;
387
+ private footItemsCount;
378
388
  readonly headItems: ItemValue[];
379
389
  readonly footItems: ItemValue[];
380
390
  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;
@@ -41,6 +41,7 @@ export declare class QuestionCommentModel extends QuestionTextBase {
41
41
  beforeDestroyQuestionElement(el: HTMLElement): void;
42
42
  onInput(event: any): void;
43
43
  onKeyDown(event: any): void;
44
+ protected setQuestionValue(newValue: any, updateIsAnswered?: boolean): void;
44
45
  onValueChanged(): void;
45
46
  protected setNewValue(newValue: string): any;
46
47
  protected getValueSeparator(): string;
@@ -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;
@@ -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;
@@ -22,7 +22,7 @@ export declare class MultipleTextEditorModel extends QuestionTextModel {
22
22
  /**
23
23
  * A class that describes an item in a [Multiple Textboxes](https://surveyjs.io/form-library/documentation/api-reference/multiple-text-entry-question-model) question.
24
24
  *
25
- * [View Demo](/form-library/examples/multiple-text-box-question/)
25
+ * [View Demo](https://surveyjs.io/form-library/examples/multiple-text-box-question/)
26
26
  */
27
27
  export declare class MultipleTextItemModel extends Base implements IValidatorOwner, ISurveyData, ISurveyImpl {
28
28
  private editorValue;
@@ -119,7 +119,7 @@ export declare class QuestionPanelDynamicModel extends Question implements IQues
119
119
  *
120
120
  * If you want to customize individual tab titles, handle `SurveyModel`'s [`onGetDynamicPanelTabTitle`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onGetDynamicPanelTabTitle) event.
121
121
  *
122
- * [View Demo](/form-library/examples/tabbed-interface-for-duplicate-group-option/ (linkStyle))
122
+ * [View Demo](https://surveyjs.io/form-library/examples/tabbed-interface-for-duplicate-group-option/ (linkStyle))
123
123
  * @see templateTitle
124
124
  * @see renderMode
125
125
  */
@@ -384,7 +384,7 @@ export declare class QuestionPanelDynamicModel extends Question implements IQues
384
384
  * - `"progressTop"` - Renders each panel as a card and displays a progress bar at the top. [View Demo](https://surveyjs.io/form-library/examples/questiontype-paneldynamic/)
385
385
  * - `"progressBottom"` - Renders each panel panel as a card and displays a progress bar at the bottom.
386
386
  * - `"progressTopBottom"` - Renders each panel as a card and displays a progress bar at the top and bottom.
387
- * - `"tab"` - Renders each panel within a tab. Use the [`templateTabTitle`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#templateTabTitle) to specify a template for tab titles. [View Demo](/form-library/examples/tabbed-interface-for-duplicate-group-option/)
387
+ * - `"tab"` - Renders each panel within a tab. Use the [`templateTabTitle`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#templateTabTitle) to specify a template for tab titles. [View Demo](https://surveyjs.io/form-library/examples/tabbed-interface-for-duplicate-group-option/)
388
388
  */
389
389
  renderMode: string;
390
390
  tabAlign: "center" | "left" | "right";
@@ -57,7 +57,7 @@ export declare class QuestionRatingModel extends Question {
57
57
  *
58
58
  * If you do not specify the `rateValues` property, rate values are generated automatically based upon the [`rateMin`](https://surveyjs.io/form-library/documentation/api-reference/rating-scale-question-model#rateMin), [`rateMax`](https://surveyjs.io/form-library/documentation/api-reference/rating-scale-question-model#rateMax), [`rateStep`](https://surveyjs.io/form-library/documentation/api-reference/rating-scale-question-model#rateStep), and [`rateCount`](https://surveyjs.io/form-library/documentation/api-reference/rating-scale-question-model#rateCount) property values.
59
59
  *
60
- * [View Demo](/form-library/examples/rating-scale/ (linkStyle))
60
+ * [View Demo](https://surveyjs.io/form-library/examples/rating-scale/ (linkStyle))
61
61
  */
62
62
  rateValues: Array<any>;
63
63
  /*
@@ -65,7 +65,7 @@ export declare class QuestionRatingModel extends Question {
65
65
  *
66
66
  * Default value: 1
67
67
  *
68
- * [View Demo](/form-library/examples/rating-scale/ (linkStyle))
68
+ * [View Demo](https://surveyjs.io/form-library/examples/rating-scale/ (linkStyle))
69
69
  * @see rateMax
70
70
  * @see rateStep
71
71
  * @see rateCount
@@ -76,7 +76,7 @@ export declare class QuestionRatingModel extends Question {
76
76
  *
77
77
  * Default value: 5
78
78
  *
79
- * [View Demo](/form-library/examples/rating-scale/ (linkStyle))
79
+ * [View Demo](https://surveyjs.io/form-library/examples/rating-scale/ (linkStyle))
80
80
  * @see rateMin
81
81
  * @see rateStep
82
82
  * @see rateCount
@@ -87,7 +87,7 @@ export declare class QuestionRatingModel extends Question {
87
87
  *
88
88
  * Default value: 1
89
89
  *
90
- * [View Demo](/form-library/examples/rating-scale/ (linkStyle))
90
+ * [View Demo](https://surveyjs.io/form-library/examples/rating-scale/ (linkStyle))
91
91
  * @see rateMin
92
92
  * @see rateMax
93
93
  * @see rateCount
@@ -98,7 +98,7 @@ export declare class QuestionRatingModel extends Question {
98
98
  *
99
99
  * Set the [`rateMin`](https://surveyjs.io/form-library/documentation/api-reference/rating-scale-question-model#rateMin) or [`rateMax`](https://surveyjs.io/form-library/documentation/api-reference/rating-scale-question-model#rateMax) property to specify the first or the last rate value. Use the [`rateStep`](https://surveyjs.io/form-library/documentation/api-reference/rating-scale-question-model#rateStep) property to specify a step with which to generate rate values.
100
100
  *
101
- * [View Demo](/form-library/examples/rating-scale/ (linkStyle))
101
+ * [View Demo](https://surveyjs.io/form-library/examples/rating-scale/ (linkStyle))
102
102
  */
103
103
  rateCount: number;
104
104
  private static colorsCalculated;
@@ -165,7 +165,7 @@ export declare class QuestionRatingModel extends Question {
165
165
  * - `"dropdown"` - Displays rate values as items in a drop-down list.
166
166
  * - `"auto"` (default) - Selects between the `"buttons"` and `"dropdown"` modes based on the available width. When the width is insufficient to display buttons, the question displays a dropdown.
167
167
  *
168
- * [View Demo](/form-library/examples/ui-adaptation-modes-for-rating-scale/ (linkStyle))
168
+ * [View Demo](https://surveyjs.io/form-library/examples/ui-adaptation-modes-for-rating-scale/ (linkStyle))
169
169
  * @see rateType
170
170
  */
171
171
  displayMode: "dropdown" | "buttons" | "auto";
@@ -178,7 +178,7 @@ export declare class QuestionRatingModel extends Question {
178
178
  * - `"stars"` - Displays rate values as stars.
179
179
  * - `"smileys"` - Displays rate values as smiley faces.
180
180
  *
181
- * [View Demo](/form-library/examples/rating-scale/ (linkStyle))
181
+ * [View Demo](https://surveyjs.io/form-library/examples/rating-scale/ (linkStyle))
182
182
  * @see scaleColorMode
183
183
  * @see rateColorMode
184
184
  * @see displayMode
@@ -193,7 +193,7 @@ export declare class QuestionRatingModel extends Question {
193
193
  * - `"monochrome"` (default) - Displays emojis in monochrome.
194
194
  * - `"colored"` - Displays emojis in color.
195
195
  *
196
- * [View Demo](/form-library/examples/rating-scale/ (linkStyle))
196
+ * [View Demo](https://surveyjs.io/form-library/examples/rating-scale/ (linkStyle))
197
197
  * @see rateColorMode
198
198
  */
199
199
  scaleColorMode: "monochrome" | "colored";
@@ -1,6 +1,5 @@
1
1
  import { Question } from "./question";
2
2
  import { ITheme } from "./themes";
3
- export declare function getCanvasRatio(canvas: HTMLCanvasElement): number;
4
3
  /**
5
4
  * A class that describes the Signature question type.
6
5
  *
@@ -17,6 +16,13 @@ export declare class QuestionSignaturePadModel extends Question {
17
16
  afterRenderQuestionElement(el: HTMLElement): void;
18
17
  beforeDestroyQuestionElement(el: HTMLElement): void;
19
18
  themeChanged(theme: ITheme): void;
19
+ private canvas;
20
+ private scale;
21
+ private valueIsUpdatingInternally;
22
+ private resizeCanvas;
23
+ private scaleCanvas;
24
+ private refreshCanvas;
25
+ private updateValueHandler;
20
26
  initSignaturePad(el: HTMLElement): void;
21
27
  destroySignaturePad(el: HTMLElement): void;
22
28
  /*
@@ -37,6 +43,29 @@ export declare class QuestionSignaturePadModel extends Question {
37
43
  * Specifies the height of the signature area. Accepts positive integer numbers.
38
44
  */
39
45
  signatureHeight: number;
46
+ /**
47
+ * Specifies whether the signature area should be scaled to fit into the question width.
48
+ *
49
+ * Default value: `false`
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.
52
+ */
53
+ signatureAutoScaleEnabled: boolean;
54
+ /**
55
+ * Speicifies the minimum width of pen strokes, measured in pixels.
56
+ *
57
+ * Default value: 0.5
58
+ */
59
+ penMinWidth: number;
60
+ /**
61
+ * Speicifies the maximum width of pen strokes, measured in pixels.
62
+ *
63
+ * Default value: 2.5
64
+ */
65
+ penMaxWidth: number;
66
+ private readonly containerHeight: any;
67
+ private readonly containerWidth: any;
68
+ readonly renderedCanvasWidth: string;
40
69
  height: number;
41
70
  /*
42
71
  * Specifies whether to display a button that clears the signature area.
@@ -485,6 +485,11 @@ export declare var settings: {
485
485
  * Default value: `"none"`
486
486
  */
487
487
  noneItemValue: string;
488
+ specialChoicesOrder: {
489
+ selectAllItem: number[];
490
+ noneItem: number[];
491
+ otherItem: number[];
492
+ };
488
493
  /**
489
494
  * A list of supported validators by question type.
490
495
  */
@@ -499,7 +499,7 @@ 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"` to indicate the operation status and, optionally, the downloaded file's data.
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.
503
503
  */
504
504
  callback: (status: string, data?: any) => any;
505
505
  /**
@@ -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"` to indicate the operation status and, optionally, the downloaded file's data as a Base64 string.
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"` to indicate the operation status and, optionally, deleted files' data (`options.value`).
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
  /**
@@ -407,16 +407,16 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
407
407
  *
408
408
  * For information on event handler parameters, refer to descriptions within the interface.
409
409
  *
410
- * [View Demo](/form-library/examples/customize-survey-with-css/ (linkStyle))
410
+ * [View Demo](https://surveyjs.io/form-library/examples/customize-survey-with-css/ (linkStyle))
411
411
  * @see css
412
412
  */
413
413
  onUpdateQuestionCssClasses: EventBase<SurveyModel, UpdateQuestionCssClassesEvent>;
414
414
  /**
415
- * An event that is raised before rendering a standalone panel and panels within [Dynamic Panel](/form-library/examples/duplicate-group-of-fields-in-form/). Use it to override default panel CSS classes.
415
+ * An event that is raised before rendering a standalone panel and panels within [Dynamic Panel](https://surveyjs.io/form-library/examples/duplicate-group-of-fields-in-form/). Use it to override default panel CSS classes.
416
416
  *
417
417
  * For information on event handler parameters, refer to descriptions within the interface.
418
418
  *
419
- * [View Demo](/form-library/examples/customize-survey-with-css/ (linkStyle))
419
+ * [View Demo](https://surveyjs.io/form-library/examples/customize-survey-with-css/ (linkStyle))
420
420
  * @see css
421
421
  */
422
422
  onUpdatePanelCssClasses: EventBase<SurveyModel, UpdatePanelCssClassesEvent>;
@@ -425,7 +425,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
425
425
  *
426
426
  * For information on event handler parameters, refer to descriptions within the interface.
427
427
  *
428
- * [View Demo](/form-library/examples/customize-survey-with-css/ (linkStyle))
428
+ * [View Demo](https://surveyjs.io/form-library/examples/customize-survey-with-css/ (linkStyle))
429
429
  * @see css
430
430
  */
431
431
  onUpdatePageCssClasses: EventBase<SurveyModel, UpdatePageCssClassesEvent>;
@@ -434,7 +434,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
434
434
  *
435
435
  * For information on event handler parameters, refer to descriptions within the interface.
436
436
  *
437
- * [View Demo](/form-library/examples/customize-survey-with-css/ (linkStyle))
437
+ * [View Demo](https://surveyjs.io/form-library/examples/customize-survey-with-css/ (linkStyle))
438
438
  * @see css
439
439
  */
440
440
  onUpdateChoiceItemCss: EventBase<SurveyModel, UpdateChoiceItemCssEvent>;
@@ -526,7 +526,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
526
526
  */
527
527
  onMatrixRowAdding: EventBase<SurveyModel, MatrixBeforeRowAddedEvent>;
528
528
  /**
529
- * This event is obsolete. Use the [`onMatrixRowAdding`](/form-library/documentation/api-reference/survey-data-model#onMatrixRowAdding) event instead.
529
+ * This event is obsolete. Use the [`onMatrixRowAdding`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onMatrixRowAdding) event instead.
530
530
  */
531
531
  onMatrixBeforeRowAdded: EventBase<SurveyModel, MatrixBeforeRowAddedEvent>;
532
532
  /**
@@ -546,7 +546,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
546
546
  */
547
547
  onMatrixRenderRemoveButton: EventBase<SurveyModel, MatrixAllowRemoveRowEvent>;
548
548
  /**
549
- * This event is obsolete. Use the [`onMatrixRenderRemoveButton`](/form-library/documentation/api-reference/survey-data-model#onMatrixRenderRemoveButton) event instead.
549
+ * This event is obsolete. Use the [`onMatrixRenderRemoveButton`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onMatrixRenderRemoveButton) event instead.
550
550
  */
551
551
  onMatrixAllowRemoveRow: EventBase<SurveyModel, MatrixAllowRemoveRowEvent>;
552
552
  /**
@@ -565,7 +565,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
565
565
  */
566
566
  onAfterRenderMatrixCell: EventBase<SurveyModel, MatrixAfterCellRenderEvent>;
567
567
  /**
568
- * This event is obsolete. Use the [`onAfterRenderMatrixCell`](/form-library/documentation/api-reference/survey-data-model#onAfterRenderMatrixCell) event instead.
568
+ * This event is obsolete. Use the [`onAfterRenderMatrixCell`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onAfterRenderMatrixCell) event instead.
569
569
  */
570
570
  onMatrixAfterCellRender: EventBase<SurveyModel, MatrixAfterCellRenderEvent>;
571
571
  /**
@@ -623,7 +623,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
623
623
  *
624
624
  * For information on event handler parameters, refer to descriptions within the interface.
625
625
  *
626
- * [View Demo](/form-library/examples/tabbed-interface-for-duplicate-group-option/ (linkStyle))
626
+ * [View Demo](https://surveyjs.io/form-library/examples/tabbed-interface-for-duplicate-group-option/ (linkStyle))
627
627
  */
628
628
  onGetDynamicPanelTabTitle: EventBase<SurveyModel, DynamicPanelGetTabTitleEvent>;
629
629
  /**
@@ -717,7 +717,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
717
717
  /*
718
718
  * Gets or sets an object in which keys are UI elements and values are CSS classes applied to them.
719
719
  *
720
- * [View Demo](/form-library/examples/customize-survey-with-css/ (linkStyle))
720
+ * [View Demo](https://surveyjs.io/form-library/examples/customize-survey-with-css/ (linkStyle))
721
721
  */
722
722
  css: any;
723
723
  setCss(value: any, needMerge?: boolean): void;
@@ -1826,7 +1826,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
1826
1826
  private changeCurrentPageFromPreview;
1827
1827
  private origionalPages;
1828
1828
  protected onQuestionsOnPageModeChanged(oldValue: string): void;
1829
- private restoreOrigionalPages;
1829
+ private restoreOriginalPages;
1830
1830
  private getPageStartIndex;
1831
1831
  private setupPagesForPageModes;
1832
1832
  private createPagesForQuestionOnPageMode;
@@ -2607,8 +2607,8 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
2607
2607
  /**
2608
2608
  * Applies a specified theme to the survey.
2609
2609
  *
2610
- * [Themes & Styles](/form-library/documentation/manage-default-themes-and-styles (linkStyle))
2611
- * @param theme An [`ITheme`](/form-library/documentation/api-reference/itheme) object with theme settings.
2610
+ * [Themes & Styles](https://surveyjs.io/form-library/documentation/manage-default-themes-and-styles (linkStyle))
2611
+ * @param theme An [`ITheme`](https://surveyjs.io/form-library/documentation/api-reference/itheme) object with theme settings.
2612
2612
  */
2613
2613
  applyTheme(theme: ITheme): void;
2614
2614
  themeChanged(theme: ITheme): void;
@@ -8,13 +8,13 @@ export declare type actionModeType = "large" | "small" | "popup" | "removed";
8
8
  *
9
9
  * Action items are used in the Toolbar, matrix rows, titles of pages, panels, questions, and other survey elements.
10
10
  *
11
- * [View Demo](/form-library/examples/add-custom-navigation-button/ (linkStyle))
11
+ * [View Demo](https://surveyjs.io/form-library/examples/add-custom-navigation-button/ (linkStyle))
12
12
  */
13
13
  export interface IAction {
14
14
  /**
15
15
  * A unique action item identifier.
16
16
  *
17
- * [View Demo](/form-library/examples/add-custom-navigation-button/ (linkStyle))
17
+ * [View Demo](https://surveyjs.io/form-library/examples/add-custom-navigation-button/ (linkStyle))
18
18
  */
19
19
  id?: string;
20
20
  /**
@@ -26,7 +26,7 @@ export interface IAction {
26
26
  /**
27
27
  * The action item's title.
28
28
  *
29
- * [View Demo](/form-library/examples/add-custom-navigation-button/ (linkStyle))
29
+ * [View Demo](https://surveyjs.io/form-library/examples/add-custom-navigation-button/ (linkStyle))
30
30
  * @see showTitle
31
31
  * @see disableShrink
32
32
  */
@@ -54,7 +54,7 @@ export interface IAction {
54
54
  /**
55
55
  * A function that is executed when users click the action item.
56
56
  *
57
- * [View Demo](/form-library/examples/add-custom-navigation-button/ (linkStyle))
57
+ * [View Demo](https://surveyjs.io/form-library/examples/add-custom-navigation-button/ (linkStyle))
58
58
  */
59
59
  action?: (context?: any) => void;
60
60
  /**
@@ -64,7 +64,7 @@ export interface IAction {
64
64
  *
65
65
  * To apply several classes, separate them with a space character: `"myclass1 myclass2"`.
66
66
  *
67
- * [View Demo](/form-library/examples/add-custom-navigation-button/ (linkStyle))
67
+ * [View Demo](https://surveyjs.io/form-library/examples/add-custom-navigation-button/ (linkStyle))
68
68
  * @see innerCss
69
69
  */
70
70
  css?: string;
@@ -75,7 +75,7 @@ export interface IAction {
75
75
  *
76
76
  * To apply several classes, separate them with a space character: `"myclass1 myclass2"`.
77
77
  *
78
- * [View Demo](/form-library/examples/add-custom-navigation-button/ (linkStyle))
78
+ * [View Demo](https://surveyjs.io/form-library/examples/add-custom-navigation-button/ (linkStyle))
79
79
  * @see css
80
80
  */
81
81
  innerCss?: string;
@@ -138,7 +138,7 @@ export interface IAction {
138
138
  /**
139
139
  * A number that specifies the action's position relative to other actions.
140
140
  *
141
- * [View Demo](/form-library/examples/add-custom-navigation-button/ (linkStyle))
141
+ * [View Demo](https://surveyjs.io/form-library/examples/add-custom-navigation-button/ (linkStyle))
142
142
  */
143
143
  visibleIndex?: number;
144
144
  needSpace?: boolean;
@@ -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
  }
@@ -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;
@@ -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,5 @@ 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;
112
113
  }
@@ -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;
@@ -362,6 +363,7 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
362
363
  get isContainer(): boolean;
363
364
  protected updateCommentElements(): void;
364
365
  onCommentInput(event: any): void;
366
+ onCompositionUpdateComment(event: any): void;
365
367
  onCommentChange(event: any): void;
366
368
  afterRenderQuestionElement(el: HTMLElement): void;
367
369
  afterRender(el: HTMLElement): void;
@@ -814,6 +816,7 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
814
816
  protected onChangeQuestionValue(newValue: any): void;
815
817
  protected setValueChangedDirectly(val: boolean): void;
816
818
  protected setQuestionValue(newValue: any, updateIsAnswered?: boolean): void;
819
+ private get isParentChangingViaDefaultValue();
817
820
  onSurveyValueChanged(newValue: any): void;
818
821
  setVisibleIndex(val: number): number;
819
822
  removeElement(element: IElement): boolean;
@@ -314,6 +314,15 @@ export declare class QuestionSelectBase extends Question {
314
314
  setCanShowOptionItemCallback(func: (item: ItemValue) => boolean): void;
315
315
  get newItem(): ItemValue;
316
316
  protected addToVisibleChoices(items: Array<ItemValue>, isAddAll: boolean): void;
317
+ protected addNewItemToVisibleChoices(items: Array<ItemValue>, isAddAll: boolean): void;
318
+ protected addNonChoicesItems(dict: Array<{
319
+ index: number;
320
+ item: ItemValue;
321
+ }>, isAddAll: boolean): void;
322
+ protected addNonChoiceItem(dict: Array<{
323
+ index: number;
324
+ item: ItemValue;
325
+ }>, item: ItemValue, order: Array<number>): void;
317
326
  protected canShowOptionItem(item: ItemValue, isAddAll: boolean, hasItem: boolean): boolean;
318
327
  isItemInList(item: ItemValue): boolean;
319
328
  protected get isAddDefaultItems(): boolean;
@@ -337,8 +346,6 @@ export declare class QuestionSelectBase extends Question {
337
346
  private getChoicesFromSelectQuestion;
338
347
  private copyChoiceItem;
339
348
  protected get hasActiveChoices(): boolean;
340
- protected isHeadChoice(item: ItemValue, question: QuestionSelectBase): boolean;
341
- protected isFootChoice(item: ItemValue, question: QuestionSelectBase): boolean;
342
349
  protected isBuiltInChoice(item: ItemValue, question: QuestionSelectBase): boolean;
343
350
  protected getChoices(): Array<ItemValue>;
344
351
  supportOther(): boolean;
@@ -354,6 +361,7 @@ export declare class QuestionSelectBase extends Question {
354
361
  protected getCommentFromValue(newValue: any): string;
355
362
  protected setOtherValueIntoValue(newValue: any): any;
356
363
  onOtherValueInput(event: any): void;
364
+ onCompositionUpdateOtherValue(event: any): void;
357
365
  onOtherValueChange(event: any): void;
358
366
  private isRunningChoices;
359
367
  private runChoicesByUrl;
@@ -397,6 +405,8 @@ export declare class QuestionSelectBase extends Question {
397
405
  protected getItemClassCore(item: any, options: any): string;
398
406
  getLabelClass(item: ItemValue): string;
399
407
  getControlLabelClass(item: ItemValue): string;
408
+ private headItemsCount;
409
+ private footItemsCount;
400
410
  get headItems(): ItemValue[];
401
411
  get footItems(): ItemValue[];
402
412
  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;
@@ -46,6 +46,7 @@ export declare class QuestionCommentModel extends QuestionTextBase {
46
46
  beforeDestroyQuestionElement(el: HTMLElement): void;
47
47
  onInput(event: any): void;
48
48
  onKeyDown(event: any): void;
49
+ protected setQuestionValue(newValue: any, updateIsAnswered?: boolean): void;
49
50
  onValueChanged(): void;
50
51
  protected setNewValue(newValue: string): any;
51
52
  protected getValueSeparator(): string;
@@ -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;
@@ -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;