survey-core 1.9.129 → 1.9.131

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 +30 -5
  2. package/defaultV2.css.map +1 -1
  3. package/defaultV2.fontless.css +30 -5
  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 +6 -6
  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 +1 -1
  35. package/i18n/german.min.js +1 -1
  36. package/i18n/greek.js +1 -1
  37. package/i18n/greek.min.js +1 -1
  38. package/i18n/hebrew.js +1 -1
  39. package/i18n/hebrew.min.js +1 -1
  40. package/i18n/hindi.js +1 -1
  41. package/i18n/hindi.min.js +1 -1
  42. package/i18n/hungarian.js +1 -1
  43. package/i18n/hungarian.min.js +1 -1
  44. package/i18n/icelandic.js +1 -1
  45. package/i18n/icelandic.min.js +1 -1
  46. package/i18n/index.js +2 -2
  47. package/i18n/index.js.map +1 -1
  48. package/i18n/index.min.js +2 -2
  49. package/i18n/indonesian.js +1 -1
  50. package/i18n/indonesian.min.js +1 -1
  51. package/i18n/italian.js +1 -1
  52. package/i18n/italian.min.js +1 -1
  53. package/i18n/japanese.js +1 -1
  54. package/i18n/japanese.min.js +1 -1
  55. package/i18n/kazakh.js +1 -1
  56. package/i18n/kazakh.min.js +1 -1
  57. package/i18n/korean.js +1 -1
  58. package/i18n/korean.min.js +1 -1
  59. package/i18n/latvian.js +1 -1
  60. package/i18n/latvian.min.js +1 -1
  61. package/i18n/lithuanian.js +1 -1
  62. package/i18n/lithuanian.min.js +1 -1
  63. package/i18n/macedonian.js +1 -1
  64. package/i18n/macedonian.min.js +1 -1
  65. package/i18n/malay.js +1 -1
  66. package/i18n/malay.min.js +1 -1
  67. package/i18n/nl-BE.js +1 -1
  68. package/i18n/nl-BE.min.js +1 -1
  69. package/i18n/norwegian.js +1 -1
  70. package/i18n/norwegian.min.js +1 -1
  71. package/i18n/persian.js +1 -1
  72. package/i18n/persian.min.js +1 -1
  73. package/i18n/polish.js +1 -1
  74. package/i18n/polish.min.js +1 -1
  75. package/i18n/portuguese-br.js +1 -1
  76. package/i18n/portuguese-br.min.js +1 -1
  77. package/i18n/portuguese.js +1 -1
  78. package/i18n/portuguese.min.js +1 -1
  79. package/i18n/romanian.js +1 -1
  80. package/i18n/romanian.min.js +1 -1
  81. package/i18n/russian.js +1 -1
  82. package/i18n/russian.min.js +1 -1
  83. package/i18n/serbian.js +1 -1
  84. package/i18n/serbian.min.js +1 -1
  85. package/i18n/simplified-chinese.js +1 -1
  86. package/i18n/simplified-chinese.min.js +1 -1
  87. package/i18n/slovak.js +1 -1
  88. package/i18n/slovak.min.js +1 -1
  89. package/i18n/spanish.js +2 -2
  90. package/i18n/spanish.js.map +1 -1
  91. package/i18n/spanish.min.js +2 -2
  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 +19 -3
  115. package/modern.css.map +1 -1
  116. package/modern.fontless.css +19 -3
  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 +498 -146
  126. package/survey.core.js.map +1 -1
  127. package/survey.core.min.js +3 -3
  128. package/survey.css +3 -2
  129. package/survey.css.map +1 -1
  130. package/survey.i18n.js +2 -2
  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/defaultCss/defaultV2Css.d.ts +1 -0
  217. package/ts3.4/typings/dragdrop/dom-adapter.d.ts +2 -1
  218. package/ts3.4/typings/dropdownListModel.d.ts +1 -0
  219. package/ts3.4/typings/entries/chunks/model.d.ts +2 -2
  220. package/ts3.4/typings/jsonobject.d.ts +59 -5
  221. package/ts3.4/typings/localizablestring.d.ts +2 -0
  222. package/ts3.4/typings/panel.d.ts +7 -1
  223. package/ts3.4/typings/popup-survey.d.ts +1 -2
  224. package/ts3.4/typings/question.d.ts +1 -0
  225. package/ts3.4/typings/questionCustomWidgets.d.ts +1 -0
  226. package/ts3.4/typings/question_boolean.d.ts +3 -0
  227. package/ts3.4/typings/question_file.d.ts +2 -2
  228. package/ts3.4/typings/question_matrixdropdownbase.d.ts +11 -8
  229. package/ts3.4/typings/question_matrixdynamic.d.ts +2 -3
  230. package/ts3.4/typings/question_paneldynamic.d.ts +1 -1
  231. package/ts3.4/typings/question_tagbox.d.ts +10 -0
  232. package/ts3.4/typings/settings.d.ts +26 -10
  233. package/ts3.4/typings/survey.d.ts +1 -0
  234. package/ts3.4/typings/utils/utils.d.ts +1 -1
  235. package/typings/defaultCss/defaultV2Css.d.ts +1 -0
  236. package/typings/dragdrop/dom-adapter.d.ts +2 -1
  237. package/typings/dropdownListModel.d.ts +1 -0
  238. package/typings/entries/chunks/model.d.ts +2 -2
  239. package/typings/jsonobject.d.ts +59 -5
  240. package/typings/localizablestring.d.ts +2 -0
  241. package/typings/panel.d.ts +7 -1
  242. package/typings/popup-survey.d.ts +1 -2
  243. package/typings/question.d.ts +1 -0
  244. package/typings/questionCustomWidgets.d.ts +1 -0
  245. package/typings/question_boolean.d.ts +3 -0
  246. package/typings/question_file.d.ts +2 -2
  247. package/typings/question_matrixdropdownbase.d.ts +12 -8
  248. package/typings/question_matrixdynamic.d.ts +2 -3
  249. package/typings/question_paneldynamic.d.ts +1 -1
  250. package/typings/question_tagbox.d.ts +10 -0
  251. package/typings/settings.d.ts +26 -10
  252. package/typings/survey.d.ts +1 -0
  253. package/typings/utils/utils.d.ts +1 -1
