survey-core 1.10.1 → 1.10.3

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 (253) hide show
  1. package/defaultV2.css +132 -20
  2. package/defaultV2.css.map +1 -1
  3. package/defaultV2.fontless.css +132 -20
  4. package/defaultV2.fontless.css.map +1 -1
  5. package/defaultV2.fontless.min.css +2 -2
  6. package/defaultV2.min.css +2 -2
  7. package/i18n/arabic.js +1 -1
  8. package/i18n/arabic.min.js +1 -1
  9. package/i18n/basque.js +1 -1
  10. package/i18n/basque.min.js +1 -1
  11. package/i18n/bulgarian.js +1 -1
  12. package/i18n/bulgarian.min.js +1 -1
  13. package/i18n/catalan.js +1 -1
  14. package/i18n/catalan.min.js +1 -1
  15. package/i18n/croatian.js +1 -1
  16. package/i18n/croatian.min.js +1 -1
  17. package/i18n/czech.js +1 -1
  18. package/i18n/czech.min.js +1 -1
  19. package/i18n/danish.js +1 -1
  20. package/i18n/danish.min.js +1 -1
  21. package/i18n/dutch.js +1 -1
  22. package/i18n/dutch.min.js +1 -1
  23. package/i18n/english.js +3 -3
  24. package/i18n/english.js.map +1 -1
  25. package/i18n/english.min.js +2 -2
  26. package/i18n/estonian.js +1 -1
  27. package/i18n/estonian.min.js +1 -1
  28. package/i18n/finnish.js +1 -1
  29. package/i18n/finnish.min.js +1 -1
  30. package/i18n/french.js +1 -1
  31. package/i18n/french.min.js +1 -1
  32. package/i18n/georgian.js +1 -1
  33. package/i18n/georgian.min.js +1 -1
  34. package/i18n/german.js +8 -25
  35. package/i18n/german.js.map +1 -1
  36. package/i18n/german.min.js +2 -2
  37. package/i18n/greek.js +1 -1
  38. package/i18n/greek.min.js +1 -1
  39. package/i18n/hebrew.js +1 -1
  40. package/i18n/hebrew.min.js +1 -1
  41. package/i18n/hindi.js +1 -1
  42. package/i18n/hindi.min.js +1 -1
  43. package/i18n/hungarian.js +1 -1
  44. package/i18n/hungarian.min.js +1 -1
  45. package/i18n/icelandic.js +1 -1
  46. package/i18n/icelandic.min.js +1 -1
  47. package/i18n/index.js +8 -25
  48. package/i18n/index.js.map +1 -1
  49. package/i18n/index.min.js +2 -2
  50. package/i18n/indonesian.js +1 -1
  51. package/i18n/indonesian.min.js +1 -1
  52. package/i18n/italian.js +1 -1
  53. package/i18n/italian.min.js +1 -1
  54. package/i18n/japanese.js +1 -1
  55. package/i18n/japanese.min.js +1 -1
  56. package/i18n/kazakh.js +1 -1
  57. package/i18n/kazakh.min.js +1 -1
  58. package/i18n/korean.js +1 -1
  59. package/i18n/korean.min.js +1 -1
  60. package/i18n/latvian.js +1 -1
  61. package/i18n/latvian.min.js +1 -1
  62. package/i18n/lithuanian.js +1 -1
  63. package/i18n/lithuanian.min.js +1 -1
  64. package/i18n/macedonian.js +1 -1
  65. package/i18n/macedonian.min.js +1 -1
  66. package/i18n/malay.js +1 -1
  67. package/i18n/malay.min.js +1 -1
  68. package/i18n/nl-BE.js +1 -1
  69. package/i18n/nl-BE.min.js +1 -1
  70. package/i18n/norwegian.js +1 -1
  71. package/i18n/norwegian.min.js +1 -1
  72. package/i18n/persian.js +1 -1
  73. package/i18n/persian.min.js +1 -1
  74. package/i18n/polish.js +1 -1
  75. package/i18n/polish.min.js +1 -1
  76. package/i18n/portuguese-br.js +1 -1
  77. package/i18n/portuguese-br.min.js +1 -1
  78. package/i18n/portuguese.js +1 -1
  79. package/i18n/portuguese.min.js +1 -1
  80. package/i18n/romanian.js +1 -1
  81. package/i18n/romanian.min.js +1 -1
  82. package/i18n/russian.js +1 -1
  83. package/i18n/russian.min.js +1 -1
  84. package/i18n/serbian.js +1 -1
  85. package/i18n/serbian.min.js +1 -1
  86. package/i18n/simplified-chinese.js +1 -1
  87. package/i18n/simplified-chinese.min.js +1 -1
  88. package/i18n/slovak.js +1 -1
  89. package/i18n/slovak.min.js +1 -1
  90. package/i18n/spanish.js +1 -1
  91. package/i18n/spanish.min.js +1 -1
  92. package/i18n/swahili.js +1 -1
  93. package/i18n/swahili.min.js +1 -1
  94. package/i18n/swedish.js +1 -1
  95. package/i18n/swedish.min.js +1 -1
  96. package/i18n/tajik.js +1 -1
  97. package/i18n/tajik.min.js +1 -1
  98. package/i18n/telugu.js +1 -1
  99. package/i18n/telugu.min.js +1 -1
  100. package/i18n/thai.js +1 -1
  101. package/i18n/thai.min.js +1 -1
  102. package/i18n/traditional-chinese.js +1 -1
  103. package/i18n/traditional-chinese.min.js +1 -1
  104. package/i18n/turkish.js +1 -1
  105. package/i18n/turkish.min.js +1 -1
  106. package/i18n/ukrainian.js +1 -1
  107. package/i18n/ukrainian.min.js +1 -1
  108. package/i18n/urdu.js +1 -1
  109. package/i18n/urdu.min.js +1 -1
  110. package/i18n/vietnamese.js +1 -1
  111. package/i18n/vietnamese.min.js +1 -1
  112. package/i18n/welsh.js +1 -1
  113. package/i18n/welsh.min.js +1 -1
  114. package/modern.css +13 -1
  115. package/modern.css.map +1 -1
  116. package/modern.fontless.css +13 -1
  117. package/modern.fontless.css.map +1 -1
  118. package/modern.fontless.min.css +2 -2
  119. package/modern.min.css +2 -2
  120. package/package.json +1 -1
  121. package/plugins/bootstrap-integration.js +1 -1
  122. package/plugins/bootstrap-integration.min.js +1 -1
  123. package/plugins/bootstrap-material-integration.js +1 -1
  124. package/plugins/bootstrap-material-integration.min.js +1 -1
  125. package/survey.core.js +327 -181
  126. package/survey.core.js.map +1 -1
  127. package/survey.core.min.js +3 -3
  128. package/survey.css +387 -1
  129. package/survey.css.map +1 -1
  130. package/survey.i18n.js +8 -25
  131. package/survey.i18n.js.map +1 -1
  132. package/survey.i18n.min.js +2 -2
  133. package/survey.min.css +2 -2
  134. package/themes/borderless-dark-panelless.js +1 -1
  135. package/themes/borderless-dark-panelless.min.js +1 -1
  136. package/themes/borderless-dark.js +1 -1
  137. package/themes/borderless-dark.min.js +1 -1
  138. package/themes/borderless-light-panelless..js +1 -1
  139. package/themes/borderless-light-panelless..min.js +1 -1
  140. package/themes/borderless-light.js +1 -1
  141. package/themes/borderless-light.min.js +1 -1
  142. package/themes/contrast-dark-panelless.js +1 -1
  143. package/themes/contrast-dark-panelless.min.js +1 -1
  144. package/themes/contrast-dark.js +1 -1
  145. package/themes/contrast-dark.min.js +1 -1
  146. package/themes/contrast-light-panelless.js +1 -1
  147. package/themes/contrast-light-panelless.min.js +1 -1
  148. package/themes/contrast-light.js +1 -1
  149. package/themes/contrast-light.min.js +1 -1
  150. package/themes/default-dark-panelless.js +1 -1
  151. package/themes/default-dark-panelless.min.js +1 -1
  152. package/themes/default-dark.js +1 -1
  153. package/themes/default-dark.min.js +1 -1
  154. package/themes/default-light-panelless.js +1 -1
  155. package/themes/default-light-panelless.min.js +1 -1
  156. package/themes/default-light.js +1 -1
  157. package/themes/default-light.min.js +1 -1
  158. package/themes/doubleborder-dark-panelless.js +1 -1
  159. package/themes/doubleborder-dark-panelless.min.js +1 -1
  160. package/themes/doubleborder-dark.js +1 -1
  161. package/themes/doubleborder-dark.min.js +1 -1
  162. package/themes/doubleborder-light-panelles.js +1 -1
  163. package/themes/doubleborder-light-panelles.min.js +1 -1
  164. package/themes/doubleborder-light.js +1 -1
  165. package/themes/doubleborder-light.min.js +1 -1
  166. package/themes/flat-dark-panelless.js +1 -1
  167. package/themes/flat-dark-panelless.min.js +1 -1
  168. package/themes/flat-dark.js +1 -1
  169. package/themes/flat-dark.min.js +1 -1
  170. package/themes/flat-light-panelless.js +1 -1
  171. package/themes/flat-light-panelless.min.js +1 -1
  172. package/themes/flat-light.js +1 -1
  173. package/themes/flat-light.min.js +1 -1
  174. package/themes/index.js +1 -1
  175. package/themes/index.min.js +1 -1
  176. package/themes/layered-dark-panelless.js +1 -1
  177. package/themes/layered-dark-panelless.min.js +1 -1
  178. package/themes/layered-dark.js +1 -1
  179. package/themes/layered-dark.min.js +1 -1
  180. package/themes/layered-light-panelless.js +1 -1
  181. package/themes/layered-light-panelless.min.js +1 -1
  182. package/themes/layered-light.js +1 -1
  183. package/themes/layered-light.min.js +1 -1
  184. package/themes/plain-dark-panelless.js +1 -1
  185. package/themes/plain-dark-panelless.min.js +1 -1
  186. package/themes/plain-dark.js +1 -1
  187. package/themes/plain-dark.min.js +1 -1
  188. package/themes/plain-light-panelless.js +1 -1
  189. package/themes/plain-light-panelless.min.js +1 -1
  190. package/themes/plain-light.js +1 -1
  191. package/themes/plain-light.min.js +1 -1
  192. package/themes/sharp-dark-panelless.js +1 -1
  193. package/themes/sharp-dark-panelless.min.js +1 -1
  194. package/themes/sharp-dark.js +1 -1
  195. package/themes/sharp-dark.min.js +1 -1
  196. package/themes/sharp-light-panelless.js +1 -1
  197. package/themes/sharp-light-panelless.min.js +1 -1
  198. package/themes/sharp-light.js +1 -1
  199. package/themes/sharp-light.min.js +1 -1
  200. package/themes/solid-dark-panelless.js +1 -1
  201. package/themes/solid-dark-panelless.min.js +1 -1
  202. package/themes/solid-dark.js +1 -1
  203. package/themes/solid-dark.min.js +1 -1
  204. package/themes/solid-light-panelless.js +1 -1
  205. package/themes/solid-light-panelless.min.js +1 -1
  206. package/themes/solid-light.js +1 -1
  207. package/themes/solid-light.min.js +1 -1
  208. package/themes/three-dimensional-dark-panelless.js +1 -1
  209. package/themes/three-dimensional-dark-panelless.min.js +1 -1
  210. package/themes/three-dimensional-dark.js +1 -1
  211. package/themes/three-dimensional-dark.min.js +1 -1
  212. package/themes/three-dimensional-light-panelless.js +1 -1
  213. package/themes/three-dimensional-light-panelless.min.js +1 -1
  214. package/themes/three-dimensional-light.js +1 -1
  215. package/themes/three-dimensional-light.min.js +1 -1
  216. package/ts3.4/typings/base.d.ts +6 -2
  217. package/ts3.4/typings/defaultCss/defaultV2Css.d.ts +2 -0
  218. package/ts3.4/typings/dragdrop/dom-adapter.d.ts +2 -0
  219. package/ts3.4/typings/dropdownListModel.d.ts +1 -0
  220. package/ts3.4/typings/list.d.ts +2 -2
  221. package/ts3.4/typings/multiSelectListModel.d.ts +1 -1
  222. package/ts3.4/typings/page.d.ts +0 -2
  223. package/ts3.4/typings/panel.d.ts +2 -0
  224. package/ts3.4/typings/popup.d.ts +8 -12
  225. package/ts3.4/typings/question_baseselect.d.ts +1 -1
  226. package/ts3.4/typings/question_boolean.d.ts +5 -0
  227. package/ts3.4/typings/question_file.d.ts +2 -1
  228. package/ts3.4/typings/question_imagepicker.d.ts +1 -0
  229. package/ts3.4/typings/question_matrix.d.ts +3 -3
  230. package/ts3.4/typings/question_radiogroup.d.ts +1 -0
  231. package/ts3.4/typings/question_tagbox.d.ts +2 -0
  232. package/ts3.4/typings/rendererFactory.d.ts +3 -2
  233. package/ts3.4/typings/survey.d.ts +1 -0
  234. package/ts3.4/typings/utils/animation.d.ts +1 -0
  235. package/typings/base.d.ts +6 -2
  236. package/typings/defaultCss/defaultV2Css.d.ts +2 -0
  237. package/typings/dragdrop/dom-adapter.d.ts +2 -0
  238. package/typings/dropdownListModel.d.ts +1 -0
  239. package/typings/list.d.ts +2 -2
  240. package/typings/multiSelectListModel.d.ts +1 -1
  241. package/typings/page.d.ts +0 -2
  242. package/typings/panel.d.ts +2 -0
  243. package/typings/popup.d.ts +8 -12
  244. package/typings/question_baseselect.d.ts +1 -1
  245. package/typings/question_boolean.d.ts +5 -0
  246. package/typings/question_file.d.ts +3 -1
  247. package/typings/question_imagepicker.d.ts +1 -0
  248. package/typings/question_matrix.d.ts +4 -3
  249. package/typings/question_radiogroup.d.ts +1 -0
  250. package/typings/question_tagbox.d.ts +2 -0
  251. package/typings/rendererFactory.d.ts +3 -2
  252. package/typings/survey.d.ts +1 -0
  253. package/typings/utils/animation.d.ts +1 -0
