survey-core 1.10.6 → 1.11.1

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 (279) hide show
  1. package/defaultV2.css +131 -17
  2. package/defaultV2.css.map +1 -1
  3. package/defaultV2.fontless.css +131 -17
  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 +1030 -426
  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/survey-element.d.ts +3 -1
  242. package/ts3.4/typings/survey.d.ts +1 -1
  243. package/ts3.4/typings/surveyToc.d.ts +4 -0
  244. package/ts3.4/typings/utils/animation.d.ts +33 -19
  245. package/ts3.4/typings/utils/popup.d.ts +16 -4
  246. package/ts3.4/typings/utils/utils.d.ts +9 -0
  247. package/typings/actions/action.d.ts +18 -0
  248. package/typings/actions/adaptive-container.d.ts +0 -1
  249. package/typings/actions/container.d.ts +4 -0
  250. package/typings/base-interfaces.d.ts +1 -1
  251. package/typings/base.d.ts +7 -0
  252. package/typings/defaultCss/defaultV2Css.d.ts +2 -0
  253. package/typings/dragdrop/ranking-choices.d.ts +7 -1
  254. package/typings/dragdrop/ranking-select-to-rank.d.ts +0 -9
  255. package/typings/functionsfactory.d.ts +3 -3
  256. package/typings/list.d.ts +9 -1
  257. package/typings/panel.d.ts +1 -1
  258. package/typings/popup-dropdown-view-model.d.ts +6 -3
  259. package/typings/popup-view-model.d.ts +2 -1
  260. package/typings/popup.d.ts +2 -0
  261. package/typings/question.d.ts +6 -2
  262. package/typings/question_baseselect.d.ts +2 -0
  263. package/typings/question_boolean.d.ts +2 -0
  264. package/typings/question_file.d.ts +2 -1
  265. package/typings/question_matrix.d.ts +4 -0
  266. package/typings/question_matrixdropdown.d.ts +3 -0
  267. package/typings/question_matrixdropdownbase.d.ts +2 -0
  268. package/typings/question_matrixdropdownrendered.d.ts +0 -1
  269. package/typings/question_matrixdynamic.d.ts +4 -5
  270. package/typings/question_paneldynamic.d.ts +2 -2
  271. package/typings/question_ranking.d.ts +18 -9
  272. package/typings/question_text.d.ts +1 -0
  273. package/typings/question_textbase.d.ts +1 -1
  274. package/typings/survey-element.d.ts +3 -1
  275. package/typings/survey.d.ts +1 -1
  276. package/typings/surveyToc.d.ts +4 -0
  277. package/typings/utils/animation.d.ts +31 -10
  278. package/typings/utils/popup.d.ts +16 -4
  279. package/typings/utils/utils.d.ts +9 -0
@@ -44,6 +44,10 @@ export declare class ActionContainer<T extends BaseAction = Action> extends Base
44
44
  addAction(val: IAction, sortByVisibleIndex?: boolean): T;
45
45
  private sortItems;
46
46
  setItems(items: Array<IAction>, sortByVisibleIndex?: boolean): void;
47
+ subItemsShowDelay: number;
48
+ subItemsHideDelay: number;
49
+ protected popupAfterShowCallback(itemValue: T): void;
50
+ mouseOverHandler(itemValue: T): void;
47
51
  initResponsivityManager(container: HTMLDivElement, delayedUpdateFunction?: (callback: () => void) => void): void;
48
52
  resetResponsivityManager(): void;
49
53
  getActionById(id: string): T;
