survey-core 1.12.9 → 1.12.11

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 (252) hide show
  1. package/defaultV2.css +1 -1
  2. package/defaultV2.fontless.css +1 -1
  3. package/defaultV2.fontless.min.css +1 -1
  4. package/defaultV2.min.css +1 -1
  5. package/i18n/arabic.js +1 -1
  6. package/i18n/arabic.min.js +1 -1
  7. package/i18n/basque.js +1 -1
  8. package/i18n/basque.min.js +1 -1
  9. package/i18n/bulgarian.js +1 -1
  10. package/i18n/bulgarian.min.js +1 -1
  11. package/i18n/catalan.js +1 -1
  12. package/i18n/catalan.min.js +1 -1
  13. package/i18n/croatian.js +1 -1
  14. package/i18n/croatian.min.js +1 -1
  15. package/i18n/czech.js +1 -1
  16. package/i18n/czech.min.js +1 -1
  17. package/i18n/danish.js +1 -1
  18. package/i18n/danish.min.js +1 -1
  19. package/i18n/dutch.js +1 -1
  20. package/i18n/dutch.min.js +1 -1
  21. package/i18n/english.js +1 -1
  22. package/i18n/english.min.js +1 -1
  23. package/i18n/estonian.js +1 -1
  24. package/i18n/estonian.min.js +1 -1
  25. package/i18n/finnish.js +1 -1
  26. package/i18n/finnish.min.js +1 -1
  27. package/i18n/french.js +1 -1
  28. package/i18n/french.min.js +1 -1
  29. package/i18n/georgian.js +1 -1
  30. package/i18n/georgian.min.js +1 -1
  31. package/i18n/german.js +1 -1
  32. package/i18n/german.min.js +1 -1
  33. package/i18n/greek.js +1 -1
  34. package/i18n/greek.min.js +1 -1
  35. package/i18n/hebrew.js +1 -1
  36. package/i18n/hebrew.min.js +1 -1
  37. package/i18n/hindi.js +1 -1
  38. package/i18n/hindi.min.js +1 -1
  39. package/i18n/hungarian.js +1 -1
  40. package/i18n/hungarian.min.js +1 -1
  41. package/i18n/icelandic.js +1 -1
  42. package/i18n/icelandic.min.js +1 -1
  43. package/i18n/index.js +1 -1
  44. package/i18n/index.min.js +1 -1
  45. package/i18n/indonesian.js +1 -1
  46. package/i18n/indonesian.min.js +1 -1
  47. package/i18n/italian.js +1 -1
  48. package/i18n/italian.min.js +1 -1
  49. package/i18n/japanese.js +1 -1
  50. package/i18n/japanese.min.js +1 -1
  51. package/i18n/kazakh.js +1 -1
  52. package/i18n/kazakh.min.js +1 -1
  53. package/i18n/korean.js +1 -1
  54. package/i18n/korean.min.js +1 -1
  55. package/i18n/latvian.js +1 -1
  56. package/i18n/latvian.min.js +1 -1
  57. package/i18n/lithuanian.js +1 -1
  58. package/i18n/lithuanian.min.js +1 -1
  59. package/i18n/macedonian.js +1 -1
  60. package/i18n/macedonian.min.js +1 -1
  61. package/i18n/malay.js +1 -1
  62. package/i18n/malay.min.js +1 -1
  63. package/i18n/nl-BE.js +1 -1
  64. package/i18n/nl-BE.min.js +1 -1
  65. package/i18n/norwegian.js +1 -1
  66. package/i18n/norwegian.min.js +1 -1
  67. package/i18n/persian.js +1 -1
  68. package/i18n/persian.min.js +1 -1
  69. package/i18n/philippines.js +1 -1
  70. package/i18n/philippines.min.js +1 -1
  71. package/i18n/polish.js +1 -1
  72. package/i18n/polish.min.js +1 -1
  73. package/i18n/portuguese-br.js +1 -1
  74. package/i18n/portuguese-br.min.js +1 -1
  75. package/i18n/portuguese.js +1 -1
  76. package/i18n/portuguese.min.js +1 -1
  77. package/i18n/romanian.js +1 -1
  78. package/i18n/romanian.min.js +1 -1
  79. package/i18n/russian.js +1 -1
  80. package/i18n/russian.min.js +1 -1
  81. package/i18n/serbian.js +1 -1
  82. package/i18n/serbian.min.js +1 -1
  83. package/i18n/simplified-chinese.js +1 -1
  84. package/i18n/simplified-chinese.min.js +1 -1
  85. package/i18n/slovak.js +1 -1
  86. package/i18n/slovak.min.js +1 -1
  87. package/i18n/spanish.js +1 -1
  88. package/i18n/spanish.min.js +1 -1
  89. package/i18n/swahili.js +1 -1
  90. package/i18n/swahili.min.js +1 -1
  91. package/i18n/swedish.js +1 -1
  92. package/i18n/swedish.min.js +1 -1
  93. package/i18n/tajik.js +1 -1
  94. package/i18n/tajik.min.js +1 -1
  95. package/i18n/telugu.js +1 -1
  96. package/i18n/telugu.min.js +1 -1
  97. package/i18n/thai.js +1 -1
  98. package/i18n/thai.min.js +1 -1
  99. package/i18n/traditional-chinese.js +1 -1
  100. package/i18n/traditional-chinese.min.js +1 -1
  101. package/i18n/turkish.js +1 -1
  102. package/i18n/turkish.min.js +1 -1
  103. package/i18n/ukrainian.js +1 -1
  104. package/i18n/ukrainian.min.js +1 -1
  105. package/i18n/urdu.js +1 -1
  106. package/i18n/urdu.min.js +1 -1
  107. package/i18n/vietnamese.js +1 -1
  108. package/i18n/vietnamese.min.js +1 -1
  109. package/i18n/welsh.js +1 -1
  110. package/i18n/welsh.min.js +1 -1
  111. package/modern.css +1 -1
  112. package/modern.fontless.css +1 -1
  113. package/modern.fontless.min.css +1 -1
  114. package/modern.min.css +1 -1
  115. package/package.json +1 -1
  116. package/plugins/bootstrap-integration/index.js +1 -1
  117. package/plugins/bootstrap-integration/index.min.js +1 -1
  118. package/plugins/bootstrap-material-integration/index.js +1 -1
  119. package/plugins/bootstrap-material-integration/index.min.js +1 -1
  120. package/survey.core.js +444 -228
  121. package/survey.core.js.map +1 -1
  122. package/survey.core.min.js +3 -3
  123. package/survey.css +1 -1
  124. package/survey.i18n.js +1 -1
  125. package/survey.i18n.min.js +1 -1
  126. package/survey.min.css +1 -1
  127. package/themes/borderless-dark-panelless.js +1 -1
  128. package/themes/borderless-dark-panelless.min.js +1 -1
  129. package/themes/borderless-dark.js +1 -1
  130. package/themes/borderless-dark.min.js +1 -1
  131. package/themes/borderless-light-panelless..js +1 -1
  132. package/themes/borderless-light-panelless..min.js +1 -1
  133. package/themes/borderless-light.js +1 -1
  134. package/themes/borderless-light.min.js +1 -1
  135. package/themes/contrast-dark-panelless.js +1 -1
  136. package/themes/contrast-dark-panelless.min.js +1 -1
  137. package/themes/contrast-dark.js +1 -1
  138. package/themes/contrast-dark.min.js +1 -1
  139. package/themes/contrast-light-panelless.js +1 -1
  140. package/themes/contrast-light-panelless.min.js +1 -1
  141. package/themes/contrast-light.js +1 -1
  142. package/themes/contrast-light.min.js +1 -1
  143. package/themes/default-dark-panelless.js +1 -1
  144. package/themes/default-dark-panelless.min.js +1 -1
  145. package/themes/default-dark.js +1 -1
  146. package/themes/default-dark.min.js +1 -1
  147. package/themes/default-light-panelless.js +1 -1
  148. package/themes/default-light-panelless.min.js +1 -1
  149. package/themes/default-light.js +1 -1
  150. package/themes/default-light.min.js +1 -1
  151. package/themes/doubleborder-dark-panelless.js +1 -1
  152. package/themes/doubleborder-dark-panelless.min.js +1 -1
  153. package/themes/doubleborder-dark.js +1 -1
  154. package/themes/doubleborder-dark.min.js +1 -1
  155. package/themes/doubleborder-light-panelles.js +1 -1
  156. package/themes/doubleborder-light-panelles.min.js +1 -1
  157. package/themes/doubleborder-light.js +1 -1
  158. package/themes/doubleborder-light.min.js +1 -1
  159. package/themes/flat-dark-panelless.js +1 -1
  160. package/themes/flat-dark-panelless.min.js +1 -1
  161. package/themes/flat-dark.js +1 -1
  162. package/themes/flat-dark.min.js +1 -1
  163. package/themes/flat-light-panelless.js +1 -1
  164. package/themes/flat-light-panelless.min.js +1 -1
  165. package/themes/flat-light.js +1 -1
  166. package/themes/flat-light.min.js +1 -1
  167. package/themes/index.js +1 -1
  168. package/themes/index.min.js +1 -1
  169. package/themes/layered-dark-panelless.js +1 -1
  170. package/themes/layered-dark-panelless.min.js +1 -1
  171. package/themes/layered-dark.js +1 -1
  172. package/themes/layered-dark.min.js +1 -1
  173. package/themes/layered-light-panelless.js +1 -1
  174. package/themes/layered-light-panelless.min.js +1 -1
  175. package/themes/layered-light.js +1 -1
  176. package/themes/layered-light.min.js +1 -1
  177. package/themes/plain-dark-panelless.js +1 -1
  178. package/themes/plain-dark-panelless.min.js +1 -1
  179. package/themes/plain-dark.js +1 -1
  180. package/themes/plain-dark.min.js +1 -1
  181. package/themes/plain-light-panelless.js +1 -1
  182. package/themes/plain-light-panelless.min.js +1 -1
  183. package/themes/plain-light.js +1 -1
  184. package/themes/plain-light.min.js +1 -1
  185. package/themes/sharp-dark-panelless.js +1 -1
  186. package/themes/sharp-dark-panelless.min.js +1 -1
  187. package/themes/sharp-dark.js +1 -1
  188. package/themes/sharp-dark.min.js +1 -1
  189. package/themes/sharp-light-panelless.js +1 -1
  190. package/themes/sharp-light-panelless.min.js +1 -1
  191. package/themes/sharp-light.js +1 -1
  192. package/themes/sharp-light.min.js +1 -1
  193. package/themes/solid-dark-panelless.js +1 -1
  194. package/themes/solid-dark-panelless.min.js +1 -1
  195. package/themes/solid-dark.js +1 -1
  196. package/themes/solid-dark.min.js +1 -1
  197. package/themes/solid-light-panelless.js +1 -1
  198. package/themes/solid-light-panelless.min.js +1 -1
  199. package/themes/solid-light.js +1 -1
  200. package/themes/solid-light.min.js +1 -1
  201. package/themes/three-dimensional-dark-panelless.js +1 -1
  202. package/themes/three-dimensional-dark-panelless.min.js +1 -1
  203. package/themes/three-dimensional-dark.js +1 -1
  204. package/themes/three-dimensional-dark.min.js +1 -1
  205. package/themes/three-dimensional-light-panelless.js +1 -1
  206. package/themes/three-dimensional-light-panelless.min.js +1 -1
  207. package/themes/three-dimensional-light.js +1 -1
  208. package/themes/three-dimensional-light.min.js +1 -1
  209. package/ts3.4/typings/packages/survey-core/entries/chunks/model.d.ts +1 -1
  210. package/ts3.4/typings/packages/survey-core/src/actions/action.d.ts +1 -1
  211. package/ts3.4/typings/packages/survey-core/src/actions/container.d.ts +4 -1
  212. package/ts3.4/typings/packages/survey-core/src/base-interfaces.d.ts +2 -0
  213. package/ts3.4/typings/packages/survey-core/src/list.d.ts +1 -0
  214. package/ts3.4/typings/packages/survey-core/src/page.d.ts +7 -2
  215. package/ts3.4/typings/packages/survey-core/src/panel.d.ts +3 -1
  216. package/ts3.4/typings/packages/survey-core/src/popup-dropdown-view-model.d.ts +2 -4
  217. package/ts3.4/typings/packages/survey-core/src/popup-utils.d.ts +1 -1
  218. package/ts3.4/typings/packages/survey-core/src/popup-view-model.d.ts +1 -1
  219. package/ts3.4/typings/packages/survey-core/src/popup.d.ts +4 -0
  220. package/ts3.4/typings/packages/survey-core/src/question.d.ts +2 -0
  221. package/ts3.4/typings/packages/survey-core/src/question_buttongroup.d.ts +1 -1
  222. package/ts3.4/typings/packages/survey-core/src/question_matrixdropdowncolumn.d.ts +2 -2
  223. package/ts3.4/typings/packages/survey-core/src/survey-events-api.d.ts +7 -3
  224. package/ts3.4/typings/packages/survey-core/src/survey.d.ts +17 -4
  225. package/ts3.4/typings/packages/survey-core/src/surveyStrings.d.ts +1 -0
  226. package/ts3.4/typings/packages/survey-core/src/utils/animation.d.ts +10 -0
  227. package/ts3.4/typings/packages/survey-core/src/utils/popup.d.ts +4 -1
  228. package/ts3.4/typings/packages/survey-core/src/utils/responsivity-manager.d.ts +3 -1
  229. package/ts3.4/typings/packages/survey-core/src/utils/text-area.d.ts +1 -0
  230. package/ts3.4/typings/packages/survey-core/src/utils/utils.d.ts +2 -1
  231. package/typings/packages/survey-core/entries/chunks/model.d.ts +1 -1
  232. package/typings/packages/survey-core/src/actions/action.d.ts +1 -1
  233. package/typings/packages/survey-core/src/actions/container.d.ts +4 -1
  234. package/typings/packages/survey-core/src/base-interfaces.d.ts +2 -0
  235. package/typings/packages/survey-core/src/list.d.ts +1 -0
  236. package/typings/packages/survey-core/src/page.d.ts +8 -2
  237. package/typings/packages/survey-core/src/panel.d.ts +3 -1
  238. package/typings/packages/survey-core/src/popup-dropdown-view-model.d.ts +2 -4
  239. package/typings/packages/survey-core/src/popup-utils.d.ts +1 -1
  240. package/typings/packages/survey-core/src/popup-view-model.d.ts +1 -1
  241. package/typings/packages/survey-core/src/popup.d.ts +4 -0
  242. package/typings/packages/survey-core/src/question.d.ts +2 -0
  243. package/typings/packages/survey-core/src/question_buttongroup.d.ts +1 -1
  244. package/typings/packages/survey-core/src/question_matrixdropdowncolumn.d.ts +2 -2
  245. package/typings/packages/survey-core/src/survey-events-api.d.ts +7 -3
  246. package/typings/packages/survey-core/src/survey.d.ts +17 -4
  247. package/typings/packages/survey-core/src/surveyStrings.d.ts +1 -0
  248. package/typings/packages/survey-core/src/utils/animation.d.ts +10 -0
  249. package/typings/packages/survey-core/src/utils/popup.d.ts +4 -1
  250. package/typings/packages/survey-core/src/utils/responsivity-manager.d.ts +3 -1
  251. package/typings/packages/survey-core/src/utils/text-area.d.ts +1 -0
  252. package/typings/packages/survey-core/src/utils/utils.d.ts +2 -1
