survey-core 1.9.133 → 1.9.135

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 (261) hide show
  1. package/defaultV2.css +26 -20
  2. package/defaultV2.css.map +1 -1
  3. package/defaultV2.fontless.css +26 -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 +1 -1
  24. package/i18n/english.min.js +1 -1
  25. package/i18n/estonian.js +1 -1
  26. package/i18n/estonian.min.js +1 -1
  27. package/i18n/finnish.js +1 -1
  28. package/i18n/finnish.min.js +1 -1
  29. package/i18n/french.js +1 -1
  30. package/i18n/french.min.js +1 -1
  31. package/i18n/georgian.js +1 -1
  32. package/i18n/georgian.min.js +1 -1
  33. package/i18n/german.js +1 -1
  34. package/i18n/german.min.js +1 -1
  35. package/i18n/greek.js +1 -1
  36. package/i18n/greek.min.js +1 -1
  37. package/i18n/hebrew.js +1 -1
  38. package/i18n/hebrew.min.js +1 -1
  39. package/i18n/hindi.js +1 -1
  40. package/i18n/hindi.min.js +1 -1
  41. package/i18n/hungarian.js +1 -1
  42. package/i18n/hungarian.min.js +1 -1
  43. package/i18n/icelandic.js +1 -1
  44. package/i18n/icelandic.min.js +1 -1
  45. package/i18n/index.js +1 -1
  46. package/i18n/index.min.js +1 -1
  47. package/i18n/indonesian.js +1 -1
  48. package/i18n/indonesian.min.js +1 -1
  49. package/i18n/italian.js +1 -1
  50. package/i18n/italian.min.js +1 -1
  51. package/i18n/japanese.js +1 -1
  52. package/i18n/japanese.min.js +1 -1
  53. package/i18n/kazakh.js +1 -1
  54. package/i18n/kazakh.min.js +1 -1
  55. package/i18n/korean.js +1 -1
  56. package/i18n/korean.min.js +1 -1
  57. package/i18n/latvian.js +1 -1
  58. package/i18n/latvian.min.js +1 -1
  59. package/i18n/lithuanian.js +1 -1
  60. package/i18n/lithuanian.min.js +1 -1
  61. package/i18n/macedonian.js +1 -1
  62. package/i18n/macedonian.min.js +1 -1
  63. package/i18n/malay.js +1 -1
  64. package/i18n/malay.min.js +1 -1
  65. package/i18n/nl-BE.js +1 -1
  66. package/i18n/nl-BE.min.js +1 -1
  67. package/i18n/norwegian.js +1 -1
  68. package/i18n/norwegian.min.js +1 -1
  69. package/i18n/persian.js +1 -1
  70. package/i18n/persian.min.js +1 -1
  71. package/i18n/polish.js +1 -1
  72. package/i18n/polish.min.js +1 -1
  73. package/i18n/portuguese-br.js +1 -1
  74. package/i18n/portuguese-br.min.js +1 -1
  75. package/i18n/portuguese.js +1 -1
  76. package/i18n/portuguese.min.js +1 -1
  77. package/i18n/romanian.js +1 -1
  78. package/i18n/romanian.min.js +1 -1
  79. package/i18n/russian.js +1 -1
  80. package/i18n/russian.min.js +1 -1
  81. package/i18n/serbian.js +1 -1
  82. package/i18n/serbian.min.js +1 -1
  83. package/i18n/simplified-chinese.js +1 -1
  84. package/i18n/simplified-chinese.min.js +1 -1
  85. package/i18n/slovak.js +1 -1
  86. package/i18n/slovak.min.js +1 -1
  87. package/i18n/spanish.js +1 -1
  88. package/i18n/spanish.min.js +1 -1
  89. package/i18n/swahili.js +1 -1
  90. package/i18n/swahili.min.js +1 -1
  91. package/i18n/swedish.js +1 -1
  92. package/i18n/swedish.min.js +1 -1
  93. package/i18n/tajik.js +1 -1
  94. package/i18n/tajik.min.js +1 -1
  95. package/i18n/telugu.js +1 -1
  96. package/i18n/telugu.min.js +1 -1
  97. package/i18n/thai.js +1 -1
  98. package/i18n/thai.min.js +1 -1
  99. package/i18n/traditional-chinese.js +1 -1
  100. package/i18n/traditional-chinese.min.js +1 -1
  101. package/i18n/turkish.js +1 -1
  102. package/i18n/turkish.min.js +1 -1
  103. package/i18n/ukrainian.js +1 -1
  104. package/i18n/ukrainian.min.js +1 -1
  105. package/i18n/urdu.js +1 -1
  106. package/i18n/urdu.min.js +1 -1
  107. package/i18n/vietnamese.js +1 -1
  108. package/i18n/vietnamese.min.js +1 -1
  109. package/i18n/welsh.js +1 -1
  110. package/i18n/welsh.min.js +1 -1
  111. package/modern.css +6 -1
  112. package/modern.css.map +1 -1
  113. package/modern.fontless.css +6 -1
  114. package/modern.fontless.css.map +1 -1
  115. package/modern.fontless.min.css +2 -2
  116. package/modern.min.css +2 -2
  117. package/package.json +1 -1
  118. package/plugins/bootstrap-integration.js +1 -1
  119. package/plugins/bootstrap-integration.min.js +1 -1
  120. package/plugins/bootstrap-material-integration.js +1 -1
  121. package/plugins/bootstrap-material-integration.min.js +1 -1
  122. package/survey.core.js +2424 -634
  123. package/survey.core.js.map +1 -1
  124. package/survey.core.min.js +5 -5
  125. package/survey.css +1 -1
  126. package/survey.css.map +1 -1
  127. package/survey.i18n.js +1 -1
  128. package/survey.i18n.min.js +1 -1
  129. package/survey.min.css +1 -1
  130. package/themes/borderless-dark-panelless.js +1 -1
  131. package/themes/borderless-dark-panelless.min.js +1 -1
  132. package/themes/borderless-dark.js +1 -1
  133. package/themes/borderless-dark.min.js +1 -1
  134. package/themes/borderless-light-panelless..js +1 -1
  135. package/themes/borderless-light-panelless..min.js +1 -1
  136. package/themes/borderless-light.js +1 -1
  137. package/themes/borderless-light.min.js +1 -1
  138. package/themes/contrast-dark-panelless.js +1 -1
  139. package/themes/contrast-dark-panelless.min.js +1 -1
  140. package/themes/contrast-dark.js +1 -1
  141. package/themes/contrast-dark.min.js +1 -1
  142. package/themes/contrast-light-panelless.js +1 -1
  143. package/themes/contrast-light-panelless.min.js +1 -1
  144. package/themes/contrast-light.js +1 -1
  145. package/themes/contrast-light.min.js +1 -1
  146. package/themes/default-dark-panelless.js +1 -1
  147. package/themes/default-dark-panelless.min.js +1 -1
  148. package/themes/default-dark.js +1 -1
  149. package/themes/default-dark.min.js +1 -1
  150. package/themes/default-light-panelless.js +1 -1
  151. package/themes/default-light-panelless.min.js +1 -1
  152. package/themes/default-light.js +1 -1
  153. package/themes/default-light.min.js +1 -1
  154. package/themes/doubleborder-dark-panelless.js +1 -1
  155. package/themes/doubleborder-dark-panelless.min.js +1 -1
  156. package/themes/doubleborder-dark.js +1 -1
  157. package/themes/doubleborder-dark.min.js +1 -1
  158. package/themes/doubleborder-light-panelles.js +1 -1
  159. package/themes/doubleborder-light-panelles.min.js +1 -1
  160. package/themes/doubleborder-light.js +1 -1
  161. package/themes/doubleborder-light.min.js +1 -1
  162. package/themes/flat-dark-panelless.js +1 -1
  163. package/themes/flat-dark-panelless.min.js +1 -1
  164. package/themes/flat-dark.js +1 -1
  165. package/themes/flat-dark.min.js +1 -1
  166. package/themes/flat-light-panelless.js +1 -1
  167. package/themes/flat-light-panelless.min.js +1 -1
  168. package/themes/flat-light.js +1 -1
  169. package/themes/flat-light.min.js +1 -1
  170. package/themes/index.js +1 -1
  171. package/themes/index.min.js +1 -1
  172. package/themes/layered-dark-panelless.js +1 -1
  173. package/themes/layered-dark-panelless.min.js +1 -1
  174. package/themes/layered-dark.js +1 -1
  175. package/themes/layered-dark.min.js +1 -1
  176. package/themes/layered-light-panelless.js +1 -1
  177. package/themes/layered-light-panelless.min.js +1 -1
  178. package/themes/layered-light.js +1 -1
  179. package/themes/layered-light.min.js +1 -1
  180. package/themes/plain-dark-panelless.js +1 -1
  181. package/themes/plain-dark-panelless.min.js +1 -1
  182. package/themes/plain-dark.js +1 -1
  183. package/themes/plain-dark.min.js +1 -1
  184. package/themes/plain-light-panelless.js +1 -1
  185. package/themes/plain-light-panelless.min.js +1 -1
  186. package/themes/plain-light.js +1 -1
  187. package/themes/plain-light.min.js +1 -1
  188. package/themes/sharp-dark-panelless.js +1 -1
  189. package/themes/sharp-dark-panelless.min.js +1 -1
  190. package/themes/sharp-dark.js +1 -1
  191. package/themes/sharp-dark.min.js +1 -1
  192. package/themes/sharp-light-panelless.js +1 -1
  193. package/themes/sharp-light-panelless.min.js +1 -1
  194. package/themes/sharp-light.js +1 -1
  195. package/themes/sharp-light.min.js +1 -1
  196. package/themes/solid-dark-panelless.js +1 -1
  197. package/themes/solid-dark-panelless.min.js +1 -1
  198. package/themes/solid-dark.js +1 -1
  199. package/themes/solid-dark.min.js +1 -1
  200. package/themes/solid-light-panelless.js +1 -1
  201. package/themes/solid-light-panelless.min.js +1 -1
  202. package/themes/solid-light.js +1 -1
  203. package/themes/solid-light.min.js +1 -1
  204. package/themes/three-dimensional-dark-panelless.js +1 -1
  205. package/themes/three-dimensional-dark-panelless.min.js +1 -1
  206. package/themes/three-dimensional-dark.js +1 -1
  207. package/themes/three-dimensional-dark.min.js +1 -1
  208. package/themes/three-dimensional-light-panelless.js +1 -1
  209. package/themes/three-dimensional-light-panelless.min.js +1 -1
  210. package/themes/three-dimensional-light.js +1 -1
  211. package/themes/three-dimensional-light.min.js +1 -1
  212. package/ts3.4/typings/base-interfaces.d.ts +4 -1
  213. package/ts3.4/typings/defaultCss/defaultV2Css.d.ts +5 -0
  214. package/ts3.4/typings/dragdrop/core.d.ts +1 -0
  215. package/ts3.4/typings/dropdownListModel.d.ts +1 -0
  216. package/ts3.4/typings/entries/chunks/model.d.ts +5 -0
  217. package/ts3.4/typings/global_variables_utils.d.ts +27 -0
  218. package/ts3.4/typings/list.d.ts +3 -0
  219. package/ts3.4/typings/martixBase.d.ts +1 -0
  220. package/ts3.4/typings/mask/input_element_adapter.d.ts +14 -0
  221. package/ts3.4/typings/mask/mask_base.d.ts +24 -0
  222. package/ts3.4/typings/mask/mask_currency.d.ts +41 -0
  223. package/ts3.4/typings/mask/mask_datetime.d.ts +65 -0
  224. package/ts3.4/typings/mask/mask_numeric.d.ts +88 -0
  225. package/ts3.4/typings/mask/mask_pattern.d.ts +70 -0
  226. package/ts3.4/typings/mask/mask_utils.d.ts +18 -0
  227. package/ts3.4/typings/question_baseselect.d.ts +1 -0
  228. package/ts3.4/typings/question_dropdown.d.ts +8 -0
  229. package/ts3.4/typings/question_html.d.ts +1 -0
  230. package/ts3.4/typings/question_tagbox.d.ts +1 -0
  231. package/ts3.4/typings/question_text.d.ts +47 -0
  232. package/ts3.4/typings/settings.d.ts +24 -2
  233. package/ts3.4/typings/survey-element.d.ts +1 -0
  234. package/ts3.4/typings/survey-events-api.d.ts +28 -1
  235. package/ts3.4/typings/survey.d.ts +16 -10
  236. package/ts3.4/typings/surveytimer.d.ts +1 -1
  237. package/typings/base-interfaces.d.ts +4 -1
  238. package/typings/defaultCss/defaultV2Css.d.ts +5 -0
  239. package/typings/dragdrop/core.d.ts +1 -0
  240. package/typings/dropdownListModel.d.ts +1 -0
  241. package/typings/entries/chunks/model.d.ts +5 -0
  242. package/typings/global_variables_utils.d.ts +27 -0
  243. package/typings/list.d.ts +3 -0
  244. package/typings/martixBase.d.ts +1 -0
  245. package/typings/mask/input_element_adapter.d.ts +14 -0
  246. package/typings/mask/mask_base.d.ts +24 -0
  247. package/typings/mask/mask_currency.d.ts +41 -0
  248. package/typings/mask/mask_datetime.d.ts +65 -0
  249. package/typings/mask/mask_numeric.d.ts +88 -0
  250. package/typings/mask/mask_pattern.d.ts +70 -0
  251. package/typings/mask/mask_utils.d.ts +18 -0
  252. package/typings/question_baseselect.d.ts +1 -0
  253. package/typings/question_dropdown.d.ts +8 -0
  254. package/typings/question_html.d.ts +1 -0
  255. package/typings/question_tagbox.d.ts +1 -0
  256. package/typings/question_text.d.ts +49 -0
  257. package/typings/settings.d.ts +24 -2
  258. package/typings/survey-element.d.ts +1 -0
  259. package/typings/survey-events-api.d.ts +28 -1
  260. package/typings/survey.d.ts +16 -10
  261. package/typings/surveytimer.d.ts +1 -1
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - Survey JavaScript library v1.9.133
2
+ * surveyjs - Survey JavaScript library v1.9.135
3
3
  * Copyright (c) 2015-2024 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - Survey JavaScript library v1.9.133
