survey-core 1.9.114 → 1.9.116

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 (258) hide show
  1. package/defaultV2.css +231 -108
  2. package/defaultV2.css.map +1 -1
  3. package/defaultV2.fontless.css +231 -108
  4. package/defaultV2.fontless.css.map +1 -1
  5. package/defaultV2.fontless.min.css +2 -2
  6. package/defaultV2.min.css +2 -2
  7. package/i18n/arabic.js +1 -1
  8. package/i18n/arabic.min.js +1 -1
  9. package/i18n/basque.js +1 -1
  10. package/i18n/basque.min.js +1 -1
  11. package/i18n/bulgarian.js +1 -1
  12. package/i18n/bulgarian.min.js +1 -1
  13. package/i18n/catalan.js +1 -1
  14. package/i18n/catalan.min.js +1 -1
  15. package/i18n/croatian.js +1 -1
  16. package/i18n/croatian.min.js +1 -1
  17. package/i18n/czech.js +1 -1
  18. package/i18n/czech.min.js +1 -1
  19. package/i18n/danish.js +1 -1
  20. package/i18n/danish.min.js +1 -1
  21. package/i18n/dutch.js +1 -1
  22. package/i18n/dutch.min.js +1 -1
  23. package/i18n/english.js +3 -1
  24. package/i18n/english.js.map +1 -1
  25. package/i18n/english.min.js +2 -2
  26. package/i18n/estonian.js +1 -1
  27. package/i18n/estonian.min.js +1 -1
  28. package/i18n/finnish.js +1 -1
  29. package/i18n/finnish.min.js +1 -1
  30. package/i18n/french.js +1 -1
  31. package/i18n/french.min.js +1 -1
  32. package/i18n/georgian.js +1 -1
  33. package/i18n/georgian.min.js +1 -1
  34. package/i18n/german.js +1 -1
  35. package/i18n/german.min.js +1 -1
  36. package/i18n/greek.js +1 -1
  37. package/i18n/greek.min.js +1 -1
  38. package/i18n/hebrew.js +1 -1
  39. package/i18n/hebrew.min.js +1 -1
  40. package/i18n/hindi.js +1 -1
  41. package/i18n/hindi.min.js +1 -1
  42. package/i18n/hungarian.js +1 -1
  43. package/i18n/hungarian.min.js +1 -1
  44. package/i18n/icelandic.js +1 -1
  45. package/i18n/icelandic.min.js +1 -1
  46. package/i18n/index.js +1 -1
  47. package/i18n/index.min.js +1 -1
  48. package/i18n/indonesian.js +1 -1
  49. package/i18n/indonesian.min.js +1 -1
  50. package/i18n/italian.js +1 -1
  51. package/i18n/italian.min.js +1 -1
  52. package/i18n/japanese.js +1 -1
  53. package/i18n/japanese.min.js +1 -1
  54. package/i18n/kazakh.js +1 -1
  55. package/i18n/kazakh.min.js +1 -1
  56. package/i18n/korean.js +1 -1
  57. package/i18n/korean.min.js +1 -1
  58. package/i18n/latvian.js +1 -1
  59. package/i18n/latvian.min.js +1 -1
  60. package/i18n/lithuanian.js +1 -1
  61. package/i18n/lithuanian.min.js +1 -1
  62. package/i18n/macedonian.js +1 -1
  63. package/i18n/macedonian.min.js +1 -1
  64. package/i18n/malay.js +1 -1
  65. package/i18n/malay.min.js +1 -1
  66. package/i18n/nl-BE.js +1 -1
  67. package/i18n/nl-BE.min.js +1 -1
  68. package/i18n/norwegian.js +1 -1
  69. package/i18n/norwegian.min.js +1 -1
  70. package/i18n/persian.js +1 -1
  71. package/i18n/persian.min.js +1 -1
  72. package/i18n/polish.js +1 -1
  73. package/i18n/polish.min.js +1 -1
  74. package/i18n/portuguese-br.js +1 -1
  75. package/i18n/portuguese-br.min.js +1 -1
  76. package/i18n/portuguese.js +1 -1
  77. package/i18n/portuguese.min.js +1 -1
  78. package/i18n/romanian.js +1 -1
  79. package/i18n/romanian.min.js +1 -1
  80. package/i18n/russian.js +1 -1
  81. package/i18n/russian.min.js +1 -1
  82. package/i18n/serbian.js +1 -1
  83. package/i18n/serbian.min.js +1 -1
  84. package/i18n/simplified-chinese.js +1 -1
  85. package/i18n/simplified-chinese.min.js +1 -1
  86. package/i18n/slovak.js +1 -1
  87. package/i18n/slovak.min.js +1 -1
  88. package/i18n/spanish.js +1 -1
  89. package/i18n/spanish.min.js +1 -1
  90. package/i18n/swahili.js +1 -1
  91. package/i18n/swahili.min.js +1 -1
  92. package/i18n/swedish.js +1 -1
  93. package/i18n/swedish.min.js +1 -1
  94. package/i18n/tajik.js +1 -1
  95. package/i18n/tajik.min.js +1 -1
  96. package/i18n/telugu.js +1 -1
  97. package/i18n/telugu.min.js +1 -1
  98. package/i18n/thai.js +1 -1
  99. package/i18n/thai.min.js +1 -1
  100. package/i18n/traditional-chinese.js +1 -1
  101. package/i18n/traditional-chinese.min.js +1 -1
  102. package/i18n/turkish.js +1 -1
  103. package/i18n/turkish.min.js +1 -1
  104. package/i18n/ukrainian.js +1 -1
  105. package/i18n/ukrainian.min.js +1 -1
  106. package/i18n/urdu.js +1 -1
  107. package/i18n/urdu.min.js +1 -1
  108. package/i18n/vietnamese.js +1 -1
  109. package/i18n/vietnamese.min.js +1 -1
  110. package/i18n/welsh.js +1 -1
  111. package/i18n/welsh.min.js +1 -1
  112. package/modern.css +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 +442 -162
  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 +9 -7
  214. package/ts3.4/typings/defaultCss/defaultV2Css.d.ts +15 -0
  215. package/ts3.4/typings/dragdrop/dom-adapter.d.ts +3 -0
  216. package/ts3.4/typings/expressions/expressions.d.ts +3 -0
  217. package/ts3.4/typings/jsonobject.d.ts +6 -1
  218. package/ts3.4/typings/localization/english.d.ts +2 -0
  219. package/ts3.4/typings/question.d.ts +5 -1
  220. package/ts3.4/typings/question_comment.d.ts +2 -0
  221. package/ts3.4/typings/question_custom.d.ts +2 -0
  222. package/ts3.4/typings/question_file.d.ts +2 -1
  223. package/ts3.4/typings/question_matrixdropdownrendered.d.ts +2 -0
  224. package/ts3.4/typings/question_multipletext.d.ts +5 -1
  225. package/ts3.4/typings/question_paneldynamic.d.ts +2 -2
  226. package/ts3.4/typings/question_ranking.d.ts +2 -0
  227. package/ts3.4/typings/question_rating.d.ts +8 -8
  228. package/ts3.4/typings/question_signaturepad.d.ts +30 -0
  229. package/ts3.4/typings/question_text.d.ts +2 -0
  230. package/ts3.4/typings/question_textbase.d.ts +2 -0
  231. package/ts3.4/typings/questionnonvalue.d.ts +2 -0
  232. package/ts3.4/typings/survey-events-api.d.ts +3 -3
  233. package/ts3.4/typings/survey.d.ts +12 -12
  234. package/ts3.4/typings/surveyStrings.d.ts +2 -0
  235. package/ts3.4/typings/utils/camera.d.ts +9 -2
  236. package/typings/actions/action.d.ts +9 -7
  237. package/typings/defaultCss/defaultV2Css.d.ts +15 -0
  238. package/typings/dragdrop/dom-adapter.d.ts +3 -0
  239. package/typings/expressions/expressions.d.ts +3 -0
  240. package/typings/jsonobject.d.ts +6 -1
  241. package/typings/localization/english.d.ts +2 -0
  242. package/typings/question.d.ts +5 -1
  243. package/typings/question_comment.d.ts +2 -0
  244. package/typings/question_custom.d.ts +2 -0
  245. package/typings/question_file.d.ts +2 -1
  246. package/typings/question_matrixdropdownrendered.d.ts +2 -0
  247. package/typings/question_multipletext.d.ts +6 -1
  248. package/typings/question_paneldynamic.d.ts +2 -2
  249. package/typings/question_ranking.d.ts +2 -0
  250. package/typings/question_rating.d.ts +8 -8
  251. package/typings/question_signaturepad.d.ts +30 -0
  252. package/typings/question_text.d.ts +2 -0
  253. package/typings/question_textbase.d.ts +2 -0
  254. package/typings/questionnonvalue.d.ts +2 -0
  255. package/typings/survey-events-api.d.ts +3 -3
  256. package/typings/survey.d.ts +12 -12
  257. package/typings/surveyStrings.d.ts +2 -0
  258. package/typings/utils/camera.d.ts +9 -2