@@ -153,7 +153,7 @@ export interface ISurvey extends ITextProcessor, ISurveyErrorOwner {
153
153
  dynamicPanelGetTabTitle(question: IQuestion, options: any): any;
154
154
  dynamicPanelCurrentIndexChanged(question: IQuestion, options: any): void;
155
155
  dragAndDropAllow(options: DragDropAllowEvent): boolean;
156
- scrollElementToTop(element: ISurveyElement, question: IQuestion, page: IPage, id: string, scrollIfVisible?: boolean): any;
156
+ scrollElementToTop(element: ISurveyElement, question: IQuestion, page: IPage, id: string, scrollIfVisible?: boolean, scrollIntoViewOptions?: ScrollIntoViewOptions): any;
157
157
  runExpression(expression: string): any;
158
158
  elementContentVisibilityChanged(element: ISurveyElement): void;
159
159
  onCorrectQuestionAnswer(question: IQuestion, options: any): void;
@@ -300,6 +300,13 @@ export declare class Base {
300
300
  private animationAllowedLock;
301
301
  blockAnimations(): void;
302
302
  releaseAnimations(): void;
303
+ supportOnElementRenderedEvent: boolean;
304
+ onElementRenderedEventEnabled: boolean;
305
+ enableOnElementRenderedEvent(): void;
306
+ disableOnElementRenderedEvent(): void;
307
+ protected _onElementRerendered: EventBase<Base>;
308
+ readonly onElementRerendered: EventBase<Base>;
309
+ afterRerender(): void;
303
310
  }
304
311
  export declare class ArrayChanges<T = any> {
305
312
  index: number;
@@ -166,6 +166,7 @@ export declare var defaultV2Css: {
166
166
  rowMultiple: string;
167
167
  rowCompact: string;
168
168
  rowFadeIn: string;
169
+ rowDelayedFadeIn: string;
169
170
  rowFadeOut: string;
170
171
  pageRow: string;
171
172
  question: {
@@ -225,6 +226,7 @@ export declare var defaultV2Css: {
225
226
  disabled: string;
226
227
  readOnly: string;
227
228
  preview: string;
229
+ noPointerEventsMode: string;
228
230
  errorsContainer: string;
229
231
  errorsContainerTop: string;
230
232
  errorsContainerBottom: string;
@@ -1,5 +1,6 @@
1
1
  import { ItemValue } from "../itemvalue";
2
2
  import { DragDropChoices } from "./choices";
3
+ import { QuestionRankingModel } from "../question_ranking";
3
4
  export declare class DragDropRankingChoices extends DragDropChoices {
4
5
  protected readonly draggedElementType: string;
5
6
  protected createDraggedElementShortcut(text: string, draggedElementNode: HTMLElement, event: PointerEvent): HTMLElement;
@@ -9,9 +10,14 @@ export declare class DragDropRankingChoices extends DragDropChoices {
9
10
  protected findDropTargetNodeByDragOverNode(dragOverNode: HTMLElement): HTMLElement;
10
11
  private getIsDragOverRootNode;
11
12
  protected isDropTargetValid(dropTarget: ItemValue, dropTargetNode?: HTMLElement): boolean;
12
- protected calculateIsBottom(clientY: number): boolean;
13
+ protected calculateIsBottom(clientY: number, dropTargetNode?: HTMLElement): boolean;
13
14
  protected doDragOver: () => any;
15
+ getIndixies(model: any, fromChoicesArray: Array<ItemValue>, toChoicesArray: Array<ItemValue>): {
16
+ fromIndex: number;
17
+ toIndex: number;
18
+ };
14
19
  protected afterDragOver(dropTargetNode: HTMLElement): void;
20
+ reorderRankedItem: (questionModel: QuestionRankingModel, fromIndex: number, toIndex: number) => void;
15
21
  protected updateDraggedElementShortcut(newIndex: number): void;
16
22
  protected ghostPositionChanged(): void;
17
23
  protected doBanDropHere: () => any;
@@ -8,19 +8,10 @@ export declare class DragDropRankingSelectToRank extends DragDropRankingChoices
8
8
  protected isDropTargetValid(dropTarget: ItemValue | string, dropTargetNode?: HTMLElement): boolean;
9
9
  protected afterDragOver(dropTargetNode: HTMLElement): void;
10
10
  doRankBetween(dropTargetNode: HTMLElement, fromChoicesArray: Array<ItemValue>, toChoicesArray: Array<ItemValue>, rankFunction: Function): void;
11
- getIndixies(model: any, fromChoicesArray: Array<ItemValue>, toChoicesArray: Array<ItemValue>): {
12
- fromIndex: number;
13
- toIndex: number;
14
- };
15
- protected calculateIsBottom(clientY: number, dropTargetNode?: HTMLElement): boolean;
16
- private doUIEffects;
17
11
  private readonly isDraggedElementRanked: any;
18
12
  private readonly isDropTargetRanked: any;
19
13
  private readonly isDraggedElementUnranked: any;
20
- private readonly isDropTargetUnranked: any;
21
14
  private updateChoices;
22
15
  selectToRank: (questionModel: QuestionRankingModel, fromIndex: number, toIndex: number) => void;
23
16
  unselectFromRank: (questionModel: QuestionRankingModel, fromIndex: number, toIndex?: number) => void;
24
- reorderRankedItem: (questionModel: QuestionRankingModel, fromIndex: number, toIndex: number, dropTargetNode?: HTMLElement) => void;
25
- clear(): void;
26
17
  }
@@ -3,12 +3,12 @@ export declare class FunctionFactory {
3
3
  static Instance: FunctionFactory;
4
4
  private functionHash;
5
5
  private isAsyncHash;
6
- register(name: string, func: (params: any[]) => any, isAsync?: boolean): void;
6
+ register(name: string, func: (params: any[], originalParams?: any[]) => any, isAsync?: boolean): void;
7
7
  unregister(name: string): void;
8
8
  hasFunction(name: string): boolean;
9
9
  isAsyncFunction(name: string): boolean;
10
10
  clear(): void;
11
11
  getAll(): Array<string>;
12
- run(name: string, params: any[], properties?: HashTable<any>): any;
12
+ run(name: string, params: any[], properties: HashTable<any>, originalParams: any[]): any;
13
13
  }
14
- export declare var registerFunction: (name: string, func: (params: any[]) => any, isAsync?: boolean) => void;
14
+ export declare var registerFunction: (name: string, func: (params: any[], originalParams?: any[]) => any, isAsync?: boolean) => void;
@@ -10,8 +10,10 @@ export declare let defaultListCss: {
10
10
  itemWithIcon: string;
11
11
  itemDisabled: string;
12
12
  itemFocused: string;
13
+ itemHovered: string;
13
14
  itemTextWrap: string;
14
15
  itemIcon: string;
16
+ itemMarkerIcon: string;
15
17
  itemSeparator: string;
16
18
  itemBody: string;
17
19
  itemsContainer: string;
@@ -24,7 +26,7 @@ export declare let defaultListCss: {
24
26
  };
25
27
  export interface IListModel {
26
28
  items: Array<IAction>;
27
- onSelectionChanged: (item: IAction, ...params: any[]) => void;
29
+ onSelectionChanged?: (item: IAction, ...params: any[]) => void;
28
30
  allowSelection?: boolean;
29
31
  searchEnabled?: boolean;
30
32
  selectedItem?: IAction;
@@ -59,6 +61,7 @@ export declare class ListModel<T extends BaseAction = Action> extends ActionCont
59
61
  areSameItemsCallback: (item1: IAction, item2: IAction) => boolean;
60
62
  private hasText;
61
63
  isItemVisible(item: T): boolean;
64
+ protected getRenderedActions(): Array<T>;
62
65
  readonly visibleItems: Array<T>;
63
66
  private readonly shouldProcessFilter: any;
64
67
  private onFilterStringChanged;
@@ -77,8 +80,10 @@ export declare class ListModel<T extends BaseAction = Action> extends ActionCont
77
80
  itemWithIcon: string;
78
81
  itemDisabled: string;
79
82
  itemFocused: string;
83
+ itemHovered: string;
80
84
  itemTextWrap: string;
81
85
  itemIcon: string;
86
+ itemMarkerIcon: string;
82
87
  itemSeparator: string;
83
88
  itemBody: string;
84
89
  itemsContainer: string;
@@ -90,6 +95,9 @@ export declare class ListModel<T extends BaseAction = Action> extends ActionCont
90
95
  emptyText: string;
91
96
  };
92
97
  onItemClick: (itemValue: T) => void;
98
+ protected popupAfterShowCallback(itemValue: T): void;
99
+ onItemHover: (itemValue: T) => void;
100
+ onItemLeave(itemValue: T): void;
93
101
  isItemDisabled: (itemValue: T) => boolean;
94
102
  isItemSelected: (itemValue: T) => boolean;
95
103
  isItemFocused: (itemValue: T) => boolean;
@@ -505,7 +505,6 @@ export declare class PanelModel extends PanelModelBase implements IElement {
505
505
  protected getPanelStartIndex(index: number): number;
506
506
  protected isContinueNumbering(): boolean;
507
507
  private notifySurveyOnVisibilityChanged;
508
- protected hasErrorsCore(rec: any): void;
509
508
  protected getRenderedTitle(str: string): string;
510
509
  /*
511
510
  * Increases or decreases an indent of panel content from the left edge. Accepts positive integer values and 0.
@@ -536,6 +535,7 @@ export declare class PanelModel extends PanelModelBase implements IElement {
536
535
  protected getHasFrameV2(): boolean;
537
536
  protected getIsNested(): boolean;
538
537
  readonly showPanelAsPage: boolean;
538
+ protected onElementExpanded(elementIsRendered: boolean): void;
539
539
  protected getCssRoot(cssClasses: {
540
540
  [index: string]: string;
541
541
  }): string;
@@ -1,9 +1,10 @@
1
- import { IPosition } from "./utils/popup";
1
+ import { IPosition, Rect } from "./utils/popup";
2
2
  import { CssClassBuilder } from "./utils/cssClassBuilder";
3
3
  import { PopupModel } from "./popup";
4
4
  import { PopupBaseViewModel } from "./popup-view-model";
5
5
  export declare class PopupDropdownViewModel extends PopupBaseViewModel {
6
6
  targetElement?: HTMLElement;
7
+ areaElement?: HTMLElement;
7
8
  private scrollEventCallBack;
8
9
  private static readonly tabletSizeBreakpoint;
9
10
  private calculateIsTablet;
@@ -13,6 +14,8 @@ export declare class PopupDropdownViewModel extends PopupBaseViewModel {
13
14
  private isTablet;
14
15
  private touchStartEventCallback;
15
16
  private touchMoveEventCallback;
17
+ protected getAvailableAreaRect(): Rect;
18
+ protected getTargetElementRect(): Rect;
16
19
  private _updatePosition;
17
20
  protected getActualHorizontalPosition(): "left" | "center" | "right";
18
21
  protected getStyleClass(): CssClassBuilder;
@@ -21,8 +24,8 @@ export declare class PopupDropdownViewModel extends PopupBaseViewModel {
21
24
  popupDirection: string;
22
25
  pointerTarget: IPosition;
23
26
  private recalculatePositionHandler;
24
- constructor(model: PopupModel, targetElement?: HTMLElement);
25
- setComponentElement(componentRoot: HTMLElement, targetElement?: HTMLElement | null): void;
27
+ constructor(model: PopupModel, targetElement?: HTMLElement, areaElement?: HTMLElement);
28
+ setComponentElement(componentRoot: HTMLElement, targetElement?: HTMLElement | null, areaElement?: HTMLElement | null): void;
26
29
  resetComponentElement(): void;
27
30
  updateOnShowing(): void;
28
31
  private readonly shouldCreateResizeCallback: any;
@@ -26,6 +26,7 @@ export declare class PopupBaseViewModel extends Base implements IAnimationConsum
26
26
  getEnterOptions(): AnimationOptions;
27
27
  getAnimatedElement(): HTMLElement;
28
28
  isAnimationEnabled(): boolean;
29
+ getRerenderEvent(): EventBase<Base>;
29
30
  private getAnimationContainer;
30
31
  isVisible: boolean;
31
32
  onVisibilityChanged: EventBase<PopupBaseViewModel, any>;
@@ -72,7 +73,7 @@ export declare class PopupBaseViewModel extends Base implements IAnimationConsum
72
73
  cancel(): void;
73
74
  dispose(): void;
74
75
  initializePopupContainer(): void;
75
- setComponentElement(componentRoot: HTMLElement, targetElement?: HTMLElement | null): void;
76
+ setComponentElement(componentRoot: HTMLElement, targetElement?: HTMLElement | null, areaElement?: HTMLElement | null): void;
76
77
  resetComponentElement(): void;
77
78
  protected preventScrollOuside(event: any, deltaY: number): void;
78
79
  }
@@ -12,6 +12,7 @@ export interface IPopupOptionsBase {
12
12
  horizontalPosition?: HorizontalPosition;
13
13
  showPointer?: boolean;
14
14
  isModal?: boolean;
15
+ canShrink?: boolean;
15
16
  displayMode?: "popup" | "overlay";
16
17
  }
17
18
  export interface IDialogOptions extends IPopupOptionsBase {
@@ -35,6 +36,7 @@ export declare class PopupModel<T = any> extends Base implements IPopupOptionsBa
35
36
  horizontalPosition: HorizontalPosition;
36
37
  showPointer: boolean;
37
38
  isModal: boolean;
39
+ canShrink: boolean;
38
40
  isFocusedContent: boolean;
39
41
  isFocusedContainer: boolean;
40
42
  cssClass: string;
@@ -413,7 +413,8 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
413
413
  */
414
414
  focus(onError?: boolean, scrollIfVisible?: boolean): void;
415
415
  private focuscore;
416
- private expandAllParents;
416
+ expandAllParents(): void;
417
+ private expandAllParentsCore;
417
418
  focusIn(): void;
418
419
  protected fireCallback(callback: () => void): void;
419
420
  getOthersMaxLength(): any;
@@ -471,6 +472,8 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
471
472
  readonly isInputReadOnly: boolean;
472
473
  readonly renderedInputReadOnly: string;
473
474
  readonly renderedInputDisabled: string;
475
+ readonly isReadOnlyAttr: boolean;
476
+ readonly isDisabledAttr: boolean;
474
477
  protected onReadOnlyChanged(): void;
475
478
  /*
476
479
  * A Boolean expression. If it evaluates to `false`, this question becomes read-only.
@@ -680,6 +683,7 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
680
683
  */
681
684
  isAnswerCorrect(): boolean;
682
685
  updateValueWithDefaults(): void;
686
+ readonly isValueDefault: boolean;
683
687
  protected readonly isClearValueOnHidden: boolean;
684
688
  getQuestionFromArray(name: string, index: number): IQuestion;
685
689
  getDefaultValue(): any;
@@ -767,7 +771,7 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
767
771
  protected isNewValueCorrect(val: any): boolean;
768
772
  protected isNewValueEqualsToValue(newValue: any): boolean;
769
773
  protected isTextValue(): boolean;
770
- readonly isSurveyInputTextUpdate: boolean;
774
+ protected getIsInputTextUpdate(): boolean;
771
775
  readonly requireStrictCompare: boolean;
772
776
  private getDataLocNotification;
773
777
  readonly isInputTextUpdate: boolean;
@@ -45,6 +45,8 @@ export declare class QuestionSelectBase extends Question {
45
45
  isLayoutTypeSupported(layoutType: string): boolean;
46
46
  localeChanged(): void;
47
47
  locStrsChanged(): void;
48
+ private prevOtherErrorValue;
49
+ private updatePrevOtherErrorValue;
48
50
  otherValue: string;
49
51
  protected otherValueCore: string;
50
52
  /*
@@ -91,6 +91,8 @@ export declare class QuestionBooleanModel extends Question {
91
91
  getItemCss(): string;
92
92
  getCheckboxItemCss(): string;
93
93
  getLabelCss(checked: boolean): string;
94
+ updateValueFromSurvey(newValue: any, clearData?: boolean): void;
95
+ protected onValueChanged(): void;
94
96
  readonly svgIcon: string;
95
97
  readonly itemSvgIcon: string;
96
98
  readonly allowClick: boolean;
@@ -250,8 +250,9 @@ export declare class QuestionFileModel extends QuestionFileModelBase {
250
250
  doChange: (event: any) => void;
251
251
  doClean: () => void;
252
252
  private clearFilesCore;
253
- doRemoveFile(data: any): void;
253
+ doRemoveFile(data: any, event: any): void;
254
254
  private removeFileCore;
255
+ doDownloadFileFromContainer: (event: MouseEvent) => void;
255
256
  doDownloadFile: (event: any, data: any) => void;
256
257
  dispose(): void;
257
258
  }
@@ -12,6 +12,8 @@ export interface IMatrixData {
12
12
  cssClasses: any;
13
13
  isDisabledStyle: boolean;
14
14
  isInputReadOnly: boolean;
15
+ isDisabledAttr: boolean;
16
+ isReadOnlyAttr: boolean;
15
17
  hasErrorInRow(row: MatrixRowModel): boolean;
16
18
  }
17
19
  export declare class MatrixRowModel extends Base {
@@ -26,6 +28,8 @@ export declare class MatrixRowModel extends Base {
26
28
  value: any;
27
29
  setValueDirectly(val: any): void;
28
30
  readonly isReadOnly: boolean;
31
+ readonly isReadOnlyAttr: boolean;
32
+ readonly isDisabledAttr: boolean;
29
33
  readonly rowTextClasses: string;
30
34
  hasError: boolean;
31
35
  readonly rowClasses: string;
@@ -39,6 +39,9 @@ export declare class QuestionMatrixDropdownModel extends QuestionMatrixDropdownM
39
39
  protected isNewValueCorrect(val: any): boolean;
40
40
  clearIncorrectValues(): void;
41
41
  protected clearValueIfInvisibleCore(reason: string): void;
42
+ private defaultValuesInRows;
43
+ protected clearGeneratedRows(): void;
44
+ private getRowValueForCreation;
42
45
  protected generateRows(): Array<MatrixDropdownRowModel>;
43
46
  protected createMatrixRow(item: ItemValue, value: any): MatrixDropdownRowModel;
44
47
  protected getSearchableItemValueKeys(keys: Array<string>): void;
@@ -96,7 +96,9 @@ export declare class MatrixDropdownRowModelBase implements ISurveyData, ISurveyI
96
96
  getAllValues(): any;
97
97
  getFilteredValues(): any;
98
98
  getFilteredProperties(): any;
99
+ private applyRowVariablesToValues;
99
100
  runCondition(values: HashTable<any>, properties: HashTable<any>): void;
101
+ getNamesWithDefaultValues(): Array<string>;
100
102
  clearValue(keepComment?: boolean): void;
101
103
  onAnyValueChanged(name: string, questionName: string): void;
102
104
  getDataValueCore(valuesHash: any, key: string): any;
@@ -89,7 +89,6 @@ export declare class QuestionMatrixDropdownRenderedTable extends Base {
89
89
  private hasRemoveRowsValue;
90
90
  private rowsActions;
91
91
  private cssClasses;
92
- renderedRowsChangedCallback: () => void;
93
92
  rows: Array<QuestionMatrixDropdownRenderedRow>;
94
93
  protected getIsAnimationAllowed(): boolean;
95
94
  private getRenderedRowsAnimationOptions;
@@ -1,5 +1,4 @@
1
1
  import { QuestionMatrixDropdownModelBase, MatrixDropdownRowModelBase, IMatrixDropdownData } from "./question_matrixdropdownbase";
2
- import { LocalizableString } from "./localizablestring";
3
2
  import { SurveyError } from "./survey-error";
4
3
  import { DragDropMatrixRows } from "./dragdrop/matrix-rows";
5
4
  import { IShortcutText, ISurveyImpl, IProgressInfo } from "./base-interfaces";
@@ -186,13 +185,13 @@ export declare class QuestionMatrixDynamicModel extends QuestionMatrixDropdownMo
186
185
  * @see confirmDelete
187
186
  */
188
187
  confirmDeleteText: string;
189
- readonly locConfirmDeleteText: LocalizableString;
188
+ readonly locConfirmDeleteText: import("./localizablestring").LocalizableString;
190
189
  /*
191
190
  * A caption for the Add Row button.
192
191
  * @see addRowLocation
193
192
  */
194
193
  addRowText: string;
195
- readonly locAddRowText: LocalizableString;
194
+ readonly locAddRowText: import("./localizablestring").LocalizableString;
196
195
  private readonly defaultAddRowText: any;
197
196
  /*
198
197
  * Specifies the location of the Add Row button.
@@ -220,13 +219,13 @@ export declare class QuestionMatrixDynamicModel extends QuestionMatrixDropdownMo
220
219
  * Use this property to change the default value of remove row button text.
221
220
  */
222
221
  removeRowText: string;
223
- readonly locRemoveRowText: LocalizableString;
222
+ readonly locRemoveRowText: import("./localizablestring").LocalizableString;
224
223
  /*
225
224
  * A message displayed when the matrix does not contain any rows. Applies only if `hideColumnsIfEmpty` is enabled.
226
225
  * @see hideColumnsIfEmpty
227
226
  */
228
227
  emptyRowsText: string;
229
- readonly locEmptyRowsText: LocalizableString;
228
+ readonly locEmptyRowsText: import("./localizablestring").LocalizableString;
230
229
  protected getDisplayValueCore(keysAsText: boolean, value: any): any;
231
230
  protected getConditionObjectRowName(index: number): string;
232
231
  protected getConditionObjectsRowIndeces(): Array<number>;
@@ -8,7 +8,7 @@ import { ActionContainer } from "./actions/container";
8
8
  import { IAction } from "./actions/action";
9
9
  import { AdaptiveActionContainer } from "./actions/adaptive-container";
10
10
  import { ITheme } from "./themes";
11
- import { AnimationProperty } from "./utils/animation";
11
+ import { AnimationProperty, IAnimationGroupConsumer } from "./utils/animation";
12
12
  export interface IQuestionPanelDynamicData {
13
13
  getItemIndex(item: ISurveyData): number;
14
14
  getVisibleItemIndex(item: ISurveyData): number;
@@ -195,9 +195,7 @@ export declare class QuestionPanelDynamicModel extends Question implements IQues
195
195
  private disablePanelsAnimations;
196
196
  private enablePanelsAnimations;
197
197
  private updatePanelsAnimation;
198
- readonly panelsAnimation: AnimationProperty<Array<PanelModel>, [
199
- PanelModel
200
- ]>;
198
+ readonly panelsAnimation: AnimationProperty<Array<PanelModel>, IAnimationGroupConsumer<PanelModel>>;
201
199
  onHidingContent(): void;
202
200
  /*
203
201
  * Specifies whether to display a confirmation dialog when a respondent wants to delete a panel.
@@ -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,26 +29,32 @@ export declare class QuestionRankingModel extends QuestionCheckboxModel {
30
29
  isAnswerCorrect(): boolean;
31
30
  readonly 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
  readonly rankingChoicesAnimation: AnimationGroup<ItemValue>;
40
40
  private _unRankingChoicesAnimation;
41
41
  readonly unRankingChoicesAnimation: AnimationGroup<ItemValue>;
42
42
  rankingChoices: Array<ItemValue>;
43
43
  unRankingChoices: Array<ItemValue>;
44
+ private _renderedRankingChoices;
45
+ private _renderedUnRankingChoices;
46
+ renderedRankingChoices: Array<ItemValue>;
47
+ renderedUnRankingChoices: Array<ItemValue>;
48
+ private updateRenderedRankingChoices;
49
+ private updateRenderedUnRankingChoices;
44
50
  private updateRankingChoices;
45
51
  updateUnRankingChoices(newRankingChoices: Array<ItemValue>): void;
46
52
  private updateRankingChoicesSelectToRankMode;
47
53
  dragDropRankingChoices: DragDropRankingChoices;
48
54
  currentDropTarget: ItemValue;
49
- dropTargetNodeMove: string;
50
55
  endLoadingFromJson(): void;
51
56
  private setDragDropRankingChoices;
52
- protected createDragDropRankingChoices(): DragDropRankingChoices | DragDropRankingSelectToRank;
57
+ protected createDragDropRankingChoices(): DragDropRankingChoices;
53
58
  private draggedChoise;
54
59
  private draggedTargetNode;
55
60
  handlePointerDown: (event: PointerEvent, choice: ItemValue, node: HTMLElement) => void;
@@ -68,7 +73,6 @@ export declare class QuestionRankingModel extends QuestionCheckboxModel {
68
73
  supportNone(): boolean;
69
74
  supportRefuse(): boolean;
70
75
  supportDontKnow(): boolean;
71
- private handleArrowKeys;
72
76
  handleKeydownSelectToRank(event: KeyboardEvent, movedElement: ItemValue, hardKey?: string, isNeedFocus?: boolean): void;
73
77
  private setValueAfterKeydown;
74
78
  private focusItem;
@@ -85,6 +89,10 @@ export declare class QuestionRankingModel extends QuestionCheckboxModel {
85
89
  */
86
90
  longTap: boolean;
87
91
  /*
92
+ * The name of a component used to render items.
93
+ */
94
+ itemContentComponent: string;
95
+ /*
88
96
  * Specifies whether users can select choices they want to rank.
89
97
  *
90
98
  * When you enable this property, the Ranking question displays two areas for ranked and unranked choices. To order choices, users should first drag them from the unranked to the ranked area. Use this mode if you want to let users order only the choices they select.
@@ -141,6 +141,7 @@ export declare class QuestionTextModel extends QuestionTextBase {
141
141
  */
142
142
  step: string;
143
143
  readonly renderedStep: string;
144
+ protected getIsInputTextUpdate(): boolean;
144
145
  supportGoNextPageAutomatic(): boolean;
145
146
  supportGoNextPageError(): boolean;
146
147
  /*
@@ -42,7 +42,7 @@ export declare class QuestionTextBase extends Question {
42
42
  * > Do not use the `"onTyping"` mode if your survey contains many expressions. Expressions are reevaluated each time a question value is changed. In `"onTyping"` mode, the question value changes frequently. This may cause performance degradation.
43
43
  */
44
44
  textUpdateMode: string;
45
- readonly isSurveyInputTextUpdate: boolean;
45
+ protected getIsInputTextUpdate(): boolean;
46
46
  readonly renderedPlaceholder: string;
47
47
  protected setRenderedPlaceholder(val: string): void;
48
48
  protected onReadOnlyChanged(): void;
@@ -82,7 +82,7 @@ export declare class SurveyElement<E = any> extends SurveyElementCore implements
82
82
  dragTypeOverMe: DragTypeOverMeEnum;
83
83
  isDragMe: boolean;
84
84
  readOnlyChangedCallback: () => void;
85
- static ScrollElementToTop(elementId: string, scrollIfVisible?: boolean): boolean;
85
+ static ScrollElementToTop(elementId: string, scrollIfVisible?: boolean, scrollIntoViewOptions?: ScrollIntoViewOptions): boolean;
86
86
  static ScrollElementToViewCore(el: HTMLElement, checkLeft: boolean, scrollIfVisible?: boolean, scrollIntoViewOptions?: ScrollIntoViewOptions): boolean;
87
87
  static GetFirstNonTextElement(elements: any, removeSpaces?: boolean): any;
88
88
  static FocusElement(elementId: string): boolean;
@@ -395,7 +395,9 @@ export declare class SurveyElement<E = any> extends SurveyElementCore implements
395
395
  private _renderedIsExpanded;
396
396
  private _isAnimatingCollapseExpand;
397
397
  private isAnimatingCollapseExpand: any;
398
+ protected onElementExpanded(elementIsRendered: boolean): void;
398
399
  private getExpandCollapseAnimationOptions;
400
+ private readonly isExpandCollapseAnimationEnabled: any;
399
401
  private animationCollapsed;
400
402
  renderedIsExpanded: boolean;
401
403
  protected getIsAnimationAllowed(): boolean;
@@ -2094,7 +2094,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
2094
2094
  private getUpdatedPanelTitleActions;
2095
2095
  private getUpdatedPageTitleActions;
2096
2096
  getUpdatedMatrixRowActions(question: QuestionMatrixDropdownModelBase, row: any, actions: Array<IAction>): IAction[];
2097
- scrollElementToTop(element: ISurveyElement, question: Question, page: PageModel, id: string, scrollIfVisible?: boolean): any;
2097
+ scrollElementToTop(element: ISurveyElement, question: Question, page: PageModel, id: string, scrollIfVisible?: boolean, scrollIntoViewOptions?: ScrollIntoViewOptions): any;
2098
2098
  /**
2099
2099
  * Opens a dialog window for users to select files.
2100
2100
  * @param input A [file input HTML element](https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement).
@@ -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
  readonly isMobile: boolean;
13
17
  readonly containerCss: string;
14
18
  listModel: ListModel<Action>;