survey-core 1.11.2 → 1.11.4

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 (306) hide show
  1. package/defaultV2.css +66 -27
  2. package/defaultV2.css.map +1 -1
  3. package/defaultV2.fontless.css +66 -27
  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 +3 -2
  8. package/i18n/arabic.js.map +1 -1
  9. package/i18n/arabic.min.js +2 -2
  10. package/i18n/basque.js +3 -2
  11. package/i18n/basque.js.map +1 -1
  12. package/i18n/basque.min.js +2 -2
  13. package/i18n/bulgarian.js +3 -2
  14. package/i18n/bulgarian.js.map +1 -1
  15. package/i18n/bulgarian.min.js +2 -2
  16. package/i18n/catalan.js +3 -2
  17. package/i18n/catalan.js.map +1 -1
  18. package/i18n/catalan.min.js +2 -2
  19. package/i18n/croatian.js +3 -2
  20. package/i18n/croatian.js.map +1 -1
  21. package/i18n/croatian.min.js +2 -2
  22. package/i18n/czech.js +3 -2
  23. package/i18n/czech.js.map +1 -1
  24. package/i18n/czech.min.js +2 -2
  25. package/i18n/danish.js +3 -2
  26. package/i18n/danish.js.map +1 -1
  27. package/i18n/danish.min.js +2 -2
  28. package/i18n/dutch.js +3 -2
  29. package/i18n/dutch.js.map +1 -1
  30. package/i18n/dutch.min.js +2 -2
  31. package/i18n/english.js +2 -1
  32. package/i18n/english.js.map +1 -1
  33. package/i18n/english.min.js +2 -2
  34. package/i18n/estonian.js +3 -2
  35. package/i18n/estonian.js.map +1 -1
  36. package/i18n/estonian.min.js +2 -2
  37. package/i18n/finnish.js +3 -2
  38. package/i18n/finnish.js.map +1 -1
  39. package/i18n/finnish.min.js +2 -2
  40. package/i18n/french.js +3 -2
  41. package/i18n/french.js.map +1 -1
  42. package/i18n/french.min.js +2 -2
  43. package/i18n/georgian.js +3 -2
  44. package/i18n/georgian.js.map +1 -1
  45. package/i18n/georgian.min.js +2 -2
  46. package/i18n/german.js +3 -1
  47. package/i18n/german.js.map +1 -1
  48. package/i18n/german.min.js +2 -2
  49. package/i18n/greek.js +3 -2
  50. package/i18n/greek.js.map +1 -1
  51. package/i18n/greek.min.js +2 -2
  52. package/i18n/hebrew.js +4 -3
  53. package/i18n/hebrew.js.map +1 -1
  54. package/i18n/hebrew.min.js +2 -2
  55. package/i18n/hindi.js +3 -2
  56. package/i18n/hindi.js.map +1 -1
  57. package/i18n/hindi.min.js +2 -2
  58. package/i18n/hungarian.js +3 -2
  59. package/i18n/hungarian.js.map +1 -1
  60. package/i18n/hungarian.min.js +2 -2
  61. package/i18n/icelandic.js +3 -2
  62. package/i18n/icelandic.js.map +1 -1
  63. package/i18n/icelandic.min.js +2 -2
  64. package/i18n/index.js +101 -50
  65. package/i18n/index.js.map +1 -1
  66. package/i18n/index.min.js +2 -2
  67. package/i18n/indonesian.js +3 -2
  68. package/i18n/indonesian.js.map +1 -1
  69. package/i18n/indonesian.min.js +2 -2
  70. package/i18n/italian.js +3 -2
  71. package/i18n/italian.js.map +1 -1
  72. package/i18n/italian.min.js +2 -2
  73. package/i18n/japanese.js +3 -2
  74. package/i18n/japanese.js.map +1 -1
  75. package/i18n/japanese.min.js +2 -2
  76. package/i18n/kazakh.js +3 -2
  77. package/i18n/kazakh.js.map +1 -1
  78. package/i18n/kazakh.min.js +2 -2
  79. package/i18n/korean.js +3 -2
  80. package/i18n/korean.js.map +1 -1
  81. package/i18n/korean.min.js +2 -2
  82. package/i18n/latvian.js +3 -2
  83. package/i18n/latvian.js.map +1 -1
  84. package/i18n/latvian.min.js +2 -2
  85. package/i18n/lithuanian.js +3 -2
  86. package/i18n/lithuanian.js.map +1 -1
  87. package/i18n/lithuanian.min.js +2 -2
  88. package/i18n/macedonian.js +3 -2
  89. package/i18n/macedonian.js.map +1 -1
  90. package/i18n/macedonian.min.js +2 -2
  91. package/i18n/malay.js +3 -2
  92. package/i18n/malay.js.map +1 -1
  93. package/i18n/malay.min.js +2 -2
  94. package/i18n/nl-BE.js +3 -2
  95. package/i18n/nl-BE.js.map +1 -1
  96. package/i18n/nl-BE.min.js +2 -2
  97. package/i18n/norwegian.js +3 -2
  98. package/i18n/norwegian.js.map +1 -1
  99. package/i18n/norwegian.min.js +2 -2
  100. package/i18n/persian.js +3 -2
  101. package/i18n/persian.js.map +1 -1
  102. package/i18n/persian.min.js +2 -2
  103. package/i18n/philippines.js +6 -3
  104. package/i18n/philippines.js.map +1 -1
  105. package/i18n/philippines.min.js +2 -2
  106. package/i18n/polish.js +3 -2
  107. package/i18n/polish.js.map +1 -1
  108. package/i18n/polish.min.js +2 -2
  109. package/i18n/portuguese-br.js +3 -2
  110. package/i18n/portuguese-br.js.map +1 -1
  111. package/i18n/portuguese-br.min.js +2 -2
  112. package/i18n/portuguese.js +3 -2
  113. package/i18n/portuguese.js.map +1 -1
  114. package/i18n/portuguese.min.js +2 -2
  115. package/i18n/romanian.js +3 -2
  116. package/i18n/romanian.js.map +1 -1
  117. package/i18n/romanian.min.js +2 -2
  118. package/i18n/russian.js +3 -2
  119. package/i18n/russian.js.map +1 -1
  120. package/i18n/russian.min.js +2 -2
  121. package/i18n/serbian.js +3 -2
  122. package/i18n/serbian.js.map +1 -1
  123. package/i18n/serbian.min.js +2 -2
  124. package/i18n/simplified-chinese.js +3 -2
  125. package/i18n/simplified-chinese.js.map +1 -1
  126. package/i18n/simplified-chinese.min.js +2 -2
  127. package/i18n/slovak.js +3 -2
  128. package/i18n/slovak.js.map +1 -1
  129. package/i18n/slovak.min.js +2 -2
  130. package/i18n/spanish.js +3 -2
  131. package/i18n/spanish.js.map +1 -1
  132. package/i18n/spanish.min.js +2 -2
  133. package/i18n/swahili.js +3 -2
  134. package/i18n/swahili.js.map +1 -1
  135. package/i18n/swahili.min.js +2 -2
  136. package/i18n/swedish.js +3 -2
  137. package/i18n/swedish.js.map +1 -1
  138. package/i18n/swedish.min.js +2 -2
  139. package/i18n/tajik.js +1 -1
  140. package/i18n/tajik.min.js +1 -1
  141. package/i18n/telugu.js +3 -2
  142. package/i18n/telugu.js.map +1 -1
  143. package/i18n/telugu.min.js +2 -2
  144. package/i18n/thai.js +3 -2
  145. package/i18n/thai.js.map +1 -1
  146. package/i18n/thai.min.js +2 -2
  147. package/i18n/traditional-chinese.js +3 -2
  148. package/i18n/traditional-chinese.js.map +1 -1
  149. package/i18n/traditional-chinese.min.js +2 -2
  150. package/i18n/turkish.js +3 -2
  151. package/i18n/turkish.js.map +1 -1
  152. package/i18n/turkish.min.js +2 -2
  153. package/i18n/ukrainian.js +3 -2
  154. package/i18n/ukrainian.js.map +1 -1
  155. package/i18n/ukrainian.min.js +2 -2
  156. package/i18n/urdu.js +3 -2
  157. package/i18n/urdu.js.map +1 -1
  158. package/i18n/urdu.min.js +2 -2
  159. package/i18n/vietnamese.js +3 -2
  160. package/i18n/vietnamese.js.map +1 -1
  161. package/i18n/vietnamese.min.js +2 -2
  162. package/i18n/welsh.js +3 -2
  163. package/i18n/welsh.js.map +1 -1
  164. package/i18n/welsh.min.js +2 -2
  165. package/modern.css +11 -23
  166. package/modern.css.map +1 -1
  167. package/modern.fontless.css +11 -23
  168. package/modern.fontless.css.map +1 -1
  169. package/modern.fontless.min.css +2 -2
  170. package/modern.min.css +2 -2
  171. package/package.json +1 -1
  172. package/plugins/bootstrap-integration.js +1 -1
  173. package/plugins/bootstrap-integration.min.js +1 -1
  174. package/plugins/bootstrap-material-integration.js +1 -1
  175. package/plugins/bootstrap-material-integration.min.js +1 -1
  176. package/survey.core.js +228 -93
  177. package/survey.core.js.map +1 -1
  178. package/survey.core.min.js +3 -3
  179. package/survey.css +11 -23
  180. package/survey.css.map +1 -1
  181. package/survey.i18n.js +101 -50
  182. package/survey.i18n.js.map +1 -1
  183. package/survey.i18n.min.js +2 -2
  184. package/survey.min.css +2 -2
  185. package/themes/borderless-dark-panelless.js +1 -1
  186. package/themes/borderless-dark-panelless.min.js +1 -1
  187. package/themes/borderless-dark.js +1 -1
  188. package/themes/borderless-dark.min.js +1 -1
  189. package/themes/borderless-light-panelless..js +1 -1
  190. package/themes/borderless-light-panelless..min.js +1 -1
  191. package/themes/borderless-light.js +1 -1
  192. package/themes/borderless-light.min.js +1 -1
  193. package/themes/contrast-dark-panelless.js +1 -1
  194. package/themes/contrast-dark-panelless.min.js +1 -1
  195. package/themes/contrast-dark.js +1 -1
  196. package/themes/contrast-dark.min.js +1 -1
  197. package/themes/contrast-light-panelless.js +1 -1
  198. package/themes/contrast-light-panelless.min.js +1 -1
  199. package/themes/contrast-light.js +1 -1
  200. package/themes/contrast-light.min.js +1 -1
  201. package/themes/default-dark-panelless.js +1 -1
  202. package/themes/default-dark-panelless.min.js +1 -1
  203. package/themes/default-dark.js +1 -1
  204. package/themes/default-dark.min.js +1 -1
  205. package/themes/default-light-panelless.js +1 -1
  206. package/themes/default-light-panelless.min.js +1 -1
  207. package/themes/default-light.js +1 -1
  208. package/themes/default-light.min.js +1 -1
  209. package/themes/doubleborder-dark-panelless.js +1 -1
  210. package/themes/doubleborder-dark-panelless.min.js +1 -1
  211. package/themes/doubleborder-dark.js +1 -1
  212. package/themes/doubleborder-dark.min.js +1 -1
  213. package/themes/doubleborder-light-panelles.js +1 -1
  214. package/themes/doubleborder-light-panelles.min.js +1 -1
  215. package/themes/doubleborder-light.js +1 -1
  216. package/themes/doubleborder-light.min.js +1 -1
  217. package/themes/flat-dark-panelless.js +1 -1
  218. package/themes/flat-dark-panelless.min.js +1 -1
  219. package/themes/flat-dark.js +1 -1
  220. package/themes/flat-dark.min.js +1 -1
  221. package/themes/flat-light-panelless.js +1 -1
  222. package/themes/flat-light-panelless.min.js +1 -1
  223. package/themes/flat-light.js +1 -1
  224. package/themes/flat-light.min.js +1 -1
  225. package/themes/index.js +1 -1
  226. package/themes/index.min.js +1 -1
  227. package/themes/layered-dark-panelless.js +1 -1
  228. package/themes/layered-dark-panelless.min.js +1 -1
  229. package/themes/layered-dark.js +1 -1
  230. package/themes/layered-dark.min.js +1 -1
  231. package/themes/layered-light-panelless.js +1 -1
  232. package/themes/layered-light-panelless.min.js +1 -1
  233. package/themes/layered-light.js +1 -1
  234. package/themes/layered-light.min.js +1 -1
  235. package/themes/plain-dark-panelless.js +1 -1
  236. package/themes/plain-dark-panelless.min.js +1 -1
  237. package/themes/plain-dark.js +1 -1
  238. package/themes/plain-dark.min.js +1 -1
  239. package/themes/plain-light-panelless.js +1 -1
  240. package/themes/plain-light-panelless.min.js +1 -1
  241. package/themes/plain-light.js +1 -1
  242. package/themes/plain-light.min.js +1 -1
  243. package/themes/sharp-dark-panelless.js +1 -1
  244. package/themes/sharp-dark-panelless.min.js +1 -1
  245. package/themes/sharp-dark.js +1 -1
  246. package/themes/sharp-dark.min.js +1 -1
  247. package/themes/sharp-light-panelless.js +1 -1
  248. package/themes/sharp-light-panelless.min.js +1 -1
  249. package/themes/sharp-light.js +1 -1
  250. package/themes/sharp-light.min.js +1 -1
  251. package/themes/solid-dark-panelless.js +1 -1
  252. package/themes/solid-dark-panelless.min.js +1 -1
  253. package/themes/solid-dark.js +1 -1
  254. package/themes/solid-dark.min.js +1 -1
  255. package/themes/solid-light-panelless.js +1 -1
  256. package/themes/solid-light-panelless.min.js +1 -1
  257. package/themes/solid-light.js +1 -1
  258. package/themes/solid-light.min.js +1 -1
  259. package/themes/three-dimensional-dark-panelless.js +1 -1
  260. package/themes/three-dimensional-dark-panelless.min.js +1 -1
  261. package/themes/three-dimensional-dark.js +1 -1
  262. package/themes/three-dimensional-dark.min.js +1 -1
  263. package/themes/three-dimensional-light-panelless.js +1 -1
  264. package/themes/three-dimensional-light-panelless.min.js +1 -1
  265. package/themes/three-dimensional-light.js +1 -1
  266. package/themes/three-dimensional-light.min.js +1 -1
  267. package/ts3.4/typings/base-interfaces.d.ts +1 -0
  268. package/ts3.4/typings/defaultCss/cssmodern.d.ts +3 -0
  269. package/ts3.4/typings/defaultCss/cssstandard.d.ts +3 -0
  270. package/ts3.4/typings/defaultCss/defaultV2Css.d.ts +3 -0
  271. package/ts3.4/typings/dropdownListModel.d.ts +2 -0
  272. package/ts3.4/typings/global_variables_utils.d.ts +3 -0
  273. package/ts3.4/typings/localization/english.d.ts +1 -0
  274. package/ts3.4/typings/mask/mask_base.d.ts +3 -0
  275. package/ts3.4/typings/panel.d.ts +9 -0
  276. package/ts3.4/typings/question.d.ts +1 -0
  277. package/ts3.4/typings/question_boolean.d.ts +0 -4
  278. package/ts3.4/typings/question_custom.d.ts +1 -0
  279. package/ts3.4/typings/question_matrixdropdownrendered.d.ts +3 -0
  280. package/ts3.4/typings/question_multipletext.d.ts +1 -0
  281. package/ts3.4/typings/question_paneldynamic.d.ts +8 -0
  282. package/ts3.4/typings/question_ranking.d.ts +4 -5
  283. package/ts3.4/typings/settings.d.ts +1 -0
  284. package/ts3.4/typings/survey.d.ts +5 -3
  285. package/ts3.4/typings/surveyStrings.d.ts +1 -0
  286. package/ts3.4/typings/utils/devices.d.ts +4 -0
  287. package/typings/base-interfaces.d.ts +1 -0
  288. package/typings/defaultCss/cssmodern.d.ts +3 -0
  289. package/typings/defaultCss/cssstandard.d.ts +3 -0
  290. package/typings/defaultCss/defaultV2Css.d.ts +3 -0
  291. package/typings/dropdownListModel.d.ts +2 -0
  292. package/typings/global_variables_utils.d.ts +3 -0
  293. package/typings/localization/english.d.ts +1 -0
  294. package/typings/mask/mask_base.d.ts +3 -0
  295. package/typings/panel.d.ts +9 -0
  296. package/typings/question.d.ts +1 -0
  297. package/typings/question_boolean.d.ts +0 -4
  298. package/typings/question_custom.d.ts +1 -0
  299. package/typings/question_matrixdropdownrendered.d.ts +3 -0
  300. package/typings/question_multipletext.d.ts +1 -0
  301. package/typings/question_paneldynamic.d.ts +9 -0
  302. package/typings/question_ranking.d.ts +1 -3
  303. package/typings/settings.d.ts +1 -0
  304. package/typings/survey.d.ts +5 -3
  305. package/typings/surveyStrings.d.ts +1 -0
  306. package/typings/utils/devices.d.ts +4 -0