2
+ * surveyjs - Survey JavaScript library v1.9.135
3
3
  * Copyright (c) 2015-2024 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - Survey JavaScript library v1.9.133
2
+ * surveyjs - Survey JavaScript library v1.9.135
3
3
  * Copyright (c) 2015-2024 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - Survey JavaScript library v1.9.133
2
+ * surveyjs - Survey JavaScript library v1.9.135
3
3
  * Copyright (c) 2015-2024 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - Survey JavaScript library v1.9.133
2
+ * surveyjs - Survey JavaScript library v1.9.135
3
3
  * Copyright (c) 2015-2024 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - Survey JavaScript library v1.9.133
2
+ * surveyjs - Survey JavaScript library v1.9.135
3
3
  * Copyright (c) 2015-2024 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - Survey JavaScript library v1.9.133
2
+ * surveyjs - Survey JavaScript library v1.9.135
3
3
  * Copyright (c) 2015-2024 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - Survey JavaScript library v1.9.133
2
+ * surveyjs - Survey JavaScript library v1.9.135
3
3
  * Copyright (c) 2015-2024 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - Survey JavaScript library v1.9.133
2
+ * surveyjs - Survey JavaScript library v1.9.135
3
3
  * Copyright (c) 2015-2024 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - Survey JavaScript library v1.9.133
