survey-core 1.10.5 → 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 (284) hide show
  1. package/defaultV2.css +152 -18
  2. package/defaultV2.css.map +1 -1
  3. package/defaultV2.fontless.css +152 -18
  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 +2 -2
  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 +132 -1
  46. package/i18n/index.js.map +1 -1
  47. package/i18n/index.min.js +2 -2
  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/philippines.js +246 -0
  73. package/i18n/philippines.js.map +1 -0
  74. package/i18n/philippines.min.js +6 -0
  75. package/i18n/polish.js +1 -1
  76. package/i18n/polish.min.js +1 -1
  77. package/i18n/portuguese-br.js +1 -1
  78. package/i18n/portuguese-br.min.js +1 -1
  79. package/i18n/portuguese.js +1 -1
  80. package/i18n/portuguese.min.js +1 -1
  81. package/i18n/romanian.js +1 -1
  82. package/i18n/romanian.min.js +1 -1
  83. package/i18n/russian.js +1 -1
  84. package/i18n/russian.min.js +1 -1
  85. package/i18n/serbian.js +1 -1
  86. package/i18n/serbian.min.js +1 -1
  87. package/i18n/simplified-chinese.js +1 -1
  88. package/i18n/simplified-chinese.min.js +1 -1
  89. package/i18n/slovak.js +1 -1
  90. package/i18n/slovak.min.js +1 -1
  91. package/i18n/spanish.js +1 -1
  92. package/i18n/spanish.min.js +1 -1
  93. package/i18n/swahili.js +1 -1
  94. package/i18n/swahili.min.js +1 -1
  95. package/i18n/swedish.js +1 -1
  96. package/i18n/swedish.min.js +1 -1
  97. package/i18n/tajik.js +1 -1
  98. package/i18n/tajik.min.js +1 -1
  99. package/i18n/telugu.js +1 -1
  100. package/i18n/telugu.min.js +1 -1
  101. package/i18n/thai.js +1 -1
  102. package/i18n/thai.min.js +1 -1
  103. package/i18n/traditional-chinese.js +1 -1
  104. package/i18n/traditional-chinese.min.js +1 -1
  105. package/i18n/turkish.js +1 -1
  106. package/i18n/turkish.min.js +1 -1
  107. package/i18n/ukrainian.js +1 -1
  108. package/i18n/ukrainian.min.js +1 -1
  109. package/i18n/urdu.js +1 -1
  110. package/i18n/urdu.min.js +2 -2
  111. package/i18n/vietnamese.js +1 -1
  112. package/i18n/vietnamese.min.js +1 -1
  113. package/i18n/welsh.js +1 -1
  114. package/i18n/welsh.min.js +1 -1
  115. package/modern.css +77 -9
  116. package/modern.css.map +1 -1
  117. package/modern.fontless.css +77 -9
  118. package/modern.fontless.css.map +1 -1
  119. package/modern.fontless.min.css +2 -2
  120. package/modern.min.css +2 -2
  121. package/package.json +1 -1
  122. package/plugins/bootstrap-integration.js +1 -1
  123. package/plugins/bootstrap-integration.min.js +1 -1
  124. package/plugins/bootstrap-material-integration.js +1 -1
  125. package/plugins/bootstrap-material-integration.min.js +1 -1
  126. package/survey.core.js +1228 -502
  127. package/survey.core.js.map +1 -1
  128. package/survey.core.min.js +3 -3
  129. package/survey.css +17 -1
  130. package/survey.css.map +1 -1
  131. package/survey.i18n.js +132 -1
  132. package/survey.i18n.js.map +1 -1
  133. package/survey.i18n.min.js +2 -2
  134. package/survey.min.css +2 -2
  135. package/themes/borderless-dark-panelless.js +1 -1
  136. package/themes/borderless-dark-panelless.min.js +1 -1
  137. package/themes/borderless-dark.js +1 -1
  138. package/themes/borderless-dark.min.js +1 -1
  139. package/themes/borderless-light-panelless..js +1 -1
  140. package/themes/borderless-light-panelless..min.js +1 -1
  141. package/themes/borderless-light.js +1 -1
  142. package/themes/borderless-light.min.js +1 -1
  143. package/themes/contrast-dark-panelless.js +1 -1
  144. package/themes/contrast-dark-panelless.min.js +1 -1
  145. package/themes/contrast-dark.js +1 -1
  146. package/themes/contrast-dark.min.js +1 -1
  147. package/themes/contrast-light-panelless.js +1 -1
  148. package/themes/contrast-light-panelless.min.js +1 -1
  149. package/themes/contrast-light.js +1 -1
  150. package/themes/contrast-light.min.js +1 -1
  151. package/themes/default-dark-panelless.js +1 -1
  152. package/themes/default-dark-panelless.min.js +1 -1
  153. package/themes/default-dark.js +1 -1
  154. package/themes/default-dark.min.js +1 -1
  155. package/themes/default-light-panelless.js +1 -1
  156. package/themes/default-light-panelless.min.js +1 -1
  157. package/themes/default-light.js +1 -1
  158. package/themes/default-light.min.js +1 -1
  159. package/themes/doubleborder-dark-panelless.js +1 -1
  160. package/themes/doubleborder-dark-panelless.min.js +1 -1
  161. package/themes/doubleborder-dark.js +1 -1
  162. package/themes/doubleborder-dark.min.js +1 -1
  163. package/themes/doubleborder-light-panelles.js +1 -1
  164. package/themes/doubleborder-light-panelles.min.js +1 -1
  165. package/themes/doubleborder-light.js +1 -1
  166. package/themes/doubleborder-light.min.js +1 -1
  167. package/themes/flat-dark-panelless.js +1 -1
  168. package/themes/flat-dark-panelless.min.js +1 -1
  169. package/themes/flat-dark.js +1 -1
  170. package/themes/flat-dark.min.js +1 -1
  171. package/themes/flat-light-panelless.js +1 -1
  172. package/themes/flat-light-panelless.min.js +1 -1
  173. package/themes/flat-light.js +1 -1
  174. package/themes/flat-light.min.js +1 -1
  175. package/themes/index.js +1 -1
  176. package/themes/index.min.js +1 -1
  177. package/themes/layered-dark-panelless.js +1 -1
  178. package/themes/layered-dark-panelless.min.js +1 -1
  179. package/themes/layered-dark.js +1 -1
  180. package/themes/layered-dark.min.js +1 -1
  181. package/themes/layered-light-panelless.js +1 -1
  182. package/themes/layered-light-panelless.min.js +1 -1
  183. package/themes/layered-light.js +1 -1
  184. package/themes/layered-light.min.js +1 -1
  185. package/themes/plain-dark-panelless.js +1 -1
  186. package/themes/plain-dark-panelless.min.js +1 -1
  187. package/themes/plain-dark.js +1 -1
  188. package/themes/plain-dark.min.js +1 -1
  189. package/themes/plain-light-panelless.js +1 -1
  190. package/themes/plain-light-panelless.min.js +1 -1
  191. package/themes/plain-light.js +1 -1
  192. package/themes/plain-light.min.js +1 -1
  193. package/themes/sharp-dark-panelless.js +1 -1
  194. package/themes/sharp-dark-panelless.min.js +1 -1
  195. package/themes/sharp-dark.js +1 -1
  196. package/themes/sharp-dark.min.js +1 -1
  197. package/themes/sharp-light-panelless.js +1 -1
  198. package/themes/sharp-light-panelless.min.js +1 -1
  199. package/themes/sharp-light.js +1 -1
  200. package/themes/sharp-light.min.js +1 -1
  201. package/themes/solid-dark-panelless.js +1 -1
  202. package/themes/solid-dark-panelless.min.js +1 -1
  203. package/themes/solid-dark.js +1 -1
  204. package/themes/solid-dark.min.js +1 -1
  205. package/themes/solid-light-panelless.js +1 -1
  206. package/themes/solid-light-panelless.min.js +1 -1
  207. package/themes/solid-light.js +1 -1
  208. package/themes/solid-light.min.js +1 -1
  209. package/themes/three-dimensional-dark-panelless.js +1 -1
  210. package/themes/three-dimensional-dark-panelless.min.js +1 -1
  211. package/themes/three-dimensional-dark.js +1 -1
  212. package/themes/three-dimensional-dark.min.js +1 -1
  213. package/themes/three-dimensional-light-panelless.js +1 -1
  214. package/themes/three-dimensional-light-panelless.min.js +1 -1
  215. package/themes/three-dimensional-light.js +1 -1
  216. package/themes/three-dimensional-light.min.js +1 -1
  217. package/ts3.4/typings/actions/action.d.ts +21 -2
  218. package/ts3.4/typings/actions/adaptive-container.d.ts +0 -1
  219. package/ts3.4/typings/actions/container.d.ts +4 -0
  220. package/ts3.4/typings/base-interfaces.d.ts +1 -1
  221. package/ts3.4/typings/base.d.ts +7 -0
  222. package/ts3.4/typings/defaultCss/defaultV2Css.d.ts +3 -0
  223. package/ts3.4/typings/dragdrop/ranking-choices.d.ts +7 -1
  224. package/ts3.4/typings/dragdrop/ranking-select-to-rank.d.ts +0 -9
  225. package/ts3.4/typings/functionsfactory.d.ts +3 -3
  226. package/ts3.4/typings/list.d.ts +19 -7
  227. package/ts3.4/typings/multiSelectListModel.d.ts +5 -2
  228. package/ts3.4/typings/panel.d.ts +1 -1
  229. package/ts3.4/typings/popup-dropdown-view-model.d.ts +6 -3
  230. package/ts3.4/typings/popup-view-model.d.ts +4 -1
  231. package/ts3.4/typings/popup.d.ts +5 -0
  232. package/ts3.4/typings/question.d.ts +6 -2
  233. package/ts3.4/typings/question_baseselect.d.ts +2 -0
  234. package/ts3.4/typings/question_boolean.d.ts +2 -0
  235. package/ts3.4/typings/question_file.d.ts +2 -1
  236. package/ts3.4/typings/question_matrix.d.ts +4 -0
  237. package/ts3.4/typings/question_matrixdropdown.d.ts +3 -0
  238. package/ts3.4/typings/question_matrixdropdownbase.d.ts +2 -0
  239. package/ts3.4/typings/question_matrixdropdownrendered.d.ts +0 -1
  240. package/ts3.4/typings/question_matrixdynamic.d.ts +4 -5
  241. package/ts3.4/typings/question_paneldynamic.d.ts +2 -4
  242. package/ts3.4/typings/question_ranking.d.ts +13 -5
  243. package/ts3.4/typings/question_text.d.ts +1 -0
  244. package/ts3.4/typings/question_textbase.d.ts +1 -1
  245. package/ts3.4/typings/survey-element.d.ts +3 -1
  246. package/ts3.4/typings/survey.d.ts +3 -2
  247. package/ts3.4/typings/surveyToc.d.ts +4 -0
  248. package/ts3.4/typings/utils/animation.d.ts +33 -19
  249. package/ts3.4/typings/utils/popup.d.ts +16 -4
  250. package/ts3.4/typings/utils/utils.d.ts +9 -0
  251. package/typings/actions/action.d.ts +21 -2
  252. package/typings/actions/adaptive-container.d.ts +0 -1
  253. package/typings/actions/container.d.ts +4 -0
  254. package/typings/base-interfaces.d.ts +1 -1
  255. package/typings/base.d.ts +7 -0
  256. package/typings/defaultCss/defaultV2Css.d.ts +3 -0
  257. package/typings/dragdrop/ranking-choices.d.ts +7 -1
  258. package/typings/dragdrop/ranking-select-to-rank.d.ts +0 -9
  259. package/typings/functionsfactory.d.ts +3 -3
  260. package/typings/list.d.ts +19 -7
  261. package/typings/multiSelectListModel.d.ts +5 -2
  262. package/typings/panel.d.ts +1 -1
  263. package/typings/popup-dropdown-view-model.d.ts +6 -3
  264. package/typings/popup-view-model.d.ts +5 -2
  265. package/typings/popup.d.ts +5 -0
  266. package/typings/question.d.ts +6 -2
  267. package/typings/question_baseselect.d.ts +2 -0
  268. package/typings/question_boolean.d.ts +2 -0
  269. package/typings/question_file.d.ts +2 -1
  270. package/typings/question_matrix.d.ts +4 -0
  271. package/typings/question_matrixdropdown.d.ts +3 -0
  272. package/typings/question_matrixdropdownbase.d.ts +2 -0
  273. package/typings/question_matrixdropdownrendered.d.ts +0 -1
  274. package/typings/question_matrixdynamic.d.ts +4 -5
  275. package/typings/question_paneldynamic.d.ts +2 -2
  276. package/typings/question_ranking.d.ts +18 -9
  277. package/typings/question_text.d.ts +1 -0
  278. package/typings/question_textbase.d.ts +1 -1
  279. package/typings/survey-element.d.ts +3 -1
  280. package/typings/survey.d.ts +3 -2
  281. package/typings/surveyToc.d.ts +4 -0
  282. package/typings/utils/animation.d.ts +31 -10
  283. package/typings/utils/popup.d.ts +16 -4
  284. package/typings/utils/utils.d.ts +9 -0
