survey-core 1.9.122 → 1.9.124

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 (376) hide show
  1. package/README.md +1 -1
  2. package/defaultV2.css +79 -33
  3. package/defaultV2.css.map +1 -1
  4. package/defaultV2.fontless.css +79 -33
  5. package/defaultV2.fontless.css.map +1 -1
  6. package/defaultV2.fontless.min.css +3 -3
  7. package/defaultV2.min.css +3 -3
  8. package/i18n/arabic.js +2 -2
  9. package/i18n/arabic.min.js +2 -2
  10. package/i18n/basque.js +2 -2
  11. package/i18n/basque.min.js +2 -2
  12. package/i18n/bulgarian.js +2 -2
  13. package/i18n/bulgarian.min.js +2 -2
  14. package/i18n/catalan.js +2 -2
  15. package/i18n/catalan.min.js +2 -2
  16. package/i18n/croatian.js +2 -2
  17. package/i18n/croatian.min.js +2 -2
  18. package/i18n/czech.js +2 -2
  19. package/i18n/czech.min.js +2 -2
  20. package/i18n/danish.js +2 -2
  21. package/i18n/danish.min.js +2 -2
  22. package/i18n/dutch.js +2 -2
  23. package/i18n/dutch.min.js +2 -2
  24. package/i18n/english.js +2 -2
  25. package/i18n/english.min.js +2 -2
  26. package/i18n/estonian.js +2 -2
  27. package/i18n/estonian.min.js +2 -2
  28. package/i18n/finnish.js +2 -2
  29. package/i18n/finnish.min.js +2 -2
  30. package/i18n/french.js +2 -2
  31. package/i18n/french.min.js +2 -2
  32. package/i18n/georgian.js +2 -2
  33. package/i18n/georgian.min.js +2 -2
  34. package/i18n/german.js +2 -2
  35. package/i18n/german.min.js +2 -2
  36. package/i18n/greek.js +2 -2
  37. package/i18n/greek.min.js +2 -2
  38. package/i18n/hebrew.js +2 -2
  39. package/i18n/hebrew.min.js +2 -2
  40. package/i18n/hindi.js +2 -2
  41. package/i18n/hindi.min.js +2 -2
  42. package/i18n/hungarian.js +2 -2
  43. package/i18n/hungarian.min.js +2 -2
  44. package/i18n/icelandic.js +2 -2
  45. package/i18n/icelandic.min.js +2 -2
  46. package/i18n/index.js +2 -2
  47. package/i18n/index.min.js +2 -2
  48. package/i18n/indonesian.js +2 -2
  49. package/i18n/indonesian.min.js +2 -2
  50. package/i18n/italian.js +2 -2
  51. package/i18n/italian.min.js +2 -2
  52. package/i18n/japanese.js +2 -2
  53. package/i18n/japanese.min.js +2 -2
  54. package/i18n/kazakh.js +2 -2
  55. package/i18n/kazakh.min.js +2 -2
  56. package/i18n/korean.js +2 -2
  57. package/i18n/korean.min.js +2 -2
  58. package/i18n/latvian.js +2 -2
  59. package/i18n/latvian.min.js +2 -2
  60. package/i18n/lithuanian.js +2 -2
  61. package/i18n/lithuanian.min.js +2 -2
  62. package/i18n/macedonian.js +2 -2
  63. package/i18n/macedonian.min.js +2 -2
  64. package/i18n/malay.js +2 -2
  65. package/i18n/malay.min.js +2 -2
  66. package/i18n/nl-BE.js +2 -2
  67. package/i18n/nl-BE.min.js +2 -2
  68. package/i18n/norwegian.js +2 -2
  69. package/i18n/norwegian.min.js +2 -2
  70. package/i18n/persian.js +2 -2
  71. package/i18n/persian.min.js +2 -2
  72. package/i18n/polish.js +2 -2
  73. package/i18n/polish.min.js +2 -2
  74. package/i18n/portuguese-br.js +2 -2
  75. package/i18n/portuguese-br.min.js +2 -2
  76. package/i18n/portuguese.js +2 -2
  77. package/i18n/portuguese.min.js +2 -2
  78. package/i18n/romanian.js +2 -2
  79. package/i18n/romanian.min.js +2 -2
  80. package/i18n/russian.js +2 -2
  81. package/i18n/russian.min.js +2 -2
  82. package/i18n/serbian.js +2 -2
  83. package/i18n/serbian.min.js +2 -2
  84. package/i18n/simplified-chinese.js +2 -2
  85. package/i18n/simplified-chinese.min.js +2 -2
  86. package/i18n/slovak.js +2 -2
  87. package/i18n/slovak.min.js +2 -2
  88. package/i18n/spanish.js +2 -2
  89. package/i18n/spanish.min.js +2 -2
  90. package/i18n/swahili.js +2 -2
  91. package/i18n/swahili.min.js +2 -2
  92. package/i18n/swedish.js +2 -2
  93. package/i18n/swedish.min.js +2 -2
  94. package/i18n/tajik.js +2 -2
  95. package/i18n/tajik.min.js +2 -2
  96. package/i18n/telugu.js +2 -2
  97. package/i18n/telugu.min.js +2 -2
  98. package/i18n/thai.js +2 -2
  99. package/i18n/thai.min.js +2 -2
  100. package/i18n/traditional-chinese.js +2 -2
  101. package/i18n/traditional-chinese.min.js +2 -2
  102. package/i18n/turkish.js +2 -2
  103. package/i18n/turkish.min.js +2 -2
  104. package/i18n/ukrainian.js +2 -2
  105. package/i18n/ukrainian.min.js +2 -2
  106. package/i18n/urdu.js +2 -2
  107. package/i18n/urdu.min.js +2 -2
  108. package/i18n/vietnamese.js +2 -2
  109. package/i18n/vietnamese.min.js +2 -2
  110. package/i18n/welsh.js +2 -2
  111. package/i18n/welsh.min.js +2 -2
  112. package/modern.css +2 -9
  113. package/modern.css.map +1 -1
  114. package/modern.fontless.css +2 -9
  115. package/modern.fontless.css.map +1 -1
  116. package/modern.fontless.min.css +3 -3
  117. package/modern.min.css +3 -3
  118. package/package.json +1 -1
  119. package/plugins/bootstrap-integration.js +2 -2
  120. package/plugins/bootstrap-integration.min.js +2 -2
  121. package/plugins/bootstrap-material-integration.js +2 -2
  122. package/plugins/bootstrap-material-integration.min.js +2 -2
  123. package/survey.core.js +402 -242
  124. package/survey.core.js.map +1 -1
  125. package/survey.core.min.js +4 -4
  126. package/survey.css +2 -2
  127. package/survey.css.map +1 -1
  128. package/survey.i18n.js +2 -2
  129. package/survey.i18n.min.js +2 -2
  130. package/survey.min.css +2 -2
  131. package/themes/borderless-dark-panelless.js +3 -2
  132. package/themes/borderless-dark-panelless.js.map +1 -1
  133. package/themes/borderless-dark-panelless.min.js +3 -3
  134. package/themes/borderless-dark.js +3 -2
  135. package/themes/borderless-dark.js.map +1 -1
  136. package/themes/borderless-dark.min.js +3 -3
  137. package/themes/borderless-light-panelless..js +3 -2
  138. package/themes/borderless-light-panelless..js.map +1 -1
  139. package/themes/borderless-light-panelless..min.js +3 -3
  140. package/themes/borderless-light.js +3 -2
  141. package/themes/borderless-light.js.map +1 -1
  142. package/themes/borderless-light.min.js +3 -3
  143. package/themes/contrast-dark-panelless.js +3 -2
  144. package/themes/contrast-dark-panelless.js.map +1 -1
  145. package/themes/contrast-dark-panelless.min.js +3 -3
  146. package/themes/contrast-dark.js +3 -2
  147. package/themes/contrast-dark.js.map +1 -1
  148. package/themes/contrast-dark.min.js +3 -3
  149. package/themes/contrast-light-panelless.js +3 -2
  150. package/themes/contrast-light-panelless.js.map +1 -1
  151. package/themes/contrast-light-panelless.min.js +3 -3
  152. package/themes/contrast-light.js +3 -2
  153. package/themes/contrast-light.js.map +1 -1
  154. package/themes/contrast-light.min.js +3 -3
  155. package/themes/default-dark-panelless.js +3 -2
  156. package/themes/default-dark-panelless.js.map +1 -1
  157. package/themes/default-dark-panelless.min.js +3 -3
  158. package/themes/default-dark.js +3 -2
  159. package/themes/default-dark.js.map +1 -1
  160. package/themes/default-dark.min.js +3 -3
  161. package/themes/default-light-panelless.js +3 -2
  162. package/themes/default-light-panelless.js.map +1 -1
  163. package/themes/default-light-panelless.min.js +3 -3
  164. package/themes/default-light.js +3 -2
  165. package/themes/default-light.js.map +1 -1
  166. package/themes/default-light.min.js +3 -3
  167. package/themes/doubleborder-dark-panelless.js +3 -2
  168. package/themes/doubleborder-dark-panelless.js.map +1 -1
  169. package/themes/doubleborder-dark-panelless.min.js +3 -3
  170. package/themes/doubleborder-dark.js +3 -2
  171. package/themes/doubleborder-dark.js.map +1 -1
  172. package/themes/doubleborder-dark.min.js +3 -3
  173. package/themes/doubleborder-light-panelles.js +3 -2
  174. package/themes/doubleborder-light-panelles.js.map +1 -1
  175. package/themes/doubleborder-light-panelles.min.js +3 -3
  176. package/themes/doubleborder-light.js +3 -2
  177. package/themes/doubleborder-light.js.map +1 -1
  178. package/themes/doubleborder-light.min.js +3 -3
  179. package/themes/flat-dark-panelless.js +3 -2
  180. package/themes/flat-dark-panelless.js.map +1 -1
  181. package/themes/flat-dark-panelless.min.js +3 -3
  182. package/themes/flat-dark.js +3 -2
  183. package/themes/flat-dark.js.map +1 -1
  184. package/themes/flat-dark.min.js +3 -3
  185. package/themes/flat-light-panelless.js +3 -2
  186. package/themes/flat-light-panelless.js.map +1 -1
  187. package/themes/flat-light-panelless.min.js +3 -3
  188. package/themes/flat-light.js +3 -2
  189. package/themes/flat-light.js.map +1 -1
  190. package/themes/flat-light.min.js +3 -3
  191. package/themes/index.js +42 -2
  192. package/themes/index.js.map +1 -1
  193. package/themes/index.min.js +3 -3
  194. package/themes/layered-dark-panelless.js +3 -2
  195. package/themes/layered-dark-panelless.js.map +1 -1
  196. package/themes/layered-dark-panelless.min.js +3 -3
  197. package/themes/layered-dark.js +3 -2
  198. package/themes/layered-dark.js.map +1 -1
  199. package/themes/layered-dark.min.js +3 -3
  200. package/themes/layered-light-panelless.js +3 -2
  201. package/themes/layered-light-panelless.js.map +1 -1
  202. package/themes/layered-light-panelless.min.js +3 -3
  203. package/themes/layered-light.js +3 -2
  204. package/themes/layered-light.js.map +1 -1
  205. package/themes/layered-light.min.js +3 -3
  206. package/themes/plain-dark-panelless.js +3 -2
  207. package/themes/plain-dark-panelless.js.map +1 -1
  208. package/themes/plain-dark-panelless.min.js +3 -3
  209. package/themes/plain-dark.js +3 -2
  210. package/themes/plain-dark.js.map +1 -1
  211. package/themes/plain-dark.min.js +3 -3
  212. package/themes/plain-light-panelless.js +3 -2
  213. package/themes/plain-light-panelless.js.map +1 -1
  214. package/themes/plain-light-panelless.min.js +3 -3
  215. package/themes/plain-light.js +3 -2
  216. package/themes/plain-light.js.map +1 -1
  217. package/themes/plain-light.min.js +3 -3
  218. package/themes/sharp-dark-panelless.js +3 -2
  219. package/themes/sharp-dark-panelless.js.map +1 -1
  220. package/themes/sharp-dark-panelless.min.js +3 -3
  221. package/themes/sharp-dark.js +3 -2
  222. package/themes/sharp-dark.js.map +1 -1
  223. package/themes/sharp-dark.min.js +3 -3
  224. package/themes/sharp-light-panelless.js +3 -2
  225. package/themes/sharp-light-panelless.js.map +1 -1
  226. package/themes/sharp-light-panelless.min.js +3 -3
  227. package/themes/sharp-light.js +3 -2
  228. package/themes/sharp-light.js.map +1 -1
  229. package/themes/sharp-light.min.js +3 -3
  230. package/themes/solid-dark-panelless.js +3 -2
  231. package/themes/solid-dark-panelless.js.map +1 -1
  232. package/themes/solid-dark-panelless.min.js +3 -3
  233. package/themes/solid-dark.js +3 -2
  234. package/themes/solid-dark.js.map +1 -1
  235. package/themes/solid-dark.min.js +3 -3
  236. package/themes/solid-light-panelless.js +3 -2
  237. package/themes/solid-light-panelless.js.map +1 -1
  238. package/themes/solid-light-panelless.min.js +3 -3
  239. package/themes/solid-light.js +3 -2
  240. package/themes/solid-light.js.map +1 -1
  241. package/themes/solid-light.min.js +3 -3
  242. package/themes/three-dimensional-dark-panelless.js +3 -2
  243. package/themes/three-dimensional-dark-panelless.js.map +1 -1
  244. package/themes/three-dimensional-dark-panelless.min.js +3 -3
  245. package/themes/three-dimensional-dark.js +3 -2
  246. package/themes/three-dimensional-dark.js.map +1 -1
  247. package/themes/three-dimensional-dark.min.js +3 -3
  248. package/themes/three-dimensional-light-panelless.js +3 -2
  249. package/themes/three-dimensional-light-panelless.js.map +1 -1
  250. package/themes/three-dimensional-light-panelless.min.js +3 -3
  251. package/themes/three-dimensional-light.js +3 -2
  252. package/themes/three-dimensional-light.js.map +1 -1
  253. package/themes/three-dimensional-light.min.js +3 -3
  254. package/themes/typings/borderless-dark-panelless.d.ts +2 -0
  255. package/themes/typings/borderless-dark.d.ts +2 -0
  256. package/themes/typings/borderless-light-panelless.d.ts +2 -0
  257. package/themes/typings/borderless-light.d.ts +2 -0
  258. package/themes/typings/contrast-dark-panelless.d.ts +2 -0
  259. package/themes/typings/contrast-dark.d.ts +2 -0
  260. package/themes/typings/contrast-light-panelless.d.ts +2 -0
  261. package/themes/typings/contrast-light.d.ts +2 -0
  262. package/themes/typings/default-dark-panelless.d.ts +2 -0
  263. package/themes/typings/default-dark.d.ts +2 -0
  264. package/themes/typings/default-light-panelless.d.ts +2 -0
  265. package/themes/typings/default-light.d.ts +2 -0
  266. package/themes/typings/doubleborder-dark-panelless.d.ts +2 -0
  267. package/themes/typings/doubleborder-dark.d.ts +2 -0
  268. package/themes/typings/doubleborder-light-panelless.d.ts +2 -0
  269. package/themes/typings/doubleborder-light.d.ts +2 -0
  270. package/themes/typings/flat-dark-panelless.d.ts +2 -0
  271. package/themes/typings/flat-dark.d.ts +2 -0
  272. package/themes/typings/flat-light-panelless.d.ts +2 -0
  273. package/themes/typings/flat-light.d.ts +2 -0
  274. package/themes/typings/index.d.ts +40 -0
  275. package/themes/typings/layered-dark-panelless.d.ts +2 -0
  276. package/themes/typings/layered-dark.d.ts +2 -0
  277. package/themes/typings/layered-light-panelless.d.ts +2 -0
  278. package/themes/typings/layered-light.d.ts +2 -0
  279. package/themes/typings/plain-dark-panelless.d.ts +2 -0
  280. package/themes/typings/plain-dark.d.ts +2 -0
  281. package/themes/typings/plain-light-panelless.d.ts +2 -0
  282. package/themes/typings/plain-light.d.ts +2 -0
  283. package/themes/typings/sharp-dark-panelless.d.ts +2 -0
  284. package/themes/typings/sharp-dark.d.ts +2 -0
  285. package/themes/typings/sharp-light-panelless.d.ts +2 -0
  286. package/themes/typings/sharp-light.d.ts +2 -0
  287. package/themes/typings/solid-dark-panelless.d.ts +2 -0
  288. package/themes/typings/solid-dark.d.ts +2 -0
  289. package/themes/typings/solid-light-panelless.d.ts +2 -0
  290. package/themes/typings/solid-light.d.ts +2 -0
  291. package/themes/typings/threedimensional-dark-panelless.d.ts +2 -0
  292. package/themes/typings/threedimensional-dark.d.ts +2 -0
  293. package/themes/typings/threedimensional-light-panelless.d.ts +2 -0
  294. package/themes/typings/threedimensional-light.d.ts +2 -0
  295. package/ts3.4/themes/typings/borderless-dark-panelless.d.ts +2 -0
  296. package/ts3.4/themes/typings/borderless-dark.d.ts +2 -0
  297. package/ts3.4/themes/typings/borderless-light-panelless.d.ts +2 -0
  298. package/ts3.4/themes/typings/borderless-light.d.ts +2 -0
  299. package/ts3.4/themes/typings/contrast-dark-panelless.d.ts +2 -0
  300. package/ts3.4/themes/typings/contrast-dark.d.ts +2 -0
  301. package/ts3.4/themes/typings/contrast-light-panelless.d.ts +2 -0
  302. package/ts3.4/themes/typings/contrast-light.d.ts +2 -0
  303. package/ts3.4/themes/typings/default-dark-panelless.d.ts +2 -0
  304. package/ts3.4/themes/typings/default-dark.d.ts +2 -0
  305. package/ts3.4/themes/typings/default-light-panelless.d.ts +2 -0
  306. package/ts3.4/themes/typings/default-light.d.ts +2 -0
  307. package/ts3.4/themes/typings/doubleborder-dark-panelless.d.ts +2 -0
  308. package/ts3.4/themes/typings/doubleborder-dark.d.ts +2 -0
  309. package/ts3.4/themes/typings/doubleborder-light-panelless.d.ts +2 -0
  310. package/ts3.4/themes/typings/doubleborder-light.d.ts +2 -0
  311. package/ts3.4/themes/typings/flat-dark-panelless.d.ts +2 -0
  312. package/ts3.4/themes/typings/flat-dark.d.ts +2 -0
  313. package/ts3.4/themes/typings/flat-light-panelless.d.ts +2 -0
  314. package/ts3.4/themes/typings/flat-light.d.ts +2 -0
  315. package/ts3.4/themes/typings/index.d.ts +40 -0
  316. package/ts3.4/themes/typings/layered-dark-panelless.d.ts +2 -0
  317. package/ts3.4/themes/typings/layered-dark.d.ts +2 -0
  318. package/ts3.4/themes/typings/layered-light-panelless.d.ts +2 -0
  319. package/ts3.4/themes/typings/layered-light.d.ts +2 -0
  320. package/ts3.4/themes/typings/plain-dark-panelless.d.ts +2 -0
  321. package/ts3.4/themes/typings/plain-dark.d.ts +2 -0
  322. package/ts3.4/themes/typings/plain-light-panelless.d.ts +2 -0
  323. package/ts3.4/themes/typings/plain-light.d.ts +2 -0
  324. package/ts3.4/themes/typings/sharp-dark-panelless.d.ts +2 -0
  325. package/ts3.4/themes/typings/sharp-dark.d.ts +2 -0
  326. package/ts3.4/themes/typings/sharp-light-panelless.d.ts +2 -0
  327. package/ts3.4/themes/typings/sharp-light.d.ts +2 -0
  328. package/ts3.4/themes/typings/solid-dark-panelless.d.ts +2 -0
  329. package/ts3.4/themes/typings/solid-dark.d.ts +2 -0
  330. package/ts3.4/themes/typings/solid-light-panelless.d.ts +2 -0
  331. package/ts3.4/themes/typings/solid-light.d.ts +2 -0
  332. package/ts3.4/themes/typings/threedimensional-dark-panelless.d.ts +2 -0
  333. package/ts3.4/themes/typings/threedimensional-dark.d.ts +2 -0
  334. package/ts3.4/themes/typings/threedimensional-light-panelless.d.ts +2 -0
  335. package/ts3.4/themes/typings/threedimensional-light.d.ts +2 -0
  336. package/ts3.4/typings/base-interfaces.d.ts +3 -0
  337. package/ts3.4/typings/base.d.ts +5 -2
  338. package/ts3.4/typings/choicesRestful.d.ts +6 -1
  339. package/ts3.4/typings/entries/chunks/model.d.ts +1 -1
  340. package/ts3.4/typings/itemvalue.d.ts +2 -2
  341. package/ts3.4/typings/jsonobject.d.ts +11 -3
  342. package/ts3.4/typings/localizablestring.d.ts +1 -0
  343. package/ts3.4/typings/question.d.ts +1 -0
  344. package/ts3.4/typings/question_baseselect.d.ts +8 -3
  345. package/ts3.4/typings/question_boolean.d.ts +2 -2
  346. package/ts3.4/typings/question_matrix.d.ts +5 -0
  347. package/ts3.4/typings/question_matrixdropdownbase.d.ts +1 -1
  348. package/ts3.4/typings/question_matrixdropdownrendered.d.ts +2 -4
  349. package/ts3.4/typings/question_matrixdynamic.d.ts +1 -0
  350. package/ts3.4/typings/question_paneldynamic.d.ts +16 -0
  351. package/ts3.4/typings/question_tagbox.d.ts +2 -1
  352. package/ts3.4/typings/settings.d.ts +15 -85
  353. package/ts3.4/typings/survey.d.ts +11 -2
  354. package/ts3.4/typings/utils/devices.d.ts +5 -0
  355. package/ts3.4/typings/validator.d.ts +2 -0
  356. package/typings/base-interfaces.d.ts +3 -0
  357. package/typings/base.d.ts +5 -2
  358. package/typings/choicesRestful.d.ts +10 -2
  359. package/typings/entries/chunks/model.d.ts +1 -1
  360. package/typings/itemvalue.d.ts +2 -2
  361. package/typings/jsonobject.d.ts +11 -3
  362. package/typings/localizablestring.d.ts +1 -0
  363. package/typings/question.d.ts +1 -0
  364. package/typings/question_baseselect.d.ts +8 -3
  365. package/typings/question_boolean.d.ts +4 -4
  366. package/typings/question_matrix.d.ts +5 -0
  367. package/typings/question_matrixdropdownbase.d.ts +1 -1
  368. package/typings/question_matrixdropdownrendered.d.ts +2 -4
  369. package/typings/question_matrixdynamic.d.ts +1 -0
  370. package/typings/question_paneldynamic.d.ts +17 -0
  371. package/typings/question_tagbox.d.ts +3 -1
  372. package/typings/settings.d.ts +15 -85
  373. package/typings/survey-element.d.ts +2 -1
  374. package/typings/survey.d.ts +12 -2
  375. package/typings/utils/devices.d.ts +5 -0
  376. package/typings/validator.d.ts +3 -0