@@ -303,6 +303,7 @@ export declare var defaultV2Css: {
303
303
  root: string;
304
304
  small: string;
305
305
  controlDisabled: string;
306
+ constrolWithCharacterCounter: string;
306
307
  content: string;
307
308
  remainingCharacterCounter: string;
308
309
  onError: string;
@@ -314,6 +315,7 @@ export declare var defaultV2Css: {
314
315
  itemLabelOnError: string;
315
316
  itemLabelAllowFocus: string;
316
317
  itemLabelAnswered: string;
318
+ itemWithCharacterCounter: string;
317
319
  item: string;
318
320
  itemTitle: string;
319
321
  content: string;
@@ -411,6 +413,7 @@ export declare var defaultV2Css: {
411
413
  rootScroll: string;
412
414
  root: string;
413
415
  noHeader: string;
416
+ hasFooter: string;
414
417
  rootVerticalAlignTop: string;
415
418
  rootVerticalAlignMiddle: string;
416
419
  tableWrapper: string;
@@ -421,6 +424,9 @@ export declare var defaultV2Css: {
421
424
  errorsCellBottom: string;
422
425
  itemCell: string;
423
426
  row: string;
427
+ expandedRow: string;
428
+ rowHasPanel: string;
429
+ rowHasEndActions: string;
424
430
  headerCell: string;
425
431
  rowTextCell: string;
426
432
  columnTitleCell: string;
@@ -432,6 +438,8 @@ export declare var defaultV2Css: {
432
438
  detailIconId: string;
433
439
  detailIconExpandedId: string;
434
440
  detailPanelCell: string;
441
+ detailRowCell: string;
442
+ actionsCellPrefix: string;
435
443
  actionsCell: string;
436
444
  actionsCellDrag: string;
437
445
  emptyCell: string;
@@ -445,10 +453,14 @@ export declare var defaultV2Css: {
445
453
  empty: string;
446
454
  root: string;
447
455
  noHeader: string;
456
+ hasFooter: string;
448
457
  tableWrapper: string;
449
458
  content: string;
450
459
  cell: string;
451
460
  row: string;
461
+ rowHasPanel: string;
462
+ rowHasEndActions: string;
463
+ expandedRow: string;
452
464
  itemCell: string;
453
465
  headerCell: string;
454
466
  rowTextCell: string;
@@ -463,6 +475,8 @@ export declare var defaultV2Css: {
463
475
  detailIconId: string;
464
476
  detailIconExpandedId: string;
465
477
  detailPanelCell: string;
478
+ detailRowCell: string;
479
+ actionsCellPrefix: string;
466
480
  actionsCell: string;
467
481
  actionsCellDrag: string;
468
482
  buttonAdd: string;
@@ -572,6 +586,7 @@ export declare var defaultV2Css: {
572
586
  removeFileButton: string;
573
587
  dragAreaPlaceholder: string;
574
588
  imageWrapper: string;
589
+ imageWrapperDefaultImage: string;
575
590
  single: string;
576
591
  singleImage: string;
577
592
  mobile: string;
@@ -15,6 +15,7 @@ export declare class DragDropDOMAdapter implements IDragDropDOMAdapter {
15
15
  private currentY;
16
16
  private savedTargetNode;
17
17
  private savedTargetNodeParent;
18
+ private savedTargetNodeIndex;
18
19
  private scrollIntervalId;
19
20
  constructor(dd: IDragDropEngine, longTap?: boolean);
20
21
  private get rootElement();
@@ -37,4 +38,6 @@ export declare class DragDropDOMAdapter implements IDragDropDOMAdapter {
37
38
  draggedElementShortcut: any;
38
39
  rootContainer: HTMLElement;
39
40
  startDrag(event: PointerEvent, draggedElement: any, parentElement?: any, draggedElementNode?: HTMLElement, preventSaveTargetNode?: boolean): void;
41
+ private getNodeIndexInParent;
42
+ private insertNodeToParentAtIndex;
40
43
  }
@@ -47,6 +47,9 @@ export declare class UnaryOperand extends Operand {
47
47
  getType(): string;
48
48
  toString(func?: (op: Operand) => string): string;
49
49
  protected isContentEqual(op: Operand): boolean;
50
+ hasFunction(): boolean;
51
+ hasAsyncFunction(): boolean;
52
+ addToAsyncList(list: Array<FunctionOperand>): void;
50
53
  evaluate(processValue?: ProcessValue): boolean;
51
54
  setVariables(variables: Array<string>): void;
52
55
  }
@@ -250,6 +250,11 @@ export declare class JsonRequiredPropertyError extends JsonError {
250
250
  className: string;
251
251
  constructor(propertyName: string, className: string);
252
252
  }
253
+ export declare class JsonRequiredArrayPropertyError extends JsonError {
254
+ propertyName: string;
255
+ className: string;
256
+ constructor(propertyName: string, className: string);
257
+ }
253
258
  export declare class JsonObject {
254
259
  private static typePropertyName;
255
260
  private static positionPropertyName;
@@ -265,7 +270,7 @@ export declare class JsonObject {
265
270
  private addDynamicProperties;
266
271
  private propertiesToJson;
267
272
  valueToJson(obj: any, result: any, property: JsonObjectProperty, storeDefaults?: boolean): void;
268
- valueToObj(value: any, obj: any, property: JsonObjectProperty): void;
273
+ valueToObj(value: any, obj: any, property: JsonObjectProperty, jsonObj?: any): void;
269
274
  private removePos;
270
275
  private removePosFromObj;
271
276
  private isValueArray;
@@ -54,6 +54,8 @@ export declare var englishStrings: {
54
54
  emptyRowsText: string;
55
55
  addPanel: string;
56
56
  removePanel: string;
57
+ showDetails: string;
58
+ hideDetails: string;
57
59
  choices_Item: string;
58
60
  matrix_column: string;
59
61
  matrix_row: string;
@@ -57,6 +57,7 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
57
57
  valueFromDataCallback: (val: any) => any;
58
58
  valueToDataCallback: (val: any) => any;
59
59
  onUpdateCssClassesCallback: (css: any) => void;
60
+ setValueChangedDirectlyCallback: (val: boolean) => void;
60
61
  onGetSurvey: () => ISurvey;
61
62
  private locProcessedTitle;
62
63
  private isReadyValue;
@@ -708,6 +709,7 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
708
709
  protected isDefaultValueEmpty(): boolean;
709
710
  protected getDefaultRunner(runner: ExpressionRunner, expression: string): ExpressionRunner;
710
711
  protected setDefaultValue(): void;
712
+ private setDefaultValueCore;
711
713
  protected isValueExpression(val: any): boolean;
712
714
  protected setValueAndRunExpression(runner: ExpressionRunner, defaultValue: any, setFunc: (val: any) => void, values?: HashTable<any>, properties?: HashTable<any>): void;
713
715
  protected convertFuncValuetoQuestionValue(val: any): any;
@@ -807,10 +809,12 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
807
809
  protected setNewComment(newValue: string): void;
808
810
  protected getValidName(name: string): string;
809
811
  updateValueFromSurvey(newValue: any): void;
812
+ private updateValueFromSurveyCore;
810
813
  updateCommentFromSurvey(newValue: any): any;
811
814
  protected onChangeQuestionValue(newValue: any): void;
812
- protected setValueChangedDirectly(): void;
815
+ protected setValueChangedDirectly(val: boolean): void;
813
816
  protected setQuestionValue(newValue: any, updateIsAnswered?: boolean): void;
817
+ private get isParentChangingViaDefaultValue();
814
818
  onSurveyValueChanged(newValue: any): void;
815
819
  setVisibleIndex(val: number): number;
816
820
  removeElement(element: IElement): boolean;
@@ -38,6 +38,7 @@ export declare class QuestionCommentModel extends QuestionTextBase {
38
38
  */
39
39
  get allowResize(): boolean;
40
40
  set allowResize(val: boolean);
41
+ get renderedAllowResize(): boolean;
41
42
  get resizeStyle(): "none" | "both";
42
43
  getType(): string;
43
44
  afterRenderQuestionElement(el: HTMLElement): void;
@@ -45,6 +46,7 @@ export declare class QuestionCommentModel extends QuestionTextBase {
45
46
  beforeDestroyQuestionElement(el: HTMLElement): void;
46
47
  onInput(event: any): void;
47
48
  onKeyDown(event: any): void;
49
+ protected setQuestionValue(newValue: any, updateIsAnswered?: boolean): void;
48
50
  onValueChanged(): void;
49
51
  protected setNewValue(newValue: string): any;
50
52
  protected getValueSeparator(): string;
@@ -299,6 +299,8 @@ export declare class QuestionCustomModel extends QuestionCustomModelBase {
299
299
  protected setQuestionValue(newValue: any, updateIsAnswered?: boolean): void;
300
300
  onSurveyValueChanged(newValue: any): void;
301
301
  protected getValueCore(): any;
302
+ private isSettingValueChanged;
303
+ protected setValueChangedDirectly(val: boolean): void;
302
304
  protected initElement(el: SurveyElement): void;
303
305
  updateElementCss(reNew?: boolean): void;
304
306
  protected updateElementCssCore(cssClasses: any): void;
@@ -180,7 +180,7 @@ export declare class QuestionFileModel extends Question {
180
180
  get isPlayingVideo(): boolean;
181
181
  private setIsPlayingVideo;
182
182
  private updateCurrentMode;
183
- private updateActions;
183
+ private updateActionsVisibility;
184
184
  get inputTitle(): string;
185
185
  get chooseButtonText(): string;
186
186
  clear(doneCallback?: () => void): void;
@@ -218,6 +218,7 @@ export declare class QuestionFileModel extends Question {
218
218
  private allFilesOk;
219
219
  private isFileImage;
220
220
  getPlainData(options?: IPlainDataOptions): IQuestionPlainData;
221
+ getImageWrapperCss(data: any): string;
221
222
  protected getActionsContainerCss(css: any): string;
222
223
  getRemoveButtonCss(): string;
223
224
  getChooseFileCss(): string;
@@ -29,6 +29,7 @@ export declare class QuestionMatrixDropdownRenderedCell {
29
29
  isActionsCell: boolean;
30
30
  isErrorsCell: boolean;
31
31
  isDragHandlerCell: boolean;
32
+ isDetailRowCell: boolean;
32
33
  private classNameValue;
33
34
  constructor();
34
35
  get hasQuestion(): boolean;
@@ -56,6 +57,7 @@ export declare class QuestionMatrixDropdownRenderedRow extends Base {
56
57
  isGhostRow: boolean;
57
58
  isAdditionalClasses: boolean;
58
59
  visible: boolean;
60
+ hasEndActions: boolean;
59
61
  row: MatrixDropdownRowModelBase;
60
62
  isErrorsRow: boolean;
61
63
  private static counter;
@@ -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;
@@ -91,6 +91,11 @@ export declare class MultipleTextItemModel extends Base implements IValidatorOwn
91
91
  */
92
92
  get size(): number;
93
93
  set size(val: number);
94
+ /**
95
+ * An expression used to calculate the [defaultValue](https://surveyjs.io/form-library/documentation/question#defaultValue).
96
+ */
97
+ get defaultValueExpression(): string;
98
+ set defaultValueExpression(val: string);
94
99
  /**
95
100
  * The minimum value specified as an expression. For example, `"minValueExpression": "today(-1)"` sets the minimum value to yesterday.
96
101
  */
@@ -120,7 +120,7 @@ export declare class QuestionPanelDynamicModel extends Question implements IQues
120
120
  *
121
121
  * 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.
122
122
  *
123
- * [View Demo](/form-library/examples/tabbed-interface-for-duplicate-group-option/ (linkStyle))
123
+ * [View Demo](https://surveyjs.io/form-library/examples/tabbed-interface-for-duplicate-group-option/ (linkStyle))
124
124
  * @see templateTitle
125
125
  * @see renderMode
126
126
  */
@@ -409,7 +409,7 @@ export declare class QuestionPanelDynamicModel extends Question implements IQues
409
409
  * - `"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/)
410
410
  * - `"progressBottom"` - Renders each panel panel as a card and displays a progress bar at the bottom.
411
411
  * - `"progressTopBottom"` - Renders each panel as a card and displays a progress bar at the top and bottom.
412
- * - `"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/)
412
+ * - `"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/)
413
413
  */
414
414
  get renderMode(): string;
415
415
  set renderMode(val: string);
@@ -87,6 +87,8 @@ export declare class QuestionRankingModel extends QuestionCheckboxModel {
87
87
  */
88
88
  get selectToRankAreasLayout(): string;
89
89
  set selectToRankAreasLayout(val: string);
90
+ get renderedSelectToRankAreasLayout(): string;
91
+ isMobileMode(): boolean;
90
92
  selectToRankEmptyRankedAreaText: string;
91
93
  selectToRankEmptyUnrankedAreaText: string;
92
94
  get useFullItemSizeForShortcut(): boolean;
@@ -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
  get rateValues(): Array<any>;
63
63
  set rateValues(val: Array<any>);
@@ -66,7 +66,7 @@ export declare class QuestionRatingModel extends Question {
66
66
  *
67
67
  * Default value: 1
68
68
  *
69
- * [View Demo](/form-library/examples/rating-scale/ (linkStyle))
69
+ * [View Demo](https://surveyjs.io/form-library/examples/rating-scale/ (linkStyle))
70
70
  * @see rateMax
71
71
  * @see rateStep
72
72
  * @see rateCount
@@ -78,7 +78,7 @@ export declare class QuestionRatingModel extends Question {
78
78
  *
79
79
  * Default value: 5
80
80
  *
81
- * [View Demo](/form-library/examples/rating-scale/ (linkStyle))
81
+ * [View Demo](https://surveyjs.io/form-library/examples/rating-scale/ (linkStyle))
82
82
  * @see rateMin
83
83
  * @see rateStep
84
84
  * @see rateCount
@@ -90,7 +90,7 @@ export declare class QuestionRatingModel extends Question {
90
90
  *
91
91
  * Default value: 1
92
92
  *
93
- * [View Demo](/form-library/examples/rating-scale/ (linkStyle))
93
+ * [View Demo](https://surveyjs.io/form-library/examples/rating-scale/ (linkStyle))
94
94
  * @see rateMin
95
95
  * @see rateMax
96
96
  * @see rateCount
@@ -102,7 +102,7 @@ export declare class QuestionRatingModel extends Question {
102
102
  *
103
103
  * 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.
104
104
  *
105
- * [View Demo](/form-library/examples/rating-scale/ (linkStyle))
105
+ * [View Demo](https://surveyjs.io/form-library/examples/rating-scale/ (linkStyle))
106
106
  */
107
107
  rateCount: number;
108
108
  private static colorsCalculated;
@@ -171,7 +171,7 @@ export declare class QuestionRatingModel extends Question {
171
171
  * - `"dropdown"` - Displays rate values as items in a drop-down list.
172
172
  * - `"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.
173
173
  *
174
- * [View Demo](/form-library/examples/ui-adaptation-modes-for-rating-scale/ (linkStyle))
174
+ * [View Demo](https://surveyjs.io/form-library/examples/ui-adaptation-modes-for-rating-scale/ (linkStyle))
175
175
  * @see rateType
176
176
  */
177
177
  displayMode: "dropdown" | "buttons" | "auto";
@@ -184,7 +184,7 @@ export declare class QuestionRatingModel extends Question {
184
184
  * - `"stars"` - Displays rate values as stars.
185
185
  * - `"smileys"` - Displays rate values as smiley faces.
186
186
  *
187
- * [View Demo](/form-library/examples/rating-scale/ (linkStyle))
187
+ * [View Demo](https://surveyjs.io/form-library/examples/rating-scale/ (linkStyle))
188
188
  * @see scaleColorMode
189
189
  * @see rateColorMode
190
190
  * @see displayMode
@@ -200,7 +200,7 @@ export declare class QuestionRatingModel extends Question {
200
200
  * - `"monochrome"` (default) - Displays emojis in monochrome.
201
201
  * - `"colored"` - Displays emojis in color.
202
202
  *
203
- * [View Demo](/form-library/examples/rating-scale/ (linkStyle))
203
+ * [View Demo](https://surveyjs.io/form-library/examples/rating-scale/ (linkStyle))
204
204
  * @see rateColorMode
205
205
  */
206
206
  scaleColorMode: "monochrome" | "colored";
@@ -16,6 +16,13 @@ export declare class QuestionSignaturePadModel extends Question {
16
16
  afterRenderQuestionElement(el: HTMLElement): void;
17
17
  beforeDestroyQuestionElement(el: HTMLElement): void;
18
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;
19
26
  initSignaturePad(el: HTMLElement): void;
20
27
  destroySignaturePad(el: HTMLElement): void;
21
28
  /**
@@ -39,6 +46,29 @@ export declare class QuestionSignaturePadModel extends Question {
39
46
  */
40
47
  get signatureHeight(): number;
41
48
  set signatureHeight(val: number);
49
+ /**
50
+ * Specifies whether the signature area should be scaled to fit into the question width.
51
+ *
52
+ * Default value: `false`
53
+ *
54
+ * > The signature area is scaled only for display. The resulting image will have dimensions specified by the [`signatureHeight`](#signatureHeight) and [`signatureWidth`](#signatureWidth) properties.
55
+ */
56
+ signatureAutoScaleEnabled: boolean;
57
+ /**
58
+ * Speicifies the minimum width of pen strokes, measured in pixels.
59
+ *
60
+ * Default value: 0.5
61
+ */
62
+ penMinWidth: number;
63
+ /**
64
+ * Speicifies the maximum width of pen strokes, measured in pixels.
65
+ *
66
+ * Default value: 2.5
67
+ */
68
+ penMaxWidth: number;
69
+ private get containerHeight();
70
+ private get containerWidth();
71
+ get renderedCanvasWidth(): string;
42
72
  get height(): number;
43
73
  set height(val: number);
44
74
  /**
@@ -2,6 +2,7 @@ import { LocalizableString, LocalizableStrings } from "./localizablestring";
2
2
  import { HashTable } from "./helpers";
3
3
  import { SurveyError } from "./survey-error";
4
4
  import { QuestionTextBase } from "./question_textbase";
5
+ import { CssClassBuilder } from "./utils/cssClassBuilder";
5
6
  /**
6
7
  * A class that describes the Single-Line Input question type.
7
8
  *
@@ -115,6 +116,7 @@ export declare class QuestionTextModel extends QuestionTextBase {
115
116
  protected setNewValue(newValue: any): void;
116
117
  protected correctValueType(newValue: any): any;
117
118
  protected hasPlaceholder(): boolean;
119
+ protected getControlCssClassBuilder(): CssClassBuilder;
118
120
  isReadOnlyRenderDiv(): boolean;
119
121
  get inputStyle(): any;
120
122
  private _isWaitingForEnter;
@@ -1,4 +1,5 @@
1
1
  import { Question } from "./question";
2
+ import { CssClassBuilder } from "./utils/cssClassBuilder";
2
3
  import { LocalizableString } from "./localizablestring";
3
4
  import { Base } from "./base";
4
5
  import { ISurveyImpl } from "./base-interfaces";
@@ -59,6 +60,7 @@ export declare class QuestionTextBase extends Question {
59
60
  protected getValueSeparator(): string;
60
61
  disableNativeUndoRedo: boolean;
61
62
  protected checkForUndo(event: KeyboardEvent): void;
63
+ protected getControlCssClassBuilder(): CssClassBuilder;
62
64
  getControlClass(): string;
63
65
  get isNewA11yStructure(): boolean;
64
66
  }
@@ -17,4 +17,6 @@ export declare class QuestionNonValue extends Question {
17
17
  supportGoNextPageAutomatic(): boolean;
18
18
  addConditionObjectsByContext(objects: Array<IConditionObject>, context: any): void;
19
19
  getConditionJson(operator?: string, path?: string): any;
20
+ get ariaRole(): string;
21
+ get ariaRequired(): any;
20
22
  }
@@ -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 upload was successful or an error message if file upload 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 upload was successful or an error message if file upload failed.
527
527
  */
528
528
  callback: (status: string, data?: any) => any;
529
529
  /**
@@ -410,16 +410,16 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
410
410
  *
411
411
  * For information on event handler parameters, refer to descriptions within the interface.
412
412
  *
413
- * [View Demo](/form-library/examples/customize-survey-with-css/ (linkStyle))
413
+ * [View Demo](https://surveyjs.io/form-library/examples/customize-survey-with-css/ (linkStyle))
414
414
  * @see css
415
415
  */
416
416
  onUpdateQuestionCssClasses: EventBase<SurveyModel, UpdateQuestionCssClassesEvent>;
417
417
  /**
418
- * 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.
418
+ * 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.
419
419
  *
420
420
  * For information on event handler parameters, refer to descriptions within the interface.
421
421
  *
422
- * [View Demo](/form-library/examples/customize-survey-with-css/ (linkStyle))
422
+ * [View Demo](https://surveyjs.io/form-library/examples/customize-survey-with-css/ (linkStyle))
423
423
  * @see css
424
424
  */
425
425
  onUpdatePanelCssClasses: EventBase<SurveyModel, UpdatePanelCssClassesEvent>;
@@ -428,7 +428,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
428
428
  *
429
429
  * For information on event handler parameters, refer to descriptions within the interface.
430
430
  *
431
- * [View Demo](/form-library/examples/customize-survey-with-css/ (linkStyle))
431
+ * [View Demo](https://surveyjs.io/form-library/examples/customize-survey-with-css/ (linkStyle))
432
432
  * @see css
433
433
  */
434
434
  onUpdatePageCssClasses: EventBase<SurveyModel, UpdatePageCssClassesEvent>;
@@ -437,7 +437,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
437
437
  *
438
438
  * For information on event handler parameters, refer to descriptions within the interface.
439
439
  *
440
- * [View Demo](/form-library/examples/customize-survey-with-css/ (linkStyle))
440
+ * [View Demo](https://surveyjs.io/form-library/examples/customize-survey-with-css/ (linkStyle))
441
441
  * @see css
442
442
  */
443
443
  onUpdateChoiceItemCss: EventBase<SurveyModel, UpdateChoiceItemCssEvent>;
@@ -529,7 +529,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
529
529
  */
530
530
  onMatrixRowAdding: EventBase<SurveyModel, MatrixBeforeRowAddedEvent>;
531
531
  /**
532
- * This event is obsolete. Use the [`onMatrixRowAdding`](/form-library/documentation/api-reference/survey-data-model#onMatrixRowAdding) event instead.
532
+ * This event is obsolete. Use the [`onMatrixRowAdding`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onMatrixRowAdding) event instead.
533
533
  */
534
534
  onMatrixBeforeRowAdded: EventBase<SurveyModel, MatrixBeforeRowAddedEvent>;
535
535
  /**
@@ -549,7 +549,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
549
549
  */
550
550
  onMatrixRenderRemoveButton: EventBase<SurveyModel, MatrixAllowRemoveRowEvent>;
551
551
  /**
552
- * This event is obsolete. Use the [`onMatrixRenderRemoveButton`](/form-library/documentation/api-reference/survey-data-model#onMatrixRenderRemoveButton) event instead.
552
+ * This event is obsolete. Use the [`onMatrixRenderRemoveButton`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onMatrixRenderRemoveButton) event instead.
553
553
  */
554
554
  onMatrixAllowRemoveRow: EventBase<SurveyModel, MatrixAllowRemoveRowEvent>;
555
555
  /**
@@ -568,7 +568,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
568
568
  */
569
569
  onAfterRenderMatrixCell: EventBase<SurveyModel, MatrixAfterCellRenderEvent>;
570
570
  /**
571
- * This event is obsolete. Use the [`onAfterRenderMatrixCell`](/form-library/documentation/api-reference/survey-data-model#onAfterRenderMatrixCell) event instead.
571
+ * This event is obsolete. Use the [`onAfterRenderMatrixCell`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onAfterRenderMatrixCell) event instead.
572
572
  */
573
573
  onMatrixAfterCellRender: EventBase<SurveyModel, MatrixAfterCellRenderEvent>;
574
574
  /**
@@ -626,7 +626,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
626
626
  *
627
627
  * For information on event handler parameters, refer to descriptions within the interface.
628
628
  *
629
- * [View Demo](/form-library/examples/tabbed-interface-for-duplicate-group-option/ (linkStyle))
629
+ * [View Demo](https://surveyjs.io/form-library/examples/tabbed-interface-for-duplicate-group-option/ (linkStyle))
630
630
  */
631
631
  onGetDynamicPanelTabTitle: EventBase<SurveyModel, DynamicPanelGetTabTitleEvent>;
632
632
  /**
@@ -720,7 +720,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
720
720
  /**
721
721
  * Gets or sets an object in which keys are UI elements and values are CSS classes applied to them.
722
722
  *
723
- * [View Demo](/form-library/examples/customize-survey-with-css/ (linkStyle))
723
+ * [View Demo](https://surveyjs.io/form-library/examples/customize-survey-with-css/ (linkStyle))
724
724
  */
725
725
  get css(): any;
726
726
  set css(value: any);
@@ -2696,8 +2696,8 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
2696
2696
  /**
2697
2697
  * Applies a specified theme to the survey.
2698
2698
  *
2699
- * [Themes & Styles](/form-library/documentation/manage-default-themes-and-styles (linkStyle))
2700
- * @param theme An [`ITheme`](/form-library/documentation/api-reference/itheme) object with theme settings.
2699
+ * [Themes & Styles](https://surveyjs.io/form-library/documentation/manage-default-themes-and-styles (linkStyle))
2700
+ * @param theme An [`ITheme`](https://surveyjs.io/form-library/documentation/api-reference/itheme) object with theme settings.
2701
2701
  */
2702
2702
  applyTheme(theme: ITheme): void;
2703
2703
  themeChanged(theme: ITheme): void;
@@ -71,6 +71,8 @@ export declare var surveyStrings: {
71
71
  emptyRowsText: string;
72
72
  addPanel: string;
73
73
  removePanel: string;
74
+ showDetails: string;
75
+ hideDetails: string;
74
76
  choices_Item: string;
75
77
  matrix_column: string;
76
78
  matrix_row: string;
@@ -7,8 +7,15 @@ export declare class Camera {
7
7
  private static cameraFacingMode;
8
8
  private static canSwitchFacingMode;
9
9
  hasCamera(callback: (res: boolean) => void): void;
10
- getMediaConstraints(videoEl?: any): MediaStreamConstraints;
11
- startVideo(videoElementId: string, callback: (stream: MediaStream) => void, imageWidth?: string, imageHeight?: string): void;
10
+ getMediaConstraints(videoSize?: {
11
+ width?: number;
12
+ height?: number;
13
+ }): MediaStreamConstraints;
14
+ startVideo(videoElementId: string, callback: (stream: MediaStream) => void, imageWidth?: number, imageHeight?: number): void;
15
+ getImageSize(videoEl: HTMLVideoElement): {
16
+ width: number;
17
+ height: number;
18
+ };
12
19
  snap(videoElementId: string, callback: BlobCallback): boolean;
13
20
  private canFlipValue;
14
21
  private updateCanFlipValue;