@@ -1,3 +1,4 @@
1
+ import { EventBase, Base } from "../base";
1
2
  export interface AnimationOptions {
2
3
  cssClass: string;
3
4
  onBeforeRunAnimation?: (element: HTMLElement) => void;
@@ -5,10 +6,25 @@ export interface AnimationOptions {
5
6
  }
6
7
  export interface IAnimationConsumer<T extends Array<any> = [
7
8
  ]> {
8
- getLeaveOptions(...args: T): AnimationOptions;
9
- getEnterOptions(...args: T): AnimationOptions;
9
+ getLeaveOptions?(...args: T): AnimationOptions;
10
+ getEnterOptions?(...args: T): AnimationOptions;
10
11
  getAnimatedElement(...args: T): HTMLElement;
11
12
  isAnimationEnabled(): boolean;
13
+ getRerenderEvent(): EventBase<Base>;
14
+ }
15
+ interface IGroupAnimationInfo {
16
+ isReorderingRunning: boolean;
17
+ isDeletingRunning: boolean;
18
+ isAddingRunning: boolean;
19
+ }
20
+ export interface IAnimationGroupConsumer<T> extends IAnimationConsumer<[
21
+ T
22
+ ]> {
23
+ getLeaveOptions?(item: T, info?: IGroupAnimationInfo): AnimationOptions;
24
+ getEnterOptions?(item: T, info?: IGroupAnimationInfo): AnimationOptions;
25
+ getReorderOptions?(item: T, movedForward: boolean, info?: IGroupAnimationInfo): AnimationOptions;
26
+ getKey?: (item: T) => any;
27
+ allowSyncRemovalAddition?: boolean;
12
28
  }
13
29
  export declare class AnimationUtils {
14
30
  private getMsFromRule;
@@ -19,11 +35,12 @@ export declare class AnimationUtils {
19
35
  private addCancelCallback;
20
36
  private removeCancelCallback;
21
37
  protected onAnimationEnd(element: HTMLElement, callback: (isCancel?: boolean) => void, options: AnimationOptions): void;
38
+ protected afterAnimationRun(element: HTMLElement, options: AnimationOptions | AnimationOptions): void;
22
39
  protected beforeAnimationRun(element: HTMLElement, options: AnimationOptions | AnimationOptions): void;
23
40
  private getCssClasses;
24
41
  protected runAnimation(element: HTMLElement, options: AnimationOptions, callback: (isCancel?: boolean) => void): void;
25
42
  protected clearHtmlElement(element: HTMLElement, options: AnimationOptions): void;
26
- protected onNextRender(callback: () => void, runEarly?: () => boolean, isCancel?: boolean): void;
43
+ protected onNextRender(callback: (isCancel?: boolean) => void, isCancel?: boolean): void;
27
44
  cancel(): void;
28
45
  }
29
46
  export declare class AnimationPropertyUtils extends AnimationUtils {
@@ -31,41 +48,38 @@ export declare class AnimationPropertyUtils extends AnimationUtils {
31
48
  onLeave(options: IAnimationConsumer, callback: () => void): void;
32
49
  }
33
50
  export declare class AnimationGroupUtils<T> extends AnimationUtils {
34
- runGroupAnimation(options: IAnimationConsumer<[
35
- T
36
- ]>, addedElements: Array<T>, removedElements: Array<T>, callback?: () => void): void;
51
+ runGroupAnimation(options: IAnimationGroupConsumer<T>, addedItems: Array<T>, removedItems: Array<T>, reorderedItems: Array<{
52
+ item: T;
53
+ movedForward: boolean;
54
+ }>, callback?: () => void): void;
37
55
  }
38
- export declare abstract class AnimationProperty<T, S extends Array<any> = [
39
- ]> {
40
- protected animationOptions: IAnimationConsumer<S>;
56
+ export declare abstract class AnimationProperty<T, S extends IAnimationConsumer<any> = IAnimationConsumer> {
57
+ protected animationOptions: S;
41
58
  protected update: (val: T, isTempUpdate?: boolean) => void;
42
59
  protected getCurrentValue: () => T;
43
- constructor(animationOptions: IAnimationConsumer<S>, update: (val: T, isTempUpdate?: boolean) => void, getCurrentValue: () => T);
60
+ constructor(animationOptions: S, update: (val: T, isTempUpdate?: boolean) => void, getCurrentValue: () => T);
44
61
  protected animation: AnimationUtils;
62
+ protected onNextRender(callback: () => void, onCancel?: () => void): void;
45
63
  protected abstract _sync(newValue: T): void;
46
64
  private _debouncedSync;
47
65
  sync(newValue: T): void;
66
+ private cancelCallback;
48
67
  cancel(): void;
49
68
  }
50
69
  export declare class AnimationBoolean extends AnimationProperty<boolean> {
51
70
  protected animation: AnimationPropertyUtils;
52
71
  protected _sync(newValue: boolean): void;
53
72
  }
54
- export declare class AnimationGroup<T> extends AnimationProperty<Array<T>, [
55
- T
56
- ]> {
73
+ export declare class AnimationGroup<T> extends AnimationProperty<Array<T>, IAnimationGroupConsumer<T>> {
57
74
  protected animation: AnimationGroupUtils<T>;
58
75
  protected _sync(newValue: Array<T>): void;
59
76
  }
60
- export declare class AnimationTab<T> extends AnimationProperty<Array<T>, [
61
- T
62
- ]> {
77
+ export declare class AnimationTab<T> extends AnimationProperty<Array<T>, IAnimationGroupConsumer<T>> {
63
78
  protected mergeValues?: (newValue: Array<T>, oldValue: Array<T>) => Array<T>;
64
79
  protected animation: AnimationGroupUtils<T>;
65
- constructor(animationOptions: IAnimationConsumer<[
66
- T
67
- ]>, update: (val: Array<T>, isTempUpdate?: boolean) => void, getCurrentValue: () => Array<T>, mergeValues?: (newValue: Array<T>, oldValue: Array<T>) => Array<T>);
80
+ constructor(animationOptions: IAnimationGroupConsumer<T>, update: (val: Array<T>, isTempUpdate?: boolean) => void, getCurrentValue: () => Array<T>, mergeValues?: (newValue: Array<T>, oldValue: Array<T>) => Array<T>);
68
81
  protected _sync(newValue: [
69
82
  T
70
83
  ]): void;
71
84
  }
85
+ 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
+ readonly left: number;
23
+ readonly top: number;
24
+ readonly right: number;
25
+ readonly 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 };
@@ -1,7 +1,7 @@
1
1
  import { ILocalizableOwner, LocalizableString } from "../localizablestring";
2
2
  import { Base, ComputedUpdater } from "../base";
3
3
  import { IListModel } from "../list";
4
- import { IPopupOptionsBase } from "../popup";
4
+ import { IPopupOptionsBase, PopupModel } from "../popup";
5
5
  export declare type actionModeType = "large" | "small" | "popup" | "removed";
6
6
  /**
7
7
  * An action item.
@@ -146,13 +146,20 @@ export interface IAction {
146
146
  ariaExpanded?: boolean;
147
147
  ariaRole?: string;
148
148
  elementId?: string;
149
+ items?: Array<IAction>;
150
+ markerIconName?: string;
151
+ markerIconSize?: number;
152
+ showPopup?: () => void;
153
+ hidePopup?: () => void;
149
154
  }
150
155
  export interface IActionDropdownPopupOptions extends IListModel, IPopupOptionsBase {
151
156
  }
152
157
  export declare function createDropdownActionModel(actionOptions: IAction, dropdownOptions: IActionDropdownPopupOptions, locOwner?: ILocalizableOwner): Action;
153
- export declare function createDropdownActionModelAdvanced(actionOptions: IAction, listOptions: IListModel, popupOptions?: IPopupOptionsBase, locOwner?: ILocalizableOwner): Action;
158
+ export declare function createDropdownActionModelAdvanced(actionOptions: IAction, listOptions: IListModel, popupOptions?: IPopupOptionsBase): Action;
159
+ export declare function createPopupModelWithListModel(listOptions: IListModel, popupOptions: IPopupOptionsBase): PopupModel;
154
160
  export declare function getActionDropdownButtonTarget(container: HTMLElement): HTMLElement;
155
161
  export declare abstract class BaseAction extends Base implements IAction {
162
+ items?: IAction[];
156
163
  private static renderedId;
157
164
  private static getNextRendredId;
158
165
  private cssClassesValue;
@@ -180,6 +187,8 @@ export declare abstract class BaseAction extends Base implements IAction {
180
187
  removePriority: number;
181
188
  iconName: string;
182
189
  iconSize: number;
190
+ markerIconName: string;
191
+ markerIconSize: number;
183
192
  css?: string;
184
193
  minDimension: number;
185
194
  maxDimension: number;
@@ -207,6 +216,15 @@ export declare abstract class BaseAction extends Base implements IAction {
207
216
  getActionRootCss(): string;
208
217
  getTooltip(): string;
209
218
  getIsTrusted(args: any): boolean;
219
+ showPopup(): void;
220
+ hidePopup(): void;
221
+ isPressed: boolean;
222
+ isHovered: boolean;
223
+ private showPopupTimeout;
224
+ private hidePopupTimeout;
225
+ private clearPopupTimeouts;
226
+ showPopupDelayed(delay: number): void;
227
+ hidePopupDelayed(delay: number): void;
210
228
  protected abstract getEnabled(): boolean;
211
229
  protected abstract setEnabled(val: boolean): void;
212
230
  protected abstract getVisible(): boolean;
@@ -225,6 +243,7 @@ export declare class Action extends BaseAction implements IAction, ILocalizableO
225
243
  private raiseUpdate;
226
244
  constructor(innerItem: IAction);
227
245
  private createLocTitle;
246
+ setItems(items: Array<IAction>, onSelectionChanged?: (item: Action, ...params: any[]) => void): void;
228
247
  location?: string;
229
248
  id: string;
230
249
  private _visible;
@@ -13,7 +13,6 @@ export declare class AdaptiveActionContainer<T extends Action = Action> extends
13
13
  private static ContainerID;
14
14
  constructor();
15
15
  get hiddenItemsListModel(): ListModel;
16
- protected hiddenItemSelected(item: T): void;
17
16
  protected onSet(): void;
18
17
  protected onPush(item: T): void;
19
18
  protected getRenderedActions(): Array<T>;
@@ -45,6 +45,10 @@ export declare class ActionContainer<T extends BaseAction = Action> extends Base
45
45
  addAction(val: IAction, sortByVisibleIndex?: boolean): T;
46
46
  private sortItems;
47
47
  setItems(items: Array<IAction>, sortByVisibleIndex?: boolean): void;
48
+ subItemsShowDelay: number;
49
+ subItemsHideDelay: number;
50
+ protected popupAfterShowCallback(itemValue: T): void;
51
+ mouseOverHandler(itemValue: T): void;
48
52
  initResponsivityManager(container: HTMLDivElement, delayedUpdateFunction?: (callback: () => void) => void): void;
49
53
  resetResponsivityManager(): void;
50
54
  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;
package/typings/base.d.ts CHANGED
@@ -302,6 +302,13 @@ export declare class Base {
302
302
  private animationAllowedLock;
303
303
  blockAnimations(): void;
304
304
  releaseAnimations(): void;
305
+ supportOnElementRenderedEvent: boolean;
306
+ onElementRenderedEventEnabled: boolean;
307
+ enableOnElementRenderedEvent(): void;
308
+ disableOnElementRenderedEvent(): void;
309
+ protected _onElementRerendered: EventBase<Base>;
310
+ get onElementRerendered(): EventBase<Base>;
311
+ afterRerender(): void;
305
312
  }
306
313
  export declare class ArrayChanges<T = any> {
307
314
  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;
@@ -565,6 +567,7 @@ export declare var defaultV2Css: {
565
567
  dragElementDecorator: string;
566
568
  iconDragElement: string;
567
569
  footer: string;
570
+ footerTotalCell: string;
568
571
  emptyRowsSection: string;
569
572
  iconDrag: string;
570
573
  ghostRow: 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 get 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 get isDraggedElementRanked();
18
12
  private get isDropTargetRanked();
19
13
  private get isDraggedElementUnranked();
20
- private get isDropTargetUnranked();
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;
package/typings/list.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import { ActionContainer } from "./actions/container";
2
2
  import { Action, BaseAction, IAction } from "./actions/action";
3
+ import { ILocalizableOwner } from "./localizablestring";
3
4
  export declare let defaultListCss: {
4
5
  root: string;
5
6
  item: string;
@@ -9,8 +10,10 @@ export declare let defaultListCss: {
9
10
  itemWithIcon: string;
10
11
  itemDisabled: string;
11
12
  itemFocused: string;
13
+ itemHovered: string;
12
14
  itemTextWrap: string;
13
15
  itemIcon: string;
16
+ itemMarkerIcon: string;
14
17
  itemSeparator: string;
15
18
  itemBody: string;
16
19
  itemsContainer: string;
@@ -23,19 +26,23 @@ export declare let defaultListCss: {
23
26
  };
24
27
  export interface IListModel {
25
28
  items: Array<IAction>;
26
- onSelectionChanged: (item: Action, ...params: any[]) => void;
29
+ onSelectionChanged?: (item: IAction, ...params: any[]) => void;
27
30
  allowSelection?: boolean;
31
+ searchEnabled?: boolean;
28
32
  selectedItem?: IAction;
33
+ elementId?: string;
34
+ locOwner?: ILocalizableOwner;
29
35
  onFilterStringChangedCallback?: (text: string) => void;
30
- onTextSearchCallback?: (text: string, textToSearch: string) => boolean;
36
+ onTextSearchCallback?: (item: IAction, textToSearch: string) => boolean;
31
37
  }
32
38
  export declare class ListModel<T extends BaseAction = Action> extends ActionContainer<T> {
33
- onSelectionChanged: (item: T, ...params: any[]) => void;
34
- allowSelection: boolean;
39
+ onSelectionChanged?: (item: T, ...params: any[]) => void;
40
+ allowSelection?: boolean;
35
41
  elementId?: string;
36
42
  private listContainerHtmlElement;
37
43
  private loadingIndicatorValue;
38
- private onFilterStringChangedCallback?;
44
+ private onFilterStringChangedCallback;
45
+ private onTextSearchCallback;
39
46
  searchEnabled: boolean;
40
47
  showFilter: boolean;
41
48
  forceShowFilter: boolean;
@@ -54,12 +61,12 @@ export declare class ListModel<T extends BaseAction = Action> extends ActionCont
54
61
  areSameItemsCallback: (item1: IAction, item2: IAction) => boolean;
55
62
  private hasText;
56
63
  isItemVisible(item: T): boolean;
64
+ protected getRenderedActions(): Array<T>;
57
65
  get visibleItems(): Array<T>;
58
66
  private get shouldProcessFilter();
59
67
  private onFilterStringChanged;
60
68
  private scrollToItem;
61
- constructor(items: Array<IAction>, onSelectionChanged: (item: T, ...params: any[]) => void, allowSelection: boolean, selectedItem?: IAction, elementId?: string);
62
- private onTextSearchCallback;
69
+ constructor(items: Array<IAction> | IListModel, onSelectionChanged?: (item: T, ...params: any[]) => void, allowSelection?: boolean, selectedItem?: IAction, elementId?: string);
63
70
  setOnFilterStringChangedCallback(callback: (text: string) => void): void;
64
71
  setOnTextSearchCallback(callback: (item: T, textToSearch: string) => boolean): void;
65
72
  setItems(items: Array<IAction>, sortByVisibleIndex?: boolean): void;
@@ -73,8 +80,10 @@ export declare class ListModel<T extends BaseAction = Action> extends ActionCont
73
80
  itemWithIcon: string;
74
81
  itemDisabled: string;
75
82
  itemFocused: string;
83
+ itemHovered: string;
76
84
  itemTextWrap: string;
77
85
  itemIcon: string;
86
+ itemMarkerIcon: string;
78
87
  itemSeparator: string;
79
88
  itemBody: string;
80
89
  itemsContainer: string;
@@ -86,6 +95,9 @@ export declare class ListModel<T extends BaseAction = Action> extends ActionCont
86
95
  emptyText: string;
87
96
  };
88
97
  onItemClick: (itemValue: T) => void;
98
+ protected popupAfterShowCallback(itemValue: T): void;
99
+ onItemHover: (itemValue: T) => void;
100
+ onItemLeave(itemValue: T): void;
89
101
  isItemDisabled: (itemValue: T) => boolean;
90
102
  isItemSelected: (itemValue: T) => boolean;
91
103
  isItemFocused: (itemValue: T) => boolean;
@@ -1,10 +1,13 @@
1
1
  import { Action, BaseAction, IAction } from "./actions/action";
2
- import { ListModel } from "./list";
2
+ import { IListModel, ListModel } from "./list";
3
+ export interface IMultiSelectListModel extends IListModel {
4
+ selectedItems?: Array<IAction>;
5
+ }
3
6
  export declare class MultiSelectListModel<T extends BaseAction = Action> extends ListModel<T> {
4
7
  selectedItems: Array<IAction>;
5
8
  hideSelectedItems: boolean;
6
9
  private updateItemState;
7
- constructor(items: Array<IAction>, onSelectionChanged: (item: T, status: string) => void, allowSelection: boolean, selectedItems?: Array<IAction>, elementId?: string);
10
+ constructor(options: IMultiSelectListModel);
8
11
  onItemClick: (item: T) => void;
9
12
  isItemDisabled: (itemValue: T) => boolean;
10
13
  isItemSelected: (itemValue: T) => boolean;
@@ -524,7 +524,6 @@ export declare class PanelModel extends PanelModelBase implements IElement {
524
524
  protected getPanelStartIndex(index: number): number;
525
525
  protected isContinueNumbering(): boolean;
526
526
  private notifySurveyOnVisibilityChanged;
527
- protected hasErrorsCore(rec: any): void;
528
527
  protected getRenderedTitle(str: string): string;
529
528
  /**
530
529
  * Increases or decreases an indent of panel content from the left edge. Accepts positive integer values and 0.
@@ -559,6 +558,7 @@ export declare class PanelModel extends PanelModelBase implements IElement {
559
558
  protected getHasFrameV2(): boolean;
560
559
  protected getIsNested(): boolean;
561
560
  get showPanelAsPage(): boolean;
561
+ protected onElementExpanded(elementIsRendered: boolean): void;
562
562
  protected getCssRoot(cssClasses: {
563
563
  [index: string]: string;
564
564
  }): 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 get shouldCreateResizeCallback();
@@ -19,14 +19,17 @@ export declare class PopupBaseViewModel extends Base implements IAnimationConsum
19
19
  _isVisible: boolean;
20
20
  locale: string;
21
21
  private updateIsVisible;
22
+ private updateBeforeShowing;
23
+ private updateAfterHiding;
22
24
  private visibilityAnimation;
23
25
  getLeaveOptions(): AnimationOptions;
24
26
  getEnterOptions(): AnimationOptions;
25
27
  getAnimatedElement(): HTMLElement;
26
28
  isAnimationEnabled(): boolean;
29
+ getRerenderEvent(): EventBase<Base>;
27
30
  private getAnimationContainer;
28
- set isVisible(val: boolean);
29
31
  get isVisible(): boolean;
32
+ set isVisible(val: boolean);
30
33
  onVisibilityChanged: EventBase<PopupBaseViewModel, any>;
31
34
  get container(): HTMLElement;
32
35
  private containerElement;
@@ -72,7 +75,7 @@ export declare class PopupBaseViewModel extends Base implements IAnimationConsum
72
75
  cancel(): void;
73
76
  dispose(): void;
74
77
  initializePopupContainer(): void;
75
- setComponentElement(componentRoot: HTMLElement, targetElement?: HTMLElement | null): void;
78
+ setComponentElement(componentRoot: HTMLElement, targetElement?: HTMLElement | null, areaElement?: HTMLElement | null): void;
76
79
  resetComponentElement(): void;
77
80
  protected preventScrollOuside(event: any, deltaY: number): void;
78
81
  }
@@ -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;
@@ -50,8 +52,11 @@ export declare class PopupModel<T = any> extends Base implements IPopupOptionsBa
50
52
  get isVisible(): boolean;
51
53
  set isVisible(value: boolean);
52
54
  toggleVisibility(): void;
55
+ show(): void;
56
+ hide(): void;
53
57
  recalculatePosition(isResetHeight: boolean): void;
54
58
  updateFooterActions(footerActions: Array<IAction>): Array<IAction>;
59
+ onHiding(): void;
55
60
  dispose(): void;
56
61
  }
57
62
  export declare function createDialogOptions(componentName: string, data: any, onApply: () => boolean, onCancel?: () => void, onHide?: () => void, onShow?: () => void, cssClass?: string, title?: string, displayMode?: "popup" | "overlay"): IDialogOptions;
@@ -427,7 +427,8 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
427
427
  */
428
428
  focus(onError?: boolean, scrollIfVisible?: boolean): void;
429
429
  private focuscore;
430
- private expandAllParents;
430
+ expandAllParents(): void;
431
+ private expandAllParentsCore;
431
432
  focusIn(): void;
432
433
  protected fireCallback(callback: () => void): void;
433
434
  getOthersMaxLength(): any;
@@ -492,6 +493,8 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
492
493
  get isInputReadOnly(): boolean;
493
494
  get renderedInputReadOnly(): string;
494
495
  get renderedInputDisabled(): string;
496
+ get isReadOnlyAttr(): boolean;
497
+ get isDisabledAttr(): boolean;
495
498
  protected onReadOnlyChanged(): void;
496
499
  /**
497
500
  * A Boolean expression. If it evaluates to `false`, this question becomes read-only.
@@ -712,6 +715,7 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
712
715
  */
713
716
  isAnswerCorrect(): boolean;
714
717
  updateValueWithDefaults(): void;
718
+ get isValueDefault(): boolean;
715
719
  protected get isClearValueOnHidden(): boolean;
716
720
  getQuestionFromArray(name: string, index: number): IQuestion;
717
721
  getDefaultValue(): any;
@@ -802,7 +806,7 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
802
806
  protected isNewValueCorrect(val: any): boolean;
803
807
  protected isNewValueEqualsToValue(newValue: any): boolean;
804
808
  protected isTextValue(): boolean;
805
- get isSurveyInputTextUpdate(): boolean;
809
+ protected getIsInputTextUpdate(): boolean;
806
810
  get requireStrictCompare(): boolean;
807
811
  private getDataLocNotification;
808
812
  get 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
  get otherValue(): string;
49
51
  set otherValue(val: string);
50
52
  protected get otherValueCore(): string;
@@ -96,6 +96,8 @@ export declare class QuestionBooleanModel extends Question {
96
96
  getItemCss(): string;
97
97
  getCheckboxItemCss(): string;
98
98
  getLabelCss(checked: boolean): string;
99
+ updateValueFromSurvey(newValue: any, clearData?: boolean): void;
100
+ protected onValueChanged(): void;
99
101
  get svgIcon(): string;
100
102
  get itemSvgIcon(): string;
101
103
  get allowClick(): boolean;
@@ -263,8 +263,9 @@ export declare class QuestionFileModel extends QuestionFileModelBase {
263
263
  doChange: (event: any) => void;
264
264
  doClean: () => void;
265
265
  private clearFilesCore;
266
- doRemoveFile(data: any): void;
266
+ doRemoveFile(data: any, event: any): void;
267
267
  private removeFileCore;
268
+ doDownloadFileFromContainer: (event: MouseEvent) => void;
268
269
  doDownloadFile: (event: any, data: any) => void;
269
270
  dispose(): void;
270
271
  }
@@ -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 {
@@ -27,6 +29,8 @@ export declare class MatrixRowModel extends Base {
27
29
  set value(val: any);
28
30
  setValueDirectly(val: any): void;
29
31
  get isReadOnly(): boolean;
32
+ get isReadOnlyAttr(): boolean;
33
+ get isDisabledAttr(): boolean;
30
34
  get rowTextClasses(): string;
31
35
  get hasError(): boolean;
32
36
  set hasError(val: boolean);
@@ -41,6 +41,9 @@ export declare class QuestionMatrixDropdownModel extends QuestionMatrixDropdownM
41
41
  protected isNewValueCorrect(val: any): boolean;
42
42
  clearIncorrectValues(): void;
43
43
  protected clearValueIfInvisibleCore(reason: string): void;
44
+ private defaultValuesInRows;
45
+ protected clearGeneratedRows(): void;
46
+ private getRowValueForCreation;
44
47
  protected generateRows(): Array<MatrixDropdownRowModel>;
45
48
  protected createMatrixRow(item: ItemValue, value: any): MatrixDropdownRowModel;
46
49
  protected getSearchableItemValueKeys(keys: Array<string>): void;