survey-core 1.11.1 → 1.11.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (296) hide show
  1. package/defaultV2.css +35 -22
  2. package/defaultV2.css.map +1 -1
  3. package/defaultV2.fontless.css +35 -22
  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 +172 -45
  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 +2 -0
  269. package/ts3.4/typings/defaultCss/cssstandard.d.ts +2 -0
  270. package/ts3.4/typings/defaultCss/defaultV2Css.d.ts +2 -0
  271. package/ts3.4/typings/localization/english.d.ts +1 -0
  272. package/ts3.4/typings/panel.d.ts +7 -0
  273. package/ts3.4/typings/question.d.ts +1 -0
  274. package/ts3.4/typings/question_custom.d.ts +1 -0
  275. package/ts3.4/typings/question_matrixdropdownrendered.d.ts +3 -0
  276. package/ts3.4/typings/question_multipletext.d.ts +1 -0
  277. package/ts3.4/typings/question_paneldynamic.d.ts +8 -0
  278. package/ts3.4/typings/questionfactory.d.ts +5 -3
  279. package/ts3.4/typings/survey-events-api.d.ts +12 -0
  280. package/ts3.4/typings/survey.d.ts +8 -4
  281. package/ts3.4/typings/surveyStrings.d.ts +1 -0
  282. package/typings/base-interfaces.d.ts +1 -0
  283. package/typings/defaultCss/cssmodern.d.ts +2 -0
  284. package/typings/defaultCss/cssstandard.d.ts +2 -0
  285. package/typings/defaultCss/defaultV2Css.d.ts +2 -0
  286. package/typings/localization/english.d.ts +1 -0
  287. package/typings/panel.d.ts +7 -0
  288. package/typings/question.d.ts +1 -0
  289. package/typings/question_custom.d.ts +1 -0
  290. package/typings/question_matrixdropdownrendered.d.ts +3 -0
  291. package/typings/question_multipletext.d.ts +1 -0
  292. package/typings/question_paneldynamic.d.ts +9 -0
  293. package/typings/questionfactory.d.ts +5 -3
  294. package/typings/survey-events-api.d.ts +12 -0
  295. package/typings/survey.d.ts +8 -4
  296. package/typings/surveyStrings.d.ts +1 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "survey-core",
3
- "version": "1.11.1",
3
+ "version": "1.11.3",
4
4
  "description": "survey.js is a JavaScript Survey Library. It is a modern way to add a survey to your website. It uses JSON for survey metadata and results.",