@@ -148,7 +148,7 @@ export declare class QuestionFileModel extends QuestionFileModelBase {
148
148
  */
149
149
  get maxSize(): number;
150
150
  set maxSize(val: number);
151
- chooseFile(): void;
151
+ chooseFile(event: MouseEvent): void;
152
152
  /**
153
153
  * Specifies whether users should confirm file deletion.
154
154
  *
@@ -240,7 +240,7 @@ export declare class QuestionFileModel extends QuestionFileModelBase {
240
240
  protected onChangeQuestionValue(newValue: any): void;
241
241
  protected calcCssClasses(css: any): any;
242
242
  updateElementCss(reNew?: boolean): void;
243
- endLoadingFromJson(): void;
243
+ onSurveyLoad(): void;
244
244
  protected needResponsiveness(): boolean;
245
245
  protected supportResponsiveness(): boolean;
246
246
  protected getObservedElementSelector(): string;
@@ -193,12 +193,16 @@ export declare class QuestionMatrixDropdownModelBase extends QuestionMatrixBaseM
193
193
  protected updateColumnsAndRows(): void;
194
194
  itemValuePropertyChanged(item: ItemValue, name: string, oldValue: any, newValue: any): void;
195
195
  /**
196
- * Specifies the matrix layout. Set this property to `"vertical"` if you want to display columns instead of rows and rows instead of columns.
196
+ * Specifies whether to display [`columns`](#columns) as rows and [`rows`](#rows) as columns.
197
197
  *
198
- * Default value: `"horizontal"`
199
- * @see columns
200
- * @see rows
201
- * @see isColumnLayoutHorizontal
198
+ * Default value: `false`
199
+ *
200
+ * [View Demo](https://surveyjs.io/form-library/examples/transpose-dynamic-rows-to-columns-in-matrix/ (linkStyle))
201
+ */
202
+ get transposeData(): boolean;
203
+ set transposeData(val: boolean);
204
+ /**
205
+ * This property is obsolete. Use the [`transposeData`](#transposeData) property instead.
202
206
  */
203
207
  get columnLayout(): string;
204
208
  set columnLayout(val: string);
@@ -230,10 +234,10 @@ export declare class QuestionMatrixDropdownModelBase extends QuestionMatrixBaseM
230
234
  set cellErrorLocation(value: string);
231
235
  getChildErrorLocation(child: Question): string;
232
236
  /**
233
- * Returns `true` if columns are placed in the horizontal direction and rows in the vertical direction.
237
+ * Returns `true` if [`columns`](#columns) are placed in the horizontal direction and [`rows`](#columns) in the vertical direction.
234
238
  *
235
- * To specify the layout, use the `columnLayout` property. If you set it to `"vertical"`, the survey applies it only when the screen has enough space. Otherwise, the survey falls back to the horizontal layout, but the `columnLayout` property remains set to `"vertical"`. Unlike `columnLayout`, the `isColumnLayoutHorizontal` property always indicates the current layout.
236
- * @see columnLayout
239
+ * To specify the layout, use the [`transposeData`](#transposeData) property. If you set it to `true`, the survey applies it only when the screen has enough space. Otherwise, the survey falls back to the original layout, but the `transposeData` property remains set to `true`. Unlike `transposeData`, the `isColumnLayoutHorizontal` property always indicates the current layout.
240
+ * @see transposeData
237
241
  */
238
242
  get isColumnLayoutHorizontal(): boolean;
239
243
  /**
@@ -84,7 +84,7 @@ export declare class QuestionMatrixDynamicModel extends QuestionMatrixDropdownMo
84
84
  protected updateProgressInfoByValues(res: IProgressInfo): void;
85
85
  private getValueForNewRow;
86
86
  /**
87
- * Specifies whether users can drag and drop matrix rows to reorder them. Applies only if [`columnLayout`](#columnLayout) is `"horizontal"`.
87
+ * Specifies whether users can drag and drop matrix rows to reorder them. Applies only if [`transposeData`](#transposeData) is `false`.
88
88
  *
89
89
  * Default value: `false`
90
90
  */
@@ -217,8 +217,7 @@ export declare class QuestionMatrixDynamicModel extends QuestionMatrixDropdownMo
217
217
  * - `"bottom"` - Displays the Add Row button at the bottom of the matrix.
218
218
  * - `"topBottom"` - Displays the Add Row button at the top and bottom of the matrix.
219
219
  *
220
- * Default value: `"top"` if `columnLayout` is `vertical`; `"bottom"` if `columnLayout` is `"horizontal"` or the matrix is in compact mode.
221
- * @see columnLayout
220
+ * Default value: `"top"` if [`transposeData`](#transposeData) is `true`; `"bottom"` if `transposeData` is `false` or the matrix is in compact mode.
222
221
  * @see addRowText
223
222
  */
224
223
  get addRowLocation(): string;
@@ -612,7 +612,7 @@ export declare class QuestionPanelDynamicModel extends Question implements IQues
612
612
  getPrevButtonCss(): string;
613
613
  getNextButtonCss(): string;
614
614
  /**
615
- * A text displayed when Dynamic Panel contains no entries. Applies only in the Default V2 theme.
615
+ * A text displayed when Dynamic Panel contains no entries.
616
616
  */
617
617
  get noEntriesText(): string;
618
618
  set noEntriesText(val: string);
@@ -17,6 +17,16 @@ export declare class QuestionTagboxModel extends QuestionCheckboxModel {
17
17
  private updateReadOnlyText;
18
18
  protected getDefaultItemComponent(): string;
19
19
  onSurveyLoad(): void;
20
+ /**
21
+ * Specifies a comparison operation used to filter the drop-down list. Applies only if [`searchEnabled`](#searchEnabled) is `true`.
22
+ *
23
+ * Possible values:
24
+ *
25
+ * - `"contains"` (default)
26
+ * - `"startsWith"`
27
+ * @see [SurveyModel.onChoicesSearch](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onChoicesSearch)
28
+ */
29
+ searchMode: "contains" | "startsWith";
20
30
  /**
21
31
  * Specifies whether to display a button that clears the selected value.
22
32
  */
@@ -339,27 +339,43 @@ export declare var settings: {
339
339
  */
340
340
  tagboxCloseOnSelect: boolean;
341
341
  /**
342
- * A property that allows you to display a custom confirm dialog.
342
+ * A function that activates a browser confirm dialog.
343
343
  *
344
- * Set this property to a function that renders your custom dialog window. This function should return `true` if a user confirms an action or `false` otherwise.
344
+ * Use the following code to execute this function:
345
+ *
346
+ * ```js
347
+ * import { settings } from "survey-core";
348
+ *
349
+ * // `result` contains `true` if the action was confirmed or `false` otherwise
350
+ * const result = settings.confirmActionFunc("Are you sure?");
351
+ * ```
352
+ *
353
+ * You can redefine the `confirmActionFunc` function if you want to display a custom dialog window. Your function should return `true` if a user confirms an action or `false` otherwise.
345
354
  * @param message A message to be displayed in the confirm dialog window.
346
355
  */
347
356
  confirmActionFunc: (message: string) => boolean;
348
357
  /**
349
- * A property that allows you to display a custom confirm dialog in async mode or activate the standard browser dialog.
358
+ * A function that activates a proprietary SurveyJS confirm dialog.
350
359
  *
351
- * To display a custom confirm dialog, set this property to a function that renders it. This function should return `true` to be enabled; otherwise, a survey executes the [`confirmActionFunc`](#confirmActionFunc) function. Pass the dialog result as the `callback` parameter: `true` if a user confirms an action, `false` otherwise.
352
- *
353
- * To activate the standard browser dialog, set the `confirmActionAsync` property to a function that returns `false`. With this configuration, a survey falls back to the [`confirmActionFunc`](#confirmActionFunc) function, which renders the standard browser dialog by default.
360
+ * Use the following code to execute this function:
354
361
  *
355
362
  * ```js
356
363
  * import { settings } from "survey-core";
357
364
  *
358
- * // Display the standard browser dialog
359
- * settings.confirmActionAsync = () => {
360
- * return false;
361
- * }
365
+ * settings.confirmActionAsync("Are you sure?", (confirmed) => {
366
+ * if (confirmed) {
367
+ * // ...
368
+ * // Proceed with the action
369
+ * // ...
370
+ * } else {
371
+ * // ...
372
+ * // Cancel the action
373
+ * // ...
374
+ * }
375
+ * });
362
376
  * ```
377
+ *
378
+ * You can redefine the `confirmActionAsync` function if you want to display a custom dialog window. Your function should return `true` to be enabled; otherwise, a survey executes the [`confirmActionFunc`](#confirmActionFunc) function. Pass the dialog result as the `callback` parameter: `true` if a user confirms an action, `false` otherwise.
363
379
  * @param message A message to be displayed in the confirm dialog window.
364
380
  * @param callback A callback function that should be called with `true` if a user confirms an action or `false` otherwise.
365
381
  */
@@ -1222,6 +1222,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
1222
1222
  get isLogoBefore(): boolean;
1223
1223
  get isLogoAfter(): boolean;
1224
1224
  get logoClassNames(): string;
1225
+ private titleIsEmpty;
1225
1226
  get renderedHasTitle(): boolean;
1226
1227
  get renderedHasDescription(): boolean;
1227
1228
  get hasTitle(): boolean;
@@ -33,7 +33,7 @@ declare function getElementWidth(el: HTMLElement): number;
33
33
  declare function isContainerVisible(el: HTMLElement): boolean;
34
34
  declare function getFirstVisibleChild(el: HTMLElement): any;
35
35
  declare function findParentByClassNames(element: HTMLElement, classNames: Array<string>): Element;
36
- export declare function sanitizeEditableContent(element: any): void;
36
+ export declare function sanitizeEditableContent(element: any, cleanLineBreaks?: boolean): void;
37
37
  declare function mergeValues(src: any, dest: any): void;
38
38
  export declare class Logger {
39
39
  private _result;