@@ -4,8 +4,6 @@ import { PopupModel } from "./popup";
4
4
  import { PopupBaseViewModel } from "./popup-view-model";
5
5
  export declare function calculateIsTablet(windowWidth?: number, windowHeight?: number): boolean;
6
6
  export declare class PopupDropdownViewModel extends PopupBaseViewModel {
7
- targetElement?: HTMLElement;
8
- areaElement?: HTMLElement;
9
7
  static readonly tabletSizeBreakpoint = 600;
10
8
  private scrollEventCallBack;
11
9
  private calculateIsTablet;
@@ -25,8 +23,8 @@ export declare class PopupDropdownViewModel extends PopupBaseViewModel {
25
23
  popupDirection: string;
26
24
  pointerTarget: IPosition;
27
25
  private recalculatePositionHandler;
28
- constructor(model: PopupModel, targetElement?: HTMLElement, areaElement?: HTMLElement);
29
- setComponentElement(componentRoot: HTMLElement, targetElement?: HTMLElement | null, areaElement?: HTMLElement | null): void;
26
+ constructor(model: PopupModel);
27
+ setComponentElement(componentRoot: HTMLElement): void;
30
28
  resetComponentElement(): void;
31
29
  updateOnShowing(): void;
32
30
  private get shouldCreateResizeCallback();
@@ -1,4 +1,4 @@
1
1
  import { IDialogOptions, PopupModel } from "./popup";
2
2
  import { PopupBaseViewModel } from "./popup-view-model";
3
3
  export declare function createPopupModalViewModel(options: IDialogOptions, rootElement?: HTMLElement): PopupBaseViewModel;
4
- export declare function createPopupViewModel(model: PopupModel, targetElement?: HTMLElement): PopupBaseViewModel;
4
+ export declare function createPopupViewModel(model: PopupModel): PopupBaseViewModel;
@@ -75,7 +75,7 @@ export declare class PopupBaseViewModel extends Base implements IAnimationConsum
75
75
  cancel(): void;
76
76
  dispose(): void;
77
77
  initializePopupContainer(): void;
78
- setComponentElement(componentRoot: HTMLElement, targetElement?: HTMLElement | null, areaElement?: HTMLElement | null): void;
78
+ setComponentElement(componentRoot: HTMLElement): void;
79
79
  resetComponentElement(): void;
80
80
  protected preventScrollOuside(event: any, deltaY: number): void;
81
81
  }
@@ -6,6 +6,8 @@ export interface IPopupOptionsBase {
6
6
  onShow?: () => void;
7
7
  onCancel?: () => void;
8
8
  onDispose?: () => void;
9
+ getTargetCallback?: (container: HTMLElement) => HTMLElement;
10
+ getAreaCallback?: (container: HTMLElement) => HTMLElement;
9
11
  cssClass?: string;
10
12
  title?: string;
11
13
  verticalPosition?: VerticalPosition;
@@ -30,6 +32,8 @@ export declare class PopupModel<T = any> extends Base implements IPopupOptionsBa
30
32
  onHide: () => void;
31
33
  onShow: () => void;
32
34
  onDispose: () => void;
35
+ getTargetCallback?: (container: HTMLElement) => HTMLElement;
36
+ getAreaCallback?: (container: HTMLElement) => HTMLElement;
33
37
  contentComponentName: string;
34
38
  contentComponentData: T;
35
39
  verticalPosition: VerticalPosition;
@@ -753,6 +753,8 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
753
753
  protected convertFuncValuetoQuestionValue(val: any): any;
754
754
  private runExpressionSetValueCore;
755
755
  private runExpressionSetValue;
756
+ protected startSetValueOnExpression(): void;
757
+ protected finishSetValueOnExpression(): void;
756
758
  private runDefaultValueExpression;
757
759
  /**
758
760
  * A comment to the selected question value. Enable the `showCommentArea` property to allow users to leave comments.
@@ -29,7 +29,7 @@ export declare class ButtonGroupItemModel {
29
29
  constructor(question: QuestionButtonGroupModel, item: ItemValue, index: number);
30
30
  get value(): any;
31
31
  get iconName(): string;
32
- get iconSize(): number;
32
+ get iconSize(): string | number;
33
33
  get caption(): LocalizableString;
34
34
  get showCaption(): any;
35
35
  get isRequired(): boolean;
@@ -30,7 +30,7 @@ export declare class MatrixDropdownColumn extends Base implements ILocalizableOw
30
30
  private indexValue;
31
31
  private _hasVisibleCell;
32
32
  private _visiblechoices;
33
- constructor(name: string, title?: string);
33
+ constructor(name: string, title?: string, colOwner?: IMatrixColumnOwner);
34
34
  getOriginalObj(): Base;
35
35
  getClassNameProperty(): string;
36
36
  getSurvey(live?: boolean): ISurvey;
@@ -330,7 +330,7 @@ export declare class MatrixDropdownColumn extends Base implements ILocalizableOw
330
330
  defaultCellTypeChanged(): void;
331
331
  protected calcCellQuestionType(row: MatrixDropdownRowModelBase): string;
332
332
  private getDefaultCellQuestionType;
333
- protected updateTemplateQuestion(newCellType?: string): void;
333
+ protected updateTemplateQuestion(newCellType?: string, name?: string, title?: string): void;
334
334
  protected createNewQuestion(cellType: string): Question;
335
335
  private setParentQuestionToTemplate;
336
336
  private previousChoicesId;
@@ -212,6 +212,10 @@ export interface ValueChangeBaseEvent extends QuestionEventMixin {
212
212
  * The `name` of the question whose value is being changed. If you use the [`valueName`](https://surveyjs.io/form-library/documentation/api-reference/text-entry-question-model#valueName) property, this parameter contains its value.
213
213
  */
214
214
  name: string;
215
+ /**
216
+ * A value that indicates what caused the value change: an [expression](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#expressions) evaluation or a run of a [trigger](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#conditional-survey-logic-triggers). If the value is changed for other reasons, this parameter is `undefined`.
217
+ */
218
+ reason: "trigger" | "expression" | undefined;
215
219
  }
216
220
  export interface ValueChangedEvent extends ValueChangeBaseEvent {
217
221
  /**
@@ -526,16 +530,16 @@ export interface OpenFileChooserEvent {
526
530
  */
527
531
  input: HTMLInputElement;
528
532
  /**
529
- * A survey element (question, panel, page, or survey) or a theme JSON schema for which this event is raised.
533
+ * A question for which this event is raised.
530
534
  */
531
535
  element: Base;
532
536
  /**
533
537
  * The type of the element passed as the `options.element` parameter.\
534
- * Possible values: `"theme"`, `"header"`, or any value returned from the [`getType()`](https://surveyjs.io/form-library/documentation/api-reference/question#getType) method.
538
+ * Possible values: any value returned from the [`getType()`](https://surveyjs.io/form-library/documentation/api-reference/question#getType) method.
535
539
  */
536
540
  elementType: String;
537
541
  /**
538
- * The name of the survey element property or theme property for which files are being selected.
542
+ * The name of the survey element property for which files are being selected.
539
543
  */
540
544
  propertyName: String;
541
545
  /**
@@ -373,9 +373,8 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
373
373
  */
374
374
  onGetResult: EventBase<SurveyModel, GetResultEvent>;
375
375
  /**
376
- * An event that is raised when Survey Creator opens a dialog window for users to select files.
377
- * @see onUploadFile
378
- * @see uploadFiles
376
+ * An event that is raised when a respondent opens a dialog window to select files.
377
+ * @see chooseFiles
379
378
  */
380
379
  onOpenFileChooser: EventBase<SurveyModel, OpenFileChooserEvent>;
381
380
  /**
@@ -708,7 +707,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
708
707
  */
709
708
  onGetPageTitleActions: EventBase<SurveyModel, GetPageTitleActionsEvent>;
710
709
  /**
711
- * An event that allows you to add, delete, or modify actions in the footer of a [Panel](https://surveyjs.io/form-library/documentation/panelmodel).
710
+ * An event that allows you to add, delete, or modify actions in the footer of a [Panel](https://surveyjs.io/form-library/documentation/panelmodel). This panel may belong to a [Dynamic Panel](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model) or be a standalone survey element.
712
711
  * @see [IAction](https://surveyjs.io/form-library/documentation/api-reference/iaction)
713
712
  */
714
713
  onGetPanelFooterActions: EventBase<SurveyModel, GetPanelFooterActionsEvent>;
@@ -1381,6 +1380,10 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
1381
1380
  * @param callback A callback function that you can use to access the calculation result if the expression uses asynchronous functions.
1382
1381
  */
1383
1382
  runExpression(expression: string, callback?: (res: any) => void): any;
1383
+ private setValueOnExpressionCounter;
1384
+ get isSettingValueOnExpression(): boolean;
1385
+ startSetValueOnExpression(): void;
1386
+ finishSetValueOnExpression(): void;
1384
1387
  /**
1385
1388
  * Calculates a given [expression](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#expressions) and returns `true` or `false`.
1386
1389
  * @param expression An expression to calculate.
@@ -2217,6 +2220,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
2217
2220
  private isSmoothScrollEnabled;
2218
2221
  private resizeObserver;
2219
2222
  afterRenderSurvey(htmlElement: any): void;
2223
+ beforeDestroySurveyElement(): void;
2220
2224
  /**
2221
2225
  * An event that is raised when the survey's width or height is changed.
2222
2226
  */
@@ -2273,6 +2277,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
2273
2277
  matrixCellValidate(question: QuestionMatrixDropdownModelBase, options: MatrixCellValidateEvent): SurveyError;
2274
2278
  dynamicPanelAdded(question: QuestionPanelDynamicModel, panelIndex?: number, panel?: PanelModel): void;
2275
2279
  dynamicPanelRemoved(question: QuestionPanelDynamicModel, panelIndex: number, panel: PanelModel): void;
2280
+ private hasQuestionVisibleIndeces;
2276
2281
  dynamicPanelRemoving(question: QuestionPanelDynamicModel, panelIndex: number, panel: PanelModel): boolean;
2277
2282
  dynamicPanelItemValueChanged(question: IQuestion, options: any): void;
2278
2283
  dynamicPanelGetTabTitle(question: IQuestion, options: any): void;
@@ -2465,11 +2470,13 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
2465
2470
  * @see addNewPage
2466
2471
  */
2467
2472
  createNewPage(name: string): PageModel;
2473
+ private getValueChangeReason;
2468
2474
  protected questionOnValueChanging(valueName: string, newValue: any, questionValueName?: string): any;
2469
2475
  protected updateQuestionValue(valueName: string, newValue: any): void;
2470
2476
  private checkQuestionErrorOnValueChanged;
2471
2477
  private checkQuestionErrorOnValueChangedCore;
2472
2478
  private checkErrorsOnValueChanging;
2479
+ private fireOnValueChanged;
2473
2480
  protected notifyQuestionOnValueChanged(valueName: string, newValue: any, questionName: string): void;
2474
2481
  private isRunningElementsBindings;
2475
2482
  private updateVisibleIndexAfterBindings;
@@ -2525,6 +2532,8 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
2525
2532
  protected onLoadSurveyFromService(): void;
2526
2533
  private resetVisibleIndexes;
2527
2534
  private updateVisibleIndexes;
2535
+ private updatePageElementsVisibleIndexes;
2536
+ private getStartVisibleIndex;
2528
2537
  private updatePageVisibleIndexes;
2529
2538
  fromJSON(json: any, options?: ILoadFromJSONOptions): void;
2530
2539
  startLoadingFromJson(json?: any): void;
@@ -2871,6 +2880,10 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
2871
2880
  setTriggerValue(name: string, value: any, isVariable: boolean): void;
2872
2881
  copyTriggerValue(name: string, fromName: string, copyDisplayValue: boolean): void;
2873
2882
  triggerExecuted(trigger: Trigger): void;
2883
+ private setValueFromTriggerCounter;
2884
+ get isSettingValueFromTrigger(): boolean;
2885
+ private startSetValueFromTrigger;
2886
+ private finishSetValueFromTrigger;
2874
2887
  private focusingQuestionInfo;
2875
2888
  private isMovingQuestion;
2876
2889
  startMovingQuestion(): void;
@@ -25,6 +25,7 @@ export declare var surveyLocalization: {
25
25
  getLocales: (removeDefaultLoc?: boolean) => Array<string>;
26
26
  onGetExternalString: (name: string, locale: string) => string;
27
27
  };
28
+ export declare function getLocaleString(strName: string, locale?: string): string;
28
29
  export declare var surveyStrings: {
29
30
  pagePrevText: string;
30
31
  pageNextText: string;
@@ -16,11 +16,21 @@ interface IGroupAnimationInfo {
16
16
  isDeletingRunning: boolean;
17
17
  isAddingRunning: boolean;
18
18
  }
19
+ interface IGroupAnimationCompareInfo<T> {
20
+ addedItems: Array<T>;
21
+ deletedItems: Array<T>;
22
+ reorderedItems: Array<{
23
+ item: T;
24
+ movedForward: boolean;
25
+ }>;
26
+ mergedItems: Array<T>;
27
+ }
19
28
  export interface IAnimationGroupConsumer<T> extends IAnimationConsumer<[T]> {
20
29
  getLeaveOptions?(item: T, info?: IGroupAnimationInfo): AnimationOptions;
21
30
  getEnterOptions?(item: T, info?: IGroupAnimationInfo): AnimationOptions;
22
31
  getReorderOptions?(item: T, movedForward: boolean, info?: IGroupAnimationInfo): AnimationOptions;
23
32
  getKey?: (item: T) => any;
33
+ onCompareArrays?(options: IGroupAnimationCompareInfo<T>): void;
24
34
  allowSyncRemovalAddition?: boolean;
25
35
  }
26
36
  export declare class AnimationUtils {
@@ -27,7 +27,10 @@ export declare class Rect implements ISize, INumberPosition {
27
27
  export declare class PopupUtils {
28
28
  static bottomIndent: number;
29
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): {
30
+ static getCorrectedVerticalDimensions(top: number, height: number, windowHeight: number, verticalPosition: VerticalPosition, canShrink?: boolean, margins?: {
31
+ top: number;
32
+ bottom: number;
33
+ }): {
31
34
  height: number;
32
35
  top: number;
33
36
  };
@@ -5,7 +5,7 @@ interface IDimensions {
5
5
  offset: number;
6
6
  }
7
7
  export declare class ResponsivityManager {
8
- protected container: HTMLDivElement;
8
+ container: HTMLDivElement;
9
9
  private model;
10
10
  private itemsSelector;
11
11
  private dotsItemSize;
@@ -17,6 +17,8 @@ export declare class ResponsivityManager {
17
17
  private separatorAddConst;
18
18
  private paddingSizeConst;
19
19
  private dotsSizeConst;
20
+ private dotsIconClass;
21
+ private iconClass;
20
22
  protected recalcMinDimensionConst: boolean;
21
23
  getComputedStyle: (elt: Element) => CSSStyleDeclaration;
22
24
  constructor(container: HTMLDivElement, model: AdaptiveActionContainer, itemsSelector: string, dotsItemSize?: number, delayedUpdateFunction?: (callback: () => void) => void);
@@ -31,6 +31,7 @@ export declare class TextAreaModel {
31
31
  private onPropertyChangedCallback;
32
32
  constructor(options: ITextArea);
33
33
  setElement(element: HTMLTextAreaElement | null): void;
34
+ resetElement(): void;
34
35
  getTextValue(): string;
35
36
  onTextAreaChange(event: any): void;
36
37
  onTextAreaInput(event: any): void;
@@ -13,6 +13,7 @@ declare function findScrollableParent(element: HTMLElement): HTMLElement;
13
13
  declare function activateLazyRenderingChecks(id: string): void;
14
14
  declare function navigateToUrl(url: string): void;
15
15
  declare function wrapUrlForBackgroundImage(url: string): string;
16
+ declare function isBase64URL(url: string): boolean;
16
17
  declare const renamedIcons: any;
17
18
  declare function getIconNameFromProxy(iconName: string): string;
18
19
  export declare function getNewIconName(iconName: string): string;
@@ -72,4 +73,4 @@ export declare function setPropertiesOnElementForAnimation(el: HTMLElement, styl
72
73
  export declare function prepareElementForVerticalAnimation(el: HTMLElement): void;
73
74
  export declare function cleanHtmlElementAfterAnimation(el: HTMLElement): void;
74
75
  export declare function roundTo2Decimals(number: number): number;
75
- export { mergeValues, getElementWidth, isContainerVisible, classesToSelector, compareVersions, confirmAction, confirmActionAsync, detectIEOrEdge, detectIEBrowser, loadFileFromBase64, isMobile, isShadowDOM, getElement, isElementVisible, findScrollableParent, activateLazyRenderingChecks, navigateToUrl, wrapUrlForBackgroundImage, createSvg, getIconNameFromProxy, increaseHeightByContent, getOriginalEvent, preventDefaults, findParentByClassNames, getFirstVisibleChild, chooseFiles, renamedIcons };
76
+ export { mergeValues, getElementWidth, isContainerVisible, classesToSelector, compareVersions, confirmAction, confirmActionAsync, detectIEOrEdge, detectIEBrowser, loadFileFromBase64, isMobile, isShadowDOM, getElement, isElementVisible, findScrollableParent, activateLazyRenderingChecks, navigateToUrl, wrapUrlForBackgroundImage, createSvg, getIconNameFromProxy, increaseHeightByContent, getOriginalEvent, preventDefaults, findParentByClassNames, getFirstVisibleChild, chooseFiles, isBase64URL, renamedIcons };