survey-core 1.10.6 → 1.11.2

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 (283) hide show
  1. package/defaultV2.css +147 -19
  2. package/defaultV2.css.map +1 -1
  3. package/defaultV2.fontless.css +147 -19
  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 +1 -1
  24. package/i18n/english.min.js +1 -1
  25. package/i18n/estonian.js +1 -1
  26. package/i18n/estonian.min.js +1 -1
  27. package/i18n/finnish.js +1 -1
  28. package/i18n/finnish.min.js +1 -1
  29. package/i18n/french.js +1 -1
  30. package/i18n/french.min.js +1 -1
  31. package/i18n/georgian.js +1 -1
  32. package/i18n/georgian.min.js +1 -1
  33. package/i18n/german.js +1 -1
  34. package/i18n/german.min.js +1 -1
  35. package/i18n/greek.js +1 -1
  36. package/i18n/greek.min.js +1 -1
  37. package/i18n/hebrew.js +1 -1
  38. package/i18n/hebrew.min.js +1 -1
  39. package/i18n/hindi.js +1 -1
  40. package/i18n/hindi.min.js +1 -1
  41. package/i18n/hungarian.js +1 -1
  42. package/i18n/hungarian.min.js +1 -1
  43. package/i18n/icelandic.js +1 -1
  44. package/i18n/icelandic.min.js +1 -1
  45. package/i18n/index.js +1 -1
  46. package/i18n/index.min.js +1 -1
  47. package/i18n/indonesian.js +1 -1
  48. package/i18n/indonesian.min.js +1 -1
  49. package/i18n/italian.js +1 -1
  50. package/i18n/italian.min.js +1 -1
  51. package/i18n/japanese.js +1 -1
  52. package/i18n/japanese.min.js +1 -1
  53. package/i18n/kazakh.js +1 -1
  54. package/i18n/kazakh.min.js +1 -1
  55. package/i18n/korean.js +1 -1
  56. package/i18n/korean.min.js +1 -1
  57. package/i18n/latvian.js +1 -1
  58. package/i18n/latvian.min.js +1 -1
  59. package/i18n/lithuanian.js +1 -1
  60. package/i18n/lithuanian.min.js +1 -1
  61. package/i18n/macedonian.js +1 -1
  62. package/i18n/macedonian.min.js +1 -1
  63. package/i18n/malay.js +1 -1
  64. package/i18n/malay.min.js +1 -1
  65. package/i18n/nl-BE.js +1 -1
  66. package/i18n/nl-BE.min.js +1 -1
  67. package/i18n/norwegian.js +1 -1
  68. package/i18n/norwegian.min.js +1 -1
  69. package/i18n/persian.js +1 -1
  70. package/i18n/persian.min.js +1 -1
  71. package/i18n/philippines.js +1 -1
  72. package/i18n/philippines.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 +77 -9
  114. package/modern.css.map +1 -1
  115. package/modern.fontless.css +77 -9
  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 +1083 -453
  125. package/survey.core.js.map +1 -1
  126. package/survey.core.min.js +3 -3
  127. package/survey.css +17 -1
  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/actions/action.d.ts +18 -0
  215. package/ts3.4/typings/actions/adaptive-container.d.ts +0 -1
  216. package/ts3.4/typings/actions/container.d.ts +4 -0
  217. package/ts3.4/typings/base-interfaces.d.ts +1 -1
  218. package/ts3.4/typings/base.d.ts +7 -0
  219. package/ts3.4/typings/defaultCss/defaultV2Css.d.ts +2 -0
  220. package/ts3.4/typings/dragdrop/ranking-choices.d.ts +7 -1
  221. package/ts3.4/typings/dragdrop/ranking-select-to-rank.d.ts +0 -9
  222. package/ts3.4/typings/functionsfactory.d.ts +3 -3
  223. package/ts3.4/typings/list.d.ts +9 -1
  224. package/ts3.4/typings/panel.d.ts +1 -1
  225. package/ts3.4/typings/popup-dropdown-view-model.d.ts +6 -3
  226. package/ts3.4/typings/popup-view-model.d.ts +2 -1
  227. package/ts3.4/typings/popup.d.ts +2 -0
  228. package/ts3.4/typings/question.d.ts +6 -2
  229. package/ts3.4/typings/question_baseselect.d.ts +2 -0
  230. package/ts3.4/typings/question_boolean.d.ts +2 -0
  231. package/ts3.4/typings/question_file.d.ts +2 -1
  232. package/ts3.4/typings/question_matrix.d.ts +4 -0
  233. package/ts3.4/typings/question_matrixdropdown.d.ts +3 -0
  234. package/ts3.4/typings/question_matrixdropdownbase.d.ts +2 -0
  235. package/ts3.4/typings/question_matrixdropdownrendered.d.ts +0 -1
  236. package/ts3.4/typings/question_matrixdynamic.d.ts +4 -5
  237. package/ts3.4/typings/question_paneldynamic.d.ts +2 -4
  238. package/ts3.4/typings/question_ranking.d.ts +13 -5
  239. package/ts3.4/typings/question_text.d.ts +1 -0
  240. package/ts3.4/typings/question_textbase.d.ts +1 -1
  241. package/ts3.4/typings/questionfactory.d.ts +5 -3
  242. package/ts3.4/typings/survey-element.d.ts +3 -1
  243. package/ts3.4/typings/survey-events-api.d.ts +12 -0
  244. package/ts3.4/typings/survey.d.ts +7 -3
  245. package/ts3.4/typings/surveyToc.d.ts +4 -0
  246. package/ts3.4/typings/utils/animation.d.ts +33 -19
  247. package/ts3.4/typings/utils/popup.d.ts +16 -4
  248. package/ts3.4/typings/utils/utils.d.ts +9 -0
  249. package/typings/actions/action.d.ts +18 -0
  250. package/typings/actions/adaptive-container.d.ts +0 -1
  251. package/typings/actions/container.d.ts +4 -0
  252. package/typings/base-interfaces.d.ts +1 -1
  253. package/typings/base.d.ts +7 -0
  254. package/typings/defaultCss/defaultV2Css.d.ts +2 -0
  255. package/typings/dragdrop/ranking-choices.d.ts +7 -1
  256. package/typings/dragdrop/ranking-select-to-rank.d.ts +0 -9
  257. package/typings/functionsfactory.d.ts +3 -3
  258. package/typings/list.d.ts +9 -1
  259. package/typings/panel.d.ts +1 -1
  260. package/typings/popup-dropdown-view-model.d.ts +6 -3
  261. package/typings/popup-view-model.d.ts +2 -1
  262. package/typings/popup.d.ts +2 -0
  263. package/typings/question.d.ts +6 -2
  264. package/typings/question_baseselect.d.ts +2 -0
  265. package/typings/question_boolean.d.ts +2 -0
  266. package/typings/question_file.d.ts +2 -1
  267. package/typings/question_matrix.d.ts +4 -0
  268. package/typings/question_matrixdropdown.d.ts +3 -0
  269. package/typings/question_matrixdropdownbase.d.ts +2 -0
  270. package/typings/question_matrixdropdownrendered.d.ts +0 -1
  271. package/typings/question_matrixdynamic.d.ts +4 -5
  272. package/typings/question_paneldynamic.d.ts +2 -2
  273. package/typings/question_ranking.d.ts +18 -9
  274. package/typings/question_text.d.ts +1 -0
  275. package/typings/question_textbase.d.ts +1 -1
  276. package/typings/questionfactory.d.ts +5 -3
  277. package/typings/survey-element.d.ts +3 -1
  278. package/typings/survey-events-api.d.ts +12 -0
  279. package/typings/survey.d.ts +7 -3
  280. package/typings/surveyToc.d.ts +4 -0
  281. package/typings/utils/animation.d.ts +31 -10
  282. package/typings/utils/popup.d.ts +16 -4
  283. package/typings/utils/utils.d.ts +9 -0