@@ -321,11 +321,24 @@ export declare class QuestionPanelDynamicModel extends Question implements IQues
321
321
  * Specifies whether users are allowed to add new panels.
322
322
  *
323
323
  * Default value: `true`
324
+ *
325
+ * By default, users add new panels to the end. If you want to let users insert a new panel after the current panel, set the [`newPanelPosition`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#newPanelPosition) property to `"next"`.
324
326
  * @see canAddPanel
325
327
  * @see allowRemovePanel
326
328
  */
327
329
  allowAddPanel: boolean;
328
330
  /*
331
+ * Specifies the position of newly added panels.
332
+ *
333
+ * Possible values:
334
+ *
335
+ * - `"last"` (default) - New panels are added to the end.
336
+ * - `"next"` - New panels are inserted after the current panel.
337
+ * @see allowAddPanel
338
+ * @see addPanel
339
+ */
340
+ newPanelPosition: string;
341
+ /*
329
342
  * Specifies whether users are allowed to delete panels.
330
343
  *
331
344
  * Default value: `true`
@@ -457,6 +470,8 @@ export declare class QuestionPanelDynamicModel extends Question implements IQues
457
470
  * @param index *(Optional)* An index at which to insert the new panel. `undefined` adds the panel to the end or inserts it after the current panel if [`renderMode`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#renderMode) is `"tab"`. A negative index (for instance, -1) adds the panel to the end in all cases, regardless of the `renderMode` value.
458
471
  * @see panelCount
459
472
  * @see panels
473
+ * @see allowAddPanel
474
+ * @see newPanelPosition
460
475
  */
461
476
  addPanel(index?: number): PanelModel;
462
477
  private updateValueOnAddingPanel;
@@ -472,6 +487,7 @@ export declare class QuestionPanelDynamicModel extends Question implements IQues
472
487
  *
473
488
  */
474
489
  removePanelUI(value: any): void;
490
+ isRequireConfirmOnDelete(val: any): boolean;
475
491
  /**
476
492
  * Switches Dynamic Panel to the next panel. Returns `true` in case of success, or `false` if `renderMode` is `"list"` or the current panel contains validation errors.
477
493
  * @see renderMode
@@ -14,7 +14,6 @@ export declare class QuestionTagboxModel extends QuestionCheckboxModel {
14
14
  private itemDisplayNameMap;
15
15
  constructor(name: string);
16
16
  locStrsChanged(): void;
17
- readOnlyText: string;
18
17
  private updateReadOnlyText;
19
18
  protected getDefaultItemComponent(): string;
20
19
  onSurveyLoad(): void;
@@ -53,6 +52,8 @@ export declare class QuestionTagboxModel extends QuestionCheckboxModel {
53
52
  readonly locPlaceholder: LocalizableString;
54
53
  clearCaption: string;
55
54
  readonly locClearCaption: LocalizableString;
55
+ readOnlyText: string;
56
+ readonly locReadOnlyText: LocalizableString;
56
57
  getType(): string;
57
58
  readonly ariaRole: string;
58
59
  readonly popupModel: PopupModel;
@@ -34,13 +34,7 @@ export declare var settings: {
34
34
  showEmptyDescriptions: boolean;
35
35
  showEmptyTitles: boolean;
36
36
  };
37
- /**
38
- * This property is obsolete. Use the [`settings.designMode.showEmptyDescriptions`](https://surveyjs.io/form-library/documentation/api-reference/settings#designMode) property instead.
39
- */
40
37
  allowShowEmptyDescriptionInDesignMode: boolean;
41
- /**
42
- * This property is obsolete. Use the [`settings.designMode.showEmptyTitles`](https://surveyjs.io/form-library/documentation/api-reference/settings#designMode) property instead.
43
- */
44
38
  allowShowEmptyTitleInDesignMode: boolean;
45
39
  /**
46
40
  * An object that contains properties related to localization.
@@ -61,17 +55,8 @@ export declare var settings: {
61
55
  storeDuplicatedTranslations: boolean;
62
56
  defaultLocaleName: string;
63
57
  };
64
- /**
65
- * This property is obsolete. Use the [`settings.localization.useLocalTimeZone`](https://surveyjs.io/form-library/documentation/api-reference/settings#localization) property instead.
66
- */
67
58
  useLocalTimeZone: boolean;
68
- /**
69
- * This property is obsolete. Use the [`settings.localization.storeDuplicatedTranslations`](https://surveyjs.io/form-library/documentation/api-reference/settings#localization) property instead.
70
- */
71
59
  storeDuplicatedTranslations: boolean;
72
- /**
73
- * This property is obsolete. Use the [`settings.localization.defaultLocaleName`](https://surveyjs.io/form-library/documentation/api-reference/settings#localization) property instead.
74
- */
75
60
  defaultLocaleName: string;
76
61
  /**
77
62
  * An object with properties that configure surveys when they work with a web service.
@@ -82,36 +67,38 @@ export declare var settings: {
82
67
  * Specifies whether to encode URL parameters when you access a web service. Default value: `true`.
83
68
  *
84
69
  * - `cacheLoadedChoices`: `boolean`\
85
- * Specifies whether to cache [choices](https://surveyjs.io/form-library/documentation/api-reference/checkbox-question-model#choicesByUrl) loaded from a web service. Default value: `true`.
70
+ * Specifies whether to cache [choices loaded from a web service](https://surveyjs.io/form-library/documentation/api-reference/questionselectbase#choicesByUrl). Default value: `true`.
86
71
  *
87
72
  * - `disableQuestionWhileLoadingChoices`: `boolean`\
88
73
  * Disables a question while its choices are being loaded from a web service. Default value: `false`.
89
74
  *
90
75
  * - `surveyServiceUrl`: `string`\
91
76
  * The URL of the SurveyJS Service API endpoint.
77
+ *
78
+ * - `onBeforeRequestChoices`: `(sender: ChoicesRestful, options: { request: XMLHttpRequest })`\
79
+ * An event that is raised before a request for choices is send. Applies to questions with a specified [`choiceByUrl`](https://surveyjs.io/form-library/documentation/api-reference/questionselectbase#choicesByUrl) property. Use the `options.request` parameter to access and modify the `XMLHttpRequest` object. For instance, you can add authentication headers to it:
80
+ *
81
+ * ```js
82
+ * import { settings } from "survey-core";
83
+ *
84
+ * settings.web.onBeforeSendRequest = (sender, options) => {
85
+ * options.request.setRequestHeader('RequestVerificationToken', requestVerificationToken);
86
+ * };
87
+ * ```
92
88
  */
93
89
  web: {
90
+ onBeforeRequestChoices: (sender: any, options: {
91
+ request: XMLHttpRequest;
92
+ }) => void;
94
93
  encodeUrlParams: boolean;
95
94
  cacheLoadedChoices: boolean;
96
95
  disableQuestionWhileLoadingChoices: boolean;
97
96
  surveyServiceUrl: string;
98
97
  };
99
- /**
100
- * This property is obsolete. Use the [`settings.web.encodeUrlParams`](https://surveyjs.io/form-library/documentation/api-reference/settings#web) property instead.
101
- */
102
98
  webserviceEncodeParameters: boolean;
103
- /**
104
- * This property is obsolete. Use the [`settings.web.cacheLoadedChoices`](https://surveyjs.io/form-library/documentation/api-reference/settings#web) property instead.
105
- */
106
99
  useCachingForChoicesRestful: boolean;
107
100
  useCachingForChoicesRestfull: boolean;
108
- /**
109
- * This property is obsolete. Use the [`settings.web.disableQuestionWhileLoadingChoices`](https://surveyjs.io/form-library/documentation/api-reference/settings#web) property instead.
110
- */
111
101
  disableOnGettingChoicesFromWeb: boolean;
112
- /**
113
- * This property is obsolete. Use the [`settings.web.surveyServiceUrl`](https://surveyjs.io/form-library/documentation/api-reference/settings#web) property instead.
114
- */
115
102
  surveyServiceUrl: string;
116
103
  /**
117
104
  * An object that contains properties related to [triggers](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#conditional-survey-logic-triggers).
@@ -134,17 +121,8 @@ export declare var settings: {
134
121
  executeCompleteOnValueChanged: boolean;
135
122
  executeSkipOnValueChanged: boolean;
136
123
  };
137
- /**
138
- * This property is obsolete. Use the [`settings.triggers.executeCompleteOnValueChanged`](https://surveyjs.io/form-library/documentation/api-reference/settings#triggers) property instead.
139
- */
140
124
  executeCompleteTriggerOnValueChanged: boolean;
141
- /**
142
- * This property is obsolete. Use the [`settings.triggers.changeNavigationButtonsOnComplete`](https://surveyjs.io/form-library/documentation/api-reference/settings#triggers) property instead.
143
- */
144
125
  changeNavigationButtonsOnCompleteTrigger: boolean;
145
- /**
146
- * This property is obsolete. Use the [`settings.triggers.executeSkipOnValueChanged`](https://surveyjs.io/form-library/documentation/api-reference/settings#triggers) property instead.
147
- */
148
126
  executeSkipTriggerOnValueChanged: boolean;
149
127
  /**
150
128
  * An object that contains properties related to JSON serialization.
@@ -179,17 +157,8 @@ export declare var settings: {
179
157
  itemValueSerializeDisplayText: boolean;
180
158
  localizableStringSerializeAsObject: boolean;
181
159
  };
182
- /**
183
- * This property is obsolete. Use the [`settings.serialization.itemValueSerializeAsObject`](https://surveyjs.io/form-library/documentation/api-reference/settings#serialization) property instead.
184
- */
185
160
  itemValueAlwaysSerializeAsObject: boolean;
186
- /**
187
- * This property is obsolete. Use the [`settings.serialization.itemValueSerializeDisplayText`](https://surveyjs.io/form-library/documentation/api-reference/settings#serialization) property instead.
188
- */
189
161
  itemValueAlwaysSerializeText: boolean;
190
- /**
191
- * This property is obsolete. Use the [`settings.serialization.localizableStringSerializeAsObject`](https://surveyjs.io/form-library/documentation/api-reference/settings#serialization) property instead.
192
- */
193
162
  serializeLocalizableStringAsObject: boolean;
194
163
  /**
195
164
  * An object that configures lazy rendering.
@@ -205,9 +174,6 @@ export declare var settings: {
205
174
  enabled: boolean;
206
175
  firstBatchSize: number;
207
176
  };
208
- /**
209
- * This property is obsolete. Use the [`settings.lazyRender.enabled`](https://surveyjs.io/form-library/documentation/api-reference/settings#lazyRender) property instead.
210
- */
211
177
  lazyRowsRendering: boolean;
212
178
  lazyRowsRenderingStartRow: number;
213
179
  /**
@@ -258,29 +224,11 @@ export declare var settings: {
258
224
  };
259
225
  rateSize: "small" | "normal";
260
226
  };
261
- /**
262
- * This property is obsolete. Use the [`settings.matrix.defaultRowName`](https://surveyjs.io/form-library/documentation/api-reference/settings#matrix) property instead.
263
- */
264
227
  matrixDefaultRowName: string;
265
- /**
266
- * This property is obsolete. Use the [`settings.matrix.defaultCellType`](https://surveyjs.io/form-library/documentation/api-reference/settings#matrix) property instead.
267
- */
268
228
  matrixDefaultCellType: string;
269
- /**
270
- * This property is obsolete. Use the [`settings.matrix.totalsSuffix`](https://surveyjs.io/form-library/documentation/api-reference/settings#matrix) property instead.
271
- */
272
229
  matrixTotalValuePostFix: string;
273
- /**
274
- * This property is obsolete. Use the [`settings.matrix.maxRowCount`](https://surveyjs.io/form-library/documentation/api-reference/settings#matrix) property instead.
275
- */
276
230
  matrixMaximumRowCount: number;
277
- /**
278
- * This property is obsolete. Use the [`settings.matrix.maxRowCountInCondition`](https://surveyjs.io/form-library/documentation/api-reference/settings#matrix) property instead.
279
- */
280
231
  matrixMaxRowCountInCondition: number;
281
- /**
282
- * This property is obsolete. Use the [`settings.matrix.renderRemoveAsIcon`](https://surveyjs.io/form-library/documentation/api-reference/settings#matrix) property instead.
283
- */
284
232
  matrixRenderRemoveAsIcon: boolean;
285
233
  /**
286
234
  * An object with properties that apply to [Dynamic Panel](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model) questions.
@@ -299,13 +247,7 @@ export declare var settings: {
299
247
  maxPanelCount: number;
300
248
  maxPanelCountInCondition: number;
301
249
  };
302
- /**
303
- * This property is obsolete. Use the [`settings.panel.maxPanelCountInCondition`](https://surveyjs.io/form-library/documentation/api-reference/settings#panel) property instead.
304
- */
305
250
  panelDynamicMaxPanelCountInCondition: number;
306
- /**
307
- * This property is obsolete. Use the [`settings.panel.maxPanelCount`](https://surveyjs.io/form-library/documentation/api-reference/settings#panel) property instead.
308
- */
309
251
  panelMaximumPanelCount: number;
310
252
  /**
311
253
  * An object with properties that configure questions in read-only mode.
@@ -323,13 +265,7 @@ export declare var settings: {
323
265
  commentRenderMode: string;
324
266
  textRenderMode: string;
325
267
  };
326
- /**
327
- * This property is obsolete. Use the [`settings.readOnly.commentRenderMode`](https://surveyjs.io/form-library/documentation/api-reference/settings#readOnly) property instead.
328
- */
329
268
  readOnlyCommentRenderMode: string;
330
- /**
331
- * This property is obsolete. Use the [`settings.readOnly.textRenderMode`](https://surveyjs.io/form-library/documentation/api-reference/settings#readOnly) property instead.
332
- */
333
269
  readOnlyTextRenderMode: string;
334
270
  /**
335
271
  * An object with properties that configure question numbering.
@@ -346,13 +282,7 @@ export declare var settings: {
346
282
  includeQuestionsWithHiddenNumber: boolean;
347
283
  includeQuestionsWithHiddenTitle: boolean;
348
284
  };
349
- /**
350
- * This property is obsolete. Use the [`settings.numbering.includeQuestionsWithHiddenTitle`](https://surveyjs.io/form-library/documentation/api-reference/settings#numbering) property instead.
351
- */
352
285
  setQuestionVisibleIndexForHiddenTitle: boolean;
353
- /**
354
- * This property is obsolete. Use the [`settings.numbering.includeQuestionsWithHiddenNumber`](https://surveyjs.io/form-library/documentation/api-reference/settings#numbering) property instead.
355
- */
356
286
  setQuestionVisibleIndexForHiddenNumber: boolean;
357
287
  /**
358
288
  * Specifies an action to perform when users press the Enter key within a survey.
@@ -1,6 +1,6 @@
1
1
  import { JsonError } from "./jsonobject";
2
2
  import { Base, EventBase } from "./base";
3
- import { ISurvey, ISurveyData, ISurveyImpl, ITextProcessor, IQuestion, IPanel, IElement, IPage, ISurveyErrorOwner, ISurveyElement, IProgressInfo, IFindElement, ISurveyLayoutElement, IPlainDataOptions, LayoutElementContainer, IValueItemCustomPropValues } from "./base-interfaces";
3
+ import { ISurvey, ISurveyData, ISurveyImpl, ITextProcessor, IQuestion, IPanel, IElement, IPage, ISurveyErrorOwner, ISurveyElement, IProgressInfo, IFindElement, ISurveyLayoutElement, IPlainDataOptions, LayoutElementContainer, IValueItemCustomPropValues, ILoadFromJSONOptions } from "./base-interfaces";
4
4
  import { SurveyElementCore } from "./survey-element";
5
5
  import { ISurveyTriggerOwner, SurveyTrigger, Trigger } from "./trigger";
6
6
  import { CalculatedValue } from "./calculatedValue";
@@ -860,14 +860,22 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
860
860
  * - `"none"` - Hides the navigation buttons. This setting may be useful if you [implement custom external navigation](https://surveyjs.io/form-library/examples/external-form-navigation-system/).
861
861
  * @see goNextPageAutomatic
862
862
  * @see showPrevButton
863
+ * @see showCompleteButton
863
864
  */
864
865
  showNavigationButtons: string | any;
865
866
  /*
866
867
  * Specifies whether to display the Previous button. Set this property to `false` if respondents should not move backward along the survey.
867
868
  * @see showNavigationButtons
869
+ * @see showCompleteButton
868
870
  */
869
871
  showPrevButton: boolean;
870
872
  /*
873
+ * Specifies whether to display the Complete button. Set this property to `false` if respondents should not complete the survey.
874
+ * @see showNavigationButtons
875
+ * @see showPrevButton
876
+ */
877
+ showCompleteButton: boolean;
878
+ /*
871
879
  * Gets or sets the visibility of the table of contents.
872
880
  *
873
881
  * Default value: `false`
@@ -2289,7 +2297,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
2289
2297
  private resetVisibleIndexes;
2290
2298
  private updateVisibleIndexes;
2291
2299
  private updatePageVisibleIndexes;
2292
- fromJSON(json: any): void;
2300
+ fromJSON(json: any, options?: ILoadFromJSONOptions): void;
2293
2301
  setJsonObject(jsonObj: any): void;
2294
2302
  private isEndLoadingFromJson;
2295
2303
  endLoadingFromJson(): void;
@@ -2401,6 +2409,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
2401
2409
  panelVisibilityChanged(panel: PanelModel, newValue: boolean): void;
2402
2410
  questionCreated(question: Question): any;
2403
2411
  questionAdded(question: Question, index: number, parentPanel: any, rootPanel: any): void;
2412
+ private canFireAddElement;
2404
2413
  questionRemoved(question: Question): void;
2405
2414
  questionRenamed(question: IQuestion, oldName: string, oldValueName: string): any;
2406
2415
  private questionHashes;
@@ -1,3 +1,8 @@
1
1
  export declare const IsMobile: boolean;
2
+ export declare var mouseInfo: {
3
+ readonly isTouch: boolean;
4
+ readonly hasTouchEvent: boolean;
5
+ hasMouse: boolean;
6
+ };
2
7
  export declare let IsTouch: boolean;
3
8
  export declare function _setIsTouch(val: boolean): void;
@@ -113,6 +113,8 @@ export declare class RegexValidator extends SurveyValidator {
113
113
  * The regex property.
114
114
  */
115
115
  regex: string;
116
+ insensitive: boolean;
117
+ private createRegExp;
116
118
  }