5
5
  "keywords": [
6
6
  "Survey",
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - Survey JavaScript library v1.11.1
2
+ * surveyjs - Survey JavaScript library v1.11.3
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.11.1
2
+ * surveyjs - Survey JavaScript library v1.11.3
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.11.1
2
+ * surveyjs - Survey JavaScript library v1.11.3
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.11.1
2
+ * surveyjs - Survey JavaScript library v1.11.3
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
  */
package/survey.core.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - Survey JavaScript library v1.11.1
2
+ * surveyjs - Survey JavaScript library v1.11.3
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
  */
@@ -4958,6 +4958,7 @@ var modernCss = {
4958
4958
  matrixdropdown: {
4959
4959
  root: "sv-table sv-matrixdropdown",
4960
4960
  cell: "sv-table__cell",
4961
+ cellResponsiveTitle: "sv-table__responsive-title",
4961
4962
  headerCell: "sv-table__cell sv-table__cell--header",
4962
4963
  row: "sv-table__row",
4963
4964
  rowTextCell: "sv-table__cell--row-text",
@@ -4976,6 +4977,7 @@ var modernCss = {
4976
4977
  matrixdynamic: {
4977
4978
  root: "sv-table sv-matrixdynamic",
4978
4979
  cell: "sv-table__cell",
4980
+ cellResponsiveTitle: "sv-table__responsive-title",
4979
4981
  headerCell: "sv-table__cell sv-table__cell--header",
4980
4982
  button: "sv-btn",
4981
4983
  buttonAdd: "sv-matrixdynamic__add-btn",
@@ -5304,6 +5306,7 @@ var defaultStandardCss = {
5304
5306
  matrixdropdown: {
5305
5307
  root: "sv_q_matrix_dropdown",
5306
5308
  cell: "sv_matrix_cell",
5309
+ cellResponsiveTitle: "sv_matrix_cell_responsive_title",
5307
5310
  headerCell: "sv_matrix_cell_header",
5308
5311
  row: "sv_matrix_row",
5309
5312
  rowAdditional: "sv-matrix__row--additional",
@@ -5328,6 +5331,7 @@ var defaultStandardCss = {
5328
5331
  iconRemove: "",
5329
5332
  iconDrag: "sv-matrixdynamic__drag-icon",
5330
5333
  cell: "sv_matrix_cell",
5334
+ cellResponsiveTitle: "sv_matrix_cell_responsive_title",
5331
5335
  headerCell: "sv_matrix_cell_header",
5332
5336
  row: "sv_matrix_row",
5333
5337
  detailRow: "sv_matrix_detail_row",
@@ -6038,6 +6042,7 @@ var defaultV2Css = {
6038
6042
  tableWrapper: "sd-table-wrapper",
6039
6043
  rootAlternateRows: "sd-table--alternate-rows",
6040
6044
  cell: "sd-table__cell",
6045
+ cellResponsiveTitle: "sd-table__responsive-title",
6041
6046
  errorsCell: "sd-table__cell--error",
6042
6047
  errorsCellTop: "sd-table__cell--error-top",
6043
6048
  errorsCellBottom: "sd-table__cell--error-bottom",
@@ -6082,6 +6087,7 @@ var defaultV2Css = {
6082
6087
  rootAlternateRows: "sd-table--alternate-rows",
6083
6088
  content: "sd-matrixdynamic__content sd-question__content",
6084
6089
  cell: "sd-table__cell",
6090
+ cellResponsiveTitle: "sd-table__responsive-title",
6085
6091
  row: "sd-table__row",
6086
6092
  rowFadeIn: "sd-table__row--fade-in",
6087
6093
  rowFadeOut: "sd-table__row--fade-out",
@@ -8573,7 +8579,7 @@ var DropdownListModel = /** @class */ (function (_super) {
8573
8579
  this.listModel.setItems(this.getAvailableItems());
8574
8580
  };
8575
8581
  DropdownListModel.prototype.onClick = function (event) {
8576
- if (this.question.readOnly || this.question.isDesignMode)
8582
+ if (this.question.readOnly || this.question.isDesignMode || this.question.isPreviewStyle)
8577
8583
  return;
8578
8584
  this._popupModel.toggleVisibility();
8579
8585
  this.focusItemOnClickAndPopup();
@@ -9036,7 +9042,7 @@ var DropdownMultiSelectListModel = /** @class */ (function (_super) {
9036
9042
  };
9037
9043
  DropdownMultiSelectListModel.prototype.onPropertyChangedHandler = function (sender, options) {
9038
9044
  _super.prototype.onPropertyChangedHandler.call(this, sender, options);
9039
- if (options.name === "value" || options.name === "renderedValue") {
9045
+ if (options.name === "value" || options.name === "renderedValue" || options.name === "placeholder") {
9040
9046
  this.syncFilterStringPlaceholder();
9041
9047
  }
9042
9048
  };
@@ -9785,8 +9791,8 @@ __webpack_require__.r(__webpack_exports__);
9785
9791
 
9786
9792
  var Version;
9787
9793
  var ReleaseDate;
9788
- Version = "" + "1.11.1";
9789
- ReleaseDate = "" + "2024-06-06";
9794
+ Version = "" + "1.11.3";
9795
+ ReleaseDate = "" + "2024-06-18";
9790
9796
  function checkLibraryVersion(ver, libraryName) {
9791
9797
  if (Version != ver) {
9792
9798
  var str = "survey-core has version '" + Version + "' and " + libraryName
@@ -16136,7 +16142,7 @@ var Cover = /** @class */ (function (_super) {
16136
16142
  .toString();
16137
16143
  };
16138
16144
  Cover.prototype.fromTheme = function (theme) {
16139
- _super.prototype.fromJSON.call(this, theme.header);
16145
+ _super.prototype.fromJSON.call(this, theme.header || {});
16140
16146
  if (!!theme.cssVariables) {
16141
16147
  this.backgroundColor = theme.cssVariables["--sjs-header-backcolor"];
16142
16148
  this.titleColor = theme.cssVariables["--sjs-font-headertitle-color"];
@@ -20308,13 +20314,13 @@ var ListModel = /** @class */ (function (_super) {
20308
20314
  if (_this.allowSelection) {
20309
20315
  _this.selectedItem = itemValue;
20310
20316
  }
20317
+ if (!!_this.onSelectionChanged) {
20318
+ _this.onSelectionChanged(itemValue);
20319
+ }
20311
20320
  var action = itemValue.action;
20312
20321
  if (!!action) {
20313
20322
  action(itemValue);
20314
20323
  }
20315
- if (!!_this.onSelectionChanged) {
20316
- _this.onSelectionChanged(itemValue);
20317
- }
20318
20324
  };
20319
20325
  _this.onItemHover = function (itemValue) {
20320
20326
  _this.mouseOverHandler(itemValue);
@@ -21435,6 +21441,7 @@ var englishStrings = {
21435
21441
  emptyMessage: "No data to display",
21436
21442
  noEntriesText: "No entries yet.\nClick the button below to add a new entry.",
21437
21443
  noEntriesReadonlyText: "No entries",
21444
+ tabTitlePlaceholder: "New Panel",
21438
21445
  more: "More",
21439
21446
  tagboxDoneButtonCaption: "OK",
21440
21447
  selectToRankEmptyRankedAreaText: "All choices are selected for ranking",
@@ -23078,10 +23085,10 @@ var InputMaskNumeric = /** @class */ (function (_super) {
23078
23085
  if (value >= min && value <= max)
23079
23086
  return true;
23080
23087
  if (!matchWholeMask) {
23081
- if (!number.hasDecimalSeparator) {
23088
+ if (!number.hasDecimalSeparator && value != 0) {
23082
23089
  var test_high = value;
23083
23090
  var test_low = value;
23084
- if (value >= 0) {
23091
+ if (value > 0) {
23085
23092
  if (value + 1 > min && value <= max)
23086
23093
  return true;
23087
23094
  while (true) {
@@ -25334,6 +25341,9 @@ var PanelModelBase = /** @class */ (function (_super) {
25334
25341
  return this.parent.getQuestionTitleLocation();
25335
25342
  return this.survey ? this.survey.questionTitleLocation : "top";
25336
25343
  };
25344
+ PanelModelBase.prototype.getQuestionTitleWidth = function () {
25345
+ return this.questionTitleWidth || this.parent && this.parent.getQuestionTitleWidth();
25346
+ };
25337
25347
  PanelModelBase.prototype.getStartIndex = function () {
25338
25348
  if (!!this.parent)
25339
25349
  return this.parent.getQuestionStartIndex();
@@ -26089,6 +26099,9 @@ var PanelModelBase = /** @class */ (function (_super) {
26089
26099
  __decorate([
26090
26100
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__["property"])({ defaultValue: true })
26091
26101
  ], PanelModelBase.prototype, "showDescription", void 0);
26102
+ __decorate([
26103
+ Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__["property"])()
26104
+ ], PanelModelBase.prototype, "questionTitleWidth", void 0);
26092
26105
  return PanelModelBase;
26093
26106
  }(_survey_element__WEBPACK_IMPORTED_MODULE_3__["SurveyElement"]));
26094
26107
 
@@ -26532,6 +26545,12 @@ _jsonobject__WEBPACK_IMPORTED_MODULE_0__["Serializer"].addClass("panelbase", [
26532
26545
  "visibleIf:condition",
26533
26546
  "enableIf:condition",
26534
26547
  "requiredIf:condition",
26548
+ {
26549
+ name: "questionTitleWidth",
26550
+ visibleIf: function (obj) {
26551
+ return !!obj && obj["getQuestionTitleLocation"]() === "left";
26552
+ }
26553
+ },
26535
26554
  {
26536
26555
  name: "questionTitleLocation",
26537
26556
  default: "default",
@@ -29127,6 +29146,17 @@ var Question = /** @class */ (function (_super) {
29127
29146
  this.clearValueIfInvisible();
29128
29147
  }
29129
29148
  };
29149
+ Object.defineProperty(Question.prototype, "titleWidth", {
29150
+ get: function () {
29151
+ if (this.getTitleLocation() === "left") {
29152
+ if (!!this.parent)
29153
+ return this.parent.getQuestionTitleWidth();
29154
+ }
29155
+ return undefined;
29156
+ },
29157
+ enumerable: false,
29158
+ configurable: true
29159
+ });
29130
29160
  /**
29131
29161
  * Returns title location calculated based on the question's `titleLocation` property and the `questionTitleLocation` property of the question's containers (survey, page, or panel).
29132
29162
  * @see titleLocation
@@ -36673,6 +36703,9 @@ var QuestionCustomModelBase = /** @class */ (function (_super) {
36673
36703
  QuestionCustomModelBase.prototype.getQuestionTitleLocation = function () {
36674
36704
  return "left";
36675
36705
  };
36706
+ QuestionCustomModelBase.prototype.getQuestionTitleWidth = function () {
36707
+ return undefined;
36708
+ };
36676
36709
  QuestionCustomModelBase.prototype.getQuestionStartIndex = function () {
36677
36710
  return this.getStartIndex();
36678
36711
  };
@@ -46015,6 +46048,28 @@ var QuestionMatrixDropdownRenderedCell = /** @class */ (function () {
46015
46048
  enumerable: false,
46016
46049
  configurable: true
46017
46050
  });
46051
+ Object.defineProperty(QuestionMatrixDropdownRenderedCell.prototype, "showResponsiveTitle", {
46052
+ get: function () {
46053
+ var _a;
46054
+ return this.hasQuestion && ((_a = this.matrix) === null || _a === void 0 ? void 0 : _a.isMobile);
46055
+ },
46056
+ enumerable: false,
46057
+ configurable: true
46058
+ });
46059
+ Object.defineProperty(QuestionMatrixDropdownRenderedCell.prototype, "responsiveTitleCss", {
46060
+ get: function () {
46061
+ return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_5__["CssClassBuilder"]().append(this.matrix.cssClasses.cellResponsiveTitle).toString();
46062
+ },
46063
+ enumerable: false,
46064
+ configurable: true
46065
+ });
46066
+ Object.defineProperty(QuestionMatrixDropdownRenderedCell.prototype, "responsiveLocTitle", {
46067
+ get: function () {
46068
+ return this.cell.column.locTitle;
46069
+ },
46070
+ enumerable: false,
46071
+ configurable: true
46072
+ });
46018
46073
  Object.defineProperty(QuestionMatrixDropdownRenderedCell.prototype, "headers", {
46019
46074
  get: function () {
46020
46075
  if (this.cell && this.cell.column) {
@@ -49239,6 +49294,9 @@ var QuestionMultipleTextModel = /** @class */ (function (_super) {
49239
49294
  QuestionMultipleTextModel.prototype.getQuestionTitleLocation = function () {
49240
49295
  return "left";
49241
49296
  };
49297
+ QuestionMultipleTextModel.prototype.getQuestionTitleWidth = function () {
49298
+ return undefined;
49299
+ };
49242
49300
  QuestionMultipleTextModel.prototype.getQuestionStartIndex = function () {
49243
49301
  return this.getStartIndex();
49244
49302
  };
@@ -49760,6 +49818,7 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
49760
49818
  _this.createLocalizableString("panelNextText", _this, false, "pageNextText");
49761
49819
  _this.createLocalizableString("noEntriesText", _this, false, "noEntriesText");
49762
49820
  _this.createLocalizableString("templateTabTitle", _this, true, "panelDynamicTabTextFormat");
49821
+ _this.createLocalizableString("tabTitlePlaceholder", _this, true, "tabTitlePlaceholder");
49763
49822
  _this.registerPropertyChangedHandlers(["panelsState"], function () {
49764
49823
  _this.setPanelsState();
49765
49824
  });
@@ -49930,6 +49989,7 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
49930
49989
  *
49931
49990
  * [View Demo](https://surveyjs.io/form-library/examples/tabbed-interface-for-duplicate-group-option/ (linkStyle))
49932
49991
  * @see templateTitle
49992
+ * @see tabTitlePlaceholder
49933
49993
  * @see renderMode
49934
49994
  */
49935
49995
  get: function () {
@@ -49948,6 +50008,28 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
49948
50008
  enumerable: false,
49949
50009
  configurable: true
49950
50010
  });
50011
+ Object.defineProperty(QuestionPanelDynamicModel.prototype, "tabTitlePlaceholder", {
50012
+ /**
50013
+ * 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.
50014
+ *
50015
+ * Default value: `"New Panel"` (taken from a [localization dictionary](https://github.com/surveyjs/survey-library/tree/master/src/localization))
50016
+ */
50017
+ get: function () {
50018
+ return this.locTabTitlePlaceholder.text;
50019
+ },
50020
+ set: function (newValue) {
50021
+ this.locTabTitlePlaceholder.text = newValue;
50022
+ },
50023
+ enumerable: false,
50024
+ configurable: true
50025
+ });
50026
+ Object.defineProperty(QuestionPanelDynamicModel.prototype, "locTabTitlePlaceholder", {
50027
+ get: function () {
50028
+ return this.getLocalizableString("tabTitlePlaceholder");
50029
+ },
50030
+ enumerable: false,
50031
+ configurable: true
50032
+ });
49951
50033
  Object.defineProperty(QuestionPanelDynamicModel.prototype, "templateDescription", {
49952
50034
  /**
49953
50035
  * A template for panel descriptions.
@@ -52198,6 +52280,9 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
52198
52280
  return;
52199
52281
  var locTitle = new _localizablestring__WEBPACK_IMPORTED_MODULE_2__["LocalizableString"](panel, true);
52200
52282
  locTitle.onGetTextCallback = function (str) {
52283
+ if (!str) {
52284
+ str = _this.locTabTitlePlaceholder.renderedHtml;
52285
+ }
52201
52286
  if (!_this.survey)
52202
52287
  return str;
52203
52288
  var options = {
@@ -52328,6 +52413,7 @@ _jsonobject__WEBPACK_IMPORTED_MODULE_5__["Serializer"].addClass("paneldynamic",
52328
52413
  },
52329
52414
  { name: "templateTitle:text", serializationProperty: "locTemplateTitle" },
52330
52415
  { name: "templateTabTitle", serializationProperty: "locTemplateTabTitle", visibleIf: function (obj) { return obj.renderMode === "tab"; } },
52416
+ { name: "tabTitlePlaceholder", serializationProperty: "locTabTitlePlaceholder", visibleIf: function (obj) { return obj.renderMode === "tab"; } },
52331
52417
  {
52332
52418
  name: "templateDescription:text",
52333
52419
  serializationProperty: "locTemplateDescription",
@@ -55655,7 +55741,7 @@ var QuestionTextModel = /** @class */ (function (_super) {
55655
55741
  };
55656
55742
  Object.defineProperty(QuestionTextModel.prototype, "maskTypeIsEmpty", {
55657
55743
  get: function () {
55658
- return this.maskType === "none";
55744
+ return this.maskType === "none" || this.inputType !== "text";
55659
55745
  },
55660
55746
  enumerable: false,
55661
55747
  configurable: true
@@ -55729,6 +55815,7 @@ var QuestionTextModel = /** @class */ (function (_super) {
55729
55815
  this.max = undefined;
55730
55816
  this.step = undefined;
55731
55817
  }
55818
+ this.updateMaskAdapter();
55732
55819
  },
55733
55820
  enumerable: false,
55734
55821
  configurable: true
@@ -56732,8 +56819,9 @@ var QuestionFactory = /** @class */ (function () {
56732
56819
  enumerable: false,
56733
56820
  configurable: true
56734
56821
  });
56735
- QuestionFactory.prototype.registerQuestion = function (questionType, questionCreator) {
56736
- ElementFactory.Instance.registerElement(questionType, questionCreator);
56822
+ QuestionFactory.prototype.registerQuestion = function (questionType, questionCreator, showInToolbox) {
56823
+ if (showInToolbox === void 0) { showInToolbox = true; }
56824
+ ElementFactory.Instance.registerElement(questionType, questionCreator, showInToolbox);
56737
56825
  };
56738
56826
  QuestionFactory.prototype.registerCustomQuestion = function (questionType) {
56739
56827
  ElementFactory.Instance.registerCustomQuestion(questionType);
@@ -56759,18 +56847,20 @@ var ElementFactory = /** @class */ (function () {
56759
56847
  function ElementFactory() {
56760
56848
  var _this = this;
56761
56849
  this.creatorHash = {};
56762
- this.registerCustomQuestion = function (questionType) {
56850
+ this.registerCustomQuestion = function (questionType, showInToolbox) {
56851
+ if (showInToolbox === void 0) { showInToolbox = true; }
56763
56852
  var creator = function (name) {
56764
56853
  var el = _jsonobject__WEBPACK_IMPORTED_MODULE_1__["Serializer"].createClass(questionType);
56765
56854
  if (!!el)
56766
56855
  el.name = name;
56767
56856
  return el;
56768
56857
  };
56769
- _this.registerElement(questionType, creator);
56858
+ _this.registerElement(questionType, creator, showInToolbox);
56770
56859
  };
56771
56860
  }
56772
- ElementFactory.prototype.registerElement = function (elementType, elementCreator) {
56773
- this.creatorHash[elementType] = elementCreator;
56861
+ ElementFactory.prototype.registerElement = function (elementType, elementCreator, showInToolbox) {
56862
+ if (showInToolbox === void 0) { showInToolbox = true; }
56863
+ this.creatorHash[elementType] = { showInToolbox: showInToolbox, creator: elementCreator };
56774
56864
  };
56775
56865
  ElementFactory.prototype.clear = function () {
56776
56866
  this.creatorHash = {};
@@ -56782,22 +56872,30 @@ var ElementFactory = /** @class */ (function () {
56782
56872
  _jsonobject__WEBPACK_IMPORTED_MODULE_1__["Serializer"].removeClass(elementType);
56783
56873
  }
56784
56874
  };
56875
+ ElementFactory.prototype.getAllToolboxTypes = function () {
56876
+ return this.getAllTypesCore(true);
56877
+ };
56785
56878
  ElementFactory.prototype.getAllTypes = function () {
56786
- var result = new Array();
56787
- for (var key in this.creatorHash) {
56788
- result.push(key);
56789
- }
56790
- return result.sort();
56879
+ return this.getAllTypesCore(false);
56791
56880
  };
56792
56881
  ElementFactory.prototype.createElement = function (elementType, name) {
56793
- var creator = this.creatorHash[elementType];
56794
- if (!!creator)
56795
- return creator(name);
56882
+ var item = this.creatorHash[elementType];
56883
+ if (!!item && !!item.creator)
56884
+ return item.creator(name);
56796
56885
  var compJSON = _question_custom__WEBPACK_IMPORTED_MODULE_2__["ComponentCollection"].Instance.getCustomQuestionByName(elementType);
56797
56886
  if (!!compJSON)
56798
56887
  return _question_custom__WEBPACK_IMPORTED_MODULE_2__["ComponentCollection"].Instance.createQuestion(name, compJSON);
56799
56888
  return null;
56800
56889
  };
56890
+ ElementFactory.prototype.getAllTypesCore = function (showInToolboxOnly) {
56891
+ var result = new Array();
56892
+ for (var key in this.creatorHash) {
56893
+ if (!showInToolboxOnly || this.creatorHash[key].showInToolbox) {
56894
+ result.push(key);
56895
+ }
56896
+ }
56897
+ return result.sort();
56898
+ };
56801
56899
  ElementFactory.Instance = new ElementFactory();
56802
56900
  return ElementFactory;
56803
56901
  }());
@@ -60432,6 +60530,8 @@ var SurveyModel = /** @class */ (function (_super) {
60432
60530
  * An event that is raised after the visibility of a popup is changed. This event can be raised for [Single-](https://surveyjs.io/form-library/documentation/api-reference/dropdown-menu-model) and [Multi-Select Dropdown](https://surveyjs.io/form-library/documentation/api-reference/dropdown-tag-box-model) questions and [Rating](https://surveyjs.io/form-library/documentation/api-reference/rating-scale-question-model) questions [rendered as drop-down menus](https://surveyjs.io/form-library/documentation/api-reference/rating-scale-question-model#displayMode).
60433
60531
  */
60434
60532
  _this.onPopupVisibleChanged = _this.addEvent();
60533
+ _this.onElementWrapperComponentName = _this.addEvent();
60534
+ _this.onElementWrapperComponentData = _this.addEvent();
60435
60535
  /**
60436
60536
  * A list of errors in a survey JSON schema.
60437
60537
  * @see ensureUniqueNames
@@ -61735,12 +61835,13 @@ var SurveyModel = /** @class */ (function (_super) {
61735
61835
  };
61736
61836
  SurveyModel.prototype.getRendererForString = function (element, name) {
61737
61837
  var renderAs = this.getBuiltInRendererForString(element, name);
61838
+ renderAs = this.elementWrapperComponentNameCore(renderAs, element, "string", name);
61738
61839
  var options = { element: element, name: name, renderAs: renderAs };
61739
61840
  this.onTextRenderAs.fire(this, options);
61740
61841
  return options.renderAs;
61741
61842
  };
61742
61843
  SurveyModel.prototype.getRendererContextForString = function (element, locStr) {
61743
- return locStr;
61844
+ return this.elementWrapperDataCore(locStr, element, "string");
61744
61845
  };
61745
61846
  SurveyModel.prototype.getExpressionDisplayValue = function (question, value, displayValue) {
61746
61847
  var options = {
@@ -67693,32 +67794,45 @@ var SurveyModel = /** @class */ (function (_super) {
67693
67794
  }
67694
67795
  }
67695
67796
  };
67797
+ SurveyModel.prototype.elementWrapperComponentNameCore = function (componentName, element, wrapperName, reason, item) {
67798
+ if (this.onElementWrapperComponentName.isEmpty)
67799
+ return componentName;
67800
+ var options = { componentName: componentName, element: element, wrapperName: wrapperName, reason: reason, item: item };
67801
+ this.onElementWrapperComponentName.fire(this, options);
67802
+ return options.componentName;
67803
+ };
67804
+ SurveyModel.prototype.elementWrapperDataCore = function (data, element, wrapperName, reason, item) {
67805
+ if (this.onElementWrapperComponentData.isEmpty)
67806
+ return data;
67807
+ var options = { data: data, element: element, wrapperName: wrapperName, reason: reason, item: item };
67808
+ this.onElementWrapperComponentData.fire(this, options);
67809
+ return options.data;
67810
+ };
67696
67811
  SurveyModel.prototype.getElementWrapperComponentName = function (element, reason) {
67697
- if (reason === "logo-image") {
67698
- return "sv-logo-image";
67699
- }
67700
- return SurveyModel.TemplateRendererComponentName;
67812
+ var res = reason === "logo-image" ? "sv-logo-image" : SurveyModel.TemplateRendererComponentName;
67813
+ return this.elementWrapperComponentNameCore(res, element, "component", reason);
67701
67814
  };
67702
67815
  SurveyModel.prototype.getQuestionContentWrapperComponentName = function (element) {
67703
- return SurveyModel.TemplateRendererComponentName;
67816
+ return this.elementWrapperComponentNameCore(SurveyModel.TemplateRendererComponentName, element, "content-component");
67704
67817
  };
67705
67818
  SurveyModel.prototype.getRowWrapperComponentName = function (row) {
67706
- return SurveyModel.TemplateRendererComponentName;
67819
+ return this.elementWrapperComponentNameCore(SurveyModel.TemplateRendererComponentName, row, "row");
67820
+ };
67821
+ SurveyModel.prototype.getItemValueWrapperComponentName = function (item, question) {
67822
+ return this.elementWrapperComponentNameCore(SurveyModel.TemplateRendererComponentName, question, "itemvalue", undefined, item);
67707
67823
  };
67708
67824
  SurveyModel.prototype.getElementWrapperComponentData = function (element, reason) {
67709
- return element;
67825
+ return this.elementWrapperDataCore(element, element, "component", reason);
67710
67826
  };
67711
67827
  SurveyModel.prototype.getRowWrapperComponentData = function (row) {
67712
- return row;
67713
- };
67714
- SurveyModel.prototype.getItemValueWrapperComponentName = function (item, question) {
67715
- return SurveyModel.TemplateRendererComponentName;
67828
+ return this.elementWrapperDataCore(row, row, "row");
67716
67829
  };
67717
67830
  SurveyModel.prototype.getItemValueWrapperComponentData = function (item, question) {
67718
- return item;
67831
+ return this.elementWrapperDataCore(item, question, "itemvalue", undefined, item);
67719
67832
  };
67720
67833
  SurveyModel.prototype.getMatrixCellTemplateData = function (cell) {
67721
- return cell.question;
67834
+ var res = cell.question;
67835
+ return this.elementWrapperDataCore(res, res, "cell");
67722
67836
  };
67723
67837
  SurveyModel.prototype.searchText = function (text) {
67724
67838
  if (!!text)
@@ -67871,10 +67985,7 @@ var SurveyModel = /** @class */ (function (_super) {
67871
67985
  return;
67872
67986
  Object.keys(theme).forEach(function (key) {
67873
67987
  if (key === "header") {
67874
- _this.removeLayoutElement("advanced-header");
67875
- var advHeader = new _header__WEBPACK_IMPORTED_MODULE_20__["Cover"]();
67876
- advHeader.fromTheme(theme);
67877
- _this.insertAdvancedHeader(advHeader);
67988
+ return;
67878
67989
  }
67879
67990
  if (key === "isPanelless") {
67880
67991
  _this.isCompact = theme[key];
@@ -67883,6 +67994,12 @@ var SurveyModel = /** @class */ (function (_super) {
67883
67994
  _this[key] = theme[key];
67884
67995
  }
67885
67996
  });
67997
+ if (this.headerView === "advanced" || "header" in theme) {
67998
+ this.removeLayoutElement("advanced-header");
67999
+ var advHeader = new _header__WEBPACK_IMPORTED_MODULE_20__["Cover"]();
68000
+ advHeader.fromTheme(theme);
68001
+ this.insertAdvancedHeader(advHeader);
68002
+ }
67886
68003
  this.themeChanged(theme);
67887
68004
  };
67888
68005
  SurveyModel.prototype.themeChanged = function (theme) {
@@ -69643,7 +69760,17 @@ var Trigger = /** @class */ (function (_super) {
69643
69760
  Trigger.prototype.getUsedVariables = function () {
69644
69761
  if (!this.conditionRunner)
69645
69762
  return [];
69646
- return this.conditionRunner.getVariables();
69763
+ var res = this.conditionRunner.getVariables();
69764
+ if (Array.isArray(res)) {
69765
+ var unw = "-unwrapped";
69766
+ for (var i = res.length - 1; i >= 0; i--) {
69767
+ var s = res[i];
69768
+ if (s.endsWith(unw)) {
69769
+ res.push(s.substring(0, s.length - unw.length));
69770
+ }
69771
+ }
69772
+ }
69773
+ return res;
69647
69774
  };
69648
69775
  Trigger.prototype.createConditionRunner = function () {
69649
69776
  if (!!this.conditionRunner)