@@ -1,6 +1,5 @@
1
1
  import { ISurveyImpl } from "./base-interfaces";
2
2
  import { DragDropRankingChoices } from "./dragdrop/ranking-choices";
3
- import { DragDropRankingSelectToRank } from "./dragdrop/ranking-select-to-rank";
4
3
  import { ItemValue } from "./itemvalue";
5
4
  import { QuestionCheckboxModel } from "./question_checkbox";
6
5
  import { AnimationGroup } from "./utils/animation";
@@ -30,28 +29,34 @@ export declare class QuestionRankingModel extends QuestionCheckboxModel {
30
29
  isAnswerCorrect(): boolean;
31
30
  get requireStrictCompare(): boolean;
32
31
  onSurveyValueChanged(newValue: any): void;
32
+ onSurveyLoad(): void;
33
33
  protected onVisibleChoicesChanged: () => void;
34
34
  localeChanged: () => void;
35
35
  private addToValueByVisibleChoices;
36
36
  private removeFromValueByVisibleChoices;
37
- private getChoicesAnimation;
37
+ private getChoicesAnimationOptions;
38
38
  private _rankingChoicesAnimation;
39
39
  get rankingChoicesAnimation(): AnimationGroup<ItemValue>;
40
40
  private _unRankingChoicesAnimation;
41
41
  get unRankingChoicesAnimation(): AnimationGroup<ItemValue>;
42
- get rankingChoices(): Array<ItemValue>;
43
- set rankingChoices(val: Array<ItemValue>);
44
- get unRankingChoices(): Array<ItemValue>;
45
- set unRankingChoices(val: Array<ItemValue>);
42
+ rankingChoices: Array<ItemValue>;
43
+ unRankingChoices: Array<ItemValue>;
44
+ private _renderedRankingChoices;
45
+ private _renderedUnRankingChoices;
46
+ get renderedRankingChoices(): Array<ItemValue>;
47
+ set renderedRankingChoices(val: Array<ItemValue>);
48
+ get renderedUnRankingChoices(): Array<ItemValue>;
49
+ set renderedUnRankingChoices(val: Array<ItemValue>);
50
+ private updateRenderedRankingChoices;
51
+ private updateRenderedUnRankingChoices;
46
52
  private updateRankingChoices;
47
53
  updateUnRankingChoices(newRankingChoices: Array<ItemValue>): void;
48
54
  private updateRankingChoicesSelectToRankMode;
49
55
  dragDropRankingChoices: DragDropRankingChoices;
50
56
  currentDropTarget: ItemValue;
51
- dropTargetNodeMove: string;
52
57
  endLoadingFromJson(): void;
53
58
  private setDragDropRankingChoices;
54
- protected createDragDropRankingChoices(): DragDropRankingChoices | DragDropRankingSelectToRank;
59
+ protected createDragDropRankingChoices(): DragDropRankingChoices;
55
60
  private draggedChoise;
56
61
  private draggedTargetNode;
57
62
  handlePointerDown: (event: PointerEvent, choice: ItemValue, node: HTMLElement) => void;
@@ -70,7 +75,6 @@ export declare class QuestionRankingModel extends QuestionCheckboxModel {
70
75
  supportNone(): boolean;
71
76
  supportRefuse(): boolean;
72
77
  supportDontKnow(): boolean;
73
- private handleArrowKeys;
74
78
  handleKeydownSelectToRank(event: KeyboardEvent, movedElement: ItemValue, hardKey?: string, isNeedFocus?: boolean): void;
75
79
  private setValueAfterKeydown;
76
80
  private focusItem;
@@ -87,6 +91,11 @@ export declare class QuestionRankingModel extends QuestionCheckboxModel {
87
91
  */
88
92
  get longTap(): boolean;
89
93
  set longTap(val: boolean);
94
+ /**
95
+ * The name of a component used to render items.
96
+ */
97
+ get itemContentComponent(): string;
98
+ set itemContentComponent(value: string);
90
99
  /**
91
100
  * Specifies whether users can select choices they want to rank.
92
101
  *
@@ -153,6 +153,7 @@ export declare class QuestionTextModel extends QuestionTextBase {
153
153
  get step(): string;
154
154
  set step(val: string);
155
155
  get renderedStep(): string;
156
+ protected getIsInputTextUpdate(): boolean;
156
157
  supportGoNextPageAutomatic(): boolean;
157
158
  supportGoNextPageError(): boolean;
158
159
  /**
@@ -45,7 +45,7 @@ export declare class QuestionTextBase extends Question {
45
45
  */
46
46
  get textUpdateMode(): string;
47
47
  set textUpdateMode(val: string);
48
- get isSurveyInputTextUpdate(): boolean;
48
+ protected getIsInputTextUpdate(): boolean;
49
49
  get renderedPlaceholder(): string;
50
50
  protected setRenderedPlaceholder(val: string): void;
51
51
  protected onReadOnlyChanged(): void;
@@ -6,7 +6,7 @@ export declare class QuestionFactory {
6
6
  static get DefaultColums(): string[];
7
7
  static get DefaultRows(): string[];
8
8
  static get DefaultMutlipleTextItems(): string[];
9
- registerQuestion(questionType: string, questionCreator: (name: string) => Question): void;
9
+ registerQuestion(questionType: string, questionCreator: (name: string) => Question, showInToolbox?: boolean): void;
10
10
  registerCustomQuestion(questionType: string): void;
11
11
  unregisterElement(elementType: string, removeFromSerializer?: boolean): void;
12
12
  clear(): void;
@@ -16,10 +16,12 @@ export declare class QuestionFactory {
16
16
  export declare class ElementFactory {
17
17
  static Instance: ElementFactory;
18
18
  private creatorHash;
19
- registerElement(elementType: string, elementCreator: (name: string) => IElement): void;
20
- registerCustomQuestion: (questionType: string) => void;
19
+ registerElement(elementType: string, elementCreator: (name: string) => IElement, showInToolbox?: boolean): void;
20
+ registerCustomQuestion: (questionType: string, showInToolbox?: boolean) => void;
21
21
  clear(): void;
22
22
  unregisterElement(elementType: string, removeFromSerializer?: boolean): void;
23
+ getAllToolboxTypes(): Array<string>;
23
24
  getAllTypes(): Array<string>;
24
25
  createElement(elementType: string, name: string): IElement;
26
+ private getAllTypesCore;
25
27
  }
@@ -83,7 +83,7 @@ export declare class SurveyElement<E = any> extends SurveyElementCore implements
83
83
  dragTypeOverMe: DragTypeOverMeEnum;
84
84
  isDragMe: boolean;
85
85
  readOnlyChangedCallback: () => void;
86
- static ScrollElementToTop(elementId: string, scrollIfVisible?: boolean): boolean;
86
+ static ScrollElementToTop(elementId: string, scrollIfVisible?: boolean, scrollIntoViewOptions?: ScrollIntoViewOptions): boolean;
87
87
  static ScrollElementToViewCore(el: HTMLElement, checkLeft: boolean, scrollIfVisible?: boolean, scrollIntoViewOptions?: ScrollIntoViewOptions): boolean;
88
88
  static GetFirstNonTextElement(elements: any, removeSpaces?: boolean): any;
89
89
  static FocusElement(elementId: string): boolean;
@@ -412,7 +412,9 @@ export declare class SurveyElement<E = any> extends SurveyElementCore implements
412
412
  private _isAnimatingCollapseExpand;
413
413
  private set isAnimatingCollapseExpand(value);
414
414
  private get isAnimatingCollapseExpand();
415
+ protected onElementExpanded(elementIsRendered: boolean): void;
415
416
  private getExpandCollapseAnimationOptions;
417
+ private get isExpandCollapseAnimationEnabled();
416
418
  private animationCollapsed;
417
419
  set renderedIsExpanded(val: boolean);
418
420
  get renderedIsExpanded(): boolean;
@@ -1035,3 +1035,15 @@ export interface PopupVisibleChangedEvent extends QuestionEventMixin {
1035
1035
  */
1036
1036
  visible: boolean;
1037
1037
  }
1038
+ export interface ElementWrapperComponentEventMixin {
1039
+ element: any;
1040
+ wrapperName: string;
1041
+ reason?: string;
1042
+ item?: ItemValue;
1043
+ }
1044
+ export interface ElementWrapperComponentNameEvent extends ElementWrapperComponentEventMixin {
1045
+ componentName: string;
1046
+ }
1047
+ export interface ElementWrapperComponentDataEvent extends ElementWrapperComponentEventMixin {
1048
+ data: any;
1049
+ }
@@ -18,7 +18,7 @@ import { IAction, Action } from "./actions/action";
18
18
  import { ActionContainer } from "./actions/container";
19
19
  import { QuestionPanelDynamicModel } from "./question_paneldynamic";
20
20
  import { Notifier } from "./notifier";
21
- import { TriggerExecutedEvent, CompletingEvent, CompleteEvent, ShowingPreviewEvent, NavigateToUrlEvent, CurrentPageChangingEvent, CurrentPageChangedEvent, ValueChangingEvent, ValueChangedEvent, VariableChangedEvent, QuestionVisibleChangedEvent, PageVisibleChangedEvent, PanelVisibleChangedEvent, QuestionCreatedEvent, QuestionAddedEvent, QuestionRemovedEvent, PanelAddedEvent, PanelRemovedEvent, PageAddedEvent, ValidateQuestionEvent, SettingQuestionErrorsEvent, ValidatePanelEvent, ErrorCustomTextEvent, ValidatedErrorsOnCurrentPageEvent, ProcessHtmlEvent, GetQuestionTitleEvent, GetTitleTagNameEvent, GetQuestionNoEvent, ProgressTextEvent, TextMarkdownEvent, TextRenderAsEvent, SendResultEvent, GetResultEvent, UploadFilesEvent, DownloadFileEvent, ClearFilesEvent, LoadChoicesFromServerEvent, ProcessTextValueEvent, UpdateQuestionCssClassesEvent, UpdatePanelCssClassesEvent, UpdatePageCssClassesEvent, UpdateChoiceItemCssEvent, AfterRenderSurveyEvent, AfterRenderHeaderEvent, AfterRenderPageEvent, AfterRenderQuestionEvent, AfterRenderQuestionInputEvent, AfterRenderPanelEvent, FocusInQuestionEvent, FocusInPanelEvent, ShowingChoiceItemEvent, ChoicesLazyLoadEvent, GetChoiceDisplayValueEvent, MatrixRowAddedEvent, MatrixBeforeRowAddedEvent, MatrixRowRemovingEvent, MatrixRowRemovedEvent, MatrixAllowRemoveRowEvent, MatrixDetailPanelVisibleChangedEvent, MatrixCellCreatingEvent, MatrixCellCreatedEvent, MatrixAfterCellRenderEvent, MatrixCellValueChangedEvent, MatrixCellValueChangingEvent, MatrixCellValidateEvent, DynamicPanelModifiedEvent, DynamicPanelRemovingEvent, TimerPanelInfoTextEvent, DynamicPanelItemValueChangedEvent, DynamicPanelGetTabTitleEvent, DynamicPanelCurrentIndexChangedEvent, IsAnswerCorrectEvent, DragDropAllowEvent, ScrollingElementToTopEvent, GetQuestionTitleActionsEvent, GetPanelTitleActionsEvent, GetPageTitleActionsEvent, GetPanelFooterActionsEvent, GetMatrixRowActionsEvent, ElementContentVisibilityChangedEvent, GetExpressionDisplayValueEvent, ServerValidateQuestionsEvent, MultipleTextItemAddedEvent, MatrixColumnAddedEvent, GetQuestionDisplayValueEvent, PopupVisibleChangedEvent, ChoicesSearchEvent, OpenFileChooserEvent } from "./survey-events-api";
21
+ import { TriggerExecutedEvent, CompletingEvent, CompleteEvent, ShowingPreviewEvent, NavigateToUrlEvent, CurrentPageChangingEvent, CurrentPageChangedEvent, ValueChangingEvent, ValueChangedEvent, VariableChangedEvent, QuestionVisibleChangedEvent, PageVisibleChangedEvent, PanelVisibleChangedEvent, QuestionCreatedEvent, QuestionAddedEvent, QuestionRemovedEvent, PanelAddedEvent, PanelRemovedEvent, PageAddedEvent, ValidateQuestionEvent, SettingQuestionErrorsEvent, ValidatePanelEvent, ErrorCustomTextEvent, ValidatedErrorsOnCurrentPageEvent, ProcessHtmlEvent, GetQuestionTitleEvent, GetTitleTagNameEvent, GetQuestionNoEvent, ProgressTextEvent, TextMarkdownEvent, TextRenderAsEvent, SendResultEvent, GetResultEvent, UploadFilesEvent, DownloadFileEvent, ClearFilesEvent, LoadChoicesFromServerEvent, ProcessTextValueEvent, UpdateQuestionCssClassesEvent, UpdatePanelCssClassesEvent, UpdatePageCssClassesEvent, UpdateChoiceItemCssEvent, AfterRenderSurveyEvent, AfterRenderHeaderEvent, AfterRenderPageEvent, AfterRenderQuestionEvent, AfterRenderQuestionInputEvent, AfterRenderPanelEvent, FocusInQuestionEvent, FocusInPanelEvent, ShowingChoiceItemEvent, ChoicesLazyLoadEvent, GetChoiceDisplayValueEvent, MatrixRowAddedEvent, MatrixBeforeRowAddedEvent, MatrixRowRemovingEvent, MatrixRowRemovedEvent, MatrixAllowRemoveRowEvent, MatrixDetailPanelVisibleChangedEvent, MatrixCellCreatingEvent, MatrixCellCreatedEvent, MatrixAfterCellRenderEvent, MatrixCellValueChangedEvent, MatrixCellValueChangingEvent, MatrixCellValidateEvent, DynamicPanelModifiedEvent, DynamicPanelRemovingEvent, TimerPanelInfoTextEvent, DynamicPanelItemValueChangedEvent, DynamicPanelGetTabTitleEvent, DynamicPanelCurrentIndexChangedEvent, IsAnswerCorrectEvent, DragDropAllowEvent, ScrollingElementToTopEvent, GetQuestionTitleActionsEvent, GetPanelTitleActionsEvent, GetPageTitleActionsEvent, GetPanelFooterActionsEvent, GetMatrixRowActionsEvent, ElementContentVisibilityChangedEvent, GetExpressionDisplayValueEvent, ServerValidateQuestionsEvent, MultipleTextItemAddedEvent, MatrixColumnAddedEvent, GetQuestionDisplayValueEvent, PopupVisibleChangedEvent, ChoicesSearchEvent, OpenFileChooserEvent, ElementWrapperComponentNameEvent, ElementWrapperComponentDataEvent } from "./survey-events-api";
22
22
  import { QuestionMatrixDropdownModelBase } from "./question_matrixdropdownbase";
23
23
  import { QuestionMatrixDynamicModel } from "./question_matrixdynamic";
24
24
  import { QuestionFileModel } from "./question_file";
@@ -716,6 +716,8 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
716
716
  * An event that is raised after the visibility of a popup is changed. This event can be raised for [Single-](https://surveyjs.io/form-library/documentation/api-reference/dropdown-menu-model) and [Multi-Select Dropdown](https://surveyjs.io/form-library/documentation/api-reference/dropdown-tag-box-model) questions and [Rating](https://surveyjs.io/form-library/documentation/api-reference/rating-scale-question-model) questions [rendered as drop-down menus](https://surveyjs.io/form-library/documentation/api-reference/rating-scale-question-model#displayMode).
717
717
  */
718
718
  onPopupVisibleChanged: EventBase<SurveyModel, PopupVisibleChangedEvent>;
719
+ onElementWrapperComponentName: EventBase<SurveyModel, ElementWrapperComponentNameEvent>;
720
+ onElementWrapperComponentData: EventBase<SurveyModel, ElementWrapperComponentDataEvent>;
719
721
  constructor(jsonObj?: any, renderedElement?: any);
720
722
  processClosedPopup(question: IQuestion, popupModel: PopupModel<any>): void;
721
723
  protected createTryAgainAction(): IAction;
@@ -2179,7 +2181,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
2179
2181
  private getUpdatedPanelTitleActions;
2180
2182
  private getUpdatedPageTitleActions;
2181
2183
  getUpdatedMatrixRowActions(question: QuestionMatrixDropdownModelBase, row: any, actions: Array<IAction>): IAction[];
2182
- scrollElementToTop(element: ISurveyElement, question: Question, page: PageModel, id: string, scrollIfVisible?: boolean): any;
2184
+ scrollElementToTop(element: ISurveyElement, question: Question, page: PageModel, id: string, scrollIfVisible?: boolean, scrollIntoViewOptions?: ScrollIntoViewOptions): any;
2183
2185
  /**
2184
2186
  * Opens a dialog window for users to select files.
2185
2187
  * @param input A [file input HTML element](https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement).
@@ -2777,12 +2779,14 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
2777
2779
  focusQuestionByInstance(question: Question, onError?: boolean): boolean;
2778
2780
  private focusQuestionInfo;
2779
2781
  questionEditFinishCallback(question: Question, event: any): void;
2782
+ private elementWrapperComponentNameCore;
2783
+ private elementWrapperDataCore;
2780
2784
  getElementWrapperComponentName(element: any, reason?: string): string;
2781
2785
  getQuestionContentWrapperComponentName(element: any): string;
2782
2786
  getRowWrapperComponentName(row: QuestionRowModel): string;
2787
+ getItemValueWrapperComponentName(item: ItemValue, question: QuestionSelectBase): string;
2783
2788
  getElementWrapperComponentData(element: any, reason?: string): any;
2784
2789
  getRowWrapperComponentData(row: QuestionRowModel): any;
2785
- getItemValueWrapperComponentName(item: ItemValue, question: QuestionSelectBase): string;
2786
2790
  getItemValueWrapperComponentData(item: ItemValue, question: QuestionSelectBase): any;
2787
2791
  getMatrixCellTemplateData(cell: any): any;
2788
2792
  searchText(text: string): Array<IFindElement>;
@@ -8,7 +8,11 @@ export declare function createTOCListModel(survey: SurveyModel, onAction?: () =>
8
8
  export declare function getTocRootCss(survey: SurveyModel, isMobile?: boolean): string;
9
9
  export declare class TOCModel {
10
10
  survey: SurveyModel;
11
+ static RootStyle: string;
12
+ static StickyPosition: boolean;
11
13
  constructor(survey: SurveyModel);
14
+ private initStickyTOCSubscriptions;
15
+ updateStickyTOCSize(rootElement: HTMLElement): void;
12
16
  get isMobile(): boolean;
13
17
  get containerCss(): string;
14
18
  listModel: ListModel<Action>;
@@ -1,13 +1,27 @@
1
+ import { EventBase, Base } from "../base";
1
2
  export interface AnimationOptions {
2
3
  cssClass: string;
3
4
  onBeforeRunAnimation?: (element: HTMLElement) => void;
4
5
  onAfterRunAnimation?: (element: HTMLElement) => void;
5
6
  }
6
7
  export interface IAnimationConsumer<T extends Array<any> = []> {
7
- getLeaveOptions(...args: T): AnimationOptions;
8
- getEnterOptions(...args: T): AnimationOptions;
8
+ getLeaveOptions?(...args: T): AnimationOptions;
9
+ getEnterOptions?(...args: T): AnimationOptions;
9
10
  getAnimatedElement(...args: T): HTMLElement;
10
11
  isAnimationEnabled(): boolean;
12
+ getRerenderEvent(): EventBase<Base>;
13
+ }
14
+ interface IGroupAnimationInfo {
15
+ isReorderingRunning: boolean;
16
+ isDeletingRunning: boolean;
17
+ isAddingRunning: boolean;
18
+ }
19
+ export interface IAnimationGroupConsumer<T> extends IAnimationConsumer<[T]> {
20
+ getLeaveOptions?(item: T, info?: IGroupAnimationInfo): AnimationOptions;
21
+ getEnterOptions?(item: T, info?: IGroupAnimationInfo): AnimationOptions;
22
+ getReorderOptions?(item: T, movedForward: boolean, info?: IGroupAnimationInfo): AnimationOptions;
23
+ getKey?: (item: T) => any;
24
+ allowSyncRemovalAddition?: boolean;
11
25
  }
12
26
  export declare class AnimationUtils {
13
27
  private getMsFromRule;
@@ -18,11 +32,12 @@ export declare class AnimationUtils {
18
32
  private addCancelCallback;
19
33
  private removeCancelCallback;
20
34
  protected onAnimationEnd(element: HTMLElement, callback: (isCancel?: boolean) => void, options: AnimationOptions): void;
35
+ protected afterAnimationRun(element: HTMLElement, options: AnimationOptions | AnimationOptions): void;
21
36
  protected beforeAnimationRun(element: HTMLElement, options: AnimationOptions | AnimationOptions): void;
22
37
  private getCssClasses;
23
38
  protected runAnimation(element: HTMLElement, options: AnimationOptions, callback: (isCancel?: boolean) => void): void;
24
39
  protected clearHtmlElement(element: HTMLElement, options: AnimationOptions): void;
25
- protected onNextRender(callback: () => void, runEarly?: () => boolean, isCancel?: boolean): void;
40
+ protected onNextRender(callback: (isCancel?: boolean) => void, isCancel?: boolean): void;
26
41
  cancel(): void;
27
42
  }
28
43
  export declare class AnimationPropertyUtils extends AnimationUtils {
@@ -30,30 +45,36 @@ export declare class AnimationPropertyUtils extends AnimationUtils {
30
45
  onLeave(options: IAnimationConsumer, callback: () => void): void;
31
46
  }
32
47
  export declare class AnimationGroupUtils<T> extends AnimationUtils {
33
- runGroupAnimation(options: IAnimationConsumer<[T]>, addedElements: Array<T>, removedElements: Array<T>, callback?: () => void): void;
48
+ runGroupAnimation(options: IAnimationGroupConsumer<T>, addedItems: Array<T>, removedItems: Array<T>, reorderedItems: Array<{
49
+ item: T;
50
+ movedForward: boolean;
51
+ }>, callback?: () => void): void;
34
52
  }
35
- export declare abstract class AnimationProperty<T, S extends Array<any> = []> {
36
- protected animationOptions: IAnimationConsumer<S>;
53
+ export declare abstract class AnimationProperty<T, S extends IAnimationConsumer<any> = IAnimationConsumer> {
54
+ protected animationOptions: S;
37
55
  protected update: (val: T, isTempUpdate?: boolean) => void;
38
56
  protected getCurrentValue: () => T;
39
- constructor(animationOptions: IAnimationConsumer<S>, update: (val: T, isTempUpdate?: boolean) => void, getCurrentValue: () => T);
57
+ constructor(animationOptions: S, update: (val: T, isTempUpdate?: boolean) => void, getCurrentValue: () => T);
40
58
  protected animation: AnimationUtils;
59
+ protected onNextRender(callback: () => void, onCancel?: () => void): void;
41
60
  protected abstract _sync(newValue: T): void;
42
61
  private _debouncedSync;
43
62
  sync(newValue: T): void;
63
+ private cancelCallback;
44
64
  cancel(): void;
45
65
  }
46
66
  export declare class AnimationBoolean extends AnimationProperty<boolean> {
47
67
  protected animation: AnimationPropertyUtils;
48
68
  protected _sync(newValue: boolean): void;
49
69
  }
50
- export declare class AnimationGroup<T> extends AnimationProperty<Array<T>, [T]> {
70
+ export declare class AnimationGroup<T> extends AnimationProperty<Array<T>, IAnimationGroupConsumer<T>> {
51
71
  protected animation: AnimationGroupUtils<T>;
52
72
  protected _sync(newValue: Array<T>): void;
53
73
  }
54
- export declare class AnimationTab<T> extends AnimationProperty<Array<T>, [T]> {
74
+ export declare class AnimationTab<T> extends AnimationProperty<Array<T>, IAnimationGroupConsumer<T>> {
55
75
  protected mergeValues?: (newValue: Array<T>, oldValue: Array<T>) => Array<T>;
56
76
  protected animation: AnimationGroupUtils<T>;
57
- constructor(animationOptions: IAnimationConsumer<[T]>, update: (val: Array<T>, isTempUpdate?: boolean) => void, getCurrentValue: () => Array<T>, mergeValues?: (newValue: Array<T>, oldValue: Array<T>) => Array<T>);
77
+ constructor(animationOptions: IAnimationGroupConsumer<T>, update: (val: Array<T>, isTempUpdate?: boolean) => void, getCurrentValue: () => Array<T>, mergeValues?: (newValue: Array<T>, oldValue: Array<T>) => Array<T>);
58
78
  protected _sync(newValue: [T]): void;
59
79
  }
80
+ export {};
@@ -13,10 +13,21 @@ export interface ISize {
13
13
  width: number;
14
14
  height: number;
15
15
  }
16
+ export declare class Rect implements ISize, INumberPosition {
17
+ private x;
18
+ private y;
19
+ width: number;
20
+ height: number;
21
+ constructor(x: number, y: number, width: number, height: number);
22
+ get left(): number;
23
+ get top(): number;
24
+ get right(): number;
25
+ get bottom(): number;
26
+ }
16
27
  export declare class PopupUtils {
17
28
  static bottomIndent: number;
18
- static calculatePosition(targetRect: ClientRect, height: number, width: number, verticalPosition: VerticalPosition, horizontalPosition: HorizontalPosition, showPointer: boolean, positionMode?: PositionMode): INumberPosition;
19
- static getCorrectedVerticalDimensions(top: number, height: number, windowHeight: number, verticalPosition: VerticalPosition): any;
29
+ static calculatePosition(targetRect: Rect, height: number, width: number, verticalPosition: VerticalPosition, horizontalPosition: HorizontalPosition, positionMode?: PositionMode): INumberPosition;
30
+ static getCorrectedVerticalDimensions(top: number, height: number, windowHeight: number, verticalPosition: VerticalPosition, canShrink?: boolean): any;
20
31
  static updateHorizontalDimensions(left: number, width: number, windowWidth: number, horizontalPosition: HorizontalPosition, positionMode?: PositionMode, margins?: {
21
32
  left: number;
22
33
  right: number;
@@ -24,7 +35,8 @@ export declare class PopupUtils {
24
35
  width: number;
25
36
  left: number;
26
37
  };
27
- static updateVerticalPosition(targetRect: ClientRect, height: number, verticalPosition: VerticalPosition, showPointer: boolean, windowHeight: number): VerticalPosition;
38
+ static updateVerticalPosition(targetRect: Rect, height: number, horizontalPosition: HorizontalPosition, verticalPosition: VerticalPosition, windowHeight: number): VerticalPosition;
39
+ static updateHorizontalPosition(targetRect: Rect, width: number, horizontalPosition: HorizontalPosition, windowWidth: number): HorizontalPosition;
28
40
  static calculatePopupDirection(verticalPosition: VerticalPosition, horizontalPosition: HorizontalPosition): string;
29
- static calculatePointerTarget(targetRect: ClientRect, top: number, left: number, verticalPosition: VerticalPosition, horizontalPosition: HorizontalPosition, marginLeft?: number, marginRight?: number): INumberPosition;
41
+ static calculatePointerTarget(targetRect: Rect, top: number, left: number, verticalPosition: VerticalPosition, horizontalPosition: HorizontalPosition, marginLeft?: number, marginRight?: number): INumberPosition;
30
42
  }
@@ -44,4 +44,13 @@ export declare class Logger {
44
44
  export declare function showConfirmDialog(message: string, callback: (res: boolean) => void, applyTitle?: string, locale?: string, rootElement?: HTMLElement): boolean;
45
45
  export declare function configConfirmDialog(popupViewModel: PopupBaseViewModel): void;
46
46
  declare function chooseFiles(input: HTMLInputElement, callback: (files: File[]) => void): void;
47
+ export declare function compareArrays<T>(oldValue: Array<T>, newValue: Array<T>, getKey: (item: T) => any): {
48
+ addedItems: Array<T>;
49
+ deletedItems: Array<T>;
50
+ reorderedItems: Array<{
51
+ item: T;
52
+ movedForward: boolean;
53
+ }>;
54
+ mergedItems: Array<T>;
55
+ };
47
56
  export { mergeValues, getElementWidth, isContainerVisible, classesToSelector, compareVersions, confirmAction, confirmActionAsync, detectIEOrEdge, detectIEBrowser, loadFileFromBase64, isMobile, isShadowDOM, getElement, isElementVisible, findScrollableParent, scrollElementByChildId, navigateToUrl, wrapUrlForBackgroundImage, createSvg, getIconNameFromProxy, increaseHeightByContent, getOriginalEvent, preventDefaults, findParentByClassNames, getFirstVisibleChild, chooseFiles };