@@ -9,6 +9,7 @@ export declare class DropdownListModel extends Base {
9
9
  protected onSelectionChanged?: (item: IAction, ...params: any[]) => void;
10
10
  readonly minPageSize = 25;
11
11
  readonly loadingItemHeight = 40;
12
+ timer: any;
12
13
  private htmlCleanerElement;
13
14
  private _markdownMode;
14
15
  private _popupModel;
@@ -25,6 +26,7 @@ export declare class DropdownListModel extends Base {
25
26
  protected listModelFilterStringChanged: (newValue: string) => void;
26
27
  private resetItemsSettings;
27
28
  private setItems;
29
+ private loadQuestionChoices;
28
30
  private updateQuestionChoices;
29
31
  private updatePopupFocusFirstInputSelector;
30
32
  protected createPopup(): void;
@@ -11,6 +11,9 @@ export declare class DomWindowHelper {
11
11
  static requestAnimationFrame(callback: FrameRequestCallback): number;
12
12
  static addEventListener(type: string, listener: (e?: any) => void): void;
13
13
  static removeEventListener(type: string, listener: (e?: any) => void): void;
14
+ static matchMedia(mediaQueryString: string): {
15
+ matches: boolean;
16
+ } | null;
14
17
  }
15
18
  export declare class DomDocumentHelper {
16
19
  static isAvailable(): boolean;
@@ -97,6 +97,7 @@ export declare var englishStrings: {
97
97
  emptyMessage: string;
98
98
  noEntriesText: string;
99
99
  noEntriesReadonlyText: string;
100
+ tabTitlePlaceholder: string;
100
101
  more: string;
101
102
  tagboxDoneButtonCaption: string;
102
103
  selectToRankEmptyRankedAreaText: string;
@@ -1,4 +1,5 @@
1
1
  import { Base } from "../base";
2
+ import { ISurvey } from "../base-interfaces";
2
3
  import { IInputMask, IMaskedInputResult, ITextInputParams } from "./mask_utils";
3
4
  /**
4
5
  * A base class for classes that implement input masks:
@@ -15,6 +16,8 @@ export declare class InputMaskBase extends Base implements IInputMask {
15
16
  * Default value: `false`
16
17
  */
17
18
  saveMaskedValue: boolean;
19
+ owner: ISurvey;
20
+ getSurvey(live?: boolean): ISurvey;
18
21
  getType(): string;
19
22
  setData(json: any): void;
20
23
  getData(): any;
@@ -74,6 +74,7 @@ export declare class PanelModelBase extends SurveyElement<Question> implements I
74
74
  showTitle: boolean;
75
75
  readonly hasTitle: boolean;
76
76
  delete(doDispose?: boolean): void;
77
+ private deletePanel;
77
78
  protected removeFromParent(): void;
78
79
  protected canShowTitle(): boolean;
79
80
  showDescription: boolean;
@@ -277,6 +278,13 @@ export declare class PanelModelBase extends SurveyElement<Question> implements I
277
278
  */
278
279
  questionTitleLocation: string;
279
280
  getQuestionTitleLocation(): string;
281
+ /**
282
+ * Sets consistent width for question titles in CSS values. Applies only when [`questionTitleLocation`](#questionTitleLocation) evaluates to `"left"`.
283
+ *
284
+ * Default value: `undefined`
285
+ */
286
+ questionTitleWidth: string;
287
+ getQuestionTitleWidth(): string;
280
288
  protected getStartIndex(): string;
281
289
  getQuestionStartIndex(): string;
282
290
  getChildrenLayoutType(): string;
@@ -298,6 +306,7 @@ export declare class PanelModelBase extends SurveyElement<Question> implements I
298
306
  private updateRowsOnElementAdded;
299
307
  protected onAddElement(element: IElement, index: number): void;
300
308
  protected onRemoveElement(element: IElement): void;
309
+ private onRemoveElementNotifySurvey;
301
310
  private onElementVisibilityChanged;
302
311
  private onElementStartWithNewLineChanged;
303
312
  private updateRowsVisibility;
@@ -266,6 +266,7 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
266
266
  protected notifySurveyOnChildrenVisibilityChanged(): boolean;
267
267
  private notifySurveyVisibilityChanged;
268
268
  protected clearValueOnHidding(isClearOnHidden: boolean): void;
269
+ readonly titleWidth: string;
269
270
  /**
270
271
  * Returns title location calculated based on the question's `titleLocation` property and the `questionTitleLocation` property of the question's containers (survey, page, or panel).
271
272
  * @see titleLocation
@@ -28,10 +28,6 @@ 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
31
  beforeDestroyQuestionElement(el: HTMLElement): void;
36
32
  showTitle: boolean;
37
33
  label: string;
@@ -325,6 +325,7 @@ export declare abstract class QuestionCustomModelBase extends Question implement
325
325
  addElement(element: IElement, index: number): void;
326
326
  removeElement(element: IElement): boolean;
327
327
  getQuestionTitleLocation(): string;
328
+ getQuestionTitleWidth(): string;
328
329
  getQuestionStartIndex(): string;
329
330
  getChildrenLayoutType(): string;
330
331
  elementWidthChanged(el: IElement): void;
@@ -45,6 +45,9 @@ export declare class QuestionMatrixDropdownRenderedCell {
45
45
  readonly isFirstChoice: boolean;
46
46
  className: string;
47
47
  readonly cellQuestionWrapperClassName: string;
48
+ readonly showResponsiveTitle: boolean;
49
+ readonly responsiveTitleCss: string;
50
+ readonly responsiveLocTitle: LocalizableString;
48
51
  readonly headers: string;
49
52
  getTitle(): string;
50
53
  calculateFinalClassName(matrixCssClasses: any): string;
@@ -282,6 +282,7 @@ export declare class QuestionMultipleTextModel extends Question implements IMult
282
282
  addElement(element: IElement, index: number): void;
283
283
  removeElement(element: IElement): boolean;
284
284
  getQuestionTitleLocation(): string;
285
+ getQuestionTitleWidth(): string;
285
286
  getQuestionStartIndex(): string;
286
287
  getChildrenLayoutType(): string;
287
288
  elementWidthChanged(el: IElement): void;
@@ -122,11 +122,19 @@ export declare class QuestionPanelDynamicModel extends Question implements IQues
122
122
  *
123
123
  * [View Demo](https://surveyjs.io/form-library/examples/tabbed-interface-for-duplicate-group-option/ (linkStyle))
124
124
  * @see templateTitle
125
+ * @see tabTitlePlaceholder
125
126
  * @see renderMode
126
127
  */
127
128
  templateTabTitle: string;
128
129
  readonly locTemplateTabTitle: LocalizableString;
129
130
  /*
131
+ * A placeholder for tab titles that applies when the [`templateTabTitle`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#templateTabTitle) expression doesn't produce a meaningful value.
132
+ *
133
+ * Default value: `"New Panel"` (taken from a [localization dictionary](https://github.com/surveyjs/survey-library/tree/master/src/localization))
134
+ */
135
+ tabTitlePlaceholder: string;
136
+ readonly locTabTitlePlaceholder: LocalizableString;
137
+ /*
130
138
  * A template for panel descriptions.
131
139
  * @see template
132
140
  * @see templateTitle
@@ -12,7 +12,6 @@ export declare class QuestionRankingModel extends QuestionCheckboxModel {
12
12
  private domNode;
13
13
  private dragOrClickHelper;
14
14
  constructor(name: string);
15
- protected getDefaultItemComponent(): string;
16
15
  getType(): string;
17
16
  getItemTabIndex(item: ItemValue): number;
18
17
  protected supportContainerQueries(): boolean;
@@ -88,10 +87,10 @@ export declare class QuestionRankingModel extends QuestionCheckboxModel {
88
87
  * Disable this property if you want to start dragging when users perform a scroll gesture.
89
88
  */
90
89
  longTap: boolean;
91
- /*
92
- * The name of a component used to render items.
93
- */
94
- itemContentComponent: string;
90
+ /**
91
+ * The name of a component used to render items.
92
+ */
93
+ protected getDefaultItemComponent(): string;
95
94
  /*
96
95
  * Specifies whether users can select choices they want to rank.
97
96
  *
@@ -340,6 +340,7 @@ export declare var settings: {
340
340
  * This setting applies to all TagBox questions on a page. You can use the [closeOnSelect](https://surveyjs.io/form-library/documentation/api-reference/dropdown-tag-box-model#closeOnSelect) property to specify the same setting for an individual TagBox question.
341
341
  */
342
342
  tagboxCloseOnSelect: boolean;
343
+ dropdownSearchDelay: number;
343
344
  /**
344
345
  * A function that activates a browser confirm dialog.
345
346
  *
@@ -440,7 +440,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
440
440
  */
441
441
  onUpdatePageCssClasses: EventBase<SurveyModel, UpdatePageCssClassesEvent>;
442
442
  /**
443
- * An event that is raised before rendering a choice item in Radio Button Group, Checkboxes, and Dropdown questions. Use it to override default CSS classes applied to choice items.
443
+ * An event that is raised before rendering a choice item in Radio Button Group and Checkboxes questions. Use it to override default CSS classes applied to choice items.
444
444
  *
445
445
  * For information on event handler parameters, refer to descriptions within the interface.
446
446
  *
@@ -1017,6 +1017,8 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
1017
1017
  * - `"onValueChanged"` - Triggers validation each time a question value is changed.
1018
1018
  * - `"onComplete"` - Triggers validation when a user clicks the Complete button. If previous pages contain errors, the survey switches to the page with the first error.
1019
1019
  *
1020
+ * > The `"onValueChanged"` doesn't work with date input fields because of the way browsers process date values. In most browsers, the value is considered changed as soon as a user starts entering the date in a text input field. This means that a user may only enter the day without having the chance to enter the month and year before validation is triggered. For this reason, date input fields are validated before the survey is switched to the next page or completed.
1021
+ *
1020
1022
  * Refer to the following help topic for more information: [Data Validation](https://surveyjs.io/form-library/documentation/data-validation).
1021
1023
  * @see validationEnabled
1022
1024
  * @see validationAllowSwitchPages
@@ -1111,9 +1113,9 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
1111
1113
  locStrsChanged(): void;
1112
1114
  getMarkdownHtml(text: string, name: string): string;
1113
1115
  getRenderer(name: string): string;
1114
- getRendererContext(locStr: LocalizableString): LocalizableString;
1116
+ getRendererContext(locStr: LocalizableString): any;
1115
1117
  getRendererForString(element: Question | PanelModel | PageModel | SurveyModel, name: string): string;
1116
- getRendererContextForString(element: Base, locStr: LocalizableString): LocalizableString;
1118
+ getRendererContextForString(element: Base, locStr: LocalizableString): any;
1117
1119
  getExpressionDisplayValue(question: Question, value: any, displayValue: string): string;
1118
1120
  private getBuiltInRendererForString;
1119
1121
  getProcessedText(text: string): string;
@@ -114,6 +114,7 @@ export declare var surveyStrings: {
114
114
  emptyMessage: string;
115
115
  noEntriesText: string;
116
116
  noEntriesReadonlyText: string;
117
+ tabTitlePlaceholder: string;
117
118
  more: string;
118
119
  tagboxDoneButtonCaption: string;
119
120
  selectToRankEmptyRankedAreaText: string;
@@ -6,3 +6,7 @@ export declare var mouseInfo: {
6
6
  };
7
7
  export declare let IsTouch: boolean;
8
8
  export declare function _setIsTouch(val: boolean): void;
9
+ export declare type MatchMediaMethod = ((query: string) => {
10
+ matches: boolean;
11
+ } | null) | null;
12
+ export declare function detectMouseSupport(matchMedia: MatchMediaMethod): boolean;
@@ -250,6 +250,7 @@ export interface IParentElement {
250
250
  export interface IPanel extends ISurveyElement, IParentElement {
251
251
  getChildrenLayoutType(): string;
252
252
  getQuestionTitleLocation(): string;
253
+ getQuestionTitleWidth(): string;
253
254
  getQuestionStartIndex(): string;
254
255
  getQuestionErrorLocation(): string;
255
256
  parent: IPanel;
@@ -1,5 +1,6 @@
1
1
  export declare var modernCss: {
2
2
  root: string;
3
+ rootProgress: string;
3
4
  timerRoot: string;
4
5
  container: string;
5
6
  header: string;
@@ -320,6 +321,7 @@ export declare var modernCss: {
320
321
  matrixdropdown: {
321
322
  root: string;
322
323
  cell: string;
324
+ cellResponsiveTitle: string;
323
325
  headerCell: string;
324
326
  row: string;
325
327
  rowTextCell: string;
@@ -338,6 +340,7 @@ export declare var modernCss: {
338
340
  matrixdynamic: {
339
341
  root: string;
340
342
  cell: string;
343
+ cellResponsiveTitle: string;
341
344
  headerCell: string;
342
345
  button: string;
343
346
  buttonAdd: string;
@@ -1,5 +1,6 @@
1
1
  export declare var defaultStandardCss: {
2
2
  root: string;
3
+ rootProgress: string;
3
4
  container: string;
4
5
  header: string;
5
6
  bodyContainer: string;
@@ -199,6 +200,7 @@ export declare var defaultStandardCss: {
199
200
  matrixdropdown: {
200
201
  root: string;
201
202
  cell: string;
203
+ cellResponsiveTitle: string;
202
204
  headerCell: string;
203
205
  row: string;
204
206
  rowAdditional: string;
@@ -223,6 +225,7 @@ export declare var defaultStandardCss: {
223
225
  iconRemove: string;
224
226
  iconDrag: string;
225
227
  cell: string;
228
+ cellResponsiveTitle: string;
226
229
  headerCell: string;
227
230
  row: string;
228
231
  detailRow: string;
@@ -1,6 +1,7 @@
1
1
  export declare var surveyCss: any;
2
2
  export declare var defaultV2Css: {
3
3
  root: string;
4
+ rootProgress: string;
4
5
  rootMobile: string;
5
6
  rootAnimationDisabled: string;
6
7
  rootReadOnly: string;
@@ -491,6 +492,7 @@ export declare var defaultV2Css: {
491
492
  tableWrapper: string;
492
493
  rootAlternateRows: string;
493
494
  cell: string;
495
+ cellResponsiveTitle: string;
494
496
  errorsCell: string;
495
497
  errorsCellTop: string;
496
498
  errorsCellBottom: string;
@@ -535,6 +537,7 @@ export declare var defaultV2Css: {
535
537
  rootAlternateRows: string;
536
538
  content: string;
537
539
  cell: string;
540
+ cellResponsiveTitle: string;
538
541
  row: string;
539
542
  rowFadeIn: string;
540
543
  rowFadeOut: string;
@@ -9,6 +9,7 @@ export declare class DropdownListModel extends Base {
9
9
  protected onSelectionChanged?: (item: IAction, ...params: any[]) => void;
10
10
  readonly minPageSize = 25;
11
11
  readonly loadingItemHeight = 40;
12
+ timer: any;
12
13
  private htmlCleanerElement;
13
14
  private _markdownMode;
14
15
  private _popupModel;
@@ -25,6 +26,7 @@ export declare class DropdownListModel extends Base {
25
26
  protected listModelFilterStringChanged: (newValue: string) => void;
26
27
  private resetItemsSettings;
27
28
  private setItems;
29
+ private loadQuestionChoices;
28
30
  private updateQuestionChoices;
29
31
  private updatePopupFocusFirstInputSelector;
30
32
  protected createPopup(): void;
@@ -11,6 +11,9 @@ export declare class DomWindowHelper {
11
11
  static requestAnimationFrame(callback: FrameRequestCallback): number;
12
12
  static addEventListener(type: string, listener: (e?: any) => void): void;
13
13
  static removeEventListener(type: string, listener: (e?: any) => void): void;
14
+ static matchMedia(mediaQueryString: string): {
15
+ matches: boolean;
16
+ } | null;
14
17
  }
15
18
  export declare class DomDocumentHelper {
16
19
  static isAvailable(): boolean;
@@ -97,6 +97,7 @@ export declare var englishStrings: {
97
97
  emptyMessage: string;
98
98
  noEntriesText: string;
99
99
  noEntriesReadonlyText: string;
100
+ tabTitlePlaceholder: string;
100
101
  more: string;
101
102
  tagboxDoneButtonCaption: string;
102
103
  selectToRankEmptyRankedAreaText: string;
@@ -1,4 +1,5 @@
1
1
  import { Base } from "../base";
2
+ import { ISurvey } from "../base-interfaces";
2
3
  import { IInputMask, IMaskedInputResult, ITextInputParams } from "./mask_utils";
3
4
  /**
4
5
  * A base class for classes that implement input masks:
@@ -15,6 +16,8 @@ export declare class InputMaskBase extends Base implements IInputMask {
15
16
  * Default value: `false`
16
17
  */
17
18
  saveMaskedValue: boolean;
19
+ owner: ISurvey;
20
+ getSurvey(live?: boolean): ISurvey;
18
21
  getType(): string;
19
22
  setData(json: any): void;
20
23
  getData(): any;
@@ -78,6 +78,7 @@ export declare class PanelModelBase extends SurveyElement<Question> implements I
78
78
  showTitle: boolean;
79
79
  get hasTitle(): boolean;
80
80
  delete(doDispose?: boolean): void;
81
+ private deletePanel;
81
82
  protected removeFromParent(): void;
82
83
  protected canShowTitle(): boolean;
83
84
  showDescription: boolean;
@@ -289,6 +290,13 @@ export declare class PanelModelBase extends SurveyElement<Question> implements I
289
290
  get questionTitleLocation(): string;
290
291
  set questionTitleLocation(value: string);
291
292
  getQuestionTitleLocation(): string;
293
+ /**
294
+ * Sets consistent width for question titles in CSS values. Applies only when [`questionTitleLocation`](#questionTitleLocation) evaluates to `"left"`.
295
+ *
296
+ * Default value: `undefined`
297
+ */
298
+ questionTitleWidth: string;
299
+ getQuestionTitleWidth(): string;
292
300
  protected getStartIndex(): string;
293
301
  getQuestionStartIndex(): string;
294
302
  getChildrenLayoutType(): string;
@@ -310,6 +318,7 @@ export declare class PanelModelBase extends SurveyElement<Question> implements I
310
318
  private updateRowsOnElementAdded;
311
319
  protected onAddElement(element: IElement, index: number): void;
312
320
  protected onRemoveElement(element: IElement): void;
321
+ private onRemoveElementNotifySurvey;
313
322
  private onElementVisibilityChanged;
314
323
  private onElementStartWithNewLineChanged;
315
324
  private updateRowsVisibility;
@@ -274,6 +274,7 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
274
274
  protected notifySurveyOnChildrenVisibilityChanged(): boolean;
275
275
  private notifySurveyVisibilityChanged;
276
276
  protected clearValueOnHidding(isClearOnHidden: boolean): void;
277
+ get titleWidth(): string;
277
278
  /**
278
279
  * Returns title location calculated based on the question's `titleLocation` property and the `questionTitleLocation` property of the question's containers (survey, page, or panel).
279
280
  * @see titleLocation
@@ -31,10 +31,6 @@ 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
34
  beforeDestroyQuestionElement(el: HTMLElement): void;
39
35
  showTitle: boolean;
40
36
  label: string;
@@ -325,6 +325,7 @@ export declare abstract class QuestionCustomModelBase extends Question implement
325
325
  addElement(element: IElement, index: number): void;
326
326
  removeElement(element: IElement): boolean;
327
327
  getQuestionTitleLocation(): string;
328
+ getQuestionTitleWidth(): string;
328
329
  getQuestionStartIndex(): string;
329
330
  getChildrenLayoutType(): string;
330
331
  elementWidthChanged(el: IElement): void;
@@ -47,6 +47,9 @@ export declare class QuestionMatrixDropdownRenderedCell {
47
47
  set className(val: string);
48
48
  get className(): string;
49
49
  get cellQuestionWrapperClassName(): string;
50
+ get showResponsiveTitle(): boolean;
51
+ get responsiveTitleCss(): string;
52
+ get responsiveLocTitle(): LocalizableString;
50
53
  get headers(): string;
51
54
  getTitle(): string;
52
55
  calculateFinalClassName(matrixCssClasses: any): string;
@@ -306,6 +306,7 @@ export declare class QuestionMultipleTextModel extends Question implements IMult
306
306
  addElement(element: IElement, index: number): void;
307
307
  removeElement(element: IElement): boolean;
308
308
  getQuestionTitleLocation(): string;
309
+ getQuestionTitleWidth(): string;
309
310
  getQuestionStartIndex(): string;
310
311
  getChildrenLayoutType(): string;
311
312
  elementWidthChanged(el: IElement): void;
@@ -123,11 +123,20 @@ export declare class QuestionPanelDynamicModel extends Question implements IQues
123
123
  *
124
124
  * [View Demo](https://surveyjs.io/form-library/examples/tabbed-interface-for-duplicate-group-option/ (linkStyle))
125
125
  * @see templateTitle
126
+ * @see tabTitlePlaceholder
126
127
  * @see renderMode
127
128
  */
128
129
  get templateTabTitle(): string;
129
130
  set templateTabTitle(newValue: string);
130
131
  get locTemplateTabTitle(): LocalizableString;
132
+ /**
133
+ * A placeholder for tab titles that applies when the [`templateTabTitle`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#templateTabTitle) expression doesn't produce a meaningful value.
134
+ *
135
+ * Default value: `"New Panel"` (taken from a [localization dictionary](https://github.com/surveyjs/survey-library/tree/master/src/localization))
136
+ */
137
+ get tabTitlePlaceholder(): string;
138
+ set tabTitlePlaceholder(newValue: string);
139
+ get locTabTitlePlaceholder(): LocalizableString;
131
140
  /**
132
141
  * A template for panel descriptions.
133
142
  * @see template
@@ -12,7 +12,6 @@ export declare class QuestionRankingModel extends QuestionCheckboxModel {
12
12
  private domNode;
13
13
  private dragOrClickHelper;
14
14
  constructor(name: string);
15
- protected getDefaultItemComponent(): string;
16
15
  getType(): string;
17
16
  getItemTabIndex(item: ItemValue): number;
18
17
  protected supportContainerQueries(): boolean;
@@ -94,8 +93,7 @@ export declare class QuestionRankingModel extends QuestionCheckboxModel {
94
93
  /**
95
94
  * The name of a component used to render items.
96
95
  */
97
- get itemContentComponent(): string;
98
- set itemContentComponent(value: string);
96
+ protected getDefaultItemComponent(): string;
99
97
  /**
100
98
  * Specifies whether users can select choices they want to rank.
101
99
  *
@@ -340,6 +340,7 @@ export declare var settings: {
340
340
  * This setting applies to all TagBox questions on a page. You can use the [closeOnSelect](https://surveyjs.io/form-library/documentation/api-reference/dropdown-tag-box-model#closeOnSelect) property to specify the same setting for an individual TagBox question.
341
341
  */
342
342
  tagboxCloseOnSelect: boolean;
343
+ dropdownSearchDelay: number;
343
344
  /**
344
345
  * A function that activates a browser confirm dialog.
345
346
  *
@@ -443,7 +443,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
443
443
  */
444
444
  onUpdatePageCssClasses: EventBase<SurveyModel, UpdatePageCssClassesEvent>;
445
445
  /**
446
- * An event that is raised before rendering a choice item in Radio Button Group, Checkboxes, and Dropdown questions. Use it to override default CSS classes applied to choice items.
446
+ * An event that is raised before rendering a choice item in Radio Button Group and Checkboxes questions. Use it to override default CSS classes applied to choice items.
447
447
  *
448
448
  * For information on event handler parameters, refer to descriptions within the interface.
449
449
  *
@@ -1050,6 +1050,8 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
1050
1050
  * - `"onValueChanged"` - Triggers validation each time a question value is changed.
1051
1051
  * - `"onComplete"` - Triggers validation when a user clicks the Complete button. If previous pages contain errors, the survey switches to the page with the first error.
1052
1052
  *
1053
+ * > The `"onValueChanged"` doesn't work with date input fields because of the way browsers process date values. In most browsers, the value is considered changed as soon as a user starts entering the date in a text input field. This means that a user may only enter the day without having the chance to enter the month and year before validation is triggered. For this reason, date input fields are validated before the survey is switched to the next page or completed.
1054
+ *
1053
1055
  * Refer to the following help topic for more information: [Data Validation](https://surveyjs.io/form-library/documentation/data-validation).
1054
1056
  * @see validationEnabled
1055
1057
  * @see validationAllowSwitchPages
@@ -1151,9 +1153,9 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
1151
1153
  locStrsChanged(): void;
1152
1154
  getMarkdownHtml(text: string, name: string): string;
1153
1155
  getRenderer(name: string): string;
1154
- getRendererContext(locStr: LocalizableString): LocalizableString;
1156
+ getRendererContext(locStr: LocalizableString): any;
1155
1157
  getRendererForString(element: Question | PanelModel | PageModel | SurveyModel, name: string): string;
1156
- getRendererContextForString(element: Base, locStr: LocalizableString): LocalizableString;
1158
+ getRendererContextForString(element: Base, locStr: LocalizableString): any;
1157
1159
  getExpressionDisplayValue(question: Question, value: any, displayValue: string): string;
1158
1160
  private getBuiltInRendererForString;
1159
1161
  getProcessedText(text: string): string;
@@ -114,6 +114,7 @@ export declare var surveyStrings: {
114
114
  emptyMessage: string;
115
115
  noEntriesText: string;
116
116
  noEntriesReadonlyText: string;
117
+ tabTitlePlaceholder: string;
117
118
  more: string;
118
119
  tagboxDoneButtonCaption: string;
119
120
  selectToRankEmptyRankedAreaText: string;
@@ -6,3 +6,7 @@ export declare var mouseInfo: {
6
6
  };
7
7
  export declare let IsTouch: boolean;
8
8
  export declare function _setIsTouch(val: boolean): void;
9
+ export declare type MatchMediaMethod = ((query: string) => {
10
+ matches: boolean;
11
+ } | null) | null;
12
+ export declare function detectMouseSupport(matchMedia: MatchMediaMethod): boolean;