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
@@ -339,11 +339,25 @@ export declare class QuestionPanelDynamicModel extends Question implements IQues
339
339
  * Specifies whether users are allowed to add new panels.
340
340
  *
341
341
  * Default value: `true`
342
+ *
343
+ * 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"`.
342
344
  * @see canAddPanel
343
345
  * @see allowRemovePanel
344
346
  */
345
347
  get allowAddPanel(): boolean;
346
348
  set allowAddPanel(val: boolean);
349
+ /**
350
+ * Specifies the position of newly added panels.
351
+ *
352
+ * Possible values:
353
+ *
354
+ * - `"last"` (default) - New panels are added to the end.
355
+ * - `"next"` - New panels are inserted after the current panel.
356
+ * @see allowAddPanel
357
+ * @see addPanel
358
+ */
359
+ get newPanelPosition(): string;
360
+ set newPanelPosition(val: string);
347
361
  /**
348
362
  * Specifies whether users are allowed to delete panels.
349
363
  *
@@ -486,6 +500,8 @@ export declare class QuestionPanelDynamicModel extends Question implements IQues
486
500
  * @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.
487
501
  * @see panelCount
488
502
  * @see panels
503
+ * @see allowAddPanel
504
+ * @see newPanelPosition
489
505
  */
490
506
  addPanel(index?: number): PanelModel;
491
507
  private updateValueOnAddingPanel;
@@ -501,6 +517,7 @@ export declare class QuestionPanelDynamicModel extends Question implements IQues
501
517
  *
502
518
  */
503
519
  removePanelUI(value: any): void;
520
+ isRequireConfirmOnDelete(val: any): boolean;
504
521
  /**
505
522
  * 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.
506
523
  * @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;
@@ -55,6 +54,9 @@ export declare class QuestionTagboxModel extends QuestionCheckboxModel {
55
54
  get clearCaption(): string;
56
55
  set clearCaption(value: string);
57
56
  get locClearCaption(): LocalizableString;
57
+ get readOnlyText(): string;
58
+ set readOnlyText(val: string);
59
+ get locReadOnlyText(): LocalizableString;
58
60
  getType(): string;
59
61
  get ariaRole(): string;
60
62
  get 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.
@@ -219,7 +219,8 @@ export declare class SurveyElement<E = any> extends SurveyElementCore implements
219
219
  set readOnly(val: boolean);
220
220
  protected onReadOnlyChanged(): void;
221
221
  private get css();
222
- cssClassesValue: any;
222
+ get cssClassesValue(): any;
223
+ set cssClassesValue(val: any);
223
224
  private ensureCssClassesValue;
224
225
  /**
225
226
  * Returns an object in which keys are UI elements and values are CSS classes applied to them.
@@ -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";
@@ -875,15 +875,24 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
875
875
  * - `"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/).
876
876
  * @see goNextPageAutomatic
877
877
  * @see showPrevButton
878
+ * @see showCompleteButton
878
879
  */
879
880
  get showNavigationButtons(): string | any;
880
881
  set showNavigationButtons(val: string | any);
881
882
  /**
882
883
  * Specifies whether to display the Previous button. Set this property to `false` if respondents should not move backward along the survey.
883
884
  * @see showNavigationButtons
885
+ * @see showCompleteButton
884
886
  */
885
887
  get showPrevButton(): boolean;
886
888
  set showPrevButton(val: boolean);
889
+ /**
890
+ * Specifies whether to display the Complete button. Set this property to `false` if respondents should not complete the survey.
891
+ * @see showNavigationButtons
892
+ * @see showPrevButton
893
+ */
894
+ get showCompleteButton(): boolean;
895
+ set showCompleteButton(val: boolean);
887
896
  /**
888
897
  * Gets or sets the visibility of the table of contents.
889
898
  *
@@ -2372,7 +2381,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
2372
2381
  private resetVisibleIndexes;
2373
2382
  private updateVisibleIndexes;
2374
2383
  private updatePageVisibleIndexes;
2375
- fromJSON(json: any): void;
2384
+ fromJSON(json: any, options?: ILoadFromJSONOptions): void;
2376
2385
  setJsonObject(jsonObj: any): void;
2377
2386
  private isEndLoadingFromJson;
2378
2387
  endLoadingFromJson(): void;
@@ -2485,6 +2494,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
2485
2494
  panelVisibilityChanged(panel: PanelModel, newValue: boolean): void;
2486
2495
  questionCreated(question: Question): any;
2487
2496
  questionAdded(question: Question, index: number, parentPanel: any, rootPanel: any): void;
2497
+ private canFireAddElement;
2488
2498
  questionRemoved(question: Question): void;
2489
2499
  questionRenamed(question: IQuestion, oldName: string, oldValueName: string): any;
2490
2500
  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;
@@ -122,6 +122,9 @@ export declare class RegexValidator extends SurveyValidator {
122
122
  */
123
123
  get regex(): string;
124
124
  set regex(val: string);
125
+ get insensitive(): boolean;
126
+ set insensitive(val: boolean);
127
+ private createRegExp;
125
128
  }
126
129
  /**
127
130
  * Validate e-mail address in the text input