2
+ * surveyjs - Survey JavaScript library v1.9.135
3
3
  * Copyright (c) 2015-2024 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - Survey JavaScript library v1.9.133
2
+ * surveyjs - Survey JavaScript library v1.9.135
3
3
  * Copyright (c) 2015-2024 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
5
5
  */
@@ -136,6 +136,7 @@ export interface ISurvey extends ITextProcessor, ISurveyErrorOwner {
136
136
  matrixRowRemoved(question: IQuestion, rowIndex: number, row: any): any;
137
137
  matrixRowRemoving(question: IQuestion, rowIndex: number, row: any): boolean;
138
138
  matrixAllowRemoveRow(question: IQuestion, rowIndex: number, row: any): boolean;
139
+ matrixDetailPanelVisibleChanged(question: IQuestion, rowIndex: number, row: any, visible: boolean): void;
139
140
  matrixCellCreating(question: IQuestion, options: any): any;
140
141
  matrixCellCreated(question: IQuestion, options: any): any;
141
142
  matrixAfterCellRender(question: IQuestion, options: any): any;
@@ -158,8 +159,10 @@ export interface ISurvey extends ITextProcessor, ISurveyErrorOwner {
158
159
  onCorrectQuestionAnswer(question: IQuestion, options: any): void;
159
160
  processPopupVisiblityChanged(question: IQuestion, popupModel: PopupModel, visible: boolean): void;
160
161
  chooseFiles(input: HTMLInputElement, callback: (files: File[]) => void, context?: {
161
- element: ISurveyElement;
162
+ element: Base;
162
163
  item?: any;
164
+ elementType?: string;
165
+ propertyName?: string;
163
166
  }): void;
164
167
  }
165
168
  export interface ISurveyImpl {
@@ -217,6 +217,7 @@ export declare var defaultV2Css: {
217
217
  mainRoot: string;
218
218
  root: string;
219
219
  withFrame: string;
220
+ nested: string;
220
221
  };
221
222
  error: {
222
223
  root: string;
@@ -397,6 +398,7 @@ export declare var defaultV2Css: {
397
398
  mainRoot: string;
398
399
  tableWrapper: string;
399
400
  root: string;
401
+ columnsAutoWidth: string;
400
402
  noHeader: string;
401
403
  rootVerticalAlignTop: string;
402
404
  rootVerticalAlignMiddle: string;
@@ -425,6 +427,7 @@ export declare var defaultV2Css: {
425
427
  mainRoot: string;
426
428
  rootScroll: string;
427
429
  root: string;
430
+ columnsAutoWidth: string;
428
431
  noHeader: string;
429
432
  hasFooter: string;
430
433
  rootVerticalAlignTop: string;
@@ -467,6 +470,7 @@ export declare var defaultV2Css: {
467
470
  rootScroll: string;
468
471
  empty: string;
469
472
  root: string;
473
+ columnsAutoWidth: string;
470
474
  noHeader: string;
471
475
  hasFooter: string;
472
476
  tableWrapper: string;
@@ -592,6 +596,7 @@ export declare var defaultV2Css: {
592
596
  chooseFileAsIcon: string;
593
597
  chooseFileIconId: string;
594
598
  disabled: string;
599
+ controlDisabled: string;
595
600
  removeButton: string;
596
601
  removeButtonBottom: string;
597
602
  removeButtonIconId: string;
@@ -25,6 +25,7 @@ export declare abstract class DragDropCore<T> implements IDragDropEngine {
25
25
  protected domAdapter: IDragDropDOMAdapter;
26
26
  constructor(surveyValue?: ISurvey, creator?: any, longTap?: boolean, domAdapter?: IDragDropDOMAdapter);
27
27
  startDrag(event: PointerEvent, draggedElement: any, parentElement?: any, draggedElementNode?: HTMLElement, preventSaveTargetNode?: boolean): void;
28
+ private getRootElement;
28
29
  dragInit(event: PointerEvent, draggedElement: any, parentElement?: any, draggedElementNode?: HTMLElement): void;
29
30
  protected onStartDrag(event?: PointerEvent): void;
30
31
  protected isDropTargetDoesntChanged(newIsBottom: boolean): boolean;
@@ -29,6 +29,7 @@ export declare class DropdownListModel extends Base {
29
29
  private updatePopupFocusFirstInputSelector;
30
30
  protected createPopup(): void;
31
31
  private setFilterStringToListModel;
32
+ private setTextWrapEnabled;
32
33
  protected popupRecalculatePosition(isResetHeight: boolean): void;
33
34
  protected onHidePopup(): void;
34
35
  protected getAvailableItems(): Array<ItemValue>;
@@ -89,6 +89,11 @@ export { DropdownMultiSelectListModel } from "../../dropdownMultiSelectListModel
89
89
  export { QuestionButtonGroupModel, ButtonGroupItemModel, ButtonGroupItemValue } from "../../question_buttongroup";
90
90
  export { IsMobile, IsTouch, _setIsTouch } from "../../utils/devices";
91
91
  export { confirmAction, confirmActionAsync, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, chooseFiles, sanitizeEditableContent, IAttachKey2clickOptions } from "../../utils/utils";
92
+ export { InputMaskBase } from "../../mask/mask_base";
93
+ export { InputMaskPattern } from "../../mask/mask_pattern";
94
+ export { InputMaskNumeric } from "../../mask/mask_numeric";
95
+ export { InputMaskDateTime } from "../../mask/mask_datetime";
96
+ export { InputMaskCurrency } from "../../mask/mask_currency";
92
97
  export * from "../../utils/cssClassBuilder";
93
98
  export { surveyCss, defaultV2Css, defaultV2ThemeName } from "../../defaultCss/defaultV2Css";
94
99
  export { DragDropCore } from "../../dragdrop/core";
@@ -0,0 +1,27 @@
1
+ export declare class DomWindowHelper {
2
+ static isAvailable(): boolean;
3
+ static isFileReaderAvailable(): boolean;
4
+ static getLocation(): Location;
5
+ static getVisualViewport(): VisualViewport | null;
6
+ static getInnerWidth(): number;
7
+ static getInnerHeight(): number;
8
+ static getWindow(): Window;
9
+ static hasOwn(propertyName: string): boolean;
10
+ static getSelection(): Selection | null;
11
+ static requestAnimationFrame(callback: FrameRequestCallback): number;
12
+ static addEventListener(type: string, listener: (e?: any) => void): void;
13
+ static removeEventListener(type: string, listener: (e?: any) => void): void;
14
+ }
15
+ export declare class DomDocumentHelper {
16
+ static isAvailable(): boolean;
17
+ static getBody(): HTMLElement;
18
+ static getDocumentElement(): HTMLElement;
19
+ static getDocument(): Document;
20
+ static getCookie(): string;
21
+ static setCookie(newCookie: string): void;
22
+ static activeElementBlur(): Document;
23
+ static createElement(tagName: string): HTMLElement;
24
+ static getComputedStyle(elt: Element): CSSStyleDeclaration;
25
+ static addEventListener(type: string, listener: (e?: any) => void): void;
26
+ static removeEventListener(type: string, listener: (e?: any) => void): void;
27
+ }
@@ -9,6 +9,7 @@ export declare let defaultListCss: {
9
9
  itemWithIcon: string;
10
10
  itemDisabled: string;
11
11
  itemFocused: string;
12
+ itemTextWrap: string;
12
13
  itemIcon: string;
13
14
  itemSeparator: string;
14
15
  itemBody: string;
@@ -46,6 +47,7 @@ export declare class ListModel<T extends BaseAction = Action> extends ActionCont
46
47
  isAllDataLoaded: boolean;
47
48
  showSearchClearButton: boolean;
48
49
  renderElements: boolean;
50
+ textWrapEnabled: boolean;
49
51
  static INDENT: number;
50
52
  static MINELEMENTCOUNT: number;
51
53
  scrollHandler: (e?: any) => void;
@@ -71,6 +73,7 @@ export declare class ListModel<T extends BaseAction = Action> extends ActionCont
71
73
  itemWithIcon: string;
72
74
  itemDisabled: string;
73
75
  itemFocused: string;
76
+ itemTextWrap: string;
74
77
  itemIcon: string;
75
78
  itemSeparator: string;
76
79
  itemBody: string;
@@ -87,6 +87,7 @@ export declare class QuestionMatrixBaseModel<TRow, TColumn> extends Question {
87
87
  protected clearInvisibleValuesInRows(): void;
88
88
  private restoreNewVisibleRowsValues;
89
89
  needResponsiveWidth(): boolean;
90
+ protected readonly columnsAutoWidth: boolean;
90
91
  getTableCss(): string;
91
92
  /**
92
93
  * Aligns matrix cell content in the vertical direction.
@@ -0,0 +1,14 @@
1
+ import { InputMaskBase } from "./mask_base";
2
+ import { ITextInputParams } from "./mask_utils";
3
+ export declare class InputElementAdapter {
4
+ private inputMaskInstance;
5
+ private inputElement;
6
+ private prevUnmaskedValue;
7
+ constructor(inputMaskInstance: InputMaskBase, inputElement: HTMLInputElement, value?: string);
8
+ inputMaskInstancePropertyChangedHandler: (sender: any, options: any) => void;
9
+ beforeInputHandler: (event: any) => void;
10
+ createArgs(event: any): ITextInputParams;
11
+ addInputEventListener(): void;
12
+ removeInputEventListener(): void;
13
+ dispose(): void;
14
+ }
@@ -0,0 +1,24 @@
1
+ import { Base } from "../base";
2
+ import { IInputMask, IMaskedInputResult, ITextInputParams } from "./mask_utils";
3
+ /**
4
+ * A base class for classes that implement input masks:
5
+ *
6
+ * - [`InputMaskNumeric`](https://surveyjs.io/form-library/documentation/inputmasknumeric)
7
+ * - [`InputMaskCurrency`](https://surveyjs.io/form-library/documentation/inputmaskcurrency)
8
+ * - [`InputMaskDateTime`](https://surveyjs.io/form-library/documentation/inputmaskdatetime)
9
+ * - [`InputMaskPattern`](https://surveyjs.io/form-library/documentation/inputmaskpattern)
10
+ */
11
+ export declare class InputMaskBase extends Base implements IInputMask {
12
+ /**
13
+ * Specifies whether to store the question value with an applied mask in survey results.
14
+ *
15
+ * Default value: `false`
16
+ */
17
+ saveMaskedValue: boolean;
18
+ getType(): string;
19
+ setData(json: any): void;
20
+ getData(): any;
21
+ processInput(args: ITextInputParams): IMaskedInputResult;
22
+ getUnmaskedValue(src: string): any;
23
+ getMaskedValue(src: any): string;
24
+ }
@@ -0,0 +1,41 @@
1
+ import { InputMaskNumeric } from "./mask_numeric";
2
+ import { IMaskedInputResult, ITextInputParams } from "./mask_utils";
3
+ /**
4
+ * A class that describes an input mask of the `"currency"` [`maskType`](https://surveyjs.io/form-library/documentation/api-reference/text-entry-question-model#maskType).
5
+ *
6
+ * The following code shows how to specify the properties of this class within a survey JSON schema:
7
+ *
8
+ * ```js
9
+ * const surveyJson = {
10
+ * "elements": [{
11
+ * "name": "textquestion1"
12
+ * "type": "text",
13
+ * "maskType": "currency",
14
+ * "maskSettings": {
15
+ * // Specify the properties of a currency input mask here
16
+ * }
17
+ * }]
18
+ * }
19
+ * ```
20
+ *
21
+ * [View Demo](https://surveyjs.io/form-library/examples/masked-input-fields/ (linkStyle))
22
+ */
23
+ export declare class InputMaskCurrency extends InputMaskNumeric {
24
+ /**
25
+ * One or several symbols to be displayed before the currency value.
26
+ *
27
+ * [View Demo](https://surveyjs.io/form-library/examples/masked-input-fields/ (linkStyle))
28
+ * @see suffix
29
+ */
30
+ prefix: string;
31
+ /**
32
+ * One or several symbols to be displayed after the currency value.
33
+ * @see prefix
34
+ */
35
+ suffix: string;
36
+ getType(): string;
37
+ private wrapText;
38
+ unwrapInputArgs(args: ITextInputParams): void;
39
+ processInput(args: ITextInputParams): IMaskedInputResult;
40
+ getMaskedValue(src: any): string;
41
+ }
@@ -0,0 +1,65 @@
1
+ import { InputMaskPattern } from "./mask_pattern";
2
+ import { IMaskedInputResult, ITextInputParams } from "./mask_utils";
3
+ export interface IDateTimeMaskLexem {
4
+ type: "month" | "day" | "year" | "separator";
5
+ value: any;
6
+ count: number;
7
+ maxCount: number;
8
+ }
9
+ export declare function getDateTimeLexems(pattern: string): Array<IDateTimeMaskLexem>;
10
+ /**
11
+ * A class that describes an input mask of the `"datetime"` [`maskType`](https://surveyjs.io/form-library/documentation/api-reference/text-entry-question-model#maskType).
12
+ *
13
+ * The following code shows how to specify the properties of this class within a survey JSON schema:
14
+ *
15
+ * ```js
16
+ * const surveyJson = {
17
+ * "elements": [{
18
+ * "name": "textquestion1"
19
+ * "type": "text",
20
+ * "maskType": "datetime",
21
+ * "maskSettings": {
22
+ * // Specify the properties of a date-time input mask here
23
+ * }
24
+ * }]
25
+ * }
26
+ * ```
27
+ *
28
+ * [View Demo](https://surveyjs.io/form-library/examples/masked-input-fields/ (linkStyle))
29
+ */
30
+ export declare class InputMaskDateTime extends InputMaskPattern {
31
+ private turnOfTheCentury;
32
+ private lexems;
33
+ private inputDateTimeData;
34
+ /**
35
+ * A minimum date and time value that respondents can enter.
36
+ * @see max
37
+ */
38
+ min: string;
39
+ /**
40
+ * A maximum date and time value that respondents can enter.
41
+ * @see min
42
+ */
43
+ max: string;
44
+ getType(): string;
45
+ protected updateLiterals(): void;
46
+ private leaveOnlyNumbers;
47
+ private getMaskedStrFromISO;
48
+ private initInputDateTimeData;
49
+ private getISO_8601Format;
50
+ private isYearValid;
51
+ private isDateValid;
52
+ private getPlaceholder;
53
+ private updateInputDateTimeData;
54
+ private getCorrectDatePartFormat;
55
+ private createIDateTimeComposition;
56
+ private parseTwoDigitYear;
57
+ private getFormatedString;
58
+ private setInputDateTimeData;
59
+ _getMaskedValue(src: string, matchWholeMask?: boolean): string;
60
+ private getPartsOld;
61
+ private getParts;
62
+ getUnmaskedValue(src: string): any;
63
+ getMaskedValue(src: string): string;
64
+ processInput(args: ITextInputParams): IMaskedInputResult;
65
+ }
@@ -0,0 +1,88 @@
1
+ import { InputMaskBase } from "./mask_base";
2
+ import { IMaskedInputResult, ITextInputParams } from "./mask_utils";
3
+ interface INumericalComposition {
4
+ integralPart: string;
5
+ fractionalPart: string;
6
+ isNegative?: boolean;
7
+ hasDecimalSeparator?: boolean;
8
+ }
9
+ export declare function splitString(str: string, reverse?: boolean, n?: number): Array<string>;
10
+ /**
11
+ * A class that describes an input mask of the `"numeric"` [`maskType`](https://surveyjs.io/form-library/documentation/api-reference/text-entry-question-model#maskType).
12
+ *
13
+ * The following code shows how to specify the properties of this class within a survey JSON schema:
14
+ *
15
+ * ```js
16
+ * const surveyJson = {
17
+ * "elements": [{
18
+ * "name": "textquestion1"
19
+ * "type": "text",
20
+ * "maskType": "numeric",
21
+ * "maskSettings": {
22
+ * // Specify the properties of a numeric input mask here
23
+ * }
24
+ * }]
25
+ * }
26
+ * ```
27
+ *
28
+ * [View Demo](https://surveyjs.io/form-library/examples/masked-input-fields/ (linkStyle))
29
+ */
30
+ export declare class InputMaskNumeric extends InputMaskBase {
31
+ /**
32
+ * Specifies whether respondents can enter negative values.
33
+ *
34
+ * Default value: `true`
35
+ * @see min
36
+ * @see max
37
+ */
38
+ allowNegativeValues: boolean;
39
+ /**
40
+ * A symbol used to separate the fractional part from the integer part of a displayed number.
41
+ *
42
+ * Default value: `"."`
43
+ * @see precision
44
+ * @see thousandsSeparator
45
+ */
46
+ decimalSeparator: string;
47
+ /**
48
+ * Limits how many digits to retain after the decimal point for a displayed number.
49
+ *
50
+ * Default value: 2
51
+ *
52
+ * [View Demo](https://surveyjs.io/form-library/examples/masked-input-fields/ (linkStyle))
53
+ * @see decimalSeparator
54
+ */
55
+ precision: number;
56
+ /**
57
+ * A symbol used to separate the digits of a large number into groups of three.
58
+ *
59
+ * Default value: `","`
60
+ * @see decimalSeparator
61
+ */
62
+ thousandsSeparator: string;
63
+ /**
64
+ * A minimum value that respondents can enter.
65
+ * @see max
66
+ * @see allowNegativeValues
67
+ */
68
+ min: number;
69
+ /**
70
+ * A maximum value that respondents can enter.
71
+ * @see min
72
+ * @see allowNegativeValues
73
+ */
74
+ max: number;
75
+ private calccaretPosition;
76
+ displayNumber(parsedNumber: INumericalComposition, insertThousandsSeparator?: boolean, matchWholeMask?: boolean): string;
77
+ convertNumber(parsedNumber: INumericalComposition): number;
78
+ validateNumber(number: INumericalComposition): boolean;
79
+ parseNumber(src: string | number): INumericalComposition;
80
+ getNumberMaskedValue(src: string | number, matchWholeMask?: boolean): string;
81
+ private getNumberUnmaskedValue;
82
+ getMaskedValue(src: any): string;
83
+ getUnmaskedValue(src: string): any;
84
+ processInput(args: ITextInputParams): IMaskedInputResult;
85
+ getType(): string;
86
+ protected isPropertyEmpty(value: any): boolean;
87
+ }
88
+ export {};
@@ -0,0 +1,70 @@
1
+ import { InputMaskBase } from "./mask_base";
2
+ import { IMaskedInputResult, ITextInputParams } from "./mask_utils";
3
+ import { ILoadFromJSONOptions } from "../base-interfaces";
4
+ export interface IMaskLiteral {
5
+ type: "const" | "regex" | "fixed";
6
+ value: any;
7
+ }
8
+ export declare function getLiterals(pattern: string): Array<IMaskLiteral>;
9
+ export declare function getMaskedValueByPattern(src: string, pattern: string | Array<IMaskLiteral>, matchWholeMask: boolean): string;
10
+ export declare function getUnmaskedValueByPattern(str: string, pattern: string | Array<IMaskLiteral>, matchWholeMask: boolean, skipFixedChar?: boolean): string;
11
+ /**
12
+ * A class that describes an input mask of the `"pattern"` [`maskType`](https://surveyjs.io/form-library/documentation/api-reference/text-entry-question-model#maskType).
13
+ *
14
+ * The following code shows how to specify the properties of this class within a survey JSON schema:
15
+ *
16
+ * ```js
17
+ * const surveyJson = {
18
+ * "elements": [{
19
+ * "name": "textquestion1"
20
+ * "type": "text",
21
+ * "maskType": "pattern",
22
+ * "maskSettings": {
23
+ * // Specify the properties of a pattern input mask here
24
+ * }
25
+ * }]
26
+ * }
27
+ * ```
28
+ *
29
+ * [View Demo](https://surveyjs.io/form-library/examples/masked-input-fields/ (linkStyle))
30
+ */
31
+ export declare class InputMaskPattern extends InputMaskBase {
32
+ private literals;
33
+ /**
34
+ * A pattern for the input value.
35
+ *
36
+ * If you set the [`maskType`](https://surveyjs.io/form-library/documentation/api-reference/text-entry-question-model#maskType) to `"pattern"`, the mask can contain string literals and the following placeholders:
37
+ *
38
+ * - `9` - A digit.
39
+ * - `a` - An upper- or lower-case letter.
40
+ * - `#` - A digit or an upper- or lower-case letter.
41
+ *
42
+ * Use backslash `\` to escape a character.
43
+ *
44
+ * Example: `+1(999)-999-99-99`
45
+ *
46
+ * If you set the [`maskType`](https://surveyjs.io/form-library/documentation/api-reference/text-entry-question-model#maskType) to `"datetime"`, the mask can contain separator characters and the following placeholders:
47
+ *
48
+ * - `m` - Month number.
49
+ * - `mm` - Month number, with leading zero for single-digit values.
50
+ * - `d` - Day of the month.
51
+ * - `dd` - Day of the month, with leading zero for single-digit values.
52
+ * - `yy` - Last two digits of the year.
53
+ * - `yyyy` - A four-digit year.
54
+ *
55
+ * Example: `mm/dd/yyyy`
56
+ *
57
+ * [View Demo](https://surveyjs.io/form-library/examples/masked-input-fields/ (linkStyle))
58
+ * @see [settings.maskSettings](https://surveyjs.io/form-library/documentation/api-reference/settings#maskSettings)
59
+ */
60
+ pattern: string;
61
+ protected updateLiterals(): void;
62
+ protected onPropertyValueChanged(name: string, oldValue: any, newValue: any): void;
63
+ getType(): string;
64
+ fromJSON(json: any, options?: ILoadFromJSONOptions): void;
65
+ _getMaskedValue(src: string, matchWholeMask?: boolean): string;
66
+ _getUnmaskedValue(src: string, matchWholeMask?: boolean): string;
67
+ processInput(args: ITextInputParams): IMaskedInputResult;
68
+ getMaskedValue(src: any): string;
69
+ getUnmaskedValue(src: string): any;
70
+ }
@@ -0,0 +1,18 @@
1
+ export declare var numberDefinition: RegExp;
2
+ export interface IMaskedInputResult {
3
+ value: string;
4
+ caretPosition: number;
5
+ cancelPreventDefault?: boolean;
6
+ }
7
+ export interface ITextInputParams {
8
+ prevValue: string;
9
+ selectionStart: number;
10
+ selectionEnd: number;
11
+ insertedChars: string | null;
12
+ inputDirection?: "forward" | "backward";
13
+ }
14
+ export interface IInputMask {
15
+ getMaskedValue(src: any): string;
16
+ getUnmaskedValue(src: string): any;
17
+ processInput(args: ITextInputParams): IMaskedInputResult;
18
+ }
@@ -198,6 +198,7 @@ export declare class QuestionSelectBase extends Question {
198
198
  protected updateSelectedItemValues(): void;
199
199
  private setCustomValuesIntoItems;
200
200
  protected hasUnknownValue(val: any, includeOther?: boolean, isFilteredChoices?: boolean, checkEmptyValue?: boolean): boolean;
201
+ protected hasUnknownValueItem(val: any, includeOther?: boolean, isFilteredChoices?: boolean, checkEmptyValue?: boolean): boolean;
201
202
  protected isValueDisabled(val: any): boolean;
202
203
  /**
203
204
  * If the clearIncorrectValuesCallback is set, it is used to clear incorrect values instead of default behaviour.
@@ -93,6 +93,14 @@ export declare class QuestionDropdownModel extends QuestionSelectBase {
93
93
  * @see [SurveyModel.onChoicesSearch](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onChoicesSearch)
94
94
  */
95
95
  searchMode: "contains" | "startsWith";
96
+ /**
97
+ * Specifies whether to wrap long texts in choice options onto a new line.
98
+ *
99
+ * Default value: `true`
100
+ *
101
+ * Disable this property if you want the texts to be truncated with ellipsis.
102
+ */
103
+ textWrapEnabled: boolean;
96
104
  inputHasValue: boolean;
97
105
  readOnlyText: string;
98
106
  /**
@@ -21,4 +21,5 @@ export declare class QuestionHtmlModel extends QuestionNonValue {
21
21
  readonly processedHtml: string;
22
22
  private processHtml;
23
23
  readonly isNewA11yStructure: boolean;
24
+ readonly renderCssRoot: string;
24
25
  }
@@ -55,6 +55,7 @@ export declare class QuestionTagboxModel extends QuestionCheckboxModel {
55
55
  * Specifies whether to close the drop-down menu after a user selects a value.
56
56
  */
57
57
  closeOnSelect: number;
58
+ textWrapEnabled: boolean;
58
59
  /*
59
60
  * A text displayed in the input field when it doesn't have a value.
60
61
  */