117
119
  /**
118
120
  * Validate e-mail address in the text input
@@ -304,3 +304,6 @@ export interface IPlainDataOptions {
304
304
  propertyName: string;
305
305
  }>;
306
306
  }
307
+ export interface ILoadFromJSONOptions {
308
+ validatePropertyValues?: boolean;
309
+ }
package/typings/base.d.ts CHANGED
@@ -2,7 +2,7 @@ import { ILocalizableOwner, LocalizableString } from "./localizablestring";
2
2
  import { HashTable } from "./helpers";
3
3
  import { JsonObjectProperty } from "./jsonobject";
4
4
  import { ItemValue } from "./itemvalue";
5
- import { IElement, IFindElement, IProgressInfo, ISurvey } from "./base-interfaces";
5
+ import { IElement, IFindElement, IProgressInfo, ISurvey, ILoadFromJSONOptions } from "./base-interfaces";
6
6
  import { ExpressionRunner } from "./conditions";
7
7
  export declare class Bindings {
8
8
  private obj;
@@ -147,6 +147,7 @@ export declare class Base {
147
147
  * Returns `true` if the survey is being designed in Survey Creator.
148
148
  */
149
149
  get isDesignMode(): boolean;
150
+ get isDesignModeV2(): boolean;
150
151
  /**
151
152
  * Returns `true` if the object is included in a survey.
152
153
  *
@@ -176,9 +177,11 @@ export declare class Base {
176
177
  * The JSON object should contain only serializable properties of this SurveyJS object. Event handlers and properties that do not belong to the SurveyJS object are ignored.
177
178
  *
178
179
  * @param json A JSON object with properties that you want to apply to the current SurveyJS object.
180
+ * @param options An object with configuration options.
181
+ * @param {boolean} options.validatePropertyValues Pass `true` if you want to validate property values. Use the [`jsonErrors`](#jsonErrors) array to access validation errors.
179
182
  * @see toJSON
180
183
  */