@@ -4,8 +4,8 @@ import { VerticalPosition, HorizontalPosition, PositionMode } from "./utils/popu
4
4
  export interface IPopupOptionsBase {
5
5
  onHide?: () => void;
6
6
  onShow?: () => void;
7
- onApply?: () => boolean;
8
7
  onCancel?: () => void;
8
+ onDispose?: () => void;
9
9
  cssClass?: string;
10
10
  title?: string;
11
11
  verticalPosition?: VerticalPosition;
@@ -20,15 +20,15 @@ export interface IDialogOptions extends IPopupOptionsBase {
20
20
  onApply: () => boolean;
21
21
  isFocusedContent?: boolean;
22
22
  }
23
- export interface IPopupModel<T = any> extends IDialogOptions {
24
- contentComponentName: string;
25
- contentComponentData: T;
26
- }
27
- export declare class PopupModel<T = any> extends Base {
28
- private onDispose;
23
+ export declare class PopupModel<T = any> extends Base implements IPopupOptionsBase {
29
24
  setWidthByTarget: boolean;
30
25
  focusFirstInputSelector: string;
31
26
  locale: string;
27
+ onCancel: () => void;
28
+ onApply: () => boolean;
29
+ onHide: () => void;
30
+ onShow: () => void;
31
+ onDispose: () => void;
32
32
  contentComponentName: string;
33
33
  contentComponentData: T;
34
34
  verticalPosition: VerticalPosition;
@@ -37,10 +37,6 @@ export declare class PopupModel<T = any> extends Base {
37
37
  isModal: boolean;
38
38
  isFocusedContent: boolean;
39
39
  isFocusedContainer: boolean;
40
- onCancel: () => void;
41
- onApply: () => boolean;
42
- onHide: () => void;
43
- onShow: () => void;
44
40
  cssClass: string;
45
41
  title: string;
46
42
  overlayDisplayMode: "auto" | "overlay" | "dropdown-overlay";
@@ -50,7 +46,7 @@ export declare class PopupModel<T = any> extends Base {
50
46
  onFooterActionsCreated: EventBase<Base>;
51
47
  onRecalculatePosition: EventBase<Base>;
52
48
  private refreshInnerModel;
53
- constructor(contentComponentName: string, contentComponentData: T, verticalPosition?: VerticalPosition, horizontalPosition?: HorizontalPosition, showPointer?: boolean, isModal?: boolean, onCancel?: () => void, onApply?: () => boolean, onHide?: () => void, onShow?: () => void, cssClass?: string, title?: string, onDispose?: () => void);
49
+ constructor(contentComponentName: string, contentComponentData: T, option1?: IPopupOptionsBase | any, option2?: any);
54
50
  isVisible: boolean;
55
51
  toggleVisibility(): void;
56
52
  recalculatePosition(isResetHeight: boolean): void;
@@ -167,7 +167,7 @@ export declare class QuestionSelectBase extends Question {
167
167
  private setConditionalChoicesRunner;
168
168
  private setConditionalEnableChoicesRunner;
169
169
  private canSurveyChangeItemVisibility;
170
- changeItemVisisbility(): (item: ItemValue, val: boolean) => boolean;
170
+ private changeItemVisibility;
171
171
  private runConditionsForItems;
172
172
  protected getHasOther(val: any): boolean;
173
173
  protected getIsItemValue(val: any, item: ItemValue): boolean;
@@ -28,6 +28,11 @@ export declare class QuestionBooleanModel extends Question {
28
28
  getDefaultValue(): any;
29
29
  readonly locTitle: LocalizableString;
30
30
  readonly labelRenderedAriaID: string;
31
+ leftAnswerElement: HTMLElement;
32
+ thumbMargin: string;
33
+ updateThumbMargin(): void;
34
+ afterRender(el: HTMLElement): void;
35
+ beforeDestroyQuestionElement(el: HTMLElement): void;
31
36
  showTitle: boolean;
32
37
  label: string;
33
38
  readonly isLabelRendered: boolean;
@@ -154,10 +154,11 @@ export declare class QuestionFileModel extends QuestionFileModelBase {
154
154
  takePhotoCaption: string;
155
155
  readonly locTakePhotoCaption: LocalizableString;
156
156
  replaceButtonCaption: string;
157
- clearButtonCaption: string;
158
157
  removeFileCaption: string;
159
158
  loadingFileTitle: string;
160
159
  chooseFileTitle: string;
160
+ clearButtonCaption: string;
161
+ readonly locClearButtonCaption: LocalizableString;
161
162
  /**
162
163
  * A placeholder text displayed when the File Upload question doesn't contain any files or photos to upload. Applies only when [`sourceType`](#sourceType) value is `"file-camera"`.
163
164
  * @see filePlaceholder
@@ -145,6 +145,7 @@ export declare class QuestionImagePickerModel extends QuestionCheckboxBase {
145
145
  protected getObservedElementSelector(): string;
146
146
  protected supportResponsiveness(): boolean;
147
147
  protected needResponsiveness(): boolean;
148
+ needResponsiveWidth(): boolean;
148
149
  private _width;
149
150
  onContentLoaded: (item: ImageItemValue, event: any) => void;
150
151
  private responsiveColCount;
@@ -27,6 +27,7 @@ export declare class MatrixRowModel extends Base {
27
27
  setValueDirectly(val: any): void;
28
28
  readonly isReadOnly: boolean;
29
29
  readonly rowTextClasses: string;
30
+ hasError: boolean;
30
31
  readonly rowClasses: string;
31
32
  }
32
33
  export interface IMatrixCellsOwner extends ILocalizableOwner {
@@ -134,11 +135,10 @@ export declare class QuestionMatrixModel extends QuestionMatrixBaseModel<MatrixR
134
135
  supportGoNextPageAutomatic(): boolean;
135
136
  private errorsInRow;
136
137
  protected onCheckForErrors(errors: Array<SurveyError>, isOnValueChanged: boolean): void;
137
- private hasErrorAllRowsRequired;
138
- private hasErrorEachRowUnique;
139
138
  private hasValuesInAllRows;
140
- private hasNonUniqueValueInRow;
139
+ private checkErrorsAllRows;
141
140
  private addErrorIntoRow;
141
+ private refreshRowsErrors;
142
142
  protected getIsAnswered(): boolean;
143
143
  private createMatrixRow;
144
144
  protected onMatrixRowCreated(row: MatrixRowModel): void;
@@ -24,6 +24,7 @@ export declare class QuestionRadiogroupModel extends QuestionCheckboxBase {
24
24
  readonly canShowClearButton: boolean;
25
25
  readonly clearButtonCaption: string;
26
26
  supportGoNextPageAutomatic(): boolean;
27
+ getConditionJson(operator?: string, path?: string): any;
27
28
  protected setNewComment(newValue: string): void;
28
29
  readonly showClearButtonInContent: boolean;
29
30
  clickItemHandler(item: ItemValue): void;
@@ -17,6 +17,8 @@ export declare class QuestionTagboxModel extends QuestionCheckboxModel {
17
17
  private updateReadOnlyText;
18
18
  protected getDefaultItemComponent(): string;
19
19
  onSurveyLoad(): void;
20
+ protected onSetData(): void;
21
+ private createDropdownListModel;
20
22
  /**
21
23
  * Specifies a comparison operation used to filter the drop-down list. Applies only if [`searchEnabled`](#searchEnabled) is `true`.
22
24
  *
@@ -2,9 +2,10 @@ import { Question } from "./question";
2
2
  export declare class RendererFactory {
3
3
  static Instance: RendererFactory;
4
4
  private renderersHash;
5
+ private defaultHash;
5
6
  unregisterRenderer(questionType: string, rendererAs: string): void;
6
- registerRenderer(questionType: string, renderAs: string, renderer: any): void;
7
- getRenderer(questionType: string, renderAs: string): any;
7
+ registerRenderer(questionType: string, renderAs: string, renderer: any, useAsDefault?: boolean): void;
8
+ getRenderer(questionType: string, renderAs: string): string;
8
9
  getRendererByQuestion(question: Question): any;
9
10
  clear(): void;
10
11
  }
@@ -2741,4 +2741,5 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
2741
2741
  onScroll(): void;
2742
2742
  addScrollEventListener(): void;
2743
2743
  removeScrollEventListener(): void;
2744
+ questionErrorComponent: string;
2744
2745
  }
@@ -20,6 +20,7 @@ export declare class AnimationUtils {
20
20
  private removeCancelCallback;
21
21
  protected onAnimationEnd(element: HTMLElement, callback: (isCancel?: boolean) => void, options: AnimationOptions): void;
22
22
  protected beforeAnimationRun(element: HTMLElement, options: AnimationOptions | AnimationOptions): void;
23
+ private getCssClasses;
23
24
  protected runAnimation(element: HTMLElement, options: AnimationOptions, callback: (isCancel?: boolean) => void): void;
24
25
  protected clearHtmlElement(element: HTMLElement, options: AnimationOptions): void;
25
26
  protected onNextRender(callback: () => void, runEarly?: () => boolean, isCancel?: boolean): void;
package/typings/base.d.ts CHANGED
@@ -103,6 +103,8 @@ export declare class Base {
103
103
  * A new value for the property.
104
104
  * - `options.oldValue`: `any`\
105
105
  * An old value of the property. If the property is an array, `oldValue` contains the same array as `newValue` does.
106
+ *
107
+ * If you need to add and remove property change event handlers dynamically, use the [`registerPropertyChangedHandlers`](#registerPropertyChangedHandlers) and [`unregisterPropertyChangedHandlers`](#unregisterPropertyChangedHandlers) methods instead.
106
108
  */
107
109
  onPropertyChanged: EventBase<Base>;
108
110
  /**
@@ -249,9 +251,11 @@ export declare class Base {
249
251
  get isAsyncExpressionRunning(): boolean;
250
252
  protected createExpressionRunner(expression: string): ExpressionRunner;
251
253
  /**
252
- * Registers a function to call when a property value changes.
254
+ * Registers a single value change handler for one or multiple properties.
255
+ *
256
+ * The `registerPropertyChangedHandlers` and [`unregisterPropertyChangedHandlers`](#unregisterPropertyChangedHandlers) methods allow you to manage property change event handlers dynamically. If you only need to attach an event handler without removing it afterwards, you can use the [`onPropertyChanged`](#onPropertyChanged) event instead.
253
257
  * @param propertyNames An array of one or multiple property names.
254
- * @param handler A function to call when one of the listed properties change.
258
+ * @param handler A function to call when one of the listed properties change. Accepts a new property value as an argument.
255
259
  * @param key *(Optional)* A key that identifies the current registration. If a function for one of the properties is already registered with the same key, the function will be overwritten. You can also use the key to subsequently unregister handlers.
256
260
  * @see unregisterPropertyChangedHandlers
257
261
  */
@@ -619,6 +619,8 @@ export declare var defaultV2Css: {
619
619
  selectWrapper: string;
620
620
  controlValue: string;
621
621
  controlDisabled: string;
622
+ controlReadOnly: string;
623
+ controlPreview: string;
622
624
  controlEmpty: string;
623
625
  filterStringInput: string;
624
626
  chevronButton: string;
@@ -32,6 +32,8 @@ export declare class DragDropDOMAdapter implements IDragDropDOMAdapter {
32
32
  private moveShortcutElement;
33
33
  private getShortcutBottomCoordinate;
34
34
  private getShortcutRightCoordinate;
35
+ protected requestAnimationFrame(callback: any): number;
36
+ protected scrollByDrag(scrollableParentNode: HTMLElement, clientY: number, clientX: number): void;
35
37
  private doScroll;
36
38
  private dragOver;
37
39
  private clear;
@@ -72,6 +72,7 @@ export declare class DropdownListModel extends Base {
72
72
  get filterStringEnabled(): boolean;
73
73
  get inputMode(): "none" | "text";
74
74
  setSearchEnabled(newValue: boolean): void;
75
+ setChoicesLazyLoadEnabled(newValue: boolean): void;
75
76
  updateItems(): void;
76
77
  onClick(event: any): void;
77
78
  chevronPointerDown(event: any): void;
package/typings/list.d.ts CHANGED
@@ -32,10 +32,10 @@ export interface IListModel {
32
32
  export declare class ListModel<T extends BaseAction = Action> extends ActionContainer<T> {
33
33
  onSelectionChanged: (item: T, ...params: any[]) => void;
34
34
  allowSelection: boolean;
35
- private onFilterStringChangedCallback?;
36
35
  elementId?: string;
37
36
  private listContainerHtmlElement;
38
37
  private loadingIndicatorValue;
38
+ private onFilterStringChangedCallback?;
39
39
  searchEnabled: boolean;
40
40
  showFilter: boolean;
41
41
  forceShowFilter: boolean;
@@ -58,7 +58,7 @@ export declare class ListModel<T extends BaseAction = Action> extends ActionCont
58
58
  private get shouldProcessFilter();
59
59
  private onFilterStringChanged;
60
60
  private scrollToItem;
61
- constructor(items: Array<IAction>, onSelectionChanged: (item: T, ...params: any[]) => void, allowSelection: boolean, selectedItem?: IAction, onFilterStringChangedCallback?: (text: string) => void, elementId?: string);
61
+ constructor(items: Array<IAction>, onSelectionChanged: (item: T, ...params: any[]) => void, allowSelection: boolean, selectedItem?: IAction, elementId?: string);
62
62
  private onTextSearchCallback;
63
63
  setOnFilterStringChangedCallback(callback: (text: string) => void): void;
64
64
  setOnTextSearchCallback(callback: (item: T, textToSearch: string) => boolean): void;
@@ -4,7 +4,7 @@ export declare class MultiSelectListModel<T extends BaseAction = Action> extends
4
4
  selectedItems: Array<IAction>;
5
5
  hideSelectedItems: boolean;
6
6
  private updateItemState;
7
- constructor(items: Array<IAction>, onSelectionChanged: (item: T, status: string) => void, allowSelection: boolean, selectedItems?: Array<IAction>, onFilterStringChangedCallback?: (text: string) => void, elementId?: string);
7
+ constructor(items: Array<IAction>, onSelectionChanged: (item: T, status: string) => void, allowSelection: boolean, selectedItems?: Array<IAction>, elementId?: string);
8
8
  onItemClick: (item: T) => void;
9
9
  isItemDisabled: (itemValue: T) => boolean;
10
10
  isItemSelected: (itemValue: T) => boolean;
package/typings/page.d.ts CHANGED
@@ -22,7 +22,6 @@ export declare class PageModel extends PanelModelBase implements IPage {
22
22
  */
23
23
  get navigationTitle(): string;
24
24
  set navigationTitle(val: string);
25
- get locNavigationTitle(): LocalizableString;
26
25
  /**
27
26
  * Explanatory text displayed under a navigation button in the progress bar. Applies when the [progress bar is visible](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#showProgressBar), `SurveyModel`'s [`progressBarType`](https://surveyjs.io/form-library/documentation/surveymodel#progressBarType) is set to `"pages"`, and [`progressBarShowPageTitles`](https://surveyjs.io/form-library/documentation/surveymodel#progressBarShowPageTitles) is `true`.
28
27
  */
@@ -30,7 +29,6 @@ export declare class PageModel extends PanelModelBase implements IPage {
30
29
  set navigationDescription(val: string);
31
30
  get locNavigationDescription(): LocalizableString;
32
31
  navigationLocStrChanged(): void;
33
- get renderedNavigationTitle(): string;
34
32
  get passed(): boolean;
35
33
  set passed(val: boolean);
36
34
  protected removeFromParent(): void;
@@ -84,6 +84,8 @@ export declare class PanelModelBase extends SurveyElement<Question> implements I
84
84
  get _showDescription(): boolean;
85
85
  localeChanged(): void;
86
86
  locStrsChanged(): void;
87
+ getMarkdownHtml(text: string, name: string): string;
88
+ get locNavigationTitle(): LocalizableString;
87
89
  get renderedNavigationTitle(): string;
88
90
  /**
89
91
  * Returns a character or text string that indicates a required panel/page.
@@ -4,8 +4,8 @@ import { VerticalPosition, HorizontalPosition, PositionMode } from "./utils/popu
4
4
  export interface IPopupOptionsBase {
5
5
  onHide?: () => void;
6
6
  onShow?: () => void;
7
- onApply?: () => boolean;
8
7
  onCancel?: () => void;
8
+ onDispose?: () => void;
9
9
  cssClass?: string;
10
10
  title?: string;
11
11
  verticalPosition?: VerticalPosition;
@@ -20,15 +20,15 @@ export interface IDialogOptions extends IPopupOptionsBase {
20
20
  onApply: () => boolean;
21
21
  isFocusedContent?: boolean;
22
22
  }
23
- export interface IPopupModel<T = any> extends IDialogOptions {
24
- contentComponentName: string;
25
- contentComponentData: T;
26
- }
27
- export declare class PopupModel<T = any> extends Base {
28
- private onDispose;
23
+ export declare class PopupModel<T = any> extends Base implements IPopupOptionsBase {
29
24
  setWidthByTarget: boolean;
30
25
  focusFirstInputSelector: string;
31
26
  locale: string;
27
+ onCancel: () => void;
28
+ onApply: () => boolean;
29
+ onHide: () => void;
30
+ onShow: () => void;
31
+ onDispose: () => void;
32
32
  contentComponentName: string;
33
33
  contentComponentData: T;
34
34
  verticalPosition: VerticalPosition;
@@ -37,10 +37,6 @@ export declare class PopupModel<T = any> extends Base {
37
37
  isModal: boolean;
38
38
  isFocusedContent: boolean;
39
39
  isFocusedContainer: boolean;
40
- onCancel: () => void;
41
- onApply: () => boolean;
42
- onHide: () => void;
43
- onShow: () => void;
44
40
  cssClass: string;
45
41
  title: string;
46
42
  overlayDisplayMode: "auto" | "overlay" | "dropdown-overlay";
@@ -50,7 +46,7 @@ export declare class PopupModel<T = any> extends Base {
50
46
  onFooterActionsCreated: EventBase<Base>;
51
47
  onRecalculatePosition: EventBase<Base>;
52
48
  private refreshInnerModel;
53
- constructor(contentComponentName: string, contentComponentData: T, verticalPosition?: VerticalPosition, horizontalPosition?: HorizontalPosition, showPointer?: boolean, isModal?: boolean, onCancel?: () => void, onApply?: () => boolean, onHide?: () => void, onShow?: () => void, cssClass?: string, title?: string, onDispose?: () => void);
49
+ constructor(contentComponentName: string, contentComponentData: T, option1?: IPopupOptionsBase | any, option2?: any);
54
50
  get isVisible(): boolean;
55
51
  set isVisible(value: boolean);
56
52
  toggleVisibility(): void;
@@ -178,7 +178,7 @@ export declare class QuestionSelectBase extends Question {
178
178
  private setConditionalChoicesRunner;
179
179
  private setConditionalEnableChoicesRunner;
180
180
  private canSurveyChangeItemVisibility;
181
- changeItemVisisbility(): (item: ItemValue, val: boolean) => boolean;
181
+ private changeItemVisibility;
182
182
  private runConditionsForItems;
183
183
  protected getHasOther(val: any): boolean;
184
184
  protected getIsItemValue(val: any, item: ItemValue): boolean;
@@ -31,6 +31,11 @@ export declare class QuestionBooleanModel extends Question {
31
31
  getDefaultValue(): any;
32
32
  get locTitle(): LocalizableString;
33
33
  get labelRenderedAriaID(): string;
34
+ leftAnswerElement: HTMLElement;
35
+ thumbMargin: string;
36
+ updateThumbMargin(): void;
37
+ afterRender(el: HTMLElement): void;
38
+ beforeDestroyQuestionElement(el: HTMLElement): void;
34
39
  showTitle: boolean;
35
40
  label: string;
36
41
  get isLabelRendered(): boolean;
@@ -165,10 +165,12 @@ export declare class QuestionFileModel extends QuestionFileModelBase {
165
165
  set takePhotoCaption(val: string);
166
166
  get locTakePhotoCaption(): LocalizableString;
167
167
  replaceButtonCaption: string;
168
- clearButtonCaption: string;
169
168
  removeFileCaption: string;
170
169
  loadingFileTitle: string;
171
170
  chooseFileTitle: string;
171
+ get clearButtonCaption(): string;
172
+ set clearButtonCaption(value: string);
173
+ get locClearButtonCaption(): LocalizableString;
172
174
  /**
173
175
  * A placeholder text displayed when the File Upload question doesn't contain any files or photos to upload. Applies only when [`sourceType`](#sourceType) value is `"file-camera"`.
174
176
  * @see filePlaceholder
@@ -153,6 +153,7 @@ export declare class QuestionImagePickerModel extends QuestionCheckboxBase {
153
153
  protected getObservedElementSelector(): string;
154
154
  protected supportResponsiveness(): boolean;
155
155
  protected needResponsiveness(): boolean;
156
+ needResponsiveWidth(): boolean;
156
157
  private _width;
157
158
  onContentLoaded: (item: ImageItemValue, event: any) => void;
158
159
  private responsiveColCount;
@@ -28,6 +28,8 @@ export declare class MatrixRowModel extends Base {
28
28
  setValueDirectly(val: any): void;
29
29
  get isReadOnly(): boolean;
30
30
  get rowTextClasses(): string;
31
+ get hasError(): boolean;
32
+ set hasError(val: boolean);
31
33
  get rowClasses(): string;
32
34
  }
33
35
  export interface IMatrixCellsOwner extends ILocalizableOwner {
@@ -140,11 +142,10 @@ export declare class QuestionMatrixModel extends QuestionMatrixBaseModel<MatrixR
140
142
  supportGoNextPageAutomatic(): boolean;
141
143
  private errorsInRow;
142
144
  protected onCheckForErrors(errors: Array<SurveyError>, isOnValueChanged: boolean): void;
143
- private hasErrorAllRowsRequired;
144
- private hasErrorEachRowUnique;
145
145
  private hasValuesInAllRows;
146
- private hasNonUniqueValueInRow;
146
+ private checkErrorsAllRows;
147
147
  private addErrorIntoRow;
148
+ private refreshRowsErrors;
148
149
  protected getIsAnswered(): boolean;
149
150
  private createMatrixRow;
150
151
  protected onMatrixRowCreated(row: MatrixRowModel): void;
@@ -25,6 +25,7 @@ export declare class QuestionRadiogroupModel extends QuestionCheckboxBase {
25
25
  get canShowClearButton(): boolean;
26
26
  get clearButtonCaption(): string;
27
27
  supportGoNextPageAutomatic(): boolean;
28
+ getConditionJson(operator?: string, path?: string): any;
28
29
  protected setNewComment(newValue: string): void;
29
30
  get showClearButtonInContent(): boolean;
30
31
  clickItemHandler(item: ItemValue): void;
@@ -17,6 +17,8 @@ export declare class QuestionTagboxModel extends QuestionCheckboxModel {
17
17
  private updateReadOnlyText;
18
18
  protected getDefaultItemComponent(): string;
19
19
  onSurveyLoad(): void;
20
+ protected onSetData(): void;
21
+ private createDropdownListModel;
20
22
  /**
21
23
  * Specifies a comparison operation used to filter the drop-down list. Applies only if [`searchEnabled`](#searchEnabled) is `true`.
22
24
  *
@@ -2,9 +2,10 @@ import { Question } from "./question";
2
2
  export declare class RendererFactory {
3
3
  static Instance: RendererFactory;
4
4
  private renderersHash;
5
+ private defaultHash;
5
6
  unregisterRenderer(questionType: string, rendererAs: string): void;
6
- registerRenderer(questionType: string, renderAs: string, renderer: any): void;
7
- getRenderer(questionType: string, renderAs: string): any;
7
+ registerRenderer(questionType: string, renderAs: string, renderer: any, useAsDefault?: boolean): void;
8
+ getRenderer(questionType: string, renderAs: string): string;
8
9
  getRendererByQuestion(question: Question): any;
9
10
  clear(): void;
10
11
  }
@@ -2834,4 +2834,5 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
2834
2834
  onScroll(): void;
2835
2835
  addScrollEventListener(): void;
2836
2836
  removeScrollEventListener(): void;
2837
+ questionErrorComponent: string;
2837
2838
  }
@@ -19,6 +19,7 @@ export declare class AnimationUtils {
19
19
  private removeCancelCallback;
20
20
  protected onAnimationEnd(element: HTMLElement, callback: (isCancel?: boolean) => void, options: AnimationOptions): void;
21
21
  protected beforeAnimationRun(element: HTMLElement, options: AnimationOptions | AnimationOptions): void;
22
+ private getCssClasses;
22
23
  protected runAnimation(element: HTMLElement, options: AnimationOptions, callback: (isCancel?: boolean) => void): void;
23
24
  protected clearHtmlElement(element: HTMLElement, options: AnimationOptions): void;
24
25
  protected onNextRender(callback: () => void, runEarly?: () => boolean, isCancel?: boolean): void;