survey-core 1.12.20 → 1.12.22

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 (455) hide show
  1. package/default.css +8715 -0
  2. package/default.css.map +1 -0
  3. package/default.fontless.css +8495 -0
  4. package/default.fontless.css.map +1 -0
  5. package/default.fontless.min.css +6 -0
  6. package/default.min.css +6 -0
  7. package/defaultV2.css +1 -1
  8. package/defaultV2.fontless.css +1 -1
  9. package/defaultV2.fontless.min.css +1 -1
  10. package/defaultV2.min.css +1 -1
  11. package/i18n/arabic.js +1 -1
  12. package/i18n/arabic.min.js +1 -1
  13. package/i18n/arabic.min.js.LICENSE.txt +5 -0
  14. package/i18n/basque.js +1 -1
  15. package/i18n/basque.min.js +1 -1
  16. package/i18n/basque.min.js.LICENSE.txt +5 -0
  17. package/i18n/bulgarian.js +1 -1
  18. package/i18n/bulgarian.min.js +1 -1
  19. package/i18n/bulgarian.min.js.LICENSE.txt +5 -0
  20. package/i18n/burmese.js +1 -1
  21. package/i18n/burmese.min.js +1 -1
  22. package/i18n/burmese.min.js.LICENSE.txt +5 -0
  23. package/i18n/catalan.js +1 -1
  24. package/i18n/catalan.min.js +1 -1
  25. package/i18n/catalan.min.js.LICENSE.txt +5 -0
  26. package/i18n/croatian.js +1 -1
  27. package/i18n/croatian.min.js +1 -1
  28. package/i18n/croatian.min.js.LICENSE.txt +5 -0
  29. package/i18n/czech.js +1 -1
  30. package/i18n/czech.min.js +1 -1
  31. package/i18n/czech.min.js.LICENSE.txt +5 -0
  32. package/i18n/danish.js +1 -1
  33. package/i18n/danish.min.js +1 -1
  34. package/i18n/danish.min.js.LICENSE.txt +5 -0
  35. package/i18n/dutch.js +1 -1
  36. package/i18n/dutch.min.js +1 -1
  37. package/i18n/dutch.min.js.LICENSE.txt +5 -0
  38. package/i18n/english.js +1 -1
  39. package/i18n/english.min.js +1 -1
  40. package/i18n/english.min.js.LICENSE.txt +5 -0
  41. package/i18n/estonian.js +1 -1
  42. package/i18n/estonian.min.js +1 -1
  43. package/i18n/estonian.min.js.LICENSE.txt +5 -0
  44. package/i18n/finnish.js +1 -1
  45. package/i18n/finnish.min.js +1 -1
  46. package/i18n/finnish.min.js.LICENSE.txt +5 -0
  47. package/i18n/french.js +1 -1
  48. package/i18n/french.min.js +1 -1
  49. package/i18n/french.min.js.LICENSE.txt +5 -0
  50. package/i18n/georgian.js +1 -1
  51. package/i18n/georgian.min.js +1 -1
  52. package/i18n/georgian.min.js.LICENSE.txt +5 -0
  53. package/i18n/german.js +1 -1
  54. package/i18n/german.min.js +1 -1
  55. package/i18n/german.min.js.LICENSE.txt +5 -0
  56. package/i18n/greek.js +1 -1
  57. package/i18n/greek.min.js +1 -1
  58. package/i18n/greek.min.js.LICENSE.txt +5 -0
  59. package/i18n/hebrew.js +1 -1
  60. package/i18n/hebrew.min.js +1 -1
  61. package/i18n/hebrew.min.js.LICENSE.txt +5 -0
  62. package/i18n/hindi.js +1 -1
  63. package/i18n/hindi.min.js +1 -1
  64. package/i18n/hindi.min.js.LICENSE.txt +5 -0
  65. package/i18n/hungarian.js +1 -1
  66. package/i18n/hungarian.min.js +1 -1
  67. package/i18n/hungarian.min.js.LICENSE.txt +5 -0
  68. package/i18n/icelandic.js +1 -1
  69. package/i18n/icelandic.min.js +1 -1
  70. package/i18n/icelandic.min.js.LICENSE.txt +5 -0
  71. package/i18n/index.js +1 -1
  72. package/i18n/index.min.js +1 -1
  73. package/i18n/index.min.js.LICENSE.txt +5 -0
  74. package/i18n/indonesian.js +1 -1
  75. package/i18n/indonesian.min.js +1 -1
  76. package/i18n/indonesian.min.js.LICENSE.txt +5 -0
  77. package/i18n/italian.js +1 -1
  78. package/i18n/italian.min.js +1 -1
  79. package/i18n/italian.min.js.LICENSE.txt +5 -0
  80. package/i18n/japanese.js +1 -1
  81. package/i18n/japanese.min.js +1 -1
  82. package/i18n/japanese.min.js.LICENSE.txt +5 -0
  83. package/i18n/kazakh.js +1 -1
  84. package/i18n/kazakh.min.js +1 -1
  85. package/i18n/kazakh.min.js.LICENSE.txt +5 -0
  86. package/i18n/korean.js +1 -1
  87. package/i18n/korean.min.js +1 -1
  88. package/i18n/korean.min.js.LICENSE.txt +5 -0
  89. package/i18n/latvian.js +1 -1
  90. package/i18n/latvian.min.js +1 -1
  91. package/i18n/latvian.min.js.LICENSE.txt +5 -0
  92. package/i18n/lithuanian.js +1 -1
  93. package/i18n/lithuanian.min.js +1 -1
  94. package/i18n/lithuanian.min.js.LICENSE.txt +5 -0
  95. package/i18n/macedonian.js +1 -1
  96. package/i18n/macedonian.min.js +1 -1
  97. package/i18n/macedonian.min.js.LICENSE.txt +5 -0
  98. package/i18n/malay.js +1 -1
  99. package/i18n/malay.min.js +1 -1
  100. package/i18n/malay.min.js.LICENSE.txt +5 -0
  101. package/i18n/nl-BE.js +1 -1
  102. package/i18n/nl-BE.min.js +1 -1
  103. package/i18n/nl-BE.min.js.LICENSE.txt +5 -0
  104. package/i18n/norwegian.js +1 -1
  105. package/i18n/norwegian.min.js +1 -1
  106. package/i18n/norwegian.min.js.LICENSE.txt +5 -0
  107. package/i18n/persian.js +1 -1
  108. package/i18n/persian.min.js +1 -1
  109. package/i18n/persian.min.js.LICENSE.txt +5 -0
  110. package/i18n/philippines.js +1 -1
  111. package/i18n/philippines.min.js +1 -1
  112. package/i18n/philippines.min.js.LICENSE.txt +5 -0
  113. package/i18n/polish.js +1 -1
  114. package/i18n/polish.min.js +1 -1
  115. package/i18n/polish.min.js.LICENSE.txt +5 -0
  116. package/i18n/portuguese-br.js +1 -1
  117. package/i18n/portuguese-br.min.js +1 -1
  118. package/i18n/portuguese-br.min.js.LICENSE.txt +5 -0
  119. package/i18n/portuguese.js +1 -1
  120. package/i18n/portuguese.min.js +1 -1
  121. package/i18n/portuguese.min.js.LICENSE.txt +5 -0
  122. package/i18n/romanian.js +1 -1
  123. package/i18n/romanian.min.js +1 -1
  124. package/i18n/romanian.min.js.LICENSE.txt +5 -0
  125. package/i18n/russian.js +1 -1
  126. package/i18n/russian.min.js +1 -1
  127. package/i18n/russian.min.js.LICENSE.txt +5 -0
  128. package/i18n/serbian.js +1 -1
  129. package/i18n/serbian.min.js +1 -1
  130. package/i18n/serbian.min.js.LICENSE.txt +5 -0
  131. package/i18n/simplified-chinese.js +1 -1
  132. package/i18n/simplified-chinese.min.js +1 -1
  133. package/i18n/simplified-chinese.min.js.LICENSE.txt +5 -0
  134. package/i18n/slovak.js +1 -1
  135. package/i18n/slovak.min.js +1 -1
  136. package/i18n/slovak.min.js.LICENSE.txt +5 -0
  137. package/i18n/spanish.js +1 -1
  138. package/i18n/spanish.min.js +1 -1
  139. package/i18n/spanish.min.js.LICENSE.txt +5 -0
  140. package/i18n/swahili.js +1 -1
  141. package/i18n/swahili.min.js +1 -1
  142. package/i18n/swahili.min.js.LICENSE.txt +5 -0
  143. package/i18n/swedish.js +1 -1
  144. package/i18n/swedish.min.js +1 -1
  145. package/i18n/swedish.min.js.LICENSE.txt +5 -0
  146. package/i18n/tajik.js +1 -1
  147. package/i18n/tajik.min.js +1 -1
  148. package/i18n/tajik.min.js.LICENSE.txt +5 -0
  149. package/i18n/telugu.js +1 -1
  150. package/i18n/telugu.min.js +1 -1
  151. package/i18n/telugu.min.js.LICENSE.txt +5 -0
  152. package/i18n/thai.js +1 -1
  153. package/i18n/thai.min.js +1 -1
  154. package/i18n/thai.min.js.LICENSE.txt +5 -0
  155. package/i18n/traditional-chinese.js +1 -1
  156. package/i18n/traditional-chinese.min.js +1 -1
  157. package/i18n/traditional-chinese.min.js.LICENSE.txt +5 -0
  158. package/i18n/turkish.js +1 -1
  159. package/i18n/turkish.min.js +1 -1
  160. package/i18n/turkish.min.js.LICENSE.txt +5 -0
  161. package/i18n/ukrainian.js +1 -1
  162. package/i18n/ukrainian.min.js +1 -1
  163. package/i18n/ukrainian.min.js.LICENSE.txt +5 -0
  164. package/i18n/urdu.js +1 -1
  165. package/i18n/urdu.min.js +1 -1
  166. package/i18n/urdu.min.js.LICENSE.txt +5 -0
  167. package/i18n/vietnamese.js +1 -1
  168. package/i18n/vietnamese.min.js +1 -1
  169. package/i18n/vietnamese.min.js.LICENSE.txt +5 -0
  170. package/i18n/welsh.js +1 -1
  171. package/i18n/welsh.min.js +1 -1
  172. package/i18n/welsh.min.js.LICENSE.txt +5 -0
  173. package/icons/iconsV1.js +1 -1
  174. package/icons/iconsV1.min.js +1 -1
  175. package/icons/iconsV1.min.js.LICENSE.txt +5 -0
  176. package/icons/iconsV2.js +1 -1
  177. package/icons/iconsV2.min.js +1 -1
  178. package/icons/iconsV2.min.js.LICENSE.txt +5 -0
  179. package/modern.css +1 -1
  180. package/modern.fontless.css +1 -1
  181. package/modern.fontless.min.css +1 -1
  182. package/modern.min.css +1 -1
  183. package/package.json +1 -1
  184. package/plugins/bootstrap-integration/index.js +1 -1
  185. package/plugins/bootstrap-integration/index.min.js +1 -1
  186. package/plugins/bootstrap-material-integration/index.js +1 -1
  187. package/plugins/bootstrap-material-integration/index.min.js +1 -1
  188. package/survey.core.js +155 -59
  189. package/survey.core.js.map +1 -1
  190. package/survey.core.min.js +3 -3
  191. package/survey.core.min.js.LICENSE.txt +10 -0
  192. package/survey.css +1 -1
  193. package/survey.i18n.js +1 -1
  194. package/survey.i18n.min.js +1 -1
  195. package/survey.i18n.min.js.LICENSE.txt +5 -0
  196. package/survey.min.css +1 -1
  197. package/themes/borderless-dark-panelless.js +1 -1
  198. package/themes/borderless-dark-panelless.min.js +1 -1
  199. package/themes/borderless-dark-panelless.min.js.LICENSE.txt +5 -0
  200. package/themes/borderless-dark.js +1 -1
  201. package/themes/borderless-dark.min.js +1 -1
  202. package/themes/borderless-dark.min.js.LICENSE.txt +5 -0
  203. package/themes/borderless-light-panelless..js +1 -1
  204. package/themes/borderless-light-panelless..min.js +1 -1
  205. package/themes/borderless-light-panelless.js +156 -0
  206. package/themes/borderless-light-panelless.js.map +1 -0
  207. package/themes/borderless-light-panelless.min.js +2 -0
  208. package/themes/borderless-light-panelless.min.js.LICENSE.txt +5 -0
  209. package/themes/borderless-light.js +1 -1
  210. package/themes/borderless-light.min.js +1 -1
  211. package/themes/borderless-light.min.js.LICENSE.txt +5 -0
  212. package/themes/contrast-dark-panelless.js +1 -1
  213. package/themes/contrast-dark-panelless.min.js +1 -1
  214. package/themes/contrast-dark-panelless.min.js.LICENSE.txt +5 -0
  215. package/themes/contrast-dark.js +1 -1
  216. package/themes/contrast-dark.min.js +1 -1
  217. package/themes/contrast-dark.min.js.LICENSE.txt +5 -0
  218. package/themes/contrast-light-panelless.js +1 -1
  219. package/themes/contrast-light-panelless.min.js +1 -1
  220. package/themes/contrast-light-panelless.min.js.LICENSE.txt +5 -0
  221. package/themes/contrast-light.js +1 -1
  222. package/themes/contrast-light.min.js +1 -1
  223. package/themes/contrast-light.min.js.LICENSE.txt +5 -0
  224. package/themes/default-dark-panelless.js +1 -1
  225. package/themes/default-dark-panelless.min.js +1 -1
  226. package/themes/default-dark-panelless.min.js.LICENSE.txt +5 -0
  227. package/themes/default-dark.js +1 -1
  228. package/themes/default-dark.min.js +1 -1
  229. package/themes/default-dark.min.js.LICENSE.txt +5 -0
  230. package/themes/default-light-panelless.js +1 -1
  231. package/themes/default-light-panelless.min.js +1 -1
  232. package/themes/default-light-panelless.min.js.LICENSE.txt +5 -0
  233. package/themes/default-light.js +1 -1
  234. package/themes/default-light.min.js +1 -1
  235. package/themes/default-light.min.js.LICENSE.txt +5 -0
  236. package/themes/doubleborder-dark-panelless.js +1 -1
  237. package/themes/doubleborder-dark-panelless.min.js +1 -1
  238. package/themes/doubleborder-dark-panelless.min.js.LICENSE.txt +5 -0
  239. package/themes/doubleborder-dark.js +1 -1
  240. package/themes/doubleborder-dark.min.js +1 -1
  241. package/themes/doubleborder-dark.min.js.LICENSE.txt +5 -0
  242. package/themes/doubleborder-light-panelles.js +1 -1
  243. package/themes/doubleborder-light-panelles.min.js +1 -1
  244. package/themes/doubleborder-light-panelles.min.js.LICENSE.txt +5 -0
  245. package/themes/doubleborder-light.js +1 -1
  246. package/themes/doubleborder-light.min.js +1 -1
  247. package/themes/doubleborder-light.min.js.LICENSE.txt +5 -0
  248. package/themes/flat-dark-panelless.js +1 -1
  249. package/themes/flat-dark-panelless.min.js +1 -1
  250. package/themes/flat-dark-panelless.min.js.LICENSE.txt +5 -0
  251. package/themes/flat-dark.js +1 -1
  252. package/themes/flat-dark.min.js +1 -1
  253. package/themes/flat-dark.min.js.LICENSE.txt +5 -0
  254. package/themes/flat-light-panelless.js +1 -1
  255. package/themes/flat-light-panelless.min.js +1 -1
  256. package/themes/flat-light-panelless.min.js.LICENSE.txt +5 -0
  257. package/themes/flat-light.js +1 -1
  258. package/themes/flat-light.min.js +1 -1
  259. package/themes/flat-light.min.js.LICENSE.txt +5 -0
  260. package/themes/index.js +1 -1
  261. package/themes/index.min.js +1 -1
  262. package/themes/index.min.js.LICENSE.txt +5 -0
  263. package/themes/layered-dark-panelless.js +1 -1
  264. package/themes/layered-dark-panelless.min.js +1 -1
  265. package/themes/layered-dark-panelless.min.js.LICENSE.txt +5 -0
  266. package/themes/layered-dark.js +1 -1
  267. package/themes/layered-dark.min.js +1 -1
  268. package/themes/layered-dark.min.js.LICENSE.txt +5 -0
  269. package/themes/layered-light-panelless.js +1 -1
  270. package/themes/layered-light-panelless.min.js +1 -1
  271. package/themes/layered-light-panelless.min.js.LICENSE.txt +5 -0
  272. package/themes/layered-light.js +1 -1
  273. package/themes/layered-light.min.js +1 -1
  274. package/themes/layered-light.min.js.LICENSE.txt +5 -0
  275. package/themes/plain-dark-panelless.js +1 -1
  276. package/themes/plain-dark-panelless.min.js +1 -1
  277. package/themes/plain-dark-panelless.min.js.LICENSE.txt +5 -0
  278. package/themes/plain-dark.js +1 -1
  279. package/themes/plain-dark.min.js +1 -1
  280. package/themes/plain-dark.min.js.LICENSE.txt +5 -0
  281. package/themes/plain-light-panelless.js +1 -1
  282. package/themes/plain-light-panelless.min.js +1 -1
  283. package/themes/plain-light-panelless.min.js.LICENSE.txt +5 -0
  284. package/themes/plain-light.js +1 -1
  285. package/themes/plain-light.min.js +1 -1
  286. package/themes/plain-light.min.js.LICENSE.txt +5 -0
  287. package/themes/sharp-dark-panelless.js +1 -1
  288. package/themes/sharp-dark-panelless.min.js +1 -1
  289. package/themes/sharp-dark-panelless.min.js.LICENSE.txt +5 -0
  290. package/themes/sharp-dark.js +1 -1
  291. package/themes/sharp-dark.min.js +1 -1
  292. package/themes/sharp-dark.min.js.LICENSE.txt +5 -0
  293. package/themes/sharp-light-panelless.js +1 -1
  294. package/themes/sharp-light-panelless.min.js +1 -1
  295. package/themes/sharp-light-panelless.min.js.LICENSE.txt +5 -0
  296. package/themes/sharp-light.js +1 -1
  297. package/themes/sharp-light.min.js +1 -1
  298. package/themes/sharp-light.min.js.LICENSE.txt +5 -0
  299. package/themes/solid-dark-panelless.js +1 -1
  300. package/themes/solid-dark-panelless.min.js +1 -1
  301. package/themes/solid-dark-panelless.min.js.LICENSE.txt +5 -0
  302. package/themes/solid-dark.js +1 -1
  303. package/themes/solid-dark.min.js +1 -1
  304. package/themes/solid-dark.min.js.LICENSE.txt +5 -0
  305. package/themes/solid-light-panelless.js +1 -1
  306. package/themes/solid-light-panelless.min.js +1 -1
  307. package/themes/solid-light-panelless.min.js.LICENSE.txt +5 -0
  308. package/themes/solid-light.js +1 -1
  309. package/themes/solid-light.min.js +1 -1
  310. package/themes/solid-light.min.js.LICENSE.txt +5 -0
  311. package/themes/three-dimensional-dark-panelless.js +1 -1
  312. package/themes/three-dimensional-dark-panelless.min.js +1 -1
  313. package/themes/three-dimensional-dark-panelless.min.js.LICENSE.txt +5 -0
  314. package/themes/three-dimensional-dark.js +1 -1
  315. package/themes/three-dimensional-dark.min.js +1 -1
  316. package/themes/three-dimensional-dark.min.js.LICENSE.txt +5 -0
  317. package/themes/three-dimensional-light-panelless.js +1 -1
  318. package/themes/three-dimensional-light-panelless.min.js +1 -1
  319. package/themes/three-dimensional-light-panelless.min.js.LICENSE.txt +5 -0
  320. package/themes/three-dimensional-light.js +1 -1
  321. package/themes/three-dimensional-light.min.js +1 -1
  322. package/themes/three-dimensional-light.min.js.LICENSE.txt +5 -0
  323. package/ts3.4/typings/packages/survey-core/src/base-interfaces.d.ts +2 -1
  324. package/ts3.4/typings/packages/survey-core/src/panel.d.ts +2 -1
  325. package/ts3.4/typings/packages/survey-core/src/question_custom.d.ts +3 -0
  326. package/ts3.4/typings/packages/survey-core/src/survey-events-api.d.ts +26 -7
  327. package/ts3.4/typings/packages/survey-core/src/survey.d.ts +16 -5
  328. package/ts3.4/typings/packages/survey-core/src/textPreProcessor.d.ts +1 -0
  329. package/typings/entries/chunks/core-wo-model.d.ts +10 -0
  330. package/typings/entries/chunks/model.d.ts +95 -95
  331. package/typings/entries/index.d.ts +2 -0
  332. package/typings/packages/survey-core/src/base-interfaces.d.ts +2 -1
  333. package/typings/packages/survey-core/src/panel.d.ts +2 -1
  334. package/typings/packages/survey-core/src/question_custom.d.ts +3 -0
  335. package/typings/packages/survey-core/src/survey-events-api.d.ts +26 -7
  336. package/typings/packages/survey-core/src/survey.d.ts +16 -5
  337. package/typings/packages/survey-core/src/textPreProcessor.d.ts +1 -0
  338. package/typings/src/actions/action.d.ts +300 -0
  339. package/typings/src/actions/adaptive-container.d.ts +29 -0
  340. package/typings/src/actions/container.d.ts +59 -0
  341. package/typings/src/base-interfaces.d.ts +366 -0
  342. package/typings/src/base.d.ts +333 -0
  343. package/typings/src/calculatedValue.d.ts +49 -0
  344. package/typings/src/choicesRestful.d.ts +177 -0
  345. package/typings/src/conditionProcessValue.d.ts +25 -0
  346. package/typings/src/conditions.d.ts +98 -0
  347. package/typings/src/conditionsParser.d.ts +14 -0
  348. package/typings/src/console-warnings.d.ts +6 -0
  349. package/typings/src/defaultCss/defaultCss.d.ts +873 -0
  350. package/typings/src/defaultTitle.d.ts +3 -0
  351. package/typings/src/dragdrop/choices.d.ts +21 -0
  352. package/typings/src/dragdrop/core.d.ts +55 -0
  353. package/typings/src/dragdrop/dom-adapter.d.ts +49 -0
  354. package/typings/src/dragdrop/engine.d.ts +6 -0
  355. package/typings/src/dragdrop/matrix-rows.d.ts +19 -0
  356. package/typings/src/dragdrop/ranking-choices.d.ts +26 -0
  357. package/typings/src/dragdrop/ranking-select-to-rank.d.ts +17 -0
  358. package/typings/src/dropdownListModel.d.ts +97 -0
  359. package/typings/src/dropdownMultiSelectListModel.d.ts +37 -0
  360. package/typings/src/dxSurveyService.d.ts +18 -0
  361. package/typings/src/element-helper.d.ts +8 -0
  362. package/typings/src/error.d.ts +81 -0
  363. package/typings/src/expressionItems.d.ts +57 -0
  364. package/typings/src/expressions/expressionParser.d.ts +54 -0
  365. package/typings/src/expressions/expressions.d.ts +135 -0
  366. package/typings/src/flowpanel.d.ts +34 -0
  367. package/typings/src/functionsfactory.d.ts +14 -0
  368. package/typings/src/global_variables_utils.d.ts +30 -0
  369. package/typings/src/header.d.ts +87 -0
  370. package/typings/src/helpers.d.ts +44 -0
  371. package/typings/src/itemvalue.d.ts +93 -0
  372. package/typings/src/jsonobject.d.ts +378 -0
  373. package/typings/src/list.d.ts +144 -0
  374. package/typings/src/localizablestring.d.ts +125 -0
  375. package/typings/src/localization/english.d.ts +109 -0
  376. package/typings/src/martixBase.d.ts +133 -0
  377. package/typings/src/mask/input_element_adapter.d.ts +16 -0
  378. package/typings/src/mask/mask_base.d.ts +29 -0
  379. package/typings/src/mask/mask_currency.d.ts +41 -0
  380. package/typings/src/mask/mask_datetime.d.ts +91 -0
  381. package/typings/src/mask/mask_numeric.d.ts +90 -0
  382. package/typings/src/mask/mask_pattern.d.ts +78 -0
  383. package/typings/src/mask/mask_utils.d.ts +20 -0
  384. package/typings/src/multiSelectListModel.d.ts +17 -0
  385. package/typings/src/notifier.d.ts +30 -0
  386. package/typings/src/page.d.ts +133 -0
  387. package/typings/src/panel-layout-column.d.ts +9 -0
  388. package/typings/src/panel.d.ts +633 -0
  389. package/typings/src/popup-dropdown-view-model.d.ts +35 -0
  390. package/typings/src/popup-modal-view-model.d.ts +16 -0
  391. package/typings/src/popup-survey.d.ts +132 -0
  392. package/typings/src/popup-utils.d.ts +4 -0
  393. package/typings/src/popup-view-model.d.ts +81 -0
  394. package/typings/src/popup.d.ts +66 -0
  395. package/typings/src/progress-buttons.d.ts +44 -0
  396. package/typings/src/question.d.ts +949 -0
  397. package/typings/src/questionCustomWidgets.d.ts +46 -0
  398. package/typings/src/question_baseselect.d.ts +547 -0
  399. package/typings/src/question_boolean.d.ts +116 -0
  400. package/typings/src/question_buttongroup.d.ts +51 -0
  401. package/typings/src/question_checkbox.d.ts +158 -0
  402. package/typings/src/question_comment.d.ts +59 -0
  403. package/typings/src/question_custom.d.ts +454 -0
  404. package/typings/src/question_dropdown.d.ts +156 -0
  405. package/typings/src/question_empty.d.ts +8 -0
  406. package/typings/src/question_expression.d.ts +110 -0
  407. package/typings/src/question_file.d.ts +303 -0
  408. package/typings/src/question_html.d.ts +26 -0
  409. package/typings/src/question_image.d.ts +86 -0
  410. package/typings/src/question_imagepicker.d.ts +168 -0
  411. package/typings/src/question_matrix.d.ts +198 -0
  412. package/typings/src/question_matrixdropdown.d.ts +56 -0
  413. package/typings/src/question_matrixdropdownbase.d.ts +572 -0
  414. package/typings/src/question_matrixdropdowncolumn.d.ts +344 -0
  415. package/typings/src/question_matrixdropdownrendered.d.ts +171 -0
  416. package/typings/src/question_matrixdynamic.d.ts +299 -0
  417. package/typings/src/question_multipletext.d.ts +361 -0
  418. package/typings/src/question_paneldynamic.d.ts +719 -0
  419. package/typings/src/question_radiogroup.d.ts +40 -0
  420. package/typings/src/question_ranking.d.ts +135 -0
  421. package/typings/src/question_rating.d.ts +300 -0
  422. package/typings/src/question_signaturepad.d.ts +149 -0
  423. package/typings/src/question_tagbox.d.ts +98 -0
  424. package/typings/src/question_text.d.ts +206 -0
  425. package/typings/src/question_textbase.d.ts +62 -0
  426. package/typings/src/questionfactory.d.ts +27 -0
  427. package/typings/src/questionnonvalue.d.ts +22 -0
  428. package/typings/src/rendererFactory.d.ts +11 -0
  429. package/typings/src/settings.d.ts +641 -0
  430. package/typings/src/survey-element.d.ts +471 -0
  431. package/typings/src/survey-error.d.ts +18 -0
  432. package/typings/src/survey-events-api.d.ts +1152 -0
  433. package/typings/src/survey.d.ts +3126 -0
  434. package/typings/src/surveyProgress.d.ts +4 -0
  435. package/typings/src/surveyStrings.d.ts +151 -0
  436. package/typings/src/surveyTaskManager.d.ts +16 -0
  437. package/typings/src/surveyTimerModel.d.ts +47 -0
  438. package/typings/src/surveyToc.d.ts +23 -0
  439. package/typings/src/surveytimer.d.ts +22 -0
  440. package/typings/src/svgbundle.d.ts +23 -0
  441. package/typings/src/template-renderer.d.ts +10 -0
  442. package/typings/src/textPreProcessor.d.ts +43 -0
  443. package/typings/src/themes.d.ts +222 -0
  444. package/typings/src/trigger.d.ts +155 -0
  445. package/typings/src/utils/animation.d.ts +91 -0
  446. package/typings/src/utils/camera.d.ts +27 -0
  447. package/typings/src/utils/cssClassBuilder.d.ts +6 -0
  448. package/typings/src/utils/devices.d.ts +12 -0
  449. package/typings/src/utils/dragOrClickHelper.d.ts +16 -0
  450. package/typings/src/utils/popup.d.ts +45 -0
  451. package/typings/src/utils/responsivity-manager.d.ts +31 -0
  452. package/typings/src/utils/taskmanager.d.ts +28 -0
  453. package/typings/src/utils/text-area.d.ts +58 -0
  454. package/typings/src/utils/utils.d.ts +86 -0
  455. package/typings/src/validator.d.ts +204 -0
package/survey.core.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - Survey JavaScript library v1.12.20
2
+ * surveyjs - Survey JavaScript library v1.12.22
3
3
  * Copyright (c) 2015-2025 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
5
5
  */
@@ -8795,6 +8795,8 @@ var base_Base = /** @class */ (function () {
8795
8795
  * @param val A new value for the property.
8796
8796
  */
8797
8797
  Base.prototype.setPropertyValue = function (name, val) {
8798
+ if (this.isDisposedValue)
8799
+ return;
8798
8800
  if (!this.isLoadingFromJson) {
8799
8801
  var prop = this.getPropertyByName(name);
8800
8802
  if (!!prop) {
@@ -8811,9 +8813,11 @@ var base_Base = /** @class */ (function () {
8811
8813
  }
8812
8814
  }
8813
8815
  else {
8814
- this.setPropertyValueDirectly(name, val);
8815
- if (!this.isDisposedValue && !this.isTwoValueEquals(oldValue, val)) {
8816
- this.propertyValueChanged(name, oldValue, val);
8816
+ if (val !== oldValue) {
8817
+ this.setPropertyValueDirectly(name, val);
8818
+ if (!this.isTwoValueEquals(oldValue, val)) {
8819
+ this.propertyValueChanged(name, oldValue, val);
8820
+ }
8817
8821
  }
8818
8822
  }
8819
8823
  };
@@ -22282,9 +22286,12 @@ var choicesRestful_ChoicesRestful = /** @class */ (function (_super) {
22282
22286
  if (this.processedPath.indexOf(";") > -1) {
22283
22287
  pathes = this.path.split(";");
22284
22288
  }
22285
- else {
22289
+ else if (this.processedPath.indexOf(",") > -1) {
22286
22290
  pathes = this.processedPath.split(",");
22287
22291
  }
22292
+ else {
22293
+ pathes = this.processedPath.split(".");
22294
+ }
22288
22295
  if (pathes.length == 0)
22289
22296
  pathes.push(this.processedPath);
22290
22297
  return pathes;
@@ -22873,13 +22880,18 @@ var textPreProcessor_TextPreProcessor = /** @class */ (function () {
22873
22880
  var item = new TextPreProcessorItem();
22874
22881
  item.start = start;
22875
22882
  item.end = i;
22876
- items.push(item);
22883
+ if (this.isValidItemName(text.substring(start + 1, i - 1))) {
22884
+ items.push(item);
22885
+ }
22877
22886
  }
22878
22887
  start = -1;
22879
22888
  }
22880
22889
  }
22881
22890
  return items;
22882
22891
  };
22892
+ TextPreProcessor.prototype.isValidItemName = function (name) {
22893
+ return !!name && name.indexOf(":") < 0;
22894
+ };
22883
22895
  TextPreProcessor.prototype.getName = function (name) {
22884
22896
  if (!name)
22885
22897
  return;
@@ -23009,6 +23021,7 @@ var question_custom_extends = (undefined && undefined.__extends) || (function ()
23009
23021
 
23010
23022
 
23011
23023
 
23024
+
23012
23025
  var question_custom_ComponentQuestionJSON = /** @class */ (function () {
23013
23026
  function ComponentQuestionJSON(name, json) {
23014
23027
  this.name = name;
@@ -24011,6 +24024,36 @@ var question_custom_QuestionCompositeModel = /** @class */ (function (_super) {
24011
24024
  this.settingNewValue = false;
24012
24025
  this.runPanelTriggers(QuestionCompositeModel.ItemVariableName + "." + name, newValue);
24013
24026
  };
24027
+ QuestionCompositeModel.prototype.setComment = function (name, newValue, locNotification) {
24028
+ var val = this.getUnbindValue(this.value);
24029
+ var commentName = this.getCommentName(name);
24030
+ if (!val && !newValue || !!newValue && !!val && val[commentName] === newValue)
24031
+ return;
24032
+ if (!!newValue) {
24033
+ if (!val) {
24034
+ val = {};
24035
+ }
24036
+ val[commentName] = newValue;
24037
+ }
24038
+ else {
24039
+ delete val[commentName];
24040
+ }
24041
+ var q = this.getQuestionByName(name);
24042
+ if (!!q && q.comment !== newValue) {
24043
+ q.comment = newValue;
24044
+ }
24045
+ this.value = val;
24046
+ };
24047
+ QuestionCompositeModel.prototype.getComment = function (name) {
24048
+ var q = this.getQuestionByName(name);
24049
+ if (!!q)
24050
+ return q.comment;
24051
+ var val = this.value;
24052
+ return !!val && val[this.getCommentName(name)] || "";
24053
+ };
24054
+ QuestionCompositeModel.prototype.getCommentName = function (name) {
24055
+ return name + settings.commentSuffix;
24056
+ };
24014
24057
  QuestionCompositeModel.prototype.runPanelTriggers = function (name, value) {
24015
24058
  if (!!this.contentPanel) {
24016
24059
  this.contentPanel.questions.forEach(function (q) {
@@ -24090,19 +24133,24 @@ var question_custom_QuestionCompositeModel = /** @class */ (function (_super) {
24090
24133
  _super.prototype.setQuestionValue.call(this, newValue, updateIsAnswered);
24091
24134
  };
24092
24135
  QuestionCompositeModel.prototype.setValuesIntoQuestions = function (newValue) {
24093
- if (!this.contentPanel)
24136
+ if (!this.contentPanel || this.settingNewValue)
24094
24137
  return;
24095
24138
  newValue = this.getValueForContentPanel(newValue);
24096
24139
  var oldSettingNewValue = this.settingNewValue;
24097
24140
  this.settingNewValue = true;
24098
24141
  var questions = this.contentPanel.questions;
24099
24142
  for (var i = 0; i < questions.length; i++) {
24100
- var key = questions[i].getValueName();
24101
- var val = !!newValue ? newValue[key] : undefined;
24102
24143
  var q = questions[i];
24144
+ var key = q.getValueName();
24145
+ var commentKey = this.getCommentName(key);
24146
+ var val = !!newValue ? newValue[key] : undefined;
24147
+ var commentVal = !!newValue && newValue[commentKey] || "";
24103
24148
  if (!this.isTwoValueEquals(q.value, val) && (val !== undefined || !q.isEmpty())) {
24104
24149
  q.value = val;
24105
24150
  }
24151
+ if (q.comment !== commentVal) {
24152
+ q.comment = commentVal;
24153
+ }
24106
24154
  }
24107
24155
  this.settingNewValue = oldSettingNewValue;
24108
24156
  };
@@ -35158,7 +35206,7 @@ var panel_PanelModelBase = /** @class */ (function (_super) {
35158
35206
  };
35159
35207
  PanelModelBase.prototype.randomizeElements = function (isRandom) {
35160
35208
  if (!this.canRandomize(isRandom) || this.isRandomizing)
35161
- return;
35209
+ return false;
35162
35210
  this.isRandomizing = true;
35163
35211
  var oldElements = [];
35164
35212
  var elements = this.elements;
@@ -35170,6 +35218,7 @@ var panel_PanelModelBase = /** @class */ (function (_super) {
35170
35218
  this.updateRows();
35171
35219
  this.updateVisibleIndexes();
35172
35220
  this.isRandomizing = false;
35221
+ return true;
35173
35222
  };
35174
35223
  Object.defineProperty(PanelModelBase.prototype, "areQuestionsRandomized", {
35175
35224
  /**
@@ -35728,6 +35777,14 @@ var panel_PanelModelBase = /** @class */ (function (_super) {
35728
35777
  }
35729
35778
  return null;
35730
35779
  };
35780
+ PanelModelBase.prototype.getFirstVisibleQuestion = function () {
35781
+ var qs = this.questions;
35782
+ for (var i = 0; i < qs.length; i++) {
35783
+ if (qs[i].isVisible)
35784
+ return qs[i];
35785
+ }
35786
+ return null;
35787
+ };
35731
35788
  /**
35732
35789
  * Focuses the first question in this panel/page.
35733
35790
  * @see focusFirstErrorQuestion
@@ -37940,6 +37997,7 @@ var page_PageModel = /** @class */ (function (_super) {
37940
37997
  configurable: true
37941
37998
  });
37942
37999
  PageModel.prototype.setWasShown = function (val) {
38000
+ var _a;
37943
38001
  if (val == this.hasShownValue)
37944
38002
  return;
37945
38003
  this.hasShownValue = val;
@@ -37951,7 +38009,12 @@ var page_PageModel = /** @class */ (function (_super) {
37951
38009
  els[i].randomizeElements(this.areQuestionsRandomized);
37952
38010
  }
37953
38011
  }
37954
- this.randomizeElements(this.areQuestionsRandomized);
38012
+ if (this.randomizeElements(this.areQuestionsRandomized)) {
38013
+ var singleQuestion = (_a = this.survey) === null || _a === void 0 ? void 0 : _a.currentSingleQuestion;
38014
+ if ((singleQuestion === null || singleQuestion === void 0 ? void 0 : singleQuestion.page) === this) {
38015
+ this.survey.currentSingleQuestion = this.getFirstVisibleQuestion();
38016
+ }
38017
+ }
37955
38018
  };
37956
38019
  /**
37957
38020
  * Scrolls this page to the top.
@@ -38643,7 +38706,7 @@ var survey_SurveyModel = /** @class */ (function (_super) {
38643
38706
  *
38644
38707
  * For information on event handler parameters, refer to descriptions within the interface.
38645
38708
  *
38646
- * To handle value changes in matrix cells or panels within a [Dynamic Panel](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model), use the [`onMatrixCellValueChanged`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onMatrixCellValueChanged) or [`onDynamicPanelItemValueChanged`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onDynamicPanelItemValueChanged) event.
38709
+ * To handle value changes in matrix cells or panels within a [Dynamic Panel](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model), use the [`onMatrixCellValueChanged`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onMatrixCellValueChanged) or [`onDynamicPanelValueChanged`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onDynamicPanelValueChanged) event.
38647
38710
  * @see setValue
38648
38711
  */
38649
38712
  _this.onValueChanged = _this.addEvent();
@@ -39171,9 +39234,17 @@ var survey_SurveyModel = /** @class */ (function (_super) {
39171
39234
  _this.onTimer = _this.onTimerTick;
39172
39235
  _this.onTimerPanelInfoText = _this.addEvent();
39173
39236
  /**
39174
- * An event that is raised after an item value is changed in a panel within a [Dynamic Panel](https://surveyjs.io/form-library/examples/questiontype-paneldynamic/) question.
39237
+ * An event that is raised after a value is changed in a panel within a [Dynamic Panel](https://surveyjs.io/form-library/examples/questiontype-paneldynamic/) question.
39175
39238
  */
39176
- _this.onDynamicPanelItemValueChanged = _this.addEvent();
39239
+ _this.onDynamicPanelValueChanged = _this.addEvent();
39240
+ /**
39241
+ * @deprecated Use the [`onDynamicPanelValueChanged`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onDynamicPanelValueChanged) event instead.
39242
+ */
39243
+ _this.onDynamicPanelItemValueChanged = _this.onDynamicPanelValueChanged;
39244
+ /**
39245
+ * An event that is raised before a value is changed in a panel within a [Dynamic Panel](https://surveyjs.io/form-library/examples/questiontype-paneldynamic/) question.
39246
+ */
39247
+ _this.onDynamicPanelValueChanging = _this.addEvent();
39177
39248
  /**
39178
39249
  * An event that is raised before a [Dynamic Panel](https://surveyjs.io/form-library/examples/questiontype-paneldynamic/) renders [tab titles](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#templateTabTitle). Use this event to change individual tab titles.
39179
39250
  *
@@ -41601,6 +41672,10 @@ var survey_SurveyModel = /** @class */ (function (_super) {
41601
41672
  return this.getPropertyValue("showProgressBar");
41602
41673
  },
41603
41674
  set: function (newValue) {
41675
+ if (newValue === true)
41676
+ newValue = "auto";
41677
+ if (newValue === false)
41678
+ newValue = "off";
41604
41679
  this.setPropertyValue("showProgressBar", newValue.toLowerCase());
41605
41680
  },
41606
41681
  enumerable: false,
@@ -42272,7 +42347,7 @@ var survey_SurveyModel = /** @class */ (function (_super) {
42272
42347
  if (newPage == this.currentPage)
42273
42348
  return;
42274
42349
  var oldValue = this.currentPage;
42275
- if (!this.isShowingPreview && !this.currentPageChanging(newPage, oldValue))
42350
+ if (!this.isShowingPreview && !this.currentSingleQuestion && !this.currentPageChanging(newPage, oldValue))
42276
42351
  return;
42277
42352
  this.setPropertyValue("currentPage", newPage);
42278
42353
  if (!!newPage) {
@@ -42301,6 +42376,8 @@ var survey_SurveyModel = /** @class */ (function (_super) {
42301
42376
  SurveyModel.prototype.performValidationOnPageChanging = function (page) {
42302
42377
  if (this.isDesignMode)
42303
42378
  return false;
42379
+ if (this.canGoTroughValidation())
42380
+ return true;
42304
42381
  var index = this.visiblePages.indexOf(page);
42305
42382
  if (index < 0 || index >= this.visiblePageCount)
42306
42383
  return false;
@@ -42664,20 +42741,22 @@ var survey_SurveyModel = /** @class */ (function (_super) {
42664
42741
  return;
42665
42742
  page.updateCustomWidgets();
42666
42743
  };
42667
- SurveyModel.prototype.currentPageChanging = function (newValue, oldValue) {
42668
- var options = this.createPageChangeEventOptions(newValue, oldValue);
42744
+ SurveyModel.prototype.currentPageChanging = function (newValue, oldValue, newQuestion, oldQuestion) {
42745
+ var options = this.createPageChangeEventOptions(newValue, oldValue, newQuestion, oldQuestion);
42746
+ return this.currentPageChangingFromOptions(options);
42747
+ };
42748
+ SurveyModel.prototype.currentPageChangingFromOptions = function (options) {
42669
42749
  options.allow = true;
42670
42750
  options.allowChanging = true;
42671
42751
  this.onCurrentPageChanging.fire(this, options);
42672
42752
  var allow = options.allowChanging && options.allow;
42673
- if (allow) {
42753
+ if (allow && options.newCurrentPage !== options.oldCurrentPage) {
42674
42754
  this.isCurrentPageRendering = true;
42675
42755
  }
42676
42756
  return allow;
42677
42757
  };
42678
42758
  SurveyModel.prototype.currentPageChanged = function (newValue, oldValue) {
42679
42759
  this.notifyQuestionsOnHidingContent(oldValue);
42680
- var options = this.createPageChangeEventOptions(newValue, oldValue);
42681
42760
  if (oldValue && !oldValue.isDisposed && !oldValue.passed) {
42682
42761
  if (oldValue.validate(false)) {
42683
42762
  oldValue.passed = true;
@@ -42686,22 +42765,31 @@ var survey_SurveyModel = /** @class */ (function (_super) {
42686
42765
  if (this.isCurrentPageRendered === true) {
42687
42766
  this.isCurrentPageRendered = false;
42688
42767
  }
42689
- this.onCurrentPageChanged.fire(this, options);
42768
+ if (!this.currentSingleQuestion) {
42769
+ var options = this.createPageChangeEventOptions(newValue, oldValue);
42770
+ this.onCurrentPageChanged.fire(this, options);
42771
+ }
42690
42772
  };
42691
42773
  SurveyModel.prototype.notifyQuestionsOnHidingContent = function (page) {
42692
42774
  if (page && !page.isDisposed) {
42693
42775
  page.questions.forEach(function (q) { return q.onHidingContent(); });
42694
42776
  }
42695
42777
  };
42696
- SurveyModel.prototype.createPageChangeEventOptions = function (newValue, oldValue) {
42778
+ SurveyModel.prototype.createPageChangeEventOptions = function (newValue, oldValue, newQuestion, oldQuestion) {
42697
42779
  var diff = !!newValue && !!oldValue ? newValue.visibleIndex - oldValue.visibleIndex : 0;
42780
+ var qDiff = diff;
42781
+ if (qDiff === 0 && !!oldQuestion && !!newQuestion) {
42782
+ qDiff = newValue.elements.indexOf(newQuestion) - newValue.elements.indexOf(oldQuestion);
42783
+ }
42698
42784
  return {
42785
+ oldCurrentQuestion: oldQuestion,
42786
+ newCurrentQuestion: newQuestion,
42699
42787
  oldCurrentPage: oldValue,
42700
42788
  newCurrentPage: newValue,
42701
42789
  isNextPage: diff === 1,
42702
42790
  isPrevPage: diff === -1,
42703
- isGoingForward: diff > 0,
42704
- isGoingBackward: diff < 0,
42791
+ isGoingForward: qDiff > 0,
42792
+ isGoingBackward: qDiff < 0,
42705
42793
  isAfterPreview: this.changeCurrentPageFromPreview === true
42706
42794
  };
42707
42795
  };
@@ -42924,6 +43012,8 @@ var survey_SurveyModel = /** @class */ (function (_super) {
42924
43012
  * @see completeLastPage
42925
43013
  */
42926
43014
  SurveyModel.prototype.nextPage = function () {
43015
+ if (this.currentSingleQuestion)
43016
+ return this.performNext();
42927
43017
  if (this.isLastPage)
42928
43018
  return false;
42929
43019
  return this.doCurrentPageComplete(false);
@@ -42954,7 +43044,7 @@ var survey_SurveyModel = /** @class */ (function (_super) {
42954
43044
  };
42955
43045
  SurveyModel.prototype.hasErrorsOnNavigate = function (doComplete) {
42956
43046
  var _this = this;
42957
- if (!this.isEditMode || this.ignoreValidation)
43047
+ if (this.canGoTroughValidation())
42958
43048
  return false;
42959
43049
  var skipValidation = doComplete && this.validationAllowComplete || !doComplete && this.validationAllowSwitchPages;
42960
43050
  var func = function (hasErrors) {
@@ -42969,6 +43059,7 @@ var survey_SurveyModel = /** @class */ (function (_super) {
42969
43059
  }
42970
43060
  return this.validateCurrentPage(func) !== true && !skipValidation;
42971
43061
  };
43062
+ SurveyModel.prototype.canGoTroughValidation = function () { return !this.isEditMode || !this.validationEnabled; };
42972
43063
  SurveyModel.prototype.checkForAsyncQuestionValidation = function (questions, func) {
42973
43064
  var _this = this;
42974
43065
  this.clearAsyncValidationQuesitons();
@@ -43246,6 +43337,8 @@ var survey_SurveyModel = /** @class */ (function (_super) {
43246
43337
  */
43247
43338
  SurveyModel.prototype.prevPage = function () {
43248
43339
  var _this = this;
43340
+ if (this.currentSingleQuestion)
43341
+ return this.performPrevious();
43249
43342
  if (this.isFirstPage || this.state === "starting")
43250
43343
  return false;
43251
43344
  this.resetNavigationButton();
@@ -43387,7 +43480,7 @@ var survey_SurveyModel = /** @class */ (function (_super) {
43387
43480
  * Possible values:
43388
43481
  *
43389
43482
  * - `"singlePage"` - Combines all survey pages into a single page.
43390
- * - `"questionPerPage"` - Creates a separate page for every question.
43483
+ * - `"questionPerPage"` - Displays each question on a separate page.
43391
43484
  * - `"standard"` (default) - Retains the original structure specified in the JSON schema.
43392
43485
  */
43393
43486
  get: function () {
@@ -43527,7 +43620,11 @@ var survey_SurveyModel = /** @class */ (function (_super) {
43527
43620
  Object.defineProperty(SurveyModel.prototype, "currentSingleQuestion", {
43528
43621
  get: function () { return this.currentSingleQuestionValue; },
43529
43622
  set: function (val) {
43530
- if (val !== this.currentSingleQuestion) {
43623
+ var oldVal = this.currentSingleQuestion;
43624
+ if (val !== oldVal) {
43625
+ var options = !!val && !!oldVal ? this.createPageChangeEventOptions(val.page, oldVal.page, val, oldVal) : undefined;
43626
+ if (!!options && !this.currentPageChangingFromOptions(options))
43627
+ return;
43531
43628
  this.currentSingleQuestionValue = val;
43532
43629
  if (!!val) {
43533
43630
  var page = val.page;
@@ -43541,6 +43638,9 @@ var survey_SurveyModel = /** @class */ (function (_super) {
43541
43638
  }
43542
43639
  }
43543
43640
  this.updateButtonsVisibility();
43641
+ if (!!options) {
43642
+ this.onCurrentPageChanged.fire(this, options);
43643
+ }
43544
43644
  }
43545
43645
  else {
43546
43646
  this.visiblePages.forEach(function (page) { return page.updateRows(); });
@@ -44259,7 +44359,7 @@ var survey_SurveyModel = /** @class */ (function (_super) {
44259
44359
  return;
44260
44360
  var id = question.inputId;
44261
44361
  var root = settings.environment.root;
44262
- if (!!id && htmlElement.id !== id && typeof root !== "undefined") {
44362
+ if (!!id && (!htmlElement || htmlElement.id !== id) && typeof root !== "undefined") {
44263
44363
  var el = root.getElementById(id);
44264
44364
  if (!!el) {
44265
44365
  htmlElement = el;
@@ -44411,7 +44511,7 @@ var survey_SurveyModel = /** @class */ (function (_super) {
44411
44511
  return options.error ? new CustomError(options.error, this) : null;
44412
44512
  };
44413
44513
  SurveyModel.prototype.dynamicPanelAdded = function (question, panelIndex, panel) {
44414
- if (!this.isLoadingFromJson && this.hasQuestionVisibleIndeces(question, true)) {
44514
+ if (!this.isLoadingFromJson && this.hasQuestionVisibleIndeces(question)) {
44415
44515
  this.updateVisibleIndexes(question.page);
44416
44516
  }
44417
44517
  if (this.onDynamicPanelAdded.isEmpty)
@@ -44428,7 +44528,7 @@ var survey_SurveyModel = /** @class */ (function (_super) {
44428
44528
  for (var i = 0; i < questions.length; i++) {
44429
44529
  questions[i].clearOnDeletingContainer();
44430
44530
  }
44431
- if (this.hasQuestionVisibleIndeces(question, false)) {
44531
+ if (this.hasQuestionVisibleIndeces(question)) {
44432
44532
  this.updateVisibleIndexes(question.page);
44433
44533
  }
44434
44534
  this.onDynamicPanelRemoved.fire(this, {
@@ -44437,10 +44537,7 @@ var survey_SurveyModel = /** @class */ (function (_super) {
44437
44537
  panel: panel,
44438
44538
  });
44439
44539
  };
44440
- SurveyModel.prototype.hasQuestionVisibleIndeces = function (question, checkIndex) {
44441
- if (checkIndex) {
44442
- question.setVisibleIndex(this.getStartVisibleIndex());
44443
- }
44540
+ SurveyModel.prototype.hasQuestionVisibleIndeces = function (question) {
44444
44541
  var qList = question.getNestedQuestions(true);
44445
44542
  for (var i = 0; i < qList.length; i++) {
44446
44543
  if (qList[i].visibleIndex > -1)
@@ -44460,9 +44557,11 @@ var survey_SurveyModel = /** @class */ (function (_super) {
44460
44557
  };
44461
44558
  SurveyModel.prototype.dynamicPanelItemValueChanged = function (question, options) {
44462
44559
  options.question = question;
44463
- options.panelIndex = options.itemIndex;
44464
- options.panelData = options.itemValue;
44465
- this.onDynamicPanelItemValueChanged.fire(this, options);
44560
+ this.onDynamicPanelValueChanged.fire(this, options);
44561
+ };
44562
+ SurveyModel.prototype.dynamicPanelItemValueChanging = function (question, options) {
44563
+ options.question = question;
44564
+ this.onDynamicPanelValueChanging.fire(this, options);
44466
44565
  };
44467
44566
  SurveyModel.prototype.dynamicPanelGetTabTitle = function (question, options) {
44468
44567
  options.question = question;
@@ -49365,6 +49464,7 @@ var question_baseselect_QuestionSelectBase = /** @class */ (function (_super) {
49365
49464
  var chQuestion = this.choicesFromQuestion;
49366
49465
  if (!!name && chQuestion && (name === chQuestion || questionName === chQuestion)) {
49367
49466
  this.onVisibleChoicesChanged();
49467
+ this.clearIncorrectValues();
49368
49468
  }
49369
49469
  };
49370
49470
  QuestionSelectBase.prototype.updateValueFromSurvey = function (newValue, clearData) {
@@ -55179,6 +55279,9 @@ var question_multipletext_QuestionMultipleTextModel = /** @class */ (function (_
55179
55279
  QuestionMultipleTextModel.prototype.onSurveyLoad = function () {
55180
55280
  this.editorsOnSurveyLoad();
55181
55281
  _super.prototype.onSurveyLoad.call(this);
55282
+ if (!helpers_Helpers.isValueEmpty(this.rows)) {
55283
+ this.calcVisibleRows();
55284
+ }
55182
55285
  };
55183
55286
  QuestionMultipleTextModel.prototype.setQuestionValue = function (newValue, updateIsAnswered) {
55184
55287
  if (updateIsAnswered === void 0) { updateIsAnswered = true; }
@@ -67504,6 +67607,7 @@ var question_paneldynamic_QuestionPanelDynamicModel = /** @class */ (function (_
67504
67607
  }
67505
67608
  if (!qValue[index])
67506
67609
  qValue[index] = {};
67610
+ var oldVal = qValue[index][name];
67507
67611
  if (!this.isValueEmpty(val)) {
67508
67612
  qValue[index][name] = val;
67509
67613
  }
@@ -67513,17 +67617,20 @@ var question_paneldynamic_QuestionPanelDynamicModel = /** @class */ (function (_
67513
67617
  if (index >= 0 && index < this.panelsCore.length) {
67514
67618
  this.changingValueQuestion = this.panelsCore[index].getQuestionByValueName(name);
67515
67619
  }
67620
+ var options = {
67621
+ panel: item.panel,
67622
+ name: name,
67623
+ panelIndex: index,
67624
+ panelData: qValue[index],
67625
+ value: val,
67626
+ oldValue: oldVal
67627
+ };
67628
+ if (this.survey) {
67629
+ this.survey.dynamicPanelItemValueChanging(this, options);
67630
+ }
67516
67631
  this.value = qValue;
67517
67632
  this.changingValueQuestion = null;
67518
67633
  if (this.survey) {
67519
- var options = {
67520
- question: this,
67521
- panel: item.panel,
67522
- name: name,
67523
- itemIndex: index,
67524
- itemValue: qValue[index],
67525
- value: val,
67526
- };
67527
67634
  this.survey.dynamicPanelItemValueChanged(this, options);
67528
67635
  }
67529
67636
  this.isSetPanelItemData[name]--;
@@ -67991,21 +68098,10 @@ Serializer.addClass("paneldynamic", [
67991
68098
  default: "off",
67992
68099
  choices: ["off", "onPanel", "onSurvey"],
67993
68100
  },
67994
- {
67995
- name: "showRangeInProgress:boolean",
67996
- default: true,
67997
- visible: false
67998
- // visibleIf: (obj: any) => { return obj.displayMode !== "list"; }
67999
- },
68000
- {
68001
- name: "renderMode",
68002
- default: "list",
68003
- choices: ["list", "progressTop", "progressBottom", "progressTopBottom", "tab"],
68004
- visible: false,
68005
- },
68101
+ { name: "renderMode", visible: false, isSerializable: false },
68006
68102
  { name: "displayMode", default: "list", choices: ["list", "carousel", "tab"] },
68007
68103
  {
68008
- name: "showProgressBar:boolean",
68104
+ name: "showProgressBar:boolean", alternativeName: "showRangeInProgress",
68009
68105
  default: true,
68010
68106
  visibleIf: function (obj) { return obj.displayMode === "carousel"; }
68011
68107
  },
@@ -70908,9 +71004,9 @@ Serializer.addClass("currencymask", [
70908
71004
 
70909
71005
  var Version;
70910
71006
  var ReleaseDate;
70911
- Version = "" + "1.12.20";
71007
+ Version = "" + "1.12.22";
70912
71008
  settings.version = Version;
70913
- ReleaseDate = "" + "2025-01-21";
71009
+ ReleaseDate = "" + "2025-02-05";
70914
71010
  function checkLibraryVersion(ver, libraryName) {
70915
71011
  if (Version != ver) {
70916
71012
  var str = "survey-core has version '" + Version + "' and " + libraryName