181
- fromJSON(json: any): void;
184
+ fromJSON(json: any, options?: ILoadFromJSONOptions): void;
182
185
  onSurveyLoad(): void;
183
186
  /**
184
187
  * Creates a new object that has the same type and properties as the current SurveyJS object.
@@ -19,7 +19,7 @@ import { SurveyError } from "./survey-error";
19
19
  * }
20
20
  * ```
21
21
  *
22
- * Typically, you should assign this object to a question's [`choicesByUrl`](https://surveyjs.io/Documentation/Library?id=QuestionSelectBase#choicesByUrl) property.
22
+ * Typically, you should assign this object to a question's [`choicesByUrl`](https://surveyjs.io/Documentation/Library?id=QuestionSelectBase#choicesByUrl) property. You can also specify additional application-wide settings using the [`settings.web`](https://surveyjs.io/form-library/documentation/api-reference/settings#web) object.
23
23
  */
24
24
  export declare class ChoicesRestful extends Base {
25
25
  private static cacheText;
@@ -31,9 +31,12 @@ export declare class ChoicesRestful extends Base {
31
31
  private static sendingSameRequests;
32
32
  private static addSameRequest;
33
33
  private static unregisterSameRequests;
34
- static onBeforeSendRequest: (sender: ChoicesRestful, options: {
34
+ static get onBeforeSendRequest(): (sender: ChoicesRestful, options: {
35
35
  request: XMLHttpRequest;
36
36
  }) => void;
37
+ static set onBeforeSendRequest(val: (sender: ChoicesRestful, options: {
38
+ request: XMLHttpRequest;
39
+ }) => void);
37
40
  private static getCachedItemsResult;
38
41
  private lastObjHash;
39
42
  private isRunningValue;
@@ -131,6 +134,11 @@ export declare class ChoicesRestful extends Base {
131
134
  */
132
135
  get imageLinkName(): string;
133
136
  set imageLinkName(val: string);
137
+ /**
138
+ * Specifies whether the service is allowed to return an empty response or an empty array in a response.
139
+ *
140
+ * Default value: `false`
141
+ */
134
142
  get allowEmptyResponse(): boolean;
135
143
  set allowEmptyResponse(val: boolean);
136
144
  get attachOriginalItems(): boolean;
@@ -9,7 +9,7 @@ export { Helpers, HashTable } from "../../helpers";
9
9
  export { AnswerCountValidator, EmailValidator, NumericValidator, RegexValidator, SurveyValidator, TextValidator, ValidatorResult, ExpressionValidator, ValidatorRunner } from "../../validator";
10
10
  export { ItemValue } from "../../itemvalue";
11
11
  export { Base, Event, EventBase, ArrayChanges, ComputedUpdater } from "../../base";
12
- export { ISurvey, ISurveyElement, IElement, IQuestion, IPage, IPanel, ISurveyData, ITitleOwner, ISurveyLayoutElement, IPlainDataOptions as IPlainData, IShortcutText } from "../../base-interfaces";
12
+ export { ISurvey, ISurveyElement, IElement, IQuestion, IPage, IPanel, ISurveyData, ITitleOwner, ISurveyLayoutElement, IPlainDataOptions as IPlainData, IShortcutText, ILoadFromJSONOptions } from "../../base-interfaces";
13
13
  export { SurveyError } from "../../survey-error";
14
14
  export { SurveyElementCore, SurveyElement, DragTypeOverMeEnum } from "../../survey-element";
15
15
  export { CalculatedValue } from "../../calculatedValue";
@@ -61,9 +61,9 @@ export declare class ItemValue extends BaseAction implements ILocalizableOwner,
61
61
  set visibleIf(val: string);
62
62
  get enableIf(): string;
63
63
  set enableIf(val: string);
64
- get isVisible(): any;
64
+ get isVisible(): boolean;
65
65
  setIsVisible(val: boolean): void;
66
- get isEnabled(): any;
66
+ get isEnabled(): boolean;
67
67
  setIsEnabled(val: boolean): void;
68
68
  addUsedLocales(locales: Array<string>): void;
69
69
  locStrsChanged(): void;
@@ -1,4 +1,5 @@
1
1
  import { Base } from "./base";
2
+ import { ILoadFromJSONOptions } from "./base-interfaces";
2
3
  export interface IPropertyDecoratorOptions<T = any> {
3
4
  defaultValue?: T;
4
5
  defaultSource?: string;
@@ -101,6 +102,7 @@ export declare class JsonObjectProperty implements IObject {
101
102
  get hasToUseSetValue(): string | ((obj: any, value: any, jsonConv: JsonObject) => any);
102
103
  settingValue(obj: any, value: any): any;
103
104
  setValue(obj: any, value: any, jsonConv: JsonObject): void;
105
+ validateValue(value: any): boolean;
104
106
  getObjType(objType: string): string;
105
107
  /**
106
108
  * Depricated, please use getChoices
@@ -257,6 +259,11 @@ export declare class JsonRequiredArrayPropertyError extends JsonError {
257
259
  className: string;
258
260
  constructor(propertyName: string, className: string);
259
261
  }
262
+ export declare class JsonIncorrectPropertyValueError extends JsonError {
263
+ property: JsonObjectProperty;
264
+ value: any;
265
+ constructor(property: JsonObjectProperty, value: any);
266
+ }
260
267
  export declare class JsonObject {
261
268
  private static typePropertyName;
262
269
  private static positionPropertyName;
@@ -264,15 +271,16 @@ export declare class JsonObject {
264
271
  static get metaData(): JsonMetadata;
265
272
  errors: JsonError[];
266
273
  lightSerializing: boolean;
274
+ options: ILoadFromJSONOptions;
267
275
  toJsonObject(obj: any, storeDefaults?: boolean): any;
268
- toObject(jsonObj: any, obj: any): void;
269
- toObjectCore(jsonObj: any, obj: any): void;
276
+ toObject(jsonObj: any, obj: any, options?: ILoadFromJSONOptions): void;
277
+ toObjectCore(jsonObj: any, obj: any, options?: ILoadFromJSONOptions): void;
270
278
  toJsonObjectCore(obj: any, property: JsonObjectProperty, storeDefaults?: boolean): any;
271
279
  private getDynamicProperties;
272
280
  private addDynamicProperties;
273
281
  private propertiesToJson;
274
282
  valueToJson(obj: any, result: any, property: JsonObjectProperty, storeDefaults?: boolean): void;
275
- valueToObj(value: any, obj: any, property: JsonObjectProperty, jsonObj?: any): void;
283
+ valueToObj(value: any, obj: any, property: JsonObjectProperty, jsonObj?: any, options?: ILoadFromJSONOptions): void;
276
284
  private removePos;
277
285
  private removePosFromObj;
278
286
  private isValueArray;
@@ -82,6 +82,7 @@ export declare class LocalizableString implements ILocalizableString {
82
82
  onStringChanged: EventBase<LocalizableString>;
83
83
  protected onCreating(): void;
84
84
  private hasHtmlValue;
85
+ private setHtmlValue;
85
86
  getHtmlValue(): string;
86
87
  private deleteValuesEqualsToDefault;
87
88
  private getValue;
@@ -811,6 +811,7 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
811
811
  protected isMouseDown: boolean;
812
812
  onMouseDown(): void;
813
813
  protected setNewComment(newValue: string): void;
814
+ protected setCommentIntoData(newValue: string): void;
814
815
  protected getValidName(name: string): string;
815
816
  updateValueFromSurvey(newValue: any, clearData?: boolean): void;
816
817
  private updateValueFromSurveyCore;
@@ -37,6 +37,8 @@ export declare class QuestionSelectBase extends Question {
37
37
  get isUsingCarryForward(): boolean;
38
38
  get carryForwardQuestionType(): string;
39
39
  private setCarryForwardQuestionType;
40
+ get isUsingRestful(): boolean;
41
+ updateIsUsingRestful(): void;
40
42
  supportGoNextPageError(): boolean;
41
43
  isLayoutTypeSupported(layoutType: string): boolean;
42
44
  localeChanged(): void;
@@ -145,7 +147,9 @@ export declare class QuestionSelectBase extends Question {
145
147
  updateCommentFromSurvey(newValue: any): any;
146
148
  get renderedValue(): any;
147
149
  set renderedValue(val: any);
150
+ private makeCommentEmpty;
148
151
  protected setQuestionValue(newValue: any, updateIsAnswered?: boolean, updateComment?: boolean): void;
152
+ protected setValueCore(newValue: any): void;
149
153
  protected setNewValue(newValue: any): void;
150
154
  protected valueFromData(val: any): any;
151
155
  protected rendredValueFromData(val: any): any;
@@ -163,9 +167,9 @@ export declare class QuestionSelectBase extends Question {
163
167
  */
164
168
  clearIncorrectValuesCallback: () => void;
165
169
  /**
166
- * Configures access to a RESTful service that returns choice items. Refer to the [ChoicesRestful](https://surveyjs.io/form-library/documentation/choicesrestful) class description for more information.
170
+ * Configures access to a RESTful service that returns choice items. Refer to the [`ChoicesRestful`](https://surveyjs.io/form-library/documentation/choicesrestful) class description for more information. You can also specify additional application-wide settings using the [`settings.web`](https://surveyjs.io/form-library/documentation/api-reference/settings#web) object.
167
171
  *
168
- * [View Demo](https://surveyjs.io/form-library/examples/questiontype-dropdownrestfull/ (linkStyle))
172
+ * [View Demo](https://surveyjs.io/form-library/examples/dropdown-menu-load-data-from-restful-service/ (linkStyle))
169
173
  * @see choices
170
174
  * @see [settings.specialChoicesOrder](https://surveyjs.io/form-library/documentation/api-reference/settings#specialChoicesOrder)
171
175
  */
@@ -383,6 +387,7 @@ export declare class QuestionSelectBase extends Question {
383
387
  private sortVisibleChoices;
384
388
  private sortArray;
385
389
  private randomizeArray;
390
+ private get hasChoicesUrl();
386
391
  clearIncorrectValues(): void;
387
392
  protected hasValueToClearIncorrectValues(): boolean;
388
393
  protected clearValueIfInvisibleCore(reason: string): void;
@@ -432,7 +437,7 @@ export declare class QuestionSelectBase extends Question {
432
437
  getAriaItemLabel(item: ItemValue): string;
433
438
  getItemId(item: ItemValue): string;
434
439
  get questionName(): string;
435
- getItemEnabled(item: ItemValue): any;
440
+ getItemEnabled(item: ItemValue): boolean;
436
441
  protected rootElement: HTMLElement;
437
442
  afterRender(el: HTMLElement): void;
438
443
  beforeDestroyQuestionElement(el: HTMLElement): void;
@@ -42,8 +42,8 @@ export declare class QuestionBooleanModel extends Question {
42
42
  * @see valueTrue
43
43
  * @see valueFalse
44
44
  */
45
- get labelTrue(): any;
46
- set labelTrue(val: any);
45
+ get labelTrue(): string;
46
+ set labelTrue(val: string);
47
47
  get locLabelTrue(): LocalizableString;
48
48
  get isDeterminated(): boolean;
49
49
  /**
@@ -53,8 +53,8 @@ export declare class QuestionBooleanModel extends Question {
53
53
  * @see valueTrue
54
54
  * @see valueFalse
55
55
  */
56
- get labelFalse(): any;
57
- set labelFalse(val: any);
56
+ get labelFalse(): string;
57
+ set labelFalse(val: string);
58
58
  get locLabelFalse(): LocalizableString;
59
59
  /**
60
60
  * A value to save in survey results when respondents give a positive answer.
@@ -59,6 +59,11 @@ export declare class QuestionMatrixModel extends QuestionMatrixBaseModel<MatrixR
59
59
  private cellsValue;
60
60
  constructor(name: string);
61
61
  getType(): string;
62
+ /**
63
+ * The name of a component used to render cells.
64
+ */
65
+ get cellComponent(): string;
66
+ set itemComponent(value: string);
62
67
  get hasSingleInput(): boolean;
63
68
  /**
64
69
  * Specifies whether each row requires an answer. If a respondent skips a row, the question displays a validation error.
@@ -291,7 +291,7 @@ export declare class QuestionMatrixDropdownModelBase extends QuestionMatrixBaseM
291
291
  private get renderedTableValue();
292
292
  private set renderedTableValue(value);
293
293
  protected clearRowsAndResetRenderedTable(): void;
294
- protected resetRenderedTable(): void;
294
+ resetRenderedTable(): void;
295
295
  protected clearGeneratedRows(): void;
296
296
  protected get isRendredTableCreated(): boolean;
297
297
  get renderedTable(): QuestionMatrixDropdownRenderedTable;
@@ -21,7 +21,6 @@ export declare class QuestionMatrixDropdownRenderedCell {
21
21
  choiceIndex: number;
22
22
  isOtherChoice: boolean;
23
23
  matrix: QuestionMatrixDropdownModelBase;
24
- requiredText: string;
25
24
  isEmpty: boolean;
26
25
  colSpans: number;
27
26
  panel: PanelModel;
@@ -32,6 +31,7 @@ export declare class QuestionMatrixDropdownRenderedCell {
32
31
  isDetailRowCell: boolean;
33
32
  private classNameValue;
34
33
  constructor();
34
+ get requiredText(): string;
35
35
  get hasQuestion(): boolean;
36
36
  get hasTitle(): boolean;
37
37
  get hasPanel(): boolean;
@@ -100,7 +100,7 @@ export declare class QuestionMatrixDropdownRenderedTable extends Base {
100
100
  isRequireReset(): boolean;
101
101
  get headerRow(): QuestionMatrixDropdownRenderedRow;
102
102
  get footerRow(): QuestionMatrixDropdownRenderedRow;
103
- get allowRowsDragAndDrop(): boolean;
103
+ get isRowsDragAndDrop(): boolean;
104
104
  private get showCellErrorsTop();
105
105
  private get showCellErrorsBottom();
106
106
  protected build(): void;
@@ -149,8 +149,6 @@ export declare class QuestionMatrixDropdownRenderedTable extends Base {
149
149
  private createHeaderCell;
150
150
  private setHeaderCell;
151
151
  private setHeaderCellWidth;
152
- private setRequriedToHeaderCell;
153
- private createRemoveRowCell;
154
152
  private createTextCell;
155
153
  private createEmptyCell;
156
154
  }
@@ -90,6 +90,7 @@ export declare class QuestionMatrixDynamicModel extends QuestionMatrixDropdownMo
90
90
  */
91
91
  get allowRowsDragAndDrop(): boolean;
92
92
  set allowRowsDragAndDrop(val: boolean);
93
+ get isRowsDragAndDrop(): boolean;
93
94
  get iconDragElement(): string;
94
95
  protected createRenderedTable(): QuestionMatrixDropdownRenderedTable;
95
96
  private get